@charset "utf-8";

/*===================
共通パーツ
===================*/
.btn-form {
  width: 151px;
  position: fixed;
  right: 5vw;
  bottom: 35px;
  z-index: 3;
}
.btn-form__link {
  display: block;
  width: 100%;
}
.cont-box {
  border: 7px solid #f3abca;
  border-radius: 15px;
  background: #fff;
  position: relative;
}
.cont-box::after {
  content: "";
  position: absolute;
  top: 18px;
  right: -21px;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle, #f3abca 2px, transparent 2px),
    radial-gradient(circle, #f3abca 2px, transparent 2px);
  background-position: 0 0, 5px 5px;
  background-size: 10px 10px;
  border-radius: 15px;
  z-index: -1;
}
.cont-box__inner {
  border: 7px solid #fff;
  border-radius: 15px;
  padding: 25px 8px 25px 28px;
  background: #fff;
}
.cont-box__cont {
  position: relative;
  z-index: 2;
}
.c-gray {
  color: #595757;
}
@media screen and (max-width: 1000px) {
  .btn-form {
    width: 120px;
    right: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .btn-form {
    width: 100%;
    bottom: 0;
    right: 0;
  }
  .cont-box::after {
    top: 15px;
    right: -15px;
  }
  .cont-box__inner {
    padding: 5px 0px 5px 5px;
  }
}
/*===================
fv
===================*/
.fv {
  width: 100%;
  background: url(../imgs/index/fv_pc.jpg) center bottom / cover no-repeat;
  position: relative;
  z-index: -1;
}
.fv__contents {
  padding-top: 177px;
  padding-bottom: 100px;
}
.fv__heading01 {
  /* width: 59%;
  max-width: 841px; */
  width: 65%;
  max-width: 924px;

  margin: 0 auto 0;
  /* position: absolute;
  top: 33%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); */
}
.fv__heading02 {
  width: 41%;
  max-width: 587px;
  margin: 24px auto 0;
  /* position: absolute;
  top: 63%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); */
}
.fv__txtBox {
  width: 68%;
  max-width: 978px;
  margin: 46px auto 0;
  /* position: absolute;
  top: 85%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); */
}

.fv__txt {
  font-size: 20px;
  line-height: 1.75;
  color: #333;
  font-family: "MFW-UDShinMGoPro-Bold";
}

@media screen and (max-width: 750px) {
  .fv {
    background: url(../imgs/index/fv_sp.jpg) center bottom / cover no-repeat;
  }
  .fv__contents {
    padding-top: 130px;
  }
  .fv__heading01 {
    width: 90%;
  }
  .fv__heading02 {
    width: 68%;
    max-width: 438px;
  }
  .fv__txtBox {
    width: 88%;
    margin-top: 0;
    padding-top: 29%;
    position: relative;
    z-index: 2;
  }
  .fv__txtBox .cont-box {
    position: relative;
    z-index: 2;
  }
  .fv__txtBox::before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 35%;
    background: url(../imgs/index/people.png) center center / cover;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    z-index: 1;
  }
  .fv__txt {
    font-size: 16px;
  }
}

/*===================
intro
===================*/

.intro {
  padding: 36px 0 0;
}
.intro__date {
  max-width: 966px;
  margin-bottom: 6px;
}
.intro__container {
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto;
  grid-template-areas:
    "area1 area2 area2"
    "area1 area3 area4";
  align-items: center;
}

/* 各エリアに対応 */
.intro__area1 {
  grid-area: area1;
  width: fit-content;
  padding: 36px 5px;
  border: 5px solid #7361a9;
  background: #fff67f;
  border-radius: 15px;
  font-size: 27px;
  color: #7361a9;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.intro__area2 {
  grid-area: area2;
  width: fit-content;
  height: fit-content;
  padding-top: 15px;
  padding-left: 5px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 34px;

  line-height: 1.21;
  color: #565454;
}
.intro__area3 {
  grid-area: area3;
  padding-left: 5px;
  /* padding-top: 14px; */
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 25px;
  line-height: 1.23;
  color: #565454;
}
.intro__area4 {
  grid-area: area4;
  width: 245px;
  /* padding-top: 10px; */
}
.intro__area4--link {
  display: block;
  padding: 3px 0 4px;
  background: #00a274;
  border: 5px solid #00a274;
  border-radius: 10px;
  color: #fff;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 700;
  font-size: 22px;
  text-align: center;
  transition: 0.3s;
}
.intro__area4--link:hover {
  background: #fff;
  color: #00a274;
}
.intro__txtBox .cont-box {
  border: 7px solid #00a274;
}
.intro__txtBox {
  position: relative;
}
.intro__bag {
  max-width: 163px;
  width: 18%;
  background: url(../imgs/index/eco-bag.png) center center / cover no-repeat;
  position: absolute;
  top: -31px;
  right: 2px;
}
.intro__txtBox .cont-box::after {
  background-image: radial-gradient(circle, #00a274 2px, transparent 2px),
    radial-gradient(circle, #00a274 2px, transparent 2px);
}
.intro__txt {
  max-width: 746px;
  width: 80%;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 22px;
  line-height: 1.71;
  color: #00a274;
}
.intro__txt .c-pink {
  color: #e84783;
  font-size: 35px;
}
@media screen and (max-width: 1050px) {
  .intro__bag {
    top: 4px;
    right: -4px;
  }
}
@media screen and (max-width: 750px) {
  .intro__container {
    grid-template-areas:
      "area1 area2 area2"
      "area1 area3 area3"
      "area1 area4 area4";
    align-items: stretch;
  }
  .intro__area1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 36px 1px;
  }
  .intro__area2 {
    padding-left: 10px;
    padding-bottom: 10px;
    font-size: 21px;
  }
  .intro__area3 {
    padding-left: 10px;
    padding-bottom: 10px;
    font-size: 21px;
  }
  .intro__area4 {
    padding-left: 10px;
  }
  .intro__area4--link {
    font-size: 17px;
  }
  .intro__bag {
    position: static;
    width: 100%;
    margin: 0 auto 20px;
  }
  .intro__txt {
    width: 100%;
    font-size: 17px;
  }
  .intro__txt .c-pink {
    font-size: 22px;
  }
}

/*===================
municipality
===================*/
.municipality {
  padding: 47px 0 0;
}
.municipality__ttl {
  max-width: 281px;
  margin: 0 auto 49px;
}
.municipality__map {
  width: 90%;
  margin: 0 auto 73px;
}
.municipality__explanation {
  width: 90%;
  max-width: 602px;
  margin: 0 auto 35px;
}
.municipality__head {
  width: fit-content;
  margin: 0 auto 40px;
  padding: 4px 10px;
  border-bottom: 2px solid #79c388;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.06em;
  color: #79c388;
}
.municipality__head.c-purple {
  border-bottom: 2px solid #7361a9;
  color: #7361a9;
}
.municipality__head.c-blue {
  border-bottom: 2px solid #00a0d0;
  color: #00a0d0;
}
.municipality__head.c-pink {
  border-bottom: 2px solid #e87b98;
  color: #e87b98;
}
.municipality__container + .municipality__container {
  margin-top: 90px;
}
.municipality__list {
  /* width: 90%; */
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4.9vw, 49px) 5.4%;
}
.municipality__item {
  width: 100%;
}
.municipality__wrap .cont-box__inner {
  padding: 44px 21px 25px 21px;
}
.municipality__wrap .cont-box {
  border: 7px solid #7361a9;
}
.municipality__wrap .cont-box::after {
  background-image: radial-gradient(circle, #7361a9 2px, transparent 2px),
    radial-gradient(circle, #7361a9 2px, transparent 2px);
}
@media screen and (max-width: 800px) {
  .municipality__list {
    width: 90%;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 750px) {
  .municipality__wrap .cont-box__inner {
    padding: 44px 0px 25px 0px;
  }
  .municipality__container + .municipality__container {
    margin-top: 70px;
  }
  .municipality__head {
    margin-bottom: 24px;
  }
  .municipality__map {
    margin: 0 auto 30px;
  }
}
@media screen and (max-width: 500px) {
  .municipality__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
/*===================
campaign
===================*/
.campaign {
  padding: 47px 0 0;
}
.campaign__wrap .cont-box__inner {
  padding: 44px 21px 47px 21px;
}
.campaign__wrap .cont-box {
  border: 7px solid #e84783;
}
.campaign__wrap .cont-box::after {
  background-image: radial-gradient(circle, #e84783 2px, transparent 2px),
    radial-gradient(circle, #e84783 2px, transparent 2px);
}
.campaign__ttl {
  margin-bottom: 44px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 46px;
  letter-spacing: 0.06em;
  line-height: 1.32;
  text-align: center;
  color: #e84783;
}
.campaign__presentWrap {
  margin-bottom: 57px;
}
.campaign__presentList {
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4.9vw, 49px) 5.4%;
}
.campaign__presentItem {
  width: 100%;
}
.campaign__presentPic {
  width: 100%;
  margin-bottom: 19px;
  position: relative;
}
.campaign__presentPic::before {
  display: block;
  content: "";
  width: 58px;
  height: 58px;
  background: url(../imgs/index/present_num1.png) center center / cover
    no-repeat;
  position: absolute;
  top: -9px;
  left: -5px;
}
.campaign__presentItem:nth-child(2) .campaign__presentPic::before {
  background: url(../imgs/index/present_num2.png) center center / cover
    no-repeat;
}
.campaign__presentItem:nth-child(3) .campaign__presentPic::before {
  background: url(../imgs/index/present_num3.png) center center / cover
    no-repeat;
}
.campaign__presentHeading {
  margin-bottom: 7px;
  font-family: "FOT-ユールカ Std UB";
  font-size: 28px;
  color: #51bec8;
  text-align: center;
}
.campaign__presentHeading.color-pink {
  color: #e84783;
}
.campaign__presentTxt {
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 13px;
  line-height: 1.63;
  color: #595757;
  text-align: center;
}
.campaign__presentNotes {
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
.campaign__flowWrap {
  margin-bottom: 78px;
}
.campaign__flowTtl {
  width: fit-content;
  padding-bottom: 6px;
  border-bottom: 1px solid #d9715e;
  margin: 0 auto 37px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 24px;
  text-align: center;
  color: #ef5a24;
}
.campaign__flowList {
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4.9vw, 49px) 5.4%;
}
.campaign__flowItem {
  width: 100%;
  padding: 25px 13px 8px;
  border: 6px solid #d9715e;
  border-radius: 22px;
}
.campaign__flowNum {
  margin-bottom: 23px;
  display: block;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 24px;
  text-align: center;
  color: #ef5a24;
}
.campaign__flowTxt {
  margin-bottom: 20px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 14px;
  line-height: 1.49;
  text-align: center;
  color: #595757;
}
.campaign__flowPic {
  margin-bottom: 12px;
}
.campaign__flowBtn {
  margin-top: 30px;
}
.campaign__flowBtn--link {
  display: block;
  width: 100%;
  max-width: 227px;
  padding: 12px 5px;
  margin: 0 auto;
  background: #00a0d0;
  border-radius: 999px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 14px;
  color: #fff;
  text-align: center;
}
.campaign__flowTxt02 {
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 14px;
  line-height: 1.49;
}
.campaign__OutlineTtl {
  margin-top: 40px;
  margin-bottom: 40px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 18px;
  text-align: center;
  color: #595757;
}
.campaign__OutlineBox {
  width: 90%;
  max-width: 794px;
  margin: 0 auto;
}
.campaign__OutlineTxt {
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 14px;
  line-height: 1.49;
  color: #595757;
}
.campaign__OutlineTxt + .campaign__OutlineTxt {
  margin-top: 23px;
}
@media screen and (max-width: 900px) {
  .campaign__flowItem {
    padding: 25px 15px;
  }
  .campaign__flowList {
    width: 90%;
    max-width: 400px;
    margin: 0 auto;
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 750px) {
  .campaign__wrap .cont-box__inner {
    padding: 44px 0px 25px 0px;
  }
  .campaign__ttl {
    font-size: 31px;
  }
}
@media screen and (max-width: 600px) {
  .campaign__presentList {
    width: 90%;
    max-width: 400px;
    margin: 0 auto;
    grid-template-columns: repeat(1, 1fr);
  }
}
/*===================
campaign02
===================*/
.campaign02__wrap .cont-box {
  border: 7px solid #d9715e;
}
.campaign02__wrap .cont-box::after {
  background-image: radial-gradient(circle, #d9715e 2px, transparent 2px),
    radial-gradient(circle, #d9715e 2px, transparent 2px);
}
.campaign02__ttl {
  margin-bottom: 44px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 46px;
  letter-spacing: 0.06em;
  line-height: 1.32;
  text-align: center;
  color: #d9715e;
}
.lottery__sub {
  margin-bottom: 25px;
  font-size: 25px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  line-height: 1.2;
  text-align: center;
  color: #565454;
}
.lottery__sub .c-orange {
  color: #ef5a24;
}
.lottery__wrap {
  margin-bottom: 25px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px 0.5%;
}
.lottery__pic {
  width: 100%;
}
.lottery__txt {
  margin-bottom: 15px;
  font-size: 18px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  line-height: 1.2;
  text-align: center;
  color: #565454;
}
.lottery__txt .c-orange {
  color: #ef5a24;
}
@media screen and (max-width: 750px) {
  .campaign02__ttl {
    font-size: 31px;
  }
  .lottery__wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
/*===================
introduction
===================*/
.introduction {
  padding-top: 47px;
}
.introduction__inner.cont-box__inner {
  padding: 12px 12px 25px 16px;
}

.introduction__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4.9vw, 49px) 5.4%;
  align-items: stretch;
}

.introduction_item {
  width: 100%;
  border-radius: 22px;
  display: flex;
  flex-direction: column;
  border-radius: 22px;
}
.introduction__txtBox {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.introduction__txtBox .cont-box {
  border: 7px solid #a6d8d1;
}
.introduction__txtBox .cont-box::after {
  background-image: radial-gradient(circle, #a6d8d1 2px, transparent 2px),
    radial-gradient(circle, #a6d8d1 2px, transparent 2px);
}
.introduction__title {
  width: 100%;
}
.introduction__pic {
  margin-bottom: 14px;
}
.introduction__txt {
  margin-bottom: 30px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 12px;
  line-height: 1.74;
  color: #595757;
}
.introduction__btn {
  margin-top: auto;
}
.introduction__btn--link {
  display: block;
  width: 100%;
  max-width: 227px;
  padding: 12px 5px;
  margin: 0 auto;
  background: #00a0d0;
  border-radius: 999px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 14px;
  color: #fff;
  text-align: center;
}

.introduction__txtBox,
.introduction__txtBox .cont-box,
.introduction__inner,
.introduction__cont.cont-box__cont {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
@media screen and (max-width: 900px) {
  .introduction__list {
    grid-template-columns: repeat(1, 1fr);
  }
  .introduction__cont.cont-box__cont {
    display: grid;
    grid-template-areas:
      "introduction__title introduction__title"
      "introduction__pic introduction__txt"
      "introduction__btn introduction__btn";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    column-gap: 15px;
    max-width: 500px;
    margin: 0 auto;
  }
  .introduction__title {
    grid-area: introduction__title;
  }
  .introduction__pic {
    grid-area: introduction__pic;
  }
  .introduction__txt {
    grid-area: introduction__txt;
  }
  .introduction__btn {
    grid-area: introduction__btn;
  }
}
@media screen and (max-width: 750px) {
  .introduction__inner.cont-box__inner {
    padding: 18px 0px 25px 0px;
  }
}

/*===================
link
===================*/
.link {
  padding-top: 47px;
  padding-bottom: 47px;
}
.link__wrap .cont-box__inner {
  padding: 44px 21px 47px 21px;
}
.link__wrap .cont-box {
  border: 7px solid #51bec8;
}
.link__wrap .cont-box::after {
  background-image: radial-gradient(circle, #51bec8 2px, transparent 2px),
    radial-gradient(circle, #51bec8 2px, transparent 2px);
}

.link__ttl {
  margin-bottom: 44px;
  font-family: "MFW-UDShinMGoPro-Heavy";
  font-size: 46px;
  letter-spacing: 0.06em;
  line-height: 1.32;
  color: #51bec8;
  text-align: center;
}
.link__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 1.74vw, 25px) 2.4%;
}
.link__item {
  width: 100%;
}
.link__link {
  display: block;
  padding: 4px 0;
  border: 6px solid #51bec8;
  border-radius: 22px;
}
.link__bnr {
  position: relative;
  height: 0;
  width: 70%;
  padding-top: 24%;
  margin: 0 auto;
  display: block;
  overflow: hidden;
}
.link__link .img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 750px) {
  .link__wrap .cont-box__inner {
    padding: 44px 0px 25px 0px;
  }
  .link__ttl {
    font-size: 31px;
  }
  .link__list {
    width: 70%;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 500px) {
  .link__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
