<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* =====================
  Reset
===================== */
@import url("https://rsms.me/inter/inter.css");
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

li {
  list-style: none; }

div, li, h1, h2, h3, h4, h5, h6, header, footer, section {
  box-sizing: border-box; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox &lt; 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* =====================
  Value
===================== */
/* =====================
  Base
===================== */
html {
  font-size: 62.5%;
  /* font-size 1rem = 10px */
  height: 100%;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  box-sizing: border-box; }

*,
*:before,
*:after {
  box-sizing: inherit; }

@media (max-width: 840px) {
  html {
    font-size: 62.5%;
    /* font-size 1rem = 10px */
    height: 100%; } }

body {
  height: 100%;
  width: 100%;
  color: #000;
  background-color: #fff;
  font-size: 1vw;
  /* must */
  font-kerning: normal;
  font-family: "Tazugane Gothic StdN W50 Book", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* animation */
  -webkit-animation-duration: 0.1s;
  -webkit-animation-name: fontfix;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: 0.1s;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1; }

@-webkit-keyframes fontfix {
  from {
    opacity: 1; }
  to {
    opacity: 1; } }

h1, h2, h3, h4, h5, h6 {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: calc(.8rem + 0.6vw);
  line-height: 1.4; }

ul, ol, li {
  padding-left: 1rem;
  list-style: none;
  margin: 0;
  padding: 0; }

/**
 * ネストされたリストのマージンをリセットします。
 */
li &gt; ul, li &gt; ol {
  margin-bottom: 0; }

/**
 * `dt`と`dd`の左端を揃えます。
 */
dd {
  margin-left: 0; }

table {
  width: 100%; }

th {
  text-align: left; }

a {
  text-decoration: none;
  color: #FF2B2B; }
  a:hover {
    text-decoration: none;
    color: #ff7878; }

p, div, table, tr, td, ul, li, section, article {
  font-size: calc(.8rem + 0.6vw);
  /* base-size */ }

@media screen and (max-width: 840px) {
  p, div, table, tr, td, ul, li, section, article {
    font-size: calc(1.3rem + 0.6vw);
    /* base-size */ } }

img {
  width: 100%;
  height: auto;
  vertical-align: middle; }

h1, h2, h3, h4, h5, h6, ul, ol, dl, blockquote, p, address, hr, table, fieldset, figure, pre {
  margin-top: 0;
  margin-bottom: 0; }

::-moz-selection {
  background: #d5d3d2; }

::selection {
  background: #d5d3d2; }

/* =====================
  font-face
===================== */
/* Inter */
html {
  font-family: 'Inter', sans-serif; }

@supports (font-variation-settings: normal) {
  html {
    font-family: 'Inter var', sans-serif; } }

/* =====================
  font-family
===================== */
.sans {
  font-family: sans-serif; }

.serif {
  font-family: serif; }

/* =====================
  line-height
===================== */
.lh_ss {
  line-height: 1.0; }

.lh_s {
  line-height: 1.4; }

.lh_m {
  line-height: 1.5; }

.lh_l {
  line-height: 1.8; }

.lh_ll {
  line-height: 2.2; }

/* =====================
  font-weight
===================== */
.fw_bold {
  font-weight: bold; }

.fw_100 {
  font-weight: 100; }

.fw_200 {
  font-weight: 200; }

.fw_300 {
  font-weight: 300; }

.fw_400 {
  font-weight: 400; }

.fw_500 {
  font-weight: 500; }

.fw_600 {
  font-weight: 600; }

/* =====================
  Common
===================== */
/* =====================
  Header
===================== */
/*  header &gt; top
------------------------*/
.top_header {
  width: 100%;
  position: absolute;
  right: 0;
  z-index: 20; }

.top_header_logo {
  padding: 4rem 4rem 3rem 4rem;
  width: calc(24rem + 8vw); }

.top_header_date {
  padding: 0rem 4rem; }

.top_header_date_text {
  font-size: calc(1.4rem + 0.6vw); }

@media (max-width: 840px) {
  .top_header {
    width: 100%;
    position: absolute;
    right: 0;
    z-index: 20; }
  .top_header_logo {
    padding: 2rem 2rem 1.5rem 2rem;
    width: calc(20rem + 0.6vw); }
  .top_header_date {
    padding: 0rem 2rem; }
  .top_header_date_text {
    font-size: calc(1.2rem + 0.6vw);
    line-height: 1.4; } }

/*  header &gt; lower
------------------------*/
.header {
  width: 100%;
  position: absolute;
  right: 0;
  z-index: 20;
  margin-bottom: 10rem; }

.header_logo {
  padding: 4rem 4rem 3rem 4rem;
  width: calc(14rem + 8vw); }

.header_date {
  padding: 0rem 4rem; }

.header_date_text {
  font-size: calc(1rem + 0.6vw); }

@media (max-width: 840px) {
  .header {
    width: 100%;
    position: absolute;
    right: 0;
    z-index: 20;
    margin-bottom: 4rem; }
  .header_logo {
    padding: 2rem 1.4rem 1.5rem 1.4rem;
    width: calc(14rem + 0.6vw); }
  .header_date {
    padding: 0rem 2rem; }
  .header_date_text {
    font-size: calc(1.2rem + 0.6vw);
    line-height: 1.4; } }

/* =====================
  Nav
===================== */
/*  nav
------------------------*/
.nav_ul {
  display: flex;
  position: absolute;
  top: 4.5rem;
  right: 9rem; }

.nav_li {
  margin-right: 3.5rem;
  font-size: calc(1rem + 0.6vw); }

.nav_link {
  color: #000;
  position: relative;
  display: inline-block;
  text-decoration: none; }

.nav_link:hover {
  color: #000; }

.nav_link::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #000;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s; }

.nav_link:hover::after {
  transform-origin: left top;
  transform: scale(1, 1); }

.nav_link_red {
  color: #FF2B2B;
  position: relative;
  display: inline-block;
  text-decoration: none; }

.nav_link_red:hover {
  color: #FF2B2B; }

.nav_link_red::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #FF2B2B;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s; }

.nav_link_red:hover::after {
  transform-origin: left top;
  transform: scale(1, 1); }

.nav_menu {
  width: 4rem;
  height: 4rem;
  background-color: none;
  position: fixed;
  top: 4rem;
  right: 4rem;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  z-index: 50; }

.nav_menu_icon {
  margin-top: 25%;
  margin-bottom: 25%;
  cursor: pointer; }

.nav_menu_line {
  width: 4rem;
  height: 1px;
  background-color: #000;
  position: relative;
  margin: 0 auto;
  margin-bottom: 0px;
  cursor: pointer; }

.nav_menu_line_white {
  width: 4rem;
  height: 1px;
  background-color: #FFF;
  position: relative;
  margin: 0 auto;
  margin-bottom: .8rem;
  cursor: pointer; }

.nav_menu_line2 {
  margin-left: 1rem;
  width: 3rem;
  height: 1px;
  background-color: #000;
  position: relative;
  margin-bottom: 0px;
  cursor: pointer; }

.nav_menu_line_white2 {
  margin-left: 1rem;
  width: 3rem;
  height: 1px;
  background-color: #FFF;
  position: relative;
  margin-bottom: .8rem;
  cursor: pointer; }

.nav_menu_line3 {
  margin-left: 2rem;
  width: 2rem;
  height: 1px;
  background-color: #000;
  position: relative;
  margin-bottom: 0px;
  cursor: pointer; }

.nav_menu_line_white3 {
  margin-left: 2rem;
  width: 2rem;
  height: 1px;
  background-color: #FFF;
  position: relative;
  margin-bottom: .8rem;
  cursor: pointer; }

.nav_pd_ul {
  padding-top: 2rem; }

.nav_pd_li {
  padding-bottom: .5rem;
  font-size: calc(.8rem + 0.6vw); }

.nav_li .nav_pd_ul {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  padding-top: 3rem;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }

.nav_li:hover .nav_pd_ul {
  padding-top: 2rem;
  visibility: visible;
  opacity: 1; }

@media (max-width: 840px) {
  /*  nav
    ------------------------*/
  .nav_ul {
    display: none;
    position: absolute;
    top: 4.5rem;
    right: 9rem; }
  .nav_li {
    margin-right: 3.5rem;
    font-size: calc(1rem + 0.6vw); }
  .nav_link {
    color: #000;
    position: relative;
    display: inline-block;
    text-decoration: none; }
  .nav_link:hover {
    color: #000; }
  .nav_link::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s; }
  .nav_link:hover::after {
    transform-origin: left top;
    transform: scale(1, 1); }
  .nav_link_red {
    color: #FF2B2B;
    position: relative;
    display: inline-block;
    text-decoration: none; }
  .nav_link_red:hover {
    color: #FF2B2B; }
  .nav_link_red::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #FF2B2B;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s; }
  .nav_link_red:hover::after {
    transform-origin: left top;
    transform: scale(1, 1); }
  .nav_menu {
    width: 4rem;
    height: 4rem;
    background-color: none;
    position: fixed;
    top: 1.5rem;
    right: 2rem;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    z-index: 50; }
  .nav_menu_icon {
    margin-top: 25%;
    margin-bottom: 25%;
    cursor: pointer; }
  .nav_menu_line {
    width: 4rem;
    height: 1px;
    background-color: #000;
    position: relative;
    margin: 0 auto;
    margin-bottom: 0px;
    cursor: pointer; }
  .nav_menu_line_white {
    width: 4rem;
    height: 1px;
    background-color: #FFF;
    position: relative;
    margin: 0 auto;
    margin-bottom: .8rem;
    cursor: pointer; }
  .nav_menu_line2 {
    margin-left: 1rem;
    width: 3rem;
    height: 1px;
    background-color: #000;
    position: relative;
    margin-bottom: 0px;
    cursor: pointer; }
  .nav_menu_line_white2 {
    margin-left: 1rem;
    width: 3rem;
    height: 1px;
    background-color: #FFF;
    position: relative;
    margin-bottom: .8rem;
    cursor: pointer; }
  .nav_menu_line3 {
    margin-left: 2rem;
    width: 2rem;
    height: 1px;
    background-color: #000;
    position: relative;
    margin-bottom: 0px;
    cursor: pointer; }
  .nav_menu_line_white3 {
    margin-left: 2rem;
    width: 2rem;
    height: 1px;
    background-color: #FFF;
    position: relative;
    margin-bottom: .8rem;
    cursor: pointer; }
  .nav_pd_ul {
    padding-top: 2rem; }
  .nav_pd_li {
    padding-bottom: .5rem;
    font-size: calc(.8rem + 0.6vw); }
  .nav_li .nav_pd_ul {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    padding-top: 3rem;
    -webkit-transition: all .3s ease;
    transition: all .3s ease; }
  .nav_li:hover .nav_pd_ul {
    padding-top: 2rem;
    visibility: visible;
    opacity: 1; } }

/*  nav_open
------------------------*/
/* 開閉用ボタンに設定するスタイル */
.menu {
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: all 0s;
  transition: all 0s; }

/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
  visibility: visible;
  opacity: 1;
  -webkit-transition: all 0s;
  transition: all 0s; }

/*  nav_ac
------------------------*/
.nav_ac {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #151515;
  z-index: 100;
  opacity: 1;
  transition: .3s; }

.nav_ac_ul {
  display: flex;
  color: #fff; }

.nav_ac_sub {
  display: block;
  position: absolute;
  bottom: 6rem;
  right: 6rem;
  text-align: right; }

.nav_ac_block1 {
  width: 25%;
  border-top: 1px solid #333; }

.nav_ac_block2 {
  width: 25%;
  height: 100vh;
  border-top: 1px solid #333;
  border-left: 1px solid #333; }

.nav_ac_block3 {
  width: 25%;
  height: 100vh;
  border-top: 1px solid #333;
  border-left: 1px solid #333; }

.nav_ac_block4 {
  width: 25%;
  height: 100vh;
  border-top: 1px solid #333;
  border-left: 1px solid #333; }

.nav_ac_box {
  height: 20vh; }

.nav_ac_box1 {
  height: 20vh;
  padding-left: 6rem; }

.nav_ac_box2 {
  height: 65vh;
  border-top: 1px solid #333; }

.nav_ac_box3 {
  height: 65vh;
  border-top: 1px solid #333; }

.nav_ac_en {
  font-size: calc(2.8rem + 0.6vw);
  line-height: 1;
  margin-bottom: .5rem;
  color: #fff; }

.nav_ac_en:hover {
  color: #FF2B2B; }

.nav_ac_jp {
  line-height: 1.25;
  text-decoration: none;
  color: #fff;
  font-size: calc(.8rem + 0.6vw);
  position: relative;
  margin: 0 auto;
  transition: .3s;
  display: inline-block; }

.nav_ac_jp:hover {
  color: #FF2B2B; }

.nav_ac_jp:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: -0.1rem;
  right: -2rem;
  margin: auto;
  width: .7rem;
  height: .7rem;
  border-top: .1rem solid #fff;
  border-right: .1rem solid #fff;
  transform: rotate(45deg);
  transition: .3s; }

.nav_ac_jp:hover:after {
  right: -2.5rem;
  border-top: .1rem solid #FF2B2B;
  border-right: .1rem solid #FF2B2B; }

.nav_ac_en:hover + .nav_ac_jp:after {
  right: -2.5rem;
  border-top: .1rem solid #FF2B2B;
  border-right: .1rem solid #FF2B2B; }

.nav_ac_en:hover + .nav_ac_jp {
  color: #FF2B2B; }

.nav_ac_jp:hover + .nav_ac_en {
  color: #FF2B2B; }

.nav_ac_sub_ul {
  margin-top: 3rem; }

.nav_ac_sub_li {
  margin-bottom: 1rem; }

.nav_ac_sub_en {
  font-size: calc(1.2rem + 0.6vw); }

.nav_ac_sub_link {
  color: #fff;
  display: inline-block; }

.nav_ac_sub_link:hover {
  color: #FF2B2B; }

.nav_ac_sub_li_link {
  color: #fff;
  position: relative;
  display: inline-block;
  text-decoration: none; }

.nav_ac_sub_li_link:before {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(1, 1);
  transform-origin: right top;
  transition: transform .3s; }

.nav_ac_sub_li_link:hover {
  color: #FF2B2B; }

.nav_ac_sub_li_link::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #FF2B2B;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s; }

.nav_ac_sub_li_link:hover::after {
  transform-origin: left top;
  transform: scale(1, 1); }

@media (max-width: 840px) {
  .nav_ac {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #151515;
    z-index: 100;
    opacity: 1;
    transition: .3s;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; }
  .nav_ac_ul {
    display: block;
    color: #fff; }
  .nav_ac_sub {
    display: block;
    position: relative;
    bottom: auto;
    right: 2rem;
    text-align: right;
    margin-top: 8rem;
    margin-bottom: 5rem; }
  .nav_ac_block1 {
    width: 100%;
    border-top: 1px solid #333; }
  .nav_ac_block2 {
    width: 100%;
    height: auto;
    border-top: 1px solid #333;
    border-left: none; }
  .nav_ac_block3 {
    width: 100%;
    height: auto;
    border-top: 1px solid #333;
    border-left: none; }
  .nav_ac_block4 {
    width: 100%;
    height: auto;
    border-top: 1px solid #333;
    border-left: none; }
  .nav_ac_box {
    height: auto;
    padding-left: 4rem;
    margin-bottom: 2rem; }
  .nav_ac_box1 {
    height: auto;
    padding-left: 4rem;
    margin-bottom: 2rem; }
  .nav_ac_box2 {
    height: auto;
    border-top: 1px solid #333;
    padding-left: 4rem;
    margin-bottom: 2rem; }
  .nav_ac_box3 {
    display: none; }
  .nav_ac_en {
    font-size: calc(2.6rem + 0.6vw);
    line-height: 1;
    margin-bottom: 0rem;
    color: #fff; }
  .nav_ac_en:hover {
    color: #FF2B2B; }
  .nav_ac_jp {
    line-height: 1.25;
    text-decoration: none;
    color: #888;
    font-size: calc(1rem + 0.6vw);
    position: relative;
    margin: 0 auto;
    transition: .3s;
    display: inline-block; }
  .nav_ac_jp:hover {
    color: #FF2B2B; }
  .nav_ac_jp:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: -0.1rem;
    right: -1rem;
    margin: auto;
    width: .7rem;
    height: .7rem;
    border-top: .1rem solid #888;
    border-right: .1rem solid #888;
    transform: rotate(45deg);
    transition: .3s; }
  .nav_ac_jp:hover:after {
    right: -1.5rem;
    border-top: .1rem solid #FF2B2B;
    border-right: .1rem solid #FF2B2B; }
  .nav_ac_en:hover + .nav_ac_jp:after {
    right: -1.5rem;
    border-top: .1rem solid #FF2B2B;
    border-right: .1rem solid #FF2B2B; }
  .nav_ac_en:hover + .nav_ac_jp {
    color: #FF2B2B; }
  .nav_ac_jp:hover + .nav_ac_en {
    color: #FF2B2B; }
  .nav_ac_sub_ul {
    margin-top: .5rem;
    margin-bottom: 4rem; }
  .nav_ac_sub_li {
    margin-bottom: 1rem; }
  .nav_ac_sub_en {
    font-size: calc(1.4rem + 0.6vw); }
  .nav_ac_sub_link {
    color: #fff;
    display: inline-block; }
  .nav_ac_sub_link:hover {
    color: #FF2B2B; }
  .nav_ac_sub_li_link {
    color: #fff;
    position: relative;
    display: inline-block;
    text-decoration: none;
    font-size: calc(1.2rem + 0.6vw); }
  .nav_ac_sub_li_link:before {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s; }
  .nav_ac_sub_li_link:hover {
    color: #FF2B2B; }
  .nav_ac_sub_li_link::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #FF2B2B;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s; }
  .nav_ac_sub_li_link:hover::after {
    transform-origin: left top;
    transform: scale(1, 1); } }

/* =====================
  Main
===================== */
/* =====================
  Section
===================== */
/* =====================
  Footer
===================== */
.top_footer {
  padding: 100vh 3% 3% 3%;
  text-align: right; }

@media (max-width: 840px) {
  .top_footer {
    padding: 50vh 1.4rem 16rem 1.4rem;
    text-align: right; } }

.footer {
  padding: 10vh 3% 3% 3%;
  text-align: right; }

@media (max-width: 840px) {
  .footer {
    padding: 10vh 1.4rem 16rem 1.4rem;
    text-align: right; } }

/* =====================
  Button
===================== */
/*  btn
------------------------*/
.btn {
  width: 100%;
  line-height: 1.25;
  text-decoration: none;
  background: #4e4e4e;
  color: #fff;
  font-size: calc(2.4rem + 0.6vw);
  border-radius: 0rem;
  padding: 4rem;
  text-align: center;
  position: relative;
  transition: .3s;
  display: block; }

.btn:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: .1rem;
  right: 4%;
  margin: auto;
  width: 1.9rem;
  height: 1.9rem;
  border-top: .3rem solid #fff;
  border-right: .3rem solid #fff;
  transform: rotate(45deg);
  transition: .3s; }

.btn:hover {
  background-color: #FF2B2B;
  color: #fff; }

.btn:hover:after {
  right: 3%; }

@media (max-width: 840px) {
  .btn {
    width: 100%;
    line-height: 1.25;
    text-decoration: none;
    background: #4e4e4e;
    color: #fff;
    font-size: calc(1.8rem + 0.6vw);
    border-radius: 0rem;
    padding: 2.5rem;
    text-align: center;
    position: relative;
    transition: .3s;
    display: block; }
  .btn:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: .1rem;
    right: 4%;
    margin: auto;
    width: 1.3rem;
    height: 1.3rem;
    border-top: .2rem solid #fff;
    border-right: .2rem solid #fff;
    transform: rotate(45deg);
    transition: .3s; }
  .btn:hover {
    background-color: #FF2B2B;
    color: #fff; }
  .btn:hover:after {
    right: 3%; } }

/*  BtnRound
------------------------*/
.BtnArea {
  margin-bottom: 10rem;
  text-align: center; }

.BtnRound {
  width: auto;
  line-height: 1.25;
  text-decoration: none;
  background: #fff;
  color: #FF2B2B;
  font-size: calc(1.2rem + 0.6vw);
  border-radius: 50rem;
  border: #FF2B2B solid 1px;
  padding: 2rem 6rem;
  text-align: center;
  position: relative;
  transition: .3s;
  display: inline-block; }

.BtnRound:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: .1rem;
  right: 6%;
  margin: auto;
  width: 1rem;
  height: 1rem;
  border-top: .1rem solid #FF2B2B;
  border-right: .1rem solid #FF2B2B;
  transform: rotate(45deg);
  transition: .3s; }

.BtnRound:hover {
  background-color: #FF2B2B;
  color: #fff; }

.BtnRound:hover:after {
  right: 5%;
  border-top: .1rem solid #fff;
  border-right: .1rem solid #fff; }

@media (max-width: 840px) {
  .BtnRound {
    width: auto;
    line-height: 1.25;
    text-decoration: none;
    background: #fff;
    color: #FF2B2B;
    font-size: calc(1.2rem + 1.2vw);
    border-radius: 50rem;
    border: #FF2B2B solid 1px;
    padding: 2rem 6rem;
    text-align: center;
    position: relative;
    transition: .3s;
    display: inline-block; }
  .BtnRound:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: .1rem;
    right: 6%;
    margin: auto;
    width: 1rem;
    height: 1rem;
    border-top: .1rem solid #FF2B2B;
    border-right: .1rem solid #FF2B2B;
    transform: rotate(45deg);
    transition: .3s; }
  .BtnRound:hover {
    background-color: #FF2B2B;
    color: #fff; }
  .BtnRound:hover:after {
    right: 5%;
    border-top: .1rem solid #fff;
    border-right: .1rem solid #fff; } }

/*  btn_link
------------------------*/
.btn_link {
  line-height: 1.25;
  text-decoration: none;
  color: #000;
  font-size: calc(.8rem + 0.6vw);
  position: relative;
  border-bottom: 1px solid #000;
  margin: 0 auto;
  padding-bottom: .4rem;
  transition: .3s; }

.btn_link:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: -0.1rem;
  right: -1.5rem;
  margin: auto;
  width: .7rem;
  height: .7rem;
  border-top: .1rem solid #000;
  border-right: .1rem solid #000;
  transform: rotate(45deg);
  transition: .3s; }

.btn_link:hover {
  color: #FF2B2B;
  border-bottom: 1px solid #FF2B2B; }

.btn_link:hover:after {
  right: -2rem;
  border-top: .1rem solid #FF2B2B;
  border-right: .1rem solid #FF2B2B; }

.btn_link_wh {
  line-height: 1.25;
  text-decoration: none;
  color: #fff;
  font-size: calc(.8rem + 0.6vw);
  position: relative;
  border-bottom: 1px solid #fff;
  margin: 0 auto;
  padding-bottom: .4rem;
  transition: .3s; }

.btn_link_wh:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: -0.1rem;
  right: -1.5rem;
  margin: auto;
  width: .7rem;
  height: .7rem;
  border-top: .1rem solid #fff;
  border-right: .1rem solid #fff;
  transform: rotate(45deg);
  transition: .3s; }

.btn_link_wh:hover {
  color: #FF2B2B;
  border-bottom: 1px solid #FF2B2B; }

.btn_link_wh:hover:after {
  right: -2rem;
  border-top: .1rem solid #FF2B2B;
  border-right: .1rem solid #FF2B2B; }

.btn_link_red {
  line-height: 1.25;
  text-decoration: none;
  color: #FF2B2B;
  font-size: calc(.8rem + 0.6vw);
  position: relative;
  border-bottom: 1px solid #FF2B2B;
  margin: 0 auto;
  padding-bottom: .4rem;
  transition: .3s; }

.btn_link_red:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: -0.1rem;
  right: -1.5rem;
  margin: auto;
  width: .7rem;
  height: .7rem;
  border-top: .1rem solid #FF2B2B;
  border-right: .1rem solid #FF2B2B;
  transform: rotate(45deg);
  transition: .3s; }

.btn_link_red:hover {
  color: #000;
  border-bottom: 1px solid #000; }

.btn_link_red:hover:after {
  right: -2rem;
  border-top: .1rem solid #000;
  border-right: .1rem solid #000; }

@media (max-width: 840px) {
  .btn_link {
    line-height: 1.25;
    text-decoration: none;
    color: #000;
    font-size: calc(1.1rem + 0.6vw);
    position: relative;
    border-bottom: 1px solid #000;
    margin: 0 auto;
    padding-bottom: .4rem;
    transition: .3s; }
  .btn_link:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: -0.1rem;
    right: -1.5rem;
    margin: auto;
    width: .7rem;
    height: .7rem;
    border-top: .1rem solid #000;
    border-right: .1rem solid #000;
    transform: rotate(45deg);
    transition: .3s; }
  .btn_link:hover {
    color: #FF2B2B;
    border-bottom: 1px solid #FF2B2B; }
  .btn_link:hover:after {
    right: -2rem;
    border-top: .1rem solid #FF2B2B;
    border-right: .1rem solid #FF2B2B; }
  .btn_link_wh {
    line-height: 1.25;
    text-decoration: none;
    color: #fff;
    font-size: calc(1.1rem + 0.6vw);
    position: relative;
    border-bottom: 1px solid #fff;
    margin: 0 auto;
    padding-bottom: .4rem;
    transition: .3s; }
  .btn_link_wh:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: -0.1rem;
    right: -1.5rem;
    margin: auto;
    width: .7rem;
    height: .7rem;
    border-top: .1rem solid #fff;
    border-right: .1rem solid #fff;
    transform: rotate(45deg);
    transition: .3s; }
  .btn_link_wh:hover {
    color: #FF2B2B;
    border-bottom: 1px solid #FF2B2B; }
  .btn_link_wh:hover:after {
    right: -2rem;
    border-top: .1rem solid #FF2B2B;
    border-right: .1rem solid #FF2B2B; }
  .btn_link_red {
    line-height: 1.25;
    text-decoration: none;
    color: #FF2B2B;
    font-size: calc(1.1rem + 0.6vw);
    position: relative;
    border-bottom: 1px solid #FF2B2B;
    margin: 0 auto;
    padding-bottom: .4rem;
    transition: .3s; }
  .btn_link_red:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: -0.1rem;
    right: -1.5rem;
    margin: auto;
    width: .7rem;
    height: .7rem;
    border-top: .1rem solid #FF2B2B;
    border-right: .1rem solid #FF2B2B;
    transform: rotate(45deg);
    transition: .3s; }
  .btn_link_red:hover {
    color: #000;
    border-bottom: 1px solid #000; }
  .btn_link_red:hover:after {
    right: -2rem;
    border-top: .1rem solid #000;
    border-right: .1rem solid #000; } }

/*  btn_area
------------------------*/
.btn_area_rt {
  text-align: right;
  margin-right: 8rem; }

.btn_area_cnt {
  text-align: center; }

@media (max-width: 840px) {
  .btn_area_rt {
    text-align: right;
    margin-right: 2rem; }
  .btn_area_cnt {
    text-align: center; } }

/*  btn_conversion
------------------------*/
.btn_conversion {
  width: 100%;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  font-size: calc(2.4rem + 0.6vw);
  padding: 12rem;
  text-align: center;
  position: relative;
  transition: .3s;
  display: block; }

.btn_conversion:hover {
  background-color: #555;
  color: #fff; }

.btn_conversion_en {
  font-size: calc(3.4rem + 0.6vw);
  border-bottom: 2px solid #fff;
  display: inline-block; }

.btn_conversion_jp {
  margin-top: 1.5rem;
  font-size: calc(0.7rem + 0.6vw); }

@media (max-width: 840px) {
  .btn_conversion {
    width: 100%;
    line-height: 1;
    text-decoration: none;
    color: #fff;
    font-size: calc(2.4rem + 0.6vw);
    padding: 2rem;
    text-align: center;
    position: relative;
    transition: .3s;
    display: block; }
  .btn_conversion:hover {
    background-color: #555;
    color: #fff; }
  .btn_conversion_en {
    font-size: calc(1.8rem + 0.6vw);
    border-bottom: 1px solid #fff;
    display: inline-block;
    padding-bottom: .4rem; }
  .btn_conversion_jp {
    margin-top: .8rem;
    font-size: calc(.9rem + 0.6vw);
    padding-bottom: .6rem; } }

/*  btn_top_tickets
------------------------*/
.btn_top_tickets {
  display: none; }

@media (max-width: 840px) {
  .btn_top_tickets {
    display: block; } }

/*  btn_close
------------------------*/
.btn_close_box {
  height: auto;
  position: relative;
  right: 0rem;
  text-align: right; }

.btn_close {
  width: 3rem;
  margin-right: 4rem;
  margin-top: 4.5rem;
  margin-bottom: 4.5rem;
  cursor: pointer; }

@media (max-width: 840px) {
  .btn_close_box {
    height: auto;
    position: relative;
    right: 0rem;
    text-align: right; }
  .btn_close {
    width: 2rem;
    margin-right: 2rem;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    cursor: pointer; } }

.btn_close2 {
  width: 3rem;
  margin-right: 0rem;
  margin-top: 4.5rem;
  margin-bottom: 4.5rem;
  cursor: pointer; }

@media (max-width: 840px) {
  .btn_close2 {
    width: 3rem;
    margin-right: 0rem;
    margin-top: 1.5rem;
    margin-bottom: 4.5rem;
    cursor: pointer; } }

/*  Item &gt; TtlBlock
------------------------*/
.TtlBlock {
  margin-bottom: 7rem; }

.TtlBlock h1 {
  font-size: calc(1.4rem + 0.6vw);
  color: #FF2B2B;
  line-height: 1.25;
  text-decoration: none;
  position: relative;
  margin-bottom: .5rem; }

.TtlBlock h1:after {
  content: "";
  position: absolute;
  top: 1.2rem;
  margin-left: 2rem;
  width: 12rem;
  border-top: 1px solid #FF2B2B;
  transition: .3s; }

.TtlBlock h2 {
  font-size: calc(.8rem + 0.6vw);
  color: #FF2B2B; }

@media (max-width: 840px) {
  .TtlBlock {
    margin-bottom: 4rem; }
  .TtlBlock h1 {
    font-size: calc(1.8rem + 0.6vw);
    color: #FF2B2B;
    line-height: 1.25;
    text-decoration: none;
    position: relative;
    margin-bottom: .5rem; }
  .TtlBlock h1:after {
    content: "";
    position: absolute;
    top: 1.2rem;
    margin-left: 2rem;
    width: 12rem;
    border-top: 1px solid #FF2B2B;
    transition: .3s; }
  .TtlBlock h2 {
    font-size: calc(1rem + 0.6vw);
    color: #FF2B2B; } }

/*  Item &gt; TtlBlock2
------------------------*/
.TtlBlock2 {
  margin-bottom: 7rem;
  text-align: center;
  color: #fff; }

.TtlBlock2 h1 {
  font-size: calc(1.9rem + 0.6vw);
  line-height: 1.25;
  text-decoration: none;
  position: relative;
  margin-bottom: .5rem; }

.TtlBlock2 h2 {
  font-size: calc(1.0rem + 0.6vw);
  margin-bottom: 1.5rem; }

.TtlBlock2 .cap_en {
  font-size: calc(.6rem + 0.6vw); }

.TtlBlock2 .cap_jp {
  font-size: calc(.6rem + 0.6vw); }

@media (max-width: 840px) {
  .TtlBlock2 {
    margin-bottom: 4rem; }
  .TtlBlock2 h1 {
    font-size: calc(1.5rem + 1.2vw);
    color: #fff;
    line-height: 1.25;
    text-decoration: none;
    position: relative;
    margin-bottom: .5rem; }
  .TtlBlock2 h2 {
    font-size: calc(1rem + 1.2vw);
    color: #fff; }
  .TtlBlock2 p {
    font-size: calc(.8rem + 1.2vw);
    color: #fff; }
  .TtlBlock2 .cap_en {
    font-size: calc(.6rem + 1.2vw); }
  .TtlBlock2 .cap_jp {
    font-size: calc(.6rem + 1.2vw); } }

/*  Item &gt; TableList
------------------------*/
.TableList h3 {
  font-size: calc(2.8rem + 0.6vw);
  margin-bottom: 3rem;
  text-align: center; }

.TableList table {
  width: 100%; }

.TableList tr th {
  border-top: 1px #000 solid;
  border-bottom: 1px #000 solid;
  font-size: calc(.5rem + 0.6vw);
  line-height: 1;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-right: 3rem; }

.TableList tr td {
  border-bottom: 1px #E2E2E2 solid;
  font-size: calc(.7rem + 0.6vw);
  vertical-align: text-top;
  padding-top: 1.5rem;
  padding-bottom: 3rem;
  padding-right: 3rem; }

.TableList tr td p {
  font-size: calc(.6rem + 0.6vw); }

.TableList .th1 {
  width: 18%; }

.TableList .th2 {
  width: auto; }

.TableList .th3 {
  width: 40%; }

.TableList .th4 {
  width: auto; }

.TableList .th5 {
  width: 18%; }

.TableList tr td a {
  color: #000; }

.TableList tr td a:hover {
  color: #FF2B2B; }

.TableList .PC_no {
  display: none; }

@media (max-width: 840px) {
  .TableList h3 {
    font-size: calc(1.5rem + 1.2vw);
    margin-bottom: .5rem;
    text-align: left;
    font-weight: 600; }
  .TableList table {
    width: 100%; }
  .TableList .table_th {
    display: none; }
  .TableList tr th {
    border-top: 1px #000 solid;
    border-bottom: 1px #000 solid;
    font-size: calc(.9rem + 1.2vw);
    line-height: 1;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-right: 3rem;
    display: none; }
  .TableList tr td {
    border-bottom: 0px #E2E2E2 solid;
    font-size: calc(1.1rem + 1.2vw);
    vertical-align: text-top;
    padding-top: 0rem;
    padding-bottom: 0rem;
    padding-right: 0rem;
    display: block; }
  .TableList tr td p {
    font-size: calc(.9rem + 1.2vw);
    display: block;
    line-height: 1.5; }
  .TableList tr {
    border-bottom: 1px #E2E2E2 solid;
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: block; }
  .TableList .SP_red {
    color: #FF2B2B;
    font-size: calc(1.2rem + 1.2vw); }
  .TableList .SP_gray {
    color: #888;
    font-size: calc(.6rem + 1.2vw);
    line-height: 1.2;
    margin-bottom: .5rem; }
  .TableList .SP_bold {
    font-weight: 600;
    border-bottom: 1px dotted #888;
    display: inline-block; }
  .TableList .SP_bold2 {
    font-weight: 600;
    display: inline-block; }
  .TableList .PC_no {
    display: inline; }
  .TableList .th1 {
    width: 100%; }
  .TableList .th2 {
    width: 100%; }
  .TableList .th3 {
    width: 100%; }
  .TableList .th4 {
    width: 100%; }
  .TableList .th5 {
    width: 100%; }
  .TableList tr td a {
    color: #000; }
  .TableList tr td a:hover {
    color: #FF2B2B; } }

/*  Item &gt; SpecList
------------------------*/
.SpecList h3 {
  font-size: calc(2.8rem + 0.6vw);
  margin-bottom: 3rem;
  text-align: center; }

.SpecList table {
  width: 100%;
  border-top: 1px #E2E2E2 solid; }

.SpecList tr th {
  border-top: 1px #000 solid;
  border-bottom: 1px #000 solid;
  font-size: calc(.5rem + 0.6vw);
  line-height: 1;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-right: 3rem; }

.SpecList tr td {
  border-bottom: 1px #E2E2E2 solid;
  font-size: calc(.7rem + 0.6vw);
  vertical-align: text-top;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-right: 3rem; }

.SpecList .th1 {
  width: 15%; }

.SpecList .th2 {
  width: auto; }

.SpecList .th3 {
  width: 20%; }

.SpecList .th4 {
  width: 5%; }

.SpecList .th5 {
  width: 15%; }

.SpecList tr td a {
  color: #000; }

.SpecList tr td a:hover {
  color: #FF2B2B; }

@media (max-width: 840px) {
  .SpecList h3 {
    font-size: calc(2rem + 1.2vw);
    margin-bottom: 2rem;
    text-align: left;
    font-weight: 600; }
  .SpecList table {
    width: 100%; }
  .SpecList tr th {
    border-top: 1px #000 solid;
    border-bottom: 1px #000 solid;
    font-size: calc(.9rem + 1.2vw);
    line-height: 1;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-right: 3rem;
    display: none;
    width: 100%; }
  .SpecList tr td.ttl {
    font-weight: 600; }
  .SpecList tr td {
    border-bottom: 0px #E2E2E2 solid;
    font-size: calc(.9rem + 1.2vw);
    vertical-align: text-top;
    padding-top: 0rem;
    padding-bottom: 0rem;
    padding-right: 3rem;
    display: block;
    width: 100%; }
  .SpecList tr {
    border-bottom: 1px #E2E2E2 solid;
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: inline-block;
    width: 100%; }
  .SpecList tr.bottom {
    border-bottom: none; }
  .SpecList .th1 {
    width: 15%; }
  .SpecList .th2 {
    width: auto; }
  .SpecList .th3 {
    width: 20%; }
  .SpecList .th4 {
    width: 5%; }
  .SpecList .th5 {
    width: 15%; }
  .SpecList tr td a {
    color: #000; }
  .SpecList tr td a:hover {
    color: #FF2B2B; } }

/*  Item &gt; PanelBlock4
------------------------*/
.PanelBlock4 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%; }

.PanelBlock4 li {
  margin: 0 1%;
  width: calc(24% - 1%); }

.PanelBlock4 li .pic {
  width: 100%;
  margin-bottom: 2rem; }

.PanelBlock4 li p.ttl_en {
  font-size: calc(1.5rem + 0.6vw);
  line-height: 1;
  margin-bottom: .5rem; }

.PanelBlock4 li p.ttl_jp {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1;
  margin-bottom: 1rem; }

.PanelBlock4 li p.cap_jp {
  margin-bottom: 2rem; }

.PanelBlock4 li p.btn_area {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1;
  margin-bottom: 3rem; }

.PanelBlock4 li p.txt_jp {
  font-size: calc(.6rem + 0.6vw);
  margin-bottom: 1rem;
  line-height: 1.6; }

.PanelBlock4 li p.txt_en {
  font-size: calc(.5rem + 0.6vw);
  line-height: 1.5;
  color: #888; }

@media (max-width: 840px) {
  .PanelBlock4 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0% -3rem; }
  .PanelBlock4 li {
    margin: 0 0% 5rem;
    width: calc(100%); }
  .PanelBlock4 li .pic {
    width: 100%;
    margin-bottom: 1rem; }
  .PanelBlock4 li p.ttl_en {
    font-size: calc(1.8rem + 1.2vw);
    line-height: 1;
    margin-bottom: .5rem; }
  .PanelBlock4 li p.ttl_jp {
    font-size: calc(.9rem + 1.2vw);
    line-height: 1;
    margin-bottom: 1rem; }
  .PanelBlock4 li p.cap_jp {
    margin-bottom: 1rem; }
  .PanelBlock4 li p.btn_area {
    font-size: calc(.9rem + 1.2vw);
    line-height: 1;
    margin-bottom: 2rem; }
  .PanelBlock4 li p.txt_jp {
    font-size: calc(.8rem + 1.2vw);
    margin-bottom: 1rem; }
  .PanelBlock4 li p.txt_en {
    font-size: calc(.6rem + 1.2vw); } }

/*  Item &gt; PanelBlock4
------------------------*/
.PanelBlock42 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%; }

.PanelBlock42 li {
  margin: 0 1%;
  width: calc(24% - 1%);
  margin-bottom: 2rem; }

.PanelBlock42 li p.ttl_jp {
  font-size: calc(1.3rem + 0.6vw);
  line-height: 1;
  margin-bottom: .5rem; }

.PanelBlock42 li p.ttl_en {
  font-size: calc(.9rem + 0.6vw);
  line-height: 1;
  margin-bottom: 1.5rem; }

.PanelBlock42 li p.txt_jp {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1.6; }

.PanelBlock42 li p.txt_en {
  font-size: calc(.6rem + 0.6vw);
  line-height: 1.6;
  color: #888; }

@media (max-width: 840px) {
  .PanelBlock42 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0% -3rem; }
  .PanelBlock42 li {
    margin: 0 0% 3rem;
    width: calc(100%); }
  .PanelBlock42 li p.ttl_jp {
    font-size: calc(1.3rem + 1.2vw);
    line-height: 1.2;
    margin-bottom: .5rem;
    font-weight: 600; }
  .PanelBlock42 li p.ttl_en {
    font-size: calc(.8rem + 1.2vw);
    line-height: 1;
    margin-bottom: 1rem; }
  .PanelBlock42 li p.txt_jp {
    font-size: calc(.9rem + 1.2vw);
    line-height: 1.6; }
  .PanelBlock42 li p.txt_en {
    font-size: calc(.8rem + 1.2vw);
    line-height: 1.6; }
  .PanelBlock42 li .btn_area {
    font-size: calc(.7rem + 1.2vw);
    line-height: 1;
    margin-bottom: 3rem; } }

/*  Item &gt; PanelBlock4
------------------------*/
.PanelBlock43 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%; }

.PanelBlock43 li {
  margin: 0 1%;
  width: calc(24% - 1%);
  margin-bottom: 2rem; }

.PanelBlock43 li .pic {
  width: 100%;
  margin-bottom: 3rem; }

.PanelBlock43 li p.ttl_jp {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1;
  margin-bottom: .5rem; }

.PanelBlock43 li p.ttl_en {
  font-size: calc(.4rem + 0.6vw);
  line-height: 1;
  margin-bottom: 1.5rem;
  color: #888; }

.PanelBlock43 li p.txt_jp {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1.6; }

.PanelBlock43 li p.txt_en {
  font-size: calc(.5rem + 0.6vw);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  color: #888; }

.PanelBlock43 li p.cap_en {
  font-size: calc(.5rem + 0.6vw);
  line-height: 1.6; }

.PanelBlock43 li p.btn_area {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1;
  margin-top: 1rem;
  margin-bottom: 3rem; }

@media (max-width: 840px) {
  .PanelBlock43 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2% -3rem; }
  .PanelBlock43 li {
    margin: 0 2% 2rem;
    width: calc(47% - 1%); }
  .PanelBlock43 li .pic {
    width: 100%;
    margin-bottom: 1rem; }
  .PanelBlock43 li p.ttl_jp {
    font-size: calc(.8rem + 1.2vw);
    line-height: 1.4;
    margin-bottom: .5rem;
    font-weight: 600; }
  .PanelBlock43 li p.ttl_en {
    font-size: calc(.8rem + 1.2vw);
    line-height: 1.3;
    margin-bottom: 1rem; }
  .PanelBlock43 li p.txt_jp {
    font-size: calc(.9rem + 1.2vw);
    line-height: 1.4;
    margin-bottom: .5rem; }
  .PanelBlock43 li p.txt_en {
    font-size: calc(.7rem + 1.2vw);
    line-height: 1.3; }
  .PanelBlock43 li p.cap_en {
    font-size: calc(.7rem + 1.2vw);
    line-height: 1.3; }
  .PanelBlock43 li p.btn_area {
    font-size: calc(.8rem + 0.6vw);
    line-height: 1;
    margin-bottom: 2rem; } }

/*  Item &gt; CardBlock4
------------------------*/
.CardBlock4 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0; }

.CardBlock4 li {
  margin: 0 0%;
  width: calc(25% - 0%);
  transform: scale(1);
  transition: .2s;
  z-index: 1; }

.CardBlock4 li:hover {
  transform: scale(1.05);
  transition: .2s;
  z-index: 20; }

.CardBlock4 li .pic {
  width: 100%; }

.CardBlock4 li .txt {
  text-align: center;
  background-color: #eee;
  padding: 2.4rem; }

.CardBlock4 li .bgc {
  background-color: #dedede; }

.CardBlock4 li .txt p {
  font-size: calc(.7rem + 0.6vw);
  color: #000; }

@media (max-width: 840px) {
  .CardBlock4 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0% 0rem; }
  .CardBlock4 li {
    margin: 0 0% 0rem;
    width: calc(50% - 0%); }
  .CardBlock4 li .pic {
    width: 100%; }
  .CardBlock4 li .txt {
    text-align: center;
    background-color: #eee;
    padding: 2.0rem; }
  .CardBlock4 li .bgc {
    background-color: #dedede; }
  .CardBlock4 li .bgcWh {
    background-color: #fff; }
  .CardBlock4 li .txt p {
    font-size: calc(.7rem + 1.2vw);
    color: #000; } }

.ttl_area {
  text-align: center;
  margin-bottom: 2rem; }

.ttl_h1_wh {
  font-size: calc(3.4rem + 0.6vw);
  border-bottom: 2px solid #fff;
  display: inline-block; }

.ttl_h1 {
  font-size: calc(3.4rem + 0.6vw);
  border-bottom: 2px solid #000;
  display: inline-block; }

.ttl_h2 {
  margin-top: 1.5rem;
  font-size: calc(0.7rem + 0.6vw); }

.ttl_h3 {
  font-size: calc(2.4rem + 0.6vw); }

.ttl_h4 {
  font-size: calc(.7rem + 0.6vw); }

p.ttl_h5 {
  font-size: calc(1.0rem + 0.6vw); }

.ttl_red {
  color: #fff;
  background-color: #FF2B2B;
  display: inline-block;
  line-height: 1; }

.ttl_red_bl {
  color: #fff;
  background-color: #FF2B2B;
  display: block;
  line-height: 1; }

.ttl_gray_bl {
  color: #fff;
  background-color: #444;
  display: block;
  line-height: 1; }

@media (max-width: 840px) {
  .ttl_area {
    text-align: center;
    margin-bottom: 3rem; }
  .ttl_h1_wh {
    font-size: calc(2.8rem + 0.6vw);
    border-bottom: 2px solid #fff;
    display: inline-block; }
  .ttl_h1 {
    font-size: calc(2.8rem + 0.6vw);
    border-bottom: 2px solid #000;
    display: inline-block; }
  .ttl_h2 {
    margin-top: 1.2rem;
    font-size: calc(1rem + 0.6vw); }
  .ttl_h3 {
    font-size: calc(2.6rem + 0.6vw); }
  .ttl_h4 {
    font-size: calc(1.1rem + 0.6vw); }
  p.ttl_h5 {
    font-size: calc(1.4rem + 0.6vw); } }

/*  Item &gt; copy
------------------------*/
.copy_area {
  margin-bottom: 10rem;
  text-align: center; }

.copy_jp_l {
  font-size: calc(1.4rem + 0.6vw);
  margin-bottom: 2rem; }

.copy_jp {
  font-size: calc(1rem + 0.6vw);
  margin-bottom: 2rem; }

.copy_en {
  margin-bottom: 4rem; }

@media (max-width: 840px) {
  .copy_area {
    margin-bottom: 4rem;
    text-align: center; }
  .copy_jp_l {
    font-size: calc(1.3rem + 0.6vw);
    margin-bottom: 1rem; }
  .copy_jp {
    font-size: calc(1.3rem + 0.6vw);
    margin-bottom: 1rem; }
  .copy_en {
    font-size: calc(1rem + 0.6vw);
    margin-bottom: 2rem; } }

/*  Item &gt; img
------------------------*/
.img_gray {
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
  -ms-filter: grayscale(0%);
  -o-filter: grayscale(0%);
  filter: grayscale(0%);
  transition: all 0.5s ease-out; }

.img_gray:hover {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  transition: all 0.5s ease-out; }

/* =====================
  Grid
===================== */
/*  Grid &gt; Column21
------------------------*/
.Column21 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -2%; }

.Column21 div {
  margin: 0 2%;
  width: calc(47% - 1%); }

.Column21 div h3 {
  font-size: calc(1.1rem + 0.6vw);
  margin-bottom: 1rem; }

.Column21 div p.txt_jp {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1.8; }

.Column21 div p.txt_en {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1.6; }

.Column21 div p.cap_jp {
  font-size: calc(.5rem + 0.6vw);
  line-height: 1.8; }

.Column21 div p.cap_en {
  font-size: calc(.5rem + 0.6vw);
  line-height: 1.6; }

@media (max-width: 840px) {
  .Column21 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0%; }
  .Column21 div {
    margin: 0 auto;
    width: 100%; }
  .Column21 div h3 {
    font-size: calc(1rem + 1.2vw);
    margin-bottom: 1rem;
    font-weight: 600; }
  .Column21 div p.txt_jp {
    font-size: calc(.9rem + 1.2vw);
    line-height: 1.8; }
  .Column21 div p.cap_jp {
    font-size: calc(.7rem + 1.2vw);
    line-height: 1.8; }
  .Column21 div p.txt_en {
    font-size: calc(.8rem + 1.2vw);
    line-height: 1.6; }
  .Column21 div p.cap_en {
    font-size: calc(.7rem + 1.2vw);
    line-height: 1.6; } }

.Column212 {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px #fff solid;
  padding-bottom: 3rem;
  justify-content: space-between; }

.Column212 div {
  width: 47%; }

.Column212 div h3 {
  font-size: calc(1.1rem + 0.6vw);
  margin-bottom: 2rem; }

.Column212 .txt_jp {
  font-size: calc(.7rem + 0.6vw); }

.Column212 .txt_en {
  line-height: 1.6;
  font-size: calc(.7rem + 0.6vw); }

.Column212 li {
  font-size: calc(.7rem + 0.6vw); }

@media (max-width: 840px) {
  .Column212 {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px #fff solid;
    padding-bottom: 3rem;
    justify-content: space-between; }
  .Column212 div {
    width: 100%; }
  .Column212 div h3 {
    font-size: calc(1.1rem + 1.2vw);
    margin-bottom: 2rem; }
  .Column212 .txt_jp {
    line-height: 1.6;
    font-size: calc(.7rem + 1.2vw); }
  .Column212 .txt_en {
    line-height: 1.6;
    font-size: calc(.7rem + 1.2vw); }
  .Column212 li {
    font-size: calc(.7rem + 1.2vw); } }

.Column213 {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px #fff solid;
  padding-bottom: 3rem;
  justify-content: space-between; }

.Column213 div {
  width: 47%; }

.Column213 div h3 {
  font-size: calc(1.1rem + 0.6vw);
  margin-bottom: 2rem; }

.Column213 .txt_jp {
  font-size: calc(.7rem + 0.6vw); }

.Column213 .txt_en {
  line-height: 1.6;
  font-size: calc(.7rem + 0.6vw); }

.Column213 li {
  font-size: calc(.7rem + 0.6vw); }

@media (max-width: 840px) {
  .Column213 {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px #fff solid;
    padding-bottom: 3rem;
    justify-content: space-between; }
  .Column213 div {
    width: 100%; }
  .Column213 div h3 {
    font-size: calc(1.1rem + 1.2vw);
    margin-bottom: 2rem; }
  .Column213 .txt_jp {
    line-height: 1.6;
    font-size: calc(.7rem + 1.2vw); }
  .Column213 .txt_en {
    line-height: 1.6;
    font-size: calc(.7rem + 1.2vw); }
  .Column213 li {
    font-size: calc(.7rem + 1.2vw); } }

.Column214 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -2%; }

.Column214 div {
  margin: 0 2%;
  width: calc(47% - 1%); }

.Column214 div h3 {
  font-size: calc(1.1rem + 0.6vw);
  margin-bottom: 2rem; }

.Column214 .txt_jp {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1.8; }

.Column214 .txt_en {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1.6; }

@media (max-width: 840px) {
  .Column214 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0%; }
  .Column214 div {
    margin: 0 auto;
    width: 100%; }
  .Column214 div h3 {
    font-size: calc(1.1rem + 1.2vw);
    margin-bottom: 2rem;
    font-weight: 600; }
  .Column214 .txt_jp {
    font-size: calc(.9rem + 1.2vw);
    line-height: 1.8; }
  .Column214 .txt_en {
    font-size: calc(.7rem + 1.2vw);
    line-height: 1.6; } }

.Column31 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -2%; }

.Column31 div {
  margin: 0 2%;
  width: calc(30.3% - 1%); }

.Column31 div h3 {
  font-size: calc(1.1rem + 0.6vw);
  margin-bottom: 1rem; }

.Column31 div h4 {
  margin-bottom: 2rem; }

.Column31 div p.txt_jp {
  font-size: calc(.7rem + 0.6vw);
  line-height: 1.8; }

.Column31 div p.txt_en {
  font-size: calc(.6rem + 0.6vw);
  line-height: 1.6; }

.Column31 .pic {
  width: 20%; }

.Column31 .txt {
  width: 34%; }

@media (max-width: 840px) {
  .Column31 {
    display: block;
    flex-wrap: wrap;
    border-bottom: 1px #fff solid;
    padding-bottom: 3rem;
    justify-content: space-between;
    margin: 0 auto; }
  .Column31 div {
    margin: 0 auto;
    width: 100%; }
  .Column31 div h3 {
    font-size: calc(1.1rem + 1.2vw);
    margin-bottom: 2rem; }
  .Column31 div h4 {
    font-size: calc(1.1rem + 1.2vw);
    font-weight: 600;
    margin-bottom: 2rem; }
  .Column31 div p.txt_jp {
    font-size: calc(.9rem + 1.2vw);
    line-height: 1.8; }
  .Column31 div p.txt_en {
    font-size: calc(.9rem + 1.2vw);
    line-height: 1.6; }
  .Column31 .pic {
    width: 60%;
    margin-bottom: 2rem; }
  .Column31 .txt {
    width: 100%; } }

/*  list_flex4
------------------------*/
.list_flex4 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%; }

.list_flex_li4 {
  background-color: darkgreen;
  margin: 0 1% 3rem; }

.list_flex_li4 {
  width: calc(24% - 1%); }

@media (max-width: 840px) {
  .list_flex4 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1%; }
  .list_flex_li4 {
    background-color: darkgreen;
    margin: 0 1% 3rem; }
  .list_flex_li4 {
    width: calc(32% - 1%); } }

/* =====================
  Top
===================== */
/*  top_mainpic
------------------------*/
.top_mainpic {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 1; }

.top_mainpic_box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%; }

.top_mainpic_img {
  display: block; }

@media (max-width: 840px) {
  .top_mainpic {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 1; }
  .top_mainpic_box {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%; }
  .top_mainpic_img {
    display: block;
    margin-top: -3rem;
    width: 82%; } }

/*  top_maincopy
------------------------*/
.top_maincopy {
  position: absolute;
  right: 4rem;
  bottom: 4rem;
  z-index: 5; }

.top_maincopy_box {
  text-align: right; }

.top_maincopy_en {
  font-size: calc(2rem + 0.6vw); }

.top_maincopy_jp {
  font-size: calc(2.2rem + 0.6vw); }

@media (max-width: 840px) {
  .top_maincopy {
    position: absolute;
    right: auto;
    left: 2rem;
    bottom: 12rem;
    z-index: 5; }
  .top_maincopy_box {
    text-align: left; }
  .top_maincopy_en {
    font-size: calc(1.4rem + 0.6vw);
    line-height: 1.4; }
  .top_maincopy_jp {
    font-size: calc(1.6rem + 0.6vw);
    line-height: 1.4; } }

/*  top_content
------------------------*/
.top_content {
  margin-top: 120vh;
  width: 100%;
  height: auto;
  position: absolute;
  z-index: 10; }

@media (max-width: 840px) {
  .top_content {
    margin-top: 90vh;
    width: 100%;
    height: auto;
    position: absolute;
    z-index: 10; } }

/*  top_about
------------------------*/
.top_about {
  background: rgba(21, 21, 21, 0.97);
  color: #fff;
  padding: 6% 3% 6% 3%; }

@media (max-width: 840px) {
  .top_about {
    background: rgba(21, 21, 21, 0.97);
    color: #fff;
    padding: 5rem 1.4rem 5rem 1.4rem; } }

/*  top_program
------------------------*/
.top_program {
  padding: 0% 0% 0% 0%; }

.top_program_lead {
  background: rgba(255, 255, 255, 0.9);
  padding: 6% 0% 3% 0%; }

.top_program_inner {
  background: rgba(240, 240, 240, 0.9);
  padding: 6% 0% 6% 5%; }

.top_program_inner_wh {
  background: rgba(255, 255, 255, 0.9);
  padding: 6% 0% 6% 5%; }

.top_program_inner_content {
  display: flex;
  margin-bottom: 6rem; }

.top_program_ttl_area {
  width: 30%; }

.top_program_inner_text {
  width: 70%; }

.top_program_inner_text_jp {
  margin-right: 5rem;
  margin-bottom: 2rem;
  font-size: calc(.8rem + 0.6vw); }

.top_program_inner_text_en {
  margin-right: 5rem;
  margin-bottom: 4rem;
  font-size: calc(.7rem + 0.6vw); }

.top_program_inner_img {
  display: flex; }

@media (max-width: 840px) {
  .top_program {
    padding: 0% 0% 0% 0%; }
  .top_program_lead {
    background: rgba(255, 255, 255, 0.9);
    padding: 5rem 0% 3rem 0%; }
  .top_program_inner {
    background: rgba(240, 240, 240, 0.9);
    padding: 5rem 1.4rem 5rem 1.4rem; }
  .top_program_inner_wh {
    background: rgba(255, 255, 255, 0.9);
    padding: 4rem 1.4rem 5rem 1.4rem; }
  .top_program_inner_content {
    display: block;
    margin-bottom: 4rem; }
  .top_program_ttl_area {
    width: 100%;
    margin-bottom: 2rem; }
  .top_program_inner_text {
    width: 100%; }
  .top_program_inner_text_jp {
    margin-right: auto;
    margin-bottom: 2rem;
    font-size: calc(1.1rem + 0.6vw);
    text-align: justify; }
  .top_program_inner_text_en {
    margin-right: auto;
    margin-bottom: 2rem;
    font-size: calc(1rem + 0.6vw); }
  .top_program_inner_img {
    display: block; } }

/*  top_speaker
------------------------*/
.top_speaker {
  background: rgba(240, 240, 240, 0.9);
  opacity: 1;
  padding: 6% 0% 9% 0%; }

.top_speaker_inner {
  padding: 0% 3% 6% 3%; }

.top_speaker_profile {
  text-align: center;
  background-color: #ddd;
  padding: 2.4rem; }

.top_speaker_profile_2 {
  text-align: center;
  background-color: #eee;
  padding: 2.4rem; }

.top_speaker_profile p, .top_speaker_profile_2 p {
  font-size: calc(1.2rem + 0.6vw); }

@media (max-width: 840px) {
  .top_speaker {
    background: rgba(240, 240, 240, 0.9);
    opacity: 1;
    padding: 5rem 0rem 5rem 0rem; }
  .top_speaker_inner {
    padding: 0% 1.4rem 3rem 1.4rem; }
  .top_speaker_profile {
    text-align: center;
    background-color: #ddd;
    padding: 2.4rem; }
  .top_speaker_profile_2 {
    text-align: center;
    background-color: #eee;
    padding: 2.4rem; }
  .top_speaker_profile p, .top_speaker_profile_2 p {
    font-size: calc(1rem + 0.6vw); } }

/*  top_partner
------------------------*/
.top_partner {
  background: rgba(255, 255, 255, 0.9);
  opacity: 1;
  padding: 6% 0% 3% 0%; }

.top_partner_inner {
  padding: 0% 3% 6% 3%; }

.top_partner_pic {
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1)); }

@media (max-width: 840px) {
  .top_partner {
    background: rgba(255, 255, 255, 0.9);
    opacity: 1;
    padding: 5rem 0rem 5rem 0rem; }
  .top_partner_inner {
    padding: 0rem 1.4rem 0rem 1.4rem; }
  .top_partner_pic {
    filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1)); } }

/*  conversion
------------------------*/
.top_conversion {
  display: flex;
  text-align: center;
  color: #fff; }

.top_conversion_access {
  width: 50%;
  background-color: #191919; }

.top_conversion_ticket {
  width: 50%;
  background-color: #FF2B2B; }

@media (max-width: 840px) {
  .top_conversion {
    display: flex;
    text-align: center;
    color: #fff;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 50; }
  .top_conversion_access {
    width: 50%;
    background-color: #191919; }
  .top_conversion_ticket {
    width: 50%;
    background-color: #FF2B2B; } }

/* =====================
  Article
===================== */
.ContentArea {
  margin-left: 11rem; }

@media (max-width: 840px) {
  .ContentArea {
    margin: 0 0rem; } }

.SecPage {
  margin-left: 4rem;
  margin-right: 4rem;
  margin-bottom: 12rem; }

@media (max-width: 840px) {
  .SecPage {
    margin-left: 1.4rem;
    margin-right: 1.4rem;
    margin-bottom: 8rem; } }

.SecPage2 {
  margin-left: 4rem;
  margin-right: 4rem;
  margin-bottom: 12rem; }

@media (max-width: 840px) {
  .SecPage2 {
    margin-left: 1.4rem;
    margin-right: 1.4rem;
    margin-bottom: 8rem; } }

/*  list_flex4
------------------------*/
.list_flex4 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%; }

.list_flex_li4 {
  background-color: darkgreen;
  margin: 0 1% 3rem; }

.list_flex_li4 {
  width: calc(24% - 1%); }

@media (max-width: 840px) {
  .list_flex4 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1%; }
  .list_flex_li4 {
    background-color: darkgreen;
    margin: 0 1% 3rem; }
  .list_flex_li4 {
    width: calc(32% - 1%); } }

.BlockMarginSS {
  margin-bottom: 1rem; }

.BlockMarginS {
  margin-bottom: 3rem; }

.BlockMarginM {
  margin-bottom: 6rem; }

.BlockMarginL {
  margin-bottom: 12rem; }

.BlockMarginSPM {
  margin-bottom: 0rem; }

@media (max-width: 840px) {
  .BlockMarginSPM {
    margin-bottom: 3rem; } }

.bold {
  font-weight: 600; }

.text_l {
  font-size: calc(1.1rem + 0.6vw); }

.text_s {
  font-size: calc(.7rem + 0.6vw); }

.margin_l {
  margin-bottom: 4rem; }

.ContentArea {
  margin-left: 11rem; }

.image_50 {
  width: 50%; }

.image_100 {
  width: 100%; }

.image_25 {
  width: 25%; }

@media (max-width: 840px) {
  .text_l {
    font-size: calc(1.3rem + 0.6vw); }
  .text_s {
    font-size: calc(1.1rem + 0.6vw); }
  .margin_l {
    margin-bottom: 2rem; }
  .ContentArea {
    margin-left: 0rem; }
  .image_50 {
    width: 100%; }
  .image_100 {
    width: 100%; }
  .image_25 {
    width: 25%; } }

.content_lower {
  padding-top: 20rem; }

@media (max-width: 840px) {
  .content_lower {
    padding-top: 11rem; } }

.content_lower2 {
  padding-top: 10rem; }

@media (max-width: 840px) {
  .content_lower2 {
    padding-top: 11rem; } }

.ContentDetails {
  padding-top: 0rem;
  background-color: #313131;
  padding-bottom: 10rem; }

@media (max-width: 840px) {
  .ContentDetails {
    padding-top: 0rem;
    padding-bottom: 6rem; } }

.SecPage2 {
  margin-left: 10%;
  margin-right: 10%;
  margin-bottom: 10rem; }

@media (max-width: 840px) {
  .SecPage2 {
    margin-left: 1.4rem;
    margin-right: 1.4rem;
    margin-bottom: 8rem; } }

.Bb {
  border-bottom: 1px #fff solid; }

.TxtArea {
  padding-bottom: 3rem;
  color: #fff; }

.li_decimal {
  list-style-type: decimal;
  margin-left: 2.5rem; }

/*  HighlightPage
------------------------*/
#id_highlight, #id_report, #id_article01, #id_article02, #id_article03, #id_article04 {
  max-width: 1000px;
  margin: 14rem auto; }

@media (max-width: 840px) {
  #id_highlight, #id_report, #id_article01, #id_article02, #id_article03, #id_article04 {
    max-width: auto;
    margin: 0rem 1.4rem; } }

.SecPage .mokuji {
  margin-top: 4rem;
  margin-bottom: 8rem; }

.mokuji li {
  margin-bottom: .5rem;
  border-bottom: 1px dotted #FF2B2B;
  line-height: 1.4;
  padding-bottom: .5rem; }

.SecPage3 h1 {
  font-weight: 600;
  font-size: calc(3rem + 0.6vw);
  background-color: #FF2B2B;
  color: #fff;
  padding-bottom: 2rem;
  display: inline; }

@media (max-width: 840px) {
  .SecPage3 h1 {
    font-size: calc(2rem + 0.6vw); } }

.SecPage3 .h1 {
  margin-top: 8rem;
  margin-bottom: 4rem; }

.SecPage3 h2 {
  font-weight: 600;
  font-size: calc(1.4rem + 0.6vw);
  border-bottom: 1px solid #000;
  color: #000;
  padding: .5rem 0;
  margin-top: 4rem;
  margin-bottom: 2rem; }

@media (max-width: 840px) {
  .SecPage3 h2 {
    font-size: calc(1.4rem + 1.2vw); } }

.SecPage3 h3 {
  font-weight: 600;
  font-size: calc(.9rem + 0.6vw);
  background-color: none;
  color: #FF2B2B;
  margin-bottom: 1rem;
  border: 1px solid #FF2B2B;
  display: inline-block; }

@media (max-width: 840px) {
  .SecPage3 h3 {
    font-size: calc(.9rem + 1.2vw); } }

.SecPage3 p {
  margin-bottom: 2rem; }

.SecPage3 .Image50 {
  width: 50%;
  margin-bottom: 2rem; }

@media (max-width: 840px) {
  .SecPage3 .Image50 {
    width: 100%;
    margin-bottom: 2rem; } }

.SecPage3 .Image100_2 {
  margin-bottom: 2rem; }

.SecPage3 table {
  margin-bottom: 2rem; }

.SecPage3 table th {
  margin-bottom: 2rem;
  background-color: #ddd;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  padding: .5rem;
  font-size: calc(.6rem + 0.6vw); }

.SecPage3 table td {
  margin-bottom: 0rem;
  border: 1px solid #000;
  padding: .5rem;
  padding-bottom: 1rem; }

.SecPage3 table td p {
  margin-bottom: 0rem;
  line-height: 1.3;
  font-size: calc(.6rem + 0.6vw); }

@media (max-width: 840px) {
  .SecPage3 table td p {
    font-size: calc(.6rem + 1.2vw); } }

.SecPage3 table td a {
  color: #000; }

.SecPage3 table td a:hover {
  color: #FF2B2B; }

.SecPage3 ul.square li {
  list-style-type: square;
  margin-left: 2rem; }

/* =====================
  clearfix
===================== */
.clearfix {
  zoom: 1; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

/* =====================
  motion
===================== */
/*  motion &gt; inview_mv
------------------------*/
.inview_mv {
  opacity: 0; }

.mv {
  opacity: 1.0;
  transition: .4s;
  transition-delay: .4s; }

.inview_mvs {
  opacity: 0; }

.mvs {
  opacity: 1.0;
  transition: .4s;
  transition-delay: .1s; }

.inview_mvm {
  opacity: 0; }

.mvm {
  opacity: 1.0;
  transition: 3s;
  transition-delay: 1s; }

.inview_mvl {
  opacity: 0; }

.mvl {
  opacity: 1.0;
  transition: .9s;
  transition-delay: 1.8s; }

/*  motion &gt; Blink
------------------------*/
.blink {
  -webkit-animation: blink .02s linear infinite alternate;
  -moz-animation: blink .02s ease-in-out infinite alternate;
  animation: blink .02s linear infinite alternate; }

@-webkit-keyframes blink {
  50% {
    opacity: 0.5; }
  100% {
    opacity: 1; } }

@-moz-keyframes blink {
  50% {
    opacity: 0.5; }
  100% {
    opacity: 1; } }

@keyframes blink {
  50% {
    opacity: 0.5; }
  100% {
    opacity: 1; } }

/* =====================
  loading
===================== */
/* ブラウザのスクロールバーを常に表示させることでカクカクッとなるのを防ぐ */
html {
  overflow-y: scroll; }

/* ローディングの背景部分のCSS */
.loader {
  background: #fff;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }

/* ローディングのアニメーション部分のCSS (https://projects.lukehaas.me/css-loaders/) */
.loader-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%); }

/* ローディングアイコンの色指定 */
svg path,
svg rect {
  fill: #FF2B2B; }

/* =====================
  Animation
===================== */
/* 回転アニメーション */
.spin {
  -webkit-animation: spin 50s linear infinite;
  -moz-animation: spin 50s linear infinite;
  -ms-animation: spin 50s linear infinite;
  -o-animation: spin 50s linear infinite;
  animation: spin 50s linear infinite; }

@media (max-width: 800px) {
  .spin {
    -webkit-animation: spin 00s linear infinite;
    -moz-animation: spin 50s linear infinite;
    -ms-animation: spin 50s linear infinite;
    -o-animation: spin 50s linear infinite;
    animation: spin 50s linear infinite; } }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(360deg); } }

@-ms-keyframes spin {
  0% {
    -ms-transform: rotate(0deg); }
  100% {
    -ms-transform: rotate(360deg); } }

@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg); }
  100% {
    -o-transform: rotate(360deg); } }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/* ゆらゆらアニメーション */
.yoko-yure {
  animation: horizontal 1.8s ease-in-out infinite alternate; }

.tate-yure {
  animation: vertical 1.4s ease-in-out infinite alternate; }

@keyframes horizontal {
  0% {
    transform: translateX(-10px); }
  100% {
    transform: translateX(0px); } }

@keyframes vertical {
  0% {
    transform: translateY(-20px); }
  100% {
    transform: translateY(0px); } }

.yoko-yure2 {
  animation: horizontal 6.0s ease-in-out infinite alternate; }

.tate-yure2 {
  animation: vertical 3.0s ease-in-out infinite alternate; }

@keyframes horizontal {
  0% {
    transform: translateX(20px); }
  100% {
    transform: translateX(0px); } }

@keyframes vertical {
  0% {
    transform: translateY(-15px); }
  100% {
    transform: translateY(0px); } }

.yoko-yure3 {
  animation: horizontal 3.0s ease-in-out infinite alternate; }

.tate-yure3 {
  animation: vertical 5.0s ease-in-out infinite alternate; }

@keyframes horizontal {
  0% {
    transform: translateX(10px); }
  100% {
    transform: translateX(0px); } }

@keyframes vertical {
  0% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(0px); } }

/* 背景グラデーション */
.bggrad {
  background: linear-gradient(-45deg, #9d797d, #7a849a, #79a786, #7a849a);
  background-size: 600% 600%;
  animation: bggrad 30s ease infinite; }

@keyframes bggrad {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

/* =====================
  Hover
===================== */
.hv {
  position: relative;
  display: inline-block;
  z-index: 2;
  transition: all 0.4s ease; }

.hv:hover {
  color: #fff; }

.hv::after {
  width: 0%;
  height: 100%;
  background-color: #333;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s ease;
  z-index: -1; }

.hv:hover::after {
  width: 100%;
  transition: all 0.8s ease; }

/*  animation
------------------------*/
.hover_bg {
  position: relative;
  color: #0000C1;
  transition: all 0.3s ease;
  z-index: 2; }

.hover_bbg:hover {
  color: #fff; }

.hover_bbg::after {
  width: 0%;
  height: 100%;
  background-color: #0000C1;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease;
  z-index: -1; }

.hover_bg:hover::after {
  width: 100%; }

.Image15 {
  width: 15%; }

.Image25 {
  width: 25%; }

.Image50 {
  width: 50%; }

.Image100 {
  width: 100%; }

/* =====================
  Margine
===================== */
/*  Margine &gt; margine-top
------------------------*/
.mt--SS {
  margin-top: 1rem; }

.mt--S {
  margin-top: 2rem; }

.mt--M {
  margin-top: 4rem; }

.mt--L {
  margin-top: 8rem; }

.mt--LL {
  margin-top: 12rem; }

/*  Layout &gt; margin-bottom
------------------------*/
.mb_100 {
  margin-bottom: 10rem; }

.mb--SS {
  margin-bottom: 1rem; }

.mb--S {
  margin-bottom: 2rem; }

.mb--M {
  margin-bottom: 4rem; }

.mb--L {
  margin-bottom: 8rem; }

.mb--LL {
  margin-bottom: 12rem; }

/*  Layout &gt; margin-left
------------------------*/
.ml--SS {
  margin-left: 1rem; }

.ml--S {
  margin-left: 2rem; }

.ml--M {
  margin-left: 4rem; }

.ml--L {
  margin-left: 8rem; }

.ml--LL {
  margin-left: 12rem; }

/*  Layout &gt; padding-top
------------------------*/
.pt--SS {
  padding-top: 1rem; }

.pt--S {
  padding-top: 2rem; }

.pt--M {
  padding-top: 4rem; }

.pt--L {
  padding-top: 8rem; }

.pt--LL {
  padding-top: 12rem; }

/*  Layout &gt; padding-bottom
------------------------*/
.pb--SS {
  padding-bottom: 1rem; }

.pb--S {
  padding-bottom: 2rem; }

.pb--M {
  padding-bottom: 4rem; }

.pb--L {
  padding-bottom: 8rem; }

.pb--LL {
  padding-bottom: 12rem; }

/* =====================
  Layout
===================== */
.cnt {
  margin: 0 auto; }

.al_rt {
  text-align: right; }

.al_cnt {
  text-align: center; }

.fl--r {
  float: right; }

.fl--l {
  float: left; }

.clear {
  clear: both; }

.of--h {
  overflow: hidden; }

.dp--bl {
  display: block; }

.dp--il {
  display: inline; }

/* =====================
  Box
===================== */
.box--SS {
  width: 360px; }

.box--S {
  width: 680px; }

.box--M {
  width: 900px; }

.box--L {
  width: 900px; }

.box--LL {
  width: 1000px; }

/* =====================
  flex
===================== */
.flex {
  display: flex;
  flex-wrap: wrap; }

.flex_2 {
  width: 50%;
  height: 50%; }

@media (max-width: 840px) {
  .flex_2 {
    width: 100%;
    height: 100%; } }

.flex_4 {
  width: 25%;
  height: 25%; }

@media (max-width: 840px) {
  .flex_4 {
    width: 50%;
    height: 50%; } }

.flex--block {
  display: flex;
  flex-wrap: wrap;
  width: 72%; }

@media (max-width: 800px) {
  .flex--block {
    width: 88%; } }

.flex--block li {
  margin: 0 1% 3rem; }

/* 5 */
/* 4 */
/* 3 */
@media screen and (min-width: 901px) {
  .flex--block li {
    width: calc(32.33333333% - 1%); } }

/* 3 */
/* 2 */
.flex--block2 {
  display: flex;
  flex-wrap: wrap;
  width: 72%; }

@media (max-width: 800px) {
  .flex--block2 {
    width: 88%; } }

.flex--block2 li {
  margin: 0 1% 3rem; }

@media screen and (min-width: 901px) {
  .flex--block2 li {
    width: calc(49% - 1%); } }

.flex--block4 {
  display: flex;
  flex-wrap: wrap;
  width: 72%; }

@media (max-width: 800px) {
  .flex--block4 {
    width: 88%; } }

.flex--block4 li {
  margin: 0 1% 3rem; }

@media screen and (min-width: 901px) {
  .flex--block4 li {
    width: calc(24% - 1%); } }

.flex--block4--100 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 -1%; }

@media (max-width: 800px) {
  .flex--block4--100 {
    width: 100%; } }

.flex--block4--100 li {
  margin: 0 1% 3rem; }

@media screen and (min-width: 901px) {
  .flex--block4--100 li {
    width: calc(24% - 1%); } }

@media screen and (max-width: 900px) {
  .flex--block4--100 li {
    width: calc(49% - 1%); } }

.flex--column {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  width: 70%;
  overflow: hidden; }

@media (max-width: 800px) {
  .flex--column {
    width: 88%; } }

.flex--box {
  display: flex;
  flex-wrap: nowrap;
  margin: 0 calc(1% / 2 * -1); }

.flex--inner {
  flex: 1;
  margin: 0 calc(1% / 2);
  text-align: center; }

.wide {
  flex: 2; }

.flex--box--small {
  width: 500px;
  display: flex;
  flex-wrap: nowrap;
  margin: 0 calc(1% / 2 * -1); }

/* =====================
  Text
===================== */
.en {
  font-family: "Inter", "Inter var", sans-serif; }

.bd_b {
  border-bottom: 2px solid #fff; }

/*  Text &gt; title
------------------------*/
.ttl_ss {
  font-size: calc(.6rem + 0.6vw); }

.ttl_s {
  font-size: calc(.9rem + 0.6vw); }

.ttl_m {
  font-size: calc(1.1rem + 0.6vw); }

.ttl_l {
  font-size: calc(1.3rem + 0.6vw); }

.ttl_ll {
  font-size: calc(1.5rem + 0.6vw); }

.txt_ss {
  font-size: calc(.4rem + 0.6vw);
  margin-bottom: 1rem; }

.txt_s {
  font-size: calc(.5rem + 0.6vw);
  margin-bottom: 1rem; }

.txt_m {
  font-size: calc(.7rem + 0.6vw);
  margin-bottom: 1rem; }

.txt_l {
  font-size: calc(.9rem + 0.6vw);
  margin-bottom: 1rem; }

.txt_ll {
  font-size: calc(1.1rem + 0.6vw);
  margin-bottom: 1rem; }

@media (max-width: 800px) {
  .ttl_ss {
    font-size: calc(.6rem + 0.6vw); }
  .ttl_s {
    font-size: calc(.9rem + 0.6vw); }
  .ttl_m {
    font-size: calc(1.1rem + 0.6vw); }
  .ttl_l {
    font-size: calc(1.3rem + 0.6vw); }
  .ttl_ll {
    font-size: calc(1.5rem + 0.6vw); }
  .txt_ss {
    font-size: calc(.4rem + 0.6vw);
    margin-bottom: 1rem; }
  .txt_s {
    font-size: calc(1rem + 0.6vw);
    margin-bottom: 1rem; }
  .txt_m {
    font-size: calc(.7rem + 0.6vw);
    margin-bottom: 1rem; }
  .txt_l {
    font-size: calc(.9rem + 0.6vw);
    margin-bottom: 1rem; }
  .txt_ll {
    font-size: calc(1.1rem + 0.6vw);
    margin-bottom: 1rem; } }

/*  Text &gt; title
------------------------*/
.title--SS {
  font-size: calc(1.2rem + 0.6vw); }

.title--S {
  font-size: calc(1.4rem + 0.6vw); }

.title--M {
  font-size: calc(1.8rem + 0.6vw); }

.title--L {
  font-size: calc(2.4rem + 0.6vw); }

.title--LL {
  font-size: calc(3.0rem + 0.6vw); }

@media (max-width: 800px) {
  .title--SS {
    font-size: calc(1.4rem + 0.6vw); }
  .title--S {
    font-size: calc(1.6rem + 0.6vw); }
  .title--M {
    font-size: calc(1.8rem + 0.6vw); }
  .title--L {
    font-size: calc(2.0rem + 0.6vw); }
  .title--LL {
    font-size: calc(2.6rem + 0.6vw); } }

/*  Text &gt; text
------------------------*/
.text--SS {
  font-size: calc(.7rem + 0.6vw); }

.text--S {
  font-size: calc(1rem + 0.6vw); }

.text--M {
  font-size: calc(1.2rem + 0.6vw); }

.text--L {
  font-size: calc(1.4rem + 0.6vw); }

.text--LL {
  font-size: calc(1.6rem + 0.6vw); }

@media (max-width: 800px) {
  .text--SS {
    font-size: calc(1rem + 0.6vw); }
  .text--S {
    font-size: calc(1.2rem + 0.6vw); }
  .text--M {
    font-size: calc(1.4rem + 0.6vw); }
  .text--L {
    font-size: calc(1.6rem + 0.6vw); }
  .text--LL {
    font-size: calc(1.8rem + 0.6vw); } }

.text__box--border {
  border: solid 1px #707070;
  padding: 2rem; }

/*  Text &gt; color
------------------------*/
.text__color--bk {
  color: #333; }

.text__color--gray {
  color: #666; }

.text__color--lgray {
  color: #aaa; }

.text__color--blue {
  color: #0000C1; }

.text__color--ellow {
  color: #FFFFC1;
  color: #FFFFC1; }

/*  Text &gt; bgcolor
------------------------*/
.text__bg--white {
  background-color: #fff; }

.text__bg--blue {
  background-color: #0000C1; }

.text__bg--yellow {
  background-color: #FFFFC1; }

.text__bg--lyellow {
  background-color: #ffffd9; }

.text__bg--lblue {
  background-color: #f1f1fb; }

/*  Text &gt; br
------------------------*/
@media (max-width: 840px) {
  .br--pc {
    display: none; } }

@media (min-width: 840px) {
  .br--sp {
    display: none; } }
</pre></body></html>