@charset "UTF-8";
/* ========================================
ニュース、コンテンツ記事
======================================== */
.fv {
  padding: min(15vw, 15rem) 0 min(20vw, 20rem);
}
@media screen and (max-width: 768px) {
  .fv {
    padding: min(18vw, 12rem) 0 min(24vw, 18rem);
  }
}

.Breadcrumbs {
  display: flex;
  gap: 1.5em;
  margin-bottom: min(12vw, 12rem);
  margin-left: 1.4rem;
}
.Breadcrumbs a {
  color: inherit;
  text-decoration: inherit;
}
.Breadcrumbs > *:not(:last-child) {
  position: relative;
}
.Breadcrumbs > *:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -1em;
  width: 0;
  height: 0;
  margin: auto;
  border-width: 0.3em 0 0.3em 0.4em;
  border-color: transparent #003e79;
  border-style: solid;
}
@media screen and (max-width: 768px) {
  .Breadcrumbs {
    margin-bottom: 6rem;
    margin-left: 0.4rem;
  }
}

#main {
  margin-bottom: 12rem;
}

#news_block > div[class^=page_],
.c-no8 #cms_block > div[class^=page_] {
  border-bottom: 1px solid #003e79;
  padding-bottom: 6rem;
  margin-bottom: 5rem;
}
#news_block .block,
.c-no8 #cms_block .block {
  max-width: 100rem;
  margin: auto;
}

/*
   見出し
======================== */
h1.contHead {
  font-family: "Roboto Condensed", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  font-weight: 700;
  color: #ffffff;
  font-size: min(12vw, 12rem);
  line-height: 0.8;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 768px) {
  h1.contHead {
    font-size: min(14vw, 10rem);
  }
}

.articleHead {
  margin: 1.5em 0 0.8em;
  line-height: 1.4;
}

h2.articleHead {
  font-size: 6rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  h2.articleHead {
    font-size: clamp(2.4rem, 6.4vw, 4rem);
  }
}

h3.articleHead {
  font-size: 2.4rem;
}

h4.articleHead {
  font-size: 1.8rem;
}

h5.articleHead {
  font-size: 1.6rem;
}

h6.articleHead {
  font-size: 1.6rem;
}

#js-newsDate {
  font-family: "Roboto Condensed", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 0.8;
  margin: 0;
}
#js-newsDate + h2.articleHead {
  margin-top: 0.8em;
}
@media screen and (max-width: 768px) {
  #js-newsDate {
    font-size: clamp(1.8rem, 4vw, 2.6rem);
  }
}

/* ========================================
NEWS
======================================== */
.newsList table, .newsList tbody, .newsList th, .newsList td {
  display: block;
}
.newsList tr {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 17.5rem min(100% - 17.5rem, 82.5rem) 1fr;
  gap: 0;
  border-bottom: 1px solid #003e79;
  padding: 4rem 0;
}
.newsList tr::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: auto 0 1.8rem auto;
  margin: auto;
  width: 6.5rem;
  height: 1.6rem;
  background: #003e79;
  -webkit-mask-image: url(../../images/main/common/arrow.svg);
          mask-image: url(../../images/main/common/arrow.svg);
  -webkit-mask-position: right bottom;
          mask-position: right bottom;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.newsList tr .day {
  grid-column-start: 2;
}
.newsList tr .title {
  grid-column-start: 3;
}
.newsList .day {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
  font-family: "Roboto Condensed", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  font-size: clamp(2rem, 6vw, 4rem);
  line-height: 1;
}
.newsList .day__md {
  font-size: 1.5em;
}
.newsList .title {
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  line-height: 1.5;
  font-weight: 700;
}
.newsList .cap {
  font-size: clamp(1.4rem, 3vw, 2rem);
  line-height: 1.6;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .newsList tr {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 30% 70% 1fr;
  }
}

/* ========================================
ABOUT
======================================== */
.about {
  margin-top: 6rem;
}
.about__head {
  margin-bottom: 5rem;
}
.about__head h2 {
  font-family: "Roboto Condensed", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  font-size: 6rem;
  line-height: 0.8;
  font-weight: 700;
  color: #003e79;
  margin: 0;
}
.about__body {
  max-width: 88.5rem;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .about__head {
    margin-bottom: 4rem;
  }
  .about__head h2 {
    font-size: min(10vw, 4rem);
  }
}

.infoList > li {
  border-bottom: 1px solid #003e79;
  padding: 5rem 0;
}
.infoList > li:first-child {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .infoList > li {
    padding: 3rem 0;
  }
}

.infoDl {
  font-size: 2.4rem;
}
.infoDl > dt {
  font-weight: 700;
}
.infoDl > dd {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .infoDl {
    font-size: 1.8rem;
  }
}

.mapWrap {
  height: 50rem;
  max-height: 80vw;
  margin: 5rem 0;
}
.mapWrap > iframe {
  width: 100%;
  height: 100%;
  margin: 0 !important;
}
@media screen and (max-width: 768px) {
  .mapWrap {
    margin: 3rem 0;
  }
}

/* ========================================
PHILOSOPY
======================================== */
.fv.-philosopy {
  background: url(../../images/main/cont/philosophy/fvbg.jpg) center bottom/cover no-repeat;
}
.fv.-philosopy .Breadcrumbs {
  margin-top: min(11vw, 11rem);
}
.fv.-philosopy .Breadcrumbs > *::after {
  border-left-color: #ffffff;
}
.c-no10 .fv.-philosopy .Breadcrumbs {
  margin-bottom: min(6vw, 6rem);
}

.philosopy-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(7.5vw, 7.5rem) 3.5rem;
  max-width: 116rem;
  margin: auto;
}
.philosopy-head__catch {
  font-size: min(7.4vw, 10.2rem);
  font-weight: 900;
  line-height: min(1.3em, 12.8rem);
  letter-spacing: 0.1em;
}
.philosopy-head__text {
  font-size: min(2vw, 2rem);
  line-height: 1.8;
  font-weight: 700;
}
.philosopy-head__catch-en {
  grid-column-start: 1;
  grid-column-end: -1;
}
.philosopy-head.-en .philosopy-head__text {
  grid-column-start: 1;
  grid-column-end: -1;
  font-size: min(3vw, 3rem);
}
@media screen and (max-width: 768px) {
  .philosopy-head {
    grid-template-columns: 100%;
  }
  .philosopy-head__catch {
    font-size: min(14vw, 10.2rem);
  }
  .philosopy-head__text {
    font-size: min(4vw, 2.6rem);
  }
}

.philosopy__head h2 {
  font-family: "Roboto Condensed", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  font-weight: 700;
  font-size: min(12vw, 12rem);
  line-height: 0.8;
  letter-spacing: 0.02em;
  color: #003e79;
  margin: 1em 0;
}
.philosopy__catch {
  font-weight: 900;
  font-size: min(4vw, 4rem);
  line-height: 1.8;
  margin-left: auto;
  max-width: 115rem;
}
.philosopy__catch span {
  background: #003e79;
  color: #ffffff;
  padding: 0 0.2em;
}
.philosopy__body {
  margin-left: auto;
  max-width: 108rem;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2;
  color: #003e79;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .philosopy__head h2 {
    font-size: min(12vw, 10rem);
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  .philosopy__catch {
    font-size: min(3.8vw, 3rem);
  }
  .philosopy__body {
    font-size: min(4vw, 2.2rem);
    margin-top: min(8vw, 5rem);
  }
}

/* ========================================
WORKS
======================================== */
.color-no4 #cms_block {
  max-width: 109rem;
}
.color-no4 #list_06 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.color-no4 #list_06 a {
  color: inherit;
  text-decoration: inherit;
}
.color-no4 #list_06 .nwu_box:not(.-active) {
  display: none;
}
@media screen and (max-width: 768px) {
  .color-no4 #list_06 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 425px) {
  .color-no4 #list_06 {
    gap: 2rem 1rem;
  }
}

.worksFilter {
  text-align: right;
  margin-bottom: 4rem;
}
.worksFilter select {
  padding: 0.2em 1em 0.2em 0.2em;
  font-size: 1.8rem;
}

.works-title {
  font-size: min(4vw, 2.4rem);
  line-height: 1.5;
  margin-top: 1rem;
}

.works-year {
  font-size: min(3.6vw, 2rem);
  margin-top: 0.5em;
}

.works-copy {
  font-size: clamp(1rem, 2.8vw, 1.4rem);
  line-height: min(1.4em, 1.8rem);
  margin-top: 0.5em;
}

/*
   CONTACT
======================== */
.contact {
  max-width: 100rem;
  margin: auto;
}
.contact__info {
  margin-bottom: 4rem;
}
.contact__input, .contact__caution {
  display: grid;
}
.contact__input dl, .contact__caution dl {
  grid-column: 2 span;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
  gap: 5rem 0;
}
.contact__input dl > dt, .contact__caution dl > dt {
  font-size: 2rem;
}
.contact__input dl > dd, .contact__caution dl > dd {
  position: relative;
  margin: 0;
}
.contact__input dl > dd .input-caut, .contact__caution dl > dd .input-caut {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
}
.contact__input {
  grid-template-columns: 37rem 1fr;
}
.contact__input input, .contact__input textarea {
  display: block;
  width: 100%;
  padding: 0.6em 1em;
  border: 1px solid #003e79;
  font-size: 2rem;
  line-height: 1.7;
}
.contact__caution {
  grid-template-columns: 30.5rem 1fr;
  margin-top: 9rem;
  border-top: 1px solid #003e79;
}
.contact__caution dl {
  border-bottom: 1px solid #003e79;
  padding: 3.6rem 0;
}
.contact__caution .agreecheck {
  grid-column-start: 1;
  grid-column-end: -1;
}
.contact__submit {
  text-align: center;
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .contact__input, .contact__caution {
    grid-template-columns: 100%;
  }
  .contact__input dl, .contact__caution dl {
    grid-column: 1 span;
    gap: 0;
  }
  .contact__input dl > dt, .contact__caution dl > dt {
    font-size: 1.6rem;
  }
  .contact__input dl > dd + dt, .contact__caution dl > dd + dt {
    margin-top: 3rem;
  }
  .contact__input dl > dd .input-caut, .contact__caution dl > dd .input-caut {
    position: static;
    transform: none;
  }
  .contact__input input, .contact__input textarea {
    font-size: 1.6rem;
  }
  .contact__caution dl {
    padding: 2rem 0;
  }
}

.input-double {
  display: flex;
  gap: 2rem;
}
.input-double__block {
  position: relative;
  width: 23rem;
}
.input-double.-line .input-double__block:not(:first-child)::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -1.5rem;
  margin: auto;
  width: 1rem;
  height: 1px;
  background: #003e79;
}

.agreecheck {
  width: 92.8rem;
  max-width: 100%;
  margin: 4rem auto 0;
  font-size: 2rem;
  line-height: 1;
}
.agreecheck label {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  border: 1px solid #5f5f5f;
  padding: 2rem 1.4rem;
}
.agreecheck input[type=checkbox] {
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 768px) {
  .agreecheck {
    font-size: 1.6rem;
    margin-top: 3rem;
  }
  .agreecheck label {
    padding: 1rem 1.4rem;
  }
  .agreecheck input[type=checkbox] {
    width: 2.4rem;
    height: 2.4rem;
  }
}

/*
  PrivacyPolicy
======================== */
.color-no6 #cms_block {
  max-width: 109rem;
  font-size: 1.4rem;
  line-height: 2rem;
}
.color-no6 #cms_block .block {
  margin-bottom: 4rem;
}
.color-no6 #cms_block h2 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0 0 2rem;
  line-height: inherit;
}
.color-no6 #cms_block h3 {
  font-size: 1.6rem;
  font-weight: inherit;
  line-height: 2.6rem;
  margin: 0;
}
.color-no6 #cms_block p {
  margin: 0 0 2rem;
}

.p-table {
  border: solid;
  border-width: 0 0 1px 1px;
  width: 100%;
  margin: 2rem 0;
}
.p-table tr.subtr td {
  border-top-style: dotted;
}
.p-table tr.subtr td:nth-child(1) {
  border-top: none;
}
.p-table th {
  text-align: center;
  font-weight: inherit;
}
.p-table th, .p-table td {
  padding: 2rem;
  border: solid;
  border-width: 1px 1px 0 0;
  vertical-align: middle;
}
.p-table th:nth-child(1), .p-table td:nth-child(1) {
  width: 30%;
}
.p-table.-num th:nth-child(1), .p-table.-num td:nth-child(1) {
  width: 5%;
  text-align: center;
}
.p-table.-num th:nth-child(2), .p-table.-num td:nth-child(2) {
  width: 36%;
}
@media screen and (max-width: 768px) {
  .p-table th, .p-table td {
    padding: 1rem;
  }
}
/*# sourceMappingURL=usa_039.css.map */