@charset "UTF-8";
/*====================================================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////

    version: 1.0
    created: 2017/01/01
    update : -

//////////////////////////////////////////////////////////////////////////////////////////////////////
====================================================================================================*/
@font-face {
  font-family: "icon";
  src: url("../../fonts/icon.woff");
}
.icon-mod_ico_arrow {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}

.icon-mod_ico_arrow_02 {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e002";
  vertical-align: middle;
}

.icon-mod_ico_arrow_03 {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e003";
  vertical-align: middle;
}

.icon-mod_ico_blank {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
}

.icon-mod_ico_blank_02 {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e005";
  vertical-align: middle;
}

.icon-mod_ico_facebook {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e006";
  vertical-align: middle;
}

.icon-mod_ico_facebook_02 {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e007";
  vertical-align: middle;
}

.icon-mod_ico_instagram {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  vertical-align: middle;
}

.icon-mod_ico_language {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e009";
  vertical-align: middle;
}

.icon-mod_ico_line {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00a";
  vertical-align: middle;
}

.icon-mod_ico_pager {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00b";
  vertical-align: middle;
}

.icon-mod_ico_pdf {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00c";
  vertical-align: middle;
}

.icon-mod_ico_plus {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00d";
  vertical-align: middle;
}

.icon-mod_ico_ticket {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00e";
  vertical-align: middle;
}

.icon-mod_ico_tiktok {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00f";
  vertical-align: middle;
}

.icon-mod_ico_train {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e010";
  vertical-align: middle;
}

.icon-mod_ico_x {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e011";
  vertical-align: middle;
}

/*====================================================================================================

format

====================================================================================================*/
html {
  overflow-y: scroll;
}

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  letter-spacing: 0.05em;
}

p {
  margin-top: 0;
}

ul,
ol {
  padding-left: 0;
  list-style: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

table th > *:last-child,
table td > *:last-child {
  margin-bottom: 0 !important;
}

img {
  border: none;
  vertical-align: middle;
}

li img {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  vertical-align: middle;
}

button,
input[type=button],
input[type=submit],
input[type=reset] {
  cursor: pointer;
}

button,
input[type=button],
input[type=submit],
input[type=reset],
select {
  -webkit-appearance: none;
          appearance: none;
}

button {
  display: inline-block;
  border: none;
  padding: 0;
  background: none;
}

button::-moz-focus-inner {
  border: none;
  padding: 0;
}

:placeholder-shown {
  color: #B9BCBE;
}

::-webkit-input-placeholder {
  color: #B9BCBE;
}

::-moz-placeholder {
  color: #B9BCBE;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #B9BCBE;
}

em,
address,
small {
  font-style: normal;
}

em {
  font-weight: 700;
}

article,
aside,
dialog,
figure,
footer,
header,
menu,
nav,
section,
mark,
audio,
video,
picture,
source,
main {
  display: block;
  margin: 0;
  border: 0;
  padding: 0;
  outline: 0;
}

fieldset {
  margin: 0;
  border: none;
  padding: 0;
}

/*====================================================================================================

base

====================================================================================================*/
@font-face {
  font-family: "Original Yu Gothic";
  font-weight: 400;
  src: local("Yu Gothic Medium");
}
@font-face {
  font-family: "Original Yu Gothic";
  font-weight: 700;
  src: local("Yu Gothic Bold");
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W3);
  font-weight: 400;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W4);
  font-weight: 500;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W5);
  font-weight: 600;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W6);
  font-weight: 700;
}
::selection {
  background: #171922;
  color: #FFFFFF;
}

body {
  color: #171922;
  font-family: "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Sans", sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 768px) {
  body {
    font-size: 1rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

p {
  letter-spacing: 0.05em;
}

li {
  letter-spacing: 0.05em;
}

a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 2px;
}
@media (min-width: 768px) {
  a[href*="tel:"] {
    cursor: text;
    text-decoration: none;
    pointer-events: none;
    color: #171922;
  }
  a[href*="tel:"] img {
    cursor: default;
  }
}
@media screen and (max-width: 767px) {
  a[href*="tel:"] {
    text-decoration: underline;
  }
}

hr {
  display: block;
  width: 100%;
  height: 1px;
  border-width: 0;
  background-size: 6px 1px;
  background-image: linear-gradient(to right, #B9BCBE, #B9BCBE 2px, transparent 2px, transparent 6px);
}
@media (min-width: 768px) {
  hr {
    margin: 25px 0;
  }
}
@media screen and (max-width: 767px) {
  hr {
    margin: 20px 0;
  }
}

button,
input,
select,
textarea {
  font-family: "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Sans", sans-serif;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  button,
input,
select,
textarea {
    font-size: 1rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  button,
input,
select,
textarea {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

#document {
  overflow: hidden;
  margin: 0 auto;
}
@media (min-width: 768px) {
  #document {
    min-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  #document {
    position: relative;
  }
}

.loadWindow {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: #FFFFFF;
  z-index: 9999;
  transition: opacity 0.6s ease;
}
.loadWindow.is_anim {
  opacity: 0;
}

/* Header
--------------------------------------------------------------------------------------------------- */
#gheader {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100000;
  margin: 0 auto;
  transition: top 0.6s ease;
}
@media (min-width: 768px) {
  #gheader {
    padding: 37px 50px 38px;
    min-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  #gheader {
    padding: 20px 15px;
    background: #171922;
  }
}
@media screen and (max-width: 767px) {
  #gheader:not(.is_float):not(.is_visible) {
    height: 78px;
    box-sizing: border-box;
  }
}
#gheader .gheaderInner {
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  #gheader .gheaderInner ul {
    margin-top: 0;
    margin-bottom: 0;
  }
}
#gheader .gheaderInner .logo {
  margin: 0;
  transform: translateY(2px);
}
#gheader .gheaderInner .logo > a {
  display: inline-block;
  text-decoration: none;
}
#gheader .gheaderInner .logo > a svg {
  width: auto;
}
@media (min-width: 768px) {
  #gheader .gheaderInner .logo > a svg {
    height: 48px;
  }
}
@media screen and (max-width: 767px) {
  #gheader .gheaderInner .logo > a svg {
    height: 32px;
  }
}
@media (min-width: 768px) {
  #gheader .gheaderInner #gnavFront {
    display: flex;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  #gheader .gheaderInner #gnavFront {
    display: none;
  }
}
#gheader .gheaderInner #gnavFront li {
  color: #FFFFFF;
  letter-spacing: 0.03em;
}
@media (min-width: 768px) {
  #gheader .gheaderInner #gnavFront li {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  #gheader .gheaderInner #gnavFront li:not(:first-of-type) {
    margin-left: 15px;
  }
}
@media (min-width: 768px) {
  #gheader .gheaderInner #gnavFront li:not(:first-of-type)::before {
    margin-right: 15px;
    width: 1px;
    height: 13px;
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(2px);
    display: inline-block;
    content: "";
  }
}
#gheader .gheaderInner #gnavFront li > a {
  text-decoration: none;
}
@media (min-width: 768px) {
  #gheader .gheaderInner #gnavFront li > a {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gheader .gheaderInner #gnavFront li > a:hover {
    opacity: 0.5;
  }
}
#gheader .gheaderInner .socialFront {
  display: flex;
  margin: 0 70px 0 80px;
}
@media screen and (max-width: 767px) {
  #gheader .gheaderInner .socialFront {
    display: none;
  }
}
#gheader .gheaderInner .socialFront > li:not(:first-of-type) {
  margin-left: 30px;
}
#gheader .gheaderInner .socialFront > li > a, #gheader .gheaderInner .socialFront > li > button {
  position: relative;
}
@media (min-width: 768px) {
  #gheader .gheaderInner .socialFront > li > a, #gheader .gheaderInner .socialFront > li > button {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gheader .gheaderInner .socialFront > li > a:hover, #gheader .gheaderInner .socialFront > li > button:hover {
    opacity: 0.5;
  }
}
#gheader .gheaderInner .socialFront > li > a::before, #gheader .gheaderInner .socialFront > li > button::before {
  color: #FFFFFF;
}
#gheader .gheaderInner .socialFront > li > a > span, #gheader .gheaderInner .socialFront > li > button > span {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
#gheader .gheaderInner .socialFront > li > button {
  display: block;
}
#gheader .gheaderInner .socialFront > li.instagram > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gheader .gheaderInner .socialFront > li.language {
  position: relative;
}
#gheader .gheaderInner .socialFront > li.language > button::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e009";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gheader .gheaderInner .socialFront > li.language .langSelect {
  position: absolute;
  top: 40px;
  left: 50%;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 116px;
  padding: 20px 0;
  background: #ffffff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  pointer-events: none;
  text-align: center;
  transform: translateX(-50%) scaleY(0);
  transform-origin: top;
  transition: transform 0.3s ease;
}
#gheader .gheaderInner .socialFront > li.language .langSelect > li button {
  display: block;
  padding: 6px 20px;
  width: 100%;
  font-size: 0.75rem;
  text-decoration: none;
}
#gheader .gheaderInner .socialFront > li.language .langSelect.is_active {
  transform: translateX(-50%) scaleY(100%);
  pointer-events: auto;
}
#gheader .gheaderInner .access {
  position: relative;
  padding-right: 15px;
  margin-left: auto;
  margin-right: 50px;
}
#gheader .gheaderInner .access > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #gheader .gheaderInner .access {
    display: none;
  }
}
#gheader .gheaderInner .access::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 1px;
  height: 35px;
  background: rgba(255, 255, 255, 0.15);
  display: inline-block;
  content: "";
}
#gheader .gheaderInner .access .text {
  font-size: 0.625rem;
  line-height: 1;
  font-weight: 700;
  color: #FFFFFF;
}
#gheader .gheaderInner .access .text > a {
  display: inline-block;
}
#gheader .gheaderInner .access .text > a::before {
  margin: 0 auto 8px;
  width: 18px;
  height: 16px;
  background: url(/images/common/common_ico_header_access.png) no-repeat 0 0/cover;
  display: block;
  content: "";
}
#gheader .gheaderInner .access .text > a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
#gheader .gheaderInner .access .text > a > span {
  display: inline-block;
  transform: scale(0.9);
}
#gheader .gheaderInner .menu {
  display: flex;
  flex-direction: column;
  position: absolute;
  z-index: 101;
  cursor: pointer;
  transition: opacity 0.6s ease;
}
#gheader .gheaderInner .menu button {
  box-sizing: content-box;
  display: block;
  width: 22px;
  height: 13px;
  position: relative;
  padding: 0px;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 200%;
}
#gheader .gheaderInner .menu button::before, #gheader .gheaderInner .menu button::after {
  display: block;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: calc(100% - 0px);
  margin: auto;
  background: #FFFFFF;
}
#gheader .gheaderInner .menu button::before {
  content: "";
  transition: 0.3s;
}
#gheader .gheaderInner .menu button > span {
  width: calc(100% - 0px);
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
}
#gheader .gheaderInner .menu button > span::before, #gheader .gheaderInner .menu button > span::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.3s;
}
#gheader .gheaderInner .menu button > span::before {
  top: 0px;
}
#gheader .gheaderInner .menu button > span::after {
  bottom: 0px;
}
#gheader .gheaderInner .menu button span::before, #gheader .gheaderInner .menu button span::after {
  height: 1px;
  background: #FFFFFF;
}
#gheader .gheaderInner .menu button.is_active::before {
  opacity: 0;
  right: 0px;
}
#gheader .gheaderInner .menu button.is_active span::before {
  top: 50%;
  margin-top: -1px;
  transform: rotate(45deg);
}
#gheader .gheaderInner .menu button.is_active span::after {
  bottom: 50%;
  transform: rotate(-45deg);
}
@media (min-width: 768px) {
  #gheader .gheaderInner .menu {
    top: 50px;
    right: 50px;
  }
}
@media screen and (max-width: 767px) {
  #gheader .gheaderInner .menu {
    top: 23px;
    right: 15px;
  }
}
#gheader .gheaderInner .menu button {
  order: 1;
  margin: auto;
}
#gheader .gheaderInner .menu .text {
  order: 2;
  display: block;
  margin-top: 7px;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  font-size: 0.625rem;
  color: #FFFFFF;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transform: scale(0.9);
  transform-origin: right top;
}
#gheader.is_float {
  top: -100px;
  background: #171922;
}
@media (min-width: 768px) {
  #gheader.is_float {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}
@media screen and (max-width: 767px) {
  #gheader.is_float {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
#gheader.is_float::after {
  display: none;
}
@media (min-width: 768px) {
  #gheader.is_float .logo > a svg {
    height: 42px;
  }
}
@media screen and (max-width: 767px) {
  #gheader.is_float .logo > a svg {
    height: 30px;
  }
}
#gheader.is_float.is_visible {
  position: fixed;
  top: 0;
}
@media (min-width: 768px) {
  #gheader.is_float.is_visible .menu {
    top: 20px;
  }
}
@media screen and (max-width: 767px) {
  #gheader.is_float.is_visible .menu {
    top: 13px;
  }
}
@media screen and (max-width: 767px) {
  #gheader.is_float.is_visible .menu.is_active {
    top: 25px;
  }
}
#gheader.is_float.is_visible.is_hide {
  top: -100px;
}
@media (min-width: 768px) {
  #gheader.is_simple .gheaderInner .logo svg path {
    fill: #171922;
  }
}
#gheader.is_simple .gheaderInner #gnavFront li {
  color: #171922;
}
#gheader.is_simple .gheaderInner #gnavFront li:not(:first-of-type)::before {
  background: #E7E8E9;
}
@media (min-width: 768px) {
  #gheader.is_simple .gheaderInner .socialFront li > a::before, #gheader.is_simple .gheaderInner .socialFront li > button::before {
    color: #171922;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple .gheaderInner .menu button::before, #gheader.is_simple .gheaderInner .menu button::after {
    background: #171922;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple .gheaderInner .menu button span::before, #gheader.is_simple .gheaderInner .menu button span::after {
    background: #171922;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple .gheaderInner .menu .text {
    color: #171922;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple .gheaderInner .menu.is_active button::before, #gheader.is_simple .gheaderInner .menu.is_active button::after {
    background: #FFFFFF;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple .gheaderInner .menu.is_active button span::before, #gheader.is_simple .gheaderInner .menu.is_active button span::after {
    background: #FFFFFF;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple .gheaderInner .menu.is_active .text {
    color: #FFFFFF;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple.is_float .gheaderInner .logo svg path {
    fill: #FFFFFF;
  }
}
#gheader.is_simple.is_float .gheaderInner #gnavFront li {
  color: #FFFFFF;
}
@media (min-width: 768px) {
  #gheader.is_simple.is_float .gheaderInner #gnavFront li:not(:first-of-type)::before {
    background: rgba(255, 255, 255, 0.2);
  }
}
#gheader.is_simple.is_float .gheaderInner .socialFront li > a::before, #gheader.is_simple.is_float .gheaderInner .socialFront li > button::before {
  color: #FFFFFF;
}
@media (min-width: 768px) {
  #gheader.is_simple.is_float .gheaderInner .menu button::before, #gheader.is_simple.is_float .gheaderInner .menu button::after {
    background: #FFFFFF;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple.is_float .gheaderInner .menu button span::before, #gheader.is_simple.is_float .gheaderInner .menu button span::after {
    background: #FFFFFF;
  }
}
@media (min-width: 768px) {
  #gheader.is_simple.is_float .gheaderInner .menu .text {
    color: #FFFFFF;
  }
}

/* GlobalNavigation
--------------------------------------------------------------------------------------------------- */
#gnav {
  z-index: 100;
  top: 0;
  right: 0;
  background: #171922;
  transform: translateX(100%);
  transition: transform 0.6s ease;
}
@media (min-width: 768px) {
  #gnav {
    position: fixed;
    width: 435px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  #gnav {
    position: absolute;
  }
}
#gnav::before {
  position: absolute;
  z-index: -1;
  width: 300px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #gnav::before {
    top: 0;
    left: 0;
    height: 700px;
    background-image: url(/images/common/common_gnav_bg.png);
  }
}
@media screen and (max-width: 767px) {
  #gnav::before {
    top: 0;
    right: 0;
    height: 640px;
    background-image: url(/images/common/common_gnav_bg_@2x.png);
  }
}
#gnav.is_active {
  transform: translateX(0);
}
#gnav .gnavInner {
  overflow-y: auto;
}
@media (min-width: 768px) {
  #gnav .gnavInner {
    padding: 80px 50px 100px;
    height: calc(100vh - 180px);
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
}
@media screen and (max-width: 767px) {
  #gnav .gnavInner {
    padding: 75px 30px 100px;
    height: calc(100vh - 175px);
  }
}
#gnav .gnavInner::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  #gnav .gnavInner ul {
    margin-top: 0;
    margin-bottom: 0;
  }
}
#gnav .gnavInner .primary {
  margin: 0 0 50px;
}
#gnav .gnavInner .primary > *:last-child {
  margin-bottom: 0 !important;
}
#gnav .gnavInner .primary li {
  margin-bottom: 18px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  #gnav .gnavInner .primary li {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gnav .gnavInner .primary li:hover {
    opacity: 0.5;
  }
}
@media (min-width: 768px) {
  #gnav .gnavInner .primary li {
    font-size: 1.0625rem;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 767px) {
  #gnav .gnavInner .primary li {
    font-size: 1rem;
    letter-spacing: 0.15em;
  }
}
#gnav .gnavInner .primary li > a {
  display: block;
  text-decoration: none;
}
#gnav .gnavInner .primary li > a::after {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 0.625rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  display: block;
  content: attr(data-label-en);
}
@media screen and (max-width: 767px) {
  #gnav .gnavInner .primary li > a::after {
    transform: scale(0.95);
    transform-origin: left top;
  }
}
#gnav .gnavInner .primary li.is_current > a > span {
  position: relative;
}
#gnav .gnavInner .primary li.is_current > a > span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 5px;
  height: 5px;
  background: #FFFFFF;
  border-radius: 50%;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #gnav .gnavInner .primary li.is_current > a > span::before {
    left: -20px;
  }
}
@media screen and (max-width: 767px) {
  #gnav .gnavInner .primary li.is_current > a > span::before {
    left: -15px;
  }
}
#gnav .gnavInner .secondary {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
#gnav .gnavInner .secondary li {
  width: calc((100% - 25px) / 2);
  font-size: 0.75rem;
  color: #FFFFFF;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
#gnav .gnavInner .secondary li:nth-of-type(even) {
  margin-left: 25px;
}
#gnav .gnavInner .secondary li:nth-of-type(n+3) {
  margin-top: 18px;
}
#gnav .gnavInner .secondary li > a {
  display: block;
  text-decoration: none;
}
@media (min-width: 768px) {
  #gnav .gnavInner .secondary li > a {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gnav .gnavInner .secondary li > a:hover {
    opacity: 0.5;
  }
}
@media (min-width: 768px) {
  #gnav .gnavInner .secondary li > a {
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  #gnav .gnavInner .secondary li > a {
    padding-bottom: 13px;
  }
}
#gnav .gnavInner .social {
  display: flex;
  justify-content: center;
  margin: 50px auto;
}
@media (min-width: 768px) {
  #gnav .gnavInner .social li:not(:first-of-type) {
    margin-left: 45px;
  }
}
@media screen and (max-width: 767px) {
  #gnav .gnavInner .social li:not(:first-of-type) {
    margin-left: 50px;
  }
}
#gnav .gnavInner .social li > a {
  position: relative;
  color: #FFFFFF;
  text-decoration: none;
}
@media (min-width: 768px) {
  #gnav .gnavInner .social li > a {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gnav .gnavInner .social li > a:hover {
    opacity: 0.5;
  }
}
#gnav .gnavInner .social li > a::before {
  color: #B9BCBE;
}
#gnav .gnavInner .social li > a > span {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
#gnav .gnavInner .social li.tiktok > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00f";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gnav .gnavInner .social li.facebook > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e006";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gnav .gnavInner .social li.x > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e011";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gnav .gnavInner .social li.instagram > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gnav .gnavInner .language {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
#gnav .gnavInner .language li {
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.03em;
}
@media (min-width: 768px) {
  #gnav .gnavInner .language li {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  #gnav .gnavInner .language li {
    font-size: 0.6875rem;
  }
}
#gnav .gnavInner .language li:not(:first-of-type) {
  margin-left: 14px;
}
#gnav .gnavInner .language li:not(:first-of-type)::before {
  margin-right: 14px;
  width: 1px;
  height: 13px;
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(2px);
  display: inline-block;
  content: "";
}
#gnav .gnavInner .language li > a {
  color: inherit;
  text-decoration: none;
}
@media (min-width: 768px) {
  #gnav .gnavInner .language li > a {
    transition: color 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gnav .gnavInner .language li > a:hover {
    color: #FFFFFF;
  }
}
#gnav .gnavInner .language li > a[data-stt-active=""] {
  color: #FFFFFF;
}

/* Breadcrumb
--------------------------------------------------------------------------------------------------- */
#breadcrumb {
  position: relative;
}
@media (min-width: 768px) {
  #breadcrumb {
    margin: auto;
    width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  #breadcrumb {
    padding: 0 30px;
  }
}
#breadcrumb::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-top: 1px solid #E7E8E9;
}
@media (min-width: 1101px) {
  #breadcrumb::before {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  #breadcrumb::before {
    left: -30px;
    right: -30px;
  }
}
#breadcrumb ol {
  display: flex;
  align-items: center;
  position: relative;
  margin: 0;
  overflow: auto;
}
@media (min-width: 768px) {
  #breadcrumb ol {
    padding: 20px 0;
  }
}
@media screen and (max-width: 767px) {
  #breadcrumb ol {
    padding: 15px 0;
  }
}
#breadcrumb ol > li {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  font-size: 0.75rem;
  text-transform: uppercase;
}
#breadcrumb ol > li:nth-child(n+2)::before {
  margin: 0 8px;
  color: #B9BCBE;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
  display: inline-block;
}
#breadcrumb ol > li em {
  font-weight: 400;
  color: #B9BCBE;
}

/* MainContents
--------------------------------------------------------------------------------------------------- */
#container {
  position: relative;
  margin: 0 auto;
}
@media (min-width: 768px) {
  #container {
    padding-top: 190px;
    margin: auto;
    width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  #container {
    padding: 190px 30px 0;
  }
}

/* Conversion
--------------------------------------------------------------------------------------------------- */
.conversion {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  background: #FFFFFF;
  border-radius: 50%;
  box-shadow: 3px 2px 25px rgba(23, 25, 34, 0.15);
}
@media (min-width: 768px) {
  .conversion {
    bottom: 30px;
    right: 30px;
    width: 110px;
    height: 110px;
    transition: background 0.6s ease, box-shadow 0.6s ease, opacity 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .conversion {
    bottom: 12px;
    right: 12px;
    width: 76px;
    height: 76px;
    transition: opacity 0.6s ease;
  }
}
.conversion .text {
  order: 2;
  margin-bottom: 0;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 768px) {
  .conversion .text {
    font-size: 0.875rem;
    line-height: 1.3571428571;
    transition: color 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .conversion .text {
    font-size: 0.6875rem;
    line-height: 1.2727272727;
  }
}
.conversion .text::before {
  margin: 0 auto 5px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url(/images/common/common_ico_ticket_n.png);
  display: block;
  content: "";
}
@media (min-width: 768px) {
  .conversion .text::before {
    width: 36px;
    height: 30px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .conversion .text::before {
    width: 28px;
    height: 23px;
  }
}
.conversion .text > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
@media (min-width: 768px) {
  .conversion:hover {
    background: #AB883C;
    box-shadow: none;
  }
}
@media (min-width: 768px) {
  .conversion:hover .text {
    color: #FFFFFF;
  }
}
@media (min-width: 768px) {
  .conversion:hover .text::before {
    background-image: url(/images/common/common_ico_ticket_r.png);
  }
}
.conversion.is_active {
  opacity: 1;
  pointer-events: auto;
}
.conversion.is_hide {
  opacity: 0;
  pointer-events: none;
}

/* Floating
--------------------------------------------------------------------------------------------------- */
.floating {
  display: flex;
  position: absolute;
  top: 78px;
  left: 0;
  right: 0;
  margin: 0;
  height: 65px;
  background: #171922;
  border: solid rgba(255, 255, 255, 0.15);
  border-width: 1px 0;
}
@media (min-width: 768px) {
  .floating {
    display: none;
  }
}
.floating li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 10px 0;
  width: 25%;
}
.floating li:not(:first-of-type) {
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}
.floating li .body {
  order: 2;
}
.floating li .body > *:last-child {
  margin-bottom: 0 !important;
}
.floating li .body .text {
  margin-top: auto;
  font-size: 0.625rem;
  color: #FFFFFF;
  text-align: center;
}
.floating li .body .text > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.floating li .image {
  order: 1;
  margin-bottom: 10px;
}
.floating li.is_current::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: rgba(255, 255, 255, 0.15);
}
.floating.is_float {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99;
}

/* Footer
--------------------------------------------------------------------------------------------------- */
#gfooter {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  background: #171922;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  #gfooter {
    min-width: 1100px;
  }
}
#gfooter::before {
  position: absolute;
  z-index: -1;
  height: 400px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #gfooter::before {
    left: 0;
    bottom: 0;
    width: 800px;
    background-image: url(/images/common/common_footer_bg.png);
  }
}
@media screen and (max-width: 767px) {
  #gfooter::before {
    top: 0;
    left: 0;
    width: 375px;
    background-image: url(/images/common/common_footer_bg_@2x.png);
  }
}
#gfooter .gfooterInner {
  box-sizing: border-box;
}
@media (min-width: 768px) {
  #gfooter .gfooterInner {
    padding: 100px 100px 30px;
    margin: auto;
    width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner {
    padding: 65px 30px 30px;
  }
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary {
    display: flex;
    justify-content: space-between;
  }
}
#gfooter .gfooterInner .primary .sitemap {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .sitemap {
    width: 55%;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .primary .sitemap {
    margin-bottom: 50px;
  }
}
#gfooter .gfooterInner .primary .sitemap li {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .sitemap li {
    width: calc((100% - 30px) / 2);
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .primary .sitemap li {
    width: calc((100% - 15px) / 2);
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .primary .sitemap li:nth-of-type(even) {
    margin-left: 15px;
  }
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .sitemap li:nth-of-type(n+3) {
    margin-top: 22px;
  }
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .sitemap li > a {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .sitemap li > a:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .primary .sitemap li > a {
    display: block;
    padding: 12px 0;
  }
}
#gfooter .gfooterInner .primary .other > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .other {
    padding-left: 10%;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }
}
#gfooter .gfooterInner .primary .other .social {
  display: flex;
  margin-top: 0;
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .other .social {
    margin-bottom: 110px;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .primary .other .social {
    justify-content: center;
    padding-bottom: 60px;
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .other .social li:not(:first-of-type) {
    margin-left: 45px;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .primary .other .social li:not(:first-of-type) {
    margin-left: 50px;
  }
}
#gfooter .gfooterInner .primary .other .social li > a {
  position: relative;
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .other .social li > a {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .other .social li > a:hover {
    opacity: 0.5;
  }
}
#gfooter .gfooterInner .primary .other .social li > a::before {
  color: #B9BCBE;
}
#gfooter .gfooterInner .primary .other .social li > a > span {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
#gfooter .gfooterInner .primary .other .social li.tiktok > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00f";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gfooter .gfooterInner .primary .other .social li.facebook > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e006";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gfooter .gfooterInner .primary .other .social li.x > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e011";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gfooter .gfooterInner .primary .other .social li.instagram > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
#gfooter .gfooterInner .primary .other .sponsor {
  font-size: 0.625rem;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .other .sponsor {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .primary .other .sponsor {
    margin-bottom: 40px;
    text-align: center;
  }
}
#gfooter .gfooterInner .primary .other .sponsor > span {
  display: inline-block;
  margin-left: 10px;
  transform: translateY(-1px);
}
#gfooter .gfooterInner .primary .other .unav {
  display: flex;
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .primary .other .unav {
    justify-content: center;
  }
}
#gfooter .gfooterInner .primary .other .unav li {
  font-size: 0.6875rem;
  color: #B9BCBE;
}
#gfooter .gfooterInner .primary .other .unav li:not(:first-of-type) {
  margin-left: 20px;
}
#gfooter .gfooterInner .primary .other .unav li:not(:first-of-type)::before {
  margin-right: 20px;
  width: 1px;
  height: 12px;
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(3px);
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .other .unav li > a {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .primary .other .unav li > a:hover {
    opacity: 0.5;
  }
}
#gfooter .gfooterInner .primary .other .unav li > a[target=_blank]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-1px) scale(0.85);
}
#gfooter .gfooterInner .copyright {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 0.625rem;
  color: rgba(185, 188, 190, 0.7);
  letter-spacing: 0.1em;
  text-align: center;
  transform: scale(0.95);
}
@media (min-width: 768px) {
  #gfooter .gfooterInner .copyright {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  #gfooter .gfooterInner .copyright {
    margin-top: 30px;
  }
}
#gfooter .gfooterInner .copyright small {
  font-size: inherit;
}

/*====================================================================================================

    module

====================================================================================================*/
/* section module
--------------------------------------------------------------------------------------------------- */
.m_section {
  position: relative;
}
.m_section > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_section {
    padding: 0 0 150px;
  }
}
@media screen and (max-width: 767px) {
  .m_section {
    padding: 0 0 100px;
  }
}
@media (min-width: 768px) {
  .m_section[class*=_social] {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_social] {
    padding-top: 60px;
  }
}
.m_section[class*=_borderBottom] {
  border-bottom: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_section[class*=_fullBg] {
    padding-top: 150px;
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_fullBg] {
    padding-top: 100px;
  }
}
@media (min-width: 768px) {
  .m_section[class*=_fullBg]:has(> h2) {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_fullBg]:has(> h2) {
    padding-top: 80px;
  }
}
@media (min-width: 768px) {
  .m_section[class*=_fullBg]:has(.m_heading) {
    padding-top: 100px;
    padding-bottom: 120px;
  }
}
.m_section[class*=_fullBg]::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
}
@media (min-width: 1101px) {
  .m_section[class*=_fullBg]::before {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_fullBg]::before {
    left: -30px;
    right: -30px;
  }
}
@media (min-width: 768px) {
  .m_section[class*=_fullBg] + .m_section:not([class*=_fullBg]) {
    padding-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_fullBg] + .m_section:not([class*=_fullBg]) {
    padding-top: 80px;
  }
}
.m_section[class*=_gray]::before {
  background: #F7F7F7;
}
.m_section[class*=_black] > * {
  color: #FFFFFF;
}
.m_section[class*=_black]::before {
  background: #171922;
}
@media (min-width: 768px) {
  .m_section[class*=_short] {
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
}

.m_entry > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_entry {
    margin: auto;
    width: 800px;
  }
}
@media (min-width: 768px) {
  .m_entry h2 {
    margin: 50px 0;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entry h2 {
    margin: 40px 0;
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .m_entry h3 {
    margin: 50px 0;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entry h3 {
    margin: 40px 0;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .m_entry h4 {
    margin: 50px 0;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entry h4 {
    margin: 40px 0;
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .m_entry p {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry p {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .m_entry p + p,
.m_entry p + .wp-block-file {
    margin-top: -25px;
  }
}
@media screen and (max-width: 767px) {
  .m_entry p + p,
.m_entry p + .wp-block-file {
    margin-top: -20px;
  }
}
.m_entry a {
  color: #966F0B;
  text-decoration: underline;
}
.m_entry a:hover {
  text-decoration: none;
}
.m_entry a[target=_blank]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-1px) scale(0.6);
}
.m_entry a[href*=".pdf"]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00c";
  vertical-align: middle;
  transform: scale(0.85);
}
@media (min-width: 768px) {
  .m_entry ul {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry ul {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .m_entry ol {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry ol {
    margin: 40px 0;
  }
}
.m_entry .wp-block-button {
  text-align: left !important;
}
@media (min-width: 768px) {
  .m_entry .wp-block-button {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry .wp-block-button {
    margin: 40px 0;
  }
}
.m_entry .wp-block-button__link {
  color: #171922;
  text-decoration: none;
}
@media (min-width: 768px) {
  .m_entry .wp-block-table {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry .wp-block-table {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .m_entry .wp-block-file {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry .wp-block-file {
    margin: 40px 0;
  }
}

/* heading module
--------------------------------------------------------------------------------------------------- */
.m_heading {
  margin-top: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.15em;
}
@media (min-width: 768px) {
  .m_heading {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_heading {
    position: relative;
    margin-bottom: 35px;
    font-size: 1.375rem;
  }
}
.m_heading::after {
  margin-top: 2px;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 0.6875rem;
  color: #72777D;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  display: block;
  content: attr(data-label-en);
}
@media (min-width: 768px) {
  .m_heading[class*=_small] {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .m_heading[class*=_large] {
    margin-bottom: 80px;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_heading[class*=_large] {
    margin-bottom: 60px;
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .m_heading[class*=_large]::after {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_heading[class*=_large]::after {
    font-size: 0.6875rem;
  }
}
.m_heading[class*=_single]::after {
  content: none;
}
.m_heading[class*=_white] {
  color: #FFFFFF;
}
.m_heading[class*=_white]::after {
  color: #D7D9DB;
}
@media (min-width: 768px) {
  .m_heading[class*=_pcVertical] {
    position: relative;
    padding-right: 18px;
    letter-spacing: 0.25em;
    writing-mode: vertical-rl;
  }
}
@media (min-width: 768px) {
  .m_heading[class*=_pcVertical]::after {
    position: absolute;
    right: 0;
    margin-top: 4px;
    margin-left: 5px;
  }
}
.m_heading[class*=_mbNo] {
  margin-bottom: 0;
}
.m_heading[class*=_flipped] {
  position: relative;
  font-size: 0.6875rem;
}
@media (min-width: 768px) {
  .m_heading[class*=_flipped] {
    padding-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .m_heading[class*=_flipped] {
    padding-top: 40px;
  }
}
.m_heading[class*=_flipped]::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-top: 0;
  color: #171922;
}
@media (min-width: 768px) {
  .m_heading[class*=_flipped]::after {
    font-size: 2.1875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_heading[class*=_flipped]::after {
    font-size: 1.625rem;
  }
}

.m_enHeading {
  margin-top: 0;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .m_enHeading {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .m_enHeading {
    margin-bottom: 40px;
    font-size: 1.5rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .m_enHeading[class*=_pcBorder] {
    display: flex;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .m_enHeading[class*=_pcBorder]::after {
    margin-top: 30px;
    width: 1px;
    height: 150px;
    background: #D7D9DB;
    display: inline-block;
    content: "";
  }
}
.m_enHeading[class*=_pcVertical] {
  margin-right: 0;
}
@media (min-width: 768px) {
  .m_enHeading[class*=_pcVertical] {
    writing-mode: vertical-rl;
  }
}

.m_textHeading {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .m_textHeading {
    margin-top: 60px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_textHeading {
    margin-top: 40px;
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .m_textHeading[class*=_small] {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_textHeading[class*=_small] {
    font-size: 1rem;
  }
}
.m_textHeading[class*=_mtNo] {
  margin-top: 0;
}

.m_textSerifHeading {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.15em;
}
@media (min-width: 768px) {
  .m_textSerifHeading {
    margin-top: 90px;
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_textSerifHeading {
    margin-top: 70px;
    margin-bottom: 30px;
    font-size: 1.25rem;
  }
}
.m_textSerifHeading[class*=_small] {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .m_textSerifHeading[class*=_small] {
    margin-top: 60px;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_textSerifHeading[class*=_small] {
    margin-top: 40px;
    font-size: 1rem;
  }
}

.m_borderHeading {
  margin-top: 0;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: center;
}
@media (min-width: 768px) {
  .m_borderHeading {
    margin-bottom: 60px;
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_borderHeading {
    margin-bottom: 40px;
    font-size: 1.375rem;
  }
}
.m_borderHeading::after {
  margin: auto;
  width: 35px;
  height: 1px;
  background: #B9BCBE;
  display: block;
  content: "";
}
@media (min-width: 768px) {
  .m_borderHeading::after {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .m_borderHeading::after {
    margin-top: 20px;
  }
}

.m_groundHeading {
  padding: 10px 0;
  font-weight: 700;
  background: rgba(231, 232, 233, 0.6);
  border-bottom: 1px solid #72777D;
  text-align: center;
}
@media (min-width: 768px) {
  .m_groundHeading {
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_groundHeading {
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: 30px;
    font-size: 1.125rem;
  }
}
.m_groundHeading .supp {
  margin-left: 10px;
  font-weight: 400;
}
@media (min-width: 768px) {
  .m_groundHeading .supp {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_groundHeading .supp {
    font-size: 0.75rem;
  }
}
.m_groundHeading[class*=_mbNo] {
  margin-bottom: 0;
}

.m_visualHeading {
  position: relative;
}
@media (min-width: 768px) {
  .m_visualHeading {
    margin: -190px 0 120px;
    height: 380px;
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading {
    margin: -45px 0 80px;
    height: 150px;
  }
}
.m_visualHeading .heading {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0;
  height: 100%;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: 0.15em;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_visualHeading .heading {
    padding-bottom: 100px;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading .heading {
    padding-bottom: 40px;
    font-size: 1.5rem;
  }
}
.m_visualHeading .heading::after {
  margin-top: 5px;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  display: block;
  content: attr(data-label-en);
}
@media (min-width: 768px) {
  .m_visualHeading .heading::after {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading .heading::after {
    font-size: 0.6875rem;
  }
}
.m_visualHeading .image {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1;
}
@media (min-width: 1101px) {
  .m_visualHeading .image {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading .image {
    left: -30px;
    right: -30px;
  }
}
.m_visualHeading .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right top;
}
@media (min-width: 768px) {
  .m_visualHeading[class*=_single] .heading {
    padding-bottom: 120px;
    font-size: 2.375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading[class*=_single] .heading {
    font-size: 1.375rem;
  }
}
.m_visualHeading[class*=_mbNo] {
  margin-bottom: 0;
}

.m_entryHeading {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .m_entryHeading {
    margin: auto;
    width: 800px;
  }
}
.m_entryHeading .heading {
  order: 2;
  margin-top: 0;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_entryHeading .heading {
    margin-bottom: 30px;
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entryHeading .heading {
    margin-bottom: 20px;
    font-size: 1.25rem;
  }
}
.m_entryHeading .image {
  order: 3;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m_entryHeading .image {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.m_entryHeading .image img {
  width: 100%;
}
.m_entryHeading .data {
  order: 1;
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.m_entryHeading .data .update {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  color: #72777D;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_entryHeading .data .update {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entryHeading .data .update {
    font-size: 0.75rem;
  }
}
.m_entryHeading .data .category {
  color: #72777D;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_entryHeading .data .category {
    font-size: 0.875rem;
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .m_entryHeading .data .category {
    font-size: 0.75rem;
    line-height: 1;
  }
}
.m_entryHeading .data .category:not(:empty)::before {
  width: 1px;
  background: #E7E8E9;
  vertical-align: middle;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_entryHeading .data .category:not(:empty)::before {
    margin: 0 15px;
    height: 15px;
  }
}
@media screen and (max-width: 767px) {
  .m_entryHeading .data .category:not(:empty)::before {
    margin: 0 10px;
    height: 12px;
  }
}

/* box module
--------------------------------------------------------------------------------------------------- */
.m_box {
  background: rgba(247, 247, 247, 0.4);
  border: solid #D7D9DB;
}
.m_box > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_box {
    padding: 45px 30px;
    margin: 80px 0;
    border-width: 1px;
  }
}
@media screen and (max-width: 767px) {
  .m_box {
    padding: 35px 30px;
    margin: 60px -30px;
    border-width: 1px 0;
  }
}
.m_box .heading {
  margin-top: 0;
  text-align: center;
}
@media (min-width: 768px) {
  .m_box .heading {
    margin-bottom: 18px;
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_box .heading {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .m_box .text {
    margin-bottom: 15px;
    font-size: 1rem;
    line-height: 2;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .m_box .text {
    font-size: 0.875rem;
    line-height: 2;
  }
}
@media (min-width: 768px) {
  .m_box .table {
    margin: auto;
    width: 500px;
  }
}
.m_box .table table {
  width: 100%;
  border-spacing: 1em 0;
  border-collapse: separate;
}
.m_box .table table tr:not(:last-of-type) {
  border-bottom: 1px solid #E7E8E9;
}
.m_box .table table tr th, .m_box .table table tr td {
  padding: 15px 0;
  letter-spacing: 0.05em;
  text-align: left;
  vertical-align: top;
}
.m_box .table table tr th .number, .m_box .table table tr td .number {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
}
@media (min-width: 768px) {
  .m_box .table table tr th .number, .m_box .table table tr td .number {
    font-size: 1.25rem;
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .m_box .table table tr th .number, .m_box .table table tr td .number {
    font-size: 1.125rem;
    line-height: 1;
  }
}
.m_box .table table tr th .yen, .m_box .table table tr td .yen {
  margin-left: 2px;
}
@media (min-width: 768px) {
  .m_box .table table tr th .yen, .m_box .table table tr td .yen {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_box .table table tr th .yen, .m_box .table table tr td .yen {
    font-size: 0.75rem;
  }
}
.m_box .table table tr th .tax, .m_box .table table tr td .tax {
  margin-left: 2px;
}
@media (min-width: 768px) {
  .m_box .table table tr th .tax, .m_box .table table tr td .tax {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_box .table table tr th .tax, .m_box .table table tr td .tax {
    font-size: 0.625rem;
  }
}
.m_box .table table tr th > ul, .m_box .table table tr td > ul {
  margin-top: 0;
}
@media (min-width: 768px) {
  .m_box .table table tr th {
    width: 135px;
  }
}
@media screen and (max-width: 767px) {
  .m_box .table table tr th {
    width: 75px;
  }
}

.m_media {
  display: flex;
}
@media (min-width: 768px) {
  .m_media {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_media {
    flex-direction: column;
    margin-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .m_media + .m_media {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_media + .m_media {
    margin-top: 60px;
  }
}
.m_media:not(:has(.js_slider)) .body {
  margin-bottom: 40px;
}
.m_media .body {
  flex-grow: 1;
}
.m_media .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_media .body {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_media .body {
    order: 2;
  }
}
.m_media .body .heading {
  margin: 0 0 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .m_media .body .heading {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_media .body .heading {
    font-size: 1.125rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .m_media .body .text {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_media .body .text {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_media .image {
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .m_media .image {
    width: 700px;
  }
}
@media screen and (max-width: 767px) {
  .m_media .image {
    order: 1;
    margin: 0 -30px 25px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .m_media .image img {
    width: 100%;
    height: auto;
  }
}
.m_media .image.js_slider {
  padding-bottom: 22px;
}
@media (min-width: 768px) {
  .m_media .image.js_slider {
    padding-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .m_media .image.js_slider .slick-dots {
    position: absolute;
    left: 0;
    right: 0;
  }
}
@media (min-width: 768px) {
  .m_media:not([class*=_flipped]) .image:first-child {
    margin-right: 80px;
  }
}
@media (min-width: 768px) {
  .m_media:not([class*=_flipped]) .body + .image {
    margin-left: 80px;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_flipped] {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_flipped] .image:first-child {
    margin-left: 80px;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_flipped] .body + .image {
    margin-right: 80px;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_alignTop] {
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_alignMiddle] {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_alignbottom] {
    align-items: flex-end;
  }
}
.m_media:has(+ .m_comment) .body {
  margin-block-end: 0;
}

.m_panel {
  margin-top: 0;
}
.m_panel > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_panel {
    display: flex;
    margin: auto;
    width: 980px;
  }
}
.m_panel li {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .m_panel li {
    margin-bottom: 20px;
  }
}
.m_panel li::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  background: rgba(23, 25, 34, 0.35);
}
@media (min-width: 768px) {
  .m_panel li::before {
    transition: background 0.6s ease;
  }
}
.m_panel li .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_panel li .body .title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  font-weight: 700;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .m_panel li .body .title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .m_panel li .body .title {
    font-size: 0.875rem;
  }
}
.m_panel li .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.m_panel li .image img {
  width: 100%;
}
@media (min-width: 768px) {
  .m_panel li .image img {
    transition: transform 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_panel li .image img {
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_panel li:hover::before {
    background: rgba(23, 25, 34, 0.1);
  }
}
@media (min-width: 768px) {
  .m_panel li:hover .image img {
    transform: scale(1.1);
  }
}
.m_panel li.is_current {
  pointer-events: none;
}
.m_panel li.is_current::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  background: rgba(23, 25, 34, 0.6);
}
@media (min-width: 768px) {
  .m_panel[class*=_pcCol2] li {
    width: calc(50% - 40px);
  }
}
@media (min-width: 768px) {
  .m_panel[class*=_pcCol3] li {
    width: calc((100% - 80px) / 3);
  }
}
@media (min-width: 768px) {
  .m_panel[class*=_pcCol3] li:not(:first-of-type) {
    margin-left: 40px;
  }
}
@media (min-width: 768px) {
  .m_panel[class*=_pcCol4] li {
    width: calc(25% - 40px);
  }
}

.m_event {
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: 0 5px 50px rgba(29, 45, 69, 0.12);
}
@media (min-width: 768px) {
  .m_event {
    width: 320px;
    transition: box-shadow 0.6s ease;
  }
}
.m_event .body {
  order: 2;
  text-align: center;
}
.m_event .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_event .body {
    padding: 20px 20px 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_event .body {
    padding: 20px 20px 30px;
  }
}
.m_event .body .period {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m_event .body .period .text {
  flex-basis: 25%;
  display: inline-block;
  padding: 4px 8px;
  margin-right: 15px;
  font-size: 0.75rem;
  border: 1px solid #D7D9DB;
}
.m_event .body .period .date {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  text-align: left;
}
.m_event .body .title {
  margin-bottom: 5px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.125rem;
}
.m_event .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
}
.m_event .body .subTitle {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 0.8125rem;
}
.m_event .image {
  order: 1;
  overflow: hidden;
}
@media (min-width: 768px) {
  .m_event .image img {
    transition: transform 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_event .image img {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .m_event:hover {
    box-shadow: 0 5px 20px rgba(29, 45, 69, 0.08);
  }
}
@media (min-width: 768px) {
  .m_event:hover .image img {
    transform: scale(1.1);
  }
}

.m_scrollBox {
  overflow: hidden;
  height: 500px;
  background: #FFFFFF;
  box-sizing: border-box;
}
.m_scrollBox .mediaInner {
  margin-top: 0;
}
@media (min-width: 768px) {
  .m_scrollBox .mediaInner {
    padding: 40px 100px 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_scrollBox .mediaInner {
    padding: 20px 30px 40px;
  }
}
.m_scrollBox .mediaInner li {
  padding: 20px 0;
  border-bottom: 1px solid #E7E8E9;
}
.m_scrollBox .mediaInner li > *:last-child {
  margin-bottom: 0 !important;
}
.m_scrollBox .mediaInner li .update {
  display: inline-block;
  margin-bottom: 10px;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.6875rem;
  color: #72777D;
}

@media (min-width: 768px) {
  .m_social {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_social {
    margin-bottom: 60px;
  }
}
.m_social .text {
  margin-bottom: 15px;
  font-weight: 700;
  text-align: center;
}
.m_social .share {
  display: flex;
  justify-content: center;
}
.m_social .share > li:not(:first-of-type) {
  margin-left: 30px;
}
.m_social .share > li > a {
  position: relative;
  display: block;
  width: 54px;
  height: 54px;
  background: rgba(231, 232, 233, 0.5);
  border-radius: 50%;
}
@media (min-width: 768px) {
  .m_social .share > li > a {
    transition: background 0.6s ease;
  }
}
.m_social .share > li > a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #72777D;
  transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
  .m_social .share > li > a::before {
    transition: color 0.6s ease;
  }
}
.m_social .share > li > a > span {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .m_social .share > li > a:hover::before {
    color: #FFFFFF;
  }
}
.m_social .share > li.facebook > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e006";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_social .share > li.facebook > a:hover {
    background: #4267B2;
  }
}
.m_social .share > li.x > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e011";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_social .share > li.x > a:hover {
    background: #000000;
  }
}
.m_social .share > li.line > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00a";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_social .share > li.line > a:hover {
    background: #31C755;
  }
}

@media (min-width: 768px) {
  .m_summary {
    padding: 0 20px;
    margin: 0 0 50px;
  }
}
@media screen and (max-width: 767px) {
  .m_summary {
    margin: 0 0 40px;
  }
}
.m_summary[class*=_border] {
  border-top: 1px solid #E7E8E9;
  border-bottom: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_summary > li {
    padding-top: 40px;
    margin-bottom: 30px;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li {
    padding-top: 30px;
    margin-bottom: 20px;
    font-size: 1rem;
  }
}
.m_summary > li:not(:first-of-type) {
  border-top: 1px solid #E7E8E9;
}
.m_summary > li > P {
  margin: 5px 0;
}
.m_summary > li > ul {
  margin-top: 5px;
}
.m_summary > li > dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}
.m_summary > li > dl dt {
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_summary > li > dl dt {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dt {
    flex: 1;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .m_summary > li > dl dd {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd {
    flex: 3;
    font-size: 0.9375rem;
  }
}
.m_summary > li > dl dd .number {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_summary > li > dl dd .number {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd .number {
    font-size: 1.25rem;
  }
}
.m_summary > li > dl dd .time {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_summary > li > dl dd .time {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd .time {
    font-size: 1.25rem;
  }
}
.m_summary > li > dl dd .yen {
  margin-left: 2px;
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_summary > li > dl dd .yen {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd .yen {
    font-size: 0.75rem;
  }
}
.m_summary > li > dl dd .tax {
  margin-left: 2px;
}
@media (min-width: 768px) {
  .m_summary > li > dl dd .tax {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd .tax {
    font-size: 0.625rem;
  }
}

.m_contact {
  position: relative;
}
@media (min-width: 768px) {
  .m_contact {
    padding-top: 100px;
    padding-bottom: 120px;
    margin: auto;
    width: 1000px;
  }
}
@media screen and (max-width: 767px) {
  .m_contact {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}
.m_contact::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
  background: #F7F7F7;
}
@media (min-width: 1101px) {
  .m_contact::before {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .m_contact::before {
    left: -30px;
    right: -30px;
  }
}
@media (min-width: 768px) {
  .m_contact .columns {
    display: flex;
    justify-content: center;
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns {
    margin-top: 50px;
  }
}
.m_contact .columns .column {
  position: relative;
  text-align: center;
}
.m_contact .columns .column > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_contact .columns .column {
    width: 50%;
  }
}
.m_contact .columns .column .tel {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
}
.m_contact .columns .column .tel > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_contact .columns .column .tel {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column .tel {
    margin-top: 25px;
  }
}
.m_contact .columns .column .tel [href*="tel:"] {
  margin-left: 5px;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_contact .columns .column .tel [href*="tel:"] {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column .tel [href*="tel:"] {
    font-size: 1.25rem;
  }
}
.m_contact .columns .column .tel .supp {
  display: block;
  margin-top: -0.5em;
}
@media (min-width: 768px) {
  .m_contact .columns .column .tel .supp {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column .tel .supp {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column:nth-of-type(even) {
    padding-top: 50px;
    margin-top: 50px;
  }
}
.m_contact .columns .column:nth-of-type(even)::before {
  position: absolute;
  top: 0;
  left: 0;
  background: #E7E8E9;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_contact .columns .column:nth-of-type(even)::before {
    width: 1px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column:nth-of-type(even)::before {
    width: 100%;
    height: 1px;
  }
}

.m_floormap > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_floormap {
    display: flex;
    justify-content: space-between;
    margin: 0 0 10px;
  }
}
.m_floormap .text > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_floormap .text {
    margin-left: 50px;
    width: calc(50% - 130px);
  }
}
@media screen and (max-width: 767px) {
  .m_floormap .text {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_floormap .image {
    margin-left: -10px;
    margin-right: -10px;
  }
}
.m_floormap .image p {
  margin: 10px 0 5px;
}
@media screen and (max-width: 767px) {
  .m_floormap .image img {
    width: 100%;
    height: auto;
  }
}
.m_floormap .image[class*=_grand] {
  background: #F7F7F7;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_floormap .image[class*=_grand] {
    padding: 40px 50px 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_floormap .image[class*=_grand] {
    padding: 40px 15px;
    margin-left: -30px;
    margin-right: -30px;
  }
}
.m_floormap[class*=_map] .image {
  position: relative;
}
.m_floormap[class*=_map] .image::before {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  background-position: 0 0;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_floormap[class*=_map] .image::before {
    bottom: 0;
    width: 1px;
    height: calc(100% - 70px);
    background-size: 1px 5px;
    background-image: linear-gradient(to bottom, #B9BCBE, #B9BCBE 1px, transparent 1px, transparent 5px);
  }
}
@media screen and (max-width: 767px) {
  .m_floormap[class*=_map] .image::before {
    right: 0;
    width: calc(100% - 40px);
    height: 1px;
    background-size: 5px 1px;
    background-image: linear-gradient(to right, #B9BCBE, #B9BCBE 1px, transparent 1px, transparent 5px);
  }
}
@media (min-width: 768px) {
  .m_floormap[class*=_map] .image:first-of-type::before {
    content: none;
  }
}
@media (min-width: 768px) {
  .m_floormap[class*=_alignTop] {
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .m_floormap[class*=_alignMiddle] {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .m_floormap[class*=_alignbottom] {
    align-items: flex-end;
  }
}

.m_comment {
  display: flex;
  background: #F7F7F7;
}
@media (min-width: 768px) {
  .m_comment {
    padding: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_comment {
    flex-direction: column;
    padding: 40px 30px;
    margin-left: -20px;
    margin-right: -20px;
  }
}
.m_comment .body {
  order: 2;
}
.m_comment .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_comment .body {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_comment .body {
    margin-top: 30px;
  }
}
.m_comment .body .name {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .m_comment .body .text {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_comment .body .text {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_comment .image {
  order: 1;
}
@media screen and (max-width: 767px) {
  .m_comment .image {
    margin: 0 48px;
  }
}
@media screen and (max-width: 767px) {
  .m_comment .image img {
    width: 100%;
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_comment[class*=_flipped] .body {
    order: 1;
    margin-inline: 0 40px;
  }
  .m_comment[class*=_flipped] .image {
    order: 2;
  }
}
@media (min-width: 768px) {
  .m_media + .m_comment {
    margin-block-end: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_media + .m_comment {
    margin-block-end: 60px;
  }
}

.m_leadBox > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_leadBox {
    display: flex;
    justify-content: center;
    margin-bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  .m_leadBox {
    margin-bottom: 60px;
  }
}
.m_leadBox .heading {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
@media (min-width: 768px) {
  .m_leadBox .heading {
    position: absolute;
    top: 90px;
    margin: 0;
    font-size: 1.625rem;
    line-height: 2;
    color: rgba(114, 119, 125, 0.7);
    letter-spacing: 0.25em;
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 767px) {
  .m_leadBox .heading {
    margin-top: 0;
    font-size: 1.25rem;
    line-height: 1.75;
    color: #72777D;
    letter-spacing: 0.1em;
    text-align: center;
  }
}
.m_leadBox:not([class*=_flipped]) .heading {
  left: 80px;
}
.m_leadBox[class*=_flipped] .heading {
  right: 80px;
}
@media (min-width: 768px) {
  .m_leadBox[class*=_pcBorderBottom] {
    padding-bottom: 100px;
    border-bottom: 1px solid #E7E8E9;
  }
}

@media (min-width: 768px) {
  .m_headingEventColumn {
    display: flex;
    margin: auto 100px auto 150px;
    width: 860px;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_heading {
    order: 2;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event {
    flex-direction: unset;
    order: 1;
    margin-top: 50px;
    margin-right: 50px;
    width: 760px;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-basis: 50%;
    box-sizing: border-box;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .period {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .period .text {
    margin-bottom: 15px;
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .period .date {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .title {
    margin-bottom: 15px;
    font-size: 1.375rem;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .subTitle {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .image {
    flex-basis: 50%;
  }
}
.m_headingEventColumn .m_event .image img {
  width: 100%;
}

.m_moreBox {
  position: relative;
}
.m_moreBox::before, .m_moreBox::after {
  position: absolute;
  left: 0;
  right: 0;
  opacity: 0;
  display: inline-block;
  content: "";
}
@media (min-width: 1101px) {
  .m_moreBox::before, .m_moreBox::after {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .m_moreBox::before, .m_moreBox::after {
    left: -30px;
    right: -30px;
  }
}
.m_moreBox::before {
  bottom: 0;
  height: 50px;
  background: #FFFFFF;
}
.m_moreBox::after {
  bottom: 50px;
  height: 250px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
.m_moreBox[class*=_black]::before {
  background: #171922;
}
.m_moreBox[class*=_black]::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #171922 100%);
}
@media (min-width: 768px) {
  .m_moreBox[class*=_spOnly]::before, .m_moreBox[class*=_spOnly]::after {
    content: none;
  }
}
@media (min-width: 768px) {
  .m_moreBox[class*=_spOnly] .moreInner {
    margin-bottom: auto;
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_moreBox[class*=_spOnly] .js_moreButton {
    display: none;
  }
}
.m_moreBox.is_close::before, .m_moreBox.is_close::after {
  opacity: 1;
}
.m_moreBox.is_close .moreInner {
  overflow: hidden;
}
@media (min-width: 768px) {
  .m_moreBox.is_close .moreInner {
    margin-bottom: -150px;
    height: 930px;
  }
}
@media screen and (max-width: 767px) {
  .m_moreBox.is_close .moreInner {
    margin-bottom: -100px;
    height: 2000px;
  }
}
.m_moreBox.is_close .js_moreButton {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 768px) {
  .m_moreBox.is_close .js_moreButton {
    bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_moreBox.is_close .js_moreButton {
    bottom: 30px;
  }
}
.m_moreBox:not(.is_close) {
  animation: slideDown 1s ease;
}
.m_moreBox .js_moreButton {
  margin-top: 40px;
  text-align: center;
}
.m_moreBox .js_moreButton > button {
  display: inline-block;
  position: relative;
  padding: 0 0 65px;
  font-weight: 700;
  color: #171922;
  letter-spacing: 0.05em;
}
.m_moreBox .js_moreButton > button::before {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #D7D9DB;
  box-sizing: border-box;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_moreBox .js_moreButton > button::before {
    transition: background 0.6s ease, border 0.6s ease;
  }
}
.m_moreBox .js_moreButton > button::after {
  position: absolute;
  left: 50%;
  bottom: 18px;
  color: #171922;
  transform: translateX(-50%) scale(0.7);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00d";
  font-size: 16px;
  line-height: 16px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_moreBox .js_moreButton > button::after {
    transition: color 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_moreBox .js_moreButton > button:hover::before {
    background: #AB883C;
    border-color: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_moreBox .js_moreButton > button:hover::after {
    color: #FFFFFF;
  }
}
.m_moreBox .js_moreButton > button[target=_blank]::after {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-50%) scale(0.75);
}
.m_moreBox .js_moreButton[class*=_white] > button {
  color: #FFFFFF;
}
.m_moreBox .js_moreButton[class*=_white] > button::after {
  color: #FFFFFF;
}

@media (min-width: 768px) {
  .m_short {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_short {
    margin-bottom: 30px;
  }
}

.m_modalWrap {
  display: none;
}

@media (min-width: 768px) {
  .m_inlineModal {
    display: flex;
    align-items: center;
    padding: 40px 70px 70px;
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_inlineModal {
    padding: 40px 20px 0;
  }
}
@media (min-width: 768px) {
  .m_inlineModal .body {
    order: 2;
    margin-left: 60px;
  }
}
.m_inlineModal .body .name {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .m_inlineModal .body .name {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_inlineModal .body .name {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 1.125rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .m_inlineModal .image {
    order: 1;
  }
}
.m_inlineModal .image .type {
  font-weight: 700;
}
.m_inlineModal .image .type .cat {
  margin-right: 0.5em;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  color: #B9BCBE;
}
@media screen and (max-width: 767px) {
  .m_inlineModal .image img {
    width: 100%;
    height: auto;
  }
}

/* paragraph module
--------------------------------------------------------------------------------------------------- */
.m_liquidImage,
.m_entry .wp-block-image {
  margin: auto;
  text-align: center;
}
@media (min-width: 768px) {
  .m_liquidImage,
.m_entry .wp-block-image {
    margin: 50px auto;
    max-width: 700px;
  }
}
@media screen and (max-width: 767px) {
  .m_liquidImage,
.m_entry .wp-block-image {
    margin: 40px auto;
  }
}
.m_liquidImage img,
.m_entry .wp-block-image img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .m_liquidImage img,
.m_entry .wp-block-image img {
    height: auto;
  }
}
.m_liquidImage figcaption,
.m_entry .wp-block-image figcaption {
  margin-top: 10px;
  font-size: 0.75rem;
  color: #72777D;
  letter-spacing: 0.05em;
  text-align: left;
}

.m_textLink,
.m_entry .wp-block-button {
  margin-top: 40px;
  text-align: right;
}
.m_textLink > a,
.m_textLink > button,
.m_entry .wp-block-button > a,
.m_entry .wp-block-button > button {
  display: inline-block;
  position: relative;
  padding: 15px 65px 15px 0;
  font-weight: 700;
  color: #171922;
}
.m_textLink > a::before,
.m_textLink > button::before,
.m_entry .wp-block-button > a::before,
.m_entry .wp-block-button > button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #D7D9DB;
  box-sizing: border-box;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_textLink > a::before,
.m_textLink > button::before,
.m_entry .wp-block-button > a::before,
.m_entry .wp-block-button > button::before {
    transition: background 0.6s ease, border 0.6s ease;
  }
}
.m_textLink > a::after,
.m_textLink > button::after,
.m_entry .wp-block-button > a::after,
.m_entry .wp-block-button > button::after {
  position: absolute;
  top: 50%;
  right: 17px;
  color: #171922;
  transform: translateY(-50%) scale(0.85);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e002";
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_textLink > a::after,
.m_textLink > button::after,
.m_entry .wp-block-button > a::after,
.m_entry .wp-block-button > button::after {
    transition: color 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_textLink > a:hover::before,
.m_textLink > button:hover::before,
.m_entry .wp-block-button > a:hover::before,
.m_entry .wp-block-button > button:hover::before {
    background: #AB883C;
    border-color: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_textLink > a:hover::after,
.m_textLink > button:hover::after,
.m_entry .wp-block-button > a:hover::after,
.m_entry .wp-block-button > button:hover::after {
    color: #FFFFFF;
  }
}
.m_textLink > a[target=_blank]::after,
.m_textLink > button[target=_blank]::after,
.m_entry .wp-block-button > a[target=_blank]::after,
.m_entry .wp-block-button > button[target=_blank]::after {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-50%) scale(0.75);
}
.m_textLink[class*=_prev],
.m_entry .wp-block-button[class*=_prev] {
  text-align: left;
}
.m_textLink[class*=_prev] > a,
.m_textLink[class*=_prev] > button,
.m_entry .wp-block-button[class*=_prev] > a,
.m_entry .wp-block-button[class*=_prev] > button {
  padding-left: 65px;
  padding-right: 0;
}
.m_textLink[class*=_prev] > a::before,
.m_textLink[class*=_prev] > button::before,
.m_entry .wp-block-button[class*=_prev] > a::before,
.m_entry .wp-block-button[class*=_prev] > button::before {
  left: 0;
  right: auto;
}
.m_textLink[class*=_prev] > a::after,
.m_textLink[class*=_prev] > button::after,
.m_entry .wp-block-button[class*=_prev] > a::after,
.m_entry .wp-block-button[class*=_prev] > button::after {
  left: 16px;
  right: auto;
  transform: translateY(-50%) scale(0.85) rotate(180deg);
}
.m_textLink[class*=_white] > a,
.m_textLink[class*=_white] > button,
.m_entry .wp-block-button[class*=_white] > a,
.m_entry .wp-block-button[class*=_white] > button {
  color: #FFFFFF;
}
.m_textLink[class*=_white] > a::after,
.m_textLink[class*=_white] > button::after,
.m_entry .wp-block-button[class*=_white] > a::after,
.m_entry .wp-block-button[class*=_white] > button::after {
  color: #FFFFFF;
}

@media (min-width: 768px) {
  .m_text,
.m_entry p {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_text,
.m_entry p {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_text > a,
.m_entry p > a {
  color: #966F0B;
  text-decoration: underline;
}
.m_text > a:hover,
.m_entry p > a:hover {
  text-decoration: none;
}
.m_text > a[target=_blank]::after,
.m_entry p > a[target=_blank]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-1px) scale(0.6);
}
.m_text > a[href*=".pdf"]::after,
.m_entry p > a[href*=".pdf"]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00c";
  vertical-align: middle;
  transform: scale(0.85);
}
.m_text.has-text-color,
.m_entry p.has-text-color {
  color: #CC0022;
}
.m_text[class*=_small],
.m_entry p[class*=_small] {
  font-size: 0.875rem;
  line-height: 2;
}
@media (min-width: 768px) {
  .m_text[class*=_large],
.m_entry p[class*=_large] {
    font-size: 1.125rem;
    line-height: 2.5;
  }
}
@media screen and (max-width: 767px) {
  .m_text[class*=_large],
.m_entry p[class*=_large] {
    font-size: 0.9375rem;
    line-height: 2.3333333333;
  }
}
@media (min-width: 768px) {
  .m_text[class*=_type01],
.m_entry p[class*=_type01] {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_text[class*=_type01],
.m_entry p[class*=_type01] {
    margin-top: 40px;
  }
}

@media (min-width: 768px) {
  .m_video,
.m_entry .wp-block-video {
    margin: 50px auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_video,
.m_entry .wp-block-video {
    margin: 40px 0;
  }
}
.m_video video,
.m_entry .wp-block-video video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

@media (min-width: 768px) {
  .m_movie,
.m_entry .wp-block-embed-youtube {
    margin: 50px auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_movie,
.m_entry .wp-block-embed-youtube {
    margin: 40px 0;
  }
}
.m_movie iframe,
.m_entry .wp-block-embed-youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

@media (min-width: 768px) {
  .m_columnImage,
.m_entry .wp-block-columns {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin: 50px auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_columnImage,
.m_entry .wp-block-columns {
    margin: 40px 0;
  }
}
.m_columnImage .column,
.m_columnImage .wp-block-column,
.m_entry .wp-block-columns .column,
.m_entry .wp-block-columns .wp-block-column {
  flex-basis: 100%;
  width: auto;
}
.m_columnImage .column > *,
.m_columnImage .wp-block-column > *,
.m_entry .wp-block-columns .column > *,
.m_entry .wp-block-columns .wp-block-column > * {
  margin: 0;
}
.m_columnImage .column .m_liquidImage img,
.m_columnImage .column .wp-block-image img,
.m_columnImage .wp-block-column .m_liquidImage img,
.m_columnImage .wp-block-column .wp-block-image img,
.m_entry .wp-block-columns .column .m_liquidImage img,
.m_entry .wp-block-columns .column .wp-block-image img,
.m_entry .wp-block-columns .wp-block-column .m_liquidImage img,
.m_entry .wp-block-columns .wp-block-column .wp-block-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .m_columnImage .column:not(:first-of-type),
.m_columnImage .wp-block-column:not(:first-of-type),
.m_entry .wp-block-columns .column:not(:first-of-type),
.m_entry .wp-block-columns .wp-block-column:not(:first-of-type) {
    margin-top: 25px;
  }
}

.m_ticket {
  position: relative;
  background: #FFFFFF;
  border-radius: 3px;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_ticket {
    padding: 15px 10px;
    margin: auto;
    width: 300px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket {
    padding: 10px 12px;
    margin: auto;
    width: 260px;
  }
}
.m_ticket .body {
  order: 2;
  text-align: center;
}
.m_ticket .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_ticket .body {
    padding-left: 70px;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body {
    padding-left: 45px;
  }
}
.m_ticket .body::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url(/images/common/common_ico_ticket_n.png);
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_ticket .body::before {
    left: 18px;
    width: 33px;
    height: 27px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body::before {
    left: 12px;
    width: 31px;
    height: 24px;
  }
}
.m_ticket .body::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  background-image: linear-gradient(to top, #B9BCBE, #B9BCBE 4px, transparent 4px);
  background-size: 1px 8px;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_ticket .body::after {
    left: 70px;
    height: 46px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body::after {
    left: 55px;
    height: 38px;
  }
}
.m_ticket .body .title {
  margin-bottom: 2px;
  font-weight: 700;
  color: #171922;
}
@media (min-width: 768px) {
  .m_ticket .body .title {
    font-size: 0.9375rem;
    transition: color 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body .title {
    font-size: 0.875rem;
  }
}
.m_ticket .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
}
.m_ticket .body .subTitle {
  font-weight: 700;
  color: #72777D;
}
@media (min-width: 768px) {
  .m_ticket .body .subTitle {
    font-size: 0.6875rem;
    transition: color 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body .subTitle {
    font-size: 0.625rem;
  }
}
@media (min-width: 768px) {
  .m_ticket:hover {
    background: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_ticket:hover .body::before {
    background-image: url(/images/common/common_ico_ticket_r.png);
  }
}
@media (min-width: 768px) {
  .m_ticket:hover .body::after {
    background-image: linear-gradient(to top, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4) 4px, transparent 4px);
  }
}
@media (min-width: 768px) {
  .m_ticket:hover .body .title {
    color: #FFFFFF;
  }
}
@media (min-width: 768px) {
  .m_ticket:hover .body .subTitle {
    color: rgba(255, 255, 255, 0.7);
  }
}

.m_other {
  margin-top: 40px;
}
.m_other .item {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .m_other .item {
    width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item {
    width: 280px;
  }
}
.m_other .item .body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
}
.m_other .item .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_other .item .body .title {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (min-width: 768px) {
  .m_other .item .body .title {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .title {
    margin-bottom: 5px;
  }
}
.m_other .item .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
@media (min-width: 768px) {
  .m_other .item .body .title > a .text {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .title > a .text {
    font-size: 0.625rem;
  }
}
@media (min-width: 768px) {
  .m_other .item .body .title > a .name {
    margin-left: 15px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .title > a .name {
    font-size: 0.8125rem;
  }
}
.m_other .item .body .period {
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
  font-size: 0.625rem;
}
.m_other .item .body .period .text {
  padding: 2px 6px;
  font-size: 0.625rem;
  border: 1px solid rgba(255, 255, 255, 0.25);
}
@media (min-width: 768px) {
  .m_other .item .body .period .text {
    margin-right: 15px;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .period .text {
    margin-right: 10px;
    transform: scale(0.95);
  }
}
.m_other .item .body .period .date {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
}
@media (min-width: 768px) {
  .m_other .item .body .period .date {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .period .date {
    font-size: 0.625rem;
  }
}
.m_other .item .image {
  overflow: hidden;
}
@media (min-width: 768px) {
  .m_other .item .image img {
    transition: transform 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .image img {
    width: 100%;
  }
}
.m_other .item:not(:first-of-type) {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .m_other .item:hover .image img {
    transform: scale(1.2);
  }
}
.m_other .item.is_close {
  pointer-events: none;
}
.m_other .item.is_close::before {
  background: rgba(23, 25, 34, 0.5);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 2;
}

.m_otherNav .title {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
}
.m_otherNav .exhibitsBox {
  position: relative;
  margin: auto;
  width: 260px;
  box-sizing: border-box;
}
.m_otherNav .exhibitsBox > *:last-child {
  margin-bottom: 0 !important;
}
.m_otherNav .exhibitsBox::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  opacity: 0.5;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(114, 119, 125, 0.5);
  border-radius: 3px;
}
@media (min-width: 768px) {
  .m_otherNav .exhibitsBox::before {
    transition: border 0.6s ease;
  }
}
.m_otherNav .exhibitsBox .text {
  font-size: 0.625rem;
  color: rgba(255, 255, 255, 0.8);
}
.m_otherNav .exhibitsBox .text > a {
  display: block;
  position: relative;
  padding: 12px;
  text-align: center;
}
.m_otherNav .exhibitsBox .text > a .name {
  display: inline-block;
  margin-top: 2px;
  font-size: 0.75rem;
}
.m_otherNav .exhibitsBox .text > a[target=_blank]::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_otherNav .exhibitsBox:hover::before {
    border-color: #FFFFFF;
  }
}

/* list module
--------------------------------------------------------------------------------------------------- */
.m_list > *:last-child,
.m_entry ul:not([class]) > *:last-child {
  margin-bottom: 0 !important;
}
.m_list > li,
.m_entry ul:not([class]) > li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 10px;
}
.m_list > li::before,
.m_entry ul:not([class]) > li::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 7px;
  height: 7px;
  background: #B9BCBE;
  border-radius: 50%;
  display: inline-block;
  content: "";
}
.m_list > li a,
.m_entry ul:not([class]) > li a {
  color: #966F0B;
  text-decoration: underline;
}
.m_list > li a:hover,
.m_entry ul:not([class]) > li a:hover {
  text-decoration: none;
}
.m_list[class*=_type01],
.m_entry ul:not([class])[class*=_type01] {
  margin-top: -0.5em;
}
.m_list[class*=_unstyled] > li,
.m_entry ul:not([class])[class*=_unstyled] > li {
  padding-left: 0;
}
.m_list[class*=_unstyled] > li::before,
.m_entry ul:not([class])[class*=_unstyled] > li::before {
  content: none;
}

.m_numberList,
.m_entry ol:not([class]) {
  counter-reset: li;
}
.m_numberList > *:last-child,
.m_entry ol:not([class]) > *:last-child {
  margin-bottom: 0 !important;
}
.m_numberList > li,
.m_entry ol:not([class]) > li {
  position: relative;
  display: table-row;
  margin-bottom: 10px;
}
.m_numberList > li::before,
.m_entry ol:not([class]) > li::before {
  display: table-cell;
  counter-increment: li;
  content: "（" counter(li) "）";
}
.m_numberList[class*=_type01],
.m_entry ol:not([class])[class*=_type01] {
  margin-top: -0.5em;
}

.m_notesList > *:last-child {
  margin-bottom: 0 !important;
}
.m_notesList > li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 8px;
  font-size: 0.75rem;
  color: #72777D;
}
.m_notesList > li > *:last-child {
  margin-bottom: 0 !important;
}
.m_notesList > li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: "※";
}
.m_notesList[class*=_type01] {
  margin-top: -0.5em;
}
.m_notesList[class*=_small] > li::before, .m_notesList > li[class*=_small]::before {
  content: "*";
}
.m_notesList[class*=_mark] > li {
  display: table;
  padding-left: 0;
}
.m_notesList[class*=_mark] > li .mark {
  display: table-cell;
  text-align: right;
}
.m_notesList[class*=_mark] > li::before {
  content: none;
}

.m_detailList {
  margin-top: 0;
}
.m_detailList dt {
  position: relative;
  padding-left: 18px;
  margin-bottom: 5px;
  font-weight: 700;
}
.m_detailList dt::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 7px;
  height: 7px;
  background: #B9BCBE;
  border-radius: 50%;
  display: inline-block;
  content: "";
}
.m_detailList dd {
  margin-left: 18px;
  margin-bottom: 15px;
}

.m_newsList {
  margin: 0;
  border-bottom: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_newsList {
    margin: auto;
    width: 800px;
  }
}
.m_newsList li {
  display: flex;
  position: relative;
  border-top: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_newsList li {
    padding: 30px 0;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_newsList li {
    padding: 25px 0;
  }
}
.m_newsList li .body {
  order: 2;
}
.m_newsList li .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_newsList li .body .data {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
.m_newsList li .body .data .update {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.6875rem;
  color: #72777D;
  letter-spacing: 0.05em;
}
.m_newsList li .body .data .category {
  font-size: 0.6875rem;
  line-height: 1;
  color: #72777D;
  letter-spacing: 0.05em;
}
.m_newsList li .body .data .category:not(:empty)::before {
  margin: 0 10px;
  width: 1px;
  height: 12px;
  background: #E7E8E9;
  vertical-align: middle;
  display: inline-block;
  content: "";
}
.m_newsList li .body .text > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.m_newsList li .image {
  order: 1;
}
@media (min-width: 768px) {
  .m_newsList li .image {
    margin-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .m_newsList li .image {
    margin-right: 15px;
  }
}
@media (min-width: 768px) {
  .m_newsList li:hover {
    background: #F7F7F7;
  }
}

.m_faqList {
  margin-top: 0;
  border-top: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_faqList {
    margin: auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList {
    margin-left: -30px;
    margin-right: -30px;
  }
}
.m_faqList dt {
  position: relative;
  border-bottom: 1px solid #E7E8E9;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: padding 0.6s ease;
}
@media (min-width: 768px) {
  .m_faqList dt {
    padding: 30px 56px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList dt {
    padding: 25px 58px;
    font-size: 0.9375rem;
  }
}
.m_faqList dt::before, .m_faqList dt::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 12px;
  height: 2px;
  background: #171922;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_faqList dt::before, .m_faqList dt::after {
    right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList dt::before, .m_faqList dt::after {
    right: 30px;
  }
}
.m_faqList dt::after {
  transform: rotate(90deg);
}
.m_faqList dt > button {
  font-weight: 700;
  color: #171922;
  text-align: left;
}
.m_faqList dt > button::before {
  position: absolute;
  background: url(/images/common/common_ico_faq_n.png) no-repeat 0 0/contain;
  vertical-align: middle;
  transform: translateY(2px);
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_faqList dt > button::before {
    left: 20px;
    width: 21px;
    height: 18px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList dt > button::before {
    left: 30px;
    width: 18px;
    height: 15px;
  }
}
@media (min-width: 768px) {
  .m_faqList dt:hover > button::before {
    background-image: url(/images/common/common_ico_faq_r.png);
  }
}
.m_faqList dt.is_open {
  padding-bottom: 20px;
  border-bottom: none;
}
.m_faqList dt.is_open::after {
  display: none;
}
.m_faqList dt.is_open > button::before {
  background-image: url(/images/common/common_ico_faq_r.png);
}
.m_faqList dd {
  display: none;
  margin-left: 0;
  background: #F7F7F7;
  letter-spacing: 0.05em;
}
.m_faqList dd > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_faqList dd {
    padding: 30px 56px;
    font-size: 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList dd {
    padding: 25px 58px;
    font-size: 0.875rem;
  }
}
.m_faqList dd .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_faqList dd .body a {
  color: #966F0B;
  text-decoration: underline;
}
.m_faqList dd .body a:hover {
  text-decoration: none;
}

.m_selectList {
  display: flex;
  margin-top: 0;
  overflow: auto;
}
@media (min-width: 768px) {
  .m_selectList {
    margin: auto auto 80px;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_selectList {
    padding-right: 30px;
    padding-bottom: 20px;
    margin-right: -30px;
    margin-bottom: 20px;
  }
}
.m_selectList li {
  flex-shrink: 0;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_selectList li:not(:first-of-type) {
    margin-left: 25px;
  }
}
@media screen and (max-width: 767px) {
  .m_selectList li:not(:first-of-type) {
    margin-left: 20px;
  }
}
.m_selectList li:not(:first-of-type)::before {
  width: 1px;
  height: 15px;
  background: #E7E8E9;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_selectList li:not(:first-of-type)::before {
    margin-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .m_selectList li:not(:first-of-type)::before {
    margin-right: 20px;
  }
}
.m_selectList li.is_current > a {
  color: #171922;
}
.m_selectList li.is_current > a::after {
  margin: 5px auto 0;
  width: 5px;
  height: 5px;
  background: #171922;
  border-radius: 50%;
  display: block;
  content: "";
}
.m_selectList li > a {
  display: inline-block;
  color: #B9BCBE;
}
@media (min-width: 768px) {
  .m_selectList li > a {
    transition: color 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_selectList li > a:hover {
    color: #171922;
  }
}

.m_indexList {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .m_indexList {
    gap: 100px 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList {
    gap: 40px 24px;
  }
}
.m_indexList > .item {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .m_indexList > .item {
    width: 380px;
  }
}
.m_indexList > .item .body {
  order: 2;
  margin-top: 10px;
}
.m_indexList > .item .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_indexList > .item .body .name {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .m_indexList > .item .body .name {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList > .item .body .name {
    font-size: 0.75rem;
  }
}
.m_indexList > .item .body .name b {
  font-weight: 400;
}
.m_indexList > .item .body .name .em::before, .m_indexList > .item .body .name .em::after {
  display: inline-block;
}
.m_indexList > .item .body .name .em::before {
  content: "“";
}
.m_indexList > .item .body .name .em::after {
  content: "”";
}
.m_indexList > .item .body .name:has(+ .detail) {
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .m_indexList > .item .body .detail {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList > .item .body .detail {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_indexList > .item .image {
  order: 1;
}
.m_indexList > .item .image img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .m_indexList > .item .image img {
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_pcCol3] > .item {
    width: 340px;
  }
}
.m_indexList[class*=_center] {
  justify-content: center;
}
@media (min-width: 768px) {
  .m_indexList[class*=_pcCol4] > .item {
    width: 245px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_spCol] {
    flex-direction: unset;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_spCol] > .item {
    width: calc(50% - 12px);
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_spScroll] {
    flex-wrap: unset;
    justify-content: unset;
    overflow-x: auto;
    margin-right: -30px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_spScroll] > .item {
    flex-shrink: 0;
    width: 250px;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_home] > .item .body .name {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_home] > .item .body .name {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type01] {
    gap: 80px 24px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type01] > .item .body {
    margin-top: 25px;
  }
}
.m_indexList[class*=_type01] > .item .body .name {
  text-align: center;
}
@media (min-width: 768px) {
  .m_indexList[class*=_type01] > .item .body .name {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type01] > .item .body .name {
    margin-bottom: 15px;
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] {
    gap: 100px 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type02] {
    gap: 70px 0;
    margin: 0 10px;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item {
    position: relative;
    width: 510px;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body {
    margin: 25px 50px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type02] > .item .body {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    font-size: 1.375rem;
    line-height: 1.7272727273;
    writing-mode: vertical-rl;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type02] > .item .body .name {
    font-size: 1.125rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name .em {
    position: relative;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name .em::before, .m_indexList[class*=_type02] > .item .body .name .em::after {
    margin: 0 0 0.5em;
    rotate: 90deg;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name .em::before {
    translate: 10px 0;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name .em::after {
    translate: -10px 0;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .image {
    margin: 40px 50px 0 0;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_modal] {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_modal] {
    gap: 24px;
  }
}
.m_indexList[class*=_modal] > .item {
  cursor: pointer;
}
@media (min-width: 768px) {
  .m_indexList[class*=_modal] > .item .name {
    font-size: 1.25rem;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_modal] > .item .name {
    font-size: 0.875rem;
  }
}
.m_indexList[class*=_modal] > .item .image {
  position: relative;
}
.m_indexList[class*=_modal] > .item .image::after {
  position: absolute;
  background: url(/images/common/common_ico_indexList_zoom.png) no-repeat 0 0/cover;
  mix-blend-mode: exclusion;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_indexList[class*=_modal] > .item .image::after {
    right: 17px;
    bottom: 13px;
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_modal] > .item .image::after {
    right: 5px;
    bottom: 5px;
    width: 20px;
    height: 20px;
  }
}

@media (min-width: 768px) {
  .m_boxList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 0;
    margin-right: -40px;
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > *:last-child {
    margin-bottom: 0 !important;
  }
}
.m_boxList > .item {
  padding: 40px 15px 35px;
  border: 1px solid #D7D9DB;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_boxList > .item {
    margin-right: 40px;
    width: calc((100% - 80px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > .item {
    margin-bottom: 40px;
  }
}
.m_boxList > .item .body {
  margin-top: 15px;
  text-align: center;
}
.m_boxList > .item .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_boxList > .item .body .text {
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_boxList > .item .body .text {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > .item .body .text {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.m_boxList > .item .image {
  text-align: center;
}
@media (min-width: 768px) {
  .m_boxList > .item .image {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > .item .image {
    margin-bottom: 28px;
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > .item .image img {
    width: 200px;
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_boxList[class*=_pcCol3] > .item {
    width: calc((100% - 120px) / 3);
  }
}

.m_historyList > *:last-child {
  margin-bottom: 0 !important;
}
.m_historyList .unit {
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .m_historyList .unit {
    flex-wrap: wrap;
    gap: 80px 55px;
    margin-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .m_historyList .unit .item {
    width: 330px;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item {
    width: 250px;
  }
}
.m_historyList .unit .item .image {
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item .image img {
    width: 100%;
    height: auto;
  }
}
.m_historyList .unit .item .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_historyList .unit .item .body .title {
  margin-bottom: 8px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (min-width: 768px) {
  .m_historyList .unit .item .body .title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item .body .title {
    font-size: 1rem;
  }
}
.m_historyList .unit .item .body .title .sub {
  display: block;
}
@media (min-width: 768px) {
  .m_historyList .unit .item .body .title .sub {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item .body .title .sub {
    font-size: 0.875rem;
  }
}
.m_historyList .unit .item .body .date {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  color: #72777D;
  text-align: center;
}
@media (min-width: 768px) {
  .m_historyList .unit .item .body .text {
    margin-top: 20px;
    font-size: 0.9375rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item .body .text {
    margin-top: 15px;
    font-size: 0.875rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList[class*=_spScroll] {
    display: flex;
    overflow-x: auto;
    margin-right: -30px;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList[class*=_spScroll] .unit {
    justify-content: unset;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList[class*=_spScroll] .unit .item {
    flex-shrink: 0;
    margin-right: 24px;
  }
}

/* table module
--------------------------------------------------------------------------------------------------- */
.m_table table,
.m_entry .wp-block-table table {
  width: 100%;
  box-sizing: border-box;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_table table,
.m_entry .wp-block-table table {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_table table,
.m_entry .wp-block-table table {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .m_table table tbody tr,
.m_entry .wp-block-table table tbody tr {
    border-bottom: 1px solid #D7D9DB;
  }
}
@media (min-width: 768px) {
  .m_table table tbody tr:first-of-type,
.m_entry .wp-block-table table tbody tr:first-of-type {
    border-top: 1px solid #D7D9DB;
  }
}
@media (min-width: 768px) {
  .m_table table tbody tr th,
.m_entry .wp-block-table table tbody tr th {
    width: 250px;
  }
}
@media screen and (max-width: 767px) {
  .m_table table tr,
.m_entry .wp-block-table table tr {
    display: block;
    margin-bottom: 15px;
  }
}
.m_table table tr th, .m_table table tr td,
.m_entry .wp-block-table table tr th,
.m_entry .wp-block-table table tr td {
  box-sizing: border-box;
  text-align: left;
}
@media (min-width: 768px) {
  .m_table table tr th, .m_table table tr td,
.m_entry .wp-block-table table tr th,
.m_entry .wp-block-table table tr td {
    padding: 25px 20px;
  }
}
@media screen and (max-width: 767px) {
  .m_table table tr th, .m_table table tr td,
.m_entry .wp-block-table table tr th,
.m_entry .wp-block-table table tr td {
    display: block;
    padding: 15px 15px;
  }
}
.m_table table tr th,
.m_entry .wp-block-table table tr th {
  background: #F7F7F7;
}

.m_table02 table {
  box-sizing: border-box;
  border: solid currentColor;
  border-width: 0 0 1px 1px;
  width: 100%;
}
.m_table02 table th,
.m_table02 table td {
  border: solid currentColor;
  border-width: 1px 1px 0 0;
}
.m_table02[class*=_fixed] table {
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .m_table02 {
    overflow: auto;
  }
  .m_table02 table th {
    white-space: nowrap;
  }
}

/* form module
--------------------------------------------------------------------------------------------------- */
.m_form .alert {
  color: #CC0022;
  text-align: right;
}
@media (min-width: 768px) {
  .m_form .alert {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .alert {
    margin-top: 30px;
  }
}
.m_form .alert .label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.m_form .formText > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_form .formText {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .formText {
    margin-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .m_form .formTable {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 0;
    margin: 30px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .formTable {
    margin: 20px 0 80px;
  }
}
.m_form .formTable dt {
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_form .formTable dt {
    flex-basis: 230px;
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_form .formTable dt {
    font-size: 0.9375rem;
    line-height: 2;
  }
}
.m_form .formTable dt label {
  display: block;
}
@media screen and (max-width: 767px) {
  .m_form .formTable dt label {
    margin-bottom: 10px;
  }
}
.m_form .formTable dt label .require {
  margin-left: 5px;
  color: #CC0022;
}
.m_form .formTable dt label .require .label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.m_form .formTable dd {
  margin-left: 0;
  font-size: 1rem;
  line-height: 2;
}
.m_form .formTable dd > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_form .formTable dd {
    flex-basis: 570px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .formTable dd {
    margin-bottom: 30px;
  }
}
.m_form .m_input {
  width: 100%;
  font-size: 1rem;
  line-height: 2;
  background: #F7F7F7;
  border: 1px solid #F7F7F7;
  border-radius: 3px;
  box-sizing: border-box;
  outline: none;
}
@media (min-width: 768px) {
  .m_form .m_input {
    padding: 0 30px;
    height: 70px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_input {
    padding: 0 20px;
    height: 60px;
  }
}
.m_form .m_input:focus, .m_form .m_input:focus-visible, .m_form .m_input:-webkit-autofill {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 1000px #FFFFFF inset;
  border-color: #B9BCBE;
}
.m_form .m_input:not(:placeholder-shown) {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 1000px #FFFFFF inset;
  border-color: #B9BCBE;
}
.m_form .m_input.is_error:not(:focus):not(:focus-visible):not(:-webkit-autofill) {
  background: rgba(204, 0, 34, 0.05);
  border-color: transparent;
}
.m_form .m_textarea {
  width: 100%;
  font-size: 1rem;
  line-height: 2;
  background: #F7F7F7;
  border: 1px solid #F7F7F7;
  border-radius: 3px;
  box-sizing: border-box;
  outline: none;
}
@media (min-width: 768px) {
  .m_form .m_textarea {
    padding: 25px 30px;
    height: 300px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_textarea {
    padding: 20px;
    height: 250px;
  }
}
.m_form .m_textarea:focus, .m_form .m_textarea:focus-visible, .m_form .m_textarea:-webkit-autofill {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 1000px white inset;
  border-color: #B9BCBE;
}
.m_form .m_textarea:not(:placeholder-shown) {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 1000px white inset;
  border-color: #B9BCBE;
}
.m_form .m_textarea.is_error:not(:focus):not(:focus-visible):not(:-webkit-autofill) {
  background: rgba(204, 0, 34, 0.05);
  border-color: transparent;
}
.m_form .m_radio {
  margin: 0 5px 2px 0;
  cursor: pointer;
}
@media (min-width: 768px) {
  .m_form .m_radio {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_radio {
    font-size: 0.9375rem;
  }
}
.m_form .m_radio input[type=radio] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.m_form .m_radio input[type=radio] + .radioLabel {
  position: relative;
  display: inline-block;
  padding-left: 45px;
}
.m_form .m_radio input[type=radio] + .radioLabel::before, .m_form .m_radio input[type=radio] + .radioLabel::after {
  position: absolute;
  top: 0;
  bottom: 0;
  content: "";
  margin: auto;
  border-radius: 50%;
  box-sizing: border-box;
}
.m_form .m_radio input[type=radio] + .radioLabel::before {
  left: 10px;
  width: 22px;
  height: 22px;
  background: #FFFFFF;
  border: 1px solid #D7D9DB;
}
.m_form .m_radio input[type=radio] + .radioLabel::after {
  left: 17px;
  opacity: 0;
  width: 8px;
  height: 8px;
  background: #171922;
}
.m_form .m_radio input[type=radio]:focus-visible + .radioLabel::before {
  border-color: #171922;
}
.m_form .m_radio input[type=radio]:checked + .radioLabel::after {
  opacity: 1;
}
.m_form .m_radioList li {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .m_form .m_buttonBox {
    position: relative;
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_buttonBox {
    flex-direction: column;
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .m_form .m_buttonBox .m_textLink {
    position: absolute;
    top: 3px;
    left: 0;
    margin: 0;
  }
}
.m_form .m_error {
  margin-top: 5px;
  color: #CC0022;
}
@media (min-width: 768px) {
  .m_form .m_error {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_error {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_form .m_steps {
  display: flex;
  justify-content: center;
  margin: 50px 0;
}
.m_form .m_steps li .number {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  border: 1px solid #D7D9DB;
  border-radius: 50%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_form .m_steps li .number {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_steps li .number {
    width: 55px;
    height: 55px;
  }
}
.m_form .m_steps li .label {
  display: block;
  margin-top: 10px;
  color: #72777D;
  text-align: center;
}
@media (min-width: 768px) {
  .m_form .m_steps li .label {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_steps li .label {
    font-size: 0.75rem;
  }
}
.m_form .m_steps li[class*=_current] .number {
  color: #FFFFFF;
  background-color: #171922;
  border-color: #171922;
}
.m_form .m_steps li[class*=_current] .label {
  font-weight: 700;
  color: #171922;
}
.m_form .m_steps li:not(:first-of-type) {
  position: relative;
}
@media (min-width: 768px) {
  .m_form .m_steps li:not(:first-of-type) {
    margin-left: 95px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_steps li:not(:first-of-type) {
    margin-left: 47px;
  }
}
.m_form .m_steps li:not(:first-of-type)::before {
  position: absolute;
  height: 3px;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_form .m_steps li:not(:first-of-type)::before {
    top: 27px;
    left: -65px;
    width: 35px;
    background-image: url(/images/form/index_dots.png);
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_steps li:not(:first-of-type)::before {
    top: 25px;
    left: -32px;
    width: 17px;
    background-image: url(/images/form/index_dots_@2x.png);
  }
}
.m_form[class*=_confirm] .formText {
  border-bottom: 1px solid #D7D9DB;
}
@media (min-width: 768px) {
  .m_form[class*=_confirm] .formText {
    padding-bottom: 60px;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_form[class*=_confirm] .formText {
    padding-bottom: 50px;
    margin-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .m_form[class*=_confirm] .formTable {
    margin-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .m_form[class*=_confirm] .m_buttonBox {
    margin-top: 100px;
  }
}
@media (min-width: 768px) {
  .m_form[class*=_complete] .formText {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_form[class*=_complete] .formText {
    margin-bottom: 60px;
  }
}

/* navigation module
--------------------------------------------------------------------------------------------------- */
.m_button {
  text-align: center;
}
.m_button a,
.m_button button,
.m_button input[type=button],
.m_button input[type=submit],
.m_button input[type=reset],
.m_button span {
  display: inline-block;
  padding: 20px 10px;
  font-weight: 700;
  color: #171922;
  background: #FFFFFF;
  border: 1px solid #D7D9DB;
  border-radius: 3px;
  box-sizing: border-box;
  letter-spacing: 0.05em;
  text-decoration: none;
}
.m_button a.is_disabled, .m_button a[disabled],
.m_button button.is_disabled,
.m_button button[disabled],
.m_button input[type=button].is_disabled,
.m_button input[type=button][disabled],
.m_button input[type=submit].is_disabled,
.m_button input[type=submit][disabled],
.m_button input[type=reset].is_disabled,
.m_button input[type=reset][disabled],
.m_button span.is_disabled,
.m_button span[disabled] {
  background: #cccccc;
  pointer-events: none;
}
@media (min-width: 768px) {
  .m_button a,
.m_button button,
.m_button input[type=button],
.m_button input[type=submit],
.m_button input[type=reset],
.m_button span {
    min-width: 300px;
    transition: background 0.6s ease, border 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_button a,
.m_button button,
.m_button input[type=button],
.m_button input[type=submit],
.m_button input[type=reset],
.m_button span {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 36px);
  }
}
@media (min-width: 768px) {
  .m_button a:hover,
.m_button button:hover,
.m_button input[type=button]:hover,
.m_button input[type=submit]:hover,
.m_button input[type=reset]:hover,
.m_button span:hover {
    color: #FFFFFF;
    background: #AB883C;
    border-color: #AB883C;
  }
}
.m_button span {
  background: #c1c1c1;
}
@media (min-width: 768px) {
  .m_button > li {
    display: inline-block;
    margin: 10px 5px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_button > li:nth-child(n+2) {
    margin-top: 10px;
  }
}

.m_pager {
  display: flex;
  align-items: center;
  margin: auto auto 0;
  text-align: center;
}
@media (min-width: 768px) {
  .m_pager {
    margin-top: 80px;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_pager {
    position: relative;
    margin-top: 70px;
  }
}
@media screen and (max-width: 767px) {
  .m_pager::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 1px;
    height: 15px;
    background: #E7E8E9;
    display: inline-block;
    content: "";
  }
}
.m_pager > div {
  margin: 0;
  letter-spacing: 0.05em;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_pager > div {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}
.m_pager > div.first > a, .m_pager > div.last > a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border: 1px solid #D7D9DB;
  border-radius: 50%;
  box-sizing: border-box;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .m_pager > div.first > a, .m_pager > div.last > a {
    width: 50px;
    height: 50px;
    transition: background 0.6s ease, border 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div.first > a, .m_pager > div.last > a {
    width: 40px;
    height: 40px;
  }
}
.m_pager > div.first > a::before, .m_pager > div.last > a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00b";
  vertical-align: middle;
}
.m_pager > div.first > a > span, .m_pager > div.last > a > span {
  text-indent: 200%;
}
@media (min-width: 768px) {
  .m_pager > div.first > a:hover, .m_pager > div.last > a:hover {
    background: #AB883C;
    border-color: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_pager > div.first > a:hover::before, .m_pager > div.last > a:hover::before {
    color: #FFFFFF;
  }
}
.m_pager > div.first.is_disabled, .m_pager > div.last.is_disabled {
  visibility: hidden;
}
@media (min-width: 768px) {
  .m_pager > div.first {
    margin-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div.first {
    margin-right: 16px;
  }
}
@media (min-width: 768px) {
  .m_pager > div.last {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div.last {
    margin-left: 16px;
  }
}
@media (min-width: 768px) {
  .m_pager > div.prev > a, .m_pager > div.next > a {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_pager > div.prev > a:hover, .m_pager > div.next > a:hover {
    opacity: 0.5;
  }
}
.m_pager > div.prev.is_disabled, .m_pager > div.next.is_disabled {
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .m_pager > div.prev {
    margin-right: auto;
  }
}
.m_pager > div.prev > a::before {
  margin-right: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .m_pager > div.next {
    margin-left: auto;
  }
}
.m_pager > div.next > a::after {
  margin-left: 5px;
  transform: translateY(-1px);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}
.m_pager > div.first > a {
  transform: scale(-1, 1);
}
.m_pager > div.prev > a::before {
  transform: translateY(-1px) scale(-1, 1);
}
.m_pager > div.page {
  margin: auto;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  color: #B9BCBE;
}
@media (min-width: 768px) {
  .m_pager > div.page {
    font-size: 1rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div.page {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
.m_pager > div.page .is_current {
  color: #171922;
}
.m_pager > div.page > span:not([class]) {
  margin: 0 10px;
}

@media (min-width: 768px) {
  .m_anchorNav {
    margin: 80px 20px;
  }
}
@media screen and (max-width: 767px) {
  .m_anchorNav {
    margin: 50px 0 60px;
  }
}
.m_anchorNav > li, .m_anchorNav > span {
  position: relative;
  font-weight: 700;
}
.m_anchorNav > li > a, .m_anchorNav > span > a {
  flex-basis: 100%;
  display: block;
  padding-left: 30px;
}
@media (min-width: 768px) {
  .m_anchorNav > li > a, .m_anchorNav > span > a {
    transition: color 0.6s ease;
  }
}
.m_anchorNav > li > a::before, .m_anchorNav > span > a::before {
  position: absolute;
  top: 50%;
  left: 2px;
  z-index: 1;
  transform: translateY(-50%) rotate(90deg) scale(0.65);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_anchorNav > li > a::before, .m_anchorNav > span > a::before {
    transition: color 0.6s ease;
  }
}
.m_anchorNav > li > a::after, .m_anchorNav > span > a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  background: #FFFFFF;
  border: 1px solid #D7D9DB;
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_anchorNav > li > a::after, .m_anchorNav > span > a::after {
    transition: background 0.6s ease, border 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_anchorNav > li > a:hover, .m_anchorNav > span > a:hover {
    color: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_anchorNav > li > a:hover::before, .m_anchorNav > span > a:hover::before {
    color: #FFFFFF;
  }
}
@media (min-width: 768px) {
  .m_anchorNav > li > a:hover::after, .m_anchorNav > span > a:hover::after {
    background: #AB883C;
    border-color: #AB883C;
  }
}
.m_anchorNav[class*=_list] {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .m_anchorNav[class*=_list] {
    justify-content: center;
    gap: 40px;
    margin-top: 120px;
    margin-bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  .m_anchorNav[class*=_list] {
    gap: 15px 0;
    margin: 100px -25px 100px 0;
  }
}
.m_anchorNav[class*=_list] > li {
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .m_anchorNav[class*=_list] > li {
    display: flex;
    align-items: center;
    margin: 0 25px 0 0;
    width: calc(50% - 25px);
    border-bottom: 1px solid #E7E8E9;
  }
}
@media (min-width: 768px) {
  .m_anchorNav[class*=_list] > li:not(:first-of-type) {
    position: relative;
    margin-left: 40px;
  }
}
@media (min-width: 768px) {
  .m_anchorNav[class*=_list] > li:not(:first-of-type)::before {
    position: absolute;
    top: 0;
    left: -40px;
    width: 1px;
    height: 20px;
    background: #E7E8E9;
    transform: translateY(2px);
    display: inline-block;
    content: "";
  }
}
@media screen and (max-width: 767px) {
  .m_anchorNav[class*=_list] > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.m_anchorNav[class*=_border] {
  border-top: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_anchorNav[class*=_border] {
    padding-top: 80px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_anchorNav[class*=_border] {
    padding-top: 60px;
    margin-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .m_tabs {
    margin-left: -30px;
    margin-right: -30px;
  }
}
.m_tabs > ul {
  display: flex;
  margin-top: 0;
  margin-bottom: 0;
  background: #FFFFFF;
  border-bottom: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_tabs > ul {
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs > ul {
    overflow-x: auto;
    padding-left: 30px;
    padding-right: 30px;
  }
}
.m_tabs > ul > li {
  position: relative;
  padding: 8px 0;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 768px) {
  .m_tabs > ul > li {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs > ul > li {
    flex-shrink: 0;
    padding-top: 60px;
  }
}
@media (min-width: 768px) {
  .m_tabs > ul > li:not(:first-of-type) {
    margin-left: 70px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs > ul > li:not(:first-of-type) {
    margin-left: 25px;
  }
}
.m_tabs > ul > li.is_current::after, .m_tabs > ul > li:hover::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  width: 100%;
  height: 1px;
  background: #E23819;
}
.m_tabs > ul > li.is_current .illust .current {
  opacity: 1;
}
@media (min-width: 768px) {
  .m_tabs > ul > li:hover .illust .current {
    opacity: 1;
  }
}
.m_tabs > ul > li .illust {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: auto;
  margin-right: auto;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .m_tabs > ul > li .illust img {
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs > ul > li .illust img {
    width: 70px;
  }
}
.m_tabs > ul > li .illust .current {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  transition: opacity 0.6s ease;
}
.m_tabs > ul > li > a > *:last-child {
  margin-bottom: 0 !important;
}
.m_tabs > ul > li > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.m_tabs.is_fixed > ul {
  position: fixed;
  z-index: 10;
  left: 0;
  right: 0;
  padding-top: 10px;
}
@media (min-width: 768px) {
  .m_tabs.is_fixed > ul {
    top: 73px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs.is_fixed > ul {
    top: 55px;
  }
}
@media (min-width: 768px) {
  .m_tabs.is_fixed > ul > li {
    padding-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs.is_fixed > ul > li {
    padding-top: 50px;
  }
}
@media (min-width: 768px) {
  .m_tabs.is_fixed > ul > li .illust img {
    width: 78px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs.is_fixed > ul > li .illust img {
    width: 60px;
  }
}

/* inline module
--------------------------------------------------------------------------------------------------- */
.m_br[class*=_before]::before,
.m_br::after {
  content: "\a";
  white-space: pre;
}

.m_br[class*=_before]::after {
  content: none;
}

@media (min-width: 768px) {
  .m_pcHide {
    display: none !important;
  }
  .m_pcbr[class*=_before]::before,
.m_pcbr::after {
    content: "\a";
    white-space: pre;
  }
  .m_pcbr[class*=_before]::after {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  .m_spHide {
    display: none !important;
  }
  .m_spbr[class*=_before]::before,
.m_spbr::after {
    content: "\a";
    white-space: pre;
  }
  .m_spbr[class*=_before]::after {
    content: none;
  }
}
/* modifier module
--------------------------------------------------------------------------------------------------- */
/* text align */
[class*=_alignLeft] {
  text-align: left !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignLeft] {
    text-align: left !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignLeft] {
    text-align: left !important;
  }
}
[class*=_alignCenter] {
  text-align: center !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignCenter] {
    text-align: center !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignCenter] {
    text-align: center !important;
  }
}
[class*=_alignRight] {
  text-align: right !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignRight] {
    text-align: right !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignRight] {
    text-align: right !important;
  }
}
[class*=_alignTop] {
  vertical-align: top !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignTop] {
    vertical-align: top !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignTop] {
    vertical-align: top !important;
  }
}
[class*=_alignMiddle] {
  vertical-align: middle !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignMiddle] {
    vertical-align: middle !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignMiddle] {
    vertical-align: middle !important;
  }
}
[class*=_alignBottom] {
  vertical-align: bottom !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignBottom] {
    vertical-align: bottom !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignBottom] {
    vertical-align: bottom !important;
  }
}
/* font style */
[class*=_fontBold] {
  font-weight: 700;
}

[class*=_fontItalic] {
  font-style: italic;
}

[class*=_fontNormal] {
  font-weight: 400 !important;
  font-style: normal !important;
}

/* fontColor */
[class*=_colorType01] {
  color: #171922;
}

[class*=_colorType02] {
  color: #72777D;
}

[class*=_colorType03] {
  color: #B9BCBE;
}

[class*=_colorType04] {
  color: #D7D9DB;
}

[class*=_colorType05] {
  color: #E7E8E9;
}

[class*=_colorType06] {
  color: #F7F7F7;
}

[class*=_colorType07] {
  color: #1D2D45;
}

[class*=_colorType08] {
  color: #AB883C;
}

[class*=_colorType09] {
  color: #966F0B;
}

[class*=_colorType10] {
  color: #CC0022;
}

[class*=_colorType11] {
  color: #B9BCBE;
}

[class*=_colorType12] {
  color: #FFFFFF;
}

/* block width */
/* ※※ module
--------------------------------------------------------------------------------------------------- */
/*====================================================================================================

    libs

====================================================================================================*/
/* colorbox
--------------------------------------------------------------------------------------------------- */
/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
:root {
  --cbox-overlay: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAAAAAAeW/F+AAAAOklEQVR4Ae3QIQrAUADD0Lj2AIV//5uO+RE59asKz4U177rz9VAdqkU1qAbVoBpUg2pR3V/VbrVb7QHULigVcx3ZmQAAAABJRU5ErkJggg==);
  --cbox-controls: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAAAyCAMAAADLEaG/AAAAxlBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAABmZmbMzMy1tbXe3t7i4+PMzMzv7+/m5uYqTIX///9SUlKlpaby9PbW1tZqgaiEhIRed6FZWVm9vb3ExcVmZmaZmZno6/Ctra2Qob739/fX3efk6O95j7JEYpR4eHiKioqzvtJsg6s2VYvGzt3g5ey1tbV0iq6vu9Grt86hsMhie6TN1OFycnKHmrpac5+ZqMN9kbOClbZOaZgyUolRbZuKnLtWcJ06WY28xteGmbhVJeX1AAAAC3RSTlOIADNVdwARZpndzGjEPW4AAAPLSURBVHhe7ZqHjts4EIbdsm1Y1eXay/b0Xu7e/6VCaqlQEkVjJSc07pCBAQH6MIsP1GJM/XSnXPyPVDevXn/QOVCDfu9FXrrbbGgvvCCLBsI9bWt37h0tTEMsK6StgBY+O+88q87PjhImwghRSpGQIBUAlBJKQQNbR+Y76DyzBmdHCAMOp4F87ItgGmIoAiAKECgCVOpAGbD42o1bCwNGevUIwlAAwS8QaGB0ICV83mlQ522FidLSYuQXWBTAQgFbhxgPnUbVaymMQ1K6QUKsAFQAYHuHFB40Ex60E6aYigsaDhHno+FI3cnAVAmFaj2nOaAKQPFviAVuWL1WwmG2XMEkngSjOA6zJx5qIGs4QZzXgJnPuQbdflPhfith9Y+K4vh+F88kWADWgALALN6BATjx4wmIykF30FR4cIwwF8srFjkDRa9hLGubDguASoB2T2Cbg26ncbUUVkNgt01HvCTMlfDb1PO8+zKg0nc79jz3wmq6+kIqJUpYg9k49WRNqgCPxwKcRHiRXcQapt5W/atqgH3f33rp0ADC2BsLeJ8DU/jikhfq8uL3CIfZ1CdSduR5MzUMcpCVn4obJoC3Wz0laoSveKWuDOH2c3jk+1TOKb84h5HyGam5iypzmPilOWzztRu3/KbDpLp1swL7N50hfMFr6uJ3CBMMpZ0BSE8FimJEA7PDFL6sE748UlhvIota0A507ati8zpiP0xJtrsltLIfxkgBhDHYOxwLc4KFDlAAcSUmAA3sHe2F3b/TORBu/3JsdrgUPr7+t8J/hQlgWUCsecnhDvdjLQRKKYSH8hJrh3NhWopFqDVhsXY4FqalWAQwtSYs1g6HwmYsAva8xATuNz/2IMUO3G8vzSDl5Xx+y4MP8/k0v5NfJLyTlzrgegOvY5G7KHqYvoyiV8W8JH/u84dlXZAS/Bs5f0XSucQ+ij6KT1DNS273+70A/5hByp24vVwu37h+Cc2f7zyKotcrI5eYR7Le/1jnIO+4fZDg9YadKkiZRslmzU3hTJcxdl0Gb5QuY6cKUtY3wmppBCmfPm++MFFfV2UQfPu+uWGyThSkvGJsIz5BNS95lySJELs2AF8L2USUyzBQxyJLxm5W14yt64KUhL3j3ASPjLmOW/VUXSfJIw/Eeq1qxu31Y/0cXt44CLSbfNNhBQJbkLI6xZEBp0YsQq15ibXD5aEMh6JYcCgvsXY4O/bSsciTQEDDA3mJtcPlwaJ6xjgERBGEGFNrXmLtcHp0qwWyen6QglQHcnw4rosQYs1LrB0Ofn7wn/iBx0+cH2kdOV60OgAAAABJRU5ErkJggg==);
  --cbox-border: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAyCAQAAAA38nkBAAAAE0lEQVR4AWNgaCAW/f9PISLeLgDrojnVPQEingAAAABJRU5ErkJggg==);
  --cbox-loading-background: url(data:image/gif;base64,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);
  --cbox-loading: url(data:image/gif;base64,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);
}

#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: visible;
  -webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
/* #cboxOverlay{background: var(--cbox-overlay) repeat 0 0; opacity: 0.9; filter: alpha(opacity = 90);} */
#colorbox {
  outline: 0;
}

/* #cboxTopLeft{width:21px; height:21px; background:var(--cbox-controls) no-repeat -101px 0;} */
/* #cboxTopRight{width:21px; height:21px; background:var(--cbox-controls) no-repeat -130px 0;} */
/* #cboxBottomLeft{width:21px; height:21px; background:var(--cbox-controls) no-repeat -101px -29px;} */
/* #cboxBottomRight{width:21px; height:21px; background:var(--cbox-controls) no-repeat -130px -29px;} */
/* #cboxMiddleLeft{width:21px; background:var(--cbox-controls) left top repeat-y;} */
/* #cboxMiddleRight{width:21px; background:var(--cbox-controls) right top repeat-y;} */
/* #cboxTopCenter{height:21px; background:var(--cbox-border) 0 0 repeat-x;} */
/* #cboxBottomCenter{height:21px; background:var(--cbox-border) 0 -29px repeat-x;} */
#cboxContent {
  background: #fff;
  overflow: visible;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

/* #cboxLoadedContent{margin-bottom:28px;} */
#cboxTitle {
  position: absolute;
  bottom: 4px;
  left: 0;
  text-align: center;
  width: 100%;
  color: #949494;
}

#cboxCurrent {
  position: absolute;
  bottom: 4px;
  left: 58px;
  color: #949494;
}

#cboxLoadingOverlay {
  background: var(--cbox-loading-background) no-repeat center center;
}

#cboxLoadingGraphic {
  background: var(--cbox-loading) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0;
}

#cboxSlideshow {
  position: absolute;
  bottom: 4px;
  right: 30px;
  color: #0092ef;
}

#cboxPrevious {
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--cbox-controls) no-repeat -75px 0;
  width: 25px;
  height: 25px;
  text-indent: -9999px;
}

#cboxPrevious:hover {
  background-position: -75px -25px;
}

#cboxNext {
  position: absolute;
  bottom: 0;
  left: 27px;
  background: var(--cbox-controls) no-repeat -50px 0;
  width: 25px;
  height: 25px;
  text-indent: -9999px;
}

#cboxNext:hover {
  background-position: -50px -25px;
}

#cboxClose {
  position: absolute;
  bottom: 0;
  right: 0;
  text-indent: -9999px;
}

/* #cboxClose:hover{background-position:-25px -25px;} */
/*
  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.
  See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
  filter: progid:DXImageTransform.icrosoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}

@media (min-width: 768px) {
  #cboxOverlay {
    background: rgba(23, 25, 34, 0.7);
  }
}
@media screen and (max-width: 767px) {
  #cboxOverlay {
    background: #FFFFFF;
  }
}

#cboxClose {
  bottom: auto;
}
@media (min-width: 768px) {
  #cboxClose {
    top: -40px;
    right: 0;
    width: 40px;
    height: 30px;
    background: url(/images/common/common_ico_modal_close_02.png) no-repeat 0 0/cover;
  }
}
@media screen and (max-width: 767px) {
  #cboxClose {
    top: 28px;
    width: 30px;
    height: 22px;
    background: url(/images/common/common_ico_modal_close.png) no-repeat 0 0/cover;
  }
}

/* slick
--------------------------------------------------------------------------------------------------- */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  overflow: hidden;
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.slick-track:before, .slick-track:after {
  display: table;
  content: "";
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  display: none;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  border: 1px solid transparent;
  height: auto;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-dots {
  display: flex;
  justify-content: center;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .slick-dots {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .slick-dots {
    margin-top: 20px;
  }
}
.slick-dots li button {
  display: block;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(114, 119, 125, 0.5);
  border-radius: 50%;
  text-indent: -9999px;
}
.slick-dots li.slick-active button {
  border-color: #72777D;
  background: #72777D;
}
.slick-dots li:not(:first-of-type) {
  margin-left: 12px;
}

.slick-arrow {
  position: absolute;
  z-index: 1;
  bottom: 0;
  width: 50px;
  height: 50px;
  border: 1px solid #D7D9DB;
  border-radius: 50%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .slick-arrow {
    transition: background 0.6s ease, border 0.6s ease;
  }
}
.slick-arrow::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}
@media (min-width: 768px) {
  .slick-arrow:hover {
    background: #AB883C;
    border-color: #AB883C;
  }
}
@media (min-width: 768px) {
  .slick-arrow:hover::before {
    color: #FFFFFF;
  }
}
.slick-arrow > span {
  display: inline-block;
  text-indent: -9999px;
}
.slick-arrow.slick-prev {
  transform: scale(-1, 1);
}
@media (min-width: 768px) {
  .slick-arrow.slick-prev {
    left: 185px;
  }
}
@media (min-width: 768px) {
  .slick-arrow.slick-next {
    right: 185px;
  }
}

/* mCustomScrollbar
--------------------------------------------------------------------------------------------------- */
.mCustomScrollbar {
  touch-action: pinch-zoom;
}

.mCustomScrollbar.mCS_no_scrollbar, .mCustomScrollbar.mCS_touch_action {
  touch-action: auto;
}

.mCustomScrollBox {
  position: relative;
  overflow: hidden;
  height: 100%;
  max-width: 100%;
  outline: 0;
  direction: ltr;
}

.mCSB_container {
  overflow: hidden;
  width: auto;
  height: auto;
}

.mCSB_inside > .mCSB_container {
  margin-right: 30px;
}

.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0;
}

.mCS-dir-rtl > .mCSB_inside > .mCSB_container {
  margin-right: 0;
  margin-left: 30px;
}

.mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-left: 0;
}

.mCSB_scrollTools {
  position: absolute;
  width: 16px;
  height: auto;
  left: auto;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)";
}

.mCSB_outside + .mCSB_scrollTools {
  right: -26px;
}

.mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools, .mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  right: auto;
  left: 0;
}

.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  left: -26px;
}

.mCSB_scrollTools .mCSB_draggerContainer {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: auto;
}

.mCSB_scrollTools a + .mCSB_draggerContainer {
  margin: 20px 0;
}

.mCSB_scrollTools .mCSB_draggerRail {
  width: 2px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px;
}

.mCSB_scrollTools .mCSB_dragger {
  cursor: pointer;
  width: 100%;
  height: 30px;
  z-index: 1;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  position: relative;
  width: 4px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px;
  text-align: center;
}

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 12px;
}

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 8px;
}

.mCSB_scrollTools .mCSB_buttonDown, .mCSB_scrollTools .mCSB_buttonUp {
  display: block;
  position: absolute;
  height: 20px;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer;
}

.mCSB_scrollTools .mCSB_buttonDown {
  bottom: 0;
}

.mCSB_horizontal.mCSB_inside > .mCSB_container {
  margin-right: 0;
  margin-bottom: 30px;
}

.mCSB_horizontal.mCSB_outside > .mCSB_container {
  min-height: 100%;
}

.mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  width: auto;
  height: 16px;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
}

.mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: -26px;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer {
  margin: 0 20px;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 2px;
  margin: 7px 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 30px;
  height: 100%;
  left: 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto;
}

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  margin: 2px auto;
}

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 8px;
  margin: 4px 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft, .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  display: block;
  position: absolute;
  width: 20px;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft {
  left: 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  right: 0;
}

.mCSB_container_wrapper {
  position: absolute;
  height: auto;
  width: auto;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin-right: 30px;
  margin-bottom: 30px;
}

.mCSB_container_wrapper > .mCSB_container {
  padding-right: 30px;
  padding-bottom: 30px;
  box-sizing: border-box;
}

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 20px;
}

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 20px;
}

.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden + .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 0;
}

.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 0;
}

.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 20px;
}

.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 0;
}

.mCS-dir-rtl > .mCSB_inside > .mCSB_container_wrapper {
  margin-right: 0;
  margin-left: 30px;
}

.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden > .mCSB_container {
  padding-right: 0;
}

.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden > .mCSB_container {
  padding-bottom: 0;
}

.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0;
  margin-left: 0;
}

.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0;
}

.mCSB_scrollTools, .mCSB_scrollTools .mCSB_buttonDown, .mCSB_scrollTools .mCSB_buttonLeft, .mCSB_scrollTools .mCSB_buttonRight, .mCSB_scrollTools .mCSB_buttonUp, .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail, .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar, .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail, .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar {
  transition: width 0.2s ease-out 0.2s, height 0.2s ease-out 0.2s, margin-left 0.2s ease-out 0.2s, margin-right 0.2s ease-out 0.2s, margin-top 0.2s ease-out 0.2s, margin-bottom 0.2s ease-out 0.2s, opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools, .mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 0;
  filter: "alpha(opacity=0)";
  -ms-filter: "alpha(opacity=0)";
}

.mCS-autoHide:hover > .mCustomScrollBox > .mCSB_scrollTools, .mCS-autoHide:hover > .mCustomScrollBox ~ .mCSB_scrollTools, .mCustomScrollBox:hover > .mCSB_scrollTools, .mCustomScrollBox:hover ~ .mCSB_scrollTools, .mCustomScrollbar > .mCustomScrollBox > .mCSB_scrollTools.mCSB_scrollTools_onDrag, .mCustomScrollbar > .mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag {
  opacity: 1;
  filter: "alpha(opacity=100)";
  -ms-filter: "alpha(opacity=100)";
}

.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.4);
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)";
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)";
}

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
  filter: "alpha(opacity=85)";
  -ms-filter: "alpha(opacity=85)";
}

.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)";
}

.mCSB_scrollTools .mCSB_buttonDown, .mCSB_scrollTools .mCSB_buttonLeft, .mCSB_scrollTools .mCSB_buttonRight, .mCSB_scrollTools .mCSB_buttonUp {
  background-image: url(mCSB_buttons.png);
  background-repeat: no-repeat;
  opacity: 0.4;
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)";
}

.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 0;
}

.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -20px;
}

.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -40px;
}

.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -56px;
}

.mCSB_scrollTools .mCSB_buttonDown:hover, .mCSB_scrollTools .mCSB_buttonLeft:hover, .mCSB_scrollTools .mCSB_buttonRight:hover, .mCSB_scrollTools .mCSB_buttonUp:hover {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)";
}

.mCSB_scrollTools .mCSB_buttonDown:active, .mCSB_scrollTools .mCSB_buttonLeft:active, .mCSB_scrollTools .mCSB_buttonRight:active, .mCSB_scrollTools .mCSB_buttonUp:active {
  opacity: 0.9;
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)";
}

.mCS-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15);
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, 0.85);
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, 0.9);
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0;
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px;
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px;
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail, .mCS-light-2.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 1px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 1px;
}

.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 4px;
  margin: 6px auto;
}

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
}

.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px 0;
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -20px;
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -40px;
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -56px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 1px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 1px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85);
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9);
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px 0;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -20px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -40px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -56px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail, .mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 2px;
}

.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 4px;
  margin: 6px 0;
}

.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 6px;
  margin: 5px auto;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
}

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px 0;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -20px;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -40px;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -56px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 2px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 2px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85);
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9);
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px 0;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -20px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -40px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -56px;
}

.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 2px;
}

.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
}

.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 2px;
  margin: 7px auto;
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0;
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px;
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px;
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px;
}

.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.15);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger, .mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger, .mCS-rounded.mCSB_scrollTools .mCSB_dragger {
  height: 14px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 14px;
  margin: 0 1px;
}

.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 14px;
}

.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 14px;
  margin: 1px 0;
}

.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 16px;
  height: 16px;
  margin: -1px 0;
}

.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 4px;
}

.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 16px;
  width: 16px;
  margin: 0 -1px;
}

.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 4px;
  margin: 6px 0;
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 -72px;
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -92px;
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -112px;
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -128px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px -72px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -92px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -112px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -128px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail, .mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail {
  width: 4px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail, .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  background-color: transparent;
  background-position: center;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==);
  background-repeat: repeat-y;
  opacity: 0.3;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)";
}

.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  height: 4px;
  margin: 6px 0;
  background-repeat: repeat-x;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px -72px;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -92px;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -112px;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -128px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=);
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px -72px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -92px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -112px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -128px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-y;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0, rgba(255, 255, 255, 0) 100%);
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-x;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0, rgba(255, 255, 255, 0) 100%);
}

.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger, .mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 70px;
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 70px;
}

.mCS-3d-dark.mCSB_scrollTools, .mCS-3d.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)";
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_draggerRail {
  border-radius: 16px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-3d.mCSB_scrollTools .mCSB_draggerRail {
  width: 8px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.5), inset -1px 0 1px rgba(255, 255, 255, 0.2);
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #555;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 8px;
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 8px;
  margin: 4px 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5), inset 0 -1px 1px rgba(255, 255, 255, 0.2);
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 8px;
  margin: 4px auto;
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px;
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px;
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px;
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.1);
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px;
}

.mCS-3d-thick-dark.mCSB_scrollTools, .mCS-3d-thick.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)";
}

.mCS-3d-thick-dark.mCSB_scrollTools, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer, .mCS-3d-thick.mCSB_scrollTools, .mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer {
  border-radius: 7px;
}

.mCSB_inside + .mCS-3d-thick-dark.mCSB_scrollTools_vertical, .mCSB_inside + .mCS-3d-thick.mCSB_scrollTools_vertical {
  right: 1px;
}

.mCS-3d-thick-dark.mCSB_scrollTools_vertical, .mCS-3d-thick.mCSB_scrollTools_vertical {
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.5);
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal, .mCS-3d-thick.mCSB_scrollTools_horizontal {
  bottom: 1px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.5);
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 5px;
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4);
  width: 12px;
  margin: 2px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
  height: 12px;
  width: auto;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #555;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, 0.1);
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px;
}

.mCS-3d-thick-dark.mCSB_scrollTools {
  box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.2);
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.2);
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4), inset -1px 0 0 rgba(0, 0, 0, 0.2);
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 -1px 0 rgba(0, 0, 0, 0.2);
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #777;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #fff;
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, 0.1);
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-minimal.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px;
}

.mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical, .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical {
  right: 0;
  margin: 12px 0;
}

.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCustomScrollBox.mCS-minimal + .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: 0;
  margin: 0 12px;
}

.mCS-dir-rtl > .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical, .mCS-dir-rtl > .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical {
  left: 0;
  right: auto;
}

.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger, .mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 50px;
}

.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 50px;
}

.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)";
}

.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)";
}

.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)";
}

.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)";
}

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools .mCSB_draggerRail {
  width: 6px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
}

.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 6px;
  margin: 5px 0;
}

.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 12px;
}

.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 12px;
  margin: 2px 0;
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px;
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px;
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px;
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px;
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px;
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px;
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px;
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px;
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset.mCSB_scrollTools .mCSB_draggerRail {
  width: 12px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  margin: 3px 5px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 6px;
  margin: 5px 3px;
  position: absolute;
  width: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 12px;
  margin: 2px 0;
}

.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp, .mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp, .mCS-inset.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px;
}

.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown, .mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown, .mCS-inset.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px;
}

.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft, .mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft, .mCS-inset.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px;
}

.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight, .mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight, .mCS-inset.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px;
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85);
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9);
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp, .mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px;
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown, .mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px;
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft, .mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px;
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight, .mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px;
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  box-sizing: border-box;
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  border-color: #000;
  border-color: rgba(0, 0, 0, 0.2);
}

.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6);
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85);
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9);
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}

.mCSB_scrollTools {
  margin: 20px 0;
}

.mCSB_inside > .mCSB_container {
  margin-right: 0;
}

.mCSB_scrollTools .mCSB_draggerContainer {
  overflow: hidden;
  width: 5px;
  background-color: #E7E8E9;
  border-radius: 3px;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 5px;
  background-color: #B9BCBE;
}

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #B9BCBE;
}

.mCSB_scrollTools .mCSB_draggerRail {
  width: 5px;
  background-color: #E7E8E9;
  border-radius: 3px;
}

.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background: #B9BCBE;
}

/*====================================================================================================

    unique

====================================================================================================*/
/* ※※
--------------------------------------------------------------------------------------------------- */
/* home
--------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  #document.home #gheader {
    background: transparent;
  }
}
#document.home #gheader::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #171922 100%);
}
@media (min-width: 768px) {
  #document.home #gheader::after {
    height: 150px;
  }
}
@media screen and (max-width: 767px) {
  #document.home #gheader::after {
    height: 100px;
  }
}
#document.home #gheader.is_float {
  background: #171922;
}
#document.home .a_mainvisual {
  position: relative;
  overflow: hidden;
  height: 100vh;
  height: 100svh;
  min-height: 500px;
}
#document.home .a_mainvisual .copy {
  position: absolute;
  left: 0;
  right: 0;
  opacity: 1;
  z-index: 1;
  margin: auto;
  text-align: center;
}
#document.home .a_mainvisual .copy > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.home .a_mainvisual .copy {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .copy {
    top: 13vh;
  }
}
#document.home .a_mainvisual .copy .concept {
  margin-bottom: 10px;
}
#document.home .a_mainvisual .copy .concept img {
  width: auto;
}
@media (min-width: 768px) {
  #document.home .a_mainvisual .copy .concept img {
    height: 40vh;
  }
}
#document.home .a_mainvisual .copy .place {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  text-shadow: 0 0 15px #171922;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  #document.home .a_mainvisual .copy .place {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .copy .place {
    font-size: 0.8125rem;
  }
}
#document.home .a_mainvisual .slide {
  height: 100vh;
  min-height: 500px;
}
#document.home .a_mainvisual .slide .item {
  height: 100vh;
  min-height: 500px;
}
#document.home .a_mainvisual .slide .item .planCopy {
  position: absolute;
  inset: 0;
  z-index: 1;
}
#document.home .a_mainvisual .slide .item .planCopy img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#document.home .a_mainvisual .slide .item .image {
  transform: scale(1.1);
}
#document.home .a_mainvisual .slide .item .image img {
  width: 100%;
  height: 100vh;
  min-height: 500px;
  object-fit: cover;
}
#document.home .a_mainvisual .m_ticket {
  position: absolute;
  left: 0;
  right: 0;
}
@media (min-width: 768px) {
  #document.home .a_mainvisual .m_ticket {
    bottom: 8%;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .m_ticket {
    bottom: 15%;
  }
}
#document.home .a_mainvisual:has(.item.plan.slick-current) .copy {
  opacity: 0;
}
@media screen and (max-width: 767px) {
  #document.home .section.spGround {
    background: #F7F7F7;
  }
}
#document.home .section .sectionInner > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.home .section .sectionInner {
    padding: 60px 0;
    margin: auto;
    width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .section .sectionInner {
    padding: 100px 30px;
  }
}
@media (min-width: 768px) {
  #document.home .section .sectionInner .colmun {
    display: flex;
  }
}
#document.home .section .sectionInner .colmun .unit > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.home .section .sectionInner .colmun .unit {
    flex-basis: 100%;
    margin-top: 100px;
  }
}
@media (min-width: 768px) {
  #document.home .section .sectionInner .colmun.headRight .m_heading, #document.home .section .sectionInner .colmun.headRight .m_enHeading {
    order: 2;
  }
}
@media (min-width: 768px) {
  #document.home .section .sectionInner .colmun.headRight .unit {
    order: 1;
  }
}
@media (min-width: 768px) {
  #document.home .a_pcCol2 {
    display: flex;
    margin: auto;
    width: 1100px;
  }
}
@media (min-width: 768px) {
  #document.home .a_pcCol2 .sectionInner {
    width: auto;
  }
}
@media (min-width: 768px) {
  #document.home .a_pcCol2 .a_news .colmun {
    margin-left: 100px;
  }
}
@media (min-width: 768px) {
  #document.home .a_banner {
    margin-top: 60px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_banner {
    padding: 50px 30px;
  }
}
#document.home .a_banner .slide {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  #document.home .a_banner .slide {
    width: 550px;
  }
}
@media (min-width: 768px) {
  #document.home .a_banner .slide .item {
    width: 550px;
    transition: opacity 0.6s ease;
  }
}
#document.home .a_banner .slide .item img {
  width: 100%;
}
@media (min-width: 768px) {
  #document.home .a_banner .slide .item:hover {
    opacity: 0.7;
  }
}
@media (min-width: 768px) {
  #document.home .a_event .sectionInner .colmun .unit {
    margin: 60px 52px 0 0;
  }
}
@media (min-width: 768px) {
  #document.home .a_news .sectionInner .colmun .unit {
    margin: 60px 52px 0 0;
  }
}
@media (min-width: 768px) {
  #document.home .a_news .sectionInner .colmun .unit .m_newsList {
    width: 480px;
  }
}
#document.home .a_concept {
  position: relative;
  color: #FFFFFF;
  background: #171922;
}
@media (min-width: 768px) {
  #document.home .a_concept {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_concept {
    z-index: 1;
  }
}
#document.home .a_concept::before {
  position: absolute;
  left: 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #document.home .a_concept::before {
    z-index: 2;
    top: 0;
    width: 500px;
    height: 1000px;
    background-image: url(/images/home/home_concept_bg.png);
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_concept::before {
    z-index: -1;
    bottom: 0;
    width: 100%;
    height: 650px;
    background-image: url(/images/home/home_concept_bg_@2x.png);
  }
}
@media (min-width: 768px) {
  #document.home .a_concept .sectionInner {
    padding-top: 150px;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_concept .sectionInner {
    padding-bottom: 150px;
  }
}
@media (min-width: 768px) {
  #document.home .a_concept .sectionInner .colmun.concept {
    position: relative;
    z-index: 2;
    margin-bottom: 120px;
  }
}
@media (min-width: 768px) {
  #document.home .a_concept .sectionInner .colmun.concept .unit {
    display: flex;
    margin-left: 90px;
  }
}
#document.home .a_concept .sectionInner .colmun.concept .unit .body > *:last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  #document.home .a_concept .sectionInner .colmun.concept .unit .body {
    margin: 0 -20px 50px;
    text-align: center;
  }
}
#document.home .a_concept .sectionInner .colmun.concept .unit .body .heading {
  margin-top: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  #document.home .a_concept .sectionInner .colmun.concept .unit .body .heading {
    margin-bottom: 25px;
    font-size: 1.5rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_concept .sectionInner .colmun.concept .unit .body .heading {
    margin-bottom: 15px;
    font-size: 1.125rem;
    line-height: 2;
  }
}
#document.home .a_concept .sectionInner .colmun.concept .unit .body .text {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  #document.home .a_concept .sectionInner .colmun.concept .unit .body .text {
    font-size: 1rem;
    line-height: 2.75;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_concept .sectionInner .colmun.concept .unit .body .text {
    font-size: 0.875rem;
    line-height: 2.5;
  }
}
@media (min-width: 768px) {
  #document.home .a_concept .sectionInner .colmun.concept .unit .image {
    position: absolute;
    top: 0;
    right: -100px;
    z-index: -1;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_concept .sectionInner .colmun.concept .unit .image {
    margin-left: -30px;
    margin-right: -30px;
  }
}
#document.home .a_guide {
  position: relative;
  z-index: 1;
  color: #FFFFFF;
  background: #171922;
}
@media (min-width: 768px) {
  #document.home .a_guide {
    margin-bottom: 60px;
  }
}
@media (min-width: 768px) {
  #document.home .a_guide::before {
    position: absolute;
    z-index: -1;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
    display: inline-block;
    content: "";
  }
}
@media (min-width: 768px) {
  #document.home .a_guide::before {
    bottom: 104px;
    right: 0;
    width: 420px;
    height: 800px;
    background-image: url(/images/home/home_concept_bg_02.png);
  }
}
@media (min-width: 768px) {
  #document.home .a_guide .sectionInner {
    padding-top: 60px;
    padding-bottom: 150px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_guide .sectionInner {
    padding-top: 80px;
    padding-bottom: 60px;
  }
}
#document.home .a_guide .sectionInner .colmun.guide .unit {
  overflow: hidden;
}
@media (min-width: 768px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit {
    margin-right: 96px;
  }
}
@media (min-width: 768px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide {
    position: relative;
  }
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .item {
  display: flex;
}
@media (min-width: 768px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item {
    align-items: center;
    padding: 85px;
    width: 950px;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item {
    flex-direction: column;
    margin: 0 10px;
  }
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body {
  order: 2;
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body {
    margin-top: 20px;
  }
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body .heading {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body .heading {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body .heading {
    font-size: 1.125rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body .text {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .body .text {
    font-size: 0.875rem;
    line-height: 2;
  }
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .image {
  order: 1;
}
@media screen and (max-width: 767px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .slide .item .image img {
    width: 100%;
  }
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .bgBody {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .bgBody .bg {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.6s ease;
  transition-delay: 1s;
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .bgBody .bg::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  display: inline-block;
  content: "";
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .bgBody .bg1 {
  opacity: 1;
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .bgBody .bg1::before {
  z-index: 2;
  background-image: url(/images/home/home_guide_img_04-bg.jpg?2507);
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .bgBody .bg2::before {
  background-image: url(/images/home/home_guide_img_03-bg.jpg);
}
#document.home .a_guide .sectionInner .colmun.guide .unit .slide .bgBody .bg3::before {
  background-image: url(/images/home/home_guide_img_05-bg.jpg?2507);
}
@media screen and (max-width: 767px) {
  #document.home .a_guide .sectionInner .colmun.guide .unit .dots .slick-dots {
    margin-top: 30px;
  }
}
#document.home .a_guide .sectionInner .colmun.guide .unit .dots .slick-dots li button {
  border: 1px solid rgba(255, 255, 255, 0.5);
}
#document.home .a_guide .sectionInner .colmun.guide .unit .dots .slick-dots li.slick-active button {
  border-color: #FFFFFF;
  background: #FFFFFF;
}
@media (min-width: 768px) {
  #document.home .a_enjoy {
    position: relative;
    margin-bottom: 60px;
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy::before, #document.home .a_enjoy::after {
    position: absolute;
    bottom: 0;
    z-index: -1;
    height: 1060px;
    display: inline-block;
    content: "";
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy::before {
    right: 0;
    width: 100%;
    background: #F7F7F7;
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy::after {
    left: 0;
    width: calc((100% - 1220px) / 2);
    background: #FFFFFF;
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy .sectionInner {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner {
    padding-bottom: 60px;
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy .sectionInner .colmun.enjoy .unit {
    margin-left: 68px;
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy .sectionInner .goldfishList {
    display: flex;
  }
}
#document.home .a_enjoy .sectionInner .goldfishList > li {
  position: relative;
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li {
    display: flex;
    align-items: center;
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li:hover {
    opacity: 0.5;
  }
}
#document.home .a_enjoy .sectionInner .goldfishList > li .body {
  text-align: center;
}
#document.home .a_enjoy .sectionInner .goldfishList > li .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .body {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .body {
    padding-right: 20px;
    flex-basis: 50%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .body .illust {
    width: 88px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .body .illust img {
    width: 100%;
  }
}
#document.home .a_enjoy .sectionInner .goldfishList > li .body .name {
  font-weight: 700;
}
@media (min-width: 768px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .body .name {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .body .name {
    margin-top: 0.2em;
    margin-bottom: 0.2em;
    font-size: 0.875rem;
  }
}
#document.home .a_enjoy .sectionInner .goldfishList > li .body .name > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .body .text {
    font-size: 0.75rem;
    line-height: 1.3333333333;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .image {
    flex-basis: 50%;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li .image img {
    width: 100%;
  }
}
@media (min-width: 768px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li:not(:first-of-type) {
    margin-left: 25px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_enjoy .sectionInner .goldfishList > li:not(:first-of-type) {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  #document.home .a_social .sectionInner .colmun.social .unit {
    margin-right: 58px;
  }
}
@media (min-width: 768px) {
  #document.home .a_goods {
    position: relative;
    margin-bottom: 60px;
  }
}
@media (min-width: 768px) {
  #document.home .a_goods::before {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: 540px;
    background: #F7F7F7;
    display: inline-block;
    content: "";
  }
}
@media (min-width: 768px) {
  #document.home .a_goods .sectionInner {
    padding-bottom: 100px;
  }
}
@media (min-width: 768px) {
  #document.home .a_goods .sectionInner .headingBox {
    display: flex;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_goods .sectionInner .headingBox {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  #document.home .a_goods .sectionInner .headingBox .m_heading {
    margin-left: 50px;
  }
}
@media (min-width: 768px) {
  #document.home .a_goods .sectionInner .headingBox .body {
    margin: auto 0 30px 80px;
  }
  #document.home .a_goods .sectionInner .headingBox .body > *:last-child {
    margin-bottom: 0 !important;
  }
}
@media (min-width: 768px) {
  #document.home .a_goods .sectionInner .headingBox .body .text {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  #document.home .a_goods .sectionInner .headingBox .body .text {
    font-size: 0.875rem;
    line-height: 2;
  }
}
@media (min-width: 768px) {
  #document.home .a_faq .sectionInner {
    padding-bottom: 150px;
  }
}
@media (min-width: 768px) {
  #document.home .a_faq .sectionInner .colmun.faq .unit {
    margin-right: 96px;
  }
}
@media (min-width: 768px) {
  #document.home .a_faq .sectionInner .colmun.faq .unit .m_faqList {
    margin-left: auto;
    margin-right: 0;
  }
}
@keyframes fadeOut {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* first
--------------------------------------------------------------------------------------------------- */
#document.first {
  background: rgba(23, 25, 34, 0.95);
}
#document.first #gheader {
  position: relative;
}
@media (min-width: 768px) {
  #document.first #gheader {
    padding-top: 30px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  #document.first #gheader {
    height: auto;
  }
}
#document.first #gheader .gheaderInner {
  display: block;
}
#document.first #gheader .gheaderInner .logo {
  text-align: center;
}
@media (min-width: 768px) {
  #document.first #gheader .gheaderInner .logo svg {
    height: 146px;
  }
}
@media screen and (max-width: 767px) {
  #document.first #gheader .gheaderInner .logo svg {
    height: 56px;
  }
}
#document.first #gheader .gheaderInner .socialFront {
  position: absolute;
  margin-left: 0;
  margin-right: 0;
}
@media (min-width: 768px) {
  #document.first #gheader .gheaderInner .socialFront {
    top: 54px;
    right: 80px;
  }
}
@media screen and (max-width: 767px) {
  #document.first #gheader .gheaderInner .socialFront {
    top: 30px;
    right: 30px;
    display: block;
  }
}
#document.first #gheader.is_float {
  top: 0;
}
#document.first #gheader.is_float.is_visible {
  position: relative;
}
@media (min-width: 768px) {
  #document.first #mainContents {
    position: relative;
    padding-bottom: 40px;
    margin: auto;
    max-width: 1320px;
  }
}
@media screen and (max-width: 767px) {
  #document.first #mainContents {
    padding: 0 10px 40px;
  }
}
@media (min-width: 768px) {
  #document.first #mainContents::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
  }
}
@media (min-width: 1101px) {
  #document.first #mainContents::after {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
#document.first #mainContents .a_primary .item {
  position: relative;
}
#document.first #mainContents .a_primary .item .body > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
#document.first #mainContents .a_primary .item .body > a .copy {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
}
#document.first #mainContents .a_primary .item .body > a .copy > *:last-child {
  margin-bottom: 0 !important;
}
#document.first #mainContents .a_primary .item .body > a .copy .concept {
  margin-bottom: 10px;
}
#document.first #mainContents .a_primary .item .body > a .copy .title {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.15em;
}
@media (min-width: 768px) {
  #document.first #mainContents .a_primary .item .body > a .copy .title {
    margin-bottom: 60px;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  #document.first #mainContents .a_primary .item .body > a .copy .title {
    margin-bottom: 40px;
    font-size: 0.625rem;
  }
}
#document.first #mainContents .a_primary .item .body > a .copy .name {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  #document.first #mainContents .a_primary .item .body > a .copy .name {
    margin-bottom: 80px;
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  #document.first #mainContents .a_primary .item .body > a .copy .name {
    margin-bottom: 50px;
    font-size: 1.125rem;
  }
}
#document.first #mainContents .a_primary .item .body > a .copy .place {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.15em;
}
#document.first #mainContents .a_primary .item .image {
  overflow: hidden;
}
#document.first #mainContents .a_primary .item .image img {
  width: 100%;
}
@media (min-width: 768px) {
  #document.first #mainContents .a_primary .item .image img {
    transition: transform 0.6s ease;
  }
}
@media (min-width: 768px) {
  #document.first #mainContents .a_primary .item:hover .image img {
    transform: scale(1.2);
  }
}
#document.first #gfooter::before {
  display: none;
}
@media (min-width: 768px) {
  #document.first #gfooter .gfooterInner {
    position: relative;
    padding: 55px 0 40px;
  }
}
@media screen and (max-width: 767px) {
  #document.first #gfooter .gfooterInner {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  #document.first #gfooter .gfooterInner .primary {
    display: block;
  }
}
@media (min-width: 768px) {
  #document.first #gfooter .gfooterInner .primary .other {
    padding-left: 0;
    border-left: none;
  }
}
@media (min-width: 768px) {
  #document.first #gfooter .gfooterInner .primary .other .social {
    justify-content: center;
    margin-bottom: 65px;
  }
}
@media screen and (max-width: 767px) {
  #document.first #gfooter .gfooterInner .primary .other .social {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  #document.first #gfooter .gfooterInner .primary .other .sponsor {
    display: inline-block;
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  #document.first #gfooter .gfooterInner .primary .other .unav {
    display: inline-flex;
    margin-top: 0;
    margin-left: 100px;
  }
}
@media (min-width: 768px) {
  #document.first #gfooter .gfooterInner .copyright {
    position: absolute;
    bottom: 40px;
    right: 0;
    margin: 0;
  }
}

/* tradition
--------------------------------------------------------------------------------------------------- */
#document.enjoy-tradition .a_tradition::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-repeat: repeat-y;
  background-position: 0 0;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #document.enjoy-tradition .a_tradition::after {
    background-image: url(/images/enjoy/tradition/index_bg.png);
    background-size: cover;
  }
}
@media (min-width: 1101px) {
  #document.enjoy-tradition .a_tradition::after {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  #document.enjoy-tradition .a_tradition::after {
    left: -30px;
    right: -30px;
    background-image: url(/images/enjoy/tradition/index_bg_@2x.png);
    background-size: 100%;
  }
}

/* exhibition
--------------------------------------------------------------------------------------------------- */
#document.exhibition .a_art::after {
  position: absolute;
  z-index: -1;
  width: 100vw;
  background-position: 0 0;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #document.exhibition .a_art::after {
    top: 0;
    height: 100%;
    background-image: url(/images/exhibition/index_art_bg.png);
  }
}
@media (min-width: 1101px) {
  #document.exhibition .a_art::after {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  #document.exhibition .a_art::after {
    bottom: 0;
    left: -30px;
    right: -30px;
    height: 650px;
    background-image: url(/images/exhibition/index_art_bg_@2x.png);
  }
}
#document.exhibition .a_art .heading {
  margin: 0;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.3em;
}
@media (min-width: 768px) {
  #document.exhibition .a_art .heading {
    position: absolute;
    top: 70px;
    right: 182px;
    z-index: 1;
    writing-mode: vertical-rl;
    font-size: 2.375rem;
  }
}
@media screen and (max-width: 767px) {
  #document.exhibition .a_art .heading {
    margin-bottom: 45px;
    font-size: 1.5rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  #document.exhibition .a_art .heading .concept {
    order: 2;
  }
}
#document.exhibition .a_art .heading .text {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
}
@media (min-width: 768px) {
  #document.exhibition .a_art .heading .text {
    order: 1;
    margin-right: 50px;
    writing-mode: vertical-rl;
    font-size: 1.125rem;
    letter-spacing: 0.25em;
  }
}
@media screen and (max-width: 767px) {
  #document.exhibition .a_art .heading .text {
    margin-top: 15px;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
  }
}
@media (min-width: 768px) {
  #document.exhibition .a_art .body {
    position: relative;
    z-index: 1;
    margin: 150px 0 40px 100px;
  }
}
@media screen and (max-width: 767px) {
  #document.exhibition .a_art .body {
    margin-bottom: 60px;
  }
}
#document.exhibition .a_art .body .text {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  #document.exhibition .a_art .body .text {
    font-size: 1.125rem;
    line-height: 2.7777777778;
  }
}
@media screen and (max-width: 767px) {
  #document.exhibition .a_art .body .text {
    font-size: 0.875rem;
    line-height: 2.5;
    text-align: center;
  }
}
@media (min-width: 768px) {
  #document.exhibition .a_art .body .text + .text {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  #document.exhibition .a_art .body .text + .text {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  #document.exhibition .a_art .image {
    position: absolute;
    right: 50px;
    bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  #document.exhibition .a_art .image {
    margin-left: -30px;
    margin-right: -30px;
  }
}
#document.exhibition .a_exhibition::after {
  position: absolute;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background-position: 50% 50%;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #document.exhibition .a_exhibition::after {
    top: 0;
    background-image: url(/images/exhibition/index_exhibition_bg.svg);
  }
}
@media (min-width: 1101px) {
  #document.exhibition .a_exhibition::after {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  #document.exhibition .a_exhibition::after {
    bottom: 0;
    left: -30px;
    right: -30px;
    background-image: url(/images/exhibition/index_exhibition_bg_@2x.svg);
  }
}
@keyframes slideDown {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* schoolprogram
--------------------------------------------------------------------------------------------------- */
#document.schoolprogram :is(#lpheader, #lpfooter) {
  background: #171922;
}
#document.schoolprogram :is(#lpheader, #lpfooter) .inner {
  margin-inline: auto;
  max-width: 1100px;
}
#document.schoolprogram :is(#lpheader, #lpfooter) .inner > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.schoolprogram :is(#lpheader, #lpfooter) .inner {
    padding: 15px 50px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram :is(#lpheader, #lpfooter) .inner {
    padding: 20px 24px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram :is(#lpheader, #lpfooter) .inner .logo img {
    width: 120px;
  }
}
#document.schoolprogram #lp_container {
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  #document.schoolprogram #lp_container {
    padding: 120px 50px 200px;
    margin-inline: auto;
    max-width: 1100px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram #lp_container {
    padding: 60px 24px 100px;
  }
}
#document.schoolprogram :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
#document.schoolprogram .lp_section > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_section + .lp_section {
    padding-top: 160px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_section + .lp_section {
    padding-top: 80px;
  }
}
#document.schoolprogram .lp_heading-lv1 {
  margin-bottom: 40px;
  font-size: 1rem;
}
#document.schoolprogram .lp_heading-lv2 {
  text-align: center;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_heading-lv2 {
    margin-bottom: 60px;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_heading-lv2 {
    margin-inline: -16px;
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
}
#document.schoolprogram .lp_heading-lv3 {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_heading-lv3 {
    margin-bottom: 50px;
    font-size: 1.875rem;
    text-align: center;
    text-underline-offset: 10px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_heading-lv3 {
    margin-bottom: 30px;
    font-size: 1.25rem;
    text-underline-offset: 5px;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram h2.lp_heading-lv3 {
    margin-bottom: 60px;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram h2.lp_heading-lv3 {
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
}
#document.schoolprogram .heading-vertical {
  writing-mode: vertical-rl;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  letter-spacing: 0.2em;
}
@media (min-width: 768px) {
  #document.schoolprogram .heading-vertical {
    margin-left: 0;
    margin-right: 40px;
    font-size: 2.5rem;
    text-underline-offset: 10px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .heading-vertical {
    margin-block: auto;
    margin-bottom: 40px;
    font-size: 1.875rem;
    text-underline-offset: 5px;
  }
}
#document.schoolprogram .leadText {
  font-weight: 700;
}
@media (min-width: 768px) {
  #document.schoolprogram .leadText {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .leadText {
    font-size: 1rem;
  }
}
#document.schoolprogram .lp_text {
  line-height: 2;
  letter-spacing: 0.1em;
}
#document.schoolprogram .lp_image {
  text-align: center;
}
#document.schoolprogram .lp_image img {
  margin-inline: auto;
  max-width: 100%;
}
#document.schoolprogram .lp_notesList > *:last-child {
  margin-bottom: 0 !important;
}
#document.schoolprogram .lp_notesList > li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 8px;
}
#document.schoolprogram .lp_notesList > li > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_notesList > li {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_notesList > li {
    font-size: 0.75rem;
  }
}
#document.schoolprogram .lp_notesList > li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: "※";
}
#document.schoolprogram .lp_numberList {
  counter-reset: li;
}
#document.schoolprogram .lp_numberList > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_numberList {
    margin-bottom: 60px;
    margin-inline: 60px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_numberList {
    margin-bottom: 40px;
  }
}
#document.schoolprogram .lp_numberList > li {
  position: relative;
  font-weight: 700;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_numberList > li {
    padding-left: 50px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_numberList > li {
    padding-left: 48px;
    font-size: 1.25rem;
  }
}
#document.schoolprogram .lp_numberList > li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  background: #D8D8D8;
  border-radius: 10px;
  text-align: center;
  counter-increment: li;
  content: counter(li);
}
#document.schoolprogram .lp_numberList > li span {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_numberList > li span {
    text-underline-offset: 10px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_numberList > li span {
    text-underline-offset: 5px;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_numberList > li:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_numberList > li:not(:first-child) {
    margin-top: 24px;
  }
}
#document.schoolprogram .lp_detailList > div {
  display: flex;
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_detailList > div:not(:last-of-type) {
    margin-bottom: 15px;
  }
}
#document.schoolprogram .lp_detailList > div dt, #document.schoolprogram .lp_detailList > div dd {
  font-weight: 700;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_detailList > div dt, #document.schoolprogram .lp_detailList > div dd {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_detailList > div dt, #document.schoolprogram .lp_detailList > div dd {
    font-size: 1rem;
  }
}
#document.schoolprogram .lp_detailList > div dt {
  width: 8em;
}
#document.schoolprogram .lp_detailList > div dt.justify {
  text-align-last: justify;
}
#document.schoolprogram .lp_detailList > div dt:not(.justify) {
  text-align: right;
}
#document.schoolprogram .lp_detailList > div dt .underLine {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  -webkit-text-decoration-color: #DC5312;
          text-decoration-color: #DC5312;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_detailList > div dd {
    margin-left: 60px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_detailList > div dd {
    margin-left: 40px;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_detailList:not(.s_pcCenter) > div dd {
    flex-basis: calc(100% - 8em - 60px);
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_detailList:not(.s_pcCenter) > div dd {
    flex-basis: calc(100% - 8em - 40px);
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_detailList[class*=_pcCenter] > div {
    justify-content: center;
  }
}
#document.schoolprogram .lp_detailList:not(:last-of-type) {
  margin-bottom: 40px;
}
#document.schoolprogram .lp_button {
  display: grid;
  margin-top: 60px;
  text-align: center;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button {
    justify-content: center;
    grid-template-columns: repeat(auto-fit, 300px);
    gap: 40px 40px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_button {
    justify-content: center;
    grid-template-columns: repeat(1, 1fr);
    margin-inline: 24px;
  }
}
#document.schoolprogram .lp_button a, #document.schoolprogram .lp_button button {
  position: relative;
  display: inline-block;
  font-weight: 700;
  color: #171922;
  background: #F2E1B1;
  border: solid transparent;
  box-sizing: border-box;
  letter-spacing: 0.1em;
  text-decoration: none;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button a, #document.schoolprogram .lp_button button {
    padding: 18px 10px;
    min-width: 300px;
    font-size: 1.25rem;
    border-width: 5px;
    border-radius: 10px;
    transition: opacity 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_button a, #document.schoolprogram .lp_button button {
    display: block;
    padding: 10px 30px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.125rem;
    border-width: 2px;
    border-radius: 6px;
  }
}
#document.schoolprogram .lp_button a::after, #document.schoolprogram .lp_button button::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  background: url(/images/schoolprogram/index_icon.png) no-repeat 0 0/cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button a::after, #document.schoolprogram .lp_button button::after {
    right: 20px;
    width: 18px;
    height: 26px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_button a::after, #document.schoolprogram .lp_button button::after {
    right: 8px;
    width: 15px;
    height: 22px;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button a:hover, #document.schoolprogram .lp_button button:hover {
    opacity: 0.7;
  }
}
#document.schoolprogram .lp_button a.bgType01, #document.schoolprogram .lp_button button.bgType01 {
  background: #F4AA88;
}
#document.schoolprogram .lp_button a.bgType02, #document.schoolprogram .lp_button button.bgType02 {
  background: #FFFFFF;
  border-color: #676767;
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_button > li:nth-child(n+2) {
    margin-top: 30px;
  }
}
#document.schoolprogram .lp_button02 {
  display: grid;
  justify-content: center;
  text-align: center;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button02 {
    grid-template-columns: repeat(auto-fit, 400px);
    gap: 40px 120px;
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_button02 {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 18px;
    margin-top: 20px;
  }
}
#document.schoolprogram .lp_button02 a, #document.schoolprogram .lp_button02 button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 20px;
  font-weight: 700;
  font-size: 2.1875rem;
  color: #FFFFFF;
  background: #939393;
  border-radius: 10px;
  box-sizing: border-box;
  letter-spacing: 0.1em;
  text-decoration: none;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button02 a, #document.schoolprogram .lp_button02 button {
    height: 90px;
    line-height: 1;
    min-width: 400px;
    font-size: 1.25rem;
    transition: opacity 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_button02 a, #document.schoolprogram .lp_button02 button {
    margin-left: auto;
    margin-right: auto;
    height: 80px;
    font-size: 1rem;
  }
}
#document.schoolprogram .lp_button02 a .small, #document.schoolprogram .lp_button02 button .small {
  letter-spacing: initial;
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button02 a .small, #document.schoolprogram .lp_button02 button .small {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_button02 a .small, #document.schoolprogram .lp_button02 button .small {
    font-size: 0.625rem;
  }
}
#document.schoolprogram .lp_button02 a::after, #document.schoolprogram .lp_button02 button::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  background: url(/images/schoolprogram/index_icon_02.png) no-repeat 0 0/cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button02 a::after, #document.schoolprogram .lp_button02 button::after {
    right: 20px;
    width: 18px;
    height: 26px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .lp_button02 a::after, #document.schoolprogram .lp_button02 button::after {
    right: 8px;
    width: 12px;
    height: 18px;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .lp_button02 a:hover, #document.schoolprogram .lp_button02 button:hover {
    opacity: 0.7;
  }
}
#document.schoolprogram .exploration .textBlock:not(:last-of-type) {
  margin-bottom: 40px;
}
#document.schoolprogram .exploration .sign {
  margin-top: 40px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
@media (min-width: 768px) {
  #document.schoolprogram .education .headingImage {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .education .headingImage {
    margin-inline: -24px;
    margin-bottom: 40px;
  }
}
#document.schoolprogram .education .headingImage img {
  width: 100%;
}
#document.schoolprogram .education .lp_heading-lv2 .lp_heading-lv3 {
  display: inline-block;
  margin-block: 10px 0;
}
@media (min-width: 768px) {
  #document.schoolprogram .fee {
    position: relative;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .fee .illust {
    position: absolute;
    right: 0;
    bottom: -80px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .fee .illust {
    margin-top: 20px;
    margin-right: 40px;
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .fee .illust img {
    width: 62px;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .experience .column {
    display: flex;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .experience .learningList {
    flex: 1;
  }
}
#document.schoolprogram .experience .learningList ul {
  margin-top: 0;
}
@media (min-width: 768px) {
  #document.schoolprogram .experience .learningList ul {
    display: flex;
    column-gap: 35px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .experience .learningList ul {
    margin-inline: -24px;
    margin-bottom: 20px;
  }
}
#document.schoolprogram .experience .learningList ul > li {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  #document.schoolprogram .experience .learningList ul > li {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 22px 30px 35px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .experience .learningList ul > li {
    padding: 25px 28px 20px;
  }
}
#document.schoolprogram .experience .learningList ul > li::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url(/images/schoolprogram/index_experience_bg_01.png) no-repeat 0 0/cover;
  display: inline-block;
  content: "";
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .experience .learningList ul > li:not(:last-of-type) {
    margin-bottom: 20px;
  }
}
#document.schoolprogram .experience .learningList ul > li .title {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 768px) {
  #document.schoolprogram .experience .learningList ul > li .title {
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .experience .learningList ul > li .title {
    font-size: 1.5rem;
  }
}
#document.schoolprogram .experience .learningList ul > li .text {
  font-weight: 700;
}
#document.schoolprogram .experience .learningList ul > li .image {
  margin-top: auto;
  text-align: center;
}
#document.schoolprogram .experience .learningList ul > li .image img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .experience .leadText {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .column {
    display: flex;
    margin-bottom: 150px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .column {
    margin-bottom: 32px;
  }
}
#document.schoolprogram .flow .column .title {
  flex: 1;
  position: relative;
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .column .title {
    padding: 28px 50px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .column .title {
    padding: 35px 28px 28px;
    margin-inline: -24px;
  }
}
#document.schoolprogram .flow .column .title::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url(/images/schoolprogram/index_flow_bg_01.png) no-repeat 0 0/cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .column .title .image {
    margin-top: -60px;
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .column .title .image {
    margin-top: -20px;
    text-align: center;
  }
}
#document.schoolprogram .flow .column .title .image img {
  max-width: 100%;
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flowList {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flowList {
    margin-bottom: 80px;
  }
}
#document.schoolprogram .flow .flowList > li .title {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  background: #676767;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flowList > li .title {
    padding-block: 10px 12px;
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flowList > li .title {
    padding-block: 6px;
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flowList > li .text {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flowList > li .text {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flowList > li .lp_image {
    margin-inline: 20px;
  }
}
#document.schoolprogram .flow .flowList > li:not(:last-child)::after {
  margin: 40px auto 20px;
  width: 43px;
  height: 43px;
  background: url(/images/schoolprogram/index_icon_03.png) no-repeat 0 0/contain;
  display: block;
  content: "";
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flow-detailBox:not(:last-of-type) {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flow-detailBox:not(:last-of-type) {
    margin-bottom: 70px;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flow-detailBox .title-area {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 60px;
  }
}
#document.schoolprogram .flow .flow-detailBox .title-area .mission {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #DC5312;
  background: #F2E1B1;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flow-detailBox .title-area .mission {
    padding: 0 45px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flow-detailBox .title-area .mission {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: 20px;
    margin-bottom: 35px;
    font-size: 1.25rem;
  }
}
#document.schoolprogram .flow .flow-detailBox .title-area .mission .number {
  font-size: 2.5rem;
}
#document.schoolprogram .flow .flow-detailBox .title-area .theme {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flow-detailBox .title-area .theme {
    margin: -35px 0 0 20px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flow-detailBox .title-area .theme {
    margin-bottom: 5px;
    text-align: center;
  }
}
#document.schoolprogram .flow .flow-detailBox .title-area .theme > span {
  background: #26252C;
  border-radius: 24px;
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flow-detailBox .title-area .theme > span {
    padding: 2px 18px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flow-detailBox .title-area .theme > span {
    padding: 2px 6px;
    font-size: 0.75rem;
  }
}
#document.schoolprogram .flow .flow-detailBox .title-area .title {
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flow-detailBox .title-area .title {
    flex: 1;
    margin-bottom: 0;
    margin-left: 60px;
    font-size: 1.875rem;
    text-underline-offset: 10px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .flow-detailBox .title-area .title {
    font-size: 1.75rem;
    text-underline-offset: 5px;
    text-align: center;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .flow-detailBox .detail {
    margin-inline: 112px;
  }
}
#document.schoolprogram .flow .illust {
  text-align: center;
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .illust {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .illust {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .flow .illust img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #document.schoolprogram .flow .leadText {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  #document.schoolprogram .study .lp_button {
    column-gap: 120px;
  }
}
#document.schoolprogram .mt0 {
  margin-top: 0px;
}
#document.schoolprogram .mt10 {
  margin-top: 10px;
}
#document.schoolprogram .mt20 {
  margin-top: 20px;
}
#document.schoolprogram .mt30 {
  margin-top: 30px;
}
#document.schoolprogram .mt40 {
  margin-top: 40px;
}
#document.schoolprogram .mt50 {
  margin-top: 50px;
}
#document.schoolprogram .mt60 {
  margin-top: 60px;
}
#document.schoolprogram .mt70 {
  margin-top: 70px;
}
#document.schoolprogram .mt80 {
  margin-top: 80px;
}
#document.schoolprogram .mt90 {
  margin-top: 90px;
}
#document.schoolprogram .mt100 {
  margin-top: 100px;
}