/*** LP ***/
@media (max-width: 767px) {
  html {
    font-size: 2.666666vw;
  }
  body {
    font-size: 1.2rem;
  }
}
@media (min-width: 1024px) {
  .l-mv {
    margin-top: calc(7.6rem * 0.75);
    margin-bottom: calc(7.6rem * 0.75);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-mv {
    margin-top: calc(6rem * 0.75);
    margin-bottom: calc(6rem * 0.75);
  }
}
@media (max-width: 767px) {
  .l-mv {
    margin-top: calc(4rem * 0.75);
    margin-bottom: calc(4rem * 0.75);
  }
}

.p-mv_title {
  width: 100%;
  max-width: 110rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 1fr 5fr 1fr;
  position: relative;
}
@media (max-width: 767px) {
  .p-mv_title {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-mv_title {
    padding-inline: 1.6rem;
  }
}
.p-mv_title:before {
  content: "";
  display: block;
  background: url(../images/icon_pagetop.svg) no-repeat center center/contain;
  aspect-ratio: 130/95;
  width: 100%;
  max-width: 13rem;
  margin-bottom: 0.8rem;
  align-self: end;
}
@media (max-width: 767px) {
  .p-mv_title {
    grid-template-columns: 1fr 4fr;
  }
}

.p-limited {
  display: grid;
  gap: 3.2rem;
}
.p-limited.__line_title {
  border-bottom: 2px solid #000;
  position: relative;
  color: #000;
}
.p-limited.__line_title:before, .p-limited.__line_title:after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  margin: auto;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
}
.p-limited.__line_title:before {
  bottom: -41px;
  border-top: 40px solid #000;
}
.p-limited.__line_title:after {
  bottom: -38px;
  border-top: 40px solid #fff;
  z-index: 10;
}
.p-limited_title {
  text-align: center;
  position: relative;
}
.p-limited_title img {
  width: 100%;
  max-width: 31rem;
  margin-left: auto;
  margin-right: auto;
  z-index: 2;
  position: relative;
}
@media (max-width: 767px) {
  .p-limited_title img {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-limited_title img {
    padding-inline: 1.6rem;
  }
}
.p-limited_title:before {
  content: "";
  width: 100%;
  border-top: 2px solid #000;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
}
.p-limited_catch {
  font-size: 3.2rem;
  color: #e60021;
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-limited_catch {
    font-size: 2.4rem;
  }
}
.p-limited_image {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-limited_image {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-limited_image {
    padding-inline: 1.6rem;
  }
}

.p-dosen {
  padding-block: 4rem;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(242, 242, 242) 0%, rgb(255, 255, 255) 10rem, rgb(255, 255, 255) 100%);
  display: grid;
  gap: 2.4rem;
}
.p-dosen_title {
  width: 100%;
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  gap: 2.4rem;
  grid-template-columns: 1fr 3fr 1fr;
  position: relative;
  align-items: center;
  justify-items: center;
}
@media (max-width: 767px) {
  .p-dosen_title {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-dosen_title {
    padding-inline: 1.6rem;
  }
}
.p-dosen_title:before {
  content: "";
  display: block;
  background: url(../images/icon_dosen1.svg) no-repeat center center/contain;
  aspect-ratio: 136/193;
  width: 100%;
  max-width: 13.6rem;
  margin-bottom: 0.8rem;
  align-self: end;
}
.p-dosen_title:after {
  content: "";
  display: block;
  background: url(../images/icon_dosen2.svg) no-repeat center center/contain;
  aspect-ratio: 105/216;
  width: 100%;
  max-width: 10.5rem;
  margin-bottom: 0.8rem;
  align-self: end;
}
@media (max-width: 767px) {
  .p-dosen_title {
    grid-template-columns: 1fr 5fr 1fr;
    gap: 0.8rem;
  }
}
.p-dosen_image {
  width: 100%;
  max-width: 78rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-dosen_image {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-dosen_image {
    padding-inline: 1.6rem;
  }
}

.p-iest {
  padding-block: 6rem 4rem;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, #fff 0%, #fff 16rem, #f7f5f0 16rem, #f7f5f0 100%);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest {
    background: linear-gradient(180deg, #fff 0%, #fff 12rem, #f7f5f0 12rem, #f7f5f0 100%);
  }
}
.p-iest_inner {
  width: 100%;
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}
@media (max-width: 767px) {
  .p-iest_inner {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_inner {
    padding-inline: 1.6rem;
  }
}
.p-iest_title {
  margin-left: 2rem;
}
.p-iest_title img {
  margin-inline: auto;
  width: 100%;
  max-width: 18rem;
}
@media (max-width: 767px) {
  .p-iest_title {
    width: 10rem;
    margin-block: 1.6rem;
    margin-inline: auto;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_title {
    width: 12rem;
    margin-left: 0;
  }
}
.p-iest_cont {
  display: grid;
  -moz-column-gap: 3.6rem;
       column-gap: 3.6rem;
  justify-items: center;
}
.p-iest_cont.__cont1 {
  grid-template-columns: 1fr 4fr;
  margin-block: -8rem -16rem;
}
@media (max-width: 767px) {
  .p-iest_cont.__cont1 {
    margin-top: 0rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_cont.__cont1 {
    margin-block: -6rem -24rem;
  }
}
.p-iest_cont.__cont1 .__desc {
  max-width: 10rem;
  width: 100%;
  margin-top: 16rem;
  justify-self: end;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-iest_cont.__cont1 .__desc {
    margin-top: 0rem;
    max-width: 4rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_cont.__cont1 .__desc {
    margin-top: 10rem;
    max-width: 8rem;
  }
}
.p-iest_cont.__cont1 .__image {
  z-index: 1;
}
@media (min-width: 1024px) {
  .p-iest_cont.__cont1 .__image img {
    width: 100%;
    height: 60rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
}
.p-iest_cont.__cont2 {
  grid-template-columns: 4fr 1fr;
  margin-block: -12rem 4rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-iest_cont.__cont2 {
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
}
.p-iest_cont.__cont2 .__desc {
  max-width: 10rem;
  width: 100%;
  margin-top: -12rem;
  justify-self: start;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-iest_cont.__cont2 .__desc {
    margin-top: 0rem;
    max-width: 4rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_cont.__cont2 .__desc {
    margin-top: -10rem;
    max-width: 8rem;
  }
}
.p-iest_cont.__cont2 .__image {
  z-index: 1;
}
@media (min-width: 1024px) {
  .p-iest_cont.__cont2 .__image img {
    width: 100%;
    height: 60rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
}
.p-iest_cont.__cont2:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -3.2rem;
  right: 8.8rem;
  width: 100%;
  max-width: 24rem;
  background: url(../images/icon_iest1.png) no-repeat center center/contain;
  aspect-ratio: 240/218;
  z-index: 3;
}
@media (max-width: 767px) {
  .p-iest_cont.__cont2:after {
    max-width: 14rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_cont.__cont2:after {
    max-width: 18rem;
    right: 16rem;
  }
}
.p-iest_image_list {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
}
@media (max-width: 767px) {
  .p-iest_image_list {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_image_list {
    padding-inline: 1.6rem;
  }
}
.p-iest_suffix {
  width: 100%;
  max-width: 92rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-iest_suffix {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_suffix {
    padding-inline: 1.6rem;
  }
}
@media (min-width: 1024px) {
  .p-iest_suffix {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest_suffix {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}
@media (max-width: 767px) {
  .p-iest_suffix {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.p-iest2 {
  padding-block: 6rem 4rem;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, #fff 0%, #fff 16rem, #f7f5f0 16rem, #f7f5f0 100%);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2 {
    background: linear-gradient(180deg, #fff 0%, #fff 12rem, #f7f5f0 12rem, #f7f5f0 100%);
  }
}
.p-iest2_inner {
  width: 100%;
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}
@media (max-width: 767px) {
  .p-iest2_inner {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_inner {
    padding-inline: 1.6rem;
  }
}
.p-iest2_title {
  width: 18rem;
  margin-left: 6rem;
}
@media (max-width: 767px) {
  .p-iest2_title {
    width: 10rem;
    margin-block: 1.6rem;
    margin-inline: auto;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_title {
    width: 12rem;
    margin-left: 0;
  }
}
.p-iest2_cont {
  display: grid;
  -moz-column-gap: 3.6rem;
       column-gap: 3.6rem;
  justify-items: center;
}
.p-iest2_cont.__cont1 {
  grid-template-columns: 1fr 4fr;
  margin-block: -8rem -16rem;
}
@media (max-width: 767px) {
  .p-iest2_cont.__cont1 {
    margin-top: 0rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_cont.__cont1 {
    margin-block: -6rem -24rem;
  }
}
.p-iest2_cont.__cont1 .__desc {
  max-width: 10rem;
  width: 100%;
  margin-top: 16rem;
  justify-self: end;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-iest2_cont.__cont1 .__desc {
    margin-top: 0rem;
    max-width: 4rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_cont.__cont1 .__desc {
    margin-top: 10rem;
    max-width: 8rem;
  }
}
.p-iest2_cont.__cont1 .__image {
  z-index: 1;
}
.p-iest2_cont.__cont2 {
  grid-template-columns: 4fr 1fr;
  margin-block: -12rem 4rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-iest2_cont.__cont2 {
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
}
.p-iest2_cont.__cont2 .__desc {
  max-width: 10rem;
  width: 100%;
  margin-top: -12rem;
  justify-self: start;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-iest2_cont.__cont2 .__desc {
    margin-top: 0rem;
    max-width: 4rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_cont.__cont2 .__desc {
    margin-top: -10rem;
    max-width: 8rem;
  }
}
.p-iest2_cont.__cont2 .__image {
  z-index: 1;
}
.p-iest2_cont.__cont2:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -3.2rem;
  right: 8.8rem;
  width: 100%;
  max-width: 24rem;
  background: url(../images/icon_iest1.png) no-repeat center center/contain;
  aspect-ratio: 240/218;
  z-index: 3;
}
@media (max-width: 767px) {
  .p-iest2_cont.__cont2:after {
    max-width: 14rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_cont.__cont2:after {
    max-width: 18rem;
    right: 16rem;
  }
}
.p-iest2_image_list {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
}
@media (max-width: 767px) {
  .p-iest2_image_list {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_image_list {
    padding-inline: 1.6rem;
  }
}
.p-iest2_suffix {
  width: 100%;
  max-width: 92rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-iest2_suffix {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_suffix {
    padding-inline: 1.6rem;
  }
}
@media (min-width: 1024px) {
  .p-iest2_suffix {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-iest2_suffix {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}
@media (max-width: 767px) {
  .p-iest2_suffix {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.p-area {
  padding-block: 4rem;
  display: grid;
  gap: 4rem;
}
.p-area_title {
  width: 100%;
  max-width: 96rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 1fr 3fr 1fr;
  position: relative;
  align-items: center;
  justify-items: center;
}
@media (max-width: 767px) {
  .p-area_title {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-area_title {
    padding-inline: 1.6rem;
  }
}
.p-area_title:before {
  content: "";
  display: block;
  background: url(../images/icon_area1.svg) no-repeat center center/contain;
  aspect-ratio: 112/198;
  width: 100%;
  max-width: 11.2rem;
}
.p-area_title:after {
  content: "";
  display: block;
  background: url(../images/icon_area2.svg) no-repeat center center/contain;
  aspect-ratio: 188/272;
  width: 100%;
  max-width: 19rem;
}
@media (max-width: 767px) {
  .p-area_title {
    grid-template-columns: 1fr 5fr 1fr;
    gap: 0.8rem;
  }
}
.p-area_cont {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  gap: 1.6rem;
}
@media (max-width: 767px) {
  .p-area_cont {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-area_cont {
    padding-inline: 1.6rem;
  }
}
.p-area_cont_images {
  display: flex;
  gap: 0.8rem;
  justify-content: space-between;
}
.p-area_cont_desc {
  display: grid;
  grid-template-columns: 16rem auto;
}
@media (max-width: 767px) {
  .p-area_cont_desc {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.p-area_cont_desc .__area_name {
  font-size: 3.8rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-area_cont_desc .__area_name {
    font-size: 2rem;
  }
}
.p-area_cont_desc .__item {
  display: flex;
  gap: 0.2em;
  font-size: 1.8rem;
  line-height: 1.4;
}
.p-area_cont_desc .__item:before {
  content: attr(data-icon);
}
@media (max-width: 767px) {
  .p-area_cont_desc .__item {
    font-size: 1.6rem;
  }
}

.p-episode {
  margin-top: 6rem;
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .p-episode {
    padding-bottom: 4rem;
  }
}
.p-episode_cont {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  place-content: center;
  position: relative;
}
@media (max-width: 767px) {
  .p-episode_cont {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-episode_cont {
    padding-inline: 1.6rem;
  }
}
.p-episode_title {
  text-align: center;
  padding: 1.6rem;
  border-bottom: 1px solid #000;
}
.p-episode_title img {
  width: 90%;
  max-width: 39rem;
}
.p-episode_title_prefix {
  text-align: center;
}
.p-episode_title_prefix img {
  width: 90%;
  max-width: 18.6rem;
}
.p-episode_icon {
  display: block;
  position: absolute;
  top: 0;
  right: 10%;
}
.p-episode_icon img {
  width: 15rem;
  height: 12.5rem;
}
@media (max-width: 767px) {
  .p-episode_icon {
    position: relative;
    top: auto;
    right: auto;
    text-align: center;
    padding-top: 1.6rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-episode_icon {
    right: 1.6rem;
  }
}
.p-episode_mainimage {
  text-align: center;
}
.p-episode_mainimage img {
  width: auto;
}
@media (min-width: 1024px) {
  .p-episode_detail {
    margin-top: calc(7.6rem * 0.25);
    margin-bottom: calc(7.6rem * 0.25);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-episode_detail {
    margin-top: calc(6rem * 0.25);
    margin-bottom: calc(6rem * 0.25);
  }
}
@media (max-width: 767px) {
  .p-episode_detail {
    margin-top: calc(4rem * 0.25);
    margin-bottom: calc(4rem * 0.25);
  }
}
.p-episode_detail .__group {
  display: grid;
  gap: 1em;
  margin-block: 2em;
  line-height: 1.7;
}
.p-episode_detail .__ques {
  font-size: 2rem;
  font-weight: 700;
  color: #e60021;
  display: flex;
  gap: 0.2em;
}
.p-episode_detail .__ques:before {
  content: attr(data-icon);
}
@media (max-width: 767px) {
  .p-episode_detail .__ques {
    font-size: 1.8rem;
  }
}
.p-episode_detail .__ans {
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .p-episode_detail .__ans {
    font-size: 1.5rem;
  }
}
.p-episode_detail .__ans .__image {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(3, 1fr);
  padding-block: 1.6rem;
}
.p-episode_detail .__ans .__image2 {
  display: flex;
  gap: 1.6rem;
  padding-block: 1.6rem;
}
.p-episode_detail .__ans .__image2 img {
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 767px) {
  .p-episode_detail .__ans .__image2 img {
    width: -moz-fit-content;
    width: fit-content;
  }
}

.p-zeh {
  padding-block: 6rem;
  background: #fff7dc;
  display: grid;
  gap: 2.4rem;
}
.p-zeh_title {
  width: 100%;
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-zeh_title {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-zeh_title {
    padding-inline: 1.6rem;
  }
}
.p-zeh_catch {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 767px) {
  .p-zeh_catch {
    font-size: 1.8rem;
  }
}
.p-zeh_desc {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-zeh_desc {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-zeh_desc {
    padding-inline: 1.6rem;
  }
}
.p-zeh_desc .__group {
  margin-bottom: 1.5em;
}
.p-zeh_desc .__title {
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  gap: 0.2em;
  margin-bottom: 1.6rem;
  line-height: 1.4;
}
.p-zeh_desc .__title:before {
  content: attr(data-icon);
}
.p-zeh_desc .__item {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-left: 2rem;
}
.p-zeh_desc .__item_list_item {
  font-size: 1.8rem;
  display: flex;
  gap: 0.2em;
  padding-block: 0.4em;
  border-bottom: 1px dashed #b2b2b2;
}
.p-zeh_desc .__item_list_item:before {
  content: attr(data-icon);
}
@media (max-width: 767px) {
  .p-zeh_desc .__item_list_item {
    font-size: 1.6rem;
  }
}
.p-zeh_case {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-zeh_case {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-zeh_case {
    padding-inline: 1.6rem;
  }
}
.p-zeh_case_title {
  background: #0a3264;
  color: #fff;
  text-align: center;
  padding: 0.5em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-zeh_case_title {
    font-size: 1.8rem;
  }
}
.p-zeh_case .__cont {
  background: #fff;
  padding: 4rem;
  display: grid;
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .p-zeh_case .__cont {
    padding: 4rem 2.4rem;
  }
}
.p-zeh_case .__images {
  display: flex;
  gap: 1.6rem;
  position: relative;
}
.p-zeh_case .__images .__image_icon {
  position: absolute;
  bottom: -7rem;
  right: 0;
  width: 14rem;
}
@media (max-width: 767px) {
  .p-zeh_case .__images .__image_icon {
    bottom: -2rem;
    width: 6rem;
  }
}
.p-zeh_case .__title {
  display: flex;
  gap: 1.6rem;
  font-size: 2.8rem;
  font-weight: 700;
}
.p-zeh_case .__title .__inner_image img {
  height: 3.3rem;
}
@media (max-width: 767px) {
  .p-zeh_case .__title {
    flex-wrap: wrap;
    font-size: 1.8rem;
    gap: 0.8rem;
  }
  .p-zeh_case .__title .__inner_image img {
    height: 1.8rem;
  }
}
.p-zeh_case .__details .__group {
  border-bottom: 1px solid #d9d9d9;
  display: grid;
  grid-template-columns: 1fr 3fr;
  padding-block: 0.8em;
}
.p-zeh_case .__details .__group:first-of-type {
  border-top: 1px solid #d9d9d9;
}
@media (max-width: 767px) {
  .p-zeh_case .__details .__group {
    gap: 0.8rem;
    grid-template-columns: 1fr;
  }
}
.p-zeh_case .__details .__detail_title {
  font-weight: 700;
  font-size: 1.8rem;
  text-indent: 1em;
}
@media (max-width: 767px) {
  .p-zeh_case .__details .__detail_title {
    font-size: 1.6rem;
    text-indent: 0;
  }
}
.p-zeh_case .__details .__detail_item {
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .p-zeh_case .__details .__detail_item {
    font-size: 1.6rem;
    line-height: 1.2;
  }
}

.p-hiraya {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .p-hiraya {
    margin-top: calc(7.6rem * 1);
    margin-bottom: calc(7.6rem * 1);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-hiraya {
    margin-top: calc(6rem * 1);
    margin-bottom: calc(6rem * 1);
  }
}
@media (max-width: 767px) {
  .p-hiraya {
    margin-top: calc(4rem * 1);
    margin-bottom: calc(4rem * 1);
  }
}
@media (max-width: 767px) {
  .p-hiraya {
    padding-inline: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-hiraya {
    padding-inline: 1.6rem;
  }
}
.p-hiraya_list {
  display: grid;
  gap: 2.4rem;
  margin-bottom: 6.4rem;
}
.p-hiraya_title {
  font-size: 3.2rem;
  color: #fff;
  padding: 0.5em;
  text-align: center;
}
@media (max-width: 767px) {
  .p-hiraya_title {
    font-size: 1.8rem;
    line-height: 1.2;
  }
}
.p-hiraya_title1 {
  background: #e60021;
}
.p-hiraya_title2 {
  background: #0a3264;
}
.p-hiraya .__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-hiraya .__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-hiraya .__list .__image img {
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 304/304;
}