@charset "UTF-8";
/* CSS Document */

body.custom-background{
    background-color:#fff;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	
}

.pc{ }
.pcmp{ }

.mpsp,
.mp,
.sp,
.mw767{display:none;}

.b{ font-weight:bold;}
.n{ font-weight:normal;}

a img:hover{opacity: 0.72;}


.m-plus-2-<uniquifier> {
  font-family: "M PLUS 2", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/*.custom-header .wrapper:before{ background-image: none;}
*/

hr{border: none; border-bottom:  dotted #5aa146 5px; margin: 5%;}

.site-header-menu{ position: fixed; right: 5%; top: 25px;}
.menu-toggle-wrapper{background-color: #5aa146!important;}

.sns,
#sponsor,
#contact{width: fit-content; text-align: center;color: #333; font-weight: normal;font-family: "M PLUS 2", sans-serif;}

.sns{margin: 0 auto 60px; }
.sns img{width: 50px; margin: 0 7px;}
.sns img:hover{opacity: 0.5;}


#sponsor{margin: 100px auto 150px; }
#sponsor img.watts{ width: 200px;}
#sponsor img.masmix{ width: 150px; margin: 0px 10px;}


#contact{margin: 100px auto 0px;}
#contact a,
#att a{color: #111;}
#contact a:hover,
#att a:hover{color: #999;}




.lead{background-color: #fff;padding: 30px;border-radius: 30px;width: 90%; margin: 0 auto ; max-width: 1100px;
background-image: url("img/logo10.png") ; background-size: 350px; background-position: center center; background-repeat: no-repeat;
min-height: 400px;}
.lead h3{font-family: 'Open Sans', sans-serif; font-weight: 500; text-align: center; line-height: 2;}

.service-content-wrapper.layout-two .hentry-inner {background-color: #fff;padding: 30px;border-radius: 30px;max-width: 100%;margin-bottom: 0; }
.service-section .section-content-wrapper.layout-two  {max-width: 1100px; margin: 0 auto;}


.gaiyo-att{ }
.gaiyo-att ul{width: fit-content; max-width: 1000px; margin:30px auto; }
.gaiyo-att ul li{font-size: 14px; line-height: 1.25; list-style: none; background-image: url("img/list-mark.png"); background-size: 15px; background-repeat: no-repeat; background-position: 0px 2px; padding-left: 17px; margin-bottom: 10px;}



/*開催概要*/
.time-wrap{
    width:min(1180px,95%);
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px; margin: 0 auto 50px;
}


.time-card{
    background:#fff;
    border-radius:26px;
    padding:0px 25px 35px;
    box-shadow:0 10px 28px rgba(0,0,0,.08);
    position:relative;
	width:450px;
    max-width:none;
    margin:auto; 
}

.time-icon img{
    width:52px;
}

.time-ribbon{
    display:inline-block;
    margin:18px 0 20px;
    padding:10px 26px;
    background:#88c466;
    color:#fff;
    border-radius:12px;
    font-size:24px;
    font-weight:600;
}

.time-date{
    font-size:24px;
    font-weight:600;
    color:#5aa146;
    margin-bottom:18px;
}

.time-line{
    display:grid;
   grid-template-columns:100px 1fr;
    gap:12px;
    align-items:center; margin-bottom:15px;
}

.time-line .label{
    width:120px;
    font-size:15px;
    font-weight:bold;
    color:#88c466;
    letter-spacing:.08em;
}

.time-line .value{
    font-size:24px;
    font-weight:600;
    color:#333;
    line-height:1;
}

.time-card .small{
    font-size:18px; display:block;
    color:#555; text-align: right; margin-right: 20px;
}

.guest-box{
    margin-top:20px;
    padding-top:18px;
    border-top:2px dashed #d6e4ca;
}

.guest-label{
    display:inline-block;
    background:#ef8c8c;
    color:#fff;
    padding:8px 18px;
    border-radius:10px;
    font-size:15px;
    font-weight:bold;
    margin-right: 20px;
}

.guest-box p{
   display:inline-block;
    margin:0;
    font-size:22px;
    font-weight:700;
    line-height:1;
    position:relative;
    top:2px;
}


/*アクセス*/
.midashi{text-align: center; margin: 0 auto 50px;}

.access-wrapper{ margin:0px auto; background-color: #fff;padding: 30px;border-radius: 30px;width: fit-content;}

h1.midashi{    font-size: clamp(30px,2.5vw,44px);
    color:#5c8f49;
    font-weight:800;
    text-align:center;
    letter-spacing:.08em; margin-bottom: 25px;}
	
.access-wrapper h3{color:#5aa146; text-align: center;}
.access-wrapper h4{color:#5aa146;text-align: left;}

.accessin{ margin: 25px auto;}
.accessin::after { content: " "; display: block; clear: both;}
iframe{ margin: 0 20px 0 0; float: left;}
.accessin img{float: left; width: 470px;}

.access-text ul li{font-size: 14px; line-height: 1.25; list-style: none; background-image: url("img/list-mark.png"); background-size: 15px; background-repeat: no-repeat; background-position: 0px 2px; padding-left: 17px; margin-bottom: 10px;}
.access-text{width: fit-content; margin: 0 auto;}
.access-text h3{color:#5aa146; text-align: left!important;}
.access-text p{font-size: 14px; text-align: left; line-height: 1.5;width: fit-content; margin: 10px 0 15px 20px;}


a.linkto{display: inline-block; background-color: #5aa146;font-weight: bold; color: #fff;font-family: "M PLUS 2", sans-serif; padding: 6px 15px 9px; border-radius: 25px; line-height: 1.5;}
a.linkto:hover{background-color: #F7B6B7;}

.ticket h4{ font-weight: normal;}

/*チケット2026*/
.ticket-section{
    position:relative;
    padding:70px 0 90px;
    background:
        url(img/ticket_bg_top.png) top center no-repeat;
    background-size:100% auto,auto;
}

.ticket-inner{

    width:min(1180px,90%);

    margin:auto;

}

.ticket-title{

    font-size: clamp(30px,2.5vw,44px);
    color:#5c8f49;
    font-weight:800;
    text-align:center;

    letter-spacing:.08em;

    margin-bottom:70px;

}

.ticket-top{
    display:grid;
    grid-template-columns:500px 1fr;
    gap:70px 30px;
    align-items:center;
}

.ticket-price{
    position:relative;
    background:#fff;
    border-radius:24px;
    padding:45px 30px 15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.price-ribbon{
   position:absolute;
    left:50%;
    top:-18px;
    transform:translateX(-50%);

    background:#88c466;
    color:#fff;

    font-size:21px;
    font-weight:bold;

    padding:.45em 1.6em;

    white-space:nowrap;

    clip-path:polygon(
        8px 0,
        calc(100% - 8px) 0,
        100% 50%,
        calc(100% - 8px) 100%,
        8px 100%,
        0 50%
    );
}

.price-ribbon span{font-size: 80%; }


.price-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 0;
    border-bottom:2px dashed #d6e4ca;
}

.price-item:last-child{
    border:none;
}

.price-name{
 font-size:22px;
    display:flex;
    align-items:center;
    gap:18px;
}

.price-name img{
    width:42px;
}

.price-name span{
    font-size:22px;
    font-weight:600;
    line-height:1.4;
}

.price-value{
    margin:0;
    color:#5aa146;
    font-size:26px;
    font-weight:600;
    line-height:1;
}

.price-value span{color: #000; font-size: 15px; font-weight: normal;}

.ticket-note{
    position:relative;
    padding-left:70px;
}

.ticket-note::before{
    content:"";
    position:absolute;
    left:25px;
    top:0;
    bottom:0;
    width:2px;
    background-image:linear-gradient(#c9dcb7 40%,rgba(255,255,255,0) 0);
    background-size:2px 12px;
    background-repeat:repeat-y;
}

.ticket-note ul{
    list-style:none;
    margin:0;
    padding:0;
}

.ticket-note li{
    position:relative;
    padding-left:40px;
    margin-bottom:20px;
    font-size:17px;
    line-height:1.5;
    font-weight:600;
}

.ticket-note li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:-5px;
    color:#88c466;
    font-size:24px;
	font-weight:bold;
}

/*券売情報*/

.sale-wrap{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    align-items:stretch; 
	margin-bottom: 150px; 
}

.sale-card{
    width:100%;
    position:relative;
    background:#fff;
    border-radius:26px;
    padding:28px 24px 24px;
    box-shadow:0 10px 28px rgba(0,0,0,.08);
    display:flex;
    flex-direction:column;
	 height:100%;
	 background-image: url("img/ticket-card_bg50.png");
	 background-repeat: no-repeat;
	 background-position: right top;
	 background-size: 175px;
}



.sale-step{
   position:absolute;
    left:0px;
    top:-14px;

    width:60px;
    height:60px;

    background:#89c66a;
    clip-path:polygon(
        50% 0%,
        65% 10%,
        82% 5%,
        90% 20%,
        100% 35%,
        90% 50%,
        100% 65%,
        90% 80%,
        82% 95%,
        65% 90%,
        50% 100%,
        35% 90%,
        18% 95%,
        10% 80%,
        0% 65%,
        10% 50%,
        0% 35%,
        10% 20%,
        18% 5%,
        35% 10%
    );
	display:flex;
    justify-content:center;
    align-items:center;

    color:#fff;
    font-size:22px;
    font-weight:700;
    line-height:1;
}

.sale-head{min-height:120px;}

.sale-title{
    margin:5px 0 22px;
    color:#5aa146;
    font-size:24px;
    line-height:1.2;
    font-weight:700; padding-left: 50px;
}
.sale-title span{font-size: 20px;}
.sale-card:nth-of-type(1) .sale-title{ margin-top: 15px;letter-spacing: 0.07em;}
.sale-card:nth-of-type(3) .sale-title{ margin-top: 25px;letter-spacing: 0.07em;}

.sale-line{
    border-bottom:2px dashed #cfe3c4;
    margin-bottom:22px;
}

.sale-label{
    display:inline-block;
    align-self:flex-start;
    background:#8dc86e;
    color:#fff;
    font-size:18px; letter-spacing: 0.05em;
    font-weight:bold;
    padding:.35em .9em;
    border-radius:6px;
    margin-bottom:16px;
}

.sale-date,
.sale-result{font-size:20px;color:#000;font-weight:normal; line-height: 1.3;}
.sale-date .year{color:#8dc86e;display:block;font-size:18px;margin-bottom:6px;font-weight: 700;}

.sale-main{}
.sale-end{ margin-left: 30px;}

.sale-end span.koenmae{ font-size: 15px; display: inline-block;margin-left: 30px; }

.sale-result .label{width: fit-content;
    background:rgba(203,17,20,0.5);
    color:#fff;
    font-size:18px; letter-spacing: 0.05em;
    font-weight:bold;
    padding:.35em .9em;
    border-radius:6px; margin: 30px 0 10px;
}

.sale-btn-wrap{
    display:flex;
    justify-content:flex-end;
}

.sale-btn{
    margin-top:30px;width: fit-content; padding: 0 20px;
    display:flex;
    justify-content:center;
    align-items:center;
    height:56px;
    border-radius:999px;
    background:#5aa146;
    color:#fff;
    text-decoration:none;
    font-size:22px;
    font-weight:bold;
    transition:.3s;
}

.sale-card:nth-of-type(2) .sale-btn{font-size:19px;}

.sale-btn:hover{background:rgba(203,17,20,0.5);color:#fff;}

.sale-btn,
.sale-btn:link,
.sale-btn:visited,
.sale-btn:hover,
.sale-btn:active,
.sale-btn:focus{
	color:#fff !important;
	text-decoration:none;
}

.sale-card:last-child{ display:flex;
    flex-direction:column;}
	
	.sale-btns{
    display:flex;
    gap:15px;
    margin-top:auto;
}

.sale-btns .sale-btn{
    flex:1;
    width:auto;
    min-width:0;
    margin-top:0;
}

.sale-btns .sale-btn{font-size:18px; padding: 0 10px;}

.sale-card-room .sale-date{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
}

/*注意事項*/
.ttl_background6 {
  font-weight: bold;width: fit-content; color: #fff;
  padding: 0.5em 5em; margin: 0 auto;
  background-color: #5aa146;
  box-shadow: 0 0 0 5px #c7ffb7;
  border-top: 2px dashed #fff;
  border-bottom: 2px dashed #fff;
}

#att{background-color: rgba(255,255,255,0.6); padding:30px;}
#att ul{ width: 90%; max-width: 1000px; margin: 30px auto ;}
#att ul li{font-size: 14px; line-height: 1.25; list-style: none; background-image: url("img/list-mark.png"); background-size: 15px; background-repeat: no-repeat; background-position: 0px 2px; padding-left: 17px; margin-bottom: 10px;}
#att ul li ul {margin: 5px 0 10px 20px;}
#att ul li ul li{list-style: square; background-image: none; padding-left: 0;color: rgba(237,11,14,1.00);line-height: 1.25; margin-bottom: 0;}
#att ul li.list-title{color: #5aa146; font-weight: bold; font-size: 16px; margin-bottom: 10px; background-image: none;padding-left: 0;}



.site-footer {background-color: rgba(255,255,255,0.00)!important; color:#999!important; margin-top: 50px;}

@media screen and (min-width: 700px) and (max-device-width: 3000px) 
{}

@media screen and (min-width: 1601px) {
.site-content{ max-width: 1300px; margin: 0 auto;}
.site-header-menu{ right: inherit; left: 80%;}

}
@media screen and (min-width: 1401px) {
.site-header-menu{ right: inherit; left: 80%;}

}

@media screen and (min-width: 1201px) {
.site-content{ max-width: 1300px; margin: 0 auto;}

}

@media screen and (max-width: 1400px) {
.site-footer {margin-top: -10px; }

}

@media screen and (max-width: 1200px) {

}

@media screen and (max-width: 1100px) {


.accessin{ text-align: center;}
iframe{ margin: 0 auto 20px; float: none; width: 600px;}
.accessin img{float: none;margin: 0 auto;}

.time-card{
    padding:0px 25px 35px;
	width:95%;
}

.ticket-section{ background-color: #fffef9;padding:70px 0 50px; margin-bottom: 50px;}

.ticket-top{
    display:grid;
    grid-template-columns:minmax(500px, 75%);
    justify-content:center;
    gap:35px;
}

.ticket-note{

    border-top:2px dashed #c9dcb7;
    padding-top:30px;
    padding-left:0;

}

.ticket-note::before{

    display:none;

}

.ticket-note ul{

    display:flex;
    justify-content:center;
    gap:40px;
    flex-wrap:wrap;

}

.ticket-note li{
    margin-bottom:0;
}

.sale-btns .sale-btn{font-size:16px;}

}
@media screen and (max-width:1100px){
.top-kv{padding-top: 20px;}
}

@media screen and (max-width:1024px){
.sale-wrap{grid-template-columns:repeat(2,1fr);}	
.sale-btns{margin-top:30px;}
.sale-btns .sale-btn{font-size:22px;}

.sale-card:nth-of-type(3) .sale-head{min-height:inherit;}
.sale-card:nth-of-type(3) .sale-title{ margin-top: 0px;}
}


@media screen and (max-width: 991px) {
.pc{ display:none;}
.pcmp{}
.mpsp,
.mp{ display: inline;}
.sp{display:none;}

.top-kv{padding-top: 30px;}

.menu-inside-wrapper{margin-top: 1px;}
.sale-btns .sale-btn{font-size:18px;}

}

@media screen and (max-width:950px) {

.ticket-note li{
    font-size:15px;
    padding-left:30px;
    margin-bottom:0px;
    line-height:1.2;
}
}

@media screen and (max-width:900px){

.ticket-section{

    padding:90px 0 50px;
    background-size:cover;

}

.ticket-inner{

    width:92%;

}

.ticket-title{

    font-size:30px;
    line-height:1.35;
    margin-bottom:40px;

}



.ticket-price{
    padding:40px 20px 15px;
    border-radius:18px;
}

.price-ribbon{

    font-size:17px;
    top:-14px;
    padding:.45em 1.4em;

}

.price-item{

    padding:18px 0;
    align-items:center;

}

.price-name{

    gap:12px;

}

.price-name img{

    width:32px;

}

.price-name span{

    font-size:18px;
    line-height:1.4;

}

.price-value{
    white-space:nowrap;
}

.price-value span{
    font-size:12px;
}

.ticket-note{
    padding:0;
    border-top:2px dashed #c9dcb7;
    padding-top:25px;
}

.ticket-note::before{
    display:none;
}



.ticket-note li::before{
    font-size:18px;
    top:0;
}



/* 開催概要 */
.time-wrap{
    width:400px;
    grid-template-columns:1fr;
    gap:25px;
    margin:0 auto 70px;
}

.time-card{
    width:100%;
    padding:0 20px 28px;
    border-radius:22px;
}

.time-ribbon{
    margin:18px 0 16px;
    padding:8px 20px;
    border-radius:10px;
}

.time-date{
    margin-bottom:16px;
}

.time-line{
    grid-template-columns:80px 1fr;
    gap:8px;
    margin-bottom:12px;
}

.time-line .label{
    font-size:15px;
}

.time-line .value{
    font-size:22px; margin-left: 20px;
}

.tume-card .small{
    display:block;
    text-align:left;
    margin:6px 20% 0 0;
}

.guest-box{
    margin-top:18px;
    padding-top:16px;
}

.guest-label{
    padding:7px 16px;
    font-size:14px;
    margin-right:12px;
}


}


@media screen and (max-width:800px) {

  .ticket-note ul{display:block; width: fit-content; margin: 0 auto; }
	
.ticket-note li{text-align: left;
    font-size:16px;margin-bottom:0px;line-height:1.8;}
}


@media screen and (max-width:767px) {

.top-kv{padding-top: 0px;}

.pcmp{display: none;}
.mw767{display: inline;}
.site-header-menu{ padding-right: 15px!important;width: 300px; }
.site-header-menu .menu-wrapper .menu-inside-wrapper{ width: 200px!important;}

.sns{margin: 50px auto 60px; }


.lead{ min-height: inherit; height: auto; width: 100%;}
.lead h3{font-size: 18px;}

.midashi{font-size: 30px;margin: 40px auto 40px;}


.service-content-wrapper.layout-two .hentry {clear: both; margin: 0 15% 30px; width: 70%;}

.access-wrapper{ padding: 30px 20px;}

iframe{ width: 100%;}
.accessin img{}

.access-text ul {margin: 0 0 0 0px;}
.access-text p{width:100%; margin: 10px 0 0 0px;}
.access-text h4 {margin-top: 20px;}


#att{ padding:30px 5px 10px 15px;}
#att ul{ width: 100%; margin-left: -10px;}
#att ul li{font-size: 13px; }

.site-footer { margin-top: 50px;}

.ticket-top{
    grid-template-columns:minmax(400px, 90%);
    gap:35px;
}

.sale-wrap{
    grid-template-columns:1fr;
	justify-items:center; 
}

.sale-card{
    width:90%;
    max-width:500px;}

.sale-card .sale-head{min-height:inherit;}
.sale-card:nth-of-type(1) .sale-title{ margin-top: 0px;}


@media screen and (max-width: 600px) {

.pcmp{display:none;}
.mp{ display:none;}
.sp{ display:inline;}


.lead{padding: 30px 15px;border-radius: 20px;}
.lead h3{font-size: 16px; line-height: 24px;}

.gaiyo-att ul{width: fit-content; max-width: 1000px; margin:40px -10px 50px -10px; }
.gaiyo-att ul li{}


/* 開催概要 */
.time-wrap{
    width:350px;}

.access-wrapper h3{font-size: 20px;}

.access-text ul{ margin: 20px -10px 0 -10px;}
.access-text h3{}
.access-text p{width:100%; margin: 10px -10px 0 0px;}

.ticket-title{font-size:26px;}
.ticket-price{width: fit-content; margin: 0 auto;
    padding:40px 10px 15px;}
.price-value{font-size: 22px;}


/*注意事項*/
.ttl_background6 {
  padding: 0.5em 2em;}
#att ul li ul {margin: 5px 0 10px 10px;}

#sponsor{margin: 50px auto 75px; }

}

@media screen and (max-width:480px) {
.lead{padding: 30px 10px;}
}
