@charset "UTF-8";
/* CSS Document */
/* CSS Document */
html {
  font: 0.625vw/1.5 "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  /* 基本文字設定 */
  *font-size: small;
  /* Win IE7およびWin IE6標準準拠モード向け */
  *font: x-small;
  /* Win IE 5-5.5､6(後方互換モード)向け */
  letter-spacing: 0.05em;
  color: #000;
  font-weight: normal;
  scroll-padding-top: 7.4rem;
  scroll-behavior: smooth;
  font-feature-settings: "palt"; }
  @media screen and (max-width: 1000px) {
    html {
      font-size: 1.667vw; } }

body {
  background-color: #F4F4F4;
  background-image: url("../image/top/bg-main1.svg"), url("../image/top/bg-main2.svg");
  background-position: left top, 48.15rem top;
  background-size: 160.3rem auto, 120.1rem auto;
  background-repeat: no-repeat; }
  @media screen and (max-width: 1000px) {
    body {
      background-image: url("../image/top/bg-main1-sp.svg"), url("../image/top/bg-main2-sp.svg");
      background-position: left top, 15rem top;
      background-size: 77.3rem auto, 45rem auto; } }

* {
  outline: none; }

a {
  color: #054B50;
  outline: none;
  text-decoration: none;
  transition: opacity 300ms ease-in-out; }
  a:after {
    text-decoration: none; }
  a:hover, a:focus {
    color: #054B50;
    opacity: 0.8; }
    a:hover img, a:focus img {
      opacity: 0.8; }
  a:focus-visible {
    outline: dotted 1px #000;
    outline-offset: -2px;
    color: #054B50;
    box-shadow: 0 0 0 2px #054B50; }
  a img {
    background: url(../image/share/transparent.png);
    transition: opacity 300ms ease-in-out; }
  .main-wpcontent a {
    color: #054B50;
    text-decoration: underline; }

button:focus-visible {
  outline: dotted 1px #000;
  outline-offset: 2px;
  color: #054B50;
  box-shadow: 0 0 0 2px #054B50; }

textarea:focus,
input:focus {
  box-shadow: 0 0 3px 1px inset #054B50; }

em {
  color: #F00;
  font-style: normal; }

#mainScroll {
  position: relative;
  margin: 0 auto;
  padding: 0;
  z-index: 300;
  overflow-x: hidden;
  overflow-y: visible; }

#header {
  position: sticky;
  width: 100%;
  height: 7.4rem;
  margin: 12.3rem 0 0;
  padding: 0 20rem;
  box-sizing: border-box;
  z-index: 400;
  top: 0;
  background: rgba(244, 244, 244, 0); }
  @media screen and (max-width: 1000px) {
    #header {
      height: 6.2rem;
      margin: 5.6rem 0 0;
      padding: 0 3rem; } }
  #header__inner {
    position: relative;
    height: 7.4rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    align-content: flex-end;
    margin: 0 auto;
    padding: 0.6rem 0;
    box-sizing: border-box; }
    @media screen and (max-width: 1000px) {
      #header__inner {
        height: 6.2rem;
        align-items: center;
        align-content: center; } }
    #header__inner #identity-area {
      flex: 0 0 18rem;
      width: 18rem; }
      @media screen and (max-width: 1000px) {
        #header__inner #identity-area {
          flex: 0 0 14.4rem;
          width: 14.4rem; } }
      #header__inner #identity-area img {
        width: 100%;
        height: auto; }

#menu-button--close,
#menu-button {
  display: none;
  position: relative;
  width: 7.5rem;
  height: 3.2rem;
  background-color: transparent;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border-radius: 0;
  transition: all 300ms ease-in-out;
  font-size: 1.2rem;
  line-height: 1;
  color: #707070;
  font-weight: bold; }
  #menu-button--close:hover,
  #menu-button:hover {
    cursor: pointer; }
  @media screen and (max-width: 1000px) {
    #menu-button--close,
    #menu-button {
      display: block; } }
  #menu-button--close .menu--line,
  #menu-button .menu--line {
    position: absolute;
    display: block;
    width: 7.5rem;
    height: 2px;
    background-color: #707070;
    left: 50%;
    top: 1.6rem;
    border-radius: 99999px;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    transition: all 300ms ease-in-out;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
  #menu-button--close .menu--line--top,
  #menu-button .menu--line--top {
    -webkit-transform: translate(-50%, -1.6rem);
    transform: translate(-50%, -1.6rem); }
  #menu-button--close .menu--line--bottom,
  #menu-button .menu--line--bottom {
    -webkit-transform: translate(-50%, 1.6rem);
    transform: translate(-50%, 1.6rem); }
  #menu-button--close.active .menu--line--top,
  #menu-button.active .menu--line--top {
    -webkit-transform: translate(-50%, 0) rotate(24deg);
    transform: translate(-50%, 0) rotate(24deg); }
  #menu-button--close.active .menu--line--middle,
  #menu-button.active .menu--line--middle {
    opacity: 0; }
  #menu-button--close.active .menu--line--bottom,
  #menu-button.active .menu--line--bottom {
    -webkit-transform: translate(-50%, 0) rotate(-24deg);
    transform: translate(-50%, 0) rotate(-24deg); }

#global-area {
  margin: 0;
  padding: 0; }
  @media screen and (max-width: 1000px) {
    #global-area {
      display: none; } }
  #global-area__inner {
    margin: 0;
    padding: 0; }

#nav-global {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 0 2rem;
  height: 5rem; }
  #nav-global > li {
    position: relative;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    font-family: "Outfit", sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    letter-spacing: 0.2em;
    line-height: 1;
    text-align: center; }
    #nav-global > li + li::before {
      position: absolute;
      content: "";
      height: 3.5rem;
      width: 1px;
      background: #000;
      left: -1rem;
      top: 0.75rem; }
    #nav-global > li a {
      width: 18rem;
      height: 5rem;
      color: #1A1311;
      display: flex;
      text-align: center;
      justify-content: center;
      align-items: center;
      align-content: center;
      transition: opacity, background 300ms ease-in-out; }
      #nav-global > li a:hover {
        background: #054B50;
        color: #FFF; }

#global-area-sp {
  display: none; }
  @media screen and (max-width: 1000px) {
    #global-area-sp {
      position: fixed;
      top: 0;
      right: -40rem;
      display: block;
      width: 39.4rem;
      margin: 0;
      padding: 0;
      z-index: 600;
      box-sizing: border-box;
      transition: all 300ms ease-in-out;
      overflow: hidden;
      text-align: center;
      overflow-y: scroll;
      overflow-x: hidden;
      background: rgba(255, 255, 255, 0.9); } }
  #global-area-sp.active {
    right: 0; }
  #global-area-sp__inner {
    position: relative; }

#identity-area-sp {
  height: 6.2rem;
  margin: 5.6rem 0 0;
  padding: 0 3rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-content: center; }

#nav-global-sp {
  margin: 2.2rem 0 0;
  padding: 0 0 0 3rem; }
  #nav-global-sp > li {
    font-family: "Outfit", sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: right;
    border-bottom: 1px solid #000;
    line-height: 1; }
    #nav-global-sp > li:last-child {
      border: none; }
    #nav-global-sp > li a {
      display: block;
      color: #1A1311;
      padding: 2.2rem 2.8rem; }

#top .leftFrom,
#top .rightFrom,
#top .bottomFrom {
  opacity: 0; }

#main {
  margin: 20rem 0 0; }
  @media screen and (max-width: 1000px) {
    #main {
      margin-top: 19.8rem; } }
  #main__inner {
    margin: 0 auto 11rem;
    padding: 0 20rem; }
    @media screen and (max-width: 1000px) {
      #main__inner {
        margin-bottom: 13.5rem;
        padding: 0 3rem; } }
    #main__inner .main-copy--en--main {
      opacity: 0;
      font-family: "Outfit", sans-serif;
      font-weight: bold;
      font-size: 12.1rem;
      line-height: 1;
      letter-spacing: 0.020em;
      text-align: right;
      color: #054B50; }
      @media screen and (max-width: 1000px) {
        #main__inner .main-copy--en--main {
          font-size: 8.4rem; } }
      #main__inner .main-copy--en--main span {
        display: block; }
    #main__inner .main-copy--en--sub {
      opacity: 0;
      margin: 1.5rem 0 0;
      font-family: "Outfit", sans-serif;
      font-weight: 500;
      font-size: 2.5rem;
      line-height: 1.4;
      letter-spacing: 0.02em;
      text-align: right;
      color: #054B50; }
      @media screen and (max-width: 1000px) {
        #main__inner .main-copy--en--sub {
          font-size: 2.1rem;
          line-height: 1.476;
          margin-top: 0.7rem; } }
      #main__inner .main-copy--en--sub span {
        display: block; }
    #main__inner .main-copy--jp {
      opacity: 0;
      position: relative;
      margin: 6.5rem 0 0;
      font-weight: bold;
      font-size: 4.7rem;
      line-height: 1.489;
      color: #000; }
      @media screen and (max-width: 1000px) {
        #main__inner .main-copy--jp {
          margin-top: 28.2rem;
          font-size: 3.5rem;
          line-height: 1.657;
          text-align: center; } }
      #main__inner .main-copy--jp span {
        display: block; }
      @media screen and (max-width: 1000px) {
        #main__inner .main-copy--jp::before {
          position: absolute;
          content: "";
          width: 1px;
          height: 6.8rem;
          background: #054B50;
          top: -16.8rem;
          left: 50%;
          -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0); } }
      @media screen and (max-width: 1000px) {
        #main__inner .main-copy--jp::after {
          position: absolute;
          content: "SCROLL";
          font-family: "Outfit", sans-serif;
          font-size: 1rem;
          color: #054B50;
          letter-spacing: 0.2em;
          top: -8rem;
          left: 50%;
          -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0); } }

#main-vision,
#main-collaboration,
#main-overview {
  margin: 0;
  display: grid; }
  @media screen and (max-width: 1000px) {
    #main-vision,
    #main-collaboration,
    #main-overview {
      display: block; } }
  #main-vision .main-vision--title,
  #main-vision .main-collaboration--title,
  #main-vision .main-overview--title,
  #main-collaboration .main-vision--title,
  #main-collaboration .main-collaboration--title,
  #main-collaboration .main-overview--title,
  #main-overview .main-vision--title,
  #main-overview .main-collaboration--title,
  #main-overview .main-overview--title {
    font-family: "Outfit", sans-serif;
    font-weight: 500;
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    line-height: 1.292;
    color: #054B50; }
    @media screen and (max-width: 1000px) {
      #main-vision .main-vision--title,
      #main-vision .main-collaboration--title,
      #main-vision .main-overview--title,
      #main-collaboration .main-vision--title,
      #main-collaboration .main-collaboration--title,
      #main-collaboration .main-overview--title,
      #main-overview .main-vision--title,
      #main-overview .main-collaboration--title,
      #main-overview .main-overview--title {
        line-height: 1.667; } }
  #main-vision .main-vision--copy,
  #main-vision .main-collaboration--copy,
  #main-vision .main-overview--copy,
  #main-collaboration .main-vision--copy,
  #main-collaboration .main-collaboration--copy,
  #main-collaboration .main-overview--copy,
  #main-overview .main-vision--copy,
  #main-overview .main-collaboration--copy,
  #main-overview .main-overview--copy {
    font-size: 3.9rem;
    font-weight: bold;
    line-height: 1.333;
    margin: 6rem 0 0; }
    @media screen and (max-width: 1000px) {
      #main-vision .main-vision--copy,
      #main-vision .main-collaboration--copy,
      #main-vision .main-overview--copy,
      #main-collaboration .main-vision--copy,
      #main-collaboration .main-collaboration--copy,
      #main-collaboration .main-overview--copy,
      #main-overview .main-vision--copy,
      #main-overview .main-collaboration--copy,
      #main-overview .main-overview--copy {
        font-size: 2.9rem;
        line-height: 1.586;
        margin-top: 5.5rem; } }
    #main-vision .main-vision--copy span,
    #main-vision .main-collaboration--copy span,
    #main-vision .main-overview--copy span,
    #main-collaboration .main-vision--copy span,
    #main-collaboration .main-collaboration--copy span,
    #main-collaboration .main-overview--copy span,
    #main-overview .main-vision--copy span,
    #main-overview .main-collaboration--copy span,
    #main-overview .main-overview--copy span {
      display: inline-block; }
  #main-vision .main-vision--text,
  #main-vision .main-collaboration--text,
  #main-vision .main-overview--text,
  #main-collaboration .main-vision--text,
  #main-collaboration .main-collaboration--text,
  #main-collaboration .main-overview--text,
  #main-overview .main-vision--text,
  #main-overview .main-collaboration--text,
  #main-overview .main-overview--text {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.944;
    margin: 6.5rem 0 0;
    color: #000; }
    @media screen and (max-width: 1000px) {
      #main-vision .main-vision--text,
      #main-vision .main-collaboration--text,
      #main-vision .main-overview--text,
      #main-collaboration .main-vision--text,
      #main-collaboration .main-collaboration--text,
      #main-collaboration .main-overview--text,
      #main-overview .main-vision--text,
      #main-overview .main-collaboration--text,
      #main-overview .main-overview--text {
        font-size: 2rem;
        line-height: 1.85;
        margin-top: 3.8rem;
        padding: 0 3rem 0 0; } }
    #main-vision .main-vision--text p span,
    #main-vision .main-collaboration--text p span,
    #main-vision .main-overview--text p span,
    #main-collaboration .main-vision--text p span,
    #main-collaboration .main-collaboration--text p span,
    #main-collaboration .main-overview--text p span,
    #main-overview .main-vision--text p span,
    #main-overview .main-collaboration--text p span,
    #main-overview .main-overview--text p span {
      display: inline-block; }
      #main-vision .main-vision--text p span.sp-block,
      #main-vision .main-collaboration--text p span.sp-block,
      #main-vision .main-overview--text p span.sp-block,
      #main-collaboration .main-vision--text p span.sp-block,
      #main-collaboration .main-collaboration--text p span.sp-block,
      #main-collaboration .main-overview--text p span.sp-block,
      #main-overview .main-vision--text p span.sp-block,
      #main-overview .main-collaboration--text p span.sp-block,
      #main-overview .main-overview--text p span.sp-block {
        display: inline; }
        @media screen and (max-width: 1000px) {
          #main-vision .main-vision--text p span.sp-block,
          #main-vision .main-collaboration--text p span.sp-block,
          #main-vision .main-overview--text p span.sp-block,
          #main-collaboration .main-vision--text p span.sp-block,
          #main-collaboration .main-collaboration--text p span.sp-block,
          #main-collaboration .main-overview--text p span.sp-block,
          #main-overview .main-vision--text p span.sp-block,
          #main-overview .main-collaboration--text p span.sp-block,
          #main-overview .main-overview--text p span.sp-block {
            display: inline-block; } }
      @media screen and (max-width: 1000px) {
        #main-vision .main-vision--text p span.sp-inline,
        #main-vision .main-collaboration--text p span.sp-inline,
        #main-vision .main-overview--text p span.sp-inline,
        #main-collaboration .main-vision--text p span.sp-inline,
        #main-collaboration .main-collaboration--text p span.sp-inline,
        #main-collaboration .main-overview--text p span.sp-inline,
        #main-overview .main-vision--text p span.sp-inline,
        #main-overview .main-collaboration--text p span.sp-inline,
        #main-overview .main-overview--text p span.sp-inline {
          display: inline; } }
  #main-vision .main-vision--img img,
  #main-vision .main-collaboration--img img,
  #main-vision .main-overview--img img,
  #main-collaboration .main-vision--img img,
  #main-collaboration .main-collaboration--img img,
  #main-collaboration .main-overview--img img,
  #main-overview .main-vision--img img,
  #main-overview .main-collaboration--img img,
  #main-overview .main-overview--img img {
    width: 100%;
    height: auto; }

#main-vision {
  position: relative;
  padding: 0 20rem;
  grid-template-columns: 52rem auto 58.8rem;
  grid-template-rows: auto auto auto; }
  @media screen and (max-width: 1000px) {
    #main-vision {
      padding: 0 3rem; } }
  #main-vision::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 6.8rem;
    background: #054B50;
    top: -6.8rem;
    left: 10rem; }
    @media screen and (max-width: 1000px) {
      #main-vision::before {
        display: none; } }
  #main-vision::after {
    position: absolute;
    content: "SCROLL";
    font-family: "Outfit", sans-serif;
    font-size: 1rem;
    transform: rotate(90deg);
    color: #054B50;
    transform-origin: left center;
    top: 1rem;
    left: 10rem; }
    @media screen and (max-width: 1000px) {
      #main-vision::after {
        display: none; } }
  #main-vision .main-vision--title {
    position: relative;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2; }
    @media screen and (max-width: 1000px) {
      #main-vision .main-vision--title {
        text-align: center; } }
    @media screen and (max-width: 1000px) {
      #main-vision .main-vision--title::after {
        content: "";
        position: absolute;
        background: #054B50;
        height: 0.8rem;
        width: 0;
        -webkit-transform: rotate(-45deg) translate(8rem, 9rem);
        transform: rotate(-45deg) translate(8rem, 9rem);
        transform-origin: left center;
        top: 50%;
        opacity: 0;
        transition: all 300ms ease-out 1s; } }
    @media screen and (max-width: 1000px) {
      #main-vision .main-vision--title.is-active::after {
        width: 56.5rem;
        opacity: 1; } }
  #main-vision .main-vision--text {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3; }
  #main-vision .main-vision--img {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 4; }
    @media screen and (max-width: 1000px) {
      #main-vision .main-vision--img {
        margin-top: 5.5rem; } }

#main-collaboration {
  position: relative;
  padding: 20rem 20rem 20rem 0;
  grid-template-columns: 71rem auto 58.8rem;
  grid-template-rows: auto auto auto auto; }
  @media screen and (max-width: 1000px) {
    #main-collaboration {
      padding: 18.6rem 3rem 10rem; } }
  #main-collaboration::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 6.8rem;
    background: #054B50;
    bottom: -3.8rem;
    left: 10rem;
    z-index: 350; }
    @media screen and (max-width: 1000px) {
      #main-collaboration::before {
        display: none; } }
  #main-collaboration::after {
    position: absolute;
    content: "SCROLL";
    font-family: "Outfit", sans-serif;
    font-size: 1rem;
    color: #054B50;
    transform: rotate(90deg);
    transform-origin: left center;
    bottom: -5rem;
    left: 10rem;
    z-index: 350; }
    @media screen and (max-width: 1000px) {
      #main-collaboration::after {
        display: none; } }
  #main-collaboration .main-collaboration--title {
    position: relative;
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 2; }
    @media screen and (max-width: 1000px) {
      #main-collaboration .main-collaboration--title span {
        display: block; } }
    #main-collaboration .main-collaboration--title::after {
      content: "";
      position: absolute;
      background: #054B50;
      height: 0.8rem;
      width: 0;
      -webkit-transform: rotate(-45deg) translate(0rem, 4rem);
      transform: rotate(-45deg) translate(0rem, 4rem);
      transform-origin: left center;
      top: 50%;
      opacity: 0;
      transition: all 300ms ease-out 1s; }
      @media screen and (max-width: 1000px) {
        #main-collaboration .main-collaboration--title::after {
          left: 50%; } }
    #main-collaboration .main-collaboration--title.is-active::after {
      width: 56.5rem;
      opacity: 1; }
  #main-collaboration .main-collaboration--copy {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 2;
    grid-row-end: 3; }
    @media screen and (max-width: 1000px) {
      #main-collaboration .main-collaboration--copy span {
        display: block; } }
  #main-collaboration .main-collaboration--text {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 3;
    grid-row-end: 4; }
  #main-collaboration .main-collaboration--img {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 5;
    display: grid;
    grid-template-columns: 38rem auto 32.4rem;
    grid-template-rows: 35.1rem 1rem 19.9rem; }
    #main-collaboration .main-collaboration--img img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    @media screen and (max-width: 1000px) {
      #main-collaboration .main-collaboration--img {
        position: relative;
        margin: 5.7rem -3rem 0;
        grid-template-columns: 9.4rem 24.7rem 0.5rem 16rem 9.4rem;
        grid-template-rows: 24.3rem 0.5rem 15.5rem;
        z-index: 360; } }
    #main-collaboration .main-collaboration--img01 {
      grid-column-start: 1;
      grid-column-end: 4;
      grid-row-start: 1;
      grid-row-end: 2; }
      @media screen and (max-width: 1000px) {
        #main-collaboration .main-collaboration--img01 {
          grid-column-start: 1;
          grid-column-end: 5;
          grid-row-start: 1;
          grid-row-end: 2; } }
    #main-collaboration .main-collaboration--img02 {
      grid-column-start: 1;
      grid-column-end: 2;
      grid-row-start: 3;
      grid-row-end: 4; }
      @media screen and (max-width: 1000px) {
        #main-collaboration .main-collaboration--img02 {
          grid-column-start: 2;
          grid-column-end: 3;
          grid-row-start: 3;
          grid-row-end: 4; } }
    #main-collaboration .main-collaboration--img03 {
      grid-column-start: 3;
      grid-column-end: 4;
      grid-row-start: 3;
      grid-row-end: 4; }
      @media screen and (max-width: 1000px) {
        #main-collaboration .main-collaboration--img03 {
          grid-column-start: 4;
          grid-column-end: 6;
          grid-row-start: 3;
          grid-row-end: 4; } }

#main-overview {
  position: relative;
  background: #FFF;
  padding: 18.5rem 0 18.5rem 20rem;
  grid-template-columns: 66rem auto 60.8rem;
  grid-template-rows: auto auto auto auto; }
  @media screen and (max-width: 1000px) {
    #main-overview {
      padding: 6rem 3rem 10.1rem; } }
  #main-overview::before {
    position: absolute;
    content: "";
    width: 133.7rem;
    height: 133.7rem;
    background: url("../image/top/bg-overview.svg") left top no-repeat;
    background-size: contain;
    top: 0;
    left: 0;
    z-index: 350; }
    @media screen and (max-width: 1000px) {
      #main-overview::before {
        width: 49.9rem;
        height: 49.9rem;
        background: url("../image/top/bg-overview-sp.svg") left top no-repeat;
        background-size: contain; } }
  #main-overview::after {
    position: absolute;
    content: "";
    width: 43.1rem;
    height: 43.1rem;
    background: url("../image/top/bg-collaboration.svg") left top no-repeat;
    background-size: contain;
    top: -43.1rem;
    left: 133.7rem; }
    @media screen and (max-width: 1000px) {
      #main-overview::after {
        width: 19.4rem;
        height: 19.4rem;
        background: url("../image/top/bg-collaboration-sp.svg") left top no-repeat;
        background-size: contain;
        top: -19.4rem;
        left: 49.9rem; } }
  #main-overview .main-overview--title {
    position: relative;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
    z-index: 360; }
    #main-overview .main-overview--title::after {
      content: "";
      position: absolute;
      background: #054B50;
      height: 0.8rem;
      width: 0;
      -webkit-transform: rotate(-45deg) translate(0.5rem, 2.5rem);
      transform: rotate(-45deg) translate(0.5rem, 2.5rem);
      transform-origin: left center;
      top: 50%;
      opacity: 0;
      transition: all 500ms ease-out 1s; }
    #main-overview .main-overview--title.is-active::after {
      width: 37.9rem;
      opacity: 1; }
  #main-overview .main-overview--copy {
    position: relative;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3;
    z-index: 360; }
    #main-overview .main-overview--copy span.sp-block {
      display: inline; }
      @media screen and (max-width: 1000px) {
        #main-overview .main-overview--copy span.sp-block {
          display: block; } }
  #main-overview .main-overview--text {
    position: relative;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 3;
    grid-row-end: 4;
    z-index: 360; }
  #main-overview .main-overview--img {
    position: relative;
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 5;
    z-index: 370; }
    @media screen and (max-width: 1000px) {
      #main-overview .main-overview--img {
        margin: 5.7rem 0 0 -3rem; } }
    @media screen and (max-width: 1000px) {
      #main-overview .main-overview--img img {
        width: 43rem;
        height: auto; } }

#service {
  position: relative;
  background: #054B50;
  padding: 18.5rem 20rem 18.2rem; }
  @media screen and (max-width: 1000px) {
    #service {
      padding: 7.3rem 0 8.6rem 3rem; } }
  #service::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 6.8rem;
    background: #FFF;
    bottom: 49.8rem;
    left: 10rem;
    z-index: 370; }
    @media screen and (max-width: 1000px) {
      #service::before {
        background: url("../image/top/bg-service-sp.svg") center center no-repeat;
        background-size: contain;
        width: 28.3rem;
        height: 28.3rem;
        top: 0;
        left: 0;
        bottom: auto; } }
  #service::after {
    position: absolute;
    content: "SCROLL";
    font-family: "Outfit", sans-serif;
    font-size: 1rem;
    transform: rotate(90deg);
    color: #FFF;
    transform-origin: left center;
    bottom: 47.8rem;
    left: 10rem;
    z-index: 370; }
    @media screen and (max-width: 1000px) {
      #service::after {
        content: "";
        background: url("../image/top/bg-overview-b-sp.svg") center center no-repeat;
        background-size: contain;
        width: 32rem;
        height: 32rem;
        top: -32rem;
        bottom: auto;
        left: 28.3rem;
        transform: none; } }
  #service__inner {
    position: relative;
    display: grid;
    grid-template-columns: 58.5rem 58.5rem;
    grid-template-rows: 32.4rem 29rem 29rem;
    grid-gap: 2.45rem 3rem;
    z-index: 360; }
    @media screen and (max-width: 1000px) {
      #service__inner {
        display: block; } }
    #service__inner .service--mainarea.is-active .service--titlearea p::after {
      width: 37.9rem;
      opacity: 1; }
    #service__inner .service--marketing {
      margin: 3.4rem 0 0; }
      @media screen and (max-width: 1000px) {
        #service__inner .service--marketing {
          margin-top: 4.2rem; } }
    #service__inner .service--list {
      position: relative;
      background: rgba(255, 255, 255, 0.2);
      border: 1px solid #FFF;
      padding: 3.5rem 3rem 3rem;
      counter-increment: service-counter; }
      @media screen and (max-width: 1000px) {
        #service__inner .service--list {
          padding: 4rem 3rem 3rem 3rem;
          min-height: 28.2rem;
          border-right: none; } }
      @media screen and (max-width: 1000px) {
        #service__inner .service--list + .service--list {
          margin: 1.5rem 0 0; } }
      #service__inner .service--list::after {
        position: absolute;
        content: counter(service-counter,decimal-leading-zero);
        font-family: "Oswald", sans-serif;
        font-weight: 500;
        font-size: 16.8rem;
        letter-spacing: -0.02em;
        line-height: 1;
        right: 2.5rem;
        bottom: 2.5rem;
        color: #054B50;
        text-align: right; }
        @media screen and (max-width: 1000px) {
          #service__inner .service--list::after {
            font-size: 16.3rem;
            right: -1rem; } }
      #service__inner .service--list--title {
        display: flex;
        justify-content: space-between;
        height: 4rem; }
        #service__inner .service--list--title h3 {
          font-weight: bold;
          font-size: 2.5rem;
          line-height: 1.32;
          color: #FFF; }
          @media screen and (max-width: 1000px) {
            #service__inner .service--list--title h3 {
              font-size: 2.4rem;
              line-height: 1.333; } }
        #service__inner .service--list--title p {
          font-family: "Outfit", sans-serif;
          font-weight: normal;
          font-size: 1.5rem;
          line-height: 1.333;
          color: #FFF;
          text-align: right; }
          @media screen and (max-width: 1000px) {
            #service__inner .service--list--title p {
              font-size: 1.4rem;
              line-height: 1.357; } }
          #service__inner .service--list--title p span {
            display: block; }
      #service__inner .service--list--list {
        margin: 1rem 0 0; }
        @media screen and (max-width: 1000px) {
          #service__inner .service--list--list {
            margin-top: 1.3rem; } }
        #service__inner .service--list--list li {
          font-weight: 500;
          font-size: 2rem;
          line-height: 1.75;
          color: #FFF; }
          #service__inner .service--list--list li::before {
            content: "■ "; }
    #service__inner .service--titlearea {
      display: flex;
      flex-direction: column-reverse; }
      #service__inner .service--titlearea h2 {
        font-size: 3.9rem;
        font-weight: bold;
        line-height: 1.333;
        margin: 5.4rem 0 0;
        color: #FFF; }
        @media screen and (max-width: 1000px) {
          #service__inner .service--titlearea h2 {
            line-height: 1.310;
            margin-top: 5rem; } }
      #service__inner .service--titlearea p {
        position: relative;
        font-family: "Outfit", sans-serif;
        font-weight: 500;
        font-size: 2.4rem;
        letter-spacing: 0.1em;
        line-height: 1.292;
        color: #FFF; }
        #service__inner .service--titlearea p::after {
          content: "";
          position: absolute;
          background: #FFF;
          height: 0.8rem;
          width: 0;
          -webkit-transform: rotate(-45deg) translate(0.5rem, 2.5rem);
          transform: rotate(-45deg) translate(0.5rem, 2.5rem);
          transform-origin: left center;
          top: 50%;
          opacity: 0;
          transition: all 300ms ease-out 1s; }
          @media screen and (max-width: 1000px) {
            #service__inner .service--titlearea p::after {
              -webkit-transform: rotate(-45deg) translate(0rem, 2rem);
              transform: rotate(-45deg) translate(0rem, 2rem); } }
    #service__inner .service--textarea {
      margin: 5.4rem 0 0; }
      #service__inner .service--textarea p {
        font-weight: bold;
        font-size: 1.6rem;
        line-height: 1.625;
        color: #FFF; }
        @media screen and (max-width: 1000px) {
          #service__inner .service--textarea p {
            font-size: 2rem;
            line-height: 1.6; } }
        #service__inner .service--textarea p span {
          display: inline-block; }

#company {
  background: #FFF;
  padding: 18.5rem 20rem 23.8rem; }
  @media screen and (max-width: 1000px) {
    #company {
      padding: 12.5rem 0 8rem 3rem;
      background: transparent; } }
  #company__inner .company--titlearea {
    display: flex;
    flex-direction: column-reverse; }
    #company__inner .company--titlearea h2 {
      font-size: 3.9rem;
      font-weight: bold;
      line-height: 1.333;
      margin: 5.4rem 0 0;
      color: #000; }
      @media screen and (max-width: 1000px) {
        #company__inner .company--titlearea h2 {
          font-size: 2.9rem;
          line-height: 1.586;
          margin-top: 6.5rem; } }
    #company__inner .company--titlearea p {
      position: relative;
      font-family: "Outfit", sans-serif;
      font-weight: 500;
      font-size: 2.4rem;
      letter-spacing: 0.1em;
      line-height: 1.292;
      color: #054B50; }
      @media screen and (max-width: 1000px) {
        #company__inner .company--titlearea p {
          font-size: 2.4rem;
          line-height: 1.333; } }
      #company__inner .company--titlearea p::after {
        content: "";
        position: absolute;
        background: #054B50;
        height: 0.8rem;
        width: 0;
        -webkit-transform: rotate(-45deg) translate(0.5rem, 2.5rem);
        transform: rotate(-45deg) translate(0.5rem, 2.5rem);
        transform-origin: left center;
        top: 50%;
        opacity: 0;
        transition: all 300ms ease-out 1s; }
        @media screen and (max-width: 1000px) {
          #company__inner .company--titlearea p::after {
            width: 30rem; } }
    #company__inner .company--titlearea.is-active p::after {
      width: 37.9rem;
      opacity: 1; }
  #company__inner .company--list {
    margin: 5.8rem 0 0; }
    @media screen and (max-width: 1000px) {
      #company__inner .company--list {
        margin-top: 4.2rem; } }
    #company__inner .company--list > div {
      display: flex;
      justify-content: space-between;
      gap: 0 3rem;
      border-bottom: 1px solid #707070; }
      @media screen and (max-width: 1000px) {
        #company__inner .company--list > div {
          gap: 0 2rem; } }
      #company__inner .company--list > div:last-child {
        border: none; }
      #company__inner .company--list > div dt {
        flex: 0 0 18rem;
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.944;
        padding: 1.6rem 0;
        color: #000; }
        @media screen and (max-width: 1000px) {
          #company__inner .company--list > div dt {
            flex: 0 0 14rem;
            padding: 2rem 0; } }
      #company__inner .company--list > div dd {
        flex: 1 1 100%;
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.944;
        padding: 1.6rem 0;
        color: #000; }
        @media screen and (max-width: 1000px) {
          #company__inner .company--list > div dd {
            padding: 2rem 0; } }
        #company__inner .company--list > div dd a {
          text-decoration: underline; }
        @media screen and (max-width: 1000px) {
          #company__inner .company--list > div dd .sp-block {
            display: inline-block; } }

#privacy {
  background: #F4F4F4 url("../image/privacy/bg-privacy.svg") right -8.3rem top no-repeat;
  background-size: 98rem 87rem; }
  @media screen and (max-width: 1000px) {
    #privacy {
      background-size: 49rem auto; } }
  #privacy #mainScroll {
    overflow: visible; }
  #privacy #contents-area__inner {
    padding: 0 20rem 17rem; }
    @media screen and (max-width: 1000px) {
      #privacy #contents-area__inner {
        padding: 0 3rem 17rem; } }
  #privacy .privacy--title {
    margin: 1rem 0 8.7rem;
    display: flex;
    flex-direction: column-reverse;
    text-align: right; }
    #privacy .privacy--title h1 {
      font-size: 3.9rem;
      font-weight: bold;
      line-height: 1.333;
      margin: 5.4rem 0 0; }
    #privacy .privacy--title p {
      position: relative;
      font-family: "Outfit", sans-serif;
      font-size: 2.4rem;
      font-weight: 500;
      line-height: 2.214;
      letter-spacing: 0.1em;
      color: #054B50;
      margin: 0 16rem 0 0; }
      #privacy .privacy--title p::after {
        content: "";
        position: absolute;
        background: #054B50;
        height: 0.8rem;
        width: 37.9rem;
        -webkit-transform: rotate(-45deg) translate(0.5rem, 2.5rem);
        transform: rotate(-45deg) translate(0.5rem, 2.5rem);
        transform-origin: left center;
        top: 50%; }
  #privacy .privacy--text1 {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: justify;
    text-justify: inter-ideograph; }
  #privacy .privacy--text2 {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: justify;
    text-justify: inter-ideograph;
    margin: 4rem 0 0; }
  #privacy .privacy--list {
    margin: 6.5rem 0 0; }
    #privacy .privacy--list > div + div {
      margin: 5rem 0 0; }
    #privacy .privacy--list > div dt {
      font-size: 2.2rem;
      font-weight: bold;
      line-height: 1.364;
      color: #FFF;
      background-color: #054B50;
      border-radius: 2.5rem;
      padding: 2.1rem 3.2rem; }
    #privacy .privacy--list > div dd {
      font-size: 2rem;
      font-weight: 500;
      line-height: 2;
      letter-spacing: 0.1em;
      text-align: justify;
      text-justify: inter-ideograph;
      margin: 5rem 0 0; }
  #privacy .privacy--copyright {
    margin: 7rem 0 0; }
    #privacy .privacy--copyright dt {
      font-size: 2rem;
      font-weight: 500;
      line-height: 2;
      letter-spacing: 0.1em;
      text-align: justify;
      text-justify: inter-ideograph; }
    #privacy .privacy--copyright dd {
      font-size: 2rem;
      font-weight: 500;
      line-height: 2;
      letter-spacing: 0.1em;
      text-align: justify;
      text-justify: inter-ideograph; }

#contact {
  background: #F4F4F4 url("../image/privacy/bg-privacy.svg") right -8.3rem top no-repeat;
  background-size: 98rem 87rem; }
  @media screen and (max-width: 1000px) {
    #contact {
      background-size: 49rem auto; } }
  #contact #mainScroll {
    overflow: visible; }
  #contact #contents-area__inner {
    padding: 0 20rem 17rem; }
    @media screen and (max-width: 1000px) {
      #contact #contents-area__inner {
        padding: 0 3rem 17rem; } }
  #contact .contact--title {
    margin: 1rem 0 8.7rem auto;
    display: flex;
    flex-direction: column-reverse;
    width: 24rem; }
    #contact .contact--title h1 {
      font-size: 3.9rem;
      font-weight: bold;
      line-height: 1.333;
      margin: 5.4rem 0 0; }
    #contact .contact--title p {
      position: relative;
      font-family: "Outfit", sans-serif;
      font-size: 2.4rem;
      font-weight: 500;
      color: #054B50;
      line-height: 2.214;
      letter-spacing: 0.1em; }
      #contact .contact--title p::after {
        content: "";
        position: absolute;
        background: #054B50;
        height: 0.8rem;
        width: 37.9rem;
        -webkit-transform: rotate(-45deg) translate(0.5rem, 2.5rem);
        transform: rotate(-45deg) translate(0.5rem, 2.5rem);
        transform-origin: left center;
        top: 50%; }
  #contact .thanks--text {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.944;
    color: #000; }
    @media screen and (max-width: 1000px) {
      #contact .thanks--text {
        font-size: 2rem;
        line-height: 1.85; } }

#contact--form {
  margin: 8.6rem 0 0;
  padding: 0; }
  #contact--form form#mailformpro dl {
    margin: 0 0 3.5rem;
    padding: 0;
    display: flex;
    justify-content: space-between;
    gap: 4rem; }
    @media screen and (max-width: 1000px) {
      #contact--form form#mailformpro dl {
        display: block; } }
    #contact--form form#mailformpro dl > dt {
      flex: 0 0 24rem;
      border: none;
      text-align: justify;
      text-justify: inter-ideograph;
      font-size: 2rem;
      font-weight: bold;
      line-height: 2.2;
      letter-spacing: 0.1em;
      margin: 0;
      padding: 0;
      display: flex;
      align-items: center;
      align-content: center; }
      @media screen and (max-width: 1000px) {
        #contact--form form#mailformpro dl > dt {
          flex: none;
          margin-bottom: 1.5rem; } }
      #contact--form form#mailformpro dl > dt:where(.contact--message--area *) {
        height: 4.4rem; }
        @media screen and (max-width: 1000px) {
          #contact--form form#mailformpro dl > dt:where(.contact--message--area *) {
            height: auto; } }
      #contact--form form#mailformpro dl > dt label {
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-content: center;
        width: 100%; }
      #contact--form form#mailformpro dl > dt .contact--required {
        display: inline-block;
        font-size: 1.8rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 2.444;
        color: #1C3542;
        margin: 0 0 0 auto; }
    #contact--form form#mailformpro dl > dd {
      flex: 1 1 100%;
      border: none;
      font-size: 1.6rem;
      line-height: 2.75;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 1000px) {
        #contact--form form#mailformpro dl > dd {
          flex: none; } }
  #contact--form input[type="text"],
  #contact--form input[type="email"],
  #contact--form input[type="tel"],
  #contact--form select {
    font-size: 1.8rem;
    line-height: 2.444;
    height: 5rem;
    width: 100%;
    box-sizing: border-box;
    padding: 1.1rem 3rem;
    border-radius: 2.5rem;
    background-color: #FFF; }
    #contact--form input[type="text"]::placeholder,
    #contact--form input[type="email"]::placeholder,
    #contact--form input[type="tel"]::placeholder,
    #contact--form select::placeholder {
      font-size: 1.6rem;
      color: #A2A0A0; }
    #contact--form input[type="text"] option,
    #contact--form input[type="email"] option,
    #contact--form input[type="tel"] option,
    #contact--form select option {
      font-size: 1.6rem; }
  #contact--form input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit; }
    #contact--form input[type="checkbox"] ~ .contact--agree--checkbox {
      position: relative;
      margin: 0;
      padding: 0 0 0 2em; }
      #contact--form input[type="checkbox"] ~ .contact--agree--checkbox:hover {
        cursor: pointer; }
      #contact--form input[type="checkbox"] ~ .contact--agree--checkbox::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        border: 1px solid #000;
        background-color: #FFF;
        width: 1.1em;
        height: 1.1em;
        box-sizing: border-box; }
    #contact--form input[type="checkbox"]:focus ~ .contact--agree--checkbox::before {
      box-shadow: 0 0 3px 1px inset #000; }
    #contact--form input[type="checkbox"]:checked ~ .contact--agree--checkbox::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      line-height: 1;
      box-sizing: border-box;
      width: 1.25em;
      height: 0.75em;
      border-left: 3px solid #000;
      border-bottom: 3px solid #000;
      -webkit-transform: translate(0, -0.2em) rotate(-45deg);
      transform: translate(0, -0.2em) rotate(-45deg); }
  #contact--form input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit; }
    #contact--form input[type="radio"] ~ .contact--plan--radiobutton {
      position: relative;
      margin: 0;
      padding: 0 0 0 2em; }
      #contact--form input[type="radio"] ~ .contact--plan--radiobutton:hover {
        cursor: pointer; }
      #contact--form input[type="radio"] ~ .contact--plan--radiobutton::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        border: 1px solid #707070;
        background-color: #FFF;
        width: 1.1em;
        height: 1.1em;
        border-radius: 50%;
        box-sizing: border-box; }
    #contact--form input[type="radio"]:focus ~ .contact--plan--radiobutton::before {
      box-shadow: 0 0 3px 1px inset #707070; }
    #contact--form input[type="radio"]:checked ~ .contact--plan--radiobutton::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0.2em;
      margin: auto;
      border: 1px solid #000;
      background-color: #000;
      width: 0.7em;
      height: 0.7em;
      border-radius: 50%;
      box-sizing: border-box; }
  #contact--form textarea {
    font-size: 1.8rem;
    line-height: 1.5;
    height: 20rem;
    width: 100%;
    box-sizing: border-box;
    padding: 1.1rem 3rem;
    border-radius: 2.5rem;
    background-color: #FFF; }
    #contact--form textarea::placeholder {
      font-size: 1.6rem;
      color: #A2A0A0; }
  #contact--form .contact--privacy {
    margin: 4rem 0 0; }
    #contact--form .contact--privacy p {
      font-size: 1.6rem;
      font-weight: 500;
      text-align: justify;
      text-justify: inter-ideograph;
      line-height: 2;
      letter-spacing: 0.01em; }
      #contact--form .contact--privacy p a {
        text-decoration: underline; }
    #contact--form .contact--privacy--agree {
      margin: 2rem 0 0 0; }
      #contact--form .contact--privacy--agree label {
        position: relative;
        width: 100%;
        background: #FFF;
        border-radius: 2.5rem;
        height: 6.8rem;
        display: flex;
        justify-content: center;
        align-content: center;
        align-items: center;
        font-size: 1.8rem;
        line-height: 1;
        font-weight: 500; }
      #contact--form .contact--privacy--agree .mfp_err {
        position: absolute;
        top: 7.8rem; }
  #contact--form .contact--form--submit {
    text-align: center; }
    #contact--form .contact--form--submit #contact--submit {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 22.8rem;
      height: 6.3rem;
      margin: 8rem auto 0;
      padding: 0;
      border: none;
      border-radius: 9999rem;
      background: #054B50;
      font-family: "Outfit", sans-serif;
      font-weight: 500;
      font-size: 2.4rem;
      letter-spacing: 0.2em;
      line-height: 1;
      color: rgba(255, 255, 255, 0.5);
      text-shadow: none;
      text-align: center;
      transition: opacity 300ms ease-in-out; }
      #contact--form .contact--form--submit #contact--submit:hover {
        cursor: pointer;
        opacity: 0.8; }

#mfp_overlay_inner h4 {
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 20px;
  text-align: center; }
#mfp_overlay_inner button {
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  color: #FFF;
  text-align: center;
  max-width: 345px;
  margin: 45px auto 0;
  padding: 10px 20px;
  border: none;
  border-radius: 99999px;
  background-color: #054B50;
  text-shadow: none;
  transition: opacity 300ms ease-in-out; }
  @media screen and (max-width: 600px) {
    #mfp_overlay_inner button {
      font-size: 4.267vw;
      max-width: inherit;
      padding: 5.333vw; } }
  #mfp_overlay_inner button + button {
    margin-left: 20px; }
    @media screen and (max-width: 600px) {
      #mfp_overlay_inner button + button {
        margin-left: 5.333vw; } }
  #mfp_overlay_inner button:hover {
    cursor: pointer;
    opacity: 0.8; }

/*
#thanks {
  padding: 8rem 0 8rem;
  @include mq('sm') {
    padding: 7rem 0;
  }
  &__inner {
    width: $width_in;
    margin: 0 auto;
    @include mq('md') {
      width: auto;
      padding: 0 $padding_pc;
    }
    @include mq('sm') {
      padding: 0 $padding_sp;
    }
    .thanks {
      &--title {
        margin-bottom: 4rem;
        @include mq('sm') {
          margin-bottom: 3rem;
        }
        h2 {}
      }
      &--subtitle {}
      &--text {
        font-size: 1.6rem;
        line-height: 1.5;
        text-align: center;
        @include justify;
      }
    }
  }
}
*/
#footer {
  background: #054B50;
  padding: 11rem 20rem; }
  @media screen and (max-width: 1000px) {
    #footer {
      padding: 5.8rem 3rem 3.5rem; } }
  #footer__inner {
    margin: 0 auto;
    color: #FFF;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    align-content: flex-end; }
    @media screen and (max-width: 1000px) {
      #footer__inner {
        display: block; } }
    #footer__inner #fotter--right {
      display: flex;
      justify-content: flex-end;
      gap: 0 9.4rem;
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 1.944; }
      @media screen and (max-width: 1000px) {
        #footer__inner #fotter--right {
          display: block;
          font-size: 1.6rem;
          line-height: 2.187;
          margin: 3rem 0 0; } }
      #footer__inner #fotter--right a {
        color: #FFF;
        text-decoration: underline; }
    #footer__inner .footer--logo {
      width: 28.4rem; }
      @media screen and (max-width: 1000px) {
        #footer__inner .footer--logo {
          display: none; } }
      #footer__inner .footer--logo img {
        width: 100%;
        height: auto;
        -webkit-filter: brightness(0) invert(1);
        filter: brightness(0) invert(1); }
    #footer__inner .footer--address {
      margin: 3.65rem 0 0; }
      @media screen and (max-width: 1000px) {
        #footer__inner .footer--address {
          margin: 0; } }
      #footer__inner .footer--address dt {
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.944; }
        @media screen and (max-width: 1000px) {
          #footer__inner .footer--address dt {
            font-size: 1.6rem;
            line-height: 1.6875; } }
      #footer__inner .footer--address dd {
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.944; }
        @media screen and (max-width: 1000px) {
          #footer__inner .footer--address dd {
            font-size: 1.6rem;
            line-height: 1.6875; } }
        @media screen and (max-width: 1000px) {
          #footer__inner .footer--address dd span {
            display: block; } }

@media screen and (max-width: 1000px) {
  #copyright {
    margin: 3rem 0 0; } }

#pagetop {
  position: sticky;
  z-index: 400;
  bottom: 3rem;
  margin: -23rem 0 0 0; }
  #pagetop a {
    display: block;
    width: 4.8rem;
    margin: 0 3rem 0 auto;
    cursor: pointer;
    scroll-behavior: auto; }
  #pagetop img {
    width: 100%;
    height: auto; }

.sp-br {
  display: none; }
  @media screen and (max-width: 600px) {
    .sp-br {
      display: inline-block; } }

/*# sourceMappingURL=style.css.map */
