/**************************************/
.regist {
  background-color: #E2E2DC;
  border-radius: 20px;
  padding: 80px 0;
  max-width: 1640px;
  width: calc(100% - 40px);
  margin: 0 auto; }
  .regist > p {
    text-align: center;
    font: 4rem/1.8em "Noto Serif JP", serif;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin: 0 auto 40px;
    color: #252525; }
    .regist > p br {
      display: none; }
  .regist > div {
    max-width: 1390px;
    width: calc(100% - 40px);
    margin: 0 auto; }
    .regist > div a {
      transition: .3s;
      text-decoration: none;
      position: relative;
      background-color: #fff; }
      .regist > div a br.block {
        display: none; }
      .regist > div a:before {
        position: absolute;
        content: "";
        display: block;
        background: url("../images/index/awwor.svg") center center no-repeat;
        background-size: contain;
        width: 51px;
        height: 7px; }
      .regist > div a:after {
        position: absolute;
        content: "";
        display: block; }
      .regist > div a.resist01:after {
        background: url("../images/index/resist01.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 70/70;
        width: 100%;
        max-width: 70px;
        height: auto;
        top: 30px;
        left: 50%;
        transform: translate(-50%, 0%); }
      .regist > div a.resist02:after {
        background: url("../images/index/resist02.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 70/70;
        width: 100%;
        max-width: 70px;
        height: auto;
        top: 30px;
        left: 50%;
        transform: translate(-50%, 0%); }
      .regist > div a.resist03:after {
        background: url("../images/index/resist03.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 70/70;
        width: 100%;
        max-width: 70px;
        height: auto;
        top: 30px;
        left: 50%;
        transform: translate(-50%, 0%); }
      .regist > div a.resist04:after {
        background: url("../images/index/resist04.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 70/70;
        width: 100%;
        max-width: 70px;
        height: auto;
        top: 30px;
        left: 50%;
        transform: translate(-50%, 0%); }
      .regist > div a.resist05:after {
        background: url(../images/index/icon_payroll-deduction.svg) center center no-repeat;
        background-size: contain;
        aspect-ratio: 70/69;
        width: 100%;
        max-width: 68px;
        height: auto;
        top: 30px;
        left: 50%;
        transform: translate(-50%, 0%); }
      .regist > div a.resist06:after {
        background: url("../images/index/resist05.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 68/71;
        width: 100%;
        max-width: 68px;
        height: auto;
        top: 50%;
        left: 30px;
        transform: translate(0, -50%); }
      .regist > div a.resist07:after {
        background: url("../images/index/resist06.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 71/71;
        width: 100%;
        max-width: 71px;
        height: auto;
        top: 50%;
        left: 30px;
        transform: translate(0, -50%); }
      .regist > div a.resist08:after {
        background: url("../images/index/resist07.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 71/71;
        width: 100%;
        max-width: 71px;
        height: auto;
        top: 50%;
        left: 30px;
        transform: translate(0, -50%); }
  .regist > div.flex {
    margin-bottom: 60px; }
    .regist > div.flex .top {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start;
      margin: 0 auto 25px; }
      .regist > div.flex .top a {
        width: calc((100% - 50px)/2);
        margin: 0 15px; }
    .regist > div.flex .btm {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      max-width: 1020px;
      margin: 0 auto;
      align-items: flex-start; }
      .regist > div.flex .btm a {
        width: calc((100% - 60px)/3); }
    .regist > div.flex a {
      max-width: 328px;
      background-color: #fff;
      border-top: 15px solid #BAFC3B;
      position: relative;
      height: 270px;
      padding: 120px 0 0;
      display: block; }
      .regist > div.flex a p {
        text-align: center;
        font: 2rem/1.5em "Noto Sans JP", serif;
        font-weight: 500;
        letter-spacing: 0.05em;
        height: 75px;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center; }
      .regist > div.flex a span {
        font: 1.9rem/1.5em "Noto Sans JP", serif;
        font-weight: 500;
        margin: 5px auto 0;
        padding: 3px;
        display: block;
        width: fit-content;
        border: 1px solid #707070; }
      .regist > div.flex a:before {
        top: auto;
        bottom: 28px;
        left: 50%;
        transform: translate(-50%, 0%); }
  .regist > div.flex_3 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
    .regist > div.flex_3 a {
      width: calc((100% - 50px)/3);
      max-width: 445px;
      background-color: #fff;
      border-left: 15px solid #BAFC3B;
      position: relative;
      height: 150px;
      padding: 0 0 0 135px;
      font: 2rem/1.5em "Noto Sans JP", serif;
      font-weight: 500;
      letter-spacing: 0.05em;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start; }
      .regist > div.flex_3 a:before {
        top: 50%;
        left: auto;
        right: 30px;
        transform: translate(0%, -50%); }

@media (hover: hover) {
  .regist > div a:hover {
    background-color: #F4F4EE; } }
@media (max-width: 1280px) {
  .regist {
    max-width: 1040px; }
    .regist > div.flex {
      max-width: 680px;
      margin-bottom: 45px; }
      .regist > div.flex .top {
        margin: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start; }
        .regist > div.flex .top a {
          width: calc((100% - 25px)/2);
          max-width: 328px;
          margin: 0 0 25px; }
      .regist > div.flex .btm {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start; }
        .regist > div.flex .btm a {
          width: calc((100% - 25px)/2);
          max-width: 328px;
          margin: 0 0 25px; }
    .regist > div.flex_3 {
      max-width: 910px; }
      .regist > div.flex_3 a {
        width: calc((100% - 25px)/2);
        max-width: 445px;
        margin: 0 0 25px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .regist > div.flex_3 {
    max-width: 540px; }
    .regist > div.flex_3 a {
      width: 100%;
      max-width: 540px;
      margin: 0 auto 25px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .regist p {
    text-align: center;
    font: 3.2rem/1.5em "Noto Serif JP", serif;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin: 0 auto 25px; }
    .regist p br {
      display: block; }
  .regist > div.flex .top a,
  .regist > div.flex .btm a {
    width: 100%;
    margin: 0 auto 25px; }
  .regist > div.flex_3 a {
    width: 100%;
    margin: 0 auto 25px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .regist {
    padding: 40px 0;
    max-width: 325px;
    width: calc(100% - 40px);
    margin: 0 auto; }
    .regist p {
      text-align: center;
      font: 2.5rem/1.5em "Noto Serif JP", serif;
      font-weight: 500;
      letter-spacing: 0.08em;
      margin: 0 auto 25px; }
      .regist p br {
        display: block; }
    .regist > div a br.block {
      display: block; }
    .regist > div a.resist01:after, .regist > div a.resist02:after, .regist > div a.resist03:after, .regist > div a.resist04:after, .regist > div a.resist05:after {
      max-width: 60px;
      top: 20px; }
    .regist > div a.resist06:after, .regist > div a.resist07:after, .regist > div a.resist08:after {
      max-width: 57px;
      left: 20px; }
    .regist > div.flex {
      margin-bottom: 30px; }
      .regist > div.flex .top a,
      .regist > div.flex .btm a {
        margin: 0 auto 15px;
        width: 100%;
        max-width: 260px;
        height: 215px;
        padding: 92px 0 0; }
        .regist > div.flex .top a p,
        .regist > div.flex .btm a p {
          font: 1.8rem/1.5em "Noto Sans JP", serif;
          font-weight: 500;
          letter-spacing: 0.05em;
          height: 65px; }
        .regist > div.flex .top a span,
        .regist > div.flex .btm a span {
          font: 1.6rem/1.5em "Noto Sans JP", serif; }
        .regist > div.flex .top a:before,
        .regist > div.flex .btm a:before {
          bottom: 20px; }
    .regist > div.flex_3 a {
      max-width: 270px;
      height: 130px;
      padding: 0 0 0 100px;
      font: 1.8rem/1.5em "Noto Sans JP", serif;
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 auto 15px; }
      .regist > div.flex_3 a:before {
        right: 20px; } }
/*max-width:480px*/
/**************************************/
.ttl_post,
.ttl_designated {
  display: block;
  padding: 0 0 0 80px;
  position: relative; }

.ttl_post {
  background: url("../images/index/resist03.svg") left center no-repeat;
  background-size: 60px; }

.ttl_designated {
  background: url("../images/index/resist04.svg") left center no-repeat;
  background-size: 60px; }

.donations .btn {
  margin: 0 auto; }

@media (max-width: 1280px) {
  .ttl_post,
  .ttl_designated {
    width: fit-content;
    margin: 0 auto;
    padding: 0 0 0 60px;
    position: relative; }

  .ttl_post {
    background: url("../images/index/resist03.svg") left center no-repeat;
    background-size: 40px; }

  .ttl_designated {
    background: url("../images/index/resist04.svg") left center no-repeat;
    background-size: 40px; } }
/*max-width:1280px*/
@media (max-width: 480px) {
  .ttl_post,
  .ttl_designated {
    padding: 0 0 0 45px;
    background-size: 30px; } }
/*max-width:480px*/
