@charset "UTF-8";
/*************************************************************
生活・暮らしCSS
*************************************************************/
/* タイトル */
.life-ttl-lv2 {
  margin-bottom: 40px;
  font-size: 2.8rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}
@media only screen and (min-width: 751px) {
  .life-ttl-lv2 {
    margin-bottom: 60px;
    font-size: 4.2rem;
  }
}

.life-ttl-lv2__icon {
  display: inline-block;
  padding-top: 52px;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 48px;
}
@media only screen and (min-width: 751px) {
  .life-ttl-lv2__icon {
    min-height: 58px;
    padding-top: 0;
    padding-left: 65px;
    background-position: left top 10px;
    background-size: 50px;
  }
}

.life-ttl__undertxt {
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
  margin-top: 25px;
}

/* テキストリンク */
.life-textlink {
  display: inline-block;
  padding-left: 21px;
  background: url(/assets/img/icon/chev-cir-right.svg) no-repeat left 0 top 4px/16px;
  position: relative;
  text-decoration: none;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 600;
  text-align: left;
  transition: color 0.2s;
}
@media only screen and (min-width: 751px) {
  .life-textlink {
    font-size: 1.8rem;
    background: url(/assets/img/icon/chev-cir-right.svg) no-repeat left 0 top 7px/16px;
  }
}
.life-textlink:hover {
  text-decoration: underline;
  color: #007903;
}
.life-textlink::after {
  content: "";
  display: none;
  width: 12px;
  height: 12px;
  margin-left: 0.5em;
  background-color: #007903;
  transition: background-color 0.2s;
}
@media only screen and (min-width: 751px) {
  .life-textlink::after {
    width: 14px;
    height: 14px;
  }
}
.life-textlink[target=_blank]::after {
  display: inline-block;
  -webkit-mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
}
.life-textlink.textlink-modal {
  cursor: pointer;
}
.life-textlink.textlink-modal::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: #008803;
  -webkit-mask: url(/assets/img/icon/modal.svg) no-repeat center/contain;
  mask: url(/assets/img/icon/modal.svg) no-repeat center/contain;
}
.life-textlink.textlink-mb10 {
  margin-bottom: 10px;
}
.life-textlink.textlink-mb15 {
  margin-bottom: 15px;
}
.life-textlink.textlink-mb20 {
  margin-bottom: 20px;
}

/* ボーダー */
.life-border-radius {
  border-radius: 10px;
  overflow: hidden;
}
.life-border-radius.border-radius15 {
  border-radius: 15px;
}

/* 画像中央寄せ */
.life-img-center {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}

/* 画像中央寄せ */
.life-img-caption {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.life-img-caption .life-img-caption__txt {
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 751px) {
  .life-img-caption .life-img-caption__txt {
    font-size: 1.5rem;
  }
}

/* flex中央寄せ */
.life_flex-center {
  justify-content: center;
}

@media only screen and (max-width: 750px) {
  .life_flex-center_sp {
    justify-content: center;
  }
}

/* flex左寄せ */
.life_flex-start {
  justify-content: flex-start;
}

@media only screen and (max-width: 750px) {
  .life_flex-start_sp {
    justify-content: flex-start;
  }
}

/* flex右寄せ */
.life_flex-end {
  justify-content: flex-end;
}

@media only screen and (max-width: 750px) {
  .life_flex-end_sp {
    justify-content: flex-end;
  }
}

/* flex 逆向き */
.life-flex-column-reverse {
  flex-direction: column-reverse;
}

@media only screen and (max-width: 750px) {
  .life-flex-column-reverse_sp {
    flex-direction: column-reverse;
  }
}

.life-flex-row-reverse {
  flex-direction: row-reverse;
}

@media only screen and (max-width: 750px) {
  .life-flex-row-reverse_sp {
    flex-direction: row-reverse;
  }
}

/* grid 順番 */
@media only screen and (max-width: 750px) {
  .grid-order-1_sp {
    order: 1;
  }
}

@media only screen and (max-width: 750px) {
  .grid-order-2_sp {
    order: 2;
  }
}

@media only screen and (max-width: 750px) {
  .grid-order-3_sp {
    order: 3;
  }
}

@media only screen and (max-width: 750px) {
  .grid-order-4_sp {
    order: 4;
  }
}

@media only screen and (max-width: 750px) {
  .grid-order-5_sp {
    order: 5;
  }
}

@media only screen and (max-width: 750px) {
  .grid-order-6_sp {
    order: 6;
  }
}

/* grid SP時1カラム */
@media only screen and (max-width: 750px) {
  .grid-column1_sp {
    grid-template-columns: 1fr !important;
  }
}

/* gris 汎用 */
.life-grid {
  display: grid;
}
.life-grid.grid-columns2 {
  grid-template-columns: repeat(2, 1fr);
}
.life-grid.grid-columns2-w80 {
  grid-template-columns: 80px 1fr;
}
@media only screen and (min-width: 751px) {
  .life-grid.grid-columns2-w80 {
    grid-template-columns: min(7.5471698113vw, 80px) 1fr;
  }
}
.life-grid.grid-columns2-w120 {
  grid-template-columns: 120px 1fr;
}
@media only screen and (min-width: 751px) {
  .life-grid.grid-columns2-w120 {
    grid-template-columns: min(11.320754717vw, 120px) 1fr;
  }
}
.life-grid.grid-columns2-w200 {
  grid-template-columns: 200px 1fr;
}
@media only screen and (min-width: 751px) {
  .life-grid.grid-columns2-w200 {
    grid-template-columns: min(18.8679245283vw, 200px) 1fr;
  }
}
.life-grid.grid-columns2-w280 {
  grid-template-columns: 280px 1fr;
}
@media only screen and (min-width: 751px) {
  .life-grid.grid-columns2-w280 {
    grid-template-columns: min(26.4150943396vw, 280px) 1fr;
  }
}
.life-grid.grid-columns2-w425 {
  grid-template-columns: min(34.1333333333vw, 425px) 1fr;
}
@media only screen and (min-width: 751px) {
  .life-grid.grid-columns2-w425 {
    grid-template-columns: min(40.0943396226vw, 425px) 1fr;
  }
}
.life-grid.grid-columns2-w450 {
  grid-template-columns: min(34.1333333333vw, 450px) 1fr;
}
@media only screen and (min-width: 751px) {
  .life-grid.grid-columns2-w450 {
    grid-template-columns: min(42.4528301887vw, 450px) 1fr;
  }
}
.life-grid.grid-columns3 {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
@media only screen and (min-width: 751px) {
  .life-grid.grid-columns3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.life-grid.grid-columns4 {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
@media only screen and (min-width: 751px) {
  .life-grid.grid-columns4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.life-grid.grid-columns5 {
  grid-template-columns: repeat(5, 1fr);
}
.life-grid.grid-columns6 {
  grid-template-columns: repeat(6, 1fr);
}
.life-grid.grid-gap15 {
  gap: 15px;
}
.life-grid.grid-gap20 {
  gap: min(5.3333333333vw, 20px);
}
.life-grid.grid-gap25 {
  gap: min(5.3333333333vw, 25px);
}
.life-grid.grid-gap30 {
  gap: min(5.3333333333vw, 30px);
}
.life-grid.grid-gap40 {
  gap: min(5.3333333333vw, 40px);
}
.life-grid.grid-gap45 {
  gap: min(5.3333333333vw, 45px);
}
.life-grid.grid-gap50 {
  gap: min(10.6666666667vw, 50px);
}
.life-grid.grid-gap60 {
  gap: min(12.8vw, 60px);
}

.life-grid__imglink {
  display: grid;
  grid-template-columns: min(34.1333333333vw, 200px) 1fr;
  gap: 20px;
  text-decoration: none;
  transition: color 0.2s;
}
@media only screen and (min-width: 751px) {
  .life-grid__imglink {
    grid-template-columns: min(18.8679245283vw, 200px) 1fr;
    gap: 30px;
  }
}
.life-grid__imglink[target=_blank] .life-textlink::after {
  display: inline-block;
  -webkit-mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
}
.life-grid__imglink:hover .life-grid__imglink__image img {
  scale: 1.1;
}
.life-grid__imglink .life-grid__imglink__image img {
  transition: scale 0.2s;
}

.life-grid__imglink-l {
  display: grid;
  grid-template-columns: min(34.1333333333vw, 425px) 1fr;
  gap: 20px;
  text-decoration: none;
  transition: color 0.2s;
}
@media only screen and (min-width: 751px) {
  .life-grid__imglink-l {
    grid-template-columns: min(40.0943396226vw, 425px) 1fr;
    gap: 40px;
  }
}
.life-grid__imglink-l[target=_blank] .life-textlink::after {
  display: inline-block;
  -webkit-mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
}
.life-grid__imglink-l:hover .life-grid__imglink__image img {
  scale: 1.1;
}
.life-grid__imglink-l .life-grid__imglink__image img {
  transition: scale 0.2s;
}

/* アンカーリンクナビ */
.life-anchor {
  padding: 20px;
  border-radius: 15px;
  background-color: #F6F6E4;
  /* アンカーリンクナビ（線タイプ） */
}
@media only screen and (min-width: 751px) {
  .life-anchor {
    padding: 30px;
    border-radius: 20px;
  }
}
.life-anchor .life-anchor__list {
  display: grid;
  gap: 20px;
}
@media only screen and (min-width: 751px) {
  .life-anchor .life-anchor__list {
    gap: 24px;
  }
}
.life-anchor .life-anchor__list.list-5up {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (min-width: 751px) {
  .life-anchor .life-anchor__list.list-5up {
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
    gap: min(2.196193265vw, 30px);
  }
}
.life-anchor .life-anchor__list.list-6up {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (min-width: 751px) {
  .life-anchor .life-anchor__list.list-6up {
    grid-template-columns: repeat(6, 1fr);
    gap: 32px;
    gap: min(2.3426061493vw, 32px);
  }
}
.life-anchor .life-anchor__link {
  display: block;
  height: 100%;
  background-color: #ffffff;
  padding: 12px 10px;
  border: 2px solid #fff;
  border-radius: 10px;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
  position: relative;
}
@media only screen and (min-width: 751px) {
  .life-anchor .life-anchor__link {
    padding: 20px 15px 12px;
  }
}
.life-anchor .life-anchor__link:hover {
  border-color: #008803;
  color: #007903;
}
.life-anchor .life-anchor__link::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 13px;
  left: calc(50% - 5px);
  background: url(/assets/img/icon/anchor.svg) no-repeat center/contain;
}
.life-anchor .life-anchor__icon {
  width: 34px;
  height: 34px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 751px) {
  .life-anchor .life-anchor__icon {
    width: 40px;
    height: 40px;
  }
}
.life-anchor .life-anchor__txt {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
  padding: 10px 0;
  margin-bottom: 13px;
}
@media only screen and (min-width: 751px) {
  .life-anchor .life-anchor__txt {
    font-size: 1.4rem;
  }
}
.life-anchor.anchor__separator {
  padding: 20px 10px;
  background-color: #ffffff;
}
@media only screen and (min-width: 751px) {
  .life-anchor.anchor__separator {
    padding: 25px 15px;
  }
}
.life-anchor.anchor__separator .life-anchor__list {
  display: grid;
  gap: 20px 0;
}
@media only screen and (min-width: 751px) {
  .life-anchor.anchor__separator .life-anchor__list {
    gap: 0;
  }
}
.life-anchor.anchor__separator .life-anchor__list.list-5up {
  gap: 20px 0;
}
.life-anchor.anchor__separator .life-anchor__list.list-6up {
  gap: 20px 0;
}
@media only screen and (min-width: 751px) {
  .life-anchor.anchor__separator .life-anchor__item + .life-anchor__item {
    border-left: 1px solid #DDDDDD;
  }
}
.life-anchor.anchor__separator .life-anchor__link {
  padding: 0 6px;
  background-color: transparent;
  border-radius: 0;
  transition: color 0.2s;
}
@media only screen and (min-width: 751px) {
  .life-anchor.anchor__separator .life-anchor__link {
    padding: 0 15px;
  }
}
.life-anchor.anchor__separator .life-anchor__link:hover {
  border-color: transparent;
  color: #007903;
}
.life-anchor.anchor__separator .life-anchor__link::after {
  bottom: 0;
}

/* Q&A */
.life-qa__link {
  display: block;
  text-decoration: none;
  padding: 28px 28px 28px 0;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 14px;
  background-image: url(/assets/img/icon/chev-right.svg);
}
@media only screen and (min-width: 751px) {
  .life-qa__link {
    padding: 40px 40px 40px 0;
  }
}
.life-qa__link[target=_blank] {
  background-image: url(/assets/img/icon/blank.svg);
}
.life-qa__link:first-of-type {
  padding: 0 28px 28px 0;
}
@media only screen and (min-width: 751px) {
  .life-qa__link:first-of-type {
    padding: 0 40px 40px 0;
  }
}
.life-qa__link:last-of-type {
  padding: 28px 28px 0 0;
}
@media only screen and (min-width: 751px) {
  .life-qa__link:last-of-type {
    padding: 40px 40px 0 0;
  }
}
.life-qa__link + .life-qa__link {
  border-top: 1px solid #DDDDDD;
}

/* ダイアログ（モーダル）CSS */
:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

.co_dialog {
  overscroll-behavior: none;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0;
  overflow-y: auto;
  background-color: transparent;
  border: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
  transition: all 0.5s;
  opacity: 0;
}
.co_dialog::backdrop {
  background-color: transparent;
  -webkit-backdrop-filter: blur(1px);
          backdrop-filter: blur(1px);
  transition: all 0.2s;
}
.co_dialog[open] {
  opacity: 1;
}
@starting-style {
  .co_dialog[open] {
    opacity: 0;
  }
}
.co_dialog[open]::backdrop {
  background-color: rgba(0, 0, 0, 0.8);
}
@starting-style {
  .co_dialog[open]::backdrop {
    background-color: transparent;
  }
}
.co_dialog > .co_dialogOuter {
  pointer-events: none;
  width: 100%;
  height: calc(100% + 1px);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media only screen and (min-width: 751px) {
  .co_dialog > .co_dialogOuter {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper {
  position: relative;
  max-width: 950px;
  width: 100%;
  padding: 0 16px;
}
@media only screen and (min-width: 751px) {
  .co_dialog > .co_dialogOuter > .co_dialogWrapper {
    padding: 0 20px;
  }
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogInner {
  padding: 0 20px;
  background-color: #ffffff;
  border-radius: 20px;
  overflow: auto;
}
@media only screen and (min-width: 751px) {
  .co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogInner {
    border-radius: 30px;
    padding: 0 40px 0 60px;
  }
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogInner > .co_dialogContentOuter {
  pointer-events: all;
  max-height: 70vh;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  overflow-y: auto;
  padding: 48px 0;
}
@media only screen and (min-width: 751px) {
  .co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogInner > .co_dialogContentOuter {
    max-width: 1200px;
    max-height: 80vh;
    padding: 72px 20px 72px 0;
  }
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogInner > .co_dialogContentOuter .co_dialogContentWrapper {
  width: 100%;
  height: 100%;
  overscroll-behavior: contain;
  position: relative;
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter {
  pointer-events: all;
  position: absolute;
  top: -55px;
  right: 10px;
  display: block;
  width: 48px;
  height: 48px;
  z-index: 99999;
}
@media only screen and (min-width: 751px) {
  .co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter {
    width: 50px;
    height: 50px;
    top: 11px;
    right: 76px;
  }
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter > .co_dialogTopCloseBtn {
  width: 48px;
  height: 48px;
  background-color: #fff;
  border-radius: 100%;
  border: #008803 solid 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
@media only screen and (min-width: 751px) {
  .co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter > .co_dialogTopCloseBtn {
    width: 50px;
    height: 50px;
    transition: all 0.2s;
  }
}
@media (any-hover: hover) {
  .co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter > .co_dialogTopCloseBtn:hover {
    background-color: #e9f1e8;
    border-color: #005c02;
  }
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter > .co_dialogTopCloseBtn > .icon {
  display: inline-block;
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter > .co_dialogTopCloseBtn > .icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter > .co_dialogTopCloseBtn > .icon-close::before {
  -webkit-mask: url(/assets/img/icon/close.svg) center/100% 100%;
          mask: url(/assets/img/icon/close.svg) center/100% 100%;
  background-color: #008803;
}
.co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter > .co_dialogTopCloseBtn > i {
  width: 1.6rem;
  height: 1.6rem;
}
@media only screen and (min-width: 751px) {
  .co_dialog > .co_dialogOuter > .co_dialogWrapper > .co_dialogTopCloseBtnOuter > .co_dialogTopCloseBtn > i {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.co_dialog > .co_dialogOuter .co_dialogBottomCloseBtnOuter {
  margin-top: 50px;
}

/* 画像背景 */
.life-coverpic {
  width: calc(100% - 15px);
  height: 150px;
}
@media only screen and (min-width: 751px) {
  .life-coverpic {
    width: calc(50% + 660px);
    height: 21.9619326501vw;
  }
}
.life-coverpic.life-coverpic--right {
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (min-width: 751px) {
  .life-coverpic.life-coverpic--right .life-coverpic__inner {
    margin-left: 66px;
  }
}
.life-coverpic.life-coverpic--right .life-coverpic__image {
  border-radius: 20px 0 0 20px;
}
@media only screen and (min-width: 751px) {
  .life-coverpic.life-coverpic--right .life-coverpic__image {
    border-radius: 60px 0 0 60px;
    border-radius: 4.39238653vw 0 0 4.39238653vw;
  }
}
.life-coverpic.life-coverpic--left {
  margin-right: auto;
  margin-left: 0;
}
@media only screen and (min-width: 751px) {
  .life-coverpic.life-coverpic--left .life-coverpic__inner {
    margin-right: 66px;
  }
}
.life-coverpic.life-coverpic--left .life-coverpic__image {
  border-radius: 0 20px 20px 0;
}
@media only screen and (min-width: 751px) {
  .life-coverpic.life-coverpic--left .life-coverpic__image {
    border-radius: 0 60px 60px 0;
    border-radius: 0 4.39238653vw 4.39238653vw 0;
  }
}

.life-coverpic__inner {
  position: relative;
  height: 100%;
}

.life-coverpic__image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.life-coverpic__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* スライダーレイアウト */
.life-articles-slider .swiper-wrapper {
  align-items: stretch;
}
.life-articles-slider .swiper-slide {
  border-radius: 0;
  height: auto;
}
@media only screen and (min-width: 751px) {
  .life-articles-slider .swiper-slide {
    flex-basis: 313px;
  }
}
.life-articles-slider.life-articles-slider-border .life-card {
  border: 2px solid #DDDDDD;
}
.life-articles-slider .life-card {
  border-radius: 17px;
  border: 2px solid transparent;
}
@media only screen and (max-width: 750px) {
  .life-articles-slider.c-slider {
    padding-bottom: 30px;
  }
}
@media only screen and (max-width: 750px) {
  .life-articles-slider.c-slider .c-slider__ctl {
    justify-content: center;
    bottom: 40px;
  }
}
@media only screen and (max-width: 750px) {
  .life-articles-slider.c-slider .c-slider__ctl .c-slider__pagination {
    width: 100% !important;
    margin: 0;
    bottom: 20px;
  }
}
@media only screen and (max-width: 750px) {
  .life-articles-slider.c-slider .swiper-button-prev,
  .life-articles-slider.c-slider .swiper-button-next,
  .life-articles-slider.c-slider .c-slider__pause {
    bottom: -35px;
  }
}

.life-box {
  border-radius: 15px;
  overflow: hidden;
}
@media only screen and (min-width: 751px) {
  .life-box {
    border-radius: 20px;
  }
}
.life-box .life-box__ttl {
  padding: 16px 12px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.4;
}
@media only screen and (min-width: 751px) {
  .life-box .life-box__ttl {
    padding: 20px 15px;
    font-size: 2.1rem;
  }
}
.life-box .life-box__ttl.ttl-green {
  color: #ffffff;
  background-color: #008803;
}
.life-box .life-box__ttl.ttl-blue {
  color: #0075C2;
  background-color: #E6F2F9;
}
.life-box .life-box__content {
  background-color: #ffffff;
  padding: 20px 20px 30px;
}
@media only screen and (min-width: 751px) {
  .life-box .life-box__content {
    padding: 40px 50px 50px;
  }
}
.life-box .life-box__content__dt {
  font-size: 1.8rem;
  font-weight: 600;
}
.life-box .life-box__content__dd {
  margin-top: 15px;
}

.life-logocard {
  display: grid;
}
.life-logocard.logocard--2up {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--2up {
    gap: 50px;
  }
}
.life-logocard.logocard--2up .life-logocard__link {
  gap: 10px;
  padding: 25px 12px 20px;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--2up .life-logocard__link {
    gap: 14px;
    padding: 25px 16px;
  }
}
.life-logocard.logocard--2up .life-logocard__link__image {
  max-width: 280px;
  width: 100%;
  min-height: auto;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--2up .life-logocard__link__image {
    min-height: 150px;
  }
}
.life-logocard.logocard--3up {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--3up {
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
  }
}
.life-logocard.logocard--3up .life-logocard__link {
  gap: 10px;
  padding: 25px 12px 20px;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--3up .life-logocard__link {
    padding: 20px 30px;
  }
}
.life-logocard.logocard--3up .life-logocard__link__image {
  max-width: 218px;
  width: 100%;
  min-height: 70px;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--3up .life-logocard__link__image {
    min-height: 102px;
  }
}
.life-logocard.logocard--4up {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--4up {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
  }
}
.life-logocard.logocard--4up .life-logocard__link {
  gap: 10px;
  padding: 30px 20px 20px;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--4up .life-logocard__link {
    padding: 18px 12px;
  }
}
.life-logocard.logocard--4up .life-logocard__link__image {
  max-width: 180px;
  width: 100%;
  min-height: auto;
}
@media only screen and (min-width: 751px) {
  .life-logocard.logocard--4up .life-logocard__link__image {
    min-height: 80px;
  }
}
.life-logocard .life-logocard__link {
  display: grid;
  place-items: center;
  gap: 20px;
  height: 100%;
  padding: 20px 40px;
  background-color: #ffffff;
  border: 2px solid #ffffff;
  border-color: transparent;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  transition: border-color 0.2s;
}
.life-logocard .life-logocard__link[target=_blank]::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
  pointer-events: none;
  background-color: #fff;
}
.life-logocard .life-logocard__link[target=_blank]::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  pointer-events: none;
  background-color: #6d6d6d;
  -webkit-mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  transition: background-color 0.2s;
}
.life-logocard .life-logocard__link[target=_blank]:hover::after {
  background-color: #008803;
}
.life-logocard .life-logocard__link:hover {
  border-color: #008803;
}
.life-logocard .life-logocard__link:hover .life-logocard__link__image {
  scale: 1.1;
}
.life-logocard .life-logocard__link.link-border {
  border-color: #DDDDDD;
}
.life-logocard .life-logocard__link.link-border:hover {
  border-color: #008803;
}
.life-logocard .life-logocard__link__image {
  display: grid;
  place-items: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 280px;
  width: 100%;
  min-height: auto;
  transition: scale 0.2s;
}
@media only screen and (min-width: 751px) {
  .life-logocard .life-logocard__link__image {
    min-height: 130px;
  }
}
.life-logocard .life-logocard__link__image > img {
  max-width: 100%;
  width: auto;
}
.life-logocard .life-logocard__link__ttl {
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
}
@media only screen and (min-width: 751px) {
  .life-logocard .life-logocard__link__ttl {
    font-size: 1.7rem;
  }
}

.life-imagebtncard {
  display: flex;
  flex-direction: column;
}
.life-imagebtncard .c-heading-lv4 {
  margin-bottom: 20px;
}
@media only screen and (min-width: 751px) {
  .life-imagebtncard .c-heading-lv4 {
    margin-bottom: 25px;
  }
}
.life-imagebtncard .life-imagebtncard__item {
  display: flex;
  flex-direction: column;
  flex: 1;
  border-radius: 15px;
  overflow: hidden;
  background-color: #FFFFFF;
}
.life-imagebtncard .life-imagebtncard__item__detail {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 20px 32px;
}
@media only screen and (min-width: 751px) {
  .life-imagebtncard .life-imagebtncard__item__detail {
    padding: 20px 20px 40px;
  }
}
.life-imagebtncard .life-imagebtncard__item__detail .c-button-container {
  margin-top: 20px;
}
@media only screen and (min-width: 751px) {
  .life-imagebtncard .life-imagebtncard__item__detail .c-button-container {
    margin-top: 30px;
  }
}
.life-imagebtncard .life-imagebtncard__item__detail__text {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.life-imagelink__list {
  display: grid;
}
.life-imagelink__list.list-columns3 {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: min(3.7333333333vw, 30px);
}
@media only screen and (min-width: 751px) {
  .life-imagelink__list.list-columns3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
  }
}
.life-imagelink__list.list-columns4 {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: min(3.7333333333vw, 30px);
}
@media only screen and (min-width: 751px) {
  .life-imagelink__list.list-columns4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
  }
}
.life-imagelink__list .life-imagelink__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  border-radius: 10px;
  background-color: #ffffff;
  overflow: hidden;
}
.life-imagelink__list .life-imagelink__link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  height: 100%;
  text-decoration: none;
}
.life-imagelink__list .life-imagelink__link:hover .life-imagelink__link__image img {
  scale: 1.1;
}
.life-imagelink__list .life-imagelink__link[target=_blank] .life-imagelink__link__txt {
  background: url(/assets/img/icon/blank.svg) no-repeat right 13px center/14px;
}
.life-imagelink__list .life-imagelink__link__image {
  max-height: 200px;
  overflow: hidden;
}
.life-imagelink__list .life-imagelink__link__image img {
  transition: scale 0.2s;
}
.life-imagelink__list .life-imagelink__link__txt {
  display: grid;
  align-items: center;
  padding: 12px 33px 12px 12px;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  background: url(/assets/img/icon/chev-right.svg) no-repeat right 13px center/14px;
}
@media only screen and (min-width: 751px) {
  .life-imagelink__list .life-imagelink__link__txt {
    padding: 18px 35px 18px 30px;
    font-size: 1.7rem;
  }
}
.life-imagelink__list .life-imagelink__link__txt.txt-left {
  padding: 12px 33px 12px 12px;
  text-align: left;
}
@media only screen and (min-width: 751px) {
  .life-imagelink__list .life-imagelink__link__txt.txt-left {
    padding: 18px 35px 18px 20px;
  }
}

.life-logolink.logolink-2col {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media only screen and (min-width: 751px) {
  .life-logolink.logolink-2col {
    flex-direction: row;
  }
}
.life-logolink.logolink-2col .life-logolink__box {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media only screen and (min-width: 751px) {
  .life-logolink.logolink-2col .life-logolink__box {
    width: calc((100% - 50px) / 2);
  }
}
.life-logolink.logolink-2col .c-heading-lv4 {
  margin-bottom: 20px;
}
@media only screen and (min-width: 751px) {
  .life-logolink.logolink-2col .c-heading-lv4 {
    margin-bottom: 25px;
  }
}
.life-logolink.logolink-2col .life-logolink__link {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 15px 24px 24px;
}
@media only screen and (min-width: 751px) {
  .life-logolink.logolink-2col .life-logolink__link {
    padding: 25px 30px 40px;
  }
}
.life-logolink.logolink-2col .life-logolink__link__detail {
  display: flex;
  flex-direction: column;
  padding-top: 30px;
}
.life-logolink.logolink-2col .life-logolink__link__detail__txt {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.life-logolink .life-logolink__link {
  display: flex;
  flex-direction: column;
  border-radius: 15px;
  background-color: #ffffff;
  padding: 15px 34px 34px;
  gap: 15px;
  text-decoration: none;
  position: relative;
  cursor: pointer;
}
.life-logolink .life-logolink__link[target=_blank]::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  position: absolute;
  top: 14px;
  right: 15px;
  z-index: 1;
  pointer-events: none;
  background-color: #fff;
}
.life-logolink .life-logolink__link[target=_blank]::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  pointer-events: none;
  background-color: #6d6d6d;
  -webkit-mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  transition: background-color 0.2s;
}
.life-logolink .life-logolink__link[target=_blank]:hover::after {
  background-color: #008803;
}
.life-logolink .life-logolink__link:hover {
  border-color: #008803;
}
.life-logolink .life-logolink__link:hover .life-logolink__link__image img {
  scale: 1.1;
}
.life-logolink .life-logolink__link.link-border {
  border-color: #DDDDDD;
}
.life-logolink .life-logolink__link.link-border:hover {
  border-color: #008803;
}
.life-logolink .life-logolink__link__image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 280px;
  height: 120px;
  max-height: 150px;
}
@media only screen and (min-width: 751px) {
  .life-logolink .life-logolink__link__image {
    height: 150px;
  }
}
.life-logolink .life-logolink__link__image img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  transition: scale 0.2s;
}
.life-logolink .life-logolink__link__detail {
  width: 100%;
  padding-top: 28px;
  border-top: 1px solid #DDDDDD;
}
@media only screen and (min-width: 751px) {
  .life-logolink .life-logolink__link__detail {
    padding-top: 40px;
  }
}

.life-logobtncard.logobtncard-2col {
  display: flex;
  gap: 50px;
}
@media only screen and (min-width: 751px) {
  .life-logobtncard.logobtncard-2col {
    flex-direction: row;
  }
}
.life-logobtncard.logobtncard-2col .life-logobtncard__box {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media only screen and (min-width: 751px) {
  .life-logobtncard.logobtncard-2col .life-logobtncard__box {
    width: calc((100% - 50px) / 2);
  }
}
.life-logobtncard.logobtncard-2col .c-heading-lv4 {
  margin-bottom: 20px;
}
@media only screen and (min-width: 751px) {
  .life-logobtncard.logobtncard-2col .c-heading-lv4 {
    margin-bottom: 25px;
  }
}
.life-logobtncard.logobtncard-2col .life-logobtncard__link {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 15px 24px 24px;
}
@media only screen and (min-width: 751px) {
  .life-logobtncard.logobtncard-2col .life-logobtncard__link {
    padding: 25px 30px 40px;
  }
}
.life-logobtncard.logobtncard-2col .life-logobtncard__link__detail {
  display: flex;
  flex-direction: column;
  padding-top: 30px;
}
.life-logobtncard.logobtncard-2col .life-logobtncard__link__detail__txt {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.life-logobtncard .life-logobtncard__box {
  display: flex;
  flex-direction: column;
  border-radius: 15px;
  background-color: #ffffff;
  position: relative;
}
.life-logobtncard .life-logobtncard__logolink {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 20px 40px;
  position: relative;
  cursor: pointer;
}
.life-logobtncard .life-logobtncard__logolink[target=_blank]::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  position: absolute;
  top: 14px;
  right: 15px;
  z-index: 1;
  pointer-events: none;
  background-color: #fff;
}
.life-logobtncard .life-logobtncard__logolink[target=_blank]::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  pointer-events: none;
  background-color: #6d6d6d;
  -webkit-mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  mask: url(/assets/img/icon/blank.svg) no-repeat center/contain;
  transition: background-color 0.2s;
}
.life-logobtncard .life-logobtncard__logolink[target=_blank]:hover::after {
  background-color: #008803;
}
.life-logobtncard .life-logobtncard__logolink:hover .life-logobtncard__logolink__image img {
  scale: 1.1;
}
.life-logobtncard .life-logobtncard__logolink + .life-logobtncard__detail {
  position: relative;
}
.life-logobtncard .life-logobtncard__logolink + .life-logobtncard__detail::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: calc(100% - 60px);
  height: 1px;
  background-color: #DDDDDD;
}
.life-logobtncard .life-logobtncard__logolink__image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 280px;
  height: 120px;
  max-height: 150px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 751px) {
  .life-logobtncard .life-logobtncard__logolink__image {
    height: 150px;
  }
}
.life-logobtncard .life-logobtncard__logolink__image img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  transition: scale 0.2s;
}
.life-logobtncard .life-logobtncard__detail {
  width: 100%;
  padding: 40px 40px 50px;
}
@media only screen and (min-width: 751px) {
  .life-logobtncard .life-logobtncard__detail {
    padding: 40px 40px 50px;
  }
}

.life-card > a {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  height: 100%;
  padding-bottom: 20px;
  border-radius: 15px;
  position: relative;
  overflow: hidden;
  background-color: #fff;
  text-decoration: none;
  color: var(--color-text);
}

.life-card > a[target=_blank]::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
  pointer-events: none;
  background-color: #fff;
}

.life-card > a[target=_blank]::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  pointer-events: none;
  background-color: #6d6d6d;
  -webkit-mask: url("/assets/img/icon/blank.svg") no-repeat center/contain;
  mask: url("/assets/img/icon/blank.svg") no-repeat center/contain;
}

.life-card__new {
  padding: 30px 40px 8px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: var(--color-theme-main);
  font-weight: var(--fw-sb);
  font-size: 1.3rem;
  line-height: 1em;
  color: #fff;
  rotate: -45deg;
  translate: -42px -12px;
}

.life-card__image {
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  position: relative;
  overflow: hidden;
}

.life-card__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.life-card__image.ratio-sq {
  padding-bottom: 100%;
}

.life-card__image.ratio-2t1 {
  padding-bottom: 50%;
}

.life-card__content {
  flex-grow: 1;
  padding: 0 20px;
  position: relative;
}

.life-card__content:has(.life-card__logo) {
  padding-top: 20px;
}

.life-card__content > *:first-child {
  margin-top: 0;
}

.life-card__logo {
  height: 48px;
  width: auto;
  border-radius: 5px;
  overflow: hidden;
  position: absolute;
  top: -44px;
  z-index: 1;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}

.life-card__logo > img {
  height: 100%;
  width: auto;
}

.life-card__title {
  padding-left: 24px;
  font-weight: var(--fw-sb);
  font-size: 1.4rem;
  line-height: 1.6;
  background: url("/assets/img/icon/chev-cir-right.svg") no-repeat left 0.35em/16px;
}

.life-card__text {
  margin-top: 16px;
  font-size: 1.4rem;
  line-height: 1.6;
}

.life-card__tags {
  padding: 0 20px;
}

.life-card__tags > *:first-child {
  margin-top: 0;
}

.life-card__hashtag {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
}

.life-card__hashtag > li {
  flex: 0 0 auto;
  font-size: 1.2rem;
  left: 1.2;
}

.life-card__areatag {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
}

.life-card__areatag > li {
  flex: 0 0 auto;
}

@media (min-width: 751px) {
  .life-card__title {
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .life-card__image img {
    transition: scale 0.2s ease-out;
  }
  .life-card__title {
    transition: color 0.2s;
  }
  .life-card > a:hover .life-card__image img {
    scale: 1.1;
  }
  .life-card > a:hover .life-card__title {
    color: var(--color-text-green);
  }
}
.life-areatag a, .life-areatag span {
  display: block;
  padding: 4px 16px;
  border-radius: 50px;
  background-color: #008803;
  text-decoration: none;
  font-size: 1.2rem;
  line-height: 1em;
  font-weight: 600;
  color: #fff;
}

.life-areatag a.tohoku, .life-areatag span.tohoku {
  background-color: #008803;
}

.life-areatag a.kanto, .life-areatag span.kanto {
  background-color: #BE2D76;
}

.life-areatag a.hokushinetsu, .life-areatag span.hokushinetsu {
  background-color: #0F60B1;
}/*# sourceMappingURL=life-common.css.map */