@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Poppins:ital,wght@0,300;0,400;0,500;1,200;1,300;1,400&display=swap');
html {
    /*padding-top: env(safe-area-inset-top);*/
    padding-bottom: env(safe-area-inset-bottom);
    /*padding-left: env(safe-area-inset-left);*/
    /*padding-right: env(safe-area-inset-right);*/
  }
body {
    letter-spacing: .08em;
    font-family: 'Poppins','Noto Sans JP',sans-serif;
    /*color: #293338;*/
    /*color: #4e5456;*/
    color:#292b2c;
}
.navbar {
    padding: .5rem;
}
a {
    word-break: break-all;
}

/*================= alert ===================*/
.alert {
    text-align: center;
    border-radius: 0;
    /* add_240919 */
    padding: 1.1rem 1.2rem;
    z-index: 999;
}
.alert-dismissible .close {
    padding: 1.1rem 1.25rem;
}
/* end add_240919 */

/*================= layout ===================*/
.container-fluid {
    max-width: 100%;
}

section#top section.profile-image,
section#top section.profile-info {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* key cover */
section#top section.cover-image {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
section#top section.cover-image div.image {
    height: 84vh;
    background-size: cover;
    background-repeat: no-repeat;
}

section#profile {
    padding-left: 0;
    padding-right: 0;
}

.top_cnt_wrap,
section#top>section.purchased-item,
section#live,
section#news,
section#blog,
section#store,
section#store-detail,
section#profile,
section#purchase,
section#product-detail,
section#purchased-item,
section#purchase-history,
section#mypage,
section#subscription-purchase,
section#subscription-purchase-end,
section#confirm,
section#myinfo,
section#live-list,
section#discography,
section#discography-detail {
    width: 100%;
    max-width: 1020px;
    margin: 50px auto 0;
}
section#inquiry {
    width: 100%;
    max-width: 720px;
    margin: 50px auto; 
}
section#subscription-purchase {
    padding-top: 2.5rem;
    padding-bottom: 6.5rem;
}
section#confirm,
section#myinfo {
    margin: 0 auto 50px;
}

/*TOP*/
section#top section#news,
section#top section#blog,
section#top section#store,
section#top section#profile {
    margin: 0 auto;
}

@media (max-width: 1080px) {
    .top_cnt_wrap,
    section#top>section.purchased-item,
    section#live,
    section#news,
    section#blog,
    section#store,
    section#store-detail,
    section#profile,
    section#purchase,
    section#purchased-item,
    section#product-detail,
    section#subscription-purchase,
    section#subscription-purchase-end,
    section#confirm,
    section#myinfo,
    section#inquiry,
    section#discography,
    section#discography-detail {
        padding-left: 4%;
        padding-right: 4%;
    } 
}

section#news-detail .content,
section#blog-detail .content {
    margin: 0 auto;
    padding: 10px;
    width: 100%;
    max-width: 800px;
}
#news-detail + section.news .button {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
}
@media (max-width: 1080px) {
    #news-detail + section.news {
        padding-left: 4%;
        padding-right: 4%;
    }
}

/* 新規登録 */
#tmp-reg h1.heading {
    margin-top: 50px;
    margin-bottom: 25px;
}

/* ログイン */
#login h1.heading {
    margin-top: 50px;
    margin-bottom: 25px;
}

footer {
    margin-top: 5%;
}

/*================= /layout ===================*/


/*================= nav ===================*/
.navbar {
    padding: 1%.5rem;
}
@media (max-width: 830px) {
    .navbar {
        padding: 2%.5rem;
    }
}
.navbar .humb-nav {
    display: flex;
    margin-right: .5rem;
    align-items: center;
    width: 35px;
    height: 35px;
}

.navbar .humb-nav span {
    position: relative;
    display: block;
    width: 100%;
    height: 3px;
    background: #293338;
}
.navbar .humb-nav span::before {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background: #222;
    position: absolute;
    left: 0;
    bottom: 10px;
    transition: all .3s ease-in-out;
}
.navbar .humb-nav span::after {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background: #222;
    position: absolute;
    left: 0;
    top: 10px;
    transition: all .2s ease-in-out;
}

.navbar .humb-nav:hover span::after {
    width: 70%;
}
.navbar .humb-nav:hover span::before {
    width: 70%;
}

/*================= /nav ===================*/

/*================= 登録 ・ ログイン ===================*/
/*新規登録*/
section#tmp-reg form {
    margin: 0 auto 50px;
    padding: 2% 4% 2%;
    width: 100%;
    max-width: 700px;
    background: #fff;
}
section#tmp-reg .sentence {
    font-size: 12px;
}
section#tmp-reg form .mypage-title {
    height: auto;
    display: flex;
    margin-bottom: 10px;
    margin-top: 30px;
    padding-left: 0;
    flex-direction: row;
    align-items: center;
    border-bottom: none;
    background: transparent;
}
section#tmp-reg form .myinfo-item {
    margin: 0;
    padding: 0 0 30px;
    border-bottom: 1px solid #e8e8e8;
    align-items: center;
}
section#tmp-reg form .myinfo-item:last-of-type {
    border-bottom: none;
}
section#tmp-reg form .form-row > .col {
    display: flex;
    flex-wrap: initial;
    align-items: center;
}
section#tmp-reg form .form-row > .col:first-child {
    margin-right: 10px;
}
section#tmp-reg form .form-row label {
    margin: 0 5px 0 0;
}
section#tmp-reg form .form-group {
    margin: 0;
    padding: 0;
}
section#tmp-reg .padding-set {
    padding-bottom: 0;
}
/* button */
section#tmp-reg form .button {
    margin-top: 15px;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    min-height: auto;
    padding: 15px 0;
    border-radius: 10px;
}
section#tmp-reg form .btn-dark {
    background-color: #64d88d;
    border-color: #54d490;
    box-shadow: 5px 0 12px rgb(26 197 94 / 22%);
}

/*ログイン*/
section#login form {
    margin: 0 auto;
    padding: 2% 4% 2%;
    width: 100%;
    max-width: 700px;
    background: #fff;
}
section#login .sentence {
    font-size: 12px;
}
section#login form .mypage-title {
    height: auto;
    display: flex;
    margin-bottom: 10px;
    margin-top: 30px;
    padding-left: 0;
    flex-direction: row;
    align-items: center;
    border-bottom: none;
    background: transparent;
}
section#login form .myinfo-item {
    margin: 0;
    padding: 0 0 30px;
    border-bottom: 1px solid #e8e8e8;
    align-items: center;
}
section#login form .myinfo-item:last-of-type {
    border-bottom: none;
}
section#login form .myinfo-item a {
    word-break: break-all;
    background: #f5f5f5;
    display: block;
    padding: 5px;
    border-radius: 5px;
    font-size: 12px;
    margin-top: 10px;
}
section#login form .form-row > .col {
    display: flex;
    flex-wrap: initial;
    align-items: center;
}
section#login form .form-row label {
    margin: 0 5px 0 0;
}
section#login form .form-group {
    margin-bottom: 10px;
    padding: 0;
}
section#login .padding-set {
    padding-bottom: 0;
}
section#login form .form-group + div {
    display: flex;
    align-items: center;
    margin-left: 0;
    font-size: 13px;
}
section#login form .form-group + div input {
    margin-right: 3px;
}
section#login form .keep-login {
    display: flex;
    align-items: center;
    margin-left: 0;
    font-size: 13px;
}
section#login form .keep-login input {
    margin-right: 3px;
}
/* button */
section#login form + #buttons {
    width: 100%;
    max-width: 700px;
    margin: 0 auto 50px;
    padding: 0 4% 4%;
    background: #fff;
}
section#login form #buttons > div {
    width: 100%;
}
section#login #buttons .button {
    margin-top: 15px;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    min-height: auto;
    padding: 15px 0;
    border-radius: 0;
}
section#login form .btn-dark {
    background-color: #60bcf1;
    border-color: #5bd1f9;
    box-shadow: 5px 0 12px rgb(94 186 247 / 22%);
}
section#login form + #buttons > div {
    width: 100%;
}
section#login form + #buttons .btn-success {
    width: 100%;
    min-width: 100%;
    min-height: auto;
    padding: 15px 0;
    border-radius: 10px;
    background-color: #64d88d;
    border-color: #54d490;
    box-shadow: 5px 0 12px rgb(26 197 94 / 22%);
}


/*================= /登録 ・ ログイン ===================*/

section#top {
    padding-right: 0;
    padding-left: 0;
}
section#top section.profile-image {
    margin-top: 0;
    /*transform: translateY(-30px);*/
}
section#profile section.profile-image {
    transform: translateY(0);
}
section#profile section.name {
    display: none;
}
section#profile section.name + .sns-image {
    display: none;
}

/* トップコンテンツタイトル & リンク */
h1.heading {
    position: relative;
    margin-top: 0;
    margin-bottom: 26px;
    line-height: 1.4;
}
h1.top-title {
    margin-right: auto;
    margin-bottom: 0;
}
h1.top-title::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 50%;
    right: 0;
    width: 30px;
    height: 2px;
    background: #293338;
    transform: translate(120%, 50%);
}
.heading img {
    display: none;
    margin-right: 7px;
    width: 26px;
    vertical-align: bottom;
}
.top-sec-title {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

#top section#news .button,
#top section#store .button {
    position: relative;
    max-width: auto;
    min-width: auto;
    min-height: 40px;
    justify-content: center;
    align-items: center;
    margin-right: 25px;
    padding-right: 0;
    padding-left: 0;
    font-size: 14px;
    line-height: 1;
    background-color: transparent;
    color: #46484b;
    border: none;
    /*background: url('/image/icons/next.png') center right / 8px no-repeat;*/
    z-index: 2;
}
#top section#news .button::before,
#top section#store .button::before {
    content: '';
    display: block;
    position: absolute;
    right: -24px;
    top: 50%;
    width: 20px;
    height: 20px;
    background: #46484b;
    border-radius: 50%;
    transform: translateY(-50%);
    transform-origin: center;
    transition: all .3s cubic-bezier(.77,0,.175,1);
    z-index: -1;
}
#top section#news .button:hover::before,
#top section#store .button:hover::before {
    width: 70px;
    height: 70px;
    background: #e9ebee;
    transform-origin: center;
    right: -44px;
}
#top section#news .button::after,
#top section#store .button::after {
    position: absolute;
    bottom: 7px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #46484b;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s cubic-bezier(.77,0,.175,1);
}
#top section#news .button:hover::after,
#top section#store .button:hover::after {
    transform: scale(1, 1);
}
/* /トップコンテンツタイトル */

.container-fluid {
    padding-right: 0;
    padding-left: 0;
}
section#top>section.store {
    padding-left: 15px;
    padding-right: 15px;
    margin-top: 16px;
    display: flex;
    justify-content: center;
}


/* メニュー */
.modal-body li {
    list-style: none;
}
/*もっと見るボタン下マージン*/
section#news {
    margin-top: 0;
    padding-top: 2em !important;
}
/* > store nav */
.nav {
    margin-top: 40px;
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    border-color: transparent;
}
.nav-tabs .nav-link {
    border: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
#app .nav-tabs .nav-link.active {
    border-bottom: 4px solid #212529;
}
#content #app .nav-tabs .nav-link {
    padding: .5rem 1rem 1rem;
}
/*  < store nav */

/* news arrow & blog arrow */
#news li a img,
#blog li a img {
    width: 14px;
    display: none;
}
section#news #news,
section#blog #blog  {
    border-top: none;
    margin: 0;
}
section#news #news>li,
section#blog #blog>li {
    padding: 10px;
    border-bottom: none;
    background: #fdfdfd;
    margin-bottom: 2px;
    border-left: 3px solid #aaa;
    transition: all .2s ease-in-out;
}
section#news #news>li:hover,
section#blog #blog>li:hover  {
    transform: translateX(5px);
}

section#top section#store .horizonal-list {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    margin-top: 16px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}
section#top section#store .item {
    position: relative;
    width: 31%;
    height: auto;
    margin: 1%;
    display: flex;
    flex: none;
    border-radius: 13px;
    border: 1px solid #ffffff;
    overflow: hidden;
    box-shadow: -4px -4px 12px 0px #ffffff, 4px 4px 12px 0px #c5d1da;
    background-color: #fff;
    transition: all .2s ease-in-out;
}
section#top section#store .item:hover {
    box-shadow: -1px -1px 2px 0px #ffffff, 1px 1px 2px 0px #c5d1da;
}
section#top section#store .item>div>div.item-info {
    border-left: none;
    padding: 0 10px 10px 10px;
}

section#top section#store .item>div {
    width: 100%;
    height: 100%;
    padding-left: 0;
    display: flex;
    flex-direction: column;
}
section#top section#store .item>div>img {
    width: 100%;
    height: auto;
    background-color: #fff;
    -o-object-fit: cover;
    position: relative;
    object-fit: cover;
}
section#top section#store .item>div>div.item-info>div.item-type {
    font-size: 12px;
}
section#top section#store .item>div>div.item-info>div.item-title {
    font-size: 14px;
}
section#top section#store .item>div>div.item-info>div.item-content {
    width: fit-content;
    margin-top: 4px;
    color: #333;
    text-align: left;
    display: inline-block;
    background-color: #d2d2d2;
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 100px;
    color: #fff;
    line-height: 1;
}
div.item-info div.item-content {
    width: fit-content;
    margin-top: 4px;
    color: #333;
    text-align: left;
    display: inline-block;
    background-color: #d2d2d2;
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 100px;
    color: #fff;
    line-height: 1;
}

section#top section.profile-info {
    padding: 5px 0;
}

/* PLAYER */
section#top>section.purchased-item {
    display: flex;
    justify-content: center;
    width: 92%;
    margin: 0px auto 24px;
    background-color: #e8eaec;
    padding: 30px;
    /*border-radius: 0px 30px 0;*/
    border-radius: 15px;
}
section#top>section.purchased-item .button {
    position: relative;
    min-width: 50vw;
    min-height: 40px;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* border-radius: 39px; */
    /* background-color: #8cc7f6; */
    box-shadow: -8px -8px 16px 0px #ffffff, 8px 8px 16px 0px #c5d1da;
    padding: 15px 20px;
    color: #68abcc;
    font-weight: 800;
    text-shadow: 0 0 5px rgb(255 255 255);

}
section#top>section.purchased-item .button::before {
    position: absolute;
    content: '';
    display: block;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    height: 20px;
    width: 20px;
    background: url('https://cdn.ctpfs.jp/storage/EF4EC75368/image/484D9D23667A7CB9ABC07F675A775D2C84AE26F0B1EE0629E832.png') 100% center no-repeat;
    /*transform: translate(-200%, -50%);*/
}
section#top>section.purchased-item .btn-dark {
    color: #5594c1;
    background-color: transparent;
    border: none;
}
section#top>section.purchased-item .button:hover {
    /*background-color: #e2eaf1;*/
    box-shadow:
      -1px -1px 2px 0px #ffffff,
      1px 1px 2px 0px #c5d1da;
    cursor: pointer;
}
section#purchased-item div.product-empty img.image-empty {
    display: block;
    width: 70%;
    height: auto;
    opacity: .3;
    margin: 0 auto;
}
section#purchased-item div.product-empty .message {
    margin-bottom: 30px;
}

/*プレイヤーサムネイル*/
section#player .music-jacket {
    width: 100%;
    max-width: 100%;
    min-height: auto;
    max-height: 50vh;
}

/* >> PLAYER */

/* blog */
section#blog-detail .blog, section#blog-detail .content {
    word-break: break-all;
    padding: 10px;
}

footer>section div {
    margin: 20px auto;
}

/*================= discography ===================*/
section#discography .nav {
    margin-bottom: 15px;
}
section#discography .tab-pane {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}
section#discography .discography-item {
    width: calc(100% / 4);
    padding: 10px 10px 15px;
}
@media (max-width: 830px) {
    section#discography .discography-item {
        width: calc(100% / 2);
    }
}
@media (max-width: 630px) {
    section#discography .discography-item {
        width: calc(100% / 1);
    }
}
section#discography article {
    width: 100%;
    height: 100%;
}
section#discography .discography-item .thumb {
    position: relative;
    background: #fff;
    overflow: hidden;
    margin-bottom: 6px;
    box-shadow: 0 0 15px rgb(0 0 0 / 10%);
}
section#discography .discography-item .thumb::before {
    content: "";
    display: block;
    padding-top: 100%;
}
section#discography .discography-item .thumb p {
    position: absolute;
    display: flex;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
}
section#discography .discography-item .thumb p img {
    display: block;
    width: auto;
    height: 100%;
    max-width: none;
}
section#discography article .cmnt {
    margin-top: 0;
}
section#discography article .cmnt .data {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    color: #bbbbbb;
    font-size: 12px;
}
section#discography article .cmnt .data p {
    margin-bottom: 3px;
}
section#discography article .cmnt .data .tag,
section#discography-detail .d_data div.category {
    display: flex;
    align-items: center;
    background: #c5c5c5;
    margin-right: 5px;
    padding: 5px 10px;
    font-size: 12px;
    color: #fff;
    line-height: 1;
    /*border-radius: 100px;*/
}
section#discography article .cmnt p.post-title {
    font-size: 14px;
    line-height: 1.2;
    padding-top: 0m;
}
/*詳細ページ*/
section#discography-detail .d_data {
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #bbbbbb;
}
section#discography-detail h2 {
    padding: 10px 0;
    font-size: 1.3em;
    line-height: 1.5;
}
section#discography-detail .disco-item-thumb {
    position: relative;
    width: 38%;
    overflow: hidden;
    margin-bottom: 20px;
}
@media (max-width: 630px) {
    section#discography-detail .disco-item-thumb {
        width: 100%;
    }
}
section#discography-detail .disc-bx .disco-item-thumb::after {
    content: "";
    display: block;
    padding-top: 100%;
}
section#discography-detail .disc-bx {
    display: flex;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 40px;
}
@media (max-width: 630px) {
    section#discography-detail .disc-bx {
        flex-direction: column;
    }
}
section#discography-detail .disc-bx .in-thumb {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    background: #fff;
}
section#discography-detail .disc-bx .in-thumb img {
    display: block;
    width: auto;
    height: 100%;
    max-width: none;
}
section#discography-detail .disc-bx .disc-detail-bx {
    width: 58%;
}
/* button */
section.discography .button {
    width: 100%;
    max-width: 1020px;
    margin: 50px auto 0;
    min-width: auto;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 630px) {
    section.discography .button {
        width: 92%;
        margin: 0 auto 40px;
    }
}

/*================= store ===================*/
section#store .select_box,section#store .search_box {
    display: inline-block;
    overflow: hidden;
    width: 45%;
    margin: 1.5em 3%;
    text-align: center;
    position: relative;
    border: 2px solid #bbb;
    border-radius: 2px;
    background: #fff;
    border: none;
}
section#store .select_box {
    margin-right: 1%;
}
section#store .select_box {
    position: relative;
}
section#store .select_box::after {
    position: absolute;
    content:'▼';
    font-size: 12px;
    color: #4b4b4b;
    top:50%;
    right: 8px;
    text-align: right;
    display: block;
    transform: translateY(-50%);
}
section#store .search_box {
    margin-left: 1%;
}
section#store .select_box select ,section#store .search_box input {
    background-color: #e8e8e8;
}
section#store div.store-item {
    border-bottom: none;
    padding: 8px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 3px;
    cursor: pointer;
    transition: all .2s ease-in-out;
}


/* リスト表示 */
.tab-content > .active,.tab-content > .active > div {
    display: flex;
    flex-wrap: wrap;
}
section#store div.store-item, section#purchased-item div.product-item {
    margin: 7px 1%;
    width: 48%;
    box-shadow: 0 0 15px rgba(0,0,0,.1);
}
@media (max-width: 830px) {
    section#store div.store-item, section#purchased-item div.product-item {
        width: 100%;
        margin: 6px 0;
    }
}
section#store div.store-item:hover {
    background: #e1edef;
    box-shadow: none;
}
.tab-content > .active div.item-image, .tab-content > .active div.item-image {
    width: 28%;
    height: auto;
}
.tab-content > .active img.profile-image {
    width: 100%;
}
div.item-info div.item-title {
    font-size: 14px;
    line-height: 1.5;
}
div.item-info {
    width: 69%;
    margin-left: 1%;
    padding-right: 0;
}
div.item-info .item-type {
    display: none;
}
div.item-image, img.profile-image {
    height: auto;
    max-height: 100%;
}
div.item-price-container>.item-price {
    text-align: right;
    width: 100%;
    display: block;
    border: none;
    font-size: 14px;
}

/*================= /store ===================*/

/*================= cart ===================*/
section#cart-confirm .cart_tit, section#purchase-confirm .cart_tit {
    border-bottom: none;
}
section#cart-confirm .to_store, section#purchase-confirm .to_store {
    text-align: center;
}
section#cart-confirm .cart_subtit, section#purchase-confirm .cart_subtit {
    text-align: center;
    background-color: #e5e9ea;
    margin-bottom: 30px;
}
section#cart-confirm .cart_box_par, section#purchase-confirm .cart_box_par {
    border-bottom: none;
    width: 100%;
    max-width: 1060px;
    margin: 1% auto;
    padding: 10px;
    background: #fff;
    border-radius: 8px;
}
@media (max-width: 830px) {
    section#cart-confirm .cart_box_par, section#purchase-confirm .cart_box_par {
        width: 94%;
    }
}
section#cart-confirm .cart_box, section#purchase-confirm .cart_box {
    margin: 0 auto;
}
section#cart-confirm .cb_item3, section#purchase-confirm .cb_item3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
section#cart-confirm .cb_item3_inner, section#purchase-confirm .cb_item3_inner {
    margin: 4px auto;
}
section#cart-confirm .cb_item3_inner p, section#purchase-confirm .cb_item3_inner p {
    margin: 0;
}

/* 写真 */
section#cart-confirm .cb_item1, section#purchase-confirm .cb_item1 {
    text-align: center;
}
section#cart-confirm .cb_item1 img, section#purchase-confirm .cb_item1 img {
    width: 60%;
}
@media (max-width: 830px) {
    section#cart-confirm .cb_item1 img, section#purchase-confirm .cb_item1 img {
        width: 80%;
    } 
}
/* テキスト */
section#cart-confirm .cb_txt1 {
    display: none;
}
section#cart-confirm .cb_txt2, section#purchase-confirm .cb_txt2 {
    font-size: 14px;
}

section#cart-confirm .subtotal, section#purchase-confirm .subtotal {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding: 20px 0;
}
@media (max-width: 830px) {
    section#cart-confirm .subtotal, section#purchase-confirm .subtotal {
        padding: 20px 4%;
    }
}

/*================= /cart ===================*/

section#news #news>li>.created_at,
section#blog #blog>li>.created_at {
    font-size: 12px;
}
section#news #news>li>.news-title,
section#blog #blog>li>.news-title {
    margin-right: 20px;
    font-size: 14px;
}
section#news #news>li img,
section#blog #blog>li img {
    width: 14px;
    display: none;
}
section#news-detail .content, section#news-detail .news {
    padding: 10px;
}
section#news .button,section.news .button {
    /*max-width: 50%;*/
    margin: 20px auto;
}
section#blog .button,section.blog .button {
    max-width: 50%;
    margin: 20px auto;
}
section#store-detail div>#item-info>.item-description {
    margin-bottom: 20px;
}
section#store-detail div>#item-info>.item-date, section#store-detail div>#item-info>.item-type {
    width: fit-content;
    margin-top: 4px;
    margin-bottom: 30px;
    color: #333;
    text-align: left;
    display: inline-block;
    background-color: #d2d2d2;
    font-size: 12px;
    padding: 5px 20px;
    border-radius: 100px;
    color: #fff;
    line-height: 1; 
}
section#store-detail div>#item-info>.item-date::after {
    content: '公開';
}
section#store-detail .music-trial-image {
    width: 30px;
    opacity: .9;
}
section#store-detail .music-title {
    padding-right: 10px;
}
section#store-detail div div.image img,
section#product-detail div.image img {
    margin-top: 40px;
    width: 100%;
    max-width: 600px;
}

/* アルバム購入リスト */
section#purchase #product-list>ul>li {
    border-bottom: 1px solid #cecece;
    padding: 10px 20px;
}
section#purchase section.item-purchase {
    padding: 16px 20px;
}
section#purchase div.store-item {
    padding: 16px 20px 0;
}
section#store-detail div>#item-player,
section#product-detail #list>ul>li {
    border-bottom: none;
    margin: 0 0 3px 0;
    padding: 25px 16px;
    background: #fff;
    border-radius: 5px;
    cursor: pointer;
    transition: all .2s ease-in-out;
}
section#store-detail div>#item-player:hover,
section#product-detail #list>ul>li:hover {
    background: #e1edef;

}
section#product-detail #list>ul {
    margin-top: 30px;
}
section#purchase #product-list>ul>li {
    border-bottom: none;
    margin: 0 0 3px 0;
    padding: 20px 20px;
    background: #fff;
    border-radius: 5px;
}

/* ライブ配信 */
section#live-list ul.nav li:last-child {
    /*display: none;*/
}
section#live-list ul.live-list {
    margin-bottom: 50px;
    padding: 0;
}
section#live-list ul.live-list>li {
    border-bottom: 1px solid #cecece;
    padding: 10px;
}
section#live-list ul.live-list>li img {
    width: 14px;
}
@media (max-width: 1210px) {
    section#top>section.purchased-item {
        width: 92%;
    }
}

section#purchase-end div.cb_thanks {
    text-align: center;
    max-width: 600px;
    margin: 100px auto 20px;
}
section#purchase-end div.cb_thanks > div:nth-of-type(1) {
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: bold;
}
section#purchase-end div.cb_thanks > div:nth-of-type(2) {
    text-align: left;
}
section#purchase-end div.cb_thanks > div.confirm {
    font-size: 14px;
}

/*================= subscription 購入ページ ===================*/
section#subscription-purchase .cart_box_par {
    border-bottom: none;
    width: 100%;
    margin: 40px auto 25px;
    padding: 0;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 15px rgb(0 0 0 / 10%);
}
section#subscription-purchase .cart_box {
    margin: 0;
    padding: 0;
}
section#subscription-purchase .cb_item2 {
    margin: 0;
    padding: 20px 3%;
    align-content: space-around;
    align-items: center;
}
section#subscription-purchase .cb_txt2 {
    font-size: 1em;
}
section#subscription-purchase .cb_item3 {
    width: 35%;
    text-align: center;
    font-size: .8em;
    justify-content: space-around;
    padding: 20px 0;
    border-left: 1px dashed #9e9e9e;
    background: transparent;
}
section#subscription-purchase .confirm button[type=submit] {
    width: 60%;
    max-width: 600px;
    min-height: auto;
    padding: 20px 0;
    line-height: 1;
    border-radius: 10px;
    background-color: #4ecf7b;
    border-color: #54d490;
    box-shadow: 5px 0 12px rgb(26 197 94 / 22%);
    transition: all .2s ease-in-out;
}
section#subscription-purchase .confirm button[type=submit]:hover {
    background-color: #28c75f;
}
@media (max-width: 830px) {
    section#subscription-purchase .confirm button[type=submit] {
        width: 80%;
    }
}
section#subscription-purchase div.how-to-pay-kind {
    padding: 14px 8px;
}
section#subscription-purchase div.button-image img {
    width: 10px;
}
/* 完了ページ */
section#subscription-purchase-end div.cb_thanks {
    padding: 3rem 4%;
    text-align: center;
}
section#subscription-purchase-end div.cb_thanks div:first-child {
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 3;
    color: #3aabfd;
}
section#subscription-purchase-end .confirm button[type=submit] {
    background: #444444;
}
@media (max-width: 650px) {
    section#subscription-purchase-end .confirm button[type=submit] {
        width: 80%;
    }
}

/*================= PHOTO スライダー ===================*/
section#photo-slider .vue-slider-next-btn i, section#photo-slider .vue-slider-prev-btn i {
    border: none;
    border-radius: 0;
    background: rgba(0,0,0,.6);
}
section#photo-slider .close-button {
    border-radius: 0;
}
section#photo-slider .vue-slider-prev-btn {
    left: 0;
}
section#photo-slider .vue-slider-next-btn {
    right: 0;
}


/*================= ライブ配信 ===================*/
section#live .movie-wrap {
    margin: 0 0 20px 0;
}
section#live .movie-wrap + div {
    margin: 0 0 20px 0;
}
section#live .movie-wrap + div span div {
    padding: 0 !important;
}

/*================= PLAYER ===================*/
section#player {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
section#player .video-box {
    min-height: auto;
}
section#purchased-item div.product-item {
    border-bottom: none;
    padding: 8px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 3px;
}
section#purchased-item .tab .tab-content {
    margin-top: 20px;
}
section#purchased-item .tab-content .product-item .item-price-container img  {
    width: 10px;
    opacity: .5;
}

/*================= terms ===================*/
#privacy-policy,
#terms_of_use,
#pages {
    padding-top: 2em;
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
}
#privacy-policy h1.heading,
#terms_of_use h1.heading {
    margin-bottom: 0;
}
#pages table {
    border-color: #c0c0c0;
}
#pages table th,
#pages table td {
    font-size: 13px;
}
#pages table th {
    background-color: #e7e7e7;
}

/*================= nav ===================*/
.navbar-light .navbar-nav .logo .nav-link img {
    width: 100%;
    max-width: 130px;
    cursor: pointer;
    transition: all .2s linear;
    opacity: 1;
}
.navbar-light .navbar-nav .logo .nav-link img:hover {
    opacity: .7;
}
img.menu {
    opacity: .25;
}
.modal-dialog {
    position: relative;
    top: 50%;
    transform: translateY(-50%) !important;
}

/*================= 決済選択モーダル ===================*/
section#cart-confirm div.button-image img, section#purchase-confirm div.button-image img {
    width: 10px;
}

section#cart-confirm div.how-to-pay-kind, section#purchase-confirm div.how-to-pay-kind {
    padding: 14px 8px;
}

/*================= MYPAGE ===================*/
/* TOP */
section#mypage .mypage-title {
    background-color: #e8e8e8;
    height: auto;
    display: block;
    flex-direction: row;
    align-items: center;
    text-align: center;
    padding: 12px;
    width: 100%;
    margin-bottom: 15px;
}
@media (max-width: 830px) {
    section#mypage .mypage-title {
        margin-bottom: 4px;
    }
}
section#mypage ul.mypage-item {
    display: flex;
    margin-bottom: 50px;
    flex-wrap: wrap;
    justify-content: flex-start;
}
section#mypage ul.mypage-item>li {
    position: relative;
    height: auto;
    border: none;
    margin: 0 .6% 10px;
    background: #fff;
    width: 32%;
}
section#mypage ul.mypage-item>li::after {
    content: '';
    display: block;
    height: 1px;
    position: absolute;
    left: 3px;
    top: 50%;
    width: 10px;
    background: #c5c5c5;
    transition: all .1s linear;
}
section#mypage ul.mypage-item>li:hover::after {
    width: 20px;
}
section#mypage ul.mypage-item>li>a {
    padding: 15px;
    display: block;
    text-align: center;
}
section#mypage ul.mypage-item>li>a:hover {
    text-decoration: none;
    color: inherit;
}

/* 購入履歴 */
#purchase-history {
    padding-top: 2em;
}
section#purchase-history #purchase-history {
    border-top: none;
}
section#purchase-history #purchase-history>li {
    border-bottom: none;
    margin: 0 0 3px 0;
    padding: 25px 16px;
    background: #fff;
    border-radius: 5px; 
}
@media (max-width: 830px) {
    section#mypage ul.mypage-item {
        justify-content: space-around;
    }
    section#mypage ul.mypage-item>li {
        width: 48%;
    }
}
@media (max-width: 500px) {
    section#mypage ul.mypage-item {
        flex-direction: column;
    }
    section#mypage ul.mypage-item>li {
        width: 100%;
        margin: 0 0 2px 0;
    }
}

/* 会員情報の確認・編集 */
section#confirm .mypage-title,
section#myinfo .mypage-title {
    background-color: #efefef;
    height: auto;
    padding: 10px;
}
section#confirm div.mypage-item,
section#myinfo div.mypage-item {
    font-weight: 400;
    height: auto;
    padding: 20px;
}
section#confirm h1.heading,
section#myinfo h1.heading {
    margin-top: 50px;
    margin-bottom: 25px;
}

/*================= CONTACT ===================*/
section#inquiry .myinfo-item label[for="inquiryContent"] + textarea {
    height: calc( 14px * 8 );
    line-height: 1.3;
}
section#inquiry .myinfo-item {
    padding-left: 0;
    padding-right: 0;
}
@media (max-width: 830px) {
    section#inquiry .myinfo-item {
        padding: .8em 0;
    }
}

/*================= Player コントローラー ===================*/
section#player .video-controller .button-block .left-block {
    width: 70%;
}
@media (max-width: 830px) {
    section#player .video-controller .button-block .left-block {
        width: 65%;
    }
}
section#player .video-controller {
    background: rgba(0,0,0,.5);
    padding: 0 1em;
}
@media (max-width: 830px) {
    section#player .video-controller {
        padding: 0;
    }
}
section#player .video-controller .button-block .time-block .time-controller span {
    font-size: 12px;
}

/* Mobile
=====================================================*/

@media (max-width: 830px) {
    section#top section#store .horizonal-list {
        width: auto;
        display: flex;
        flex-wrap: nowrap;
        margin: 16px 0 0 0;
        padding-bottom: 13px;
        -ms-overflow-style: none;    /* IE, Edge 対応 */
        scrollbar-width: none;       /* Firefox 対応 */
    }
    section#top section#store .horizonal-list::-webkit-scrollbar {  /* Chrome, Safari 対応 */
        display:none;
    }
    section#top section#store .item {
        display: flex;
        flex: 0 0 60%;
        width: 80%;
        margin: 10px;
    }
    section#top section#store .item>div {
        width: 100%;
        height: 100%;
        padding: 0;
    }
    section#top section#store .item>div>img {
        width: 100%;
        max-width: 100%;
        /*height: 100%;*/
        height: auto;
    }
    section#top section#store .item>div>div.item-info {
        margin-top: 16px;
        margin-left: 0;
        padding-top: 0;
        width: 100%;
        padding: 0 10px 10px 10px;
        align-items: end;
        border-left: none;
    }
    #news li a img {
        width: 10px;
    }
    section#news-detail .content, section#news-detail .news {
        padding: 10px 4%;
    }
    section#news .button,section.news .button {
        width: auto;
        margin: 20px auto;
    }

    /*=============== store ================*/
    div.item-info div.item-title {
        font-size: 13px;
    }
    div.item-price-container>.item-price {
        font-size: 12px;
        line-height: 1;
        padding: 8px 4px;
    }
    div.item-info div.item-content {
        font-size: 12px;
    }

    /*======== space ==========*/

    /* 購入ボタン周り */
    section#store-detail div>#item-purchase {
        padding: 16px 5%;
    }
    /* アイテム説明 */
    section#store-detail div>#item-info>.item-description {
        padding: 0 5%;
    }
    /* アイテムリスト */
    section#store-detail div>#item-player {
        border-bottom: 1px solid #cecece;
    }
    /* アルバム購入リスト */
    section#purchase #product-list>ul>li {
        padding: 10px 5%;
    }
    section#purchase section.item-purchase {
        padding: 16px 5%;
    }
    section#purchase div.store-item {
        padding: 16px 5% 0;
    }

    section#news #news>li img {
        width: 10px;
    }

    section#top section.profile-info {
        padding: 5px 4%;
    }
    /* PLAYER */
    section#top>section.purchased-item {
        width: 92%;
    }
    section#top>section.purchased-item .button::before {
        left: 12px;
        height: 16px;
        width: 16px;
        background: url('https://cdn.ctpfs.jp/storage/EF4EC75368/image/484D9D23667A7CB9ABC07F675A775D2C84AE26F0B1EE0629E832.png') 16px 16px center no-repeat;
    }

    /*======== live配信 ==========*/
    section#live-list ul.live-list>li img {
        width: 10px;
    }
}

/* sns */
section#profile div.sns-image>a>img {
    width: 4%;
}
@media (max-width: 830px) {
    section#profile div.sns-image>a>img {
        width: 9%;
    }
}

/* sabra
==============================================*/
div.sabra section#top>section.purchased-item {
    align-items: center;
    flex-direction: column;
}
section#top .net_str {
    margin: 60px auto;
    width: 100%;
    max-width: 1060px;
}
@media (max-width: 640px) {
    section#top .net_str {
        padding: 0 6%;
    }
    section#top .net_str_outer ul li {
        width: 100%;
        max-width: 70%;
        margin: 0 auto 20px
    }
    .sabra section#top>section#news {
        padding-top:1.5em !important;
    }
}
@media (max-width: 500px) {
    .navbar .humb-nav-sabra {
        width: 70px !important;   
    }
}

/* how to */
div.sb_ht_wrap .sb_ht_inner {
    width: 94%;
    margin: 0 auto;
}

div.sb_ht_wrap h2.sb_hw_title {
    margin:20px auto;
    padding: 10px;
    font-size:16px;
    color: #fff;
    font-weight: bold;
    line-break: 1;
    background-color: #3ac0db;
    border-top:6px solid #22b7d5;
}

div.sb_ht_wrap img {
    margin-bottom: 40px;
    width: 100%;
    max-width: 800px;
    box-shadow: 0 0 10px rgba(0,0,0,.2);
}

div.sb_ht_wrap span {
    display: inline-block;
    margin-bottom: 16px;
}
div.sb_ht_wrap a {
    text-decoration: underline;
    color: blue;
}
div.sb_ht_wrap a:hover {
    color: #3567f1;
}

div.sb_ht_wrap span.sb_hw_text_small {
    display: inline;
    font-size: 12px;
    color: #c93434;
}


/* Aky
==============================================*/
li.askyo_nav {
    display: flex;
    align-items: center;
}
li.askyo_nav img {
    width: 100%;
    max-width: 200px;
}
@media (max-width: 640px) {
    li.askyo_nav img{
        max-width: 100px;
    }
}

/*================= akn ===================*/
/* 性別 */
section#tmp-reg form .a_sex .form-group {
    display: flex;
}
section#tmp-reg form .a_sex .form-group > div {
    margin-right: 30px;
}
section#tmp-reg form .a_sex .form-group > div .form-check-input {
    position: relative;
    margin-left: 0;
}
/* 年齢認証 */
.modal_age_v { 
	position:fixed; 
	display: none;
	z-index: 9999; 
	top: 50%; 
	left:50%; 
	width: 92%; 
	height: auto; 
	max-width: 550px;
	min-height: 200px;
	padding: 40px 20px; 
	text-align: center; 
	transform: translate(-50%, -50%);
	background: #f5f5f5;
	border-radius: 12px;
	box-sizing: border-box;
}
.modal_age_v > img {
	width: 100%;
	max-width: 180px;
	margin-bottom: 20px;
}
.modal_age_v p { 
	margin-bottom: 10px; 
}
.modal_age_v p:nth-of-type(2) {
	margin-bottom: 30px;
}
.modal_age_v a { 
	display: block;
	cursor: pointer;
	margin: 0 1px;
	padding: 10px 0;
	width: 46%;
	font-size: 15px;
	font-weight: bold;
	border: 1px solid #b6b6b6;
	border-radius: 30px;
}
.modal_age_v .ak_y_n {
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.modal_age_v .ak_y {
	color: #fff;
	background: #ee2737;
	border: none;
}

/* あかんintro */
.akn_intro {
    background: #ff688f url('https://cdn.ctpfs.jp/storage/EF4E04911E/image/EF2A9349A879610CC69D776F527F55248CA62EF896FAE0C84697.jpg') repeat-x top center /900px;
}
.akn_intro_inner {
    display: flex;
    max-width: 900px;
    margin: 0 auto;
}
.akn_intro_inner > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 50%;
    padding: 50px 10px 50px 0;
}
.akn_intro_inner > div:nth-of-type(2) {
    padding: 50px 0 50px 10px;
}
.akn_intro_inner {
    color: #fff;
    text-align: center;
}
.akn_intro_inner h4 {
    font-size: 24px;
    font-weight: bold;
}
.akn_intro_inner img {
    width: 100%;
}
.akn_pc_br {
    display: none;
}

/* トップ無料動画 */
section#top section.ak_free_store .item .akn_free_item_list {
    display: block;
}
section#top section.ak_free_store .item .akn_free_item_list > div {
    width: 100%;
    height: 100%;
    padding-left: 0;
    display: flex;
    flex-direction: column;
}
section#top section.ak_free_store .item a {
    text-decoration: none;
}
section#top section.ak_free_store .item a > div img {
    width: 100%;
    height: auto;
    background-color: #fff;
    -o-object-fit: cover;
    position: relative;
    object-fit: cover;
    max-width: 50vw;
}
section#top section.ak_free_store .item a >div>div.item-info {
    border-left: none;
    padding: 0 10px 10px 10px;
    margin-top: 16px;
    margin-left: 0;
    width: 100%;
}
@media (max-width: 830px) {
    .akn_intro {
        background: #ff688f url('https://cdn.ctpfs.jp/storage/EF4E04911E/image/EF2A9349A879610CC69D776F527F55248CA62EF896FAE0C84697.jpg') repeat-x top center /100%;
    }
    .akn_pc_br {
        display: block;
    }
    .akn_intro_inner h4 {
        font-size: 22px;
    }
    section#top section.ak_free_store .horizonal-list {
        width: auto;
        display: flex;
        flex-wrap: nowrap;
        margin: 16px 0 0 0;
        padding-bottom: 13px;
        -ms-overflow-style: none;    /* IE, Edge 対応 */
        scrollbar-width: none;       /* Firefox 対応 */
    }
    section#top section.ak_free_store .horizonal-list::-webkit-scrollbar {  /* Chrome, Safari 対応 */
        display:none;
    }
    section#top section.ak_free_store .item {
        display: flex;
        flex: 0 0 60%;
        width: 80%;
        margin: 10px;
    }
    section#top section.ak_free_store .item a >div {
        width: 100%;
        height: 100%;
        padding: 0;
    }
    section#top section.ak_free_store .item a >div>img {
        width: 100%;
        max-width: 100%;
        /*height: 100%;*/
        height: auto;
    }
    section#top section.ak_free_store .item a >div>div.item-info {
        margin-top: 16px;
        margin-left: 0;
        padding-top: 0;
        width: 100%;
        padding: 0 10px 10px 10px;
        align-items: start;
        border-left: none;
    }
}


/*================= みきなつ ===================*/
.mikinatsu_key {
    position: relative;
}
.mikinatsu_key a.miki_pay {
    display: block;
    position: absolute;
    left: 0;
    right: auto;
    bottom: 0;
    width: 300px;
    transition: all .3s ease-in-out;
    transform: translate(0, 0);
}
.mikinatsu_key a.miki_pay:hover {
    transform: translate(0, -3%);
}
.mikinatsu_key a.miki_pay img {
    width: 100%;
}
@media (max-width: 640px) {
    .mikinatsu_key a.miki_pay {
        width: 40%;
        transform: translate(0, 15%);
    }
    .mikinatsu_key a.miki_pay:hover {
        transform: translate(0, 15%);
    }
}
/* m_natsu */
.mikinatsu_about h4 {
    position: relative;
    padding: 15px 10px 15px 60px;
    font-weight: 600;
    color: #2298CC;
    line-height: 1.5;
    background: #C9EEFF;
    border-radius: 12px;
}
@media (max-width: 640px) {
    .mikinatsu_about h4 {
        font-size: 18px;
    }
}
.mikinatsu_about h4::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 50%;
    display: block;
    width: 34px;
    height: 48px;
    background: url('https://cdn.ctpfs.jp/storage/EF4E0491AF/image/EF89D59B384CA892A8CE7E665B765C2D85AF27F19FF3E9C10958.png') center / 100% no-repeat;
    transform: translateY(-80%);
}
.mikinatsu_about .about_logo {
    text-align: center;
}
.mikinatsu_about .about_logo img {
    margin: 25px auto;
    width: 100%;
    max-width: 404px;
    animation: mikinatsu_logo_anime 3s infinite ease-in-out;
}
@keyframes mikinatsu_logo_anime {
    0% {
       transform: translateY(0);;
    }
    50% {
        transform: translateY(8%);
    }
    100% {
       transform: translateY(0);
    }
  }
  
.mikinatsu_about .about_section p {
    padding-left: 25px;
    padding-right: 25px;
    line-height: 1.7;
}
@media (max-width: 640px) {
    .mikinatsu_about .about_section p {
        padding-left: 4%;
        padding-right: 4%;
    } 
}    
.mikinatsu_about p .mikinatsu_about_s_text {
    display: block;
    margin-top: 10px;
    padding: 10px;
    font-size: 12px;
    background: #f2f3ed;
    border-radius: 7px;
}
/*ステップ*/
.mikinatsu_about .regist_how_to {
    padding-left: 25px;
    padding-right: 25px;
}
@media (max-width: 640px) {
    .mikinatsu_about .regist_how_to {
        padding-left: 4%;
        padding-right: 4%;
    }
}
.mikinatsu_about .regist_how_to h5 {
    position: relative;
    padding: 8px 10px 8px 140px;
    font-size: 15px;
    background: #F5C99D;
    border-radius: 100px;
}
.mikinatsu_about .regist_how_to h5::before {
    content: 'ステップ１'; 
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    color: #fff;
    font-weight: bold;
    padding: 8px 20px 8px 20px;
    background: #F48414; 
    border-radius: 100px;
} 
.mikinatsu_about .regist_how_to_st2 h5::before {
    content: 'ステップ２';
}
.mikinatsu_about .regist_how_to a {
    font-weight: bold;
    color: #0D6AFF;
    text-decoration: underline;
}
.mikinatsu_about .regist_how_to a:hover {
    color: #F48414;
}
/* 登録ボタン */
.mikinatsu_about .mikinatsu_start {
    padding-left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 640px) {
    .mikinatsu_about .mikinatsu_start {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
}
.mikinatsu_about .mikinatsu_start li {
    width: 100%;
    max-width: 250px;
    margin-bottom: 20px;
    list-style: none;
}
.mikinatsu_about .mikinatsu_start li a {
    display: block;
    margin-left: 15px;
    margin-right: 15px;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    color: #fff;
    background: #3EAAF8;
    border-radius: 8px;
    border: 1px solid #fff;
    box-shadow: 3px 3px 10px rgba(0,0,0, .2);
    transition: all .2s ease-in-out;
    text-decoration: none;
}
.mikinatsu_about .mikinatsu_start li:last-child a {
    background: #35DB42;
}
.mikinatsu_about .mikinatsu_start li a:hover {
    color: #fff;
    box-shadow: none;
    text-decoration: none;
}
/* FC先行 */
.mn_fc_ticket {
    display: block;
    width: 100%;
    max-width: 1200px;
    margin: 15px auto;
}
.mn_fc_ticket img {
    width: 100%;
    max-width: 1200px;
}
.mn_fc_ticket_sp {
    display: none;
}
@media (max-width: 640px) {
    .mn_fc_ticket {
        display: none;
        max-width: 94%;
        margin: 15px auto;
    }
    .mn_fc_ticket_sp {
        display: block;
        width: 94%;
        max-width: 1200px;
        margin: 15px auto;
    }
    .mn_fc_ticket_sp img {
        width: 100%;
        max-width: 1200px;
    }
}

/*================= 大谷選手 ===================*/
body#otani {
    background: #f6f4f2;
}
.sp_on {
    display: none;
}
@media (max-width: 640px) {
    .sp_on {
        display: block;
    }
}
.os_contents_wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: -5%;
    color: #292b2c;
    background: #f6f4f2;

    /* 画像をくっきりさせる */
    image-rendering: -webkit-optimize-contrast;
}
.os_contents_wrap h4 {
    line-height: 1.5;
}
.os_key_wrap {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.os_key_wrap img {
    display: block;
    width: 100%;
    width:100%;
    max-width: 1100px;
    margin: 0 auto;
}
.os_intro p {
    font-size: 15px;
    color: #292b2c;
    line-height: 1.5;
    /*text-align: left;*/
}
.os_intro p span {
    list-style: 1.5;
    /*background-color: #fff;*/
}
.ot_comment_wrap{
    margin-bottom: 4rem;
}
.ot_payment_wrap{
    width: 95%;
    background-color:none;
    text-align: center;
    margin: 0 auto;
}
.ot_payment_wrap h4{
    margin-bottom: 2rem;
}

.ot_payment_info{
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    margin-bottom: 2rem;
}
.ot_payment_info p{
    background-color: #171717;
    padding: 20px 15px;
    font-weight: bold;
}
.ot_payment_btn{
    width: 100%;
    max-width: 360px;
    padding: 15px 0;
    margin: 0 auto;
    font-weight: bold;
    background: #36b447;

    border-radius: 50px;
    border: 5px solid #16a028;

    transform: scale(1);

    box-shadow: 2px 2px 6px rgba(214, 214, 214, 0.4);

    cursor: pointer;
    user-select:none;

    position: relative;
}
.ot_payment_btn:active{
    transform: scale(0.9);
    cursor: pointer;
}
.ot_payment_btn > p{
    font-size: 18px;
    color: #fff;
    margin: 0;
    padding: 0 !important;
    text-align: center;
}
@media (max-width: 640px) {
    .os_key_wrap img {
        width: 100%;
        height: auto;
    }
    .ot_payment_wrap{
        width: 100%;
    }
}
/* intro */
.os_intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.os_intro_wrap {
    margin-bottom: 40px;
    width: 100%;
    max-width: 1050px;
    padding: 50px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgb(0 0 0 / 20%);
}
.os_intro img {
    display: block;
    width: 100%;
    margin-bottom: 6%;
}
.os_contents_wrap .os_intro_sp_img {
    display: none;
}
@media (max-width: 1120px) {
    .os_intro p {
        font-size: 22px;
    }
}
@media (max-width: 1000px) {
    .os_intro p {
        /*text-align: left;*/
    }
    .os_intro p .br1,.os_intro p .br2 {
        display: none;
    }
}
@media (max-width: 730px) {
    .os_contents_wrap .os_intro_pc_img {
        display: none;
    }
    .os_contents_wrap .os_intro_sp_img {
        display: block;
    }
    .os_intro p {
        font-size: 16px;
        line-height: 1.7;
    }
}
/* profile */
.ot_profile {
    display: flex;
    justify-content: center;
    padding-top: 100px;
    background: url("https://cdn.ctpfs.jp/storage/EF8D05056B/image/EF8DA1321917079907AF736B567B512088A23B6A9FCD2F539B35.png") no-repeat top center/cover;
    margin-bottom: 5rem;
}
.ot_profile_wrap {
    display: flex;
    width: 100%;
    max-width: 1200px;
}
.ot_profile_wrap > div {
    width: 50%;
    z-index: 101;
}
.ot_profile_wrap .ot_profile_image {
    position: relative;
}
.ot_profile_wrap .ot_profile_image_en {
    position: relative;
}
.ot_profile_wrap .ot_profile_image img {
    position: absolute;
    bottom: 0;
    right: 5%;
    height: 105%;
}
.ot_profile_wrap .ot_profile_image_en img {
    position: absolute;
    bottom: 0;
    right: -10%;
    height: 95%;
    z-index: 100;
}
.ot_history_photos{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 5rem;
}
.profile_detail img {
    width: 100%;
    margin-bottom: 25px;
    max-width: 450px;
}
@media (max-width: 960px) {
    .profile_detail img {
        padding-right: 4%;
        max-width: 350px;
    }
}
.profile_detail p {
    padding: 0 0 40px 0;
    font-size: 22px;
    color: #fff;
    line-height: 2;
    text-shadow: 1px 2px 4px rgba(0,0,0,.8);
}
@media (max-width: 960px) {
    .profile_detail p {
        padding: 0 8% 40px 0;   
    }
}
@media (max-width: 800px) {
    /* profile */
    .ot_profile {
        display: flex;
        justify-content: center;
        padding-top: 100px;
        background: none;
    }
    .ot_profile_wrap {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .ot_profile_wrap > div {
        width: 100%;
        padding: 0 4%;
    }
    .profile_detail img {
        position: relative;
        width: 100%;
        margin-bottom: 25px;
        max-width: 100%;
        padding: 0 10%;
        z-index: 1;
    }
    .ot_profile_wrap .ot_profile_image {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }
    .ot_profile_wrap .ot_profile_image img {
        position: relative;
        width: 75%;
        height: auto;
        right: auto;
    }
    .ot_profile_wrap .ot_profile_image_en {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }
    .ot_profile_wrap .ot_profile_image_en img {
        position: relative;
        width: 75%;
        height: auto;
        right: auto;
    }
    .profile_detail {
        position: relative;
    }
    .profile_detail::before {
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        display: block;
        width: 100%;
        height: 120px;
        background: rgb(0,0,0);
        background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 27%, rgba(0,0,0,0) 100%);
        transform: translateY(-100%);
    }
    .profile_detail p {
        margin-top: -10%;
        padding: 10%;
        background: url("https://cdn.ctpfs.jp/storage/EF8D05056B/image/EF8DA1321917079907AF736B567B512088A23B6A9FCD2F539B35.png") no-repeat center center/cover;
    }
}
/* support */
.ot_support{
    display: flex;
    justify-content: center;
}
.ot_support_img{
    width: 100%;
    max-width: 1200px;
    margin-bottom: 4rem;

    display: flex;
    justify-content: center;
}
.ot_support >  p{
    font-size: 22px;
    color: #fff;
    line-height: 1.5;
}
.ot_support_payment_wrap{
    width: 90%;
    background-color:none;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 4rem;
}
.ot_support_payment_wrap h4{
    margin-bottom: 2rem;
}

.ot_support_payment_info{
    font-size: 22px;

    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    margin-bottom: 2rem;
}
.ot_support_payment_info p{
    padding: 20px 15px;
    font-weight: bold;
}
.ot_support_payment_btn{
    width: 250px;
    padding: 20px 0;
    margin: 0 auto;
    font-weight: bold;

    background: #a50001;

    border-radius: 50px;
    border: 5px solid #53100a;

    transform: scale(1);

    box-shadow: 2px 2px 6px rgba(220,27,27,0.4);

    cursor: pointer;
    user-select:none;
}
.ot_support_payment_btn:active{
    transform: scale(0.9);
    cursor: pointer;
}
.ot_support_payment_btn > p{
    font-size: 22px;

    margin: 0;
    padding: 0;

    position: relative;
}
@media (max-width: 730px) {
    .ot_payment_info p{
        font-size: 16px;
        font-weight: bold;
    }
    .ot_support_payment_info{
        font-size: 18px;
        font-weight: bold;
    }
}

/* hashtag*/
.ot_hashtag_wrap{
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;

    font-size: 22px;
}
.ot_hashtag_wrap p{
    padding: 10px 4% 10px;
}

/* alink */
.ot_alink{
    display: block;
    width: 100%;
    height: 100%;

    position: absolute;
    top: 0%;
    left: 0;

    cursor: pointer;
}

/* swich */
.ot_swich_pc{
    display: block;
}
.ot_swich_sp{
    display: none;
}
@media (max-width: 730px) {
    .ot_swich_pc{
        display: none;
    }
    .ot_swich_sp{
        display: block;
    }
    .ot_profile{
        padding-top: 0px;
        margin-bottom: 2rem;
    }
    .os_intro_wrap{
        width: 97%;
        margin: 0 auto;
        padding: 40px 20px;
    }
}
.ot_swich_NewLine{
    display: none;
}
@media (max-width: 650px) {
    .ot_swich_NewLine{
        display: block;
    }
}
@media (max-width: 685px) {
    .os_h4_credit_option{
        font-size: 1.20rem;
    }
}
@media (max-width: 400px) {
    .os_h4_credit_option{
        font-size: 1rem;
    }
}

.navbar .ot_nav {
    display: flex;
    margin-right: .5rem;
    align-items: center;
    width: 35px;
    height: 35px;
}

.navbar .ot_nav span {
    position: relative;
    display: block;
    width: 100%;
    height: 3px;
    background: #292b2c;
}
.navbar .ot_nav span::before {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background: #292b2c;
    position: absolute;
    left: 0;
    bottom: 10px;
    transition: all .3s ease-in-out;
}
.navbar .ot_nav span::after {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background: #292b2c;
    position: absolute;
    left: 0;
    top: 10px;
    transition: all .2s ease-in-out;
}

.navbar .ot_nav:hover span::after {
    width: 70%;
}
.navbar .ot_nav:hover span::before {
    width: 70%;
}

@media (max-width: 500px) {
    .navbar .humb-nav-sabra {
        width: 70px !important;   
    }
}

/* 銀行振込関連・追記 */
.ot_support_payment_info {
    background: #fff;
    display: block;
    width: 100%;
    max-width: 920px;
    padding: 40px 15px;
}
@media (max-width: 700px) {
    .ot_support_payment_info {
        padding: 25px 10px;
    }
}
.ot_support_payment_info .bank_detail {
    /*background: #ebebeb;*/
    font-weight: bold;
}
.ot_support_payment_info h4 {
    font-size: 18px;
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 25px;
    /*border-bottom: 1px solid #4e4e4e;*/
}
.ot_support_payment_info .bank_detail {
    display: flex;
    justify-content: space-around;
}
@media (max-width: 700px) {
    .ot_support_payment_info .bank_detail {
        flex-direction: column;
    }
}
.ot_support_payment_info .bank_detail p {
    font-size: 16px;
    margin-bottom: 0;
}
/*口座table*/
.ot_support_payment_info .bank_detail > div {
    width: 45%;
}
@media (max-width: 700px) {
    .ot_support_payment_info .bank_detail > div  {
        width: 100%;
    }
}
.ot_support_payment_info .bank_detail table {
    font-size: 15px;
    width: 100%;
    margin-bottom: 40px;
    border-spacing: 1px;
    border-top: 2px solid #aaa;
    border-bottom: 2px solid #aaa;
}
.ot_support_payment_info .bank_detail table tr {
    background-color: #f8fcf8;
    border-top: 1px solid #c5c5c5;
    border-bottom: 1px solid #c5c5c5;
}
.ot_support_payment_info .bank_detail table tr:nth-child(odd) {
    background-color: #eef1ee;
}
.ot_support_payment_info .bank_detail table th {
    /*border-bottom: 1px solid #85a180;*/
}
.ot_support_payment_info .bank_detail table td {
    font-weight: 400;
}
.ot_support_payment_info .bank_detail table th,
.ot_support_payment_info .bank_detail table td {
    padding: 8px 22px;
} 
@media (max-width: 700px) {
    .ot_support_payment_info .bank_detail table th,
    .ot_support_payment_info .bank_detail table td {
        padding: 8px 10px;
        line-height: 1.5;
    }  
}

/* 言語選択 */
.os_lang_select {
    display: flex;
    justify-content: center;
    margin-top: 25px;
    margin-bottom: 25px;
}
.os_lang_select a {
    display: block;
    margin: 10px;
    padding: 5px 10px;
    font-size: 14px;
    background: transparent;
    border-radius: 100px;
    border: 1px solid #292b2c;
    color: #292b2c;
    text-decoration: none;
    transition: all .2s ease-in-out;
}
.os_lang_select a.os_jp_active,
.os_lang_select a.os_en_active {
    background: #292b2c;
    color: #fff;
}
/*
.os_lang_select a.os_jp_active:hover,
.os_lang_select a.os_en_active:hover {
    background: transparent;
    border: 1px solid #fff;
    color: #fff;
}*/
.os_lang_select a.os_jp_passive:hover,
.os_lang_select a.os_en_passive:hover {
    background: #292b2c;
    color: #fff;
    border: 1px solid #292b2c;
    transition: all .2s ease-in-out;
}

.os_en_option{
    padding: 20px 70px !important;
    font-weight: bold;
    font-size: 18px !important;
}

.os_en_pay{
    margin-bottom: 2rem;
}
.os_lang_select_option{
    margin-top: 10px;
}
.os_h4_option{
    font-size: 18px;
    margin-bottom: 0 !important;
}
.os_credit_option_color{
    color: #41ad5c;
}
.ot_support_payment_info .os_brand_option{
    font-size: 15px;
    margin-top: 10px;
    font-weight: 400;
}

/*　募金お礼メッセージ　　*/
.ot_thankyou_massage_wrap{
    width: 100%;
    margin-top: 3rem;
}
.ot_thankyou_massage_wrap > div{
    padding: 2rem;
    padding-top: 3rem;
    background-color: #171717;
}
.ot_thankyou_massage_main{
    text-align: left;
}
.ot_thankyou_massage_credit{
    text-align: right;
}

/*　大谷晋二郎エイド大会を前コメント　　*/
.ot_massage_wrap{
    width: 100%;
    margin-top: 3rem;
}
.ot_massage_wrap > div{
    padding: 2rem;
    padding-top: 3rem;
    background-color: #171717;
}
.ot_massage_main{
    text-align: left;
}
.ot_massage_credit{
    text-align: right;
}

.ot_under_line{
    display: block;
    width: 100%;
    padding-bottom: 35px;
    margin-bottom: 35px;
    border-bottom: 1px solid #4e4e4e;
}
.ot_massage_main_center{
    display: block;

    width: max-content;
    margin: 0 auto;
}





/* CPSのリストCSS */
/* CPSのリストCSS */
/* CPSのリストCSS */
.cp_cps_wrap p{
    margin: 0;
    padding: 0;

    margin-top: 5px;
}
.cp_contents_title{
    font-weight: bold;
}
.cp_cps_wrap{
    width: 100%;
    max-width: 1020px;

    background: none;

    padding: 30px 0;
    padding-top: 0;
    margin: 0 auto;
}
.cp_cps_wrap > div{
    width: 100%;

    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.cp_cps_wrap > div::after{
    display: block;
    content:"";
    width: 48%;
}
.cp_contents_wrap{
    position: relative;

    width: 330px;
    background: none;
    margin-bottom: 40px;
}
.cp_contents_wrap > div{
    transform: scale(1);
    transition: all 0.5s;
}
.cp_contents_wrap:hover > div{
    transform: scale(0.9);
}
.cp_contents_image{
    width: 100%;
    background: none;

    /* 写真に影付け　*/
    box-shadow: 6px 6px 20px -10px #bfbfbf;
    border-radius: 5px;

    overflow: hidden;
}.cp_contents_text{
    padding: 0 5px;
}
@media (max-width: 1020px) {
    .cp_contents_wrap {
        width: 48%;
        margin-bottom: 20px;
    }
    .cp_cps_wrap p{
        margin-top: 5px;
    }
}

@media (max-width: 680px) {
    .cp_contents_wrap {
        width: 100%;
        margin-bottom: 20px;
    }
    .cp_contents_image{
        height: auto;
    }
    .cp_cps_wrap{
        padding: 30px 20px;
    }
    .cp_cps_wrap p{
        margin-top: 5px;
    }
}

.cp_alink{
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.os_overseas_here_option{
    margin-top: 10px!important;
    padding: 0;
    text-decoration:underline;
    text-decoration-color: white;
    font-size: 14px!important;
    margin-bottom: 0;
    text-align: center;
}

/* インフォメーション */
.information {
    display: flex;
    justify-content: space-around;
    width: 100%;
    max-width: 1050px;
    margin: 0 auto 70px;

}
@media (max-width: 700px) {
    .information {
        flex-direction: column;
    }
}

.information .t_news,
.information .t_blog {
   position: relative;
   width: 48%; 
}
@media (max-width: 700px) {
    .information .t_news,
    .information .t_blog {
        width: 94%;
        margin:  0 auto;  
    } 
}
.information .t_news h1,
.information .t_blog h1 {
    width: 100%;
    padding: 14px 5px;
    text-align: left;
    border-bottom: 1px solid #333333;
}
.information .t_news h1::after,
.information .t_blog h1::after {
    display: none;
}
.information .t_news_list,
.information .t_blog_list {
    padding: 0;
    width: 100%;
}

.information .t_news_list li,
.information .t_blog_list li {
    width: 100%;
    display: flex;
    padding: 10px 5px;
    align-items: center;
}
@media (max-width: 700px) {
    .information .t_news_list li,
    .information .t_blog_list li {
        padding: 15px 5px; 
    }
}
.information .created_at {
    font-size: 13px;
    color: #8c8c8c;
    padding-right: 10px;
}
.information .t_news > a,
.information .t_blog > a {
    position: absolute;
    right: 0;
    bottom: -20px;
    padding: 5px 18px;
    display: inline-block;
    background: #212529;
    color: #fff;
    text-decoration: none;
    transition: all .2s ease-in-out;
    box-sizing: border-box;
}
.information .t_news > a:hover,
.information .t_blog > a:hover {
    color: #212529;
    background-color: transparent;
    border: 1px solid #212529;
}

@media (max-width: 830px) {
 #otani  section#top section#store .horizonal-list {
    flex-direction: column;
 }
 #otani  section#top section#store .horizonal-list li {
     width: 90%;
     margin: 0 auto 20px;
 }
}

section#top section.otani_store li.item {
    border-radius: 0 !important;
}
section#top section.otani_store {
    margin-right: 0;
    margin-bottom: 50px !important;
}

/* フロートリンク */
.float_link {
    display: none;
}
@media (max-width: 700px) {
    .float_link {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 9999;
        width: 100%;
        background: #343a40;
        box-shadow: 0 -8px 10px rgba(0,0,0,.1);
    }
}
.float_link ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}
.float_link ul li {
    width: 100%;
}
.float_link ul li a {
    position: relative;
    text-align: center;
    display: block;
    width: 100%;
    font-size: 16px;
    padding: 15px 0;
    color: #fff;
}
.float_link ul li a::after {
    content: '';
    position: absolute;
    right: 4%;
    top: 50%;
    display: block;
    width: 10px;
    height: 10px;
    background: url(https://cdn.ctpfs.jp/storage/EF8D05056B/image/3710CD5E7173A89296C1A82D1996FF3240BD762DCD9A7D1F8F.png) center / 100% no-repeat;
    transform: translateY(-50%);
}
.float_link ul li:nth-of-type(1) {
    background-color: #41ad5c;

    padding-bottom: env(safe-area-inset-bottom);
}
.float_link ul li:nth-of-type(2) {
    background-color: #41ad5c;
    padding-bottom: env(safe-area-inset-bottom);
}
.float_link ul li:nth-of-type(1) a {
    background-color: #41ad5c;
}
.float_link ul li:nth-of-type(2) a {
    background-color: #41ad5c;
}
.float_link ul li a:hover {
    text-decoration: none;
}

/* top_store */
#otani section#top section#store .item>div>a>img {
    width: 100%;
    height: auto;
    background-color: #fff;
    -o-object-fit: cover;
    position: relative;
    object-fit: cover;
}
#otani section#top section#store .item>div>a>div.item-info {
    border-left: none;
    padding: 0 10px 10px 10px;
    margin-top: 16px;
    margin-left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
}
#otani section#top section#store .item>div>a>div.item-info>div.item-title {
    width: 100%;
    margin-top: 4px;
    font-weight: 700;
    text-align: left;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.5;
}

/* store */
#otani section#store div.store-item {
    flex-direction: column;
    padding: 0;
    margin: 1%;
    width: 31%;
}
@media (max-width: 700px) {
    #otani section#store div.store-item {
        width: 90%; 
        margin: 0 auto 20px;
        border-radius: 0;
    }
}
#otani .tab-content > .active div.item-image {
    width: 100%;
    max-height: 100%;
}
#otani .tab-content > .active div.item-image  > img {
    width: 100%;
    height: auto;
    max-height: 100% !important;
}
#otani .tab-content div.item-info {
    width: 100%;
}
#otani .tab-content div.item-info div.item-title {
    border-left: none;
    width: 100%;
    padding: 0 0 10px;
    margin-top: 16px;
    margin-left: 0;
}
#otani .tab-content div.item-price-container>.item-price {
    padding: 0 10px 10px;
    font-size: 14px;
}

/* news blog ページ */
#otani section#news #news>li, #otani section#blog #blog>li {
    background: transparent;
    border-left: none;
    border-bottom: 1px solid #d2d2d2;
}
#otani section#news #news>li:nth-of-type(1), #otani section#blog #blog>li:nth-of-type(1) {
    border-top: 1px solid #d2d2d2;
}

/* nav */
#otani .navbar {
    padding: 1.5% 0.5rem;
    background-color: transparent !important;
}
.ot_pc_nav_lm {
    margin-left: auto;
}
.ot_pc_nav {
    margin-right: 30px;
}
.ot_pc_nav a {
    color: #292b2c;
    opacity: 1;
    transition: all .2s ease-in-out;
}
.ot_pc_nav a:hover {
    opacity: .7;
    text-decoration: none;
}
@media (max-width: 700px) {
    .ot_pc_nav {
        display: none;
    }
    .navbar .ot_nav {
        margin-left: auto;
    }
}
/* コメントセパレート */
.ot_com_sep {
    display: flex;
}
@media (max-width: 630px) {
    .ot_com_sep {
        flex-direction: column;
    } 
}
.ot_com_sep .ot_sep_img {
    width: 100%;
    max-width: 450px;
}
@media (max-width: 630px) {
    .ot_com_sep .ot_sep_img {
        width: 100%;
        max-width: 100%;
    }
}

.ot_com_sep .ot_sep_img + div {
    padding: 0 20px;
}
.ot_com_sep .ot_sep_img img {
    width: 100%;
    max-width: 630px;
}
@media (max-width: 630px) {
    .ot_com_sep .ot_sep_img + div {
        padding: 0 5%;
    }
    .ot_com_sep .ot_sep_img img {
        display: block;
        width: 80%;
        margin: 0 auto 50px;
    }
}

/* footer */
#otani footer .bg-dark {
    padding-bottom: 50px;
}

.os_tshirt_wrap{
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    padding: 50px 0px;
    border-radius: 8px;
    background: #dfdfdf;
}
.os_tshitt_contents{
    width: 90%;
    background: white;

    margin: 0 auto;
    padding: 15px 25px;
    display: flex;
    justify-content: space-around;
}
.os_tshirt_images{
    width: 50%;
}
.os_tshirt_explain{
    padding: 0 20px;
    display: flex;
    align-items: center;
}
.os_tshirt_explain p{
    width: fit-content;
    background: #292b2c;
    color: white;
    padding: 5px 10px;
}
.os_br_switch{
    display: block;
}
@media (max-width: 600px) {
    .os_tshirt_wrap{
        width: 97%;
        margin: 20px auto;
    }
    .os_tshitt_contents{
        display: block;
    }
    .os_tshirt_images{
        width: 80%;
        margin: 0 auto;
    }
    .os_tshirt_explain{
        padding: 20px 20px;
        padding-bottom: 0;
        margin: 0 auto;
    }
    .os_tshirt_explain div{
        margin: 0 auto;
    }
    .os_tshirt_explain p {
        font-size: 0.8em;
    }
    .os_br_switch{
        display: none;
    }
}
@media (max-width: 520px) {
    .os_tshirt_explain h3{
        font-size: 1.17em;
    }
}
@media (max-width: 400px) {
    .os_tshirt_explain h3{
        font-size: 1em;
    }
}
/* ticket */
.os_ticket_wrap{
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    padding: 50px 0px;
    border-radius: 8px;
    background: #363131;
}
@media (max-width: 600px) {
    .os_ticket_wrap {
        width: 97%;
        margin: 20px auto;  
    }
}
.ticket_bx {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}
@media (max-width: 600px) {
    .ticket_bx {
        flex-direction: column;  
    }
}
.ticket_bx > div {
    width: 44%;
}
@media (max-width: 600px) {
    .ticket_bx > div {
        width: 90%;
        margin-bottom: 30px;
    }
}
.ticket_bx a {
    display: block;
    transition: all .2s ease-in-out;
    opacity: 1;
}
.ticket_bx a:hover {
    opacity: .7; 
}
.ticket_bx a img {
    width: 100%;
}
.ticket_top_title {
    margin-bottom: 20px;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    transform: translateY(-10px);
    line-height: 1.5;
}

/* JOY石井コード *//* JOY石井コード *//* JOY石井コード *//* JOY石井コード */
body#joy .joy_top{
    background: #333 url(https://cdn.ctpfs.jp/storage/EF8D05053D/image/2448B755A67430A691C6AF2A1E91F83547BA712ACA9D7A55B7.jpg) no-repeat;
    background-position: center;
    background-position-y: top;
    background-attachment: fixed;
    height: 100%;
}
body#joy{
    background: #333 url(https://cdn.ctpfs.jp/storage/EF8D05053D/image/EF2ADE94AE6231BCBC99736B567B512088A23B6A9FCD2F53D60A.jpg) no-repeat;
    background-position: center;
    background-position-y: top;
    background-attachment: fixed;
    height: 100%;
}

/* body#joy::after {
    content: '';
    background-color: rgba(0,0,0,.5);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
} */
#key_joy.main-key .header-wrap {
    max-width: none;
    overflow: hidden;
    display: flex;
    justify-content: center;
}
#key_joy.main-key .header-inner {
    position: absolute;
    width: 100%;
    height: auto;
    max-width: 1400px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: -webkit-block;
    display: -moz-block;
    display: -ms-block;
    display: -o-block;
    display: block;
    align-items: center;
}
#key_joy.main-key {
    max-height: 870px;
    height: 780px;
}
/* body#joy .container-fluid{
    background: rgba(0,0,0,0.5);
} */
body#joy.joy_top .container-fluid{
    background: none;
}
body#joy section#store-detail div section.item-image{
    margin-top: 0;
}
body#joy.top_cnt_wrap,
section#top>section.purchased-item,
section#live,
section#news,
section#blog,
section#store,
section#store-detail,
section#profile,
section#purchase,
section#product-detail,
section#purchased-item,
section#purchase-history,
section#mypage,
section#subscription-purchase,
section#subscription-purchase-end,
section#confirm,
section#myinfo,
section#live-list,
section#discography,
section#discography-detail {
    margin: 0 auto 0;
}

/* モーダル */
body#joy .modal-content{
    background:#ffffffd4;
    border: 6px solid rgb(96, 96, 96);
    border-radius: 0;
}
body#joy .modal-header{
    padding: 0.2rem;
    border-bottom: 1px solid rgb(96, 96, 96);
}
body#joy .modal-body{
    padding: 0;
}
body#joy .modal-body li{
    padding: 2% 2%;
}
body#joy img.menu{
    opacity: 1;
    cursor: pointer;
}
body#join.modal-open div li > a:hover{
    text-decoration: none;
}
/* body#joy .modal-body li:hover{
    background: #b5b5b5 ;
} */
body#joy .modal-body div li a:hover{
    color: #9B0000;
    transition: .3s ;
    text-decoration: none;
}
body#joy .modal-body div li > menu:hover{
    text-decoration: none;
}
body#joy .add_joy_nav_wrap li span{
    display: block;
    transform: translateY(3px);
}
body#joy .modal-footer{
    display: none;
}
body#joy .modal-footer a:hover{
    color: #333;
    transition: .4s ;
}
    /* border-top: 1px solid rgb(96, 96, 96);
}
body#joy .modal-footer a{
    color: #333;
    text-decoration: none;
} */
body#joy .modal-footer a:hover{
    color: #9B0000;
    transition: .3s ;
    text-decoration: none;
}

/* ナビゲーション */
body#joy .add_joy_nav_wrap{
    width: 100%;
    /* add_240919 */
    max-width: 83%;
    /* end add_240919 */
}
body#joy .add_joy_nav_wrap ul li a{
    display: block;
}

/* ログイン */
body#joy nav.navbar{
    background-color: rgb(125 125 125 / 50%);
    z-index: 10000;
    background-color: none!important;
    width: 100%;
    height: 75px;
}

body#joy h1.heading{
    margin: 0;
    margin-bottom: 0;
    padding: 9% 0 7% 0;
    color: #fff;
}
body#joy form{
    background: rgba(0,0,0,0.8);
}
body#joy div.mypage-title{
    color: #fff;
}
body#joy section#login form .form-group + div {
   color: #fff;
}
body#joy section#login form .keep-login {
    color: #fff;
}
body#joy form .btn-dark {
    background-color: #9B0000;
    border-color: #9B0000;
    box-shadow: 5px 0 12px rgba(122, 11, 11, 0.22);
    border-radius: 0;
    min-width: 30vw;
}
body#joy form .btn-dark:hover {
    background-color: #750707;
    border-color: #750707;
    box-shadow: 5px 0 12px rgba(122, 11, 11, 0.22);
}
body#joy form > #buttons.d-flex{
    background-color: transparent;
}
body#joy #buttons.d-flex{
    background: rgba(0,0,0,0.8);
}

body#joy section#login form + #buttons .btn-success{
    background-color: #C79F32;
    border-color: #C79F32;
    box-shadow: 5px 0 12px rgba(166, 140, 23, 0.22);
    border-radius: 0;
}
body#joy section#login form + #buttons .btn-success:hover{
    background-color: #967823;
    border-color: #967823;
    box-shadow: 5px 0 12px rgba(166, 140, 23, 0.22);
}
body#joy section#login form + #buttons{
    padding: 0 2% 2%;
    /* padding: 20px; */
}

/* 新規登録 */
body#joy p.sentence{
    color: #fff;
}
body#joy label{
    color: #fff;
}
body#joy div > ul.mypage-item{
    color: #fff;
}


/* ストア */
body#joy div.item-title{
    color: #fff;
}
body#joy section#store-detail div>#item-purchase>.price{
    color: #fff;
    border: 1px solid #fff;
}
body#joy section#purchase div.price{
    color: #fff;
    border: 1px solid #fff;
}
body#joy section#purchase div.store-item{
    padding:100px 20px 0;
}
body#joy section#purchase section.item-purchase {
    padding: 4% 5% 4% 5%;
}
body#joy section#purchase div.store-item div.item-info div.item-year{
    color: #fff;
}
body#joy div.item-info div.item-type{
    color: #fff;
}
body#joy section#store-detail div>#item-info>.item-date{
    color: #fff;
}
body#joy section#store-detail div>#item-info>.item-date, section#store-detail div>#item-info>.item-type {
    color: #333;
    background-color: #fff;
}
/* body#joy section#store-detail div>#item-player:hover, section#product-detail #list>ul>li:hover{
    background-color: #d2d2d2;
} */
body#joy section#purchase #product-list>ul{
    display: none;
}
body#joy section#store-detail div > #item-player{
    display: none;
}
body#joy section#store-detail div>#item-player, section#product-detail #list>ul>li{
    display: none;
}
body#joy .btn-dark{
    color: #fff;
    background-color: #9B0000;
    border-color: #9B0000;
    border-radius: 0;
    transition: .4s;
    box-shadow: 6px 4px 0px rgb(0 0 0 / 30%);
}
body#joy .btn-dark:hover{
    background-color: #750707;
    border-color: #750707;
    border-radius: 0;
    text-decoration: none;
    color: #fff;
    box-shadow: none;
}
body#joy #app #store-detail {
    padding-top: 5%;
    padding-bottom: 5%;
}
body#joy .container-fluid #app section#purchase div.store-item div.item-info div.item-title{
    /* margin-top: 6%; */
}
body#joy .button{
    min-width: 35vw;
    margin-bottom: 5%;
}
	/* body#joy section#store-detail div>#item-info>.item-description,
body#joy section#product-detail #item-info>.item-description {
    margin-bottom: 20px;
    color: #fff;
    padding: 20px;
    background: rgba(0,0,0,.3);
    border-radius: 10px;
}	 */
body#joy section#store-detail div>#item-info>.item-date, section#store-detail div>#item-info>.item-type {
    background-color: #b9a42d;
    color: #fff;
}
/* 商品購入選択時 */
body#joy section#purchase #product-list>ul>li>label {
    color: #000;
}

/* カート */
body#joy section#cart-confirm .cart_tit, body#joy section#purchase-confirm .cart_tit{
    color: #fff;
    margin-top: 9%;
}
body#joy section#cart-confirm .cart_subtit, section#purchase-confirm .cart_subtit{
    background-color: #666666;
    color: #fff;
}
body#joy section#cart-confirm .subtotal p, body#joy section#cart-confirm .total p, body#joy section#purchase-confirm .subtotal p, body#joy section#purchase-confirm .total p{
    color: #fff;
    margin-right: 30px;
}
body#joy section#cart-confirm .to_store a, body#joy section#purchase-confirm .to_store a{
    color: #fff;
}
body#joy section#cart-confirm .confirm button[type=submit], section#purchase-confirm .confirm button[type=submit]{
    color: #fff;
    background-color: #9B0000;
    border-color: #9B0000;
    border-radius: 0;
    transition: .4s;
    box-shadow: 6px 4px 0px rgb(0 0 0 / 30%);
}
body#joy section#cart-confirm .confirm button[type=submit]:hover{
    background-color: #750707;
    border-color: #750707;
    border-radius: 0;
    text-decoration: none;
    color: #fff;
    box-shadow: none;
}

/* 再生ページ */
body#joy section#player .pl_item{
    margin: 5% 0 2%;
}
body#joy section#player .pl_item_box_par {
    border-bottom: 1px solid white;
    padding: 0;
    width: 90%;
    margin: 0 auto;
}
body#joy .pl_box .screen-transition:hover{
    background: none;
}
body#joy section#player .pl_box .pl_switch{
    margin-bottom: 120px;
}
body#joy section#player .a_tit:nth-of-type(2){
    display: none;
}
/* 商品購入履歴 */
body#joy section#purchase-history #purchase-history{
    margin-bottom: 5%;
}
body#joy section#purchase-history #purchase-history>li{
    background: none;
    padding: 12px 35px;
    background-color: rgb(93 93 93 / 60%);
    margin-top:  2%;
    cursor: pointer;
}
body#joly div.item-image, img.profile-image{
    width: 100%;
}
body#joy .purchase-date{
    color: #fff;
}
body#joy .screen-transition div.item-info{
    /* margin-left: 30px; */
    padding: 0;
}
body#joy #purchase-history .item-image{
    width: 10%;
    margin-right: 30px;
}
body#joy .screen-transition .item-info .item-title{
    margin-top: 1%;
}

/* お問い合わせ */
body#joy .add_joy_contact_btn:hover{
    text-decoration: none;
    color: #fff;
    background-color: #967823;
    transition: .4s ;
}
body#joy .form-group{
    color: #fff;
}
body#joy form{
    padding: 20px ;
}
body#joy section#inquiry{
    margin: 0 auto;
}
body#joy div.item-price-container>.item-price{
    color: #fff;
}
body#joy #app #content #inquiry form{
    margin-bottom: 5%;
}
/* フッター */
body#joy footer section div > a:hover{
    color: #C79F32;
    text-decoration: none;
    transition: .3s;
}

/* コンテンツストア -------------------*/
body#joy .justify-content-around{
    display: none;
}
body#joy section#store .select_box{
    display: none;
}
body#joy section#store .select_box select, section#store .search_box input{
    display: none;
}
body#joy section#store .select_box select, section#store .search_box{
    display: none;
}
body#joy .tab-content > .active, .tab-content > .active > div{
    padding-bottom: 5%;
    justify-content: start;
}
body#joy section#store-detail div>#item-info>.item-title{
    text-align: left;
    max-width: 600px;
    margin: 30px auto 0;
}
body#joy .item-type{
    display: none;
}
/* コンテンツストアーアイテム */
body#joy section#store div.store-item{
    background: transparent;
    display: flex;
    flex-direction: column;
    width: 30%;
}
body#joy div.item-info div.item-type{
    display: none;
}
body#joy div.item-info div.item-content{
    display: none;
}
body#joy section#store div.store-item, section#purchased-item div.product-item{
    box-shadow: none;
    margin-bottom: 3%;
    margin: 4% 1.666666666%;
}
body#joy .item-image{
    width: 100%;
}
body#joy section#player .pl_box .pl_button{
    background-color: #9B0000;
    border-color: #9B0000;
    box-shadow: 5px 0 12px rgba(122, 11, 11, 0.22);
    border-radius: 0;
}
body#joy section#player .pl_box .pl_buttona:hover{
    background-color: #750707;
    border-color: #750707;
    border-radius: 0;
    text-decoration: none;
    color: #fff;
    box-shadow: none;
}

/* 文字 */
body#joy div.item-info {
    width: 100%;
}
body#joy .screen-transition .item-title{
    margin-top: 6%;
}
.add_joy_voice_contents{
    /* width: 400px; */
    height: auto;
    background: white;
    margin: 20px 0;
    margin-bottom: 10px;
    cursor: pointer;
}
.add_joy_voice_wrap_flex > div {
    width: 46%;
    cursor: pointer;
}

/* 購入画面 */
body#joy section#purchase-end div.cb_thanks > div:nth-of-type(1){
    color: #fff;
    margin-top: 9%;
}
body#joy section#purchase-end div.cb_thanks > div:nth-of-type(2) {
    color: #fff;
    text-align: center;
}
body#joy section#purchase-end .confirm button[type=submit]{
    background-color: #9B0000;
    border-color: #9B0000;
    box-shadow: 5px 0 12px rgba(122, 11, 11, 0.22);
    border-radius: 0;
}
body#joy section#purchase-end .confirm button[type=submit]:hover{
    background-color: #750707;
    border-color: #750707;
    border-radius: 0;
    text-decoration: none;
    color: #fff;
    box-shadow: none;
}
body#joy section#purchase-end div.cb_thanks {
    margin: 0 auto 0;
}
/* body#joy section#purchase-end div.cb_thanks:nth-of-type(2){
    margin-bottom: 200px;
} */
body#joy section#cart-confirm .cart_box_par, section#purchase-confirm .cart_box_par{
    background: none;
}
body#joy section#cart-confirm .cb_txt1, section#purchase-confirm .cb_txt1{
    /* color: #fff; */
    display: none;
}

body#joy section#cart-confirm .cb_txt2, body#joy section#purchase-confirm .cb_txt2{
    color: #fff;
}
body#joy section#cart-confirm .cb_item3_inner, body#joy section#purchase-confirm .cb_item3_inner{
    color: #fff;
}
body#joy section#cart-confirm .cb_item3_inner p, body#joy section#purchase-confirm .cb_item3_inner p{
    border: 1px solid #fff;
    cursor: pointer;
}
body#joy .screen-transition:hover{
    background-color: #4d4d4d;
}
body#joy section#cart-confirm .cart_subtit, section#purchase-confirm .cart_subtit{
    padding: 2% 5%;
}
/* 決済方法 */
body#joy section#cart-confirm div.how-to-pay-kind, section#purchase-confirm div.how-to-pay-kind:hover{
    background: transparent;
    cursor: pointer;
}
body#joy .how-to-pay-kind .button-image form{
    background: none;
}
/* マイページ ---------------------*/
body#joy section#mypage .mypage-title{
    background-color: #666666;
}
body#joy section#confirm .mypage-title, body#joy section#myinfo .mypage-title{
    background-color: #666666;
    padding: 6px 6px 6px 13px;
}
body#joy section#confirm div.mypage-item, section#myinfo div.mypage-item{
    color: #fff;
}
body#joy #confirm #buttons.d-flex{
    background: none;
    margin-top: 5%;
}
body#joy section#confirm div.mypage-item, section#myinfo div.mypage-item #buttons.d-flex{
    background-color: #00000085;
}
body#joy #mypage{
    padding: 10px 20px;
}
body#joy section#store div.store-item, section#purchased-item div.product-item{
    box-shadow: none;
    margin-bottom: 3%;
    display: flex;
    flex-direction: column;
    width: 30%;
}
body#joy #myinfo form{
    margin-bottom: 5%;
}
/* コンテンツプレイヤー --------------*/
body#joy #product-detail #buttons.d-flex{
    background: none;
}
body#joy section#product-detail #item-info>.item-date, section#product-detail #item-info>.item-type{
    color: #fff;
}
body#joy section#purchased-item div.product-item{
    background: none;
}
body#joy section#purchased-item .tab-content .product-item .item-price-container img{
    display: none;
}
/* パスワード変更申請画面 */
body#joy #apply-pass-reset form{
    background: none;
    width: 60%;
    margin: 0 auto;
}
body#joy section#apply-pass-reset .mypage-title{
    background-color: #666666;
    margin:0 1.5rem 0 1.5rem;
    padding: 0 0 0 1.0rem;
}
body#joy section#apply-pass-reset .col{
    padding: 0;
}
.add_joy_main_visual_background{
    background: url(https://cdn.ctpfs.jp/storage/EF8D05053D/image/2448B755A67430A691C6AF2A1E91F83547BA712ACA9D7A55B7.jpg) no-repeat;
    background-position: center;
    background-position-y: top;
    background-attachment: fixed;
    height: 100%;
    position: fixed;
    width: 100%;
    height: 780px;
    z-index: -10000;
}
/* 購入後画面 */
body#joy .cb_thanks form{
    background: transparent;
}
@media (max-width: 960px) {
    /* メニューモーダル */
    .joy_top  #navbarNavAltMarkup .navbar-nav .nav-item{
        transform: translate(-5px,60px);
    }
    /* メニューモーダル */
    .joy_top  #navbarNavAltMarkup .navbar-nav .nav-item{
        transform: translate(-5px,60px);
        width: 7%;
        margin: 0 0 0 auto;
    }
}
@media (max-width: 740px) {
    /* 文字 */
    body#joy section#store div.store-item{
        background: transparent;
        display: flex;
        flex-direction: column;
        width: 49%;
    }
    body#joy h1.heading{
        padding: 20% 0 12% 0;
    }
    body#joy section#purchase div.store-item{
        padding:  65px 20px 0;
    }
    body#joy section#store div.store-item, section#purchased-item div.product-item{
        width: 40%;
    }
    body#joy section#store div.store-item, section#purchased-item div.product-item{
        margin: 4% 5%;
    }
}
/* メニューモーダル */
    .joy_top  #navbarNavAltMarkup .navbar-nav .nav-item{
        transform: translate(-5px,60px);
        width: 7%;
        margin: 0 0 0 auto;
}
    @media (max-width: 640px) {
        #joy::after{
        /* z-index: -1;
        content: '';
        display: block;
        height: 100vh;
        width: 100vw;
        position: fixed;
        top: 0;
        left: 0;
        background: #333 url(https://cdn.ctpfs.jp/storage/EF8D05053D/image/EF3896076817A4C49A017C6459745E2F87AD346590C2205CD905.png) no-repeat !important;
        background-size: cover;
        background-position-y: top;
    }
    body#joy::after{ */
        z-index: -1;
        content: '';
        display: block;
        height: 100vh;
        width: 100vw;
        position: fixed;
        top: 0;
        left: 0;
        background: #333 url(https://cdn.ctpfs.jp/storage/EF8D05053D/image/483BAB9B384C32A7A8C5AC291D92FB3644B97229C99E7956B4.jpg) no-repeat;
        background-size: cover;
        background-position-y: top;
    }
    .joy_top::after{
        background-image: url(https://cdn.ctpfs.jp/storage/EF8D05053D/image/EF29950DA91B08B3C5CEA7221699F03D4FB27922C295725DBF.jpg) !important;
    }

    
    #key_joy.main-key {
        height: 110vw;
    }

    /* 文字 */
    /* body#joy section#store div.store-item{
        background: transparent;
        display: flex;
        flex-direction: column;
        width: 100%;
    } */
    body#joy h1.heading{
        padding: 20% 0 12% 0;
    }
}
@media (max-width: 480px) {
    #key_joy.main-key {
        height: 135vw;
    }
    #key_joy.main-key .header-inner {
        position: absolute;
        width: 100%;
        height: auto;
        max-width: 1400px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        display: -webkit-block;
        display: -moz-block;
        display: -ms-block;
        display: -o-block;
        display: block;
        align-items: center;
    }
    body#joy section#purchase div.item-image img.profile-image{
        background-color: none;
    }
    /* ストア */
    body#joy .container-fluid #app{
        padding-bottom: 60%;
    }
    body#joy.joy_top .container-fluid > div#app{
        padding: 0;
    }
    /* body#joy #content #app #purchase{
        padding-bottom: 60%;
    } */
    body#joy #app section#purchase div{
        padding-bottom: 2%;
    }
    /* 商品購入履歴 */
    body#joy #purchase-history .item-image{
        width: 30%;
        margin-right: 20px;
    }
    body#joy section#purchase-history #purchase-history>li{
        padding: 20px 25px;

    }
    /* カート */
    body#joy section#cart-confirm .subtotal p, body#joy section#cart-confirm .total p, body#joy section#purchase-confirm .subtotal p, body#joy section#purchase-confirm .total p{
        margin-right: 6px;
    }

    /* 文字 */
    body#joy section#store div.store-item{
        width: 100%;
        margin-bottom: 10%;
    }
    body#joy form .btn-dark {
        background-color: #9B0000;
        border-color: #9B0000;
        box-shadow: 5px 0 12px rgba(122, 11, 11, 0.22);
        border-radius: 0;
        min-width: 50vw;
    }
    /* コンテンツプレイヤー */
    body#joy section#store div.store-item, section#purchased-item div.product-item{
        width: 100%;
    }
    /* パスワード変更申請画面 */
    body#joy section#apply-pass-reset .mypage-title{
        margin: 0;
    }
    body#joy #apply-pass-reset form{
        background: none;
        width: 100%;
        margin: 0 auto;
    }
    body#joy section#apply-pass-reset .myinfo-item{
        margin-top: 1.3rem;
        padding: 0;
    }
    body#joy #navbarNavAltMarkup .navbar-nav img{
        width: 100%;
    }
    /* メニューモーダル */
    .joy_top  #navbarNavAltMarkup .navbar-nav .nav-item{
    transform: translate(-5px,60px);
    width: 12%;
    margin: 0 0 0 auto;
    }

}

.add_joy_main_visual_background{
    background: url(https://cdn.ctpfs.jp/storage/EF8D05053D/image/2448B755A67430A691C6AF2A1E91F83547BA712ACA9D7A55B7.jpg) no-repeat;
    background-position: center;
    background-position-y: top;
    background-attachment: fixed;
    height: 100%;
    position: fixed;
    width: 100%;
    height: 780px;
    z-index: -10000;
}
.add_joy_main_visual_option{
    display: none;
}
@media (max-width: 640px) {
    .add_joy_main_visual_background{
        background: none;
        background-position: center;
        background-position-y: top;
        background-attachment: fixed;
        height: 100%;
        background-size: contain;
    }
    .add_joy_main_visual_option{
        display: block;
        max-width: none;
        width: 100%;
        height: auto;
        position: fixed;
        z-index: -1;
    }
}

.add_joy_logo_wrap{
    margin: 0 auto;
    margin-bottom: 70px;
}
.add_joy_logo{
    width: 25%;
    margin: 0 auto;
    margin-bottom: 15px;
    display: block;
}
.add_joy_logo_under{
    width: 350px;
    margin: 0 auto;
    display: block;
}
@media (max-width: 960px) {
    .add_joy_logo_wrap{
        margin-top: 275px;
    }
    body#joy.joy_top nav.navbar{
        z-index: 10000;
        position: fixed!important;
        background-color: transparent;
        width: 100%;
    }
}
@media (max-width: 640px) {
    .add_joy_logo_wrap{
        margin-top: 50%;
        width: 80%;
    }
    .add_joy_logo{
        width: 80%;
    }
    .add_joy_logo_under{
        width: 60%;
    }
}

.add_joy_nav_wrap{
    width: 100%;

    margin: 0 auto;

    background-color: #666666;
}
.add_joy_nav_wrap ul{
    display: flex;
    justify-content: center;
    font-family: "alegreya-sans-sc";
    list-style: none;
    flex-wrap: wrap;
    padding: 0;
    margin-top: 16%;
}
.add_joy_nav_wrap ul li{
    color: white;
    border-bottom: 5px solid #666666;
    font-size: 0.9em;
}

.add_joy_nav_wrap ul li:hover{
    border-bottom: 5px solid #2d2d2d;
    text-decoration: none;
    color: #000000;
}

.add_joy_nav_wrap ul li a:hover{
    color: #000000;
}
/* .add_joy_nav_wrap ul li a{
    display: block;
    padding: 30px 30px;
} */
 .add_joy_nav_wrap ul a{
    text-decoration: none;
    padding: 18px 15px;
}

@media (max-width: 960px) {
    .add_joy_nav_wrap{
        display: none;
    }
}
.add_joy_sign_wrap{
    width: fit-content;
    display: flex;
    margin-left: auto;  
    margin-top: 60px;
    margin-bottom: 50px;  
    margin-right: 15px;
}
 /* add_240919 */
@media (max-width: 640px) {
    .add_joy_sign_wrap {
        margin: 50px 15px 0 auto;
        flex-direction: column-reverse;
        gap: 10px;
        align-items: end;
    }
}
 /* end add_240919 */

.add_joy_login_btn, .add_joy_sign_btn, .add_joy_mypages_btn{
    padding: 20px 20px;
}
.add_joy_login_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #B2B2B2;
    width: 80px;
    height: 80px;
}
.add_joy_sign_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #9B0000;
    width: 80px;
    height: 80px;
    margin-left: 15px;
}
.add_joy_mypages_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #C79F32;
    width: 80px;
    height: 80px;
}
.add_joy_menu_btn{		
    margin-left: 15px;		
    display: flex;		
    justify-content: center;		
    align-items: center;		
    border: 2px solid #fff;		
    width: 80px;		
    height: 80px;		
    padding: 17px 17px;	
}
 /* add_240919 */
@media (max-width: 640px) {
    .add_joy_login_btn {
        width: 55px;
        height: 55px;
        padding: 7px 7px;
    }
    .add_joy_sign_btn{
        width: 55px;
        height: 55px;
        padding: 7px 9px;
    }
    .add_joy_mypages_btn{
        width: 55px;
        height: 55px;
        padding: 7px 9px;
    }
    .add_joy_mypages_btn>img {
        width: 98%;
    }
    .add_joy_menu_btn{
        margin-left: 0px;
        width: 55px;
        height: 55px;
        padding: 7px 7px;
    }
}
 /* end add_240919 */

.add_joy_login_btn img, .add_joy_sign_btn img{
    width: 80%;
}




/* ご利用者の声 */

.joy_guest-voice_wrap{
    max-width: 1160px;
    padding: 0 20px;
    margin: 6% auto 0 auto;
}

.joy_guest-voice_title{
    font-size: 24px;
    color: #fff;
    text-align: center;
    margin-bottom: 15px;
}

.joy_guest-voice_list{
    display: flex;
    flex-wrap : wrap;
    justify-content:space-evenly;
    padding: 0 29px 36px 29px;
    background-color: #a1a1a1db;
    border-radius: 6px;
    margin-bottom: 6%;
}

.joy_guest-voice_item{
    background-color: #dbdbdb;
    width: 23%;
    padding: 16px 16px 5px 16px;
    border-radius: 13px;
    margin-top: 3%;
}

.joy_guest-voice_age{
    font-size: 14px;
    font-weight: 700;
    border-bottom: solid 2px #9B0000;
    margin-bottom: 15px;
    color: #313131;
}

.joy_guest-voice_txt{
    font-size: 14px;
    color: #313131;
}





.add_joy_main_text_wrap{
    width: 100%;
    margin: 0 auto;

    background: none;
}
.add_joy_main_text_inwrap{
    width: 100%;
    max-width: 920px;
    padding: 0 30px;
    padding-top: 70px;
    margin: 140px auto;
    margin-top: 0;
    background: none;
    color: white;
    text-align: left;
}
.add_joy_main{
    background: rgb(0 0 0 / 85%);
}

@media (max-width: 640px) {
    .add_joy_main_text_inwrap{
        padding-top: 60px;
    }
    .add_joy_main{
        background: rgb(0 0 0 / 85%);
    }
}

    /* ご利用者の声 */
@media (max-width: 940px) {
.joy_guest-voice_wrap{
    margin: 25% auto 0 auto;
}

.joy_guest-voice_title{
    font-size: 24px;
    color: #fff;
    text-align: center;
    margin-bottom: 13px;
}

.joy_guest-voice_list{
    padding: 29px 29px 36px 29px;
    background-color: #a1a1a1a8;
    border-radius: 6px;
}

.joy_guest-voice_item{
    width: 100%;
    margin-top: 5%;
}

}

    .add_joy_main_text_inwrap:nth-child(1){
        margin-top: 0;
        margin-bottom: 40px;
    }

.add_joy_main_text_top_inwrap {
    margin-bottom: 0;
}

.add_joy_main_text{
    text-align: left;
    padding: 15px 10px;
    margin-bottom: 0;
}
.add_joy_main_text_border {
    border-bottom: 1px solid #9b0000;
}
.add_joy_center {
    text-align: center;
}
.add_joy_left {
    text-align: left;
}
.add_joy_main_bg {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3;
}
.add_joy_main_explain{
    text-align: left;
    line-height: 3em;
}

.add_joy_voice_wrap{
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    background: none;
    margin-bottom: 100px;
    padding: 0 20px;
}
.joy_top .add_joy_voice_wrap {
    max-width: 920px;
}
.add_joy_voice_inwrap h2{
    color: white;
    font-size: 2em;
    padding-bottom: 15px;
    border-bottom: 2px #9B0000 solid;
}
.add_joy_voice_wrap_flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    color: white;
}
.add_joy_voice_wrap_flex::after{
    content:"";
    display: block;
    width:30%;
  }
.add_joy_voice_contents{
    /* width: 350px; */
    height: auto;
    background: white;
    margin: 20px 0;
    margin-bottom: 10px;
}
@media (max-width: 1090px) {
    .add_joy_voice_contents{
        /* width: 450px; */
        height: auto;
        background: white;
        margin: 20px 0;
        margin-bottom: 10px;
    }
    .add_joy_voice_wrap_flex > div {
        width: 30%;
    }
    
}
@media (max-width: 940px) {
    .add_joy_voice_contents{
        /* width: 400px; */
        height: auto;
        background: white;
        margin: 20px 0;
        margin-bottom: 10px;
    }
    .add_joy_voice_wrap_flex > div {
        width: 30%;
    }
}
@media (max-width: 840px) {
    .add_joy_voice_contents{
        /* width: 350px; */
        height: auto;
        background: white;
        margin: 20px 0;
        margin-bottom: 10px;
    }
    .add_joy_voice_wrap_flex > div {
        width: 48%;
    }
    body#joy .tab-content > .active, .tab-content > .active > div{
        justify-content: start;
    }
}
@media (max-width: 480px) {
    /* フッターとの距離 */
    .add_joy_voice_contents{
        /* width: 100%; */
        height: auto;
        background: white;
        margin: 20px 0;
        margin-bottom: 10px;
    }
    /* ストアボタン */	
    body#joy .button{	
        min-width: 60vw;	
        min-height: 6vh;	
        margin: 0;	
    }
    .add_joy_voice_wrap_flex > div {
        width: 100%;
    }
    /* メニューモーダル */	
    .joy_top #navbarNavAltMarkup .navbar-nav .nav_cart {	
        display: none;	
    }	
    }

.add_joy_voice_wrap_flex > div > p{
    color: white;
    cursor: pointer;
}
.add_joy_voice_top_wrap {
    margin-bottom: 0;
}
.add_joy_main_text_lineup ul {
    padding-left: 60px;
    list-style: none;
}
@media (max-width: 740px) {
    .add_joy_main_text_lineup ul {
        padding-left: 20px;
    } 
}
.add_joy_main_text_lineup li {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
}
.add_joy_main_text_lineup span:nth-of-type(2),
.add_joy_main_text_lineup span:nth-of-type(4) {
    display: block;
    padding-left: 60px;
}
@media (max-width: 740px) {
    .add_joy_main_text_lineup span:nth-of-type(2),
    .add_joy_main_text_lineup span:nth-of-type(4) {
        display: block;
        padding-left: 20px;
    }  
}
.add_joy_main_text .out_text_margin {
    display: block;
    padding-left: 30px;
    margin-bottom: 20px;
}

.joy_top .add_joy_main {
    background: rgba(0,0,0,0.78);
}

.sec-contact-blc_joy {
    background: url("https://cdn.ctpfs.jp/storage/EF8D05053D/image/EF4EA3367574AA9F92D87A625F72582981AB326396C4265ADF03.png") no-repeat center/cover;
    padding: 5% 0;
    color: white;
}
#joy footer{
    margin-top: 0;
    background: #333333;
}
#joy footer section{
    margin-top: 0;
    background: #333333;
}
#joy .bg-dark{
    background: #333333!important;
}

@media (max-width: 740px) {
    .sec-contact-blc_joy {
        background: #000000 url("https://cdn.ctpfs.jp/storage/EF8D05053D/image/EF38C72A67D76AAFDAD1736B567B512088A23B6A9FCD2F53D60A.png") no-repeat center/cover;
        padding: 20% 20px;
    }
    #joy footer{
        margin-top: 0;
        background: #333333;
    }
    #joy footer section{
        margin-top: 0;
    }
    body#joy section#store div.store-item, section#purchased-item div.product-item{
        margin: 7% 5%;
    }
}
.add_joy_contact_wrap{
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    text-align: center;
}
.add_joy_contact_title{
    width: 40%;
    font-size: 2em;
    padding-bottom: 15px;
    margin: 0 auto;
    border-bottom: 2px #9B0000 solid;
}
.add_joy_contact_text{
    line-height: 2em;
    margin-top: 50px;
    margin-bottom: 50px;
    font-size: 1.1em;
}
.add_joy_contact_btn{
    background-color: #C79F32;
    padding: 15px 90px;
    box-shadow: 6px 6px 4px 0px rgb(0 0 0 / 30%);
    transition: 0.2s ease;
}
.add_joy_contact_btn:hover{
    box-shadow: 0px 0px 0px 0px rgb(0 0 0 / 30%);
}

body.joy_top nav.navbar{
    display: none;
}
/* @media (max-width: 960px) {
    body.joy_top nav.navbar{
        display: block;
    }
} */

/* body#joy nav.navbar{
    z-index: 10000;
    position: fixed!important;
    background-color: none!important;
    width: 100%;
} */
body.joy_top li.nav-item a{
    display: none;
}
body#joy .navbar .humb-nav span::before{
    background: #FFFFFF;
}
body#joy .navbar .humb-nav span::after{
    background: #FFFFFF;
}
body#joy .navbar .humb-nav span::before{
    background: #FFFFFF;
}
body#joy .navbar .humb-nav span{
    background: #FFFFFF;
}

#joy .m_tit{
    color: white;
}
#joy .pl_item{
    color :white;
}
body#joy .m_video{
    margin-top: 0px;
    padding-top: 5%;
}

/* body#joy .container-fluid::before {
    content: "";
    width: 100%;
    height: 85%;
    position: fixed;
    background: url(https://cdn.ctpfs.jp/storage/EF8D05053D/image/2448B755A67430A691C6AF2A1E91F83547BA712ACA9D7A55B7.jpg) no-repeat;
    background-position: center;
    background-position-y: inherit;
    background-size: cover;
    z-index: -1;
} */
body#joy section#purchased-item div.product-empty .message {
    color: #fff;
}
body#joy section#purchased-item div.product-empty {
    margin: 24px auto;
}

@media (max-width: 740px) {
    .add_joy_main_text_title {
        font-size: 20px;
        line-height: 1.5 !important;
        display: block;
        color: #313131;
        background: #f7f7f7;
        padding: 10px 3%;
    }
    .add_joy_rect {
        display: none;
    }
}
/* メニューモーダル */
.joy_top #navbarNavAltMarkup .navbar-nav .nav_cart {
    display: none;
}
body#joy .nav_cart {
    display: flex;
    align-items: center;
    margin-right: 1.5rem;
}
body#joy .nav_cart a {
    display: flex;
    align-items: center;
    width: 35px;
    height: 35px;
}
body#joy .nav_cart a img {
    width: 100%;
}

/* 購入完了 */
body#joy section#purchase-end div.cb_thanks #credit {
    display: none;
}
body#joy section#purchase-end div.cb_thanks #credit,
body#joy section#purchase-end div.cb_thanks #credit + div {
    display: none;
}
body#joy section#purchase-end > div:last-child {
    margin-bottom: 100px;
}
section#purchase-end div.cb_thanks {
    margin-top: 10px;
    padding-top: 10px;
}
body#joy section#login form .keep-login {
    display: block;
}
/* TOP購入関連リンク */
.add_joy_voice_wrap .add_joy_purchased,
.add_joy_main_text_wrap .add_joy_purchased {
    margin: 0 auto 30px;
    display: block;
    padding: 23px 0;
    width: 100%;
    max-width: 400px;
    font-size: 18px;
    color: #fff;
    background-color: #025bfe;
    text-align: center;
    border-radius: 10px;
    border: 3px solid #fff;
}
.add_joy_voice_wrap_flex .add_joy_buy_link {
    margin-left: auto;
    display: block;
    color: #fff;
    background-color: #e50012;
    padding: 5px 8px;
    max-width: 180px;
    text-align: center;
}

/* joyパスワード変更完了画面 */
body#joy #apply-pass-reset-end .mail-send > div {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    text-align: center;
    display: inline-block;
    margin: 0 auto;
    text-align: left;
}
body#joy #apply-pass-reset-end .mail-send > div::after {
    content: 'メールに記載のURLからパスワードをリセットしていただけます。';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(100%);
}
body#joy section#store-detail div>#item-info>.item-date ,body#joy .item-year {
    display: none;
}

.ot_comment_line_span{
    width: 100%;
    display: block;
    border-bottom: 2px solid #ddd;
    margin: 30px 0;
}

.male_btn_wrap{
    margin-bottom: 40px;
    width: 100%;
    max-width: 1050px;
    padding: 50px;
    border-radius: 8px;
    margin: 0 auto;
    box-shadow: 0 0 15px rgb(0 0 0 / 20%);
}
.male_btn_wrap .ot_mail_title{
    font-weight: bold;
    font-size: 1.1em;
    text-align: center;
}
.male_btn_wrap .ot_mail_btn{
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 30px;
    margin: 0 auto;
    background: #36b447;
    border-radius: 50px;
    border: 5px solid #16a028;
}
.male_btn_wrap .ot_mail_btn p{
    margin: 0;
    font-weight: bold;
    font-size: 1.1em;
    color: white;
}

.grecaptcha-badge { visibility: hidden; }

/* CONTACT ol li */
ol.cnt_c_one,ol.cnt_c_two {
    margin-left: 25px;
    padding-left: 0;
}
ol.cnt_c_one li,
ol.cnt_c_two li {
	list-style-type: none;
    counter-increment: cnt;
    margin-left: 1.4em;
	text-indent: -1.5em;
}
ol.cnt_c_two li {
    counter-increment: cnt2;
}

ol li::before {
    content: "（" counter(cnt) "）";
    display:inline-block;
}

ol.cnt_c_two li::before {
    content: "【" counter(cnt2) "】";
    display:inline-block;
}




/* mensmake*/
section#top.mensmake > section{
    max-width: 1200px;
}
section#top.mensmake > section.profile{
    margin: 0 auto;
}
section#top.mensmake > section.profile > .button{
    width: 100%;
}
section#top.mensmake > section#profile .content {
    font-size: 1.15em;
    font-weight: bold;
}
section#top.mensmake > section.purchased-item .button{
    width: 100%;
}
section#top.mensmake > section.purchased-item .button::before{
    left: 25px;
}
nav.mensmake-nav ~ section#content > #app section.profile-image{
    display: none;
}
nav.mensmake-nav ~ section#content > #app section#top.mensmake section.profile-image{
    display: block;
}
.cps-pc{
    display: block;
}
.cps-sp{
    display: none;
}
@media (max-width: 1080px) {
    section#top.mensmake > section.profile{
        padding-left: 4%;
        padding-right: 4%;
    }
}
@media (max-width: 830px) {
    .cps-pc{
    display: none;
    }
    .cps-sp{
        display: block;
    }
}

/* 滝さゆり */
.navbar-expand .navbar-nav .sayuri_taki_logo_link{
    padding: 0;
}
.navbar-light .navbar-nav .logo .nav-link img.sayuri_taki_logo{
    max-width:200px;
}
@media (max-width: 600px) {
.navbar-light .navbar-nav .logo .nav-link img.sayuri_taki_logo{
    max-width:150px;
}
#store .top-sec-title .heading img.sayuri_ec_ttl{
    max-height: 25px !important;
}

.sayuri_ttl{
    max-height: 30px !important;
}
}