@charset "UTF-8";
/* commonParts
---------------------------------------------------- */
.__inner {
  width: 99.375rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .__inner {
    width: calc(100% - 40px);
  }
}

span.__en, div.__en {
  font-family: "Lexend Deca", sans-serif;
  font-weight: 700;
}

.__ttlstyle.__01 {
  display: flex;
  align-items: baseline;
}
@media screen and (max-width: 767px) {
  .__ttlstyle.__01 {
    display: block;
  }
}
.__ttlstyle.__01 .__layer-animation span.__en {
  font-size: 5rem;
}
@media screen and (max-width: 1199px) {
  .__ttlstyle.__01 .__layer-animation span.__en {
    font-size: 3.75em;
  }
}
@media screen and (max-width: 767px) {
  .__ttlstyle.__01 .__layer-animation span.__en {
    font-size: 3em;
  }
}
.__ttlstyle.__01 .__layer-animation span.__en.__1st {
  color: rgb(26, 26, 26);
}
.__ttlstyle.__01 .__layer-animation span.__en.__2nd {
  color: rgb(196, 221, 236);
}
.__ttlstyle.__01 .__layer-animation.__white span.__en.__2nd {
  color: #fff;
}
.__ttlstyle.__01 h2, .__ttlstyle.__01 h3 {
  font-size: 0.875em;
  margin-left: 2em;
}
@media screen and (max-width: 767px) {
  .__ttlstyle.__01 h2, .__ttlstyle.__01 h3 {
    margin-left: 0;
    margin-top: 0.75em;
  }
}
.__ttlstyle.__01.__center {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.__ttlstyle.__01.__center h3 {
  text-align: center;
  margin-left: 0;
  margin-top: 1.2em;
}
.__ttlstyle.__02 .__slideup-animation {
  height: 6.25rem;
  margin-top: -1em;
}
@media screen and (max-width: 1199px) {
  .__ttlstyle.__02 .__slideup-animation {
    height: 4.375em;
    margin-top: -0.75em;
  }
}
@media screen and (max-width: 767px) {
  .__ttlstyle.__02 .__slideup-animation {
    height: min(15vw, 3.75em);
    margin-top: -0.4em;
  }
}
.__ttlstyle.__02 .__slideup-animation span.__en, .__ttlstyle.__02 .__slideup-animation div.__en {
  color: rgb(0, 59, 133);
  font-size: 5rem;
  letter-spacing: 0;
  line-height: 1.25;
  display: block;
}
@media screen and (max-width: 1199px) {
  .__ttlstyle.__02 .__slideup-animation span.__en, .__ttlstyle.__02 .__slideup-animation div.__en {
    font-size: 3.5em;
  }
}
@media screen and (max-width: 767px) {
  .__ttlstyle.__02 .__slideup-animation span.__en, .__ttlstyle.__02 .__slideup-animation div.__en {
    font-size: min(12vw, 3em);
  }
}
.__ttlstyle.__02 h3 {
  font-size: 0.875em;
}

.__content-wrap {
  border: solid 6px rgb(215, 228, 242);
  border-radius: 20px;
  padding: 3.75rem;
}
@media screen and (max-width: 1199px) {
  .__content-wrap {
    padding: 5rem;
  }
}
@media screen and (max-width: 991px) {
  .__content-wrap {
    padding: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .__content-wrap {
    border-width: 5px;
    padding: 10rem 5rem;
  }
}

.__liststyle li {
  text-indent: -1.2em;
  padding-left: 1.2em;
  line-height: 1.4;
}
.__liststyle li::before {
  content: "●";
  font-size: 0.8em;
  margin-right: 0.4em;
}
.__liststyle.__note li::before {
  content: "※";
}

.__tablestyle dl {
  display: flex;
  align-items: center;
  border-radius: 20px;
  padding: 1em 2em;
  margin-top: 1.4em;
}
@media screen and (max-width: 991px) {
  .__tablestyle dl {
    margin-top: 1em;
  }
}
@media screen and (max-width: 767px) {
  .__tablestyle dl {
    display: block;
    padding: 0.4em 1.4em;
  }
}
.__tablestyle dl dt, .__tablestyle dl dd {
  line-height: 2;
  padding: 2em 0;
}
@media screen and (max-width: 991px) {
  .__tablestyle dl dt, .__tablestyle dl dd {
    line-height: 1.4;
  }
}
.__tablestyle dl dt {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .__tablestyle dl dt {
    padding-bottom: 0;
    margin-bottom: 0.6em;
  }
}
.__tablestyle dl dd {
  border-left: solid 3px rgb(196, 221, 236);
  padding-left: 2.2em;
}
@media screen and (max-width: 767px) {
  .__tablestyle dl dd {
    border-left: 0;
    padding-left: 0;
    padding-top: 0;
  }
}
.__tablestyle dl dd span.__word {
  display: inline-block;
}

.__linkbtn {
  position: relative;
  z-index: 2;
  width: 22em;
  padding-top: 0;
  padding-bottom: 10px;
  will-change: padding;
  transition: all 0.2s ease;
}
@media screen and (max-width: 767px) {
  .__linkbtn {
    width: min(100vw - 40px, 22em);
  }
}
.__linkbtn a, .__linkbtn button {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.12em;
  border-radius: 10px;
  width: 100%;
  padding: 1.6em 1.8em;
}
@media screen and (max-width: 991px) {
  .__linkbtn a, .__linkbtn button {
    padding: 1.4em 1.8em;
  }
}
.__linkbtn a::after, .__linkbtn button::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background-color: #fff;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  opacity: 0.08;
}
.__linkbtn a img, .__linkbtn button img {
  width: 3em;
}
@media screen and (max-width: 767px) {
  .__linkbtn a img, .__linkbtn button img {
    width: 2.5em;
  }
}
.__linkbtn::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px;
  border-end-start-radius: 10px;
  border-end-end-radius: 10px;
}
@media screen and (min-width: 992px) {
  .__linkbtn:hover {
    padding-bottom: 0;
    padding-top: 10px;
  }
}
.__linkbtn.__blue a, .__linkbtn.__blue button {
  background-color: rgb(70, 138, 201);
}
.__linkbtn.__blue::before {
  background-color: rgb(0, 59, 133);
}
.__linkbtn.__orange a, .__linkbtn.__orange button {
  background-color: rgb(198, 65, 29);
}
.__linkbtn.__orange::before {
  background-color: rgb(26, 26, 26);
}
.__linkbtn.__navy a, .__linkbtn.__navy button {
  background-color: rgb(0, 59, 133);
}
.__linkbtn.__navy::before {
  background-color: rgb(26, 26, 26);
}

.__separate-line {
  width: 33.75rem;
  height: 3px;
  border-radius: 50vh;
  background-image: url(../images/separate-line.png);
  background-size: contain;
  background-repeat: repeat-x;
}
@media screen and (max-width: 1199px) {
  .__separate-line {
    width: 25rem;
  }
}

a:has(.__roll-animation) .__roll-animation {
  overflow: hidden;
}
a:has(.__roll-animation) .__roll-animation span.__en {
  display: block;
  width: 100%;
  will-change: margin-top;
  transition: margin-top 0.4s;
}
@media screen and (min-width: 992px) {
  a:has(.__roll-animation):hover .__roll-animation span.__en.__initial {
    margin-top: -1em;
  }
}

.__inviewContent.__fadein-animation {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.48s 0.48s ease;
}
.__inviewContent.__fadein-animation.__delay00 {
  transition-delay: 0.2s;
}
.__inviewContent.__fadein-animation.__inview {
  opacity: 1;
  transform: translateY(0);
}
.__inviewContent.__layer-animation {
  position: relative;
}
.__inviewContent.__layer-animation span.__en {
  top: 0;
  left: 0;
  white-space: nowrap;
  transition: all 0.3s 0.3s ease;
}
.__inviewContent.__layer-animation span.__en.__1st {
  position: relative;
  z-index: 3;
}
.__inviewContent.__layer-animation span.__en.__2nd {
  position: absolute;
  z-index: 2;
  transition-duration: 0.4s;
}
.__inviewContent.__layer-animation span.__en.__3rd {
  position: absolute;
  z-index: 1;
  transition-duration: 0.5s;
}
.__inviewContent.__layer-animation.__delay00 {
  transition-delay: 0.2s;
}
.__inviewContent.__layer-animation.__inview span.__en.__2nd {
  margin-top: -0.4em;
}
.__inviewContent.__layer-animation.__inview span.__en.__3rd {
  margin-top: -0.8em;
}
.__inviewContent.__slideup-animation {
  overflow: hidden;
}
.__inviewContent.__slideup-animation span.__en, .__inviewContent.__slideup-animation div.__en {
  transform: translateY(1.25em);
  transition: all 0.6s 0.2s ease;
}
.__inviewContent.__slideup-animation.__inview span.__en, .__inviewContent.__slideup-animation.__inview div.__en {
  transform: translateY(0);
}

.__floating-animation {
  display: flex;
  width: 100%;
  overflow: hidden;
}
.__floating-animation p {
  color: rgb(233, 240, 247);
  font-family: "Lexend Deca", sans-serif;
  font-weight: 700;
  font-size: 22vw;
  line-height: 1;
  letter-spacing: -0.06em;
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .__floating-animation p {
    font-size: 200px;
  }
}
.__floating-animation p:nth-of-type(1) {
  animation: loop_01 80s -40s linear infinite;
}
.__floating-animation p:nth-of-type(2) {
  animation: loop_02 80s linear infinite;
}
@keyframes loop_01 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes loop_02 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}

/* header
---------------------------------------------------- */
header {
  position: fixed;
  z-index: 99;
  width: 100%;
}
header .header-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 110px;
  transition: all 0.48s;
}
@media screen and (max-width: 1709px) {
  header .header-inner {
    height: 100px;
  }
}
@media screen and (max-width: 1199px) {
  header .header-inner {
    height: 90px;
    padding: 0 10px;
  }
}
@media screen and (max-width: 991px) {
  header .header-inner {
    height: 60px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  header .header-inner {
    background-color: #fff;
  }
}
header .header-inner::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: rgb(233, 240, 247);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
@media screen and (max-width: 767px) {
  header .header-inner::before {
    opacity: 1;
    visibility: visible;
    height: 3px;
  }
}
header .__overlay {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(54, 54, 52, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: all 0.36s;
}
header .__overlay.__open {
  opacity: 1;
  visibility: visible;
}
header .header-logo {
  position: relative;
  width: 350px;
  margin: 0 1.25rem;
}
@media screen and (max-width: 1709px) {
  header .header-logo {
    width: 315px;
  }
}
@media screen and (max-width: 1199px) {
  header .header-logo {
    width: 280px;
  }
}
@media screen and (max-width: 991px) {
  header .header-logo {
    width: 245px;
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  header .header-logo {
    width: min(60vw, 227.5px);
  }
}
header .header-logo img.__pagetop {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
  transition: all 0.48s;
}
@media screen and (max-width: 767px) {
  header .header-logo img.__pagetop {
    opacity: 0;
    visibility: hidden;
  }
}
@media screen and (max-width: 991px) {
  header .nav-btn {
    position: relative;
    z-index: 99;
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 991px) and (max-width: 767px) {
  header .nav-btn {
    width: 24px;
    height: 24px;
  }
}
@media screen and (max-width: 991px) {
  header .nav-btn span {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: block;
    width: 30px;
    height: 3px;
    border-radius: 50vh;
    background-color: #fff;
    transition: background-color 0.16s 0.16s;
  }
  header .nav-btn span:nth-of-type(1) {
    margin-top: -9px;
  }
  header .nav-btn span:nth-of-type(3) {
    margin-top: 9px;
  }
}
@media screen and (max-width: 991px) and (max-width: 767px) {
  header .nav-btn span {
    width: 24px;
    background-color: rgb(26, 26, 26);
  }
}
@media screen and (max-width: 991px) {
  header .nav-btn.__open span {
    background-color: rgb(26, 26, 26);
    transition: background-color 0.16s;
  }
  header .nav-btn.__open span:nth-of-type(1) {
    margin-top: 0;
    transform: translateY(-50%) rotate(40deg);
  }
  header .nav-btn.__open span:nth-of-type(2) {
    opacity: 0;
  }
  header .nav-btn.__open span:nth-of-type(3) {
    margin-top: 0;
    transform: translateY(-50%) rotate(-40deg);
  }
}
@media screen and (max-width: 991px) {
  header .header-menu {
    overflow-y: scroll;
    background-color: rgb(233, 240, 247);
    width: 240px;
    height: 100vh;
    padding: 0 30px;
    padding-top: 100px;
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    margin-right: -240px;
    transition: all 0.36s;
  }
  header .header-menu.__open {
    margin-right: 0;
  }
}
header .header-menu nav ul {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 991px) {
  header .header-menu nav ul {
    display: block;
  }
}
header .header-menu nav ul li a {
  position: relative;
  color: #fff;
  margin: 0 1.875rem;
  transition: all 0.48s;
}
@media screen and (max-width: 1199px) {
  header .header-menu nav ul li a {
    margin: 0 1.5em;
  }
}
@media screen and (max-width: 991px) {
  header .header-menu nav ul li a {
    color: rgb(26, 26, 26);
    width: 100%;
    border-bottom: solid 2px rgb(215, 228, 242);
    padding-bottom: 1em;
    margin: 30px 0;
  }
}
header .header-menu nav ul li a span.__en {
  font-size: 1.375em;
  line-height: 1;
  display: block;
}
@media screen and (max-width: 1199px) {
  header .header-menu nav ul li a span.__en {
    font-size: 1.175em;
  }
}
@media screen and (max-width: 991px) {
  header .header-menu nav ul li a span.__en {
    font-size: 1.35em;
  }
}
header .header-menu nav ul li a span.__jp {
  font-size: 0.7em;
}
header .header-menu nav ul li a .__roll-animation {
  height: 1.375em;
}
@media screen and (max-width: 1199px) {
  header .header-menu nav ul li a .__roll-animation {
    height: 1.125em;
  }
}
@media screen and (max-width: 991px) {
  header .header-menu nav ul li a .__roll-animation {
    height: 1.35em;
  }
}
header .header-menu nav ul li.__active a span.__en {
  color: rgb(245, 122, 62);
}
header .header-menu nav ul li.__contact a {
  position: relative;
  z-index: 2;
  overflow: hidden;
  color: #fff !important;
  background-color: rgb(0, 59, 133);
  border-radius: 10px;
  padding: 0.48em 2em 0.6em;
  margin-right: 1.875rem;
}
@media screen and (max-width: 991px) {
  header .header-menu nav ul li.__contact a {
    padding: 1em;
  }
}
header .header-menu nav ul li.__contact a::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: rgb(26, 26, 26);
  transition: all 0.3s;
}
@media screen and (min-width: 992px) {
  header .header-menu nav ul li.__contact a:hover::before {
    height: 100%;
  }
}
header .header-menu nav ul li.__contact.__active a {
  background-color: rgb(245, 122, 62);
}
header .header-menu nav ul li.__contact.__active a span.__en {
  color: #fff;
}
header .header-inner.__low {
  background-color: #fff;
  height: 100px;
}
@media screen and (max-width: 1199px) {
  header .header-inner.__low {
    height: 80px;
  }
}
@media screen and (max-width: 991px) {
  header .header-inner.__low {
    height: 60px;
  }
}
header .header-inner.__low::before {
  opacity: 1;
  visibility: visible;
}
header .header-inner.__low .header-logo img.__pagetop {
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 991px) {
  header .header-inner.__low .nav-btn span {
    background-color: rgb(26, 26, 26);
  }
}
header .header-inner.__low .header-menu nav ul li a {
  color: rgb(26, 26, 26);
}

/* sec-contact
---------------------------------------------------- */
.sec-contact {
  padding: 0;
}
.sec-contact .sec-bgimg {
  width: 100%;
  height: 35rem;
}
@media screen and (max-width: 1709px) {
  .sec-contact .sec-bgimg {
    height: 38.8888888889rem;
  }
}
@media screen and (max-width: 1199px) {
  .sec-contact .sec-bgimg {
    height: 40em;
  }
}
@media screen and (max-width: 991px) {
  .sec-contact .sec-bgimg {
    height: 36em;
  }
}
.sec-contact .sec-bgimg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-contact .__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sec-contact .sec-wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1199px) {
  .sec-contact .sec-wrap {
    display: block;
  }
}
@media screen and (max-width: 991px) {
  .sec-contact .sec-wrap .sec-content {
    margin-top: 2em;
  }
}
@media screen and (max-width: 1199px) {
  .sec-contact .sec-wrap .sec-content .sec-ttl {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.sec-contact .sec-wrap .sec-content .sec-ttl .__layer-animation span.__en.__2nd {
  color: #fff;
}
@media screen and (max-width: 1199px) {
  .sec-contact .sec-wrap .sec-content .sec-ttl h2 {
    text-align: center;
    margin-left: 0;
    margin-top: 1em;
  }
}
.sec-contact .sec-wrap .sec-content .__separate-line {
  background-image: url(../images/separate-line-light.png);
  margin-top: 3.75rem;
}
@media screen and (max-width: 1199px) {
  .sec-contact .sec-wrap .sec-content .__separate-line {
    margin: 0 auto;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 991px) {
  .sec-contact .sec-wrap .sec-content .__separate-line {
    margin-top: 36px;
  }
}
.sec-contact .sec-wrap .btn-list {
  width: 48.75rem;
}
@media screen and (max-width: 1199px) {
  .sec-contact .sec-wrap .btn-list {
    width: calc(100% - 15rem);
    margin: 0 auto;
    margin-top: 5rem;
  }
}
@media screen and (max-width: 991px) {
  .sec-contact .sec-wrap .btn-list {
    margin-top: 48px;
  }
}
@media screen and (max-width: 767px) {
  .sec-contact .sec-wrap .btn-list {
    width: 100%;
    margin-top: 40px;
  }
}
.sec-contact .sec-wrap .btn-list .btn-list-item {
  width: 100%;
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__tel {
  display: flex;
  align-items: baseline;
  background-color: #fff;
  border-radius: 10px;
  padding: 1.8em 2.4em;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 991px) {
  .sec-contact .sec-wrap .btn-list .btn-list-item.__tel {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec-contact .sec-wrap .btn-list .btn-list-item.__tel {
    display: block;
    padding: 1.6em 1em;
  }
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__tel span {
  font-size: 1.875em;
  font-family: "Lexend Deca", sans-serif;
  font-weight: 700;
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__tel span::before {
  display:none;
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__tel .__info {
  font-size: 0.8em;
  margin-left: 3em;
}
@media screen and (max-width: 767px) {
  .sec-contact .sec-wrap .btn-list .btn-list-item.__tel .__info {
    margin-left: 3.6em;
    margin-top: 0.4em;
  }
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__tel .__info::before {
  display: none;
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__linkbtn a {
  justify-content: start;
  background-color: rgb(0, 59, 133);
  font-size: 1.25em;
  padding: 1.8em 2em;
}
@media screen and (max-width: 991px) {
  .sec-contact .sec-wrap .btn-list .btn-list-item.__linkbtn a {
    padding-top: 1.4em;
    padding-bottom: 1.4em;
  }
}
@media screen and (max-width: 767px) {
  .sec-contact .sec-wrap .btn-list .btn-list-item.__linkbtn a {
    font-size: 1.125em;
    padding: 2em 1em;
  }
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__linkbtn a::before {
  display:none;
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__linkbtn a img {
  position: absolute;
  top: 50%;
  right: 0;
  margin-right: 2.4em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .sec-contact .sec-wrap .btn-list .btn-list-item.__linkbtn a img {
    width: 2em;
    margin-right: 1em;
  }
}
.sec-contact .sec-wrap .btn-list .btn-list-item.__linkbtn::before {
  background-color: rgb(26, 26, 26);
}

/* pagetop
---------------------------------------------------- */
#pagetop {
  z-index: 2;
  bottom: 0;
  right: 0;
  margin: 1.4em;
}
@media screen and (max-width: 767px) {
  #pagetop {
    margin: 1em;
  }
}
#pagetop a {
  position: relative;
  width: 4em;
  height: 4em;
  border-radius: 10px;
  background-color: #fff;
  border: solid 6px rgb(215, 228, 242);
}
@media screen and (max-width: 767px) {
  #pagetop a {
    width: 3.6em;
    height: 3.6em;
  }
}
#pagetop a img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.2em;
}
@media screen and (max-width: 767px) {
  #pagetop a img {
    width: 1em;
  }
}

/* footer
---------------------------------------------------- */
footer {
  position: relative;
  background-color: rgb(233, 240, 247);
  padding-top: 5rem;
  padding-bottom: 11.25rem;
}
@media screen and (max-width: 1709px) {
  footer {
    padding-top: 7.5rem;
    padding-bottom: 12.5rem;
  }
}
@media screen and (max-width: 1199px) {
  footer {
    padding-top: 10rem;
    padding-bottom: 18.75rem;
  }
}
@media screen and (max-width: 991px) {
  footer {
    padding-top: 100px;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  footer {
    padding-top: 80px;
    padding-bottom: 40px;
  }
}
footer .footer-inner {
  width: calc(100% - 7.5rem);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 991px) {
  footer .footer-inner {
    display: block;
    width: calc(100% - 120px);
  }
}
@media screen and (max-width: 767px) {
  footer .footer-inner {
    width: 100%;
  }
}
footer .footer-left .__logo {
  width: 22em;
}
@media screen and (max-width: 1709px) {
  footer .footer-left .__logo {
    width: 315px;
  }
}
@media screen and (max-width: 1199px) {
  footer .footer-left .__logo {
    width: 280px;
  }
}
@media screen and (max-width: 991px) {
  footer .footer-left .__logo {
    width: 22em;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  footer .footer-left .__logo {
    width: 20em;
    text-align: center;
  }
}
footer .footer-left .__address p {
  font-size: 0.9em;
  margin-top: 2.4em;
  line-height: 2;
}
@media screen and (max-width: 991px) {
  footer .footer-left .__address p {
    text-align: center;
    line-height: 2;
    margin-top: 3em;
  }
}
@media screen and (max-width: 767px) {
  footer .footer-left .__address p {
    line-height: 1.75;
    margin-top: 2em;
  }
}
footer .footer-left .__address p span, footer .footer-left .__address p a {
  display: inline-block;
  font-size: 1em;
}
footer .footer-menu ul {
  display: flex;
}
@media screen and (max-width: 991px) {
  footer .footer-menu ul {
    width: 100%;
    justify-content: space-between;
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  footer .footer-menu ul {
    display: block;
    text-align: center;
    margin-top: 60px;
  }
}
footer .footer-menu ul li a {
  margin: 0 1.875rem;
  transition: all 0.2s;
}
@media screen and (max-width: 1199px) {
  footer .footer-menu ul li a {
    margin: 0 1.5em;
  }
}
@media screen and (max-width: 991px) {
  footer .footer-menu ul li a {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  footer .footer-menu ul li a {
    margin-top: 2em;
  }
}
@media screen and (min-width: 992px) {
  footer .footer-menu ul li a:hover {
    opacity: 0.6;
  }
}
footer .footer-menu ul li a span.__en {
  font-size: 1.375em;
  line-height: 1;
  display: block;
}
@media screen and (max-width: 1199px) {
  footer .footer-menu ul li a span.__en {
    font-size: 1.175em;
  }
}
@media screen and (max-width: 991px) {
  footer .footer-menu ul li a span.__en {
    font-size: 1.35em;
  }
}
footer .footer-menu ul li a span.__jp {
  font-size: 0.7em;
}
footer .footer-menu ul li:last-of-type a {
  margin-right: 0;
}
footer .__copyright {
  width: 100%;
  text-align: end;
  margin-top: 3.75rem;
}
@media screen and (max-width: 991px) {
  footer .__copyright {
    text-align: center;
    margin-top: 140px;
  }
}
@media screen and (max-width: 767px) {
  footer .__copyright {
    margin-top: 100px;
  }
}
footer .__copyright p {
  font-size: 0.7em;
}/*# sourceMappingURL=common.css.map */