/*-------------------------------
---Common
-------------------------------*/

.attention {
  font-size: 1.2rem;
}

.attention::before {
  content: '\0203b';
}


/*-------------------------------
---main
-------------------------------*/

main {
  width: 100% !important;
  max-width: 100rem;
  color: #231815;
background:#fef4d1;
  overflow: hidden;
}


/*-------------------------------
---.guidance
-------------------------------*/

.guidance {
  background-color: #fff;
  padding-bottom: 1em;
}

.guidance .guidance_inner {
  font-size: 1.2em;
  font-weight: bold;
  color: #fff;
  background-color: #ea5457;
  padding: 1.5em 5%;
}

.guidance .guidance_inner p {
  width: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  margin-left: auto;
  margin-right: auto;
}


/*-------------------------------
---.hero
-------------------------------*/

.hero {
  position: relative;
  z-index: 0;
}

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-index-low);
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../image/lp/wakuwaku-2025/frame_hero_mb.svg);
  background-size: 100%;
  background-position: top center;
  background-repeat: no-repeat;
}

.hero .section_inner {
  position: relative;
  padding-top: min(3.5vw, 5rem);
  padding-bottom: 8.5vw;
}

.hero .section_inner::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  /*--mask-image: url(../image/lp/wakuwaku-2023/mask_hero.svg);
  -webkit-mask-image: url(../image/lp/wakuwaku-2023/mask_hero.svg);
  mask-position: bottom center;
  -webkit-mask-position: bottom center;
  mask-size: cover;
  -webkit-mask-size: cover;--*/
}

.hero .event-summary {
  text-align: center;
  padding-left: 15%;
  padding-right: 15%;
}

.hero .event-title {
position: relative;
z-index: var(--z-index-low);
margin-bottom: 2.5vw;}

.hero .event-title img{
width:100%;
max-width:600px;}

@media (max-width: 768px) {
	
.hero .event-title img{
width:100%;
max-width:250px;
margin:0;}
	
}

.mailform_header_title{
margin: 0 0 2rem 0;
width:100%;
max-width: 270px;}

@media (max-width: 768px) {

.mailform_header_title{
width:100%;
max-width: 300px;}

}

/*-------------------------------
---.boothes
-------------------------------*/

.boothes {
  margin-top: -2.5vw;
}

.list_booth {
  position: relative;
  z-index: var(--z-index-low);
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
}

#curry .booth-name,
#noodles .booth-name,
#kitchencar .booth-name,
#amusement .booth-name {
  display: none;
}

#curry {
  padding-right: 3.5%;
}

#kitchencar {
position: absolute;
top: 59vw;
left: 9.5%;
z-index: var(--z-index-low);
width: 84.5vw;}

#noodles {
  position: absolute;
  top: 47.5vw;
  right: 1.5%;
  width: 32.5%;
}

#amusement {
padding-left: 3.5%;
margin-top: 31vw;}

#touch {
  position: relative;
  margin-top: 7.5vw;
  margin-left: 2.5%;
  margin-right: 2.5%;
} 

#touch .booth-name {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
}

#touch .wrap_contents {
  background-image: url(../image/lp/wakuwaku-2023/carpet_touch_mb.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 5vw 3vw;
  margin-bottom: 4.5vw;
  margin-left: 20%;
}

#touch .list_contents {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 5vw;
}

#maintenance {
  display: grid;
  grid-template-columns: 0.3fr 0.7fr;
  grid-auto-rows: max-content;
  align-items: center;
  margin-top: 7.5vw;
  margin-left: 2.5%;
}

#maintenance .wrap_contents {
  background-image: url(../image/lp/wakuwaku-2023/carpet_maintenance_mb.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  transform: translateX(-4%);
  -webkit-transform: translateX(-4%);
  -ms-transform: translateX(-4%);
}

#maintenance .list_contents {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  padding: 7.5vw 1.5vw 5vw;
}

#maintenance .list_contents .item:first-child {
  transform: translateX(3.5vw);
  -webkit-transform: translateX(3.5vw);
  -ms-transform: translateX(3.5vw);
}

#maintenance .list_contents .item:last-child {
  transform: translateX(2.5vw);
  -webkit-transform: translateX(2.5vw);
  -ms-transform: translateX(2.5vw);
  margin-top: 5vw;
}

#kitchencar-list {
  background-image: url(../image/lp/wakuwaku-2025/carpet_kitchencar-list.svg);
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 7.5vw;
  padding: 5vw 2.5%;
}

@media (max-width: 768px) {
	
#kitchencar-list {
background-position: center center;
padding: 10vw 2.5% 16rem 2.5%;}
	
.map_seamless{
background-image: url(../image/lp/wakuwaku-2025/carpet_map_bk.svg);
background-repeat: no-repeat;
background-size: cover;
width:100%;
height:138px;
margin:0 0 0 0;
position:relative;
z-index:2;
margin:-138px 0 0 0;}
	
}

#kitchencar-list .booth-name {
  margin-bottom: 2.5vw;
}

#kitchencar-list .wrap_contents {
  background-image: url(../image/lp/wakuwaku-2023/carpet_kitchencar-list_mb.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 28vw 10vw 7.5vw;
  margin-top: -25vw;
}

#kitchencar-list .list_contents {
  display: grid;
  grid-template-columns: 85%;
  grid-auto-rows: max-content;
  justify-content: center;
  grid-row-gap: 2.5vw;
}

#kitchencar-list .attention {
  margin-top: 1em;
}


/*-------------------------------
---.map
-------------------------------*/

.map{
position:relative;
z-index:2;}

.map .section_inner {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
}

.map .event-name {
  position: relative;
  z-index: var(--z-index-low);
  margin-top: -2.5vw;
  margin-bottom: 2rem;
}

.map .address {
  margin-top: 0.5em;
}

.map .address dt {
  font-size: 1.2em;
  font-weight: bold;
}

.map .tenkenkun-attention {
  display: grid;
  grid-template-columns: 3em 1fr;
  grid-auto-rows: max-content;
  margin-top: 0.5em;
}

.map .tenkenkun-attention .tenkenkun {
  position: relative;
  z-index: var(--z-index-low);
}

.map .wrap_attention {
  display: flex;
  align-items: center;
  height: 100%;
  background-color: #fff;
  border-top-right-radius: 1.5em;
  border-bottom-right-radius: 1.5em;
  margin-left: -1.5em;
}

.map .attention {
  width: 100%;
  font-weight: bold;
  text-align: center;
  padding-left: 2.5em;
  padding-right: 1em;
}


/*-------------------------------
---.management
-------------------------------*/

.management {
  color: #fff;
  background-color: #ea5457;
  padding-bottom: 1em;
  margin-top: 10vw;
}

.management .organizer-name {
  font-weight: bold;
  text-align: center;
  text-shadow: 0.2rem 0.2rem 0.2rem #ea5457, -0.2rem -0.2rem 0.2rem #ea5457,
  -0.2rem 0.2rem 0.2rem #ea5457,  0.2rem -0.2rem 0.2rem #ea5457,
  0.2rem 0 0.2rem #ea5457, -0.2rem  0 0.2rem #ea5457,
  0 0.2rem 0.2rem #ea5457,  0 -0.2rem 0.2rem #ea5457;
  transform: translateY(-0.5em);
  -webkit-transform: translateY(-0.5em);
  -ms-transform: translateY(-0.5em);
  margin-top: -0.5em;
  margin-bottom: 0.5em;
}

.management .list_special-thanks .item {
  display: inline;
  font-size: 0.857em;
}

.management .list_special-thanks .item:not(:first-child) {
  margin-left: 1em;
}

.management .list_special-thanks .item::before {
  content: '\f45c';
  font-weight: bold;
}


/*-------------------------------
---.mailform_index
-------------------------------*/

.mailform_header{
background:#ea5457;
width:100%;
padding:4rem;
text-align: center;}

.mailform_header p{
margin:0 0 1rem 0;}

.link_btn {
display: block;
background-color: #fff;
color: #ea5457;
padding: 15px 40px;
text-decoration: none;
font-size: 16px;
font-weight: bold;
text-align: center;
transition: opacity 0.3s ease;
margin: 0 auto 0 auto;
width: 100%;
max-width: 300px;}s

.link_btn:hover {
color:#fff;
background: #dc3262;}

.caution{
width: fit-content;
text-align: left;
margin: 2rem auto 0 auto;}

.caution ul {
list-style: none;
padding-left: 0;}

.caution li {
color: #fff;
position: relative;
font-size: 1.2rem;
padding-left: 1.5em;
margin-bottom: 0.5em;}

.caution li::before {
content: '※';
position: absolute;
left: 0;}

@media (max-width: 768px) {

.caution{
width: 100%;
max-width: 100%;}

.link_btn {
width: 100%;
max-width: 100%;}

}


/*-------------------------------
---.mailform
-------------------------------*/

.mail_form_precautions{
margin: 4rem auto 4rem auto;
padding:2rem;
background:#fff;}

.mail_form_precautions h3{
font-size:2.2rem;
line-height:1.5;
font-weight:bold;
color:#2b201d;
margin:0 0 1rem 0;}

.sp-br {
display: none;}

@media (max-width: 768px) {
	
.sp-br {
display: block;}

}

.mail_form_precautions h4{
font-size: 2rem;
line-height: 1.5;
font-weight: bold;
color: #2b201d;
margin: 4rem auto 4rem auto;
width: 100%;
max-width: 250px;}

.mail_form_precautions p{
font-size:1.5rem;
color:#4a4a4a;
margin:0 0 1rem 0;}

.mail_form_precautions ul{
list-style:disc;
margin:2rem 0 2rem 3rem;}

.mail_form_precautions ul li{
color:#666;
font-size:1.5rem;
line-height:1.5;}

.mail_form_precautions ul li a{
display: inline;
color: #dc143c;
text-decoration: underline;
font-weight: bold;}

.mail_form_precautions ul li a:hover {
opacity: 0.7;}

.agreement-base h4{
font-weight:bold;
font-size:1.5rem;
margin:0 0 1rem 0;}

.wpcf7-form label {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1.5rem;}

.agreement-base p a{
margin:0 0.5rem 0 0.5rem;
display:inline;}

.wpcf7-form .label-text {
width: 250px;
min-width: 250px;
max-width: 250px;
font-weight: bold;
color: #333;
flex-shrink: 0;}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select {
flex: 1;
padding: 0.8rem 1rem;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;}

.wpcf7-form .select-wrap {
display: flex;
align-items: center;
gap: 0.5rem;
flex: 1;}

.wpcf7-form .select-wrap select {
flex: 0 0 auto;
width: auto;
min-width: 100px;}

.wpcf7-form .wpcf7-submit {
background-color: #dc143c;
color: #fff;
padding: 15px 0;
border: none;
border-radius: 0;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
display: block;
margin: 2rem auto 0;
width: 250px;
text-align: center;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);}

.wpcf7-form .wpcf7-submit:hover {
background-color: #a00;
transform: translateY(-2px);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);}

.wpcf7-form .wpcf7-submit:active {
transform: translateY(0);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);}

.wpcf7-form .wpcf7-list-item {
display: flex;
align-items: flex-start;
gap: 0.5rem;
margin: 0;}

.wpcf7-form .wpcf7-list-item input[type="checkbox"] {
flex-shrink: 0;
margin-top: 0.3em;}

.wpcf7-form .wpcf7-list-item label {
flex: 1;}

@media (max-width: 768px) {
	
.wpcf7-form label {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;}

.wpcf7-form .label-text {
width: 100%;
min-width: 100%;
max-width: 100%;}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select {
width: 100%;
box-sizing: border-box;}
	
.wpcf7-form .select-wrap {
width: 100%;}
	
.wpcf7-form .wpcf7-submit {
width: 100%;
max-width: 250px;}
	
}

/*-------------------------------
---.modal
-------------------------------*/

.agreement-base{
border:1px solid #9e9e9e;
padding:2rem;
margin:4rem 0 0 0;
background:#ededed;
color:#656565;}

.agreement-base p{
margin:0;}

.modal-agreement {
display: none;
position: fixed;
z-index: 9999;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.6);}

.modal-agreement-content {
background-color: #fff;
margin: 5% auto;
padding: 1rem;
border-radius: 10px;
width: 90%;
max-width: 600px;
height: 80vh;
display: flex;
flex-direction: column;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);}

.modal-agreement-content h2 {
margin: 0;
padding: 20px 30px;
background-color: #dc143c;
color: #fff;
border-radius: 10px ;
font-size: 20px;
flex-shrink: 0;
display: flex;
justify-content: space-between;
align-items: center;}

.modal-agreement-close {
color: #fff;
font-size: 32px;
font-weight: bold;
line-height: 1;
cursor: pointer;
padding: 0;
margin: 0;}

.modal-agreement-body {
padding: 30px;
line-height: 1.8;
font-size: 15px;
overflow-y: auto;
flex-grow: 1;}

.modal-agreement-body h4{
font-size:2rem;
margin:0 0 1rem 0;
font-weight:bold;
color:#333;}

.modal-agreement-body ul{
list-style:disc;
margin:0 0 4rem 3rem;}

.modal-agreement-body ul:last-of-type{
list-style:disc;
margin:0 0 0 3rem;}

.modal-agreement-close:hover {
opacity: 0.7;}

.agreement-link {
color: #dc143c;
text-decoration: underline;
cursor: pointer;
font-weight: bold;}

.agreement-link:hover {
opacity: 0.7;}

@media (max-width: 768px) {
.modal-agreement-content {
width: 95%;
margin: 10% auto;
height: 70vh;}
	
.modal-agreement-content h2 {
padding: 15px 20px;
font-size: 18px;}
	
.modal-agreement-body {
padding: 20px;
font-size: 14px;}
	
}

.abort {
display: none;
position: fixed;
padding: 2em;
border-radius: 0.5em;
z-index: 1000;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
max-width: 85vw;
width: 55em;
background: rgba(255,255,255,0.95);
margin: auto;
color: black;
font-weight: bold;
line-height: 1.75em;
text-align: justify;}

.abort.show {
display: block;}