@charset "utf-8";

/* ===============================================
   environment
=============================================== */

.ls-minus {
  letter-spacing: -0.025em;
}

.img_rd {
  border-radius: clamp(3px, 0.5vw, 5px);
  overflow: hidden;
}

.wrapper .text {
  letter-spacing: normal;
}

.cont_title {
  line-height: 1.6em;
  margin-bottom: 0.5em;
}

.cont_title > span.ib {
  display: inline-block;
  font-size: inherit;
  font-weight: inherit;
}

br.sp {
  font-size: 0;
}

.pl1em {
  padding-left: 1em;
}

.list_1 li {
  margin-top: 0.5em;
}

.list_note_1 li {
  margin-top: 0.5em;
}

.text .list_note_1 > li {
  font-size: 0.85em;
}

@media screen and (max-width: 768px) {
  .reduce #page_cont_box, .reuse #page_cont_box, .recycle #page_cont_box {
    padding-top: 0;
  }

  .page_title {
    line-height: 1.3;
  }

  .img_rd {
    border-radius: clamp(0px, 1.3dvw, 5px);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  .sp_wide {
    max-width: calc(100% + clamp(0px, 2.6dvw, 10px)) !important;
    margin-left: clamp(-5px, -1.3dvw, 0px) !important;
    margin-right: clamp(-5px, -1.3dvw, 0px) !important;
  }
}
.link_list {
  width: 900px;
  max-width: 100%;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: clamp(0px, 1.7vw, 20px) calc((100% - clamp(0px, 94%, 840px)) / 2);
  margin-top: clamp(0px, 2.5vw, 30px);
}

.link_list > li {
  width: 280px;
  max-width: 31.2%;
}

.link_list > li .link {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  border-radius: clamp(3px, 0.5vw, 5px);
}

.link_list > li .link::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.5);
}

.link_list > li .reduce {
  background-image: url("../img/environment/bg_link_01.jpg");
}

.link_list > li .reuse {
  background-image: url("../img/environment/bg_link_02.jpg");
}

.link_list > li .recycle {
  background-image: url("../img/environment/bg_link_03.jpg");
}

.link_list > li a {
  aspect-ratio: 280/160;
  background-color: transparent;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(0px, 2vw, 24px);
  font-weight: var(--font-w-b);
  line-height: 1.4em;
  text-align: center;
  text-shadow: -2px -2px 1px #fff, 2px -2px 1px #fff, -2px 2px 1px #fff, 2px 2px 1px #fff, 0px 2px 1px #fff, 2px 0px 1px #fff, 0px -2px 1px #fff, -2px 0px 1px #fff;
}

.link_list > li a:hover {
  text-shadow: none;
}

.link_caption {
  font-size: clamp(0px, 1.5vw, 18px);
  color: var(--color-main);
  font-weight: var(--font-w-b);
  line-height: 1.5em;
  text-align: center;
  margin-top: 0.5em;
  margin: 0.3em -0.8em 0;
}

@media screen and (max-width: 768px) {
  .link_list {
    flex-direction: column;
    row-gap: clamp(0px, 6.4dvw, 25px);
    margin: clamp(0px, 7.7dvw, 30px) clamp(-5px, -1.3dvw, 0px) 0;
  }

  .link_list > li {
    width: 100%;
    max-width: 100%;
  }

  .link_list > li .link {
    border-radius: clamp(0px, 1.3dvw, 5px);
  }

  .link_list > li a {
    font-size: clamp(0px, 6.2dvw, 24px);
    aspect-ratio: 330/130;
  }

  .link_list > li .reduce {
    background-image: url("../img/environment/bg_link_01_sp.jpg");
  }

  .link_list > li .reuse {
    background-image: url("../img/environment/bg_link_02_sp.jpg");
  }

  .link_list > li .recycle {
    background-image: url("../img/environment/bg_link_03_sp.jpg");
  }

  .link_caption {
    margin: 0.3em auto 0;
    font-size: clamp(0px, 4.6dvw, 18px);
  }
}
.sec_col2 {
  display: flex;
  -moz-column-gap: clamp(0px, 4.2vw, 50px);
       column-gap: clamp(0px, 4.2vw, 50px);
}

.sec_col2 .text_area {
  width: 450px;
  max-width: 50%;
}

.sec_col2 .text_area .text p {
  letter-spacing: normal;
}

.sec_col2 .text_area .text p + p {
  margin-top: 1.8em;
}

.sec_col2 .img_area {
  flex: 1;
}

@media screen and (max-width: 768px) {
  .sec_col2 {
    flex-direction: column-reverse;
    row-gap: clamp(0px, 13.9dvw, 50px);
  }

  .sec_col2 .text_area, .sec_col2 .img_area {
    width: 100%;
    max-width: 100%;
  }

  .sec_col2 .img_area {
    max-width: none;
    width: auto;
    margin: 0 clamp(-20px, -5.1dvw, 0px);
  }
}
.sec_box_item {
  margin-top: clamp(0px, 2.5vw, 30px);
}

.sec_box {
  min-height: 300px;
  display: flex;
  -moz-column-gap: clamp(0px, 3.8vw, 45px);
  column-gap: clamp(0px, 3.8vw, 45px);
}

.sec_box_title {
  width: 100%;
  font-size: clamp(0px, 2vw, 24px);
  font-weight: var(--font-w-b);
  color: #fff;
  line-height: 1.25;
  background-color: var(--color-main);
  display: inline-block;
  text-align: center;
  padding: 0.416em 1em;
  border-bottom-right-radius: clamp(0px, 0.4vw, 5px);
}

.sec_box .img_area {
  width: 310px;
  max-width: 35%;
  display: flex;
  flex-direction: column;
}

.sec_box .text_area {
  flex: 1;
  padding: clamp(0px, 1.7vw, 20px) clamp(0px, 2.5vw, 30px) clamp(0px, 1.7vw, 20px) 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sec_box .text_area .text p {
  letter-spacing: normal;
}

.sec_box .text_area .list_1 > li:first-child {
  margin-top: 0.8em;
}

.sec_box .text_area .list_note_1 > li:first-child {
  margin-top: 0.8em;
}

.sec_box .img {
  margin: 0 clamp(-10px, -0.8vw, 0px) clamp(0px, 2.1vw, 25px);
}

.sec_box_text_l {
  font-size: clamp(0px, 1.6vw, 19px);
  font-weight: var(--font-w-b);
  color: var(--color-main);
  line-height: 1.5em;
  letter-spacing: 0.05em;
  text-align: center;
}

.sec_box_text_l p {
  font-weight: inherit;
}

.sec_box_inner {
  flex: 1;
  padding: clamp(0px, 2.5vw, 30px) clamp(0px, 0.4vw, 5px) clamp(0px, 1.7vw, 20px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .sec_box_item {
    margin-top: clamp(0px, 5.1dvw, 20px);
  }

  .sec_box {
    flex-direction: column;
  }

  .sec_box .img_area {
    width: 100%;
    max-width: 100%;
  }

  .sec_box_title {
    font-size: clamp(0px, 6.2dvw, 24px);
  }

  .sec_box_inner {
    padding: clamp(0px, 7.7dvw, 30px) 0 clamp(0px, 2.6dvw, 10px);
  }

  .sec_box .text {
    line-height: 1.5em;
  }

  .sec_box_text_l {
    font-size: clamp(0px, 5.1dvw, 20px);
  }

  .sec_box .text_area {
    padding: 0 clamp(0px, 5.1dvw, 20px) clamp(0px, 7.7dvw, 30px);
  }

  .sec_box .text_area ul + ul {
    padding-left: clamp(0px, 3.8dvw, 15px);
  }

  .sec_box .img {
    margin: 0 0 clamp(0px, 2.6dvw, 10px);
  }
}
.box_link {
  font-size: clamp(0px, 1.5vw, 18px);
  font-weight: var(--font-w-sb);
  letter-spacing: 0.05em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.3em 2em 0.4em 0.5em;
}

.box_link_s {
  width: clamp(0px, 33.33vw, 400px);
  max-width: 100%;
}

.box_link_center {
  padding: 0.3em 2em 0.4em;
}

.box_link:not(:first-child) {
  margin-top: 1em;
}

.box_link > span {
  font-weight: inherit;
}

@media screen and (max-width: 768px) {
  .box_link {
    width: 100%;
    min-height: clamp(0px, 15.4dvw, 60px);
    font-size: clamp(0px, 4.6dvw, 18px);
    text-align: center;
    padding: 0.2em 2em 0.3em 0.5em;
  }

  .box_link_s {
    width: clamp(0px, 74.4dvw, 290px);
  }

  .box_link_center {
    padding: 0.2em 2em 0.3em;
  }
}
.flow_step {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  margin: -1px;
}

.flow_img {
  margin-bottom: clamp(0px, 5vw, 60px);
}

@media screen and (max-width: 768px) {
  .flow_step {
    position: revert;
    white-space: revert;
    width: revert;
    height: revert;
    overflow: revert;
    clip: none;
    -webkit-clip-path: none;
    clip-path: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    row-gap: clamp(0px, 3.8dvw, 15px);
  }

  .flow_img {
    margin-bottom: clamp(0px, 3.8dvw, 15px);
  }

  .flow_step > li {
    border: 1px solid var(--color-main);
    border-radius: clamp(0px, 1.3dvw, 5px);
  }

  .flow_step > li .flow_col2 {
    display: flex;
  }

  .flow_step > li .flow_col2 .flow_step_l {
    width: 35%;
    padding: clamp(0px, 5.1dvw, 20px) clamp(0px, 2.6dvw, 10px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
  }

  .flow_step > li .flow_col2 .flow_step_r {
    width: 65%;
    padding: clamp(0px, 2.6dvw, 10px) clamp(0px, 2.6dvw, 10px) clamp(0px, 2.6dvw, 10px) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .flow_step .num {
    font-size: clamp(0px, 5.7dvw, 22px);
    font-weight: var(--font-w-b);
    color: #fcc30b;
    line-height: 1;
    position: absolute;
    top: clamp(0px, 2.1dvw, 8px);
    left: clamp(0px, 2.1dvw, 8px);
  }

  .recycle .flow_step .num {
    color: #F6AEB4;
  }

  .flow_text {
    font-size: clamp(0px, 3.8dvw, 15px);
    font-weight: var(--font-w-b);
    color: var(--color-main);
    text-align: center;
    line-height: 1.2;
  }

  .flow_step .icon {
    margin-bottom: clamp(0px, 0.52dvw, 2px);
  }
}
.reuse .cont_title_2, .recycle .cont_title_2 {
  margin: clamp(0px, 5vw, 60px) 0 0;
}

@media screen and (max-width: 768px) {
  .reuse .cont_title_2, .recycle .cont_title_2 {
    margin: clamp(0px, 15.4dvw, 60px) 0 clamp(0px, 6.4dvw, 25px);
  }
}
/* ===============================================
   the3r
=============================================== */
.the3r_img {
  width: 41%;
  margin: 0 auto clamp(0px, 5.1vw, 20px);
}

@media screen and (max-width: 768px) {
  .the3r_img {
    width: 210px;
    max-width: 66%;
    margin: 0 auto clamp(0px, 7.7dvw, 30px);
  }
}
/* ===============================================
   reduce
=============================================== */
.reduce_ill {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  margin: clamp(0px, 2.5vw, 30px) 0 clamp(0px, 5vw, 60px);
}

.reduce_ill .ill1,
.reduce_ill .ill2 {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .reduce_ill {
    flex-direction: column;
    row-gap: clamp(0px, 7.7dvw, 30px);
    margin: clamp(0px, 7.7dvw, 30px) 0 clamp(0px, 15.4dvw, 60px);
  }

  .reduce_ill .ill1, .reduce_ill .ill2 {
    width: 100%;
    max-width: 100%;
  }
}
/* ===============================================
   reuse
=============================================== */
.reuse .page_title {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .reuse .page_title {
    width: auto;
    margin: 0 clamp(-4px, -1.1dvw, 0px);
  }
}
/* ===============================================
   recycle
=============================================== */
@media screen and (max-width: 768px) {
  .recycle .cont_title {
    letter-spacing: 0.03em;
  }
}


/* ===============================================
   sdgs
=============================================== */
.sdgs .img {
    width: 100%;
    text-align: center;
    margin-top: clamp(0px, 2.1vw, 25px);
}

.sdgs .img + .text {
    margin-top: 1em;
}

@media screen and (max-width: 768px) {
    .sdgs #page_cont_box {
        padding-top: 0;
    }

    .sdgs .img {
        margin-top: clamp(0px, 6.4dvw, 25px);
    }
}

.sdgs_box {
    width: 100%;
    aspect-ratio: 900 / 116;
    background-color: var(--color-main);
    color: #fff;
    border-radius: clamp(3px, 0.4vw, 5px);
    padding: 0 clamp(0px, 2.1vw, 25px);
    display: flex;
    align-items: center;
    position: relative;
    margin: clamp(0px, 0.4vw, 5px) 0 clamp(0px, 6.7vw, 80px);
}

.sdgs_box .box_text,
.sdgs_box .box_text_2 {
    font-size: clamp(17px, 1.7vw, 20px);
    font-weight: bold;
    line-height: 1.5em;
}

.sdgs_box .box_text_2 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .sdgs_box {
        aspect-ratio: 330 / 120;
        border-radius: clamp(2px, 1.3dvw, 5px);
        padding: clamp(0px, 4.6dvw, 18px) 0;
        margin: clamp(0px, 1.3dvw, 5px) 0 clamp(0px, 19.2dvw, 75px);
        flex-direction: column;
    }

    .sdgs_box .box_text {
        font-size: clamp(0px, 4.9dvw, 19px);
    }

    .sdgs_box .box_text_2 {
        height: auto;
        font-size: clamp(0px, 4.4dvw, 17px);
        letter-spacing: 0;
        position: relative;
        margin-top: 1em;
    }
}

.link_list > li .material {
  background-image: url("../img/environment/sdgs/bg_link_01.jpg");
}

.link_list > li .social {
  background-image: url("../img/environment/sdgs/bg_link_02.jpg");
}

.link_list > li .circular {
  background-image: url("../img/environment/sdgs/bg_link_03.jpg");
}

#social,
#circular {
    margin-top: clamp(0px, 8.3vw, 100px);
}

@media screen and (max-width: 768px) {
    .link_list > li .material {
      background-image: url("../img/environment/sdgs/bg_link_01_sp.jpg");
    }

    .link_list > li .social {
      background-image: url("../img/environment/sdgs/bg_link_02_sp.jpg");
    }

    .link_list > li .circular {
      background-image: url("../img/environment/sdgs/bg_link_03_sp.jpg");
    }

    #social,
    #circular {
        margin-top: clamp(0px, 17.9dvw, 70px);
    }
}

.contribution_summary {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contribution_summary .img_area {
    width: 340px;
    max-width: 38%;
}

.contribution_summary .img_area .img_wrap {
    width: 100%;
    overflow: hidden;
    border-radius: clamp(3px, 0.4vw, 5px);
}

.contribution_summary .text_area {
    width: 530px;
    max-width: 59%;
    display: flex;
    align-items: center;
}

.sdgs_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0px, 0.8vw, 10px);
    margin-top: clamp(0px, 1.7vw, 20px);
}

.sdgs_list li {
    width: 120px;
    max-width: 13.333%;
}

#material .contribution_summary {
    display: grid;
    grid-template-columns: 38% 59%;
    grid-template-rows: auto 1fr;
}

#material .contribution_summary .img_area { grid-area: 1 / 1 / 2 / 2; }
#material .contribution_summary .text_area { grid-area: 1 / 2 / 3 / 3; }
#material .sdgs_list { grid-area: 2 / 1 / 3 / 2; }

#material .contribution_summary .img_area,
#material .contribution_summary .text_area {
    max-width: 100%;
    align-items: flex-start;
}

#material .sdgs_list li {
    max-width: 35.29%;
}

@media screen and (max-width: 768px) {
    .contribution_summary {
        flex-direction: column;
        gap: clamp(0px, 3.8dvw, 15px) 0;
    }

    .contribution_summary .img_area {
        width: 100%;
        max-width: 100%;
    }

    .contribution_summary .img_area .img_wrap {
        border-radius: clamp(2px, 1.3dvw, 5px);
    }

    .contribution_summary .text_area {
        width: 100%;
        max-width: 100%;
    }

    .sdgs_list {
        gap: clamp(0px, 2.6dvw, 10px);
        margin-top: 0;
    }

    .sdgs_list li,
    #material .sdgs_list li {
        width: 100px;
        max-width: 31%;
    }

    #material .contribution_summary {
        display: flex;
    }

    #material .contribution_summary .img_area,
    #material .contribution_summary .text_area {
        max-width: 100%;
        align-items: flex-start;
    }
}

.cont_menu_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: clamp(0px, 1.7vw, 20px) 0;
    padding: clamp(0px, 1.7vw, 20px) 0 clamp(0px, 6.7vw, 80px);
}

.cont_menu_list li {
    width: 286px;
    max-width: 32%;
    aspect-ratio: 286 / 60;
}

.cont_menu_list li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(11px, 1.5vw, 18px);
    font-weight: var(--font-w-sb);
    line-height: 1.2em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .cont_menu_list {
        gap: clamp(0px, 3.8dvw, 15px) 0;
        padding: clamp(0px, 5.1dvw, 20px) 0 clamp(0px, 20.5dvw, 80px);
    }

    .cont_menu_list li {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 330 / 60;
    }

    .cont_menu_list li a {
        font-size: clamp(0px, 4.4dvw, 17px);
    }
}

.social_cont {
    width: 100%;
}

.social_cont + .social_cont {
    margin-top: clamp(0px, 6.7vw, 80px);
}

.social_cont_title {
    font-size: clamp(17px, 1.7vw, 20px);
    line-height: 1;
    font-weight: bold;
    padding: 0.3em 0.5em 0.4em;
    border-radius: clamp(3px, 0.4vw, 5px);
    background-color: var(--color-main);
    color: #fff;
    display: inline-block;
    margin-bottom: clamp(0px, 1.7vw, 20px);
}

.social_cont_main {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.social_cont_main .img_area {
    width: 200px;
    max-width: 22.5%;
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 1.7vw, 20px);
}

.social_cont_main .text_area {
    width: 680px;
    max-width: 75.5%;
    background-color: #dcf3fe;
    border-radius: clamp(3px, 0.4vw, 5px);
    padding: clamp(0px, 1.7vw, 20px) clamp(0px, 2.5vw, 30px);
}

.social_cont_main .img_area .img_wrap {


    width: 100%;
    aspect-ratio: 200 / 150;
    border-radius: clamp(3px, 0.4vw, 5px);
    overflow: hidden;
}

.social_cont_main .img_area .img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.social_cont_main .img_area .sdgs_icon {
    width: 120px;
    max-width: 60%;
}

.social_cont_main .text_area .box_title {
    font-size: clamp(12px, 1.4vw, 16px);
    line-height: 1;
    font-weight: bold;
    padding: 0.2em 1em 0.3em;
    border-radius: 50px;
    background-color: var(--color-blue);
    color: #fff;
    display: inline-block;
    margin-bottom: 0.3em;
}

.social_cont_main .text_area .text + .box_title {
    margin-top: 1em;
    letter-spacing: 0.1em;
}

.social_cont_main .text_area .text {
    padding-left: 0.9em;
}

@media screen and (max-width: 768px) {
    .social_cont + .social_cont {
        margin-top: clamp(0px, 15.4dvw, 60px);
    }

    .social_cont_title {
        font-size: clamp(0px, 4.9dvw, 19px);
        border-radius: clamp(2px, 1.3dvw, 5px);
        margin-bottom: clamp(0px, 3.8dvw, 15px);
    }

    .social_cont_main {
        flex-direction: column;
        gap: clamp(0px, 3.8dvw, 15px);
    }

    .social_cont_main .img_area {
        width: 100%;
        max-width: 100%;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
        gap: 0;
    }

    .social_cont_main .text_area {
        width: 100%;
        max-width: 100%;
        border-radius: clamp(2px, 1.3dvw, 5px);
        padding: clamp(0px, 3.8dvw, 15px);
    }

    .social_cont_main .img_area .img_wrap {
        width: 64%;
        aspect-ratio: 210 / 150;
        border-radius: clamp(2px, 1.3dvw, 5px);
    }

    .social_cont_main .img_area .sdgs_icon {
        width: 31%;
    }

    .social_cont_main .text_area .box_title {
        font-size: clamp(0px, 4.4dvw, 17px);
    }

    .social_cont_main .text_area .text {
        padding-left: 0;
    }
}

.cont_3r {
    width: 100%;
    margin: clamp(0px, 6.7vw, 80px) 0 0;
}

.cont_3r_list {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: clamp(0px, 0.8vw, 10px);
}

.cont_3r_list li {
    width: 31.11%;
    aspect-ratio: 280 / 250;
    text-align: center;
    padding: clamp(0px, 0.8vw, 10px) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cont_3r_list li .box_title {
    font-size: clamp(14px, 1.5vw, 18px);
    font-weight: bold;
    color: var(--color-main);
    margin-bottom: 0.5em;
}

.cont_3r_list li .text {
    line-height: 1.6em;
}

@media screen and (max-width: 768px) {
    .cont_3r {
        margin: clamp(0px, 15.4dvw, 60px) 0 0;
    }

    .cont_3r_list {
        flex-direction: column;
        gap: clamp(0px, 3.8dvw, 15px);
        margin-top: clamp(0px, 2.6dvw, 10px);
    }

    .cont_3r_list li {
        width: 100%;
        aspect-ratio: inherit;
        padding: clamp(0px, 3.8dvw, 15px) 0;
    }

    .cont_3r_list li .box_title {
        font-size: clamp(0px, 4.4dvw, 17px);
    }
}

.item_3r {
    width: 100%;
    margin-top: clamp(0px, 5vw, 60px);
}

.item_3r_title {
    font-size: clamp(17px, 1.7vw, 20px);
    line-height: 1;
    font-weight: bold;
    padding: 0.3em 0.5em 0.4em;
    border-radius: clamp(3px, 0.4vw, 5px);
    background-color: var(--color-main);
    color: #fff;
    display: inline-block;
    margin-bottom: clamp(0px, 1.3vw, 15px);
}

@media screen and (max-width: 768px) {
    .item_3r {
        margin-top: clamp(0px, 15.4dvw, 60px);
    }

    .item_3r_title {
        font-size: clamp(0px, 4.9dvw, 19px);
        border-radius: clamp(2px, 1.3dvw, 5px);
        margin-bottom: clamp(0px, 3.8dvw, 15px);
    }

    .item_3r .text {
        margin-bottom: 1em;
    }
}


/* ===============================================
   food
=============================================== */
.env_table.row7 td:nth-child(n+2) {
    width: 12.9%;
}

.env_table.row4 td:nth-child(n+2) {
    width: 23.7%;
}

.food_table_note {
    font-size: clamp(10px, 1.2vw, 14px);
    line-height: 1.6em;
    margin-top: 1em;
}

.food_table_note li span {
    display: inline-block;
}

.food_table_note li span:nth-child(1) {
    width: 2em;
}

.food_table_note li span:nth-child(2) {
    width: 13em;
}

@media screen and (max-width: 768px) {
    .food #page_cont_box {
        padding-top: 0;
    }

    .food_table_note {
        font-size: clamp(0px, 3.6dvw, 14px);
    }

    .food_table_note li span:nth-child(3) {
        width: 100%;
        padding-left: 2.3em;
    }
}


/* ===============================================
   plan
=============================================== */
.nowrap_pc {
    white-space: nowrap;
}

.env_sec + .env_sec {
    margin-top: clamp(0px, 5vw, 60px);
}

.env_sec + .env_sec.mt_l {
    margin-top: clamp(0px, 7.1vw, 85px);
}

.env_sec .cont_block + .cont_block {
    margin-top: clamp(0px, 4.2vw, 50px);
}

.env_sec .box_link_s {
  display: flex;
  margin: 3em auto 0;
}

.plan .cont_title + .cont_title_2 {
    margin-top: 1em;
}

.plan_nb_list {
    font-size: clamp(17px, 1.7vw, 20px);
    margin: clamp(0px, 1.7vw, 20px) 0;
    padding-left: 1.3em;
}

.plan_nb_list > li:not(:first-child) {
    margin-top: 0.8em;
}

.plan_nb_list .plan_nb {
    font-size: clamp(17px, 1.7vw, 20px);
    font-weight: bold;
    color: var(--color-main);
    text-indent: -1.3em;
}

.cont_title_3 {
    width: 100%;
}
.cont_title_3 span {
    font-size: clamp(12px, 1.4vw, 16px);
    font-weight: var(--font-w-sb);
    line-height: 1;
    color: #fff;
    background-color: var(--color-blue);
    border-radius: 100px;
    display: inline-block;
    padding: 0.2em 1.3em 0.3em;
    margin-bottom: clamp(0px, 1.3vw, 15px);
}

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

    .env_sec .cont_title_2 {
      line-height: 1.4em;
    }

    .env_sec .cont_title_2.wide {
      margin-right: -0.5em;
    }

    .plan #page_cont_box {
        padding-top: 0;
    }

    .nowrap_pc {
        white-space: normal;
    }

    .env_sec + .env_sec {
        margin-top: clamp(0px, 17.9dvw, 70px);
    }

    .env_sec + .env_sec.mt_l {
      margin-top: clamp(0px, 23.1dvw, 90px);
    }

    .env_sec .cont_block + .cont_block {
        margin-top: clamp(0px, 13.9dvw, 50px);
    }

    .env_sec .box_link_s {
      margin: 2.22em auto 0;
    }

    .plan_nb_list {
        font-size: clamp(0px, 4.9dvw, 19px);
    }

    .plan_nb_list .plan_nb {
        font-size: clamp(0px, 4.9dvw, 19px);
        letter-spacing: 0;
    }

    .cont_title_3 span {
        font-size: clamp(0px, 4.4dvw, 17px);
        margin-bottom: 0.5em;
    }
}

.plan_box_list {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: clamp(0px, 1.7vw, 20px);
}

.plan_box_list li {
    width: 210px;
    max-width: 23.5%;
    overflow: hidden;
    border: 1px solid var(--color-main);
    border-radius: clamp(3px, 0.4vw, 5px);
    background-color: #fff;
}

.plan_box_list li:nth-child(3) p {
    color: var(--color-red)
}

.plan_box_list li .box_title {
    width: 100%;
    aspect-ratio: 210 / 50;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(12px, 1.4vw, 16px);
    font-weight: bold;
    color: #fff;
    background-color: var(--color-main);
}

.plan_box_list li:nth-child(1) .box_title {
    background-color: var(--color-blue);
}

.plan_box_list li .box_text {
    padding: 1em 0;
    text-align: center;
}

.plan_box_list li .box_text .text_em {
    font-size: clamp(12px, 1.4vw, 16px);
    font-weight: var(--font-w-sb);
    letter-spacing: 0;
}

.plan_box_list_2 {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 1.2vw, 14px) 0;
    margin-bottom: clamp(0px, 3.8vw, 45px);
}

.plan_box_list_2 li {
    width: 100%;
    min-height: clamp(0px, 6.7vw, 80px);
    border: 1px solid var(--color-main);
    border-radius: clamp(3px, 0.4vw, 5px);
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.plan_box_list_2 li .box_title {
    font-size: clamp(0px, 1.7vw, 20px);
    font-weight: bold;
    color: var(--color-main);
    letter-spacing: 0;
    padding-left: 2.5em;
    text-indent: -1.2em;
}

.plan_box_list_2 li .box_text {
    width: 54%;
    line-height: 1.5em;
    padding: 1em 1em 1em 0;
}

.plan_box_list_2 li .box_text.text {
    letter-spacing: 0;
}

.plan_box_list_2 li .box_text .note {
    font-size: 0.85em;
    display: block;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.4em;
    margin-top: 0.5em;
}

@media screen and (max-width: 768px) {
    .plan_box_list {
        margin-top: clamp(0px, 5.1dvw, 20px);
        flex-direction: column;
        gap: clamp(0px, 4.1dvw, 16px) 0;
    }

    .plan_box_list li {
        width: 100%;
        max-width: 100%;
        border-radius: clamp(2px, 1.3dvw, 5px);
        display: flex;
    }

    .plan_box_list li .box_title {
        width: 39.5%;
        aspect-ratio: 130 / 85;
        font-size: clamp(0px, 4.4dvw, 17px);
        text-align: center;
        line-height: 1.4em;
    }

    .plan_box_list li .box_text {
        flex: 1;
        padding: 0.8em 0;
    }

    .plan_box_list li .box_text .text_em {
        font-size: clamp(0px, 4.4dvw, 17px);
        white-space: nowrap;
    }

    .plan_box_list_2 {
        gap: clamp(0px, 4.1dvw, 16px) 0;
        margin-bottom: clamp(0px, 7.7dvw, 30px);
    }

    .plan_box_list_2 li {
        min-height: 0;
        border-radius: clamp(2px, 1.3dvw, 5px);
        align-items: flex-start;
        flex-direction: column;
        gap: clamp(0px, 1.3dvw, 5px) 0;
        justify-content: center;
        padding: clamp(0px, 5.1dvw, 20px);
    }

    .plan_box_list_2 li .box_title {
        font-size: clamp(0px, 4.9dvw, 19px);
        padding-left: 1.2em;
    }

    .plan_box_list_2 li .box_text {
        width: 100%;
        padding: 0;
    }
}

.env_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: clamp(2px, 0.4vw, 5px);
}

.env_table th,
.env_table td {
    font-size: clamp(12px, 1.4vw, 16px);
    text-align: center;
    vertical-align: middle;
}

.env_table th {
    color: var(--color-main);
    font-weight: var(--font-w-sb);
    line-height: 1.4em;
    padding: 0.3em 0;
}

.env_table td {
    line-height: 1;
    background-color: #e7e9f3;
    padding: 1em 0;
}

.env_table tr:nth-child(odd) td {
    background-color: #dcf3fe;
}

.env_table td:nth-child(1) {
    font-weight: var(--font-w-sb);
}

.env_table.row5 td:nth-child(n+2) {
    width: 19.8%;
}

.env_table.row6 td:nth-child(n+2) {
    width: 17.5%;
}

.env_table .red {
    color: var(--color-red);
    font-weight: var(--font-w-sb);
}

@media screen and (max-width: 768px) {
    .env_table th,
    .env_table td {
        font-size: clamp(0px, 4.4dvw, 17px);
    }
}
