/* ======================================================
 * parts
 * ------------------------------------------------------
 * - Override
 * - PartsComponent
 * Print
====================================================== */
/* ======================================================
 * Override
====================================================== */

/* ======================================================
 * PC/SP共通
====================================================== */
.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mr0 {
  margin-right: 0 !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.ml0 {
  margin-left: 0 !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}
.pb0 {
  padding-bottom: 0!important;
}
.bg-none {
  background: none!important;
}
.home-carousel {
  position: relative;
}

.home-carousel__item {
  position: relative;
  height: 100%;
}

.home-carousel__item img {
  width: 100%;
  height: 100%;
}

.home-carousel__item:not(.swiper-slide-active)::after {
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #000;
  opacity: .3;
}

.home-carousel__button-prev,
.home-carousel__button-next {
  position: absolute;
  top: 45%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 46px;
  max-height: 46px;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.prev-icon,
.next-icon {
  background: url(/app-files/img/arrow_01.svg) no-repeat left top / 100%;
}

.prev-icon {
  transform: rotate(180deg);
}

/* ======================================================
 * PartsComponent
====================================================== */
/* ----- home-sns-icon-wrap ----- */
.home-sns-icon-wrap {
  margin: 80px auto 20px;
}

.home-sns-icon {
  margin: 20px auto;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.home-sns-icon a {
  display: block;
  width: 72px;
}

.home-sns-icon img {
  width: 100%;
  height: auto;
}
/* ======================================================
 * PC
====================================================== */
@media print,
screen and (min-width:768px) {

  /* ======================================================
 * Override
====================================================== */
  /*------ 災害対応について ------*/
  /*-----  災害対応掲載時このコメントアウト解除
.disaster_news {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  border: 1px solid #ddd;
  box-sizing: border-box;
  padding: 20px 12px 10px;
}
-----*/
  .disaster_news>div:first-child {
    width: 25% !important;
  }

  .disaster_news>div:last-child {
    width: 75% !important;
    padding: 0;
  }

  .disaster_news_title .title {
    padding-bottom: 12px;
    font-size: 2.2rem;
  }

  .disaster_news_list {
    display: flex;
    flex-wrap: wrap;
  }

  .disaster_news_list li {
    width: calc((100% - 20px) / 2);
  }

  .disaster_news_list li:only-of-type {
    width: 100%;
  }

  .disaster_news_list li:nth-of-type(2n) {
    margin-left: 20px;
  }

  /*-----
重要なお知らせ
-----*/
  /*.important_news {
  margin-bottom: 20px;
  border: 1px solid #ddd;
  box-sizing: border-box;
  margin-top: 0;
  padding: 17px 0 5px;
}*/
  .important_news .cmp-list__item a {
    position: relative;
    margin-left: 100px;
    color: #d90000;
    font-size: 17px;
    font-weight: bold;
    display: inline-block;
    padding-right: 0;
    line-height: 1.5384;
    /* background: linear-gradient(transparent 98%, #d90000 50%); */
  }

  .important_news .cmp-list__item a:hover {
    color: #d90000;
    opacity: .6;
    transition: .2s;
    background: none;
    text-decoration: none;
  }

  .important_news .cmp-list__item a::after {
    display: none;
  }

  /*-----
お知らせラベル
-----*/
  .important_news_list .cmp-list__item a::before {
    position: absolute;
    content: "";
    top: calc(50% - 10px);
    left: -100px;
    background: #ffff00;
    border: 1px solid #d11919;
    border-radius: 2px;
    color: #e91a00;
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: -0.04em;
    padding: 0 5px;
    pointer-events: none;
    line-height: 1.5384;
  }

  /*-----
1つ目のお知らせ
-----*/
  .important_news_list .cmp-list__item:nth-child(1) a::before {
    content: "重要なお知らせ";
  }

  /*-----
2つ目のお知らせ
-----*/
  .important_news_list .cmp-list__item:nth-child(2) a::before {
    content: "重要なお知らせ";
  }

  /*-----
3つ目のお知らせ
-----*/
  .important_news_list .cmp-list__item:nth-child(3) a::before {
    content: "重要なお知らせ";
  }

  a:hover,
  a:active,
  a:focus {
    opacity: inherit;
  }

  a {
    transition: all .25s cubic-bezier(.4, 0, .2, 1) 0s;
  }

  body {
    max-width: 1920px;
    min-width: calc(1120px + 80px * 2);
    margin: 0 auto;
    font-family: 'Noto Sans JP', 'Yu Gothic', 'Hiragino Kaku Gothic Pro', 'Hiragino Sans', Meiryo, Osaka, Arial, 'MS PGothic', sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .Main__body {
    overflow: hidden;
  }

  @layer layout {
    #index .Main .Main__inner .Main__content {
        margin: 0 auto;
        padding: 10.4rem 80px 0!important;
    }
  }

  /* ======================================================
 * PartsComponent
====================================================== */
  /* ----- home-heading1 ----- */
  .home-heading1 {
    margin: 0;
    font-size: 0;
    opacity: 0;
  }

  /* ----- home-important-area ----- */
  .home-important-area {
    margin: 0 auto;
    padding: 4rem 8rem 4.3rem;
    max-width: calc(1120px + 80px * 2);
  }

  .home-important-area .partially-list-info {
    padding: 0;
  }

  .home-important-area .important_news_list>*:last-child {
    margin-bottom: 0 !important;
  }

  /* ----- home-mv-area ----- */
  .home-mv-area {
    margin: 0 auto;
    padding-bottom: 4.4rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 139px, rgba(251, 234, 244, 1) 140px, rgba(251, 234, 244, 1) 100%);
  }

  .home-mv-area__inner {
    margin: 0 auto;
    max-width: calc(1120px + 80px * 2);
  }

  /* ----- home-carousel ----- */
  .home-carousel {
    margin: 0 auto;
    width: 1120px;
  }

  .home-carousel__item {
    height: auto;
  }

  .home-carousel__list {
    overflow: hidden;
    margin: 0;
    border-radius: 12px;
    min-height: 355px;
  }

  .home-carousel__pager {
    display: flex;
    justify-content: center;
    margin-top: 3.6rem;
  }

  .home-carousel__pager .swiper-pagination-bullet {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background-color: #CBCBCB;
    cursor: pointer;
  }

  .home-carousel__pager .swiper-pagination-bullet+.swiper-pagination-bullet {
    margin-left: 5px;
  }

  .home-carousel__pager .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #AD2273;
  }

  .home-carousel__button-prev,
  .home-carousel__button-next {
    width: 46px;
    height: 46px;
  }

  .home-carousel__button-prev {
    left: 10px;
    transform: translateY(-50%);
  }

  .home-carousel__button-next {
    right: 10px;
    transform: translateY(-50%);
  }

  .prev-icon,
  .next-icon {
    width: 8px;
    height: 14px;
  }

  .home-carousel__type {
    display: block;
    height: 100%;
  }

  .home-carousel__body {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
  }

  /* ----- home-layout ----- */
  .home-layout {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 241px, rgba(245, 245, 245, 1) 242px, rgba(245, 245, 245, 1) 100%);
    border-radius: 0 0 96px 96px;
    overflow: hidden;
    z-index: 1;
  }
  .home-layout__inner {
    margin: 0 auto;
    max-width: calc(1120px + 80px * 2);
    padding: 0 80px 75px;
  }

  .home-layout__inner>*:first-child,
  .home-layout__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-layout-v2 ----- */
  .home-layout-v2 {
    margin: 96px 0 0;
    padding: 72px 40px 88px;
    border-radius: 34px;
    background-color: #fff;
  }

  .home-layout-v2__inner>*:first-child,
  .home-layout-v2__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-layout-v3 ----- */
  .home-layout-v3 {
    margin: 104px 0 0;
    padding: 80px 56px 56px 56px;
    border-radius: 56px;
    background-color: #F5F5F5;
  }

  .home-layout-v3__inner>*:first-child,
  .home-layout-v3__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-layout-v4 ----- */
  .home-layout-v4 {
    margin: 104px 0 0;
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background: #F5F5F5;
    overflow: hidden;
    z-index: 1;
  }

  .home-layout-v4__inner {
    margin: 0 auto;
    max-width: calc(1120px + 80px * 2);
    padding: 56px 80px 72px;
  }

  .home-layout-v4__inner>*:first-child,
  .home-layout-v4__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }
  /* ----- home-layout-v5 ----- */
  .home-layout-v5 {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 299px, rgba(245, 245, 245, 1) 300px, rgba(245, 245, 245, 1) 100%);
    overflow: hidden;
    z-index: 1;
  }
  /* ----- home-product-button-wrap ----- */
  .home-product-button-wrap {
    display: flex;
    flex-flow: row wrap;
    margin-top: 8rem;
    width: 100%;
    gap: 12px;
  }

  /* ----- home-product-button ----- */
  .home-product-button {
    width: calc((100% - (12px * 3)) / 4);
  }

  .home-product-button .home-product-button__type {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 2.2rem 1.6rem 2.4rem;
    border: 2px solid #fff;
    border-radius: 24px;
    z-index: 1;
    background-color: #fff;
    box-shadow: 0 8px 36px rgba(50, 50, 50, .08);
    height: 100%;
  }

  .home-product-button .home-product-button__type:hover {
    border-color: #D82B90;
    opacity: 1;
  }

  .home-product-button .home-product-button__type:hover img {
    opacity: 1;
  }

  .home-product-button .home-product-button__label {
    margin-top: -.55rem;
    font-size: 1.8rem;
    font-weight: 700;
    color: #323232;
    text-align: center;
  }

  /* ----- home-heading2 ----- */
  .home-heading2 {
    text-align: center;
  }

  .home-heading2__title {
    margin: 0;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #323232;
  }

  /* ----- home-heading2-v2 ----- */
  .home-heading2-v2 {
    text-align: center;
  }

  .home-heading2-v2__title {
    margin: 0;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.4;
    color: #323232;
  }

  /* ----- home-card-wrap ----- */
  .home-card-wrap {
    display: flex;
    flex-flow: row wrap;
    margin: 6.4rem 0 0;
    gap: 32px 0;
  }

  /* ----- home-card-wrap-v2 ----- */
  .home-card-wrap-v2 {
    display: flex;
    flex-flow: row wrap;
    margin: 6.5rem 0 0;
    gap: 32px 0;
  }

  /* ----- home-card ----- */
  .home-card {
    position: relative;
    border-left: 1px solid #D8D8D8;
    width: calc(100% / 2);
    text-align: center;
  }

  .home-card:nth-child(3n+1) {
    border: none;
  }

  .home-card__type,
  .home-card__type--blank {
    display: block;
    padding: 0 32px;
  }

  .home-card__type:hover,
  .home-card__type--blank:hover {
    opacity: 1;
  }

  .home-card__type:hover img,
  .home-card__type--blank:hover img {
    opacity: 1;
  }

  .home-card__type:hover .home-card__text,
  .home-card__type--blank:hover .home-card__text {
    text-decoration: underline;
  }

  .home-card__image {
    width: 80px;
    margin: 0 auto;
  }

  .home-card__body {
    margin-top: 32px;
  }

  .home-card__body>*:first-child {
    margin-top: 0 !important;
  }

  .home-card__title {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #323232;
  }

  .home-card__description {
    margin: 1.7rem 0 0;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #323232;
  }

  .home-card__text {
    margin: 3.5rem 0 0;
    padding-right: .6rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.2;
    color: #AD2273;
  }

  .home-card__type .home-card__text::after {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 14px;
    margin-left: 13px;
    background: url("/app-files/img/arrow_01.svg") no-repeat left top/100%;
    content: "";
  }

  .home-card__type--blank .home-card__text::after {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 1rem;
    background: url("/app-files/img/new_blank_01.svg") no-repeat left top/100%;
    content: "";
  }

  /* ----- home-card-v2 ----- */
  .home-card-v2 {
    position: relative;
    border-left: 1px solid #E5E5E5;
    width: calc(100% / 2);
  }

  .home-card-v2:nth-child(2n-1) {
    border-left: none !important;
  }

  .home-card-v2 a[class*="__type"] {
    display: flex;
    flex-flow: column wrap;
    justify-content: space-between;
    height: 100%;
    padding: 0 56px;
  }

  .home-card-v2 a[class*="__type"]:hover {
    opacity: 1;
  }

  .home-card-v2 a[class*="__type"]:hover img {
    opacity: 1;
  }

  .home-card-v2 a[class*="__type"]:hover .home-card-v2__text {
    text-decoration: underline;
  }

  .home-card-v2__image {
    float: left;
    margin-right: 32px;
    width: 80px;
  }

  .home-card-v2__title {
    overflow: hidden;
    font-size: 1.8rem;
    font-weight: 700;
    color: #323232;
    line-height: 1.4;
  }

  .home-card-v2__body {
    margin: 1.8rem 0 0;
    padding-right: 2rem;
    overflow: hidden;
  }

  .home-card-v2__body>*:first-child {
    margin-top: 0 !important;
  }

  .home-card-v2__description {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #323232;
  }

  .home-card-v2__text {
    margin: 1.7rem 0 0;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.32px;
    color: #AD2273;
  }

  .home-card-v2__type .home-card-v2__text::after {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 14px;
    margin-left: 13px;
    background: url("/app-files/img/arrow_01.svg") no-repeat left top/100%;
    content: "";
  }

  .home-card-v2__type--blank .home-card-v2__text::after {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 1rem;
    background: url("/app-files/img/new_blank_01.svg") no-repeat left top/100%;
    content: "";
  }

  .home-card-v2__other {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    column-gap: 24px;
    margin-top: 4rem;
    padding: 1.6rem 2.6rem 1.6rem 2.4rem;
    border-radius: 8px;
    background-color: #F5F5F5;
    z-index: 0;
  }

  .home-card-v2__logo {
    flex-shrink: 0;
    line-height: 0;
  }

  .home-card-v2__name {
    font-size: 1.2rem;
    line-height: 1.6;
    color: #000000;
  }

  /* ----- home-box-wrap ----- */
  .home-box-wrap {
    display: flex;
    flex-flow: row wrap;
    gap: 24px;
    margin: 80px 0 0;
  }

  .home-box-wrap>*:first-child,
  .home-box-wrap>section:first-child>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-box ----- */
  .home-box {
    position: relative;
    display: flex;
    flex-flow: column wrap;
    justify-content: space-between;
    padding: 56px 72px;
    border-radius: 16px;
    background-color: #fff;
    width: calc((100% - (24px * 1)) / 2);
    overflow: hidden;
    z-index: 1;
  }

  .home-box__body>*:first-child,
  .home-box__foot>*:first-child {
    margin-top: 0 !important;
  }

  .home-box__foot {
    margin-top: 4.2rem;
  }

  .home-box__heading__title {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }

  .home-box__figure-wrap {
    margin: 40px 0 0;
  }

  .home-box__figure {
    text-align: center;
  }

  .home-box__text {
    margin: 40px 0 0;
    font-size: 1.8rem;
    line-height: 1.6;
  }

  /* ----- home-column ----- */
  .tm-layout_column01.col3 {
    display: flex;
    flex-flow: row wrap;
    margin: 80px 0 0;
  }

  .tm-layout_column01.col3::before {
    display: none;
  }

  .tm-layout_column01.col3>* {
    display: flex !important;
    flex-flow: column wrap;
    justify-content: space-between;
    padding: 0 32px !important;
    border-left: 1px solid #DDDDDD;
    width: calc(100% / 3) !important;
    box-shadow: none !important;
    float: none !important;
  }

  .tm-layout_column01 .button-wrap {
    margin-top: 4.8rem;
  }

  .tm-layout_column01.col3>*:nth-child(3n+1) {
    border-left: none;
  }

  .tm-layout_column01 .heading3 {
    margin-top: 0;
  }

  .tm-layout_column01 .home-news-area--pc {
    margin-top: 5.6rem;
  }

  .tm-layout_column01 .tm-link_news01 li a {
    font-size: 1.4rem;
    line-height: 1.5384;
  }

  .home-news-area--sp {
    display: none;
  }

  /* ----- home-other-area ----- */
  .home-other-area {
    margin: 6.5rem auto 0;
    width: 980px;
  }

  .home-other-area>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-button-wrap ----- */
  .home-button-wrap {
    margin-top: 4.8rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 1rem;
    column-gap: 16px;
  }

  /* ----- home-button ----- */
  .home-button {
    width: calc((100% - (16px * 3))/4);
  }

  .home-button a[class*="__type"] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 1.4rem 3.8rem;
    border: 1px solid #cbcbcb;
    border-radius: 12px;
    background-color: #fff;
  }

  .home-button a[class*="__type"]:hover {
    border-color: #7E7E7E;
    background-color: #F5F5F5;
  }

  .home-button__label {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.3;
    color: #4c4c4c;
  }

  .home-button__type::after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    background: url("/app-files/img/arrow_06.svg") no-repeat left top/100%;
    content: "";
  }

  .home-button__type--blank::after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 12px;
    height: 12px;
    margin-top: -6px;
    background: url("/app-files/img/new_blank_02.svg") no-repeat left top/100%;
    content: "";
  }
}
@media print,
screen and (min-width: 768px) and (max-width: 1279.98px) {

  /* ----- home-layout ----- */
  .home-layout {
    width: calc(1120px + 80px * 2);
    margin-left: -80px;
  }

  /* ----- home-layout-v4 ----- */
  .home-layout-v4 {
    width: calc(1120px + 80px * 2);
    margin-left: -80px;
  }
}


/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width:767.98px) {

  /* ======================================================
 * Override
====================================================== */
  /*----- 災害対応 -----*/
  .disaster li:after {
    top: calc(50% - 1.2em);
  }

  /*-----
重要なお知らせ
-----*/
  .important_news li+li {
    margin-top: 14px;
  }

  .important_news .cmp-list__item a {
    color: #d90000;
    position: relative;
    padding: 0 30px 0 0;
    font-size: 1.4rem;
  }

  /*-----
お知らせラベル
-----*/
  .important_news_list .cmp-list__item a::before {
    font-size: 1.4rem;
  }

  /*-----
  1つ目のお知らせ
  -----*/
  .important_news_list .cmp-list__item:nth-child(1) a::before {
    content: "【重要】";
  }

  /*-----
  2つ目のお知らせ
  （ラベルが2行になる場合はheightで高さ指定する）
  -----*/
  .important_news_list .cmp-list__item:nth-child(2) a::before {
    content: "【重要】";
    /* height: 28px; */
  }

  .important_news_list .cmp-list__item:nth-child(3) a::before {
    content: "【重要】";
    /* height: 28px; */
  }

  body {
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'Hiragino Sans', Meiryo, Osaka, Arial, 'MS PGothic', sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.6;
  }

  html,
  body,
  div,
  span,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  abbr,
  address,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  samp,
  small,
  strong,
  sub,
  sup,
  var,
  b,
  i,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    font-size: 62.5%;
  }

  .Header span {
    font-size: 100%;
  }

  .Main__content {
    margin: 0 auto;
    padding: 8rem 24px 0 !important;
  }

  .card-v3__text {
    font-size: 1.6rem;
  }

  .card-v3-wrap>.card-v3+.card-v3 {
    margin-top: 3.4rem;
  }

  /* ======================================================
 * PartsComponent
====================================================== */
  /* ----- home-heading1 ----- */
  .home-heading1 {
    margin: 0;
    font-size: 0;
    opacity: 0;
  }

  /* ----- home-important-area ----- */
  .home-important-area {
    margin: 0 auto;
  }

  .home-important-area .partially-list-info {
    padding: 0;
  }

  .home-important-area .important_news_list>*:last-child {
    margin-bottom: 0 !important;
  }

  .home-important-area .list-target .item dd a {
    font-size: 1.5rem;
  }

  .home-important-area .partially-list-info li a::after {
    display: none;
  }

  /* ----- home-mv-area ----- */
  .home-mv-area {
    margin: 0 auto;
    padding-bottom: 2.6rem;
    background: #FBEAF4;
    min-height: 50.9333vw;
  }

  .home-mv-area__inner {
    margin: 0 auto;
  }

  .home-mv-area__inner>*:first-child,
  .home-mv-area__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }


  /* ----- home-carousel ----- */
  .home-carousel {
    margin-top: 4.8rem;
  }

  .home-carousel__list {
    overflow: hidden;
  }

  .home-carousel__item {
    height: auto;
  }

  .home-carousel__pager {
    display: flex;
    justify-content: center;
    margin-top: 2.4rem;
  }

  .home-carousel__pager .swiper-pagination-bullet {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background-color: #CBCBCB;
  }

  .home-carousel__pager .swiper-pagination-bullet+.swiper-pagination-bullet {
    margin-left: 5px;
  }

  .home-carousel__pager .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #AD2273;
  }

  .home-carousel__button-prev,
  .home-carousel__button-next {
    width: 25px;
    height: 25px;
  }

  .home-carousel__button-prev {
    left: 5%;
    transform: translate(-50%, -50%);
  }

  .home-carousel__button-next {
    right: 5%;
    transform: translate(50%, -50%);
  }

  .prev-icon,
  .next-icon {
    width: 6px;
    height: 10.5px;
  }

  .home-carousel__image {
    position: relative;
    overflow: hidden;
  }

  .home-carousel__image>img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    object-position: center center;
  }

  .home-carousel__type {
    display: block;
    height: 100%;
  }

  .home-carousel__body {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
  }

  /* ----- home-layout ----- */
  .home-layout {
    position: relative;
    margin: 0 -24px;
    background: linear-gradient(#fff, #fff 169px, #F5F5F5 170px, #F5F5F5 0, #F5F5F5);
    border-radius: 0px 0px 28px 28px;
    overflow: hidden;
    z-index: 1;
  }

  .home-layout__inner {
    margin: 0 auto;
    padding: 0 21.5px 2.4rem;
  }

  .home-layout__inner>*:first-child,
  .home-layout__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-layout-v2 ----- */
  .home-layout-v2 {
    margin: 80px 2.5px 0;
    border-radius: 14px;
    background-color: #fff;
  }

  .home-layout-v2__inner {
    padding: 5.6rem 24px 2.4rem;
  }

  .home-layout-v2__inner>*:first-child,
  .home-layout-v2__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-layout-v3 ----- */
  .home-layout-v3 {
    margin: 8rem -24px 0;
    padding: 0;
    background-color: #F5F5F5;
  }

  .home-layout-v3__inner {
    padding: 4rem 24px 3.3rem;
  }

  .home-layout-v3__inner>*:first-child,
  .home-layout-v3__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-layout-v4 ----- */
  .home-layout-v4 {
    margin: 8rem -24px 0;
    position: relative;
    background: #F5F5F5;
    overflow: hidden;
    z-index: 1;
  }

  .home-layout-v4__inner {
    margin: 0 auto;
    padding: 40px 24px 80px;
  }

  .home-layout-v4__inner>*:first-child,
  .home-layout-v4__inner>section:first-child>*:first-child {
    margin-top: 0 !important;
  }
  /* ----- home-layout-v5 ----- */
  .home-layout-v5  {
    position: relative;
    margin: 0 -24px;
    background: linear-gradient(#fff, #fff 299px, #F5F5F5 300px, #F5F5F5 0, #F5F5F5);
    overflow: hidden;
    z-index: 1;
  }

  /* ----- home-product-button-wrap ----- */
  .home-product-button-wrap {
    display: flex;
    flex-flow: row wrap;
    margin-top: 5.6rem;
    width: 100%;
    gap: 12px;
  }

  /* ----- home-product-button ----- */
  .home-product-button {
    width: calc((100% - (12px * 1)) / 2);
  }

  .home-product-button .home-product-button__type {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: .8rem 1.6rem 1.2rem;
    border: 2px solid #fff;
    border-radius: 14px;
    z-index: 1;
    background-color: #fff;
    box-shadow: 0 8px 36px rgba(50, 50, 50, .08);
    height: 100%;
  }

  .home-product-button .home-product-button__label {
    margin-top: .5rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: #323232;
    text-align: center;
  }

  .home-product-button__image {
    text-align: center;
  }

  /* ----- home-heading2 ----- */
  .home-heading2 {
    text-align: center;
  }

  .home-heading2__title {
    margin: 0;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #323232;
  }

  .home-heading2+section>*:first-child {
    margin-top: 5.7rem;
  }

  /* ----- home-heading2-v2 ----- */
  .home-heading2-v2 {
    text-align: center;
  }

  .home-heading2-v2__title {
    margin: 0;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #323232;
  }

  /* ----- home-card-wrap ----- */
  .home-card-wrap {
    margin: 40px 0 0;
  }

  /* ----- home-card-wrap-v2 ----- */
  .home-card-wrap-v2 {
    display: flex;
    flex-direction: column;
    margin: 40px 0 0;
  }

  /* ----- home-card ----- */
  .home-card {
    position: relative;
    margin: 32px 0 0;
    border-bottom: 1px solid #E5E5E5;
    width: 100%;
  }

  .home-card:first-child {
    margin-top: 0 !important;
  }

  .home-card:last-child {
    border-bottom: none !important;
  }

  .home-card:last-child>.home-card__type,
  .home-card:last-child>.home-card__type--blank {
    padding-bottom: 0 !important;
  }

  .home-card a[class*="__type"] {
    display: flex;
    flex-flow: row nowrap;
    column-gap: 16px;
    padding-bottom: 32px;
  }

  .home-card__head {
    width: 80px;
    flex-shrink: 0;
  }

  .home-card__body {
    width: 100%;
  }

  .home-card__body>*:first-child {
    margin-top: 0 !important;
  }

  .home-card__title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    color: #323232;
  }

  .home-card__description {
    margin: 8px 0 0;
    font-size: 1.4rem;
    line-height: 1.6;
    color: #323232;
  }

  .home-card__text {
    margin: 8px 0 0;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6;
    color: #AD2273;
  }

  .home-card__type .home-card__text::after {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 14px;
    margin-left: 15px;
    background: url("/app-files/img/arrow_01.svg") no-repeat left top/100%;
    top: .2rem;
    content: "";
  }

  .home-card__type--blank .home-card__text::after {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 10px;
    background: url("/app-files/img/new_blank_01.svg") no-repeat left top/100%;
    content: "";
  }

  /* ----- home-card-v2 ----- */
  .home-card-v2 {
    position: relative;
    border-bottom: 1px solid #E5E5E5;
    width: 100%;
  }

  .home-card-v2:last-child {
    border-bottom: none;
  }

  .home-card-v2:last-child a[class*="__type"] {
    padding-bottom: 0;
  }

  .home-card-v2 a[class*="__type"] {
    display: block;
    margin-top: 32px;
    padding-bottom: 32px;
    height: 100%;
  }

  .home-card-v2__head {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
  }

  .home-card-v2__image {
    flex-shrink: 0;
    margin-right: 16px;
    width: 80px;
  }

  .home-card-v2__title {
    flex-shrink: 0;
    width: 100%;
    font-size: 1.8rem;
    font-weight: 700;
    color: #323232;
    line-height: 1.4;
  }

  .home-card-v2__body {
    margin: 32px 0 0;
  }

  .home-card-v2__body>*:first-child {
    margin-top: 0 !important;
  }

  .home-card-v2__description {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #323232;
  }

  .home-card-v2__text {
    margin: 2rem 0 0;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.28px;
    color: #AD2273;
  }

  .home-card-v2__type .home-card-v2__text::after {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 14px;
    margin-left: 15px;
    background: url("/app-files/img/arrow_01.svg") no-repeat left top/100%;
    top: .2rem;
    content: "";
  }

  .home-card-v2__type--blank .home-card-v2__text::after {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 10px;
    background: url("/app-files/img/new_blank_01.svg") no-repeat left top/100%;
    content: "";
  }

  .home-card-v2__other {
    position: relative;
    overflow: hidden;
    margin-top: 3.8rem;
    padding: 16px 24px;
    border-radius: 8px;
    background-color: #F5F5F5;
    z-index: 0;
  }

  .home-card-v2__logo {
    flex-shrink: 0;
    line-height: 0;
  }

  .home-card-v2__name {
    margin: 8px 0 0;
    font-size: 1.2rem;
    line-height: 1.6;
    color: #000000;
  }

  /* ----- home-box-wrap ----- */
  .home-box-wrap {
    margin: 5rem 0 0;
  }

  .home-box-wrap>*:first-child,
  .home-box-wrap>section:first-child>*:first-child {
    margin-top: 0 !important;
  }


  /* ----- home-box ----- */
  .home-box {
    position: relative;
    display: flex;
    flex-flow: column wrap;
    justify-content: space-between;
    margin: 32px 0 0;
    padding: 24px 32px;
    border-radius: 16px;
    background-color: #fff;
    width: 100%;
    overflow: hidden;
    z-index: 1;
  }

  .home-box>*:first-child,
  .home-box__body>*:first-child,
  .home-box__foot>*:first-child {
    margin-top: 0 !important;
  }

  .home-box__foot {
    margin-top: 2.2rem;
  }

  .home-box__heading {
    position: relative;
    padding-top: 2.4rem;
  }

  .home-box__heading::after {
    position: absolute;
    top: 0;
    left: 50%;
    width: 40px;
    height: 2px;
    margin-left: -20px;
    background-color: #d82b90;
    content: "";
  }

  .home-box__heading__title {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }

  .home-box__figure-wrap {
    margin: 24px 0 0;
  }

  .home-box__figure {
    text-align: center;
  }

  .home-box__text {
    margin: 24px 0 0;
    font-size: 1.4rem;
    line-height: 1.6;
  }

  /* ----- home-column ----- */
  .tm-layout_column01.col3>* {
    margin-top: 64px;
    width: 100% !important;
    float: none !important;
  }

  .tm-layout_column01.col3>*:first-child {
    margin-top: 0 !important;
  }

  .tm-layout_column01 .button-wrap {
    margin-top: 2.8rem;
  }

  .tm-layout_column01 .freehtml:has(.heading3) {
    float: none !important;
  }

  .tm-layout_column01 .heading3 {
    margin-top: 0;
  }

  .home-news-area--pc {
    display: none;
  }

  .tm-layout_column01 .home-news-area--sp {
    margin: 32px 0 0;
    border: none;
  }

  .tm-layout_column01 .list-info li .date {
    line-height: 20.8px;
    font-size: 1.3rem;
  }

  .tm-layout_column01 .list-info li a,
  .tm-layout_column01 .home-news-area--sp .list-item-news-linkwithoutdate {
    font-size: 1.5rem;
  }

  .tm-layout_column01 .home-news-area--sp .label.label-important.list-item-news-linkwithoutdate {
    font-size: .9rem;
  }

  .home-news-area--sp .partially-list-info {
    padding: 0;
  }

  .home-news-area--sp .partially-list-info li {
    margin: 0;
  }

  .home-news-area--sp .partially-list-info .list-item-news-linkwithdate {
    display: none;
  }

  .home-news-area--sp .partially-list-info .list-item-news-linkwithoutdate {
    display: block;
    margin: 0;
  }

  .home-news-area--sp .partially-list-info li a::after {
    display: none;
  }

  .home-news-area--sp .cmp-list {
    margin-bottom: 0;
  }

  .home-news-area--sp .partially-list-info img.topic {
    display: none;
  }

  .home-news-area--sp .partially-list-info .icon-important01 {
    display: none;
  }

  .home-news-area--sp .partially-list-info img.pdf {
    display: none;
  }

  /* ----- home-other-area ----- */
  .home-other-area {
    margin-top: 3.1rem;
  }

  .home-other-area>*:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-button-wrap ----- */
  .home-button-wrap {
    margin-top: 4.8rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 16px;
    column-gap: 16px;
  }

  /* ----- home-button ----- */
  .home-button {
    width: calc((100% - (16px * 1))/2);
  }

  .home-button a[class*="__type"] {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 48px;
    padding: .4rem 3rem .4rem 1.8rem;
    border: 1px solid #cbcbcb;
    border-radius: 12px;
    background-color: #fff;
  }

  .home-button__label {
    font-size: 1.4rem;
    line-height: 1.3;
    color: #4c4c4c;
  }

  .home-button__type::after {
    position: absolute;
    top: 50%;
    right: 6px;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    background: url("/app-files/img/arrow_06.svg") no-repeat left top/100%;
    content: "";
  }

  .home-button__type--blank::after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 12px;
    height: 12px;
    margin-top: -6px;
    background: url("/app-files/img/new_blank_02.svg") no-repeat left top/100%;
    content: "";
  }

}

/* ======================================================
 * Print
====================================================== */
@media print {}