@charset "UTF-8";

/*===============================================
    
=================================================*/
.ancPoint{
    position: relative;
}
.ancPoint span{
    position: absolute;
    top:0;
}
.ancPoint span#anc01{
    top:-180px;
}
.ancPoint span#anc05{
    top:150px;
}
.ancPoint span#anc06{
    top:-50px;
}

/* SP-max-769 */
@media screen and (max-width: 769px){
.ancPoint span#anc01{
    top: -80px;
}
.ancPoint span#anc05{
    top:0;
}
.ancPoint span#anc06{
    top:-50px;
}
}

/*===============================================
    BG
=================================================*/
.bgBox{

}
.bgBox .bg{
    position: fixed;
    width: 50%;
    height: 100%;
}
.bgBox .bg1{
    top: 0;
    left: 0;
    background: #DDD;
    background-image: url(/static/sbr/fanclub/feature/subaru_to/images/bg_wood.jpg);
    background-size: cover;
    background-position: right top;
}
.bgBox .bg2{
    width: 100%;
    top: 0;
    left: 0;
    background-image: url(/static/sbr/fanclub/feature/subaru_to/images/bg_r.jpg);
    background-size: cover;
    background-position: left top;
    transition: 0.7s ease;
    clip-path: inset(0 0 0 0);
}
.point02 .bgBox .bg2,
.point03 .bgBox .bg2,
.point04 .bgBox .bg2{
    clip-path: inset(0 0 0 0);
}
.bgBox .bg3{
    opacity: 0;
    width: 100%;
    top: 0;
    right: 0;
    background-image: url(/static/sbr/fanclub/feature/subaru_to/images/bg_wood_.jpg);
    background-position: center;
    background-size: cover;
    transition: 0.5s ease;
}
.point03 .bgBox .bg3,
.point04 .bgBox .bg3{
    opacity: 1;
}

.attachment{
    display: block;
    width: 100%;
    height: auto;
    position: relative;
}
.attachment .clip{
    clip-path: inset(0 0 0 0);

}
.attachment .clip .bg4{
    position: fixed;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    left: 0;
    top: 0;
    pointer-events: none;
}
.attachment .clip .bg4 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* SP-max-769 */
@media screen and (max-width: 770px) {
.bgBox .bg1{
    width: 100%;
    height: 50%;
}
.bgBox .bg2 {
    width: 100%;
    height: 100%;
    top: 0;
    clip-path: inset(0 0 0 0);
}

.headerFix .bgBox .bg2,
.point02 .bgBox .bg2, 
.point03 .bgBox .bg2, 
.point04 .bgBox .bg2 {
    clip-path: inset(0 0 0 0);
}
}


/*===============================================
    visual
=================================================*/
.visual {
    margin-bottom: 100px;
}

/*===============================================
    bnr
=================================================*/
.bnrBox{
    padding: 0 60px 220px;
}
.bnrBox .contentBox{
    background: transparent;
    padding: 0;
    max-width: 600px;
}
.swiper-pagination-bullet-active {
    background: #000;
}
/* SP-max-769 */
@media screen and (max-width: 770px) {
.bnrBox {
    padding: 0 30px 120px;
}
}


/*===============================================
    about
=================================================*/
.aboutBox{
    padding: 140px 60px 140px;
    background: #FFF;
    box-shadow: 0 0 15px -5px rgba(0, 0, 0, 0.4);
    max-width: calc(100% - 120px);
    margin: 100px auto 0;
}
.aboutBox .contentBox{
    background: transparent;
    padding: 0 60px;
}
.aboutBox .titBox{
    text-align: center;
    margin-bottom: 60px;;
}
.aboutBox .titBox h2{
    font-size: 800%;
}
.aboutBox .aboutLead{

}
.aboutBox .aboutLead li{
    margin-bottom: 40px;
    line-height: 1.8em;
    font-size: 110%;
}
.aboutBox .aboutLead li:last-child{
    margin-bottom:0;
}

/* SP-max-769 */
@media screen and (max-width: 770px) {
.aboutBox {
    padding: 60px 30px 50px;
    margin-top: 60px;
    max-width: calc(100% - 40px);
}
.aboutBox .contentBox {
    padding: 0;
}
.aboutBox .titBox {
    margin-bottom: 30px;
}
.aboutBox .titBox h2 {
    font-size: 360%;
}
.aboutBox .aboutLead li {
    margin-bottom: 20px;
}
.aboutBox .aboutLead li:last-child {
    margin-bottom: 0;
}
}

/*===============================================
    NEWS
=================================================*/
.newsBox{
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 0 15px -5px rgba(0, 0, 0, 0.2);
    padding: 100px 60px 80px;
}
.newsBox .titBox{
    text-align: center;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}
.newsBox .titBox h2{
    font-size: 800%;
}

.newsBox .contentBox{
    padding: 0 60px;
    background: transparent;
}
/* SP-max-769 */
@media screen and (max-width: 770px) {
.newsBox {
    padding: 100px 30px 80px;
}
.newsBox .contentBox {
    padding: 0;
}
.newsBox .titBox h2 {
    font-size: 400%;
}
.newsBox {
    padding: 60px 20px 40px;
}
}

/*===============================================
    schedule
=================================================*/
.scheduleBox{
    padding: 200px 60px 140px;
}
.scheduleBox .contentBox{
    background: transparent;
    padding: 0 60px;
}
.scheduleBox .titBox{
    text-align: center;
    margin-bottom: 100px;
}
.scheduleBox .titBox h2{
    font-size: 800%;
}
.scheduleBox .titBox h3{

}
.scheduleBox .op_schedule .scheduleCellList.cellHead .txt {
    font-size: 140%;
    font-family: "Jost", sans-serif;
    font-weight: 700;
}
.scheduleBox .op_schedule .scheduleCellList .scheduleDate .performance {
    display: block;
    font-size: 50%;
    background: #413935;
    min-width: 50px;
    width: 40%;
    color: #FFF;
    text-align: center;
    border-radius: 100px;
    margin: 5px 0 0 0;
    line-height: 1em;
    padding: 4px 0 2px;
    font-weight: 400;
}
.scheduleBox .op_schedule .scheduleCellList .scheduleDate .few {
    display: block;
    font-size: 50%;
    background: #ffd531;
    min-width: 75px;
    width: 40%;
    color: #000000;
    text-align: center;
    border-radius: 100px;
    margin: 5px 0 0 0;
    line-height: 1em;
    padding: 4px 0 2px;
    font-weight: 600;
}
/* SP-max-769 */
@media screen and (max-width: 770px) {
.scheduleBox {
    padding: 60px 30px 50px;
}
.scheduleBox .contentBox {
    padding: 0;
}
.scheduleBox .titBox {
    margin-bottom: 40px;
}
.scheduleBox .titBox h2 {
    font-size: 360%;
}
.scheduleBox .op_schedule .scheduleCellList .scheduleDate .performance {
    display: inline-block;
    font-size: 52%;
    margin: 0 0 0 5px;
    padding: 5px 10px 4px;
    vertical-align: 4px;
    width: auto;
}
.scheduleBox .op_schedule .scheduleCellList .scheduleDate .few {
    display: inline-block;
    font-size: 52%;
    margin: 0 0 0 5px;
    padding: 5px 10px 4px;
    vertical-align: 4px;
    width: auto;
}
}
/*===============================================
    ticketBox
=================================================*/
.ticketBox{
    padding: 60px 60px 200px;
}
.ticketBox .contentBox{
    background: transparent;
    padding: 0 60px;
}

.ticketBox .intro{
    position: relative;
    padding: 40px;
    margin-bottom: 180px;
}
.ticketBox .intro .corner{

}
.ticketBox .intro .corner li{
    position: absolute;
    width: 60px;
}
.ticketBox .intro .corner li:nth-child(1){
    top: 0;
    left: 0;
}
.ticketBox .intro .corner li:nth-child(2){
    top: 0;
    right: 0;
    transform: scalex(-1);
}
.ticketBox .intro .corner li:nth-child(3){
    bottom: 0;
    right: 0;
    transform: scale(-1);
}
.ticketBox .intro .corner li:nth-child(4){
    bottom: 0;
    left: 0;
    transform: scaleY(-1);
}
.ticketBox .titBox{
    text-align: center;
    margin-bottom: 40px;
}
.ticketBox .titBox h2{
    font-size: 800%;
}
.ticketBox .titBox h3{

}

.ticketBox .ticketDetail{

}
.ticketBox .ticketDetail .price{
    text-align: center;
    font-size: 220%;
    font-weight: 600;
    margin: 0 0 30px;
}
.ticketBox .ticketDetail .price span{
    font-size: 70%;
}
.ticketBox .ticketDetail .sheets{
    text-align: center;
    font-size: 140%;
    font-weight: 600;
    margin-bottom: 40px;
}
.ticketBox .ticketDetail .cautionList {
    max-width: 540px;
    margin: 0 auto 60px;
}
.ticketBox .ticketDetail .btn{
    text-align: center;
}
.ticketBox .ticketDetail .ghostBtn{
    border: 2px solid #413935;
    color: #413935;
    font-size: 90%;
    padding: 20px 40px;
    font-weight: 600;
}
.ticketBox .op_ticket{
    display: flex;
    justify-content: space-between;
}

.ticketBox .op_ticket:has(> :nth-child(1):last-child){
    display: block;
}

.ticketBox .op_ticket .ticketClm{
    width: calc(50% - 10px);
}
.ticketBox .op_ticket:has(> :nth-child(1):last-child) .ticketClm{
    width: 100%;
}

.ticketBox .op_ticket .tikcetTit{
    background: #413935;
    color: #FFF;
    padding: 40px;
    font-size: 140%;
}
.ticketBox .op_ticket .tikcetTit span {
    right: 40px;
}
.ticketBox .op_ticket .tikcetDetail {
    background: #4d4540;
    color: #FFF;
}
.ticketBox .op_ticket .end .tikcetTit:after{
    font-size: 55%;
    background: #fba432;
    padding: 5px 12px 4px;
    vertical-align: 2px;
    display: inline-block;
    margin: 0;
    position: relative;
    top: auto;
    left: auto;
    transform: none;
}
.ticketBox .op_ticket .ticketList {
    border-radius: 40px;
    overflow: hidden;
    margin-bottom: 20px;
}
.ticketBox .op_ticket .detailList{
    border-bottom: 1px dashed #0e0e0e;
}
.ticketBox .op_ticket .detailList:last-of-type{
    margin: 0 0 40px;
}
.ticketBox .tikcetDetail .btn{
    text-align: center;
}
.ticketBox .tikcetDetail .btn a{
    background: #fba432;
    color: #000;
}
.ticketBox .end .tikcetDetail .btn a{
    background: #acacac;
    color: #6d6d6d;
}
.ticketBox .tikcetDetail .btn.soon a{
    background: #acacac;
    color: #6d6d6d;
    pointer-events: none;
}
/* PC-min-770 */
@media screen and (min-width: 770px) {
    .op_ticket .tikcetTit:hover {
        background: #282524;
    }
}
/* SP-max-769 */
@media screen and (max-width: 770px) {

.ticketBox {
    padding: 30px 30px 30px;
}
.ticketBox .intro {
    padding: 30px 10px;
    margin-bottom: 60px;
}
.ticketBox .intro .corner {
    line-height: 0;
    margin: 0;
}
.ticketBox .intro .corner li {
    width: 30px;
}
.ticketBox .contentBox {
    padding: 0;
}
.ticketBox .titBox {
    margin-bottom: 20px;
}
.ticketBox .titBox h2 {
    font-size: 400%;
}
.ticketBox .ticketDetail .price {
    font-size: 140%;
    margin: 0 0 20px;
}
.ticketBox .ticketDetail .sheets {
    text-align: center;
    font-size: 100%;
    font-weight: 600;
    margin-bottom: 20px;
}
.ticketBox .ticketDetail .cautionList {
    margin: 0 auto 20px;
}
.ticketBox .ticketDetail .ghostBtn {
    padding: 10px 40px;
    line-height: 1.4;
}
.ticketBox .op_ticket {
    display: block;
}
.ticketBox .op_ticket .ticketClm {
    width: 100%;
    margin-bottom: 20px;
}
.ticketBox .op_ticket .ticketClm:last-child{
    margin-bottom: 0;
}
.ticketBox .op_ticket .detailList:last-of-type {
    margin: 0 0 20px;
}
.op_ticket .ticketList:last-child {
    margin: 0;
}
.ticketBox .op_ticket .tikcetTit {
    padding: 30px 60px 30px 30px;
    font-size: 130%;
}
}

/*===============================================
    goodsBox
=================================================*/
.goodsBox{
    background: #4d4540;
    padding: 200px 60px;
}
.goodsBox .contentBox{
    padding: 0 60px;
    background: transparent;
}
.goodsBox .titBox{
    text-align: center;
    margin-bottom: 0;
    color: #FFF;
    position: absolute;
    writing-mode: vertical-rl;
}
.goodsBox .titBox h2{
    font-size: 1000%;
    line-height: 0.7em;
    margin: 0;
    color: #fba432;
}
.goodsBox .titBox h3{

}

.goodsBox .contentInner{
    position: relative;
}
.goodsBox .listinner{
    padding: 0 0 0 200px;
}
.goodsBox .venueSales{
    border-radius: 20px;
    overflow: hidden;
}
.goodsBox .accordionList .accordionTit{
    font-size: 110%;
    background: #fba432;
}
.goodsBox .venueSales .accordionDetail{
    background: #FFF;
}
.goodsBox .salesDetail{
    background: #fafafa;
    padding: 40px;
    margin-bottom: 40px;
}
.goodsBox .salesDetail .date{
    font-size: 120%;
    font-weight: 600;
    border-left: 5px solid;
    padding: 0 0 0 10px;
    margin: 0 0 20px;
}

.goodsBox .salesDetail .typeBlock{
    margin-bottom: 25px;
    border-bottom: 1px dashed #aaa;
    padding-bottom: 20px;
}
.goodsBox .salesDetail .typeBlock:last-child{
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}
.goodsBox .salesDetail .type{
    display: inline-block;
    background: #000;
    color: #FFF;
    padding: 4px 20px;
    margin-bottom: 20px;
    font-weight: 600
}
.goodsBox .venueSalesList{

}
.goodsBox .venueSalesList dt{
    font-size: 120%;
    font-weight: 600;
    border-left: 5px solid;
    padding: 0 0 0 10px;
    margin: 0 0 20px;
}
.goodsBox .venueSalesList dd{
    display: flex;
    margin-bottom: 10px;
}
.goodsBox .venueSalesList dd:last-child{

}
.goodsBox .venueSalesList dd .tit{
    width: 140px;
    border: 2px solid;
    text-align: center;
    font-weight: 500;
}
.goodsBox .venueSalesList dd .txt{
    width: calc(100% - 140px);
    padding: 0 0 0 20px;
}

.goodsBox .venueSales .cautionBox{
    margin-bottom: 40px;
}
.goodsBox .venueSales .cautionBox:last-child{
    margin-bottom: 0;
}
.goodsBox .venueSales .cautionBox .cautionTit{
    font-size: 120%;
    font-weight: 600;
    margin: 0 0 20px;
}
.goodsBox .venueSales .cautionBox .cautionSub{
    font-weight: 600;
    margin-bottom: 20px;
}
.goodsBox .venueSales .cautionBox .cautionList{
    margin: 0 0 20px;
}
.goodsBox .venueSales .cautionBox .cautionList:last-child{
    margin: 0;
}

.goodsBox .mailOder{
    border-radius: 20px;
    overflow: hidden;
}
.goodsBox .mailOder .accordionDetail{
    background: #FFF;
}
.goodsBox .mailOder .accordionDetail .detailInner .txt span{
    font-size: 75%;
    font-weight: 800;
    display: block;
    line-height: 1.4em;
}

.goodsBox .mailOder .mailOderTit{
    display: inline-block;
    background: #000;
    font-size: 160%;
    color: #FFF;
    padding: 8px 10px 6px;
    margin: 0 0 40px;
    letter-spacing: 0.1em;
}


/* PC-min-770 */
@media screen and (min-width: 770px) {
.goodsBox  .accordionList .accordionTit:hover {
    background: #ffd218;
}
}

/* SP-max-769 */
@media screen and (max-width: 770px) {
.goodsBox {
    padding: 60px 30px;
}
.goodsBox .contentBox {
    padding: 0;
}
.goodsBox .titBox h2 {
    font-size: 400%;
}
.goodsBox .listinner {
    padding: 0 0 0 68px;
}
.goodsBox .mailOder .accordionDetail{
    padding: 20px;
}
.goodsBox .venueSales .accordionDetail {
    padding: 20px;
}
.goodsBox .salesDetail {
    background: #fafafa;
    padding: 20px;
    margin-bottom: 20px;
}
.goodsBox .salesDetail .type {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 11px;
    margin-bottom: 10px;
}
.goodsBox .venueSalesList dd {
    display: block;
    margin-bottom: 10px;
    border: 2px solid;
}
.goodsBox .venueSalesList dd .tit {
    width: 100%;
    margin: 0 0 5px;
    border: none;
    border-bottom: 2px solid;
    text-align: center;
    font-weight: 500;
    padding: 5px 6px 3px;
}
.goodsBox .venueSalesList dd .txt {
    width: 100%;
    padding: 0;
    text-align: center;
    margin: 0 0 3px;
    font-size: 12px;
    font-weight: 600;
}
.goodsBox .salesDetail .typeBlock .cap{
    font-size: 12px;
}
.goodsBox .venueSales .cautionBox {
    margin-bottom: 20px;
}
}







/*===============================================
   attention
=================================================*/
.attentionBox{
    padding: 0 60px 60px;
}
.attentionBox .contentBox {
    border-radius: 40px;
    box-shadow: 0 0 15px -5px rgba(0, 0, 0, 0.2);
}
.attentionBox .accordionList{
    margin-bottom: 20px;
    border-radius: 20px;
    overflow: hidden;
}
.attentionBox .op_accord .accordionList .accordionTit {
    background: #413935;
    color: #FFF;
}
.attentionBox .op_accord .accordionList .accordionDetail {
    background: #4D4540;
    color: #FFF;
}
.attentionBox .accordionList:last-child{
    margin-bottom: 0;
}
.attentionBox .accordionList .attentionLead{
    margin: 0 0 20px;
}
.attentionBox .accordionList .attentionLead.red{
    color: #FBA432;
}

/* PC-min-770 */
@media screen and (min-width: 770px) {
    .accordionList .accordionTit:hover {
        background: #835f43;
    }
}

/* SP-max-769 */
@media screen and (max-width: 770px) {
.attentionBox {
    padding: 60px 30px 60px;
}

}
/*===============================================
   contact
=================================================*/
.contactBox{
    padding: 0 60px 200px;
}
.contactBox .contentBox {
    border-radius: 40px;
}
.contactBox .linkList{

}
.contactBox .linkList li{
    margin-bottom: 10px;
    font-weight: 500;
}
.contactBox .linkList li:last-child{
    margin-bottom: 0;
}
.contactBox .linkList li .links{
    position: relative;
    color: #000;
    display: inline-block;
}
.contactBox .linkList li .links span{
position: absolute;
    top: 44%;
    right: -20px;
    width: 6px;
    height: 6px;
    transform: translateY(-50%);
    transition: 0.3s ease;
}
.contactBox .linkList li .links span:before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
}

/* SP-max-769 */
@media screen and (max-width: 770px) {
.contactBox {
    padding: 0 30px 100px;
}
.contactBox .linkList li .links {
    margin-right: 20px;
}
}

/*===============================================
   special
=================================================*/
.specialBox{
    padding: 200px 60px 60px;
}
.specialBox .contentBox {
    border-radius: 40px;
}
.specialBox .specialTit{
    margin-bottom: 40px;
}
.specialBox .specialTit span{
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    display: inline;
    padding: .3em;
    line-height: 2;
    background-color: #FBA432;
    font-size: 220%;
    font-weight: 600;
}
.specialBox .eventDetail{

}
.specialBox .eventDetail li{

}
.specialBox .eventDetail li span{
    display: inline-block;
    font-size: 110%;
    font-weight: 600;
    border-bottom: 1px dashed #aaa;
    padding: 0 0 10px;
    margin-bottom: 10px;
}

.specialBox .specialDetail{

}
.specialBox .specialDetail .tit{
    font-weight: 600;
    margin-bottom: 16px;
    border-left: 5px solid;
    padding: 0 0 0 16px;
}
.specialBox .specialDetail .specialSchedule{
    display: flex;
    border-bottom: 1px solid;
    border-left: 1px solid;
    border-right: 1px solid;
    padding: 16px;
}
.specialBox .specialDetail .specialSchedule:first-of-type{
    border-top: 1px solid;
}
.specialBox .specialDetail .specialSchedule dt{
    width: 15%;
    min-width: 120px;
    font-size: 110%;
    font-weight: 500;
    border-right: 1px solid;
    padding-right: 16px;
    text-align: center;
}
.specialBox .specialDetail .specialSchedule dd{
    font-size: 110%;
    font-weight: 500;
    padding-left: 40px;
}

/* SP-max-769 */
@media screen and (max-width: 770px) {
.specialBox {
    padding: 60px 30px 0;
}
.specialBox .specialTit {
    margin-bottom: 20px;
}
.specialBox .specialTit span {
    font-size: 120%;
}
.specialBox .eventDetail li span {
    font-size: 100%;
    padding: 0 0 6px;
    margin-bottom: 6px;
}
.specialBox .specialDetail .specialSchedule {
    display: block;
    padding: 10px
}
.specialBox .specialDetail .specialSchedule dt {
    width: 100%;
    font-size: 90%;
    font-weight: 800;
    border-right: none;
    padding-right: 0;
    padding-bottom: 10px;
    margin-bottom: 10px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}
.specialBox .specialDetail .specialSchedule dd {
    font-size: 100%;
    font-weight: 500;
    padding-left: 0;
}
}

/*===============================================
   footer
=================================================*/
footer{
    position: relative;
    background: transparent;
    padding: 0 60px 100px;
}

footer figure{
    max-width: 200px;
    margin: 0 auto 40px;
}
footer figure a{
    display: block;
}
footer .snsList{
    display: flex;
    justify-content: center;
    margin: 0 0 40px;
}
footer .snsList li{
    padding: 0 15px;
}
footer .snsList li a{
    color: #000;
    font-size: 18px;
}
footer .credit{
    display: block;
    text-align: center;
    font-family: "Jost", sans-serif;
    font-size: 12px;
}

/* SP-max-769 */
@media screen and (max-width: 770px) {
footer figure{
    max-width: 140px;
    margin: 0 auto 60px;
}
}