@charset "utf-8";
img{max-width: 100%;}
ul li{list-style: none;}
ul{padding: 0; margin: 0;}

body{font-family: "Noto Sans JP", sans-serif; margin: 0; line-height: 1.5; letter-spacing: normal;}
.pc-hidden{display: none !important;}

/*--- header ---*/
header{position: relative;}
.head_inner{position: absolute; top: 15px; left: 15px; z-index: 2;}
.head_inner img{max-width: 180px;}

@media(max-width: 767px){
  .head_inner img{max-width: 110px;}
}

/*--- mv ---*/
.lp_mv{position: relative; overflow: hidden;}
.lp_mv > img{width: 100%; display: block;}
.lp_mv .wrp_img{position: relative;}
.lp_mv .wrp_img img{display: block;}
.lp_mv .wrp_img .mv_text{position: absolute; top: 12%; left: 21%; max-width: 30%;}

/* band */
.band{position: absolute; top: 76%; left: 0; transform: translateY(-50%) rotate(-4deg); z-index: 3; width: 100%;}
.band__item{margin: 0 10px;}
.band__img{height: 50px;}
.band__img.num1{width: 400px;}
.band__img.num2{width: 450px;}
.band__img.num3{width: 640px;}

@media(max-width: 767px){
  .band{top: 82%;}
  .band__img{height: 37px;}
  .band__img.num1{width: 296px;}
  .band__img.num2{width: 333px;}
  .band__img.num3{width: 474px;}
  .lp_mv .wrp_img .mv_text{max-width: 100%; left: 0; top: 39%; width: 100%;}
  .lp_mv .wrp_img .mv_text img{margin: 0 auto;}
}

/*--- voice ---*/
.voice{position: relative; padding: 80px 20px; background: #CCE6FE;}
.voice__bgword{position: absolute; inset: auto 0 55%; width: 100%; max-width: 1200px; margin: 0 auto; top: 80px; left: 0; pointer-events: none; user-select: none;}
.voice__head{position: relative; z-index: 1; max-width: 1200px; margin: 0 auto 60px; text-align: center; color: #111;}
.voice__label{display: inline-block; margin: 0px; font-weight: 900; font-size: 32px; margin-right: -5px;}
.voice__label .pink{display: inline-block; background: #ff6b6b; color: #fff; padding: .05em .25em .08em; border-radius: 1em; transform: rotate(-4deg);font-weight: 700; line-height: 1.2;}
.voice__label .yellow{background: #ffedb3; display: inline-block; line-height: 1.2;}
.voice__title{margin: 0; font-weight: 900; font-size: 32px;}
.voice__list{display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; max-width: 1200px; margin: 40px auto 0; padding: 0; list-style: none;}
.voice__card{position: relative; text-align: center; color: #111;}
.voice__avatar{position: relative; display: inline-block; margin: 0 auto 15px;}
.voice__avatar img{display: block; width: 140px; height: 140px; object-fit: cover; border-radius: 50%;}
.voice__name{position: absolute; left: 50%; bottom: -10px; transform: translateX(-50%); display: inline-block; background: #fff; border-radius: 999px; padding: .15em .8em; font-weight: 800; font-size: 14px; white-space: nowrap;}
.voice__card:nth-of-type(1) .voice__name{color: #9481C1; border: 2px solid #9481C1;}
.voice__card:nth-of-type(2) .voice__name{color: #FF9A61; border: 2px solid #FF9A61;}
.voice__card:nth-of-type(3) .voice__name{color: #FF686E; border: 2px solid #FF686E;}
.voice__catch{margin: 5px 0 15px; font-weight: 900; font-size: 18px; line-height: 1.4;}
.voice__text{margin: 0 auto; max-width: 320px; font-size: 15px; line-height: 1.9; color: #2d2d2d; text-align: left; font-weight: 500; line-height: 1.5;}


@media(max-width: 1024px){
  .voice__list{grid-template-columns: repeat(2, 1fr); gap: 28px;}
  .voice__avatar img{width: 120px; height: 120px;}
}
@media(max-width: 767px){
  .voice{padding: 55px 15px;}
  .voice__bgword{top: 15px; left: 15px; max-width: 150px; margin: 0;}
  .voice__head{margin-bottom: 0px;}
  .voice__label{font-size: 24px;}
  .voice__title{font-size: 24px;}
  .voice__list{grid-template-columns: 1fr; gap: 28px;}
  .voice__avatar img{width: 150px; height: 150px;}
  .voice__name{bottom: -8px; font-size: 13px;}
  .voice__catch{font-size: 16px;}
  .voice__text{font-size: 14px; max-width: 100%;}
}

/*--- concern ---*/
.concern{position: relative; padding: 0px 20px 100px; background: linear-gradient(180deg, #CCE6FE 70%, #fff 100%);}
.concern__inner{position: relative; display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: 0px; max-width: 1200px; margin: 0 auto;}
.concern__visual{position: relative; min-height: 360px;}
.concern__visual_sm{display: none;}
.concern__waves{position: absolute; left: 0px; top: -10px; width: 320px; height: auto; pointer-events: none; user-select: none;}
.concern__phone{position: relative; z-index: 2;}
.concern__copy{position: relative; margin-left: -180px; z-index: 3;}
.concern__title{margin: 0 0 50px; font-weight: 900; font-size: clamp(24px, 3.2vw, 32px); line-height: 1.5;}
.concern__title .yellow{background: #ffedb3; display: inline-block; line-height: 1.2;}
.concern__bubbles{position: relative; display: grid; gap: 14px; padding: 0; margin: 0; list-style: none;}
.bubble{position: relative; background:linear-gradient(180deg,rgba(26,19,17,.7) 0%,rgba(26,19,17,1) 100%); color: #fff; border-radius: 8px; padding: 25px 20px; }
.bubble__tag{display: inline-block; background: #808080; color: #fff; font-weight: 800; font-size: 14px; border-radius: 20px; padding: 0em .5em; margin-bottom: 5px;}
.bubble__text{font-size: 16px; font-weight: 600; line-height: 1.5; align-items: center; flex-wrap: wrap;}
.bubble__text img{margin-left: 5px;}
.bubble--a{transform: translate(0, 0); max-width: 320px;}
.bubble--b{transform: translate(40px, 0); max-width: 460px;}
.bubble--c{transform: translate(80px, 0); max-width: 380px;}

@media(max-width: 1280px){
  .concern__copy{margin-left: -80px;}
  .bubble--b{transform: translate(24px, 0);}
  .bubble--c{transform: translate(48px, 0);}
}

@media(max-width: 1024px){
  .concern__inner{display: block;}
  .concern__visual{display: none;}
  .concern__visual_sm{display: block; position: relative;}
  .concern__waves{right: 0; left: auto;}
  .concern__visual{min-height: 0; text-align: center;}
  .concern__talent{transform: rotate(-4deg); margin: 0 auto;}
  .concern__copy{margin-left: 0;}
  .concern__title{margin-bottom: 0px; text-align: center;}
  .concern__bubbles{margin-top: -70px; z-index: 5; gap: 10px;}
}

@media(max-width: 767px){
  .pc-hidden{display: block !important;}
  .sm-hidden{display: none !important;}
  .concern{padding: 0px 15px 50px;}
  .concern__waves{width: 250px; z-index: -1;}
  .concern__talent{width: min(100%, 480px); transform: rotate(0deg);}
  .bubble{padding: 16px;}
  .bubble__text{font-size: 14px; display: inline-flex;}
  .bubble--a{max-width: 250px;}
  .bubble--b{transform: translate(30px, 0); max-width: 240px;}
  .bubble--c{transform: translate(15px, 0); max-width: 285px;}
}

/*--- reasons ---*/
.reasons{position: relative; padding: 0px 20px 100px; background: #fff; overflow: hidden;}
.reasons::before{content:""; position:absolute; inset:0; background:url("assets/img/music.png") no-repeat right top / cover; opacity:.6; pointer-events:none; z-index:0; top: -40px;}
.reasons__inner{position: relative; max-width: 1200px; margin: 0 auto; text-align: center; z-index: 1;}
.reasons__title{margin: 0 0 70px; font-weight: 900; font-size: clamp(24px, 3vw, 32px); line-height: 1.5;}
.reasons__title span{background: #ffedb3; display: inline-block; line-height: 1.2;}
.reasons__bg{position: absolute; inset: 0; display: grid; place-items: start center; pointer-events: none; user-select: none; z-index: 0;}
.reasons__bg img{width: min(1200px, 95%); height: auto; opacity: .6; transform: translateY(10px);}
.reasons__list{position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin: 0px auto 0; padding: 0; list-style: none;}
.reason-card{position: relative; text-align: left; padding: 30px 30px 30px; border-radius: 8px; background: linear-gradient(135deg, rgba(255,104,110,.2) 18%, rgba(148,129,193,.2) 53%, rgba(0,130,251,.2) 84%); z-index: 2;}
.reason-card::before{content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 8px; background-color: rgba(255, 255, 255, .5); z-index: -1;}
.reason-num{position: absolute; left: 16px; top: -30px; width: 50px; height: 50px; display: grid; place-items: center; font-weight: 800; font-size: 32px; background: transparent; border-radius: 999px; overflow: hidden; transform: rotate(-5deg); padding-bottom: 1px;}
.reason-num::before{content: ""; position: absolute; inset: 0; border-radius: 999px; padding: 2.5px; background: linear-gradient(135deg, rgba(255,104,110,.7) 18%, rgba(148,129,193,.7) 53%, rgba(0,130,251,.7) 84%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude;}
.reason-ttl{margin: 8px 0 10px 0; font-size: 22px; font-weight: 900; line-height: 1.4; color: #222; text-align: center;}
.reason-ttl span.hl, .reason-ttl span{background: linear-gradient(225deg, rgba(255,104,110,.2) 18%, rgba(148,129,193,.2) 53%, rgba(0,130,251,.2) 84%);}
.reason-line{height: 1px; background: #111; margin: 10px 0 12px;}
.reason-txt{margin: 0; font-size: 16px; line-height: 1.7; font-weight: 450;}

/* responsive */
@media(max-width: 1024px){
  .reasons{padding: 0px 20px 60px;}
  .reasons__list{grid-template-columns: repeat(2, 1fr); max-width: 860px;}
}
@media(max-width: 767px){
  .reasons{padding: 0px 15px 50px;}
  .reasons::before{background-size: contain; top: 0;}
  .reasons__title{font-size: 22px; margin-bottom: 40px;}
  .reasons__bg img{opacity: .45; transform: translateY(0);}
  .reasons__list{grid-template-columns: 1fr; gap: 30px; max-width: 640px;}
  .reason-card{padding: 18px 18px 20px;}
  .reason-ttl{font-size: 18px;}
  .reason-txt{font-size: 13px;}
  .reason-num{left: 14px; top: -16px; width: 36px; height: 36px; font-size: 20px;}
  .reason-num::before{padding: 2.5px;}
}

/*--- mechanism ---*/
.mechanism{position: relative; padding: 0px 20px 100px; background: #fff; text-align: center;}
.mechanism__inner{max-width: 1200px; margin: 0 auto;}
.mechanism__title{margin: 0 0 25px; font-weight: 900; font-size: clamp(24px, 3vw, 36px); line-height: 1.5; color: #111;}
.mechanism__title span{background: #ffedb3; display: inline-block; line-height: 1.2;}
.mechanism__img{display: inline-block; width: 100%; max-width: 1100px; height: auto;}
.mechanism__inner .wrp_meca{position: relative;}
.mechanism__inner ul{position: absolute; top: 50px; left: 0; z-index: 3; text-align: left; font-size: 13px;}

@media(max-width: 1024px){
  .mechanism{padding: 0px 20px 65px;}
  .mechanism__img{max-width: 1000px;}
}

@media(max-width: 767px){
  .mechanism{padding: 0px 15px 50px;}
  .mechanism__title{font-size: 24px;}
  .mechanism__img{max-width: 100%;}
  .mechanism__inner ul{display: none;}
}

/*--- cta ---*/
.cta{position: relative; padding: 80px 20px; background: #fff url("assets/img/cta.jpg") no-repeat center/cover; overflow: hidden;}
.cta__inner{position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 0.8fr; align-items: center; gap: 28px;}
.cta__inner .bg_text{position: absolute; top: -55px; right: 50px; max-width: 280px; z-index: -1;}
.cta__title{margin: 0; color: #fff; font-weight: 800; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.6;}
.cta__pill{background: #fff; color: #FF686E; font-weight: 800; border-radius: 999px; padding: 0em 1em 0.1em .7em; transform: rotate(-5deg); display: inline-block; position: relative; line-height: 1.3;}
.cta__pill .music{color: #0082FB; font-size: 42px; transform: rotate(20deg); position: absolute; top: -15px; right: -10px; font-weight: bold;}
.cta__right{display: grid; grid-auto-rows: max-content; justify-items: center; gap: 0px;}
.cta__qr img{display: block; width: 140px; height: auto; border-radius: 12px;}
.cta__btn{position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: 0 30px; background: #00C200; color: #fff; font-weight: 800; font-size:22px; border-radius: 999px; text-decoration: none; width: 100%; max-width: 350px; margin-top: 25px;}
.cta__btn span{color: #FFF833;}
.cta__btn::after{content: ""; position: absolute; inset: -6px; border-radius: 999px; border: 6px solid #fff; pointer-events: none;}
.cta__btn:hover{transform:translateY(4px); opacity:.9; transition: .3s;}

@media(max-width: 1024px){
  .cta{padding: 50px 20px;}
  .cta__inner{grid-template-columns: 1fr 1fr;}
  .cta__qr img{width: 128px;}
  .cta__btn{min-height: 52px; padding: 0 24px;}
}

@media(max-width: 767px){
  .cta{padding: 70px 15px 50px; background: #fff url("assets/img/cta_sp.jpg") no-repeat center/cover;}
  .cta__inner .bg_text{max-width: 150px; top: -45px; right: 0;}
  .cta__inner{grid-template-columns: 1fr; text-align: center; justify-items: center; gap: 16px;}
  .cta__title{font-size: 22px; text-align: left; margin-bottom: 20px;}
  .cta__title.t-c{text-align: center;}
  .cta__pill .music{font-size: 36px;}
  .cta__right{justify-items: center;}
  .cta__qr{display: none;}
  .cta__btn{width: 100%; max-width: 420px; min-height: 52px; padding: 0 30px; font-size: 18px;}
}


/*--- flow ---*/
.flow{position: relative; padding: 90px 20px 120px; background: #fff; max-width: 1200px; margin: 0 auto;}
.flow__bgword{position: absolute; left: 20px; top: 80px; width: 280px; pointer-events: none; user-select: none;}
.flow__bgword img{display: block; width: 100%; height: auto;}
.flow__head{position: relative; max-width: 1200px; margin: 0 auto 60px; text-align: center;}
.flow__title{margin: 0; font-weight: 900; font-size: clamp(24px, 3vw, 32px); line-height: 1.5;}
.flow__title span{background: #ffedb3; display: inline-block; line-height: 1.2;}
.flow__list{position: relative; max-width: 1200px; margin: 32px auto 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;}
.flow-item{position: relative;}
.flow-item__badge{display: inline-flex; align-items: center; gap: 6px; background:linear-gradient(180deg,rgba(26,19,17,.7) 0%,rgba(26,19,17,1) 100%); color: #fff; border-radius: 30px; padding: 0px 10px 0 1px; transform: rotate(-5deg);}
.flow-item__badge img{height: 30px; display: block;}
.flow-item__badge span{font-weight: 900; font-size: 14px; letter-spacing: .06em; display: flex; align-items: center;}
.flow-item__badge span span{font-size: 18px; margin-left: 3px; padding-bottom: 1px;}
.flow-item__ttl{margin: 0px 0 10px; font-weight: 900; font-size: 22px; line-height: 1.2; text-align: center; height: 50px; display: flex; align-items: center; flex-wrap: wrap; justify-content: center;}
.flow-item__ttl span{font-size: 16px; width: 100%;}
.flow-item__fig{margin: 0 0 12px;}
.flow-item__fig img{display: block; width: 100%; height: auto; border-radius: 8px;}
.flow-item__txt{margin: 0; font-size: 16px; line-height: 1.4; text-align: left; font-weight: 500;}
.flow-item__txt span{font-size: 12px;}

/* responsive */
@media(max-width: 1024px){
  .flow{padding: 60px 20px 80px;}
  .flow__bgword{width: 220px; top: 20px; left: 15px;}
  .flow__list{grid-template-columns: repeat(2, 1fr); gap: 28px;}
}
@media(max-width: 767px){
  .flow{padding: 50px 15px 60px;}
  .flow__bgword{width: 140px;}
  .flow__head{margin-bottom: 40px;}
  .flow__title{font-size: 24px;}
  .flow__list{grid-template-columns: 1fr; gap: 24px;}
  .flow-item__ttl{font-size: 20px; height: auto;}
  .flow-item__ttl span{font-size: 14px;}
  .flow-item__txt{font-size: 14px;}
}

.income{position: relative; padding: 0px 20px 100px; background: #fff url("assets/img/income-staff.png"); background-size: contain; background-repeat: no-repeat; background-position: 50% 70%;}
.income__title{max-width: 1200px; margin: 0 auto 80px; font-weight: 900; font-size: clamp(24px, 3vw, 36px); line-height: 1.5; color: #111; text-align: center; position: relative;}
.income__title img{position: absolute; top: 0; left: 0;}
.income__title span{background: #ffedb3; display: inline-block; line-height: 1.2;}

.income__inner{position: relative; display: grid; grid-template-columns: 0.7fr 1.3fr; align-items: center; gap: 32px; max-width: 1200px; margin: 0 auto;}
.income__visual{position: relative; min-height: 420px;}
.income__phone{position: absolute; left: 0; bottom: -40px; width: clamp(250px, 30vw, 340px); height: auto;}
.income__phone.v_sm{display: none;}
.income__body{position: relative;}
.income__list{display: grid; gap: 16px; margin: 0; padding: 0; list-style: none;}

/* cards */
.income-card{position: relative; background: url("assets/img/income-card-bg.png") no-repeat center/cover; border-radius: 8px; padding: 14px;}
.income-card:nth-child(1){background: url("assets/img/income-card1.png") no-repeat center/cover; max-width: 550px;}
.income-card:nth-child(2){background: url("assets/img/income-card2.png") no-repeat center/cover;}
.income-card:nth-child(3){background: url("assets/img/income-card3.png") no-repeat center/cover; max-width: 670px;}
.income-card > *{position: relative; z-index: 1;}
.income-card__head{display: grid; grid-template-columns: 90px 1fr; align-items: center; gap: 12px; margin-bottom: 8px;}
.income-card__avatar{display: block; width: 90px; height: 90px; object-fit: cover; border-radius: 50%;}
.income-card__lead{margin: 0 0 15px; color: #fff; font-weight: 500; font-size: 22px; line-height: 1.6;}
.income-card__lead .em{background: #ffedb3; display: inline-block; line-height: 1.2; color: #000;}
.income-card__meta{display: flex; flex-wrap: wrap; margin: 0 0 5px; padding: 0; list-style: none;}
.pill{display: inline-flex; align-items: center; margin-right: 10px; font-size: 14px; font-weight: 800; color: #fff;}
.pill b{font-weight: 800; background-color: #7D5EC7; padding: 0 8px; border-radius: 15px;}
.income-card__txt{margin: 0; color: #fff; font-size: 16px; line-height: 1.8;}

@media(max-width: 1180px){
  .income{background-position: 50% 78%;}
  .income__inner{grid-template-columns: 0.8fr 1.2fr; gap: 28px;}
  .income__visual{min-height: 380px;}
  .income__phone{left: -10px; bottom: -30px; width: clamp(240px, 32vw, 320px);}
  .income-card:nth-child(1), .income-card:nth-child(3){max-width: 100%;}
}

@media(max-width: 1024px){
  .income{padding: 0px 20px 60px; background-position: 50% 82%;}
  .income__title{margin-bottom: 32px;}
  .income__title img{position: absolute; left: 10px; top: -6px; max-width: 160px;}
  .income__inner{display: flex; flex-wrap: wrap;}
  .income__visual{min-height: 300px; margin-bottom: -120px;}
  .income__phone{position: relative; left: 0; bottom: 0; margin: 0 auto; width: min(100%, 360px);}
  .income__body{max-width: 820px; margin: 0 auto;}
  .income__list{gap: 14px;}
}

@media(max-width: 767px){
  .income{padding: 0px 15px 50px; background-position: 50% 20%;}
  .income__title{font-size: 22px; margin-bottom: 24px;}
  .income__title img{max-width: 160px; top: -25px; left: 0;}
  .income__visual{min-height: 0; text-align: right;}
  .income__list{gap: 12px;}
  .income-card{padding: 12px;}
  .income-card__head{grid-template-columns: 48px 1fr; gap: 10px; margin-bottom: 6px;}
  .income-card__avatar{width: 48px; height: 48px;}
  .income-card__lead{font-size: 16px; margin: 0 0 10px;}
  .income-card__meta{gap: 6px;}
  .pill{font-size: 13px;}
  .income-card__txt{font-size: 13px; line-height: 1.7;}
  .income__phone{display: none;}
  .income__visual{margin-bottom: -60px;}
  .income__phone.v_sm{display: block; width: min(100%, 330px); margin-right: 0; bottom: 10px;}
}

/*--- support ---*/
.support{position: relative; padding: 80px 20px 150px; overflow: hidden;}
.support::after{content: ''; position: absolute; bottom: -230px; left: 0; height: 550px; width: 100%; background: #fff url("assets/img/reasons-staff.png"); background-size: contain; background-repeat: no-repeat; background-position: 0 0;}
.support__bgword{position: absolute; left: 0px; top: 0px; width: 480px; pointer-events: none; user-select: none; z-index: 0;}
.support__bgword img{display: block; width: 100%; height: auto;}
.support__inner{position: relative; z-index: 1; max-width: 1200px; margin: 0 auto;}
.support__head{text-align: center; margin-bottom: 10px;}
.support__title{margin: 0 0 60px; font-weight: 900; font-size: clamp(24px, 3vw, 32px); line-height: 1.45;}
.support__title span{background: #ffedb3; display: inline-block; line-height: 1.2; color: #000;}
.support__person{position: absolute; bottom: -10px; right: -65px; max-width: 330px;}
.support__list{position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 8px 0 0; padding: 0; list-style: none;}
.s-card{position: relative; background: linear-gradient(135deg, rgba(255,233,235,.9) 18%, rgba(235,232,247,.9) 53%, rgba(227,238,255,.9) 84%); border-radius: 8px; padding: 30px; align-self: start;}
.s-card:nth-of-type(2){margin-top: 80px;}
.s-card:nth-of-type(3){margin-top: 160px;}
.s-card__ttl{margin: 0 0 20px; font-weight: 900; font-size: 22px; line-height: 1.2; color: #222; text-align: center;}
.s-card__ttl span{font-size: 18px;}
.s-card__txt{margin: 0; font-size: 16px; line-height: 1.5; color: #2d2d2d;}

@media(max-width: 1024px){
  .s-card{padding: 30px 15px;}
  .s-card__ttl span{font-size: 16px;}
  .s-card__ttl{font-size: 18px;}
}

@media(max-width: 767px){
  .support{padding: 48px 15px; background-size: 900px auto; background-position: center bottom;}
  .support::after{bottom: 145px;}
  .support__bgword{width: 160px; top: -20px;}
  .support__title{font-size: 24px; line-height: 1.5; margin-bottom: 20px;}
  .support__person{width: 100%; max-width: 100%; margin-left: auto; margin-bottom: -20px; display: block; position: static;}
  .support__list{grid-template-columns: 1fr; gap: 16px; margin-top: 0;}
  .s-card{padding: 15px;}
  .s-card:nth-of-type(2){margin-top: 0;}
  .s-card:nth-of-type(3){margin-top: 0;}
  .s-card__ttl{margin-bottom: 10px;}
  .s-card__txt{font-size: 14px; line-height: 1.8;}
}

/*--- event ---*/
.event{position: relative; padding: 0px 20px 100px;}
.event__inner{position: relative; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 0.6fr 1.4fr; align-items: start; gap: 32px;}
.event__title{margin: 0; font-weight: 900; font-size: clamp(24px, 3vw, 32px); line-height: 1.45; color: #111; z-index: 2;}
.event__title span{background: #ffedb3; display: inline-block; line-height: 1.2; color: #000;}
.event__visual{position: absolute; left: 0px; bottom: 50px; width: clamp(260px, 30vw, 310px); height: auto; z-index: 1;}
.event__list{position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, 1fr); gap: 45px;}
.event-card{position: relative; background: #fff; border-radius: 8px; }
.event-card__fig{margin: 0;}
.event-card__fig img{display: block; width: 100%; height: auto;}
.event-card__ttl{margin: 15px 0 15px; font-weight: 800; font-size: 22px; line-height: 1.5; text-align: center;}
.event-card__txt{margin: 0; font-size: 16px; line-height: 1.5; color: #333;}

/* responsive */
@media(max-width: 1024px){
  .event{padding: 0px 20px 80px;}
  .event__inner{grid-template-columns: 1fr; gap: 24px;}
  .event__visual{position: relative; left: 0; bottom: 0; margin: 0 auto 20px;}
  .event__list{grid-template-columns: repeat(2, 1fr); gap: 20px;}
  .event-card__ttl{font-size: 18px;}
}

@media(max-width: 767px){
  .event{padding: 0px 0px 50px;}
  .event__title{font-size: 24px; text-align: center;}
  .event__title span{display: inline-block;}
  .event__visual{width: 100%; margin-bottom: -80px; display: block; margin-left: 0; margin-right: auto;}
  .event__list{grid-template-columns: 1fr; gap: 16px; padding: 0 15px;}
  .event-card__txt{font-size: 14px;}
}

/*--- faq ---*/
.faq{position: relative; padding: 90px 20px; background: #CCE6FE;}
.faq__bgword{position: absolute; left: 0px; top: -40px; width: 200px; pointer-events: none; user-select: none;}
.faq__bgword img{display: block; width: 100%; height: auto;}
.faq__head{max-width: 1200px; margin: 0 auto 60px; text-align: center; position: relative;}
.faq__title{margin: 0; font-weight: 900; font-size: clamp(24px, 2.4vw, 32px);}
.faq__list{max-width: 1200px; margin: 0 auto; padding: 0; list-style: none; display: grid; gap: 12px;}
.faq-item{position: relative; border-radius: 8px; background:linear-gradient(180deg,rgba(26,19,17,.07) 0%,rgba(26,19,17,.1) 100%); padding: 20px 20px;}
.faq-item__q{display: inline-grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px; padding: 3px 5px; border-radius: 20px; background-color: #9481C1; margin-bottom: 15px;}
.faq-item__qtext{margin: 0; font-weight: 800; font-size: 20px; color: #fff;}
.faq-item__a{display: grid; grid-template-columns: auto 1fr; gap: 10px; margin-left: 5px;}
.faq-item__atext{margin: 0; font-size: 16px; line-height: 1.4; font-weight: 500;}
.faq-badge{display: inline-grid; place-items: center; width: 28px; height: 28px; font-weight: 900; font-size: 18px; color: #9481C1; background:#fff; border-radius: 50%;}
.faq-badge--a{background:#9481C1; color: #fff;}

/* --- FAQ responsive --- */

/* PAD Pro */
@media only screen and (max-width: 1050px){
  .faq{padding: 72px 20px;}
  .faq__bgword{width: 160px; left: 14px;}
  .faq__title{font-size: 26px;}
  .faq__list{gap: 12px;}
  .faq-item__atext{font-size: 13.5px;}
}

/* PAD */
@media only screen and (max-width: 880px){
  .faq{padding: 60px 20px;}
  .faq__bgword{width: 150px; left: 10px;}
  .faq__title{font-size: 24px;}
  .faq-item__qtext{font-size: 18px; white-space: normal;}
  .faq-badge{width: 24px; height: 24px; font-size: 12px;}
}

/* Sm (SP) */
@media only screen and (max-width: 767px){
  .faq{padding: 50px 15px;}
  .faq__bgword{width: 110px; top: -30px;}
  .faq__head{margin-bottom: 30px;}
  .faq__title{font-size: 24px;}
  .faq__list{gap: 10px;}
  .faq-item{padding: 15px 10px;}
  .faq-item__qtext{font-size: 16px;}
  .faq-item__atext{font-size: 13px; line-height: 1.8;}
  .faq-badge{width: 22px; height: 22px; font-size: 11px;}
}

/* Sm small */
@media only screen and (max-width: 350px){
  .faq-item__q{display: block; width: auto; max-width: none;}
  .faq-item__qtext{display: block;}
}

/*--- cta follow button ---*/
.cta-follow{position:fixed; right:24px; bottom:24px; z-index:999; display:inline-flex; align-items:center; justify-content:center; background: #00C200; color:#fff; font-weight:900; font-size:22px; text-decoration:none; border-radius:999px; padding:0 45px; height:65px; transition:all .3s ease; border: solid 4px #fff;}
.cta-follow span{color: #FFF833;}
.cta-follow:hover{transform:translateY(4px); opacity:.9;}

@media(max-width:1024px){
  .cta-follow{font-size:16px; height:52px; padding:0 24px; right:20px; bottom:20px;}
}

@media(max-width:767px){
  .cta-follow{position:fixed; left:0; right:0; bottom:15px; width:90%; height:52px; border: 3px solid #fff; justify-content:center; font-size:17px; padding:0; transition:none; margin: 0 auto;}
}


footer{background-color: #000; color: #fff; text-align: center; padding: 15px 0 150px; font-size: 12px;}
