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

/* ---------------------------------------------------------
  協賛・ご寄付のお願い：イントロ
--------------------------------------------------------- */

.support-intro {
  position: relative;
  overflow: hidden;
}

/* Gナビ下の境界をなじませる薄いグラデーション */
.support-intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 38px;
  background: linear-gradient(
    to bottom,
    rgba(246, 226, 228, 0.30) 0,
    rgba(246, 226, 228, 0.14) 20px,
    rgba(255, 255, 255, 0) 38px
  );
  z-index: 2;
  pointer-events: none;
}

.support-intro__bg1{
background: url("../images/intro-bg-left.webp") ;
background-repeat:no-repeat;
background-position:left top;
background-size:40%;
	  position: relative;
  z-index: 0;
}

.support-intro__bg2{
background: url("../images/intro-bg-right.webp") ;
background-repeat:no-repeat;
background-position:right bottom;
background-size:40%;
	  position: relative;
  z-index: 0;
}

.support-intro__inner {
position: relative;
max-width: 1020px;
width:100%;
margin: 0 auto;
padding:110px 0 90px;
background-image: url("../images/intro-heart.png");
background-repeat: no-repeat;
background-position: right center;
background-size: 616px auto;
position: relative;
z-index: 1;
}
@media screen and (max-width:1199px) {
.support-intro__inner {
background-size:60%;	
}
}
@media screen and (max-width:767px) {
.support-intro__inner {
background:none;
padding:60px 0 ;
}
}


.support-intro__content {
position: relative;
max-width:980px;
width:88%;
margin: 0 auto;
}

.support-intro__title {
  max-width: 430px;
  margin-bottom: 12px;
  color: #555;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 3.6rem;
  line-height: 1.45;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1199px) {
  .support-intro__title {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 599px) {
  .support-intro__title {
    font-size: clamp(2.8rem, calc(2.2rem + 1.67vw), 3.2rem);
  }
}


.support-intro__lead {
  max-width: 430px;
  margin-bottom: 36px;
  color: #d8586e;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.2rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
@media screen and (max-width:767px) {
.support-intro__lead {
  font-size: 2.0rem;
  letter-spacing:0em;
  }
}

@media screen and (max-width:767px) {
.support-intro__title,
.support-intro__lead {
text-align:center;
max-width:100%;
}
.support-intro__lead {
  margin-bottom:0;
}
}



.support-intro__text {
  max-width: 430px;
  color: #555;
  letter-spacing: 0.02em;
}
@media screen and (max-width:767px) {
.support-intro__text {
  margin:0 auto;
}
}
.support-intro__text p + p {
  margin-top: 28px;
}

.support-intro__image {
  display: none;
}

@media screen and (max-width:767px) {
.support-intro__image {
display: block;
}
}
.support-intro__image img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------------------------------------------------------
メッセージ support-message
--------------------------------------------------------- */
.support-message{
  background-color: #f9f0f1;
  width: 100%;
  padding: 100px 0 0;
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
}
.support-message_inner{
  max-width: 950px;
  width: 90%;
  background-color: #fff;
  border-radius: 20px;
  margin: 0 auto 70px;
  padding: 90px 100px 70px;	
  position: relative;
  z-index: 2;
}
@media screen and (max-width:767px) {
.support-message_inner{
  padding: 50px 40px 40px;	
}
}
@media screen and (max-width:420px) {
.support-message_inner{
  padding: 50px 20px 30px;	
}
}

.pict_clover{
position:absolute;
left:20px;
top:-50px;
width:143px;
height:auto;
}
@media screen and (max-width:640px) {
img.pict_clover {
width:120px;
}	
}
@media screen and (max-width:380px) {
.pict_clover{
top:-35px;
}
img.pict_clover {
width:100px;
}	
}


.support-message__wave {
  width: 100%;
  line-height: 0;
  background-color: #fff;
  margin-top: -1px;
}


.support-message__wave img {
  display: block;
  width: 100%;
  height: auto;
}
.support-message_midashi{
color: #df575f;
font-size: 28px;
margin-bottom: 40px;
font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", 'Sawarabi Mincho', "ＭＳ Ｐ明朝", "MS PMincho", serif;
text-align: center;
line-height:1.5;
}
@media screen and (max-width: 767px) {
  .support-message_midashi {
    font-size: clamp(20px, calc(9.97px + 2.091vw), 26px);
  }
}
@media screen and (max-width:480px) {
.support-message_midashi{
font-size:20px;
}
}

.support-message_midashi br{
display:none;
}
@media screen and (max-width:960px) {
.support-message_midashi br{
display:inline;
}
}
.support-message_name{
text-align: right;
}

/* ---------------------------------------------------------
  ご支援の活用について
--------------------------------------------------------- */

.support-use {
  background-color: #fff;
  padding: 90px 0 110px;
}
@media screen and (max-width:767px) {
.support-use {
  padding: 60px 0 60px;
}
}


.support-use_ttl {
  margin-bottom: 36px;
  color: #e85f70;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.8rem;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width:767px) {
.support-use_ttl {
font-size: 2.4rem;
}
}

.support-use_intro {
  max-width: 720px;
  width:88%;
  margin: 0 auto 55px;
  color: #555;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width:767px) {
.support-use_intro {
  text-align: left;
}
}
.support-use ul {
  box-sizing: border-box;
  max-width: 1270px;
  width: 100%;
  margin: 0 auto;
  padding: 0 37px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 38px;
  list-style: none;
}
.support-use li {
  min-width: 0;
}
@media screen and (max-width:767px) {
.support-use ul {
max-width: 560px;
display:block;
}
.support-use li {
margin-bottom:40px;
}
}


.support-use li img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 374 / 281;
  object-fit: cover;
}

.support-use_list {
  margin: 22px 0 15px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: center;
}

@media screen and (max-width:767px) {
.support-use_list {
  font-size: 1.6rem;
}
.support-use_text {
  margin-top: 22px;
  color: #333;
  line-height: 1.9;
  letter-spacing: 0.03em;
}
}


/* ---------------------------------------------------------
  年間企業協賛のご案内
--------------------------------------------------------- */

.support-sponsor {
  background-color: #fff;
  padding: 0 0 85px;
}

.support-sponsor_ttl {
  display: flex;
  align-items: center;
  gap: 44px;
  margin-bottom: 72px;
  color: #e85f70;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.8rem;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}
.support-sponsor_ttl::before,
.support-sponsor_ttl::after {
  content: "";
  flex: 1;
  height: 20px;
  background-color: #fbf1f2;
}
@media screen and (max-width:767px) {
.support-sponsor_ttl {
  font-size: 2.4rem;
  margin-bottom: 40px;
gap: 20px;
}
.support-sponsor_ttl::before,
.support-sponsor_ttl::after {
  content: "";
  flex: 1;
  height: 20px;
  background-color: #fbf1f2;
}
}



.support-sponsor_inner {
  max-width: 840px;
  width:88%;
  margin: 0 auto;
}

.support-sponsor_lead {
  margin-bottom: 58px;
  color: #555;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.8rem;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 1023px) {
.support-sponsor_lead {
  font-size: 2.4rem;
  margin-bottom:48px;
}	
}
@media screen and (max-width: 580px) {
.support-sponsor_lead {
font-size: clamp(18px, calc(18px + (100vw - 360px) * 2 / 220), 20px);
}	
}
@media screen and (max-width: 370px) {
.support-sponsor_lead {
letter-spacing:-0.05rem;
}	
}


.support-sponsor_text {
  margin-bottom: 38px;
  color: #555;	
}

.support-sponsor_text p + p {
  margin-top: 24px;
}

.support-sponsor_banner {
  max-width: 840px;
  margin: 0 auto 80px;
}
@media screen and (max-width:767px) {
.support-sponsor_banner {
  margin: 0 auto 60px;
}
}

.support-sponsor_banner img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------------------------------------------------------
  年間企業協賛：パートナー種別
--------------------------------------------------------- */

.support-sponsor_plans {
  margin-top: 70px;
	max-width:840px;
	width:88%;
	margin:0 auto;
}

.support-sponsor_plans_midashi{
  margin-bottom: 45px;
  color: #555;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.4rem;
  line-height: 1.9;
  text-align: center;	
  position: relative;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  z-index: 0;
}
.support-sponsor_plans_midashi::after {
  content: "";
  position: absolute;
  left: -0.15em;
  right: -0.15em;
  bottom: 0.1em;
  height: 20px;
  background: #f7e8e9;
  z-index: -1;
}

.support-sponsor_plan {
  padding: 0 0 25px;
}

.support-sponsor_plan + .support-sponsor_plan {
  border-top: 1px solid #aaa;
  padding-top: 25px;
}

.support-sponsor_plan_head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.support-sponsor_plan_icon {
  width: 45px;
  flex-shrink: 0;
}

.support-sponsor_plan_icon img {
  display: block;
  width: 100%;
  height: auto;
}

.support-sponsor_plan_ttl {
  margin: 0;
  color: #555;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.5;
}

.support-sponsor_plan_ttl span {
  display: inline-block;
  margin-left: 18px;
}

.support-sponsor_plan_text {
  margin: 0;
  color: #555;
  line-height: 1.9;
}

.support-sponsor_note {
margin-top:25px;
  color: #555;
  line-height: 1.8;
}

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

  .support-sponsor_plans {
    margin-top: 58px;
  }

  .support-sponsor_plan {
    padding-bottom: 30px;
  }

  .support-sponsor_plan + .support-sponsor_plan {
    padding-top: 30px;
  }

  .support-sponsor_plan_icon {
    width: 44px;
  }

  .support-sponsor_plan_ttl {
    font-size: 1.9rem;
  }

  .support-sponsor_plan_text,
  .support-sponsor_note {
    font-size: 1.5rem;
  }

}


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

  .support-sponsor_plans {
    margin-top: 45px;
  }
.support-sponsor_plans_midashi{
font-size:2.0rem;
}
.support-sponsor_plans_midashi::after {
  height: 14px;
}
  .support-sponsor_plan {
    padding-bottom: 28px;
  }

  .support-sponsor_plan + .support-sponsor_plan {
    padding-top: 28px;
  }

  .support-sponsor_plan_head {
    gap: 14px;
    margin-bottom: 14px;
  }

  .support-sponsor_plan_icon {
    width: 38px;
  }

  .support-sponsor_plan_ttl {
    font-size: 1.7rem;
  }

  .support-sponsor_plan_ttl span {
    margin-left: 10px;
  }

  .support-sponsor_plan_text {
    font-size: 1.45rem;
    line-height: 1.9;
  }

  .support-sponsor_note {
    margin-top: 38px;
    font-size: 1.45rem;
  }

}











/* ---------------------------------------------------------
  協賛企業一覧
--------------------------------------------------------- */

.support-partners {
  background-color: #f6f2f2;
  padding: 95px 0 105px;
}

.support-partners_ttl {
  margin-bottom: 34px;
  color: #e85f70;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
}

.support-partners_intro {
  margin-bottom: 55px;
  color: #555;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 540px) {
.support-partners_intro {
  text-align: left;
}	
}


.support-partners_list {
  display: grid;
  grid-template-columns: repeat(3, 330px);
  gap: 20px;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.support-partners_list li {
  margin: 0;
  padding: 0;
}

.support-partners_list a {
  display: block;
  color: #333;
  text-decoration: none;
}

.support-partners_logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 330px;
  height: 200px;
  padding: 35px 42px;
  background-color: #fff;
  border: 1px solid #e5e0e0;
  box-sizing: border-box;
}

.support-partners_logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* 横長ロゴ */
.support-partners_logo--wide {
  padding: 48px 45px;
}

/* 縦長ロゴ */
.support-partners_logo--tall {
  padding: 28px 72px;
}

.support-partners_name {
  position: relative;
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 20px;
  padding-right: 22px;
  line-height: 1.6;
  text-align: left;
  overflow-wrap: anywhere;
}

.support-partners_name::after {
  content: "";
  position: absolute;
  right: 2px;
top: 8px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #e85f70;
  border-right: 1px solid #e85f70;
  transform: rotate(45deg);
}


.support-partners_list li {
  text-align: center;
}
@media screen and (max-width: 1100px) {

  .support-partners {
    padding: 80px 0 90px;
  }

  .support-partners_list {
    width: 90%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .support-partners_logo {
    width: 100%;
    height: 18.5vw;
    min-height: 155px;
    max-height: 200px;
    padding: clamp(24px, 3vw, 35px) clamp(28px, 3.6vw, 42px);
  }

}
@media screen and (max-width: 767px) {
  .support-partners {
    padding: 58px 0 70px;
  }

  .support-partners_ttl {
    margin-bottom: 24px;
    font-size: 2.2rem;
  }

  .support-partners_intro {
    width: 88%;
    margin: 0 auto 38px;
    font-size: 1.45rem;
    line-height: 1.9;
  }

  .support-partners_list {
    width: 88%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }

  .support-partners_logo {
    height: clamp(140px, 26vw, 190px);
    padding: 24px 28px;
  }

  .support-partners_name {
    margin-top: 14px;
    font-size: 1.5rem;
  }
  .support-partners_logo--wide {
    padding: 32px 28px;
  }

  .support-partners_logo--tall {
    padding: 22px 44px;
  }
}
@media screen and (max-width: 559px) {

  .support-partners_list {
    display: block;
    width: 88%;
    max-width: 380px;
  }

  .support-partners_list li + li {
    margin-top: 34px;
  }

  .support-partners_logo {
    height: 190px;
    padding: 30px 38px;
  }

  .support-partners_logo--wide {
    padding: 42px 38px;
  }

  .support-partners_logo--tall {
    padding: 28px 62px;
  }

  .support-partners_name {
    margin-top: 16px;
  }
}

/* ---------------------------------------------------------
  協賛お問合せ
--------------------------------------------------------- */
.support-contact{
padding:100px 0;
width:90%;
margin:0 auto;
}

.support-contact_midashi{
  color: #e85f70;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
margin-bottom:35px;
}

@media screen and (max-width:767px) {
.support-contact{
padding:60px 0;
}
.support-contact_midashi{
font-size: 2.2rem;
}
}

.support-contact_text{
text-align:center;
margin-bottom:30px;
}



/* ---------------------------------------------------------
  協賛企業 詳細ページ
--------------------------------------------------------- */

#container{
margin: 70px auto 0;
}
@media screen and (max-width: 1199px)  {
#container{
margin:50px auto 0;
}
}
@media screen and (max-width: 767px)  {
#container{
margin:40px auto 0;
}
}

#support_singletext {
  max-width: 1060px;
  width: 88%;
  margin: 0 auto;
  padding: 20px 0 60px;
}

/* タイトルまわり */
.supportTitle {
  margin-bottom: 60px;
  padding: 20px 4px 12px;
  border-top: 5px solid #e8a0aa;
  border-bottom: 1px solid #cfcfcf;
  text-align: left;
}

#supportname {
  color: #555;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.5;
}

/* 本文エリア */
.support-single_contents {
  display: flex;
  align-items: flex-start;
  gap: 44px;
}

.support-single_logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  height: 270px;
  padding: 42px;
  background-color: #fff;
  border: 1px solid #cfcfcf;
  box-sizing: border-box;
  flex-shrink: 0;
}

.support-single_logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.support-single_textbox {
  flex: 1;
  min-width: 0;
}

.support-single_textbox h3 {
  margin-bottom: 24px;
  color: #e85f70;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.5;
}

.support-single_textbox h3:not(:first-child) {
  margin-top: 58px;
}


/* 公式サイトリンク */
.support-url {
  margin-top: 34px;
  background-color: #f6f2f2;
}

.support-url a {
  display: block;
  padding: 10px 24px 10px 58px;
  color: #555;
  text-decoration: none;
  background-image: url("../images/prof_ico_hp.png");
  background-repeat: no-repeat;
  background-position: 24px center;
  box-sizing: border-box;
}

.support-url a::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 18px;
  border-top: 2px solid #e85f70;
  border-right: 2px solid #e85f70;
  transform: rotate(45deg);
}

/* 一覧へ戻るボタン */
.support-single_back .link{
width:260px;
margin-bottom: 20px;

}

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

  #support_singletext {
    width: 90%;
  }

  .support-single_contents {
    gap: 42px;
  }

  .support-single_logo {
    width: 30%;
    max-width: 300px;
    height: auto;
    aspect-ratio: 354 / 318;
    padding: 42px;
  }

}

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

  .supportTitle {
    margin-bottom: 36px;
  }

  #supportname {
    font-size: clamp(2.0rem, calc(1.55rem + 1.25vw), 2.4rem);
    line-height: 1.6;
    overflow-wrap: break-word;
  }

  .support-single_contents {
    display: block;
  }

  .support-single_logo {
  width: 100%;
  max-width: 300px;
  height: auto;
  aspect-ratio: 354 / 318;
  margin: 0 auto 42px;
  padding: 42px;
  }

  .support-single_textbox h3 {
    margin-bottom: 20px;
    font-size: 2.2rem;
  }

  .support-single_textbox h3:not(:first-child) {
    margin-top: 44px;
  }

  .support-url {
    margin-top: 28px;
  }

  .support-url a {
    padding: 16px 20px 16px 52px;
    background-position: 20px center;
  }

  .support-single_textbox .link {
    margin-top: 52px;
  }

}


/* 過去の協賛企業 */
.support-partners_subttl {
  margin: 110px 0 52px;
  color: #e85f70;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
}

.support-partners_list--past {
  grid-template-columns: repeat(4, 236px);
  gap: 20px;
}

.support-partners_list--past .support-partners_logo {
  width: 236px;
  height: 160px;
  padding: 30px 34px;
}

.support-partners_list--past .support-partners_name {
  margin-top: 12px;
  padding-right: 0;
  font-size: 1.5rem;
}

.support-partners_list--past .support-partners_name::after {
  display: none;
}

@media screen and (max-width: 1100px) {
  .support-partners_list--past {
    width: 90%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .support-partners_list--past .support-partners_logo {
    width: 100%;
    height: clamp(130px, 14.5vw, 160px);
    min-height: 0;
    max-height: none;
    padding: 26px 28px;
  }
}

@media screen and (max-width: 767px) {
  .support-partners_subttl {
    margin: 72px 0 34px;
    font-size: 2.2rem;
  }

  .support-partners_list--past {
    width: 86%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 20px;
  }

  .support-partners_list--past .support-partners_logo {
    height: clamp(135px, 26vw, 170px);
    padding: 24px 28px;
  }

  .support-partners_list--past .support-partners_name {
    font-size: 1.45rem;
  }
}

@media screen and (max-width: 559px) {
  .support-partners_list--past {
    display: grid;
    width: 88%;
    max-width: 420px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .support-partners_list--past li + li {
    margin-top: 0;
  }

  .support-partners_list--past .support-partners_logo {
    width: 100%;
    height: clamp(105px, 27vw, 135px);
    padding: 20px 18px;
  }
  .support-partners_list--past .support-partners_name {
    margin-top: 10px;
    padding-right: 0;
    font-size: 1.25rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
}


