@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap");
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  max-width: 100vw;
  font-size: 62.5%;
  scroll-padding-top: calc(var(--header-height) + 2rem);
}
@media screen and (max-width: 1200px) {
  html {
    font-size: 0.69vw;
  }
}
@media screen and (max-width: 900px) {
  html {
    font-size: 0.77vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 2.4vw;
  }
}

body {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 2;
  color: #333;
  background: #FFF;
  word-break: break-all;
  counter-reset: number 0;
  letter-spacing: 0.1em;
}

a {
  color: #439ED6;
  text-decoration: none;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
}
a:hover {
  color: #3455FC;
  text-decoration: none;
}

img {
  width: 100%;
  vertical-align: bottom;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.center {
  text-align: center !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt1 {
  margin-top: 1rem !important;
}

.mt2 {
  margin-top: 2rem !important;
}

.mt3 {
  margin-top: 3rem !important;
}

.mt4 {
  margin-top: 4rem !important;
}

.mt5 {
  margin-top: 5rem !important;
}

.mt6 {
  margin-top: 6rem !important;
}

.mt7 {
  margin-top: 7rem !important;
}

.mt8 {
  margin-top: 8rem !important;
}

.mt9 {
  margin-top: 9rem !important;
}

.mt10 {
  margin-top: 10rem !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1 {
  margin-bottom: 1rem !important;
}

.mb2 {
  margin-bottom: 2rem !important;
}

.mb3 {
  margin-bottom: 3rem !important;
}

.mb4 {
  margin-bottom: 4rem !important;
}

.mb5 {
  margin-bottom: 5rem !important;
}

.mb6 {
  margin-bottom: 6rem !important;
}

.mb7 {
  margin-bottom: 7rem !important;
}

.mb8 {
  margin-bottom: 8rem !important;
}

.mb9 {
  margin-bottom: 9rem !important;
}

.mb10 {
  margin-bottom: 10rem !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pt1 {
  padding-top: 1rem !important;
}

.pt2 {
  padding-top: 2rem !important;
}

.pt3 {
  padding-top: 3rem !important;
}

.pt4 {
  padding-top: 4rem !important;
}

.pt5 {
  padding-top: 5rem !important;
}

.pt6 {
  padding-top: 6rem !important;
}

.pt7 {
  padding-top: 7rem !important;
}

.pt8 {
  padding-top: 8rem !important;
}

.pt9 {
  padding-top: 9rem !important;
}

.pt10 {
  padding-top: 10rem !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb1 {
  padding-bottom: 1rem !important;
}

.pb2 {
  padding-bottom: 2rem !important;
}

.pb2 {
  padding-bottom: 2rem !important;
}

.pb3 {
  padding-bottom: 3rem !important;
}

.pb4 {
  padding-bottom: 4rem !important;
}

.pb5 {
  padding-bottom: 5rem !important;
}

.pb6 {
  padding-bottom: 6rem !important;
}

.pb7 {
  padding-bottom: 7rem !important;
}

.pb8 {
  padding-bottom: 8rem !important;
}

.pb9 {
  padding-bottom: 9rem !important;
}

.pb10 {
  padding-bottom: 10rem !important;
}

.size-xsmall {
  font-size: 1.2rem !important;
}

.size-small {
  font-size: 1.4rem !important;
}

.size-normal {
  font-size: 1.6rem !important;
}

.size-large {
  font-size: 1.8rem !important;
}

.size-xlarge {
  font-size: 2rem !important;
}

.size-xxlarge {
  font-size: 2.3rem !important;
}

.size-xxxlarge {
  font-size: 2.7rem !important;
}

.size-xxxxlarge {
  font-size: 3.2rem !important;
}

.color-primary {
  color: #439ED6 !important;
}

.color-secondary {
  color: #3455FC !important;
}

.color-alert {
  color: #FF775C !important;
}

.color-black {
  color: #000 !important;
}

.color-gray1 {
  color: #333 !important;
}

.color-gray2 {
  color: #666 !important;
}

.color-gray3 {
  color: #999 !important;
}

.color-gray4 {
  color: #CCC !important;
}

.color-gray5 {
  color: #F1F1F1 !important;
}

.color-gray6 {
  color: #F9F9F9 !important;
}

.color-white {
  color: #FFF !important;
}

.weight-thin {
  font-weight: 100 !important;
}

.weight-light {
  font-weight: 300 !important;
}

.weight-normal {
  font-weight: 400 !important;
}

.weight-medium {
  font-weight: 500 !important;
}

.weight-bold {
  font-weight: 700 !important;
}

.weight-extrabold {
  font-weight: 800 !important;
}

.lineh-none {
  line-height: 1 !important;
}

.lineh-xsmall {
  line-height: 1.2 !important;
}

.lineh-small {
  line-height: 1.5 !important;
}

.lineh-normal {
  line-height: 2 !important;
}

.lineh-large {
  line-height: 2.4 !important;
}

.font-primary {
  font-family: "Noto Sans JP", sans-serif !important;
}

.font-secondary {
  font-family: "Roboto Condensed", sans-serif !important;
}

.pc {
  display: inline-block;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
}
a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: #333;
}
@media screen and (max-width: 768px) {
  a[href*="tel:"] {
    pointer-events: all;
    cursor: pointer;
  }
}

.note {
  color: #f00;
}

main {
  margin-bottom: 10rem;
}

.wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 900px) {
  .wrap {
    max-width: 100%;
    padding: 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  .wrap {
    max-width: 100%;
    padding: 0 2rem;
  }
}

.wrap-small {
  max-width: 76rem;
  margin: 0 auto;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 900px) {
  .wrap-small {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .wrap-small {
    max-width: 100%;
  }
}

.page-ttl {
  margin-top: var(--header-height);
  padding: 10rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-ttl {
    padding: 7rem;
  }
}
.page-ttl__img {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.page-ttl__name {
  position: absolute;
  top: 50%;
  left: 5%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  line-height: 1.2;
  color: #FFF;
  margin: 0;
}
.page-ttl__name--en {
  font-size: 3.8rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 500;
}
.page-ttl__name--jp {
  font-size: 1.8rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .page-ttl__name--jp {
    font-size: 1.6rem;
  }
}

.ttl-section {
  margin-top: 10rem;
  margin-bottom: 5rem;
  line-height: 1.2;
}
.ttl-section--en {
  font-size: 3.2rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 500;
  color: #439ED6;
}
.ttl-section--jp {
  font-size: 1.4rem;
}

.ttl-part {
  font-size: 2.3rem;
  line-height: 1.5;
  font-weight: 500;
  margin: 6rem 0 4rem 0;
}

.animated-title span {
  opacity: 0;
  display: inline-block;
  -webkit-transform: translateY(-1em);
          transform: translateY(-1em);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fadeInDropColor {
  from {
    opacity: 0;
    -webkit-transform: translateY(-1em);
            transform: translateY(-1em);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInDropColor {
  from {
    opacity: 0;
    -webkit-transform: translateY(-1em);
            transform: translateY(-1em);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.animated-title.animate-in span {
  -webkit-animation-name: fadeInDropColor;
          animation-name: fadeInDropColor;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
}

.block-txt {
  display: block;
}

.caption {
  display: block;
}

.btn {
  display: block;
}

.pager {
  display: block;
}

.wrap-scroll {
  display: block;
}

.table-normal {
  display: block;
}

.pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 12rem;
  height: 12rem;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(1rem);
          transform: translateY(1rem);
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: 999;
  -webkit-animation: float 3s ease-in-out infinite;
          animation: float 3s ease-in-out infinite;
}

.pagetop img {
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.pagetop:hover img {
  opacity: 0.5;
}

.pagetop.show {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@-webkit-keyframes float {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-1rem);
            transform: translateY(-1rem);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes float {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-1rem);
            transform: translateY(-1rem);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 2rem 3rem 0.5rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  z-index: 10;
}
.header__logo {
  margin: 0;
  padding: 0;
  width: 16rem;
  height: 9rem;
  font-size: 1.6rem;
  text-indent: -9999px;
  /* 画面外へ移動 */
  overflow: hidden;
  white-space: nowrap;
}
.header__logo a {
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/logo-color.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.header__nav {
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  padding: 0 0 0 70%;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  overflow: auto;
  z-index: 20;
}
.header__nav--list {
  display: block;
  background-color: #FFF;
  min-height: 100vh;
  font-size: 1.8rem;
  line-height: 1.5;
  margin: 0;
  padding: var(--header-height) 2rem 4rem 2rem;
  list-style-type: none;
}
.header__nav--item {
  margin: 0 1rem;
}
.header__nav--item a {
  display: block;
  padding: 1rem 0;
  color: #333;
}
.header__nav--item a:hover {
  color: #439ED6;
}
.header__nav--sublist {
  display: block;
  background-color: #FFF;
  font-size: 1.6rem;
  margin: 0;
  padding: 0 0 0 3rem;
  list-style-type: none;
}
.header__nav--subitem a {
  display: block;
  padding: 1rem 0;
}
.header__nav--btn {
  margin-top: 3rem;
}
.header__nav--btn a {
  display: block;
  padding: 1.2rem;
  width: 60%;
  text-align: center;
  background-color: #439ED6;
  color: #FFF;
  border-radius: 0.5rem;
}
.header__nav--btn a:hover {
  background-color: #3455FC;
}
.header__nav.is-active {
  opacity: 1;
  pointer-events: all;
}
.header #toggle-icon {
  display: block;
  position: relative;
  width: 6rem;
  height: 4rem;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  cursor: pointer;
  pointer-events: all;
  z-index: 30;
}
.header #toggle-icon span {
  position: absolute;
  display: block;
  left: 0;
  height: 3px;
  background-color: #333;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.header #toggle-icon span:nth-child(1) {
  top: 0;
  width: 6rem;
}
.header #toggle-icon span:nth-child(2) {
  top: 1.8rem;
  width: 3rem;
}
.header #toggle-icon span:nth-child(3) {
  bottom: 0;
  width: 4.5rem;
}
.header #toggle-icon.is-active span:nth-child(1) {
  width: 4.5rem;
  -webkit-transform: translate(1rem, 1.8rem) rotate(45deg);
          transform: translate(1rem, 1.8rem) rotate(45deg);
}
.header #toggle-icon.is-active span:nth-child(2) {
  width: 0;
  -webkit-transform: translate(3rem, 0rem);
          transform: translate(3rem, 0rem);
  opacity: 0;
}
.header #toggle-icon.is-active span:nth-child(3) {
  width: 4.5rem;
  -webkit-transform: translate(1rem, -1.8rem) rotate(-45deg);
          transform: translate(1rem, -1.8rem) rotate(-45deg);
}

.no-scroll {
  overflow: hidden;
}

.color-white .header__logo a {
  background-image: url(../img/logo-white.svg);
}
.color-white #toggle-icon span {
  background-color: #fff;
}
.color-white #toggle-icon.is-active span {
  background-color: #333;
}

@media screen and (max-width: 768px) {
  .header {
    padding: 1rem 2rem 0.3rem 2rem;
  }
  .header__logo {
    width: 12rem;
    height: 7rem;
  }
  .header__nav {
    padding: 0 0 0 20%;
  }
}
.pankuzu {
  padding: 2rem 0;
}
.pankuzu__list {
  padding-bottom: 2rem !important;
  list-style-type: none;
  border-bottom: 1px solid #CCC;
  font-size: 1.4rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
.pankuzu__item a {
  display: inline-block;
  padding-right: 3rem;
  position: relative;
}
.pankuzu__item a:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 1.5rem;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
}

.footer {
  background-color: #F9F9F9;
  margin: 0;
  padding: 5rem 0;
}
.footer__cv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 3rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .footer__cv {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.footer__cv--logo {
  width: 16rem;
}
@media screen and (max-width: 768px) {
  .footer__cv--logo {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.footer__cv--btn {
  width: 28rem;
}
@media screen and (max-width: 768px) {
  .footer__cv--btn {
    width: 100%;
  }
}
.footer__cv--btn a {
  display: block;
  width: 100%;
  margin: 0;
  padding: 2.1rem;
  text-align: center;
  background-color: #439ED6;
  color: #FFF;
  font-size: 2rem;
  line-height: 1;
  font-weight: 400;
  white-space: nowrap;
  border-radius: 0.5rem;
}
.footer__cv--btn a:hover {
  background-color: #3455FC;
}
.footer__info {
  margin-bottom: 3rem;
}
.footer__info--name {
  font-size: 1.8rem;
  font-weight: 500;
}
.footer__info--address {
  font-size: 1.4rem;
  line-height: 1.5;
}
.footer__nav--list {
  list-style-type: none;
  padding: 0;
  margin-bottom: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.4rem;
  line-height: 1.5;
  gap: 3.5rem;
}
@media screen and (max-width: 768px) {
  .footer__nav--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    margin-bottom: 3.5rem;
  }
}
.footer__copyright {
  font-size: 1.4rem;
  line-height: 1;
}

#actionplan .goals,
#actionplan .measures {
  padding: 1.5rem 2.5rem;
}
#actionplan .goals h4,
#actionplan .goals p,
#actionplan .goals ul,
#actionplan .measures h4,
#actionplan .measures p,
#actionplan .measures ul {
  margin: 0.5rem 0;
}
#actionplan .goals {
  border: 1px solid #CCC;
}
#actionplan .measures {
  margin-bottom: 2rem;
}/*# sourceMappingURL=style.css.map */