main::after {
  content: "";
  display: block;
  width: 78.24%;
  height: 1px;
  background: #e2ebef;
  margin: 0 auto;
}
@media screen and (max-width: 1400px) {
  main::after {
    width: 93.3%;
    max-width: 1100px;
  }
}

.p_ttl2 {
  background: url("/img/supporter_mv.jpg") no-repeat center center/cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 481px) {
  .p_ttl2 {
    background: url("/img/supporter_mv@2x.jpg") no-repeat center center/cover;
  }
}
@media screen and (max-width: 480px) {
  .p_ttl2 {
    background: url("/img/supporter_mv_sp.jpg") no-repeat center center/cover;
  }
}

.p_ttl2 h2 .small {
  padding-left: 0.2em;
  font-size: 2.5rem;
}
@media screen and (max-width: 480px) {
  .p_ttl2 h2 .small {
    font-size: 1.2rem;
  }
}

.p_ttl2 .inr {
	position: relative;
}

.p_intro {
  width: 1010px;
  margin: 0 auto;
  padding: 100px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 95px 0;
}
@media screen and (max-width: 480px) {
  .p_intro {
    width: 88%;
    display: block;
    padding: 35px 0 35px;
  }
}

.p_lead {
	text-align: left;
}
.p_lead .txt {
		margin: 8px 0 10px;
		font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
		font-weight: 600;
		font-size: 2rem;
		line-height: 1.78;
}
@media screen and (max-width: 480px) {
		.p_lead .txt {
				margin: 0;
				font-size: 1.6rem;
		}
		.p_lead .txt br {
				display: none;
		}
}


.p_pw {
		width: 1010px;
		background: #f1f5f7;
		border-radius: 10px;
		margin: -40px auto 105px;
		padding: 50px 60px;
		box-sizing: border-box;
		text-align: left;
		position: relative;
}
.p_pw .txtbox {
		width: 490px;
}
.p_pw .txtbox p.lead {
		color: #008e66;
		font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
		font-weight: 600;
		font-size: 2rem;
		line-height: 1.5;
}
.p_pw .txtbox p.txt {
		margin: 10px 0 10px;
		font-size: 1.6rem;
		line-height: 1.88;
}
.p_pw .txtbox p.notes {
		font-size: 1.2rem;
		line-height: 1.5;
}
.p_pw img {
		position: absolute;
		top: -25px;
		right: 35px;
		width: 377px;
}

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

		.p_pw {
				width: 93.3%;
				margin: 0px auto 55px;
				padding: 20px 7% 190px;
		}
		.p_pw .txtbox {
				width: auto;
		}
		.p_pw .txtbox p.lead {
				font-size: 1.4rem;
		}
		.p_pw .txtbox p.txt {
				margin: 5px 0 3px;
				font-size: 1.2rem;
		}
		.p_pw .txtbox p.txt br {
				display: none;
		}
		.p_pw .txtbox p.notes {
				font-size: 1rem;
		}
		.p_pw img {
				position: absolute;
				top: inherit;
				bottom : 20px;
				left: 16%;
				width: 70%;
		}

}



.s_supporter {
  width: 1010px;
  margin: 0 auto;
  border-top: 1px solid #008e66;
  padding: 95px 0 120px;
}
@media screen and (max-width: 480px) {
  .s_supporter {
    width: auto;
    border-top: none;
    padding: 0 0 60px 0;
  }
  .s_supporter::before {
	  content: "";
   display: block;
   width: 88%;
   height: 1px;
   background: #008e66;
   margin: 0 auto 55px;
  }
}

.s_box {
		background: #f1f5f7;
		border-radius: 10px;
		margin: 30px 0 0 0;
		padding: 50px;
		box-sizing: border-box;
}
.s_box h3 {
		margin: 60px 0 20px;
		color: #008e66;
		font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
		font-weight: 600;
		font-size: 3rem;
		line-height: 1.6;
		letter-spacing: 0.1em;
}



.sp_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  gap: 30px;
  width: 1010px;
  margin: 55px auto 0;
}
@media screen and (max-width: 480px) {
  .sp_list {
    width: 93.3%;
    margin: 30px auto 0;
    gap: 10px;
  }
}

.b_supporter {
  background: #f1f5f7;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 50px 35px;
  padding: 65px 0 70px;
}
@media screen and (max-width: 480px) {
  .b_supporter {
    display: block;
    padding: 30px 0;
  }
}
.b_supporter > .ttl {
  width: 100%;
  color: #008e66;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
		font-weight: 600;
  font-size: 3rem;
  line-height: 1.5;
}
@media screen and (max-width: 480px) {
  .b_supporter > .ttl {
    width: 80%;
    margin: 0 auto;
    font-size: 1.8rem;
  }
}
.b_supporter > .img {
  width: 230px;
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .b_supporter > .img {
    margin: 15px auto 0;
  }
}
.b_supporter > .img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 5px;
}
.b_supporter > .detail {
  width: 605px;
  text-align: left;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.88;
  -ms-hyphens: auto;
  hyphens: auto;
}
@media screen and (max-width: 480px) {
  .b_supporter > .detail {
    font-size: 1.4rem;
  }
}
.b_supporter > .detail p + p:has(.btn),
.b_supporter > .detail p + p:has(.btn2),
.b_supporter > .detail p + p:has(.btn3),
.b_supporter > .detail p + p:has(.btn4) {
  margin-top: 1em;
}
.b_supporter > .detail p:has(.btn),
.b_supporter > .detail p:has(.btn2),
.b_supporter > .detail p:has(.btn4) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  gap: 10px;
}
@media screen and (max-width: 480px) {
  .b_supporter > .detail p:has(.btn),
  .b_supporter > .detail p:has(.btn2),
  .b_supporter > .detail p:has(.btn4) {
    gap: 5px;
  }
  .b_supporter > .detail p:has(.btn) .btn4,
  .b_supporter > .detail p:has(.btn2) .btn4,
  .b_supporter > .detail p:has(.btn4) .btn4 {
    min-width: 120px;
  }
}
.b_supporter > .detail div,
.b_supporter > .detail p,
.b_supporter > .detail ul,
.b_supporter > .detail ol,
.b_supporter > .detail > img,
.b_supporter > .detail table,
.b_supporter > .detail details,
.b_supporter > .detail section,
.b_supporter > .detail blockquote,
.b_supporter > .detail figure,
.b_supporter > .detail picture,
.b_supporter > .detail iframe {
  margin-top: 0.5em;
  max-width: 100% !important;
}
.b_supporter > .detail div:first-child,
.b_supporter > .detail p:first-child,
.b_supporter > .detail ul:first-child,
.b_supporter > .detail ol:first-child,
.b_supporter > .detail > img:first-child,
.b_supporter > .detail table:first-child,
.b_supporter > .detail details:first-child,
.b_supporter > .detail section:first-child,
.b_supporter > .detail blockquote:first-child,
.b_supporter > .detail figure:first-child,
.b_supporter > .detail picture:first-child,
.b_supporter > .detail iframe:first-child {
  margin-top: 0;
}

.b_supporter > .detail p:first-child {
  margin-top: -0.44em;
}
@media screen and (max-width: 480px) {
  .b_supporter > .detail {
    width: 80vw;
    margin: 20px auto 0;
    text-align: center;
  }
  .b_supporter > .detail p:first-child {
    text-align: left;
  }
}
.b_supporter p + .btn,
.b_supporter p + .btn2,
.b_supporter p + .btn3,
.b_supporter p + .btn4 {
  margin-top: 30px;
}
@media screen and (max-width: 480px) {
  .b_supporter p + .btn,
  .b_supporter p + .btn2,
  .b_supporter p + .btn3,
  .b_supporter p + .btn4 {
    margin-top: 15px;
  }
}
.b_supporter .btn2,
.b_supporter .btn3,
.b_supporter .btn4 {
  background-color: #fff;
}
.b_supporter .btn2::after,
.b_supporter .btn3::after,
.b_supporter .btn4::after {
  background-color: #f1f5f7;
}
@media (any-hover: hover) {
  .b_supporter .btn2:hover,
  .b_supporter .btn3:hover,
  .b_supporter .btn4:hover {
    background-color: #e2ebef;
  }
}


.sp_list_sub {
  display: flex;
  justify-content: space-between;
  width: 970px;
  margin: 50px auto 0;
}
@media screen and (max-width: 480px) {
  .sp_list_sub {
		  flex-flow: column;
		  width: 93.3%;
		  margin: 10px auto 0;
  }
}

.b_supporter_sub {
		width: 300px;
		position: relative;
		box-sizing: border-box;
  background: #f1f5f7;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  padding: 35px 35px 60px;
}
@media screen and (max-width: 480px) {
  .b_supporter_sub {
    display: block;
		  width: 100%;
    padding: 30px 7%;
    margin-bottom: 10px;
    text-align: center;
  }
}
.b_supporter_sub > .img {
  width: 230px;
  aspect-ratio: 230/145;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 15px;
}
@media screen and (max-width: 480px) {
  .b_supporter_sub > .img {
    margin: 0 auto 15px;
  }
}
.b_supporter_sub > .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 5px;
}
.b_supporter_sub > .detail {
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.88;
  -ms-hyphens: auto;
  hyphens: auto;
}
@media screen and (max-width: 480px) {
  .b_supporter_sub > .detail {
    font-size: 1.2rem;
  }
  .b_supporter_sub > .detail p {
    text-align: left;
  }
}

.b_supporter_sub p.notes {
  color: #6f7f88;
  font-size: 1.2rem;
  line-height: 1.67;
}
@media screen and (max-width: 480px) {
  .b_supporter_sub p.notes {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.b_supporter_sub .btn {
		position: absolute;
		bottom: 35px;
		left: 45px;
}
@media screen and (max-width: 480px) {
  .b_supporter_sub .btn {
	  	position: relative;
	  	bottom: inherit;
	  	left: inherit;
    margin-top: 15px;
  }
}

.info_btm {
		margin: 80px 0 0 0;
}
.info_btm p.txt {
		margin: 0 0 24px 0;
}
@media screen and (max-width: 480px) {
		.info_btm {
				width: 88%;
				margin: 30px auto 0;
		}
		.info_btm p.txt {
				margin: 0 0 18px 0;
				font-size: 1.2rem;
		}
}



