@charset "utf-8";

/******
フォント

Zen Maru Gothic
font-family: "Zen Maru Gothic", sans-serif;


Noto Sans JP
font-family: "Noto Sans JP", sans-serif;

Zen Kaku Gothic New
font-family: "Zen Kaku Gothic New", sans-serif;


Brandon Grotesque Bold
font-family: "brandon-grotesque", sans-serif;
font-weight: 700;

Arvo(Bold)
font-family: "Arvo", serif;
font-weight: 700;

*******/

/* 装飾イラストを画面外にはみ出させるため、横スクロールだけ抑制。
   bodyだけだとビューポートに伝播せず効かないのでhtmlにも指定する */

:root {
  --main-color: #3d5a62;
  --sub-color: #1e3924;
  --green-color: #009a63;
}



body {
  color: #3d5a62;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  overflow-wrap: break-word;
  word-break: break-word;
  font-size: 16px;
  line-height: 1.5;
}

/* main{
  overflow-x: hidden;
} */

@media screen and (max-width: 750px) {
  body {
    font-size: 14px;
  }
}

.img {
  width: 100%;
  height: auto;
}

.hover--opacity {
  transition: opacity 0.3s;
}

.hover--opacity:hover {
  opacity: 0.7;
}

.inner-1330 {
  width: calc(100% - 40px);
  max-width: 1330px;
  margin: 0 auto;
}

.inner-1160 {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
}

.inner-950 {
  width: calc(100% - 40px);
  max-width: 950px;
  margin: 0 auto;
}

a.sptel {
  cursor: default;
  pointer-events: none;
}

.ilblk {
  display: inline-block;
}

.d-flex {
  display: flex;
}

.mt-16 {
  margin-top: 16px !important;
}

.mb-16 {
  margin-bottom: 16px !important;
}

section {
  padding-block: 140px;
}

@media screen and (max-width: 750px) {
  section {
    padding-block: 80px;
  }
}

.sec-ttl {
  display: flex;
  align-items: center;
  margin-bottom: 36px;
}

@media screen and (max-width: 1000px) {
  .sec-ttl {
    display: block;
  }
}

.sec-ttl--ja {
  font-size: 17px;
  font-weight: 700;
  color: var(--green-color);
  font-family: "Noto Sans JP", sans-serif;
}

.sec-ttl--en {
  font-family: "Arvo", serif;
  font-weight: 700;
  font-size: 72px;
  margin-right: 50px;
}

@media screen and (max-width: 1080px) {
  .sec-ttl--en {
    margin-right: 30px;
  }
}

@media screen and (max-width: 750px) {
  .sec-ttl--en {
    margin-right: 0;
    font-size: 56px;
  }
}

.btn {
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  font-weight: 700;
}

.btn .arrow {
  background-color: #fed32b;
  margin-left: 26px;
}

.arrow {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.arrow img {
  width: 20px;
  height: 20px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 24px;
}

/* 404ページ↓ */
.not-found div {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
  padding: 180px 0;
  min-height: 60vh;
}

.not-foun__en {
  font-size: 25px;
  font-weight: 500;
  margin-bottom: 30px;
  font-family: "Arvo", serif;
  /*それぞれのサイトの英数字のフォントに合わせる*/
}

.not-foun__ja {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 15px;
  line-height: 2.2;
}

.not-foun__ja strong {
  font-size: 20px;
  display: block;
  margin-bottom: 20px;
}

.not-found a {
  font-size: 16px;
  font-weight: 500;
  text-decoration: underline;
  display: inline;
}

/* 404ページ↑ */

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

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

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

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

@media screen and (max-width: 700px) {
  a.sptel {
    cursor: pointer;
    pointer-events: auto;
  }
}

@media screen and (max-width: 750px) {
  /* 404ページ↓ */
  .not-found div {
    padding: 120px 0 70px;
  }

  .not-foun__en {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .not-foun__ja {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .not-foun__ja strong {
    font-size: 17px;
    margin-bottom: 15px;
  }

  .not-found a {
    font-size: 14px;
  }

  /* 404ページ↑ */
}

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

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

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

.lg-col-4 {
  grid-column: span 4 / span 4;
  min-width: 0;
}

@media screen and (max-width: 750px) {
  .lg-col-4 {
    grid-column: span 12 / span 12;
  }
}

.lg-col-8 {
  grid-column: span 8 / span 8;
  grid-column-start: 5;
  min-width: 0;
}

@media screen and (max-width: 750px) {
  .lg-col-8 {
    grid-column: span 12 / span 12;
  }
}

.siteInfo__logo {
  width: 100%;
  max-width: 256px;
  margin-bottom: 24px;
}

.siteInfo__logo a {
  display: block;
}

.siteNav {
  display: flex;
}

@media screen and (max-width: 500px) {
  .siteNav {
    display: block;
  }
}

.siteNav__inner {
  flex: 0 0 50%;
  min-width: 0;
  padding: 0 16px;
}

.siteNav__list {
  margin-bottom: 30px;
}

.siteNav__item > a {
  position: relative;
}

.siteNav__item a {
  transition: opacity 0.3s;
}

.siteNav__item a:hover {
  opacity: 0.7;
}

/* 親項目の頭につく横棒 */
.siteNav__item > a::before {
  content: "";
  width: 10px;
  height: 2px;
  background-color: currentColor;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -14px;
}

.siteNav__childList {
  padding-left: 1.5rem;
}

.siteNav__childList li {
  padding-left: 1em;
  text-indent: -1em;
}

.siteNav__childList li::before {
  content: "・";
}
