@charset "utf-8";
/* SP */
@media  screen and ( max-width:768px ){

* {
  margin: 0;
  padding: 0;
}

.sp { display: block !important; }
.pc { display: none !important; }

/*---h,p---*/
h1 {
    font-size: 7vw;
}
h2{
    font-size: 7vw;
}
h3 {
    font-size: 4vw;
}
h4 {
    font-size: 4vw;
}
p{
    font-size: 4vw;
    margin-top: 3%;
}

/*---header---*/
header{
    width: 100%;
    height: 40px !important;
    display: flex;
    justify-content: left;
    align-items: center;
}
header img{
    width: 100%;
}
header .logo{
    width: 50%;
    margin-left: 15px;
}

/*---content---*/
.content {
    margin-top: 15%;
    letter-spacing: 0.1em;
}

/*---box---*/
.box {
    width: 100%;
    margin: 10% auto;
    text-align: center;
}
.inner{
    width: 90%;
    margin: 0 auto 0;
}
.end {
    margin: 0 auto 20%;
}

/*---ttl---*/
.ttl {
    color: #E70014;
    border-bottom: 2px solid #fff;
    position: relative;
    width: 90%;
    margin: 0 auto 6%;
    text-align: left;
}
.ttl:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #E70014;
    bottom: -3px;
    width: 30%;
}

/*---read---*/
#read {
    margin: 0 auto 10%;
}
#read h1{
    margin-bottom: 5%;
}
#read h2{
    font-size: 4vw;
    line-height: 1.8em;
    margin-bottom: 5%;    
}
#read .red {
    font-size: 4.5vw;
}
.read-txt{
    position: absolute;
    top: 0;
    left: 5%;
    width: 90%;
}

/*---date---*/
.date-wrap {
	width: 90%;
    margin: 1rem auto 0;
}
#date h4{
    font-size: 5vw;
    text-align: center;
}
.date-part,
.date-time {
	padding: 0.8em 0.5em;
	font-size: 0.9rem;
}

/*---fee---*/
#fee h4{
    font-size: 5vw;
}

/*---entry---*/
.entry-wrap {
	width: 90%;
}
.entry-head,
.entry-label,
.entry-content {
	padding: 0.8em 0.5em;
	font-size: 3.5vw;
}

/*---venue---*/
.map-wrap {
  width: 80%;
  margin: 5% auto;
}
.map-wrap iframe {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 2;
  border: 0;
}

/*---btn---*/
.txt-btn {
    background-color: #fff;
    color: #E70014;
    width: 78%;
    padding: 5% 0;
    font-size: 4.5vw;
    font-weight: bold;
    border-radius: 100px;
    cursor: pointer;
    transition: 0.3s;
    margin: 10% auto;
    position: relative;
    font-family: inherit;
    text-align: center;
    border: solid 2px;
}
.txt-btn:hover {
    opacity: 0.5;
}
.txt-btn::after{
    content: "";
    display: block;
    width: 23px;
    height: 23px;
    background: url(../../images/event/icons/btn-icon.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
}
.icon-btn {
    width: 45px;
    margin: 0 auto 25%;
}
.icon-btn img{
    width: 100%;
}

/*---pageTop---*/
#pageTop {
    position: fixed;
    bottom: 0;
    right: 10px;
    line-height: 0;
    cursor: pointer;
    z-index: 9999;
    display: none;
}
#pageTop img {
    width: 45px;
    padding-bottom: 10px;
}

/*---header---*/
footer .copy{
    font-size: 2.5vw;
    letter-spacing: 1px;
    text-align: center;
    padding: 3% 0;
}
}