@charset "UTF-8";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  position: relative;
  border-spacing: 0;
}

input,
select {
  vertical-align: middle;
}

input,
button,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  font-family: inherit;
  border-radius: 0;
  color: inherit;
  background: transparent;
  border: none;
  margin: 0;
  padding: 0;
}

label {
  cursor: pointer;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button,
input[type=month]::-webkit-outer-spin-button,
input[type=month]::-webkit-inner-spin-button,
input[type=datetime-local]::-webkit-outer-spin-button,
input[type=datetime-local]::-webkit-inner-spin-button,
input[type=week]::-webkit-outer-spin-button,
input[type=week]::-webkit-inner-spin-button,
input[type=time]::-webkit-outer-spin-button,
input[type=time]::-webkit-inner-spin-button,
input[type=date]::-webkit-outer-spin-button,
input[type=date]::-webkit-inner-spin-button {
  display: none;
}

input[type=number],
input[type=month],
input[type=datetime-local],
input[type=week],
input[type=time],
input[type=date] {
  -moz-appearance: textfield;
}

input[type=date]::-webkit-clear-button,
input[type=month]::-webkit-clear-button,
input[type=datetime-local]::-webkit-clear-button,
input[type=time]::-webkit-clear-button,
input[type=week]::-webkit-clear-button {
  -webkit-appearance: none;
}

button:focus {
  outline: none;
  box-shadow: none;
}

address {
  font-style: normal;
}

body * {
  box-sizing: border-box;
}

html {
  scrollbar-gutter: stable;
}

body {
  font-size: 1rem;
  font-family: "Inter", "Helvetica Neue", "Arial", sans-serif;
  line-height: 1.75em;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.is-outside {
  margin: 0 -20px;
}
@media screen and (min-width: 1160px) {
  .is-outside {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}

@media screen and (min-width: 1160px) {
  .is-outside-right {
    flex: 1;
    margin-right: calc(50% - 50vw);
  }
}

@media screen and (min-width: 1160px) {
  .is-outside-left {
    flex: 1;
    margin-left: calc(50% - 50vw);
  }
}

/* 共通 ------------------------------------- */
@media screen and (max-width: 1239px) {
  .hidden-xl-down {
    display: none !important;
  }
}

@media screen and (max-width: 1039px) {
  .hidden-pc-down {
    display: none !important;
  }
}

@media screen and (max-width: 991px) {
  .hidden-md-down {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .hidden-sm-down {
    display: none !important;
  }
}

@media screen and (max-width: 575px) {
  .hidden-xs-down {
    display: none !important;
  }
}

@media screen and (max-width: 374px) {
  .hidden-xxs-down {
    display: none !important;
  }
}

@media screen and (min-width: 1240px) {
  .hidden-xl-up {
    display: none !important;
  }
}

@media screen and (min-width: 1040px) {
  .hidden-pc-up {
    display: none !important;
  }
}

@media screen and (min-width: 992px) {
  .hidden-lg-up {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .hidden-md-up {
    display: none !important;
  }
}

@media screen and (min-width: 576px) {
  .hidden-sm-up {
    display: none !important;
  }
}

@media screen and (min-width: 481px) {
  .hidden-xs-up {
    display: none !important;
  }
}

@media screen and (min-width: 375px) {
  .hidden-xxs-up {
    display: none !important;
  }
}

/* 共通パーツ ---------------------------------- */
.content-inner {
  width: 83.33vw;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .content-inner {
    width: 84.62vw;
  }
}
.content-inner--s {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}

.font-sans {
  font-family: "Inter", "Helvetica Neue", "Arial", sans-serif;
}

.text-c {
  text-align: center;
}

.text-r {
  text-align: right;
}

.red {
  color: #DC0D17;
}

.header {
  position: fixed;
  width: 100%;
  padding: 20px 30px;
  color: #fff;
  background: #000;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .header {
    padding: 20px;
  }
}
.header-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.header-inner .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 90px;
}
.header .logo {
  width: 180px;
  line-height: 0;
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  .header .logo {
    width: 120px;
  }
}
.header .logo a {
  vertical-align: bottom;
}
.header .logo a img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.header a {
  color: #fff;
}
.header .lang {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  line-height: 1em;
  padding-left: 10px;
}
@media screen and (max-width: 767px) {
  .header .lang {
    display: none;
  }
}
.header .lang a {
  font-size: 0.75rem;
  line-height: 1em;
  color: #B2B2B2;
  transition: color 0.2s ease-in;
}
@media screen and (min-width: 769px) {
  .header .lang a:hover {
    color: #F6E500;
  }
}
.header .lang a:first-child::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1em;
  margin: 0 0.5em;
  background: #B2B2B2;
}
.header .lang a.is-active {
  color: #fff;
  pointer-events: none;
}
.header .global-menu-wrapper {
  position: relative;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .header .global-menu-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .header .btn-global-menu {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 60px;
    height: 60px;
    margin: 0;
  }
  .header .btn-global-menu::before, .header .btn-global-menu::after {
    content: "";
    display: inline-block;
    width: 50%;
    height: 1px;
    margin: 4px 0;
    background: #F6E500;
    transition: transform 0.2s ease-in;
  }
  .is-open .header .btn-global-menu::before {
    margin: 0;
    transform: rotate(30deg);
  }
  .is-open .header .btn-global-menu::after {
    margin: 0;
    transform: rotate(-30deg);
  }
}
.header .btn-global-menu > span {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1em;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .header .btn-global-menu > span {
    display: none;
  }
}
.header .btn-global-menu > span::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  vertical-align: middle;
  background: url(../img/common/icon-global.svg) center no-repeat;
  background-size: contain;
}
.header .global-menu {
  display: none;
}
@media screen and (min-width: 768px) {
  .header .global-menu {
    position: absolute;
    top: 20px;
    right: 0;
    width: max(42.5vw, 612px);
    opacity: 0;
  }
}
@media screen and (max-width: 767px) {
  .header .global-menu {
    display: none;
    width: 100%;
  }
}
.header .global-menu h2 {
  width: 100%;
  margin: 0 0 30px;
  padding-bottom: 0.5em;
  font-weight: 700;
  line-height: 1em;
  border-bottom: 1px solid rgba(204, 204, 204, 0.8);
}
@media screen and (max-width: 767px) {
  .header .global-menu h2 {
    margin-bottom: 0;
    font-size: min(5.1282051282vw, 1.25rem);
  }
}
.header .global-menu .global-site {
  background: #000;
  margin-top: 55px;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .header .global-menu .global-site {
    margin-top: 70px;
    padding: 50px 60px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  }
}

.global-site {
  width: 100%;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .global-site {
    max-width: 100%;
  }
}
.global-site h2 {
  width: 100%;
  margin: 0 0 max(2.0833333333vw, 30px);
  font-size: max(1.1111111111vw, 1rem);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .global-site h2 {
    font-size: min(5.1282051282vw, 1.25rem);
  }
}
.global-site-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.global-site-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 48%;
}
@media screen and (max-width: 767px) {
  .global-site-list {
    width: 100%;
    padding: min(10.2564102564vw, 40px) 0;
  }
}
.global-site-list:first-child {
  border-right: 1px solid rgba(87, 87, 87, 0.8);
}
@media screen and (max-width: 767px) {
  .global-site-list:first-child {
    border: 0;
    border-bottom: 1px solid rgba(87, 87, 87, 0.8);
  }
}
.global-site-list:first-child > li {
  width: 49%;
  font-size: max(1.0416666667vw, 0.9375rem);
  font-weight: 500;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .global-site-list:first-child > li {
    font-size: min(4.358974359vw, 1.0625rem);
  }
}
.global-site-list:first-child > li ul {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .global-site-list:first-child > li ul {
    margin-top: min(5vw, 2em);
  }
}
.global-site-list:first-child > li ul li {
  font-size: max(0.9722222222vw, 0.875rem);
  font-weight: 400;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .global-site-list:first-child > li ul li {
    font-size: min(4.1025641026vw, 1rem);
  }
}
.global-site-list:first-child > li ul li:not(:last-child) {
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .global-site-list:first-child > li ul li:not(:last-child) {
    margin-bottom: min(5vw, 1.5em);
  }
}
.global-site-list:last-child {
  justify-content: flex-start;
  gap: 1%;
  width: 45%;
}
@media screen and (max-width: 767px) {
  .global-site-list:last-child {
    width: 100%;
    padding-bottom: 5.1282051282vw;
    gap: min(5vw, 1.5em) 1%;
  }
}
.global-site-list:last-child > li {
  width: 24%;
  font-size: max(0.9722222222vw, 0.875rem);
  font-weight: 400;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .global-site-list:last-child > li {
    font-size: min(4.1025641026vw, 1rem);
  }
}
.global-site-list li a {
  color: #ccc;
}
@media screen and (min-width: 769px) {
  .global-site-list li a:hover {
    color: #F6E500;
  }
}

.footer {
  position: relative;
  background: #000;
}
.footer .footer-inner {
  display: flex;
  flex-wrap: wrap;
}
.footer .footer-logo {
  width: 20.8333333333vw;
  padding: 6.25vw 0;
  border-right: 1px solid rgba(87, 87, 87, 0.8);
}
@media screen and (max-width: 872px) {
  .footer .footer-logo {
    width: 130px;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-logo {
    width: 100%;
    margin: 0 auto;
    padding: 2em 0;
    text-align: center;
    border: none;
  }
}
.footer .footer-logo a {
  width: 11.1111111111vw;
  display: inline-block;
  margin: 0 auto;
}
@media screen and (max-width: 872px) {
  .footer .footer-logo a {
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-logo a {
    width: 41.28vw;
  }
}
.footer .global-site {
  width: max(36.1111111111vw, 480px);
  margin: 0;
  margin-left: 8.3333333333vw;
  padding: 6.25vw 0;
}
@media screen and (max-width: 872px) {
  .footer .global-site {
    margin-left: 30px;
  }
}
.footer .pagetop {
  position: absolute;
  right: 4vw;
  bottom: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: #000;
}
@media screen and (max-width: 767px) {
  .footer .pagetop {
    position: static;
    width: 100%;
    border-top: 1px solid #575757;
  }
}
.footer .pagetop::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translateY(40%) rotate(-45deg);
}
.footer-bottom {
  padding: 1.65em 0;
  background: #3e3a39;
}
.footer-bottom .copyright {
  width: 83.33vw;
  margin: 0 auto;
  font-size: 0.6875rem;
  line-height: 1em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footer-bottom .copyright {
    width: auto;
    font-size: 2.3076923077vw;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .footer .global-site {
    display: none;
  }
}/*# sourceMappingURL=common.css.map */