@charset "utf-8";

/* ======================================================
 * home.css
 * ------------------------------------------------------
 * @media print, screen and (min-width: 768px)
 * - Override
 * - Parts
 * PC Media Queries
 * @media only screen and (max-width: 767px)
 * - Override
 * - Parts
 * SP Media Queries
 * Print
====================================================== */

/* ======================================================
 * PC
====================================================== */
@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------
   * Override
  ------------------------------------------------------ */
  .container {
    width: auto;
    padding-top: 0;
    padding-bottom: 0;
  }

  /* ------------------------------------------------------
   * Common-Parts
  ------------------------------------------------------ */
  .pc-hidden{display:none;}
  .home-text {
    font-size: 1.9rem;
    line-height: 1.6;
  }
  .home-text--center {
    text-align: center;
    font-size: 1.9rem;
    line-height: 1.6;
  }
  /* ------------------------------------------------------
   * Parts
  ------------------------------------------------------ */
  /* ----- home-hero ----- */
  .home-hero {
    position: relative;
    width: 100%;
    height: auto;
  }
  .home-hero__contents {
    position: absolute;
    bottom: 0;
    left: 50%;
    min-width: 882px;
    padding: 3.1em 90px 2.4em;
    text-align: center;
    background-image: linear-gradient(90deg, rgb(7,156,126) 0%, rgb(24,58,144) 100%);
    transform: translateX(-50%);
  }
  .home-hero__text-box {
    border-top: solid 1px #9dd2cd;
    border-bottom: solid 1px #9dd2cd;
    padding: 0.2em 0 0.1em;
    font-size: 2.7rem;
    line-height: 1.6;
    font-weight: bold;
    color: #fff;
  }
  .home-hero__body-title {
    margin-top: 0.4em;
    font-size: 6.1rem;
    line-height: 1.2;
    font-weight: bold;
    color: #fff;
  }

  /* ----- home-contents ----- */
  .home-contents{
    width: min(100%, 1200px);
    margin: 0 auto;
    padding: 0;
  }
  .home-contents > *:first-child {
    margin-top: 0 !important;
  }

  /* ----- home-media ----- */
  .home-media {
    display: flex;
    flex-flow: row-reverse nowrap;
    column-gap: 16px;
  }
  .home-media__head {
    width: 376px;
    flex-shrink: 0;
  }
  .home-media__body {
    width: 100%;
  }
  .home-media__title {
    font-size: 2.9rem;
    line-height: 1.4;
    font-weight: bold;
  }
  .home-media__text {
    margin-top: 1.1em;
    font-size: 1.7rem;
    line-height: 1.6;
  }
  .home-media__title + .home-media__text {
    margin-top: 1.8em;
  }

  /* -----home-heading2 ----- */
  .home-heading2 {
    margin-top: 5.2em;
    text-align: center;
  }
  .home-heading2__title {
    font-size: 4.3rem;
    line-height: 1.4;
    font-weight: bold;
  }
  body .home-heading2 + * {
    margin-top: 1.3em;
  }

  /* -----home-heading3 ----- */
  .home-heading3 {
    margin-top: 4.3em;
    text-align: center;
  }
  .home-heading3__inner {
    position: relative;
    padding-bottom: 0.5em;
  }
  .home-heading3__inner:after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 112px;
    height: 4px;
    border-radius: 9999px;
    background: #079c7e;
    content: "";
}
  .home-heading3__title {
    font-size: 2.9rem;
    line-height: 1.4;
    font-weight: bold;
  }
  body .home-heading3 + * {
    margin-top: 1.6em;
  }

  /* -----home-card ----- */
  .home-card-wrap {
    display: flex;
    flex-flow: row nowrap;
    column-gap: 36px;
    margin-top: 1em;
  }
  .home-card {
    flex: 1;
    padding: 1.7em 29px 1.5em;
    background-color: #e5effc;
    border-radius: 20px;
  }
  .home-card__body {
    margin-top: 1em;
  }
  .home-card__title {
    text-align: center;
    font-size: 2.1rem;
    line-height: 1.4;
    font-weight: bold;
  }
  .home-card__text {
    margin-top: 0.8em;
    font-size: 1.7rem;
    line-height: 1.6;
  }

  /* -----home-ideal ----- */
  .home-ideal {
    width: 100vw;
    height: 560px;
    margin: 5em calc(50% - 50vw) 0;
    padding: 85px 0 20px;
    background: url("/img/index_bg01.jpg") no-repeat 50% 0 / cover;
  }
  .home-ideal__inner {
    max-width: calc(1200px + 30px* 2);
    margin: 0 auto;
    padding: 0 30px;
  }
  .home-ideal__inner .home-heading2 {
    margin-top: 0 !important;
  }

  /* -----home-box ----- */
  .home-box {
    padding: 1.8em 20px 1.5em;
    text-align: center;
    background-color: rgba(255,255,255,0.8);
    border: solid 2px #079c7e;
    border-radius: 8px;
  }
  .home-box__title {
    font-size: 2.9rem;
    line-height: 1.4;
    color: #079c7e;
    font-weight: bold;
  }
  .home-box__text {
    margin-top: 1em;
    font-size: 1.9rem;
    line-height: 1.6;
  }

  /* -----home-company ----- */
  .home-company {
    position: relative;
    width: 100vw;
    margin: 5.3em calc(50% - 50vw) 0;
  }
  .home-company::after {
    position: absolute;
    top: 9px;
    left: 0;
    width: 100%;
    height: 822px;
    background: url("/img/index_bg02.png") no-repeat 50% 0 / cover;
    content: "";
    z-index: -1;
  }
  .home-company__inner {
    max-width: calc(1200px + 30px* 2);
    margin: 0 auto;
    padding: 0 30px 20px;
  }
  .home-company__inner .home-heading2 {
    margin-top: 0 !important;
  }

  /* -----home-media-v2 ----- */
  .home-media-v2 {
    display: flex;
    flex-flow: row nowrap;
    column-gap: 36px;
  }
  .home-media-v2__head {
    width: 376px;
    flex-shrink: 0;
  }
  .home-media-v2__text {
    font-size: 1.7rem;
    line-height: 1.6;
  }
  .home-media-v2__img > img {
    border-radius: 20px;
  }
  .home-media-v2__text + .home-media-v2__text {
    margin-top: 1.2em;
  }
  .home-media-v2__text--right-bold {
    margin-top: 1em;
    text-align: right;
    font-size: 1.7rem;
    line-height: 1.6;
    font-weight: bold;
  }

  .home-media-v2__body {
    width: 100%;
  }

  /* -----home-logo ----- */
  .home-logo {
    display: flex;
    justify-content: center;
    padding-top: 1.5em;
  }
  .home-logo__img {
    width: 475px;
  }

  /* -----home-media-gmap ----- */
  .home-media-gmap {
    display: flex;
    flex-flow: row nowrap;
    column-gap: 36px;
    margin-top: 3.3em;
  }
  .home-media-gmap__head {
    width: 50%;
  }
  .home-media-gmap__body {
    width: 50%;
  }

  /* -----home-description-list ----- */
  .home-description-list {
    display: flex;
    flex-flow: row nowrap;
    column-gap: 1.2em;
  }
  .home-description-list dt {
    width: 90px;
    font-size: 1.7rem;
    line-height: 1.6;
    font-weight: bold;
  }
  .home-description-list dd {
    font-size: 1.7rem;
    line-height: 1.6;
    font-weight: normal;
  }
  .home-description-list + .home-description-list {
    margin-top: 1.1em;
  }

  /* -----home-gmap ----- */
  .home-gmap__body {
    aspect-ratio: 2 / 1;
    position: relative;
    width: 100%;
  }
  .home-gmap__body > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
  }
  /* -----home-information ----- */
  .home-information {
    width: 100vw;
    margin: 4.4em calc(50% - 50vw) 0;
    padding: 5.3em 0 5em;
    background-color: #f4f4f4;
  }
  .home-information__inner {
    max-width: calc(1200px + 30px* 2);
    margin: 0 auto;
    padding: 0 30px;
  }
  .home-information__inner .home-heading2 {
    margin-top: 0 !important;
  }

  /* -----home-news ----- */
  .home-news__article {
    padding: 1.3em 0 1.1em;
    border-bottom: solid 1px #ddd;
  }
  .home-news__article:first-child {
    border-top: solid 1px #ddd;
  }
  .home-news__article > [class^="home-news__type"] {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    text-decoration: none;
    color: #333;
  }
  .home-news__type--nolink:not(:has(.home-news__property)) {
    padding-left: 160px;
  }
  [class^="home-news__type"]:not(:has(.home-news__property)) > a {
    padding-left: 160px;
  }
  .home-news__property {
    width: 10em;
    padding: 0px 1em 0px 0px;
  }
  .home-news__title {
    font-size: 1.7rem;
    line-height: 1.6;
  }
  .home-news__date {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  [class^="home-news__type"] .home-news__title::after {
    position: relative;
    top: -2px;
    margin-left: 12px;
  }
  .home-news__type .home-news__title::after {
    top: -1px;
    display: inline-block;
    width: 7px;
    height: 11px;
    background: url(/common-files/img/cmn_sprite_ic01.png) no-repeat 0 -40px;
    vertical-align: middle;
    content: "";
  }
  .home-news__type--blank .home-news__title::after {
    top: -1px;
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url(/common-files/img/cmn_sprite_ic01.png) no-repeat -40px -160px;
    vertical-align: middle;
    content: "";
  }
  .home-news__type--pdf .home-news__title::after {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(/common-files/img/cmn_sprite_ic01.png) no-repeat 0 -200px;
    vertical-align: middle;
    content: "";
  }

  [class^="home-news__type"]:not(.home-news__type--nolink) .home-news__title {
    color: #336699;
    text-decoration: underline;
    -webkit-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;  }
  [class^="home-news__type"]:not(.home-news__type--nolink) .home-news__title:hover {
    color: #009c7c;
    text-decoration: none;

  }

  /* -----home-inquiry ----- */
  .home-inquiry {
    margin-top: 91px;
  }
  .home-inquiry__box {
    border: 1px solid #DDDDDD;
  }
  .home-inquiry__title {
    padding: 1.6rem 2.9rem;
    font-weight: bold;
    font-size: 2.1rem;
    margin: 0;
    background-color: #00388f;
    line-height: 1.4;
    text-align: center;
    color: #fff;
  }
  .home-inquiry__detail {
    padding: 2.6rem 2.9rem;
  }
  .home-inquiry-text {
    margin: 0;
    text-align: center;
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1.3;
  }
  .home-inquiry-button-wrap--centering {
    margin-top: 25px;
    display: flex;
    justify-content: center;
  }
  .home-inquiry-button {
    width: 390px;
    display: flex;
  }
  .home-inquiry-button__type {
    padding: 13px 19px 13px;
    border-radius: 27px;
    background-color: #009c7c;
    color: #fff;
    text-decoration: none!important;
  }
  .home-inquiry-button__type:hover {
    opacity: 0.5;
  }
  .home-inquiry-button__label {
    font-size: 1.7rem;
    color: #fff;
    font-weight: bold;
  }

  .util-pc-hidden {
    display: none !important;
  }
}


@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .home-information {
    width: 1200px;
    margin: 4.4em 0 0;
  }
  .home-company {
    width: 1200px;
    margin: 5.3em 0 0;
  }
}
/* ======================================================
 * PC Media Queries
====================================================== */
@media screen and (min-width: 1921px) {
}
@media screen and (min-width: 768px) and (max-width: 1920px) {
}
@media screen and (min-width: 768px) and (max-width: 1680px) {
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
}
@media screen and (min-width: 768px) and (max-width: 1536px) {
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
}
@media screen and (min-width: 768px) and (max-width: 1240px) {
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
}
@media screen and (min-width: 768px) and (max-width: 1112px) {
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 768px) and (max-width: 960px) {
}
@media screen and (min-width: 768px) and (max-width: 896px) {
}
@media screen and (min-width: 768px) and (max-width: 834px) {
}
@media screen and (min-width: 768px) and (max-width: 812px) {
}


/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
   * Override
  ------------------------------------------------------ */
  .container {
    padding-bottom: 0;
  }
	/*
  /* ------------------------------------------------------
   * Common-Parts
  ------------------------------------------------------ */
  .sp-hidden{display:none;}
  .home-text {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .home-text--center {
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.6;
  }

  /* ------------------------------------------------------
   * Parts
  ------------------------------------------------------ */
  /* ----- home-hero ----- */
  .home-hero {
    position: relative;
    width: 100vw;
    height: auto;
    margin-left: -15px;
  }
  .home-hero__contents {
    padding: 20px 9%;
    text-align: center;
    background-image: linear-gradient(90deg, rgb(7,156,126) 0%, rgb(24,58,144) 100%);
  }
  .home-hero__text-box {
    border-top: solid 1px #9dd2cd;
    border-bottom: solid 1px #9dd2cd;
    padding: 0.3em 0 0.2em;
    font-size: 3.1vw;
    line-height: 1.6;
    font-weight: bold;
    color: #fff;
  }
  .home-hero__body-title {
    margin-top: 0.4em;
    font-size: 7.1vw;
    line-height: 1.2;
    font-weight: bold;
    color: #fff;
  }

    /* ----- home-contents ----- */
  .home-contents{
    width: 100%;
    padding: 0;
  }
  .home-contents > *:first-child {
    margin-top: 0 !important;
  }

    /* ----- home-media ----- */
  .home-media {
    display: flex;
    flex-flow: column-reverse wrap;
    row-gap: 15px;
  }
  .home-media__head {
    width: 284px;
    margin: 0 auto;
  }
  .home-media__body {
    width: 100%;
  }
  .home-media__title {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: bold;
  }
  .home-media__text {
    margin-top: 1em;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .home-media__title + .home-media__text {
    margin-top: 1em;
  }

  /* -----home-heading2 ----- */
  .home-heading2 {
    margin-top: 3.8em;
    text-align: center;
  }
  .home-heading2__title {
    font-size: 2.6rem;
    line-height: 1.4;
    font-weight: bold;
  }
  body .home-heading2 + * {
    margin-top: 1.5em;
  }

  /* -----home-heading3 ----- */
  .home-heading3 {
    margin-top: 2.5em;
    text-align: center;
  }
  .home-heading3__inner {
    position: relative;
    padding-bottom: 0.6em;
  }
  .home-heading3__inner:after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 68px;
    height: 3px;
    border-radius: 9999px;
    background: #079c7e;
    content: "";
}
  .home-heading3__title {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: bold;
  }
  body .home-heading3 + * {
    margin-top: 1.6em;
  }

  /* -----home-card ----- */
  .home-card-wrap {
    display: flex;
    flex-flow: column nowrap;
    row-gap: 1.4em;
    margin-top: 1em;
  }
  .home-card {
    padding: 1.2em 20px 1.3em;
    background-color: #e5effc;
    border-radius: 20px;
  }
  .home-card__title {
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: bold;
  }
  .home-card__text {
    margin-top: 0.8em;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .home-card__body {
    margin-top: 1.2em;
  }


  /* -----home-ideal ----- */
  .home-ideal {
    position: relative;
    margin: 2.8em -15px 0;
    background: linear-gradient(180deg, rgba(224,247,246,1) 0%, rgba(220,236,248,1) 100%);
    z-index: -2;
  }
  .home-ideal::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("/img/index_bg01_sp.jpg") no-repeat 50% bottom / contain;
    content: "";
    z-index: -1;
  }
  .home-ideal__inner {
    width: 100%;
    padding: 3.7em 15px 7em;
  }
  .home-ideal__inner .home-heading2 {
    margin-top: 0 !important;
  }

  /* -----home-box ----- */
  .home-box {
    margin-top: 2em;
    padding: 1.2em 20px 1.2em;
    text-align: center;
    background-color: rgba(255,255,255,0.8);
    border: solid 2px #079c7e;
    border-radius: 8px;
  }
  .home-box__title {
    font-size: 1.8rem;
    line-height: 1.4;
    color: #079c7e;
    font-weight: bold;
  }
  .home-box__text {
    margin-top: 1em;
    font-size: 1.5rem;
    line-height: 1.6;
  }


  /* -----home-media-v2 ----- */
  .home-media-v2 {
    display: flex;
    flex-flow: column nowrap;
    column-gap: 36px;
  }
  .home-media-v2__head {
    width: 100%;
    flex-shrink: 0;
  }
  .home-media-v2__text {
    margin-top: 1em;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .home-media-v2__text--right-bold {
    margin-top: 1.1em;
    text-align: right;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: bold;
  }

  .home-media-v2__body {
    width: 100%;
    margin-top: 1.6em;
  }
  .home-media-v2__body > *:first-child {
    margin-top: 0;
  }

  /* -----home-logo ----- */
  .home-logo {
    margin-top: 2em;
  }
  .home-logo__img {
    width: 100%;
  }

  /* -----home-media-gmap ----- */
  .home-media-gmap {
    display: flex;
    flex-flow: column nowrap;
    row-gap: 1.5em;
    margin-top: 1.5em;
  }
  .home-media-gmap__head {
    width: 100%;
  }
  .home-media-gmap__body {
    width: 100%;
  }

  /* -----home-description-list ----- */
  .home-description-list {
    display: flex;
    flex-flow: row nowrap;
    column-gap: 1.5em;
  }
  .home-description-list dt {
    width: 18%;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: bold;
  }
  .home-description-list dd {
    width: 82%;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: normal;
  }
  .home-description-list + .home-description-list {
    margin-top: 1em;
  }

  /* -----home-gmap ----- */
  .home-gmap__body {
    aspect-ratio: 2 / 1;
    position: relative;
    width: 100%;
  }
  .home-gmap__body > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
  }
  /* -----home-information ----- */
  .home-information {
    width: 100vw;
    margin: 4em -15px 0;
    padding: 3.6em 0 3.8em;
    background-color: #f4f4f4;
  }
  .home-information__inner {
    margin: 0 auto;
    padding: 0 15px;
  }
  .home-information__inner .home-heading2 {
    margin-top: 0 !important;
  }

  /* -----home-news ----- */
  .home-news__article {
    padding: 1.6em 0 1.3em;
    border-bottom: solid 1px #ddd;
  }
  .home-news__article:first-child {
    border-top: solid 1px #ddd;
  }
  .home-news__article > [class^="home-news__type"] {
    text-decoration: none;
    font-size: 1.3rem;
    line-height: 1.6;
    color: #333;
  }
  .home-news__caption {
    margin-top: 0.3em;
  }
  .home-news__title {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .home-news__date {
    font-size: 1.3rem;
    line-height: 1.6;
  }
  [class^="home-news__type"] .home-news__title::after {
    position: relative;
    top: -2px;
    margin-left: 9px;
  }
  .home-news__type .home-news__title::after {
    top: -1px;
    display: inline-block;
    width: 7px;
    height: 11px;
    background: url(/common-files/img/cmn_sprite_ic01-r2x.png) no-repeat 0 -50px / 600px 600px;
    vertical-align: middle;
    content: "";
  }
  .home-news__type--blank .home-news__title::after {
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url(/common-files/img/cmn_sprite_ic01-r2x.png) no-repeat -50px -200px / 600px 600px;
    vertical-align: middle;
    content: "";
  }
  .home-news__type--pdf .home-news__title::after {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(/common-files/img/cmn_sprite_ic01-r2x.png) no-repeat 0 -250px / 600px 600px;
    vertical-align: middle;
    content: "";
  }

  [class^="home-news__type"]:not(.home-news__type--nolink) .home-news__title {
    color: #336699;
    text-decoration: underline;
  }

  /* -----home-inquiry ----- */
  .home-inquiry {
    margin-top: 40px;
  }
  .home-inquiry__box {
    border: 1px solid #DDDDDD;
  }
  .home-inquiry__title {
    padding: 9px 10px;
    font-weight: bold;
    font-size: 1.9rem;
    margin: 0;
    background-color: #00388f;
    line-height: 1.5;
    text-align: center;
    color: #fff;
  }
  .home-inquiry__detail {
    padding: 13px 10px 20px;
  }
  .home-inquiry-text {
    margin: 0;
    text-align: center;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.5;
  }
  .home-inquiry-button-wrap--centering {
    margin-top: 17px;
    display: flex;
    justify-content: center;
  }
  .home-inquiry-button {
    display: flex;
  }
  .home-inquiry-button__type {
    padding: 10px 22px 10px;
    border-radius: 27px;
    background-color: #009c7c;
    color: #fff;
    text-decoration: none!important;
  }
  .home-inquiry-button__label {
    font-size: 1.3rem;
    color: #fff;
    font-weight: bold;
  }

  .util-sp-hidden {
    display: none !important;
  }



}


/* ======================================================
 * SP Media Queries
====================================================== */
@media only screen and (min-width: 320px) and (max-width: 767px) {
}
@media only screen and (max-width: 736px) {
}
@media only screen and (max-width: 667px) {
}
@media only screen and (max-width: 640px) {
}
@media only screen and (max-width: 568px) {
}
@media only screen and (max-width: 480px) {
}
@media only screen and (max-width: 414px) {
}
@media only screen and (max-width: 375px) {
}
@media only screen and (max-width: 360px) {
}
@media only screen and (max-width: 320px) {
}

/* ======================================================
 * Print
====================================================== */
@media print {
}