@charset "UTF-8";
/* COMPASS
 * ----------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

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

a img {
  border: none;
}

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

/* BASE
 * ----------------------------------------------- */
/* MEDIA QUERIES
 * ----------------------------------------------- */
/* ADDITIONAL RESET
 * ----------------------------------------------- */
*,
*:before,
*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body * {
  max-height: 99999em;
  word-break: break-word;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

input,
label,
select,
button {
  line-height: inherit;
}

input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  word-break: normal;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  -webkit-appearance: none;
  font: inherit;
}

button:focus {
  outline: 0;
}

input:focus,
textarea:focus,
select:focus {
  outline: auto;
}

/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none;
}

/* Turn off scroll bars in IE unless needed */
textarea {
  overflow: auto;
  white-space: pre-line;
  resize: none;
}

/* PRINTING
 * ----------------------------------------------- */
@media print {
  body {
    -webkit-print-color-adjust: exact;
  }

  html,
  body {
    margin: 0;
  }

  @page {
    margin: 0;
  }
  @page :left {
    margin: 0;
  }
  @page :right {
    margin: 0;
  }
  @page :first {
    margin-top: 0;
  }
}
/* GENERAL
 * ----------------------------------------------- */
body {
  color: #000;
  background: #edf0f2;
  font-family: "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 400;
  line-height: 1.4;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  margin: 0 auto;
}

.font-serif {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Times New Roman", "游明朝", YuMincho, "メイリオ", Meiryo, Georgia, serif;
}

.FontArial {
  font-family: Arial, sans-serif;
}

.FontGaramond {
  font-family: "EB Garamond", serif;
}

.FontRoboto {
  font-family: "Roboto", sans-serif;
}

.FontMincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.FontYugo {
  font-family: "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, Verdana, sans-serif;
}

/* HELPERS
 * ----------------------------------------------- */
a {
  color: #000;
  text-decoration: none;
}

.Hidden {
  display: none;
}

.Invisible {
  visibility: hidden;
}

.TextLeft {
  text-align: left;
}

.TextCenter {
  text-align: center;
}

.TextRight {
  text-align: right;
}

.TextJustify {
  text-align: justify;
}

.TextNowrap {
  white-space: nowrap;
}

.TextLowercase {
  text-transform: lowercase;
}

.TextUppercase {
  text-transform: uppercase;
}

.TextCapitalize {
  text-transform: capitalize;
}

.TextLink {
  color: #147bff;
  font-weight: bold;
  text-decoration: revert;
}

main {
  overflow: hidden;
  background: #edf0f2;
}

/* RESPONSIVE
 * ----------------------------------------------- */
@media print, (min-width: 768px) {
  body {
    font-size: 14px;
    position: static !important;
    top: auto !important;
    width: 100% !important;
  }

  .Wrapper {
    max-width: 1520px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 80px;
    padding-right: 80px;
  }

  .Sm {
    display: none !important;
  }

  .Trans {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
    -moz-transition: opacity 0.26s ease;
    -o-transition: opacity 0.26s ease;
    -webkit-transition: opacity 0.26s ease;
    transition: opacity 0.26s ease;
  }
  .Trans:hover {
    opacity: 0.8 !important;
  }
}
@media only screen and (max-width: 767px) {
  .Md {
    display: none !important;
  }

  html {
    font-size: calc(100vw / 3.9);
  }

  body {
    font-size: 0.28rem;
  }

  .Container {
    min-width: 320px;
  }

  .Wrapper {
    width: 100%;
    padding-left: 0.3rem;
    padding-right: 0.3rem;
  }
  .Wrapper.guideWr {
    padding-left: 0;
    padding-right: 0;
  }
}
/* PARTS
 * ----------------------------------------------- */
header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 99;
  opacity: 1;
  visibility: visible;
  transition: all 0.3s;
  pointer-events: none;
}
header a,
header li,
header .ButtonMenu,
header .HeaderNavigation {
  pointer-events: visible;
}
header:not(.IsSticky) ~ .ListItems {
  display: none;
}
header.IsSubpage ~ .ListItems {
  display: block;
}
header.IsSticky:not(.IsShow), header.IsSubpage:not(.IsShow) {
  position: fixed;
  padding: 38px 0 0;
  opacity: 0;
  transform: translateY(-100%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
header.IsSticky:not(.IsShow) .LogoImage:not(.IsFixed), header.IsSubpage:not(.IsShow) .LogoImage:not(.IsFixed) {
  display: none;
}
header.IsSticky:not(.IsShow) .LogoImage.IsFixed, header.IsSubpage:not(.IsShow) .LogoImage.IsFixed {
  transition: all 0.3s;
}
header.IsSticky:not(.IsShow) .HeaderInner, header.IsSubpage:not(.IsShow) .HeaderInner {
  padding-left: 0;
  align-items: flex-start;
}
header.IsSticky:not(.IsShow) .HeaderNavigation .NavigationLink, header.IsSubpage:not(.IsShow) .HeaderNavigation .NavigationLink {
  color: #dcdad9;
}
header.IsSticky:not(.IsShow) .NavigationItem.IsMypage .NavigationLink, header.IsSubpage:not(.IsShow) .NavigationItem.IsMypage .NavigationLink {
  background-image: url("../images/common/ico_user_gray.png");
}
header.IsSticky:not(.IsShow) .NavigationLink.IsDropdown, header.IsSubpage:not(.IsShow) .NavigationLink.IsDropdown {
  background-image: url("../images/common/ico_dropdown_gray.png");
}
header.IsSubpage:not(.IsShow), header.IsFixed:not(.IsShow) {
  opacity: 1;
  transform: translateY(0);
  padding-top: 32px;
  position: fixed;
  mix-blend-mode: difference;
}
header.IsSubpage:not(.IsShow)::before, header.IsFixed:not(.IsShow)::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
}
header.IsSubpage:not(.IsShow) .LogoImage.IsFixed, header.IsFixed:not(.IsShow) .LogoImage.IsFixed {
  opacity: 1;
  visibility: visible;
  top: 6px;
  left: 0;
  padding: 0;
}
header.IsSubpage:not(.IsShow) .ListItems, header.IsFixed:not(.IsShow) .ListItems {
  display: none;
}
header.IsHidden {
  opacity: 0;
  visibility: hidden;
}
header .HeaderInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  position: relative;
}
header .LogoImage {
  display: block;
}
header .LogoImage img {
  width: 100%;
}
header .LogoImage.IsFixed {
  opacity: 0;
  visibility: hidden;
  width: 100px;
}

.HeaderNavigation .NavigationLink {
  display: flex;
  align-items: center;
  color: #232526;
  letter-spacing: 0.024em;
}
.HeaderNavigation li {
  font-weight: bold;
  position: relative;
}
.HeaderNavigation .NavigationItem.IsMypage {
  margin-left: 54px;
}
.HeaderNavigation .NavigationItem.IsMypage .NavigationLink {
  padding-right: 50px;
  background: url("../images/common/ico_user.png") right 1px center/36px auto no-repeat;
}
.HeaderNavigation .NavigationLink.IsDropdown {
  padding-right: 16px;
  background: url("../images/common/ico_dropdown.svg") right center/11px auto no-repeat;
}

@media print, (min-width: 768px) {
  header {
    padding: 56px 0 31px;
  }
  header.IsSticky:not(.IsShow) .HeaderInner {
    margin-left: 40px;
  }
  header.IsSubpage:not(.IsShow) .HeaderInner {
    margin-left: 40px;
  }
  header.IsSticky:not(.IsShow) .HeaderNavigation, header.IsSubpage:not(.IsShow) .HeaderNavigation {
    padding-top: 1px;
  }
  header .HeaderInner {
    width: calc(100% - 80px);
    margin: 0 40px;
  }
  header .LogoImage {
    position: absolute;
    top: 0;
    left: 0;
    width: 320px;
  }
  header.IsSticky:not(.IsShow) .NavigationLink.IsHover {
    color: #675d4a;
    background-image: url("../images/common/ico_dropdown_gray_active.svg");
  }
  header .HeaderNavigation {
    display: block;
  }

  .HeaderNavigation {
    display: none;
    padding-top: 8px;
  }
  .HeaderNavigation .NavigationLink:hover + .ListItems,
  .HeaderNavigation .ListItems:hover {
    opacity: 1;
    visibility: visible;
    transition: all 0.3s;
  }
  .HeaderNavigation .ListNavigation {
    display: flex;
  }
  .HeaderNavigation .ListItems {
    position: absolute;
    width: 180px;
    background: #fff;
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.16);
    padding: 18px 26px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    mix-blend-mode: unset;
    border-radius: 6px;
    right: 0;
  }
  .HeaderNavigation .ListItems a {
    display: block;
    padding: 6px 0;
    color: #000;
  }
  .HeaderNavigation .ListItems span {
    display: block;
    color: #a8a8a8;
    font-size: 10px;
    transform: scale(0.9);
    transform-origin: left center;
    line-height: 1.6;
  }
  .HeaderNavigation li {
    font-size: 14px;
  }
  .HeaderNavigation .NavigationItem {
    margin-left: 32px;
  }
  .HeaderNavigation .NavigationLink {
    min-height: 36px;
    padding: 16px 0;
  }
  .HeaderNavigation .NavigationLink.IsDropdown:hover,
  .HeaderNavigation .NavigationItem:hover .NavigationLink.IsDropdown {
    color: #98a2b5;
    background-image: url("../images/common/ico_dropdown_active.svg");
  }
  .HeaderNavigation .NavigationItem:hover .NavigationLink.IsDropdown,
  .HeaderNavigation .NavigationLink.IsDropdown:hover {
    color: #675d4a;
    background-image: url("../images/common/ico_dropdown_gray_active.svg");
  }

  .Container > .ListItems {
    position: fixed;
    width: 180px;
    background: #fff;
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.16);
    padding: 18px 26px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    mix-blend-mode: unset;
    border-radius: 6px;
    z-index: 51;
    right: 40px;
    margin-left: -60px;
  }
  .Container > .ListItems a {
    display: block;
    padding: 6px 0;
    color: #000;
    font-weight: bold;
  }
  .Container > .ListItems span {
    display: block;
    color: #a8a8a8;
    font-size: 10px;
    transform: scale(0.9);
    transform-origin: left center;
    line-height: 1.6;
  }
  .Container > .ListItems.IsShow {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 751px) and (max-width: 1700px) {
  header .LogoImage {
    width: 320px;
  }

  .IsIphone header .LogoImage {
    width: 100px;
    padding: 40px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1520px) {
  header .HeaderInner {
    margin: 0 40px;
  }
  header.IsSticky:not(.IsShow) .HeaderInner {
    margin-left: 40px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1025px) {
  header .LogoImage {
    width: 220px;
  }

  .HeaderNavigation {
    padding-top: 0;
  }
  .HeaderNavigation li {
    font-size: 12px;
  }
  .HeaderNavigation .NavigationItem {
    margin-left: 15px;
  }
  .HeaderNavigation .NavigationItem.IsMypage {
    margin-left: 20px;
  }
}
@media print, (min-width: 1920px) {
  header.IsFixed .HeaderInner,
  header.IsSubpage .HeaderInner {
    margin: 0 auto !important;
  }
}
@media only screen and (max-width: 767px) {
  .Container {
    position: relative;
  }

  header {
    padding: 0.2rem 0.2rem;
  }
  header .HeaderNavigation {
    display: none;
  }
  header.IsSubpage {
    mix-blend-mode: difference;
  }
  header.IsSticky .LogoImage, header.IsSubpage .LogoImage {
    width: 0.83rem;
  }
  header .LogoImage.MenuLogo {
    top: 0.29rem;
    left: 0.3rem;
    width: 0.83rem;
  }
  header .HeaderInner {
    align-items: flex-start;
  }
  header .LogoImage {
    display: block;
    width: 1.64rem;
    position: absolute;
    left: 0;
    top: 0.1rem;
    z-index: 11;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  header li {
    font-size: 0.12rem;
  }
  header.IsSticky:not(.IsShow), header.IsSubpage:not(.IsShow) {
    padding: 0.2rem 0.2rem 0;
  }
  header.IsSticky:not(.IsShow) .LogoImage.IsFixed, header.IsSubpage:not(.IsShow) .LogoImage.IsFixed {
    width: 0.64rem;
    top: 0.1rem;
  }
  header.IsSticky:not(.IsShow) .ButtonMenu.IsShow, header.IsSubpage:not(.IsShow) .ButtonMenu.IsShow {
    background-image: url(../images/common/btn_menu_close.svg);
  }
  header.IsSticky:not(.IsShow) .ButtonMenu, header.IsSubpage:not(.IsShow) .ButtonMenu {
    background-image: url(../images/common/btn_menu_invert.svg);
  }

  .ButtonMenu {
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    background: url(../images/common/btn_menu.svg) center/cover no-repeat;
    margin-top: 0.09rem;
    position: relative;
    z-index: 21;
  }
  .ButtonMenu span {
    position: absolute;
    font-size: 0.08rem;
    font-weight: bold;
    letter-spacing: 0.28em;
    left: 50%;
    bottom: -0.17rem;
    white-space: nowrap;
    transform: translateX(-50%);
    color: #232526;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
  }

  .ButtonMenu.IsShow {
    background-image: url(../images/common/btn_menu_close.svg);
  }
  .ButtonMenu.IsShow span {
    opacity: 1;
    visibility: visible;
  }

  .HeaderNavigation {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: auto;
    padding: 2.08rem 0 1.5rem;
    background: #fff;
    z-index: 11;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  .HeaderNavigation.IsShow {
    opacity: 1;
    visibility: visible;
  }
  .HeaderNavigation .LogoImage {
    width: 0.83rem;
    position: absolute;
    left: 0;
    top: 0.1rem;
  }
  .HeaderNavigation .NavigationInner {
    padding: 0 0.31rem 0 0.54rem;
  }
  .HeaderNavigation .NavigationItem {
    margin: 0;
  }
  .HeaderNavigation .NavigationItem.IsMypage {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    right: 1.11rem;
    top: 0.38rem;
    transition: all 0.3s;
  }
  .HeaderNavigation .NavigationItem.IsMypage .NavigationLink {
    letter-spacing: 0.01em;
    padding-right: 0.36rem;
    font-size: 0.12rem;
    font-weight: bold;
    background-size: 0.26rem;
  }
  .HeaderNavigation .NavigationLink {
    font-size: 0.18rem;
    padding: 0.09rem 0;
  }
  .HeaderNavigation .NavigationLink.IsDropdown {
    background: none !important;
  }
  .HeaderNavigation .ListItems {
    margin: 0.07rem 0 0 0.21rem;
  }
  .HeaderNavigation .ListItems li {
    margin-bottom: 0.12rem;
    font-size: 0.12rem;
  }
  .HeaderNavigation .ListItems li:last-child {
    margin-bottom: 0.09rem;
  }
  .HeaderNavigation .ListItems a {
    font-size: 0.12rem;
    position: relative;
  }
  .HeaderNavigation .ListItems a::before {
    content: "-";
    position: absolute;
    left: -0.08rem;
    top: -0.03rem;
  }
  .HeaderNavigation .ListItems span {
    display: block;
    font-size: 0.09rem;
    color: #a8a8a8;
    margin-top: 0.03rem;
  }
  .HeaderNavigation .HeaderSocial {
    text-align: right;
    margin-top: 0.62rem;
  }
  .HeaderNavigation .SocialLink {
    font-size: 0.12rem;
    font-weight: bold;
    padding-right: 0.2rem;
    position: relative;
    color: #000;
  }
  .HeaderNavigation .SocialLink::before {
    content: "";
    display: block;
    width: 0.13rem;
    height: 0.13rem;
    background: url("../images/common/ico_blank.svg") center/contain no-repeat;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .HeaderNavigation .SocialList {
    display: flex;
    justify-content: flex-end;
    margin: 0.23rem 0;
  }
  .HeaderNavigation .SocialList li {
    width: 0.4rem;
    margin-left: 0.11rem;
  }

  .HeaderNavigation.NavbarSp {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
  }
  .HeaderNavigation.NavbarSp .NavigationItem.IsMypage {
    opacity: 1;
    visibility: visible;
  }
  .HeaderNavigation.NavbarSp .ButtonMenu {
    margin: 0;
    top: 0.29rem;
    right: 0.2rem;
    position: fixed;
  }
  .HeaderNavigation.NavbarSp .LogoImage {
    width: 0.83rem;
    top: 0.3rem;
    left: 0.2rem;
    position: absolute;
  }

  .Container > .ListItems {
    display: none !important;
  }

  .IsIphone .HeaderNavigation .SocialLink::before {
    top: 58%;
  }
  .IsIphone .HeaderNavigation .ListItems a::before {
    top: -0.02rem;
  }
  .IsIphone footer .SocialLink::before {
    top: 56%;
  }

  .IsIphone .SectionTopKeyvisual .KeyvisualText span {
    display: inline-block;
    line-height: 1;
    padding: 0.04rem 0.05rem;
  }
}
@media screen and (min-width: 320px) and (max-width: 767px) and (orientation: landscape) {
  header {
    padding: 20px 30px 0 30px;
  }
  header.IsSticky:not(.IsShow), header.IsSubpage:not(.IsShow) {
    padding: 20px 30px 0 30px;
  }
  header.IsSticky:not(.IsShow) .LogoImage.IsFixed, header.IsSubpage:not(.IsShow) .LogoImage.IsFixed {
    width: 83px;
    top: 10px;
  }
  header.IsShow .LogoImage {
    width: 83px;
    top: 10px;
  }

  .HeaderNavigation {
    height: 100vh;
    padding: 208px 0 150px;
    top: 0;
  }
  .HeaderNavigation .NavigationInner {
    padding: 0 31px 0 54px;
  }
  .HeaderNavigation .NavigationItem.IsMypage {
    right: 111px;
    top: 38px;
  }
  .HeaderNavigation .NavigationItem.IsMypage .NavigationLink {
    padding-right: 36px;
    font-size: 12px;
    background-size: 26px;
  }
  .HeaderNavigation li {
    margin-bottom: 12px;
    font-size: 12px;
  }
  .HeaderNavigation .ListItems {
    margin: 7px 0 0 21px;
  }
  .HeaderNavigation .ListItems li {
    margin-bottom: 12px;
  }
  .HeaderNavigation .ListItems a {
    font-size: 12px;
  }
  .HeaderNavigation .ListItems span {
    font-size: 9px;
    margin-top: 3px;
  }
  .HeaderNavigation .NavigationLink {
    padding: 9px 0;
    font-size: 18px;
  }
  .HeaderNavigation .HeaderSocial {
    margin-top: 62px;
  }
  .HeaderNavigation .SocialLink {
    font-size: 12px;
    padding-right: 20px;
  }
  .HeaderNavigation .SocialLink::before {
    width: 13px;
    height: 13px;
  }
  .HeaderNavigation .SocialList li {
    width: 40px;
    margin-left: 11px;
  }

  .HeaderNavigation.NavbarSp .ButtonMenu {
    top: 29px;
    right: 30px;
  }
  .HeaderNavigation.NavbarSp .LogoImage {
    width: 83px;
    top: 30px;
    left: 30px;
  }

  .ButtonMenu {
    width: 50px;
    height: 50px;
    margin-top: 9px;
  }
  .ButtonMenu span {
    bottom: -17px;
    font-size: 8px;
  }
}
footer .FooterLogo {
  display: block;
}
footer .FooterSocial {
  text-align: right;
}
footer .FooterCopyright {
  display: block;
  text-align: right;
  font-weight: 400;
}
footer .SocialLink {
  font-weight: bold;
  line-height: 2;
  position: relative;
  color: #000;
}
footer .SocialLink::before {
  content: "";
  display: block;
  background: url("../images/common/ico_blank.svg") center/contain no-repeat;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
footer .SocialList {
  display: flex;
  justify-content: flex-end;
}
footer .FooterInfo {
  position: relative;
}
footer .ButtonToTop {
  display: block;
  align-items: center;
  justify-content: center;
  background: transparent url("../images/common/btn_top_bg.svg") center/contain no-repeat;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  font-weight: bold;
  color: #fff;
  padding-top: 30px;
  text-align: center;
  letter-spacing: 0.16em;
  cursor: pointer;
  position: fixed;
  right: calc(50% - 740px);
  z-index: 11;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
footer .ButtonToTop.IsStop {
  position: absolute;
  top: 0;
  transform: translateY(-50%);
}
footer .ButtonToTop.IsShow {
  opacity: 1;
  visibility: visible;
}

@media print, (min-width: 768px) {
  footer .FooterInfo {
    padding: 117px 0 72px;
  }
  footer .FooterLogo {
    width: 320px;
  }
  footer .FooterCopyright {
    font-size: 11px;
  }
  footer .FooterSocial {
    margin-top: -96px;
  }
  footer .SocialLink {
    font-size: 16px;
    padding-right: 20px;
  }
  footer .SocialLink::before {
    width: 18px;
    height: 18px;
    top: 54%;
  }
  footer .SocialList {
    margin: 19px 0 78px;
  }
  footer .SocialList li {
    margin-left: 15px;
  }
  footer .ButtonToTop {
    width: 100px;
    height: 100px;
    padding-top: 52px;
    bottom: 100px;
    right: calc(50% - 740px);
    font-size: 19px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1520px) {
  footer .ButtonToTop {
    right: 20px;
  }

  .IsIphone footer .ButtonToTop {
    width: 50px;
    height: 50px;
    padding-top: 26px;
    right: 30px;
    font-size: 9px;
    background: #000 url(../images/common/btn_top_bg.svg) center -1px/100% auto no-repeat;
  }
}
@media only screen and (max-width: 767px) {
  footer .FooterInfo {
    padding: 0.71rem 0 0.4rem;
  }
  footer .FooterLogo {
    width: 1.34rem;
  }
  footer .FooterSocial {
    margin-top: 0.4rem;
  }
  footer .FooterCopyright {
    font-size: 0.1rem;
  }
  footer .SocialLink {
    font-size: 0.12rem;
    padding-right: 0.2rem;
  }
  footer .SocialLink::before {
    width: 0.135rem;
    height: 0.135rem;
  }
  footer .SocialList {
    margin: 0.21rem 0 0.27rem;
  }
  footer .SocialList li {
    width: 0.4rem;
    margin-left: 0.1rem;
  }
  footer .ButtonToTop {
    width: 0.5rem;
    height: 0.5rem;
    padding-top: 0.26rem;
    bottom: 50px;
    right: 0.2rem;
    font-size: 0.09rem;
    box-shadow: 0 0 0.14rem rgba(0, 0, 0, 0.25);
    background: #000 url(../images/common/btn_top_bg.svg) center -0.01rem/100% auto no-repeat;
  }
}
@media screen and (min-width: 320px) and (max-width: 767px) and (orientation: landscape) {
  footer .ButtonToTop {
    width: 50px;
    height: 50px;
    padding-top: 26px;
    right: 30px;
    font-size: 9px;
    background-position: center -1px;
  }
}
@media screen and (min-width: 320px) and (max-width: 568px) and (orientation: landscape) {
  footer .ButtonToTop {
    bottom: 10px;
  }
}
/* MODULES
 * ----------------------------------------------- */
.message .overlay {
  display: none;
  width: 100%;
  height: auto;
  background: rgba(255, 255, 255, 0.98);
  -moz-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  position: fixed;
  z-index: 10000;
}
.message .btn_area {
  width: 100%;
  height: 100%;
  z-index: 10001;
}
.message .btn_area .brandMessage {
  overflow-y: auto;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  display: flex;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  margin: auto;
}
.message .btn_area .brandMessage .txtArea {
  height: auto;
  margin: auto;
  color: #bd0000;
}
.message .btn_area .brandMessage .txtArea p.messageTitle {
  font-weight: bold;
  line-height: 1.8;
}
.message .btn_area .brandMessage .txtArea p.messageTxt {
  font-family: "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0.01em;
}
.message .btn_area .brandMessage::-webkit-scrollbar {
  display: none;
}
.message .btn_area button {
  display: block;
  text-align: left;
  border-bottom: solid 1px #bd0000;
  padding-bottom: 0.2em;
  display: table;
  color: #bd0000;
  font-weight: bold;
  opacity: 1;
  transition: opacity 0.3s linear;
}
.message button:hover {
  opacity: 0.6;
  transition: opacity 0.3s linear;
}
.message .caution {
  font-size: 1.2rem;
  line-height: 2rem;
  color: red;
}
@media print, (min-width: 768px) {
  .message .overlay {
    max-width: 480px;
    left: 50px;
    bottom: 50px;
  }
  .message .brandMessage {
    width: 100%;
    height: 100%;
    padding: 3em;
  }
  .message p.messageTitle {
    font-size: 18px;
    letter-spacing: 0.06rem;
    margin-bottom: 10px;
  }
  .message p.messageTxt {
    font-size: 13px;
    margin-bottom: 10px;
  }
  .message .btn_area button {
    font-size: 14px;
  }
  .message .closeButton {
    padding: 1.2em 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .message .overlay {
    max-width: 100%;
    left: 0;
    bottom: 0;
  }
  .message .brandMessage {
    padding: 25px 25px 40px 25px;
    height: 100%;
  }
  .message p.messageTitle {
    font-size: 14px;
    margin-bottom: 10px;
    letter-spacing: 0;
  }
  .message p.messageTxt {
    font-size: 11px;
    margin-bottom: 10px;
  }
  .message .btn_area button {
    font-size: 12px;
  }
  .message .closeButton {
    padding: 0.2em 0 0;
  }
}

.message2nd .overlay2nd {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(64, 64, 64, 0.9);
  -moz-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  position: fixed;
  z-index: 20000;
}
.message2nd .btn_box {
  width: 100%;
  height: 100%;
  z-index: 20001;
}
.message2nd .btn_box .brandMessage {
  overflow-y: auto;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  display: flex;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  margin: auto;
}
.message2nd .btn_box .brandMessage .txtArea {
  height: auto;
  margin: auto;
  color: #232526;
  background-color: #fff;
}
.message2nd .btn_box .brandMessage .txtArea figure {
  width: 100%;
}
.message2nd .btn_box .brandMessage .txtArea img {
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}
.message2nd .btn_box .brandMessage .txtArea p.messageTitle {
  font-weight: bold;
  line-height: 1.8;
}
.message2nd .btn_box .brandMessage .txtArea p.messageTxt {
  font-family: "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0.01em;
}
.message2nd .btn_box .brandMessage .txtArea p.DetailEvent {
  font-weight: bold;
}
.message2nd .btn_box .brandMessage .txtArea p.DetailEvent.Time2nd:before {
  content: "";
  display: block;
  background: #232526;
  left: 0;
  top: 0;
}
.message2nd .btn_box .brandMessage .txtArea .DetailTitle {
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.2rem;
}
.message2nd .btn_box .brandMessage .txtArea .DetailText {
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}
.message2nd .btn_box .brandMessage .txtArea .DetailSupp {
  font-weight: bold;
  text-align: center;
  color: #b40000;
}
.message2nd .btn_box .brandMessage .txtArea .DetailEvent {
  font-weight: bold;
}
.message2nd .btn_box .brandMessage .txtArea .EventTime {
  line-height: 1;
  text-align: center;
}
.message2nd .btn_box .brandMessage .txtArea .EventTime span {
  display: block;
  line-height: 1.3;
}
.message2nd .btn_box .brandMessage .txtArea .TimeHour {
  display: flex;
  align-items: flex-end;
  line-height: 1.6;
}
.message2nd .btn_box .brandMessage .txtArea .TimeSche2nd {
  line-height: 1.6;
  font-feature-settings: "palt";
  text-align: center;
}
.message2nd .btn_box .brandMessage .txtArea .StartTime {
  position: relative;
}
.message2nd .btn_box .brandMessage .txtArea .StartTime::before {
  content: "";
  display: block;
  background: #000;
  position: absolute;
  top: 50%;
  transform: translateX(-50%);
}
.message2nd .btn_box .brandMessage .txtArea .TimeLabel {
  color: #000;
  line-height: 2.5;
}
.message2nd .btn_box .brandMessage .txtArea .TimeLabelTalk {
  color: #000;
  line-height: 2.5;
}
.message2nd .btn_box .brandMessage .txtArea .TimeNote {
  color: #bd0000;
  line-height: 1.75;
  text-align: center;
}
.message2nd .btn_box .brandMessage .txtArea .TimeNote.note2nd {
  color: #232526;
  margin: 24px 0;
}
.message2nd .btn_box .brandMessage .txtArea .dLine {
  background-color: #EDF0F2;
  display: table;
  padding: 8px 10px;
}
.message2nd .btn_box .brandMessage .txtArea .dLine.dEnd {
  background-color: #bdbdbd;
  color: #868686;
}
.message2nd .btn_box .brandMessage .txtArea .ListItems li {
  display: flex;
  align-items: center;
}
.message2nd .btn_box .brandMessage .txtArea .ItemLabel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.08em;
  background: #000;
}
.message2nd .btn_box .brandMessage .txtArea .ItemText {
  font-weight: bold;
  color: #0a0b0b;
}
.message2nd .btn_box .brandMessage .txtArea .ItemText.IsSmall {
  color: #000;
}
.message2nd .btn_box .brandMessage .txtArea .InformationImage {
  flex: 1;
}
.message2nd .btn_box .brandMessage::-webkit-scrollbar {
  display: none;
}
.message2nd .btn_box button {
  display: block;
  margin: auto;
  text-align: center;
  padding: 0.8rem 2.6rem;
  background-color: #232526;
  color: #ffffff;
  border-radius: 25px;
  font-weight: bold;
  opacity: 1;
  transition: opacity 0.3s linear;
  -moz-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 5px 36px 5px rgba(0, 0, 0, 0.1);
}
.message2nd button:hover {
  opacity: 0.6;
  transition: opacity 0.3s linear;
}
.message2nd .caution {
  font-size: 1.2rem;
  line-height: 2rem;
  color: red;
}
@media print, (min-width: 768px) {
  .message2nd .overlay {
    max-width: 480px;
    left: 50px;
    bottom: 50px;
  }
  .message2nd .brandMessage {
    width: 100%;
    height: 100%;
    padding: 3em;
  }
  .message2nd .brandMessage .txtArea {
    max-width: 480px;
    padding: 48px;
  }
  .message2nd figure {
    margin-bottom: 48px;
  }
  .message2nd p.messageTitle {
    font-size: 18px;
    letter-spacing: 0.06rem;
    margin-bottom: 10px;
  }
  .message2nd p.messageTxt {
    font-size: 13px;
    margin-bottom: 10px;
  }
  .message2nd .DetailTitle {
    font-size: 42px;
  }
  .message2nd .DetailText {
    font-size: 15px;
    margin: 16px 0 0;
    max-width: 650px;
  }
  .message2nd .DetailSupp {
    font-size: 13px;
    margin: 10px 0 0;
    max-width: 650px;
  }
  .message2nd .DetailEvent {
    margin-top: 32px;
    max-width: 650px;
  }
  .message2nd .DetailEvent.Time2nd {
    margin-top: 0;
  }
  .message2nd .DetailEvent.Time2nd:before {
    width: 100%;
    height: 5px;
  }
  .message2nd .EventTitle {
    font-size: 48px;
    line-height: 3.4rem;
  }
  .message2nd .EventTime {
    font-size: 32px;
  }
  .message2nd .EventTime.app2ndTtl {
    font-size: 24px;
  }
  .message2nd .EventTime span {
    font-size: 25px;
    margin: 0 16px 0 3px;
  }
  .message2nd .StartTime {
    font-size: 22px;
    margin-right: 20px;
  }
  .message2nd .StartTime::before {
    width: 7px;
    height: 2px;
    right: -17px;
  }
  .message2nd .EndTime {
    font-size: 22px;
  }
  .message2nd .EndTimeTalk {
    font-size: 22px;
    margin-right: 3px;
  }
  .message2nd .TimeLabel {
    font-size: 12px;
    margin: 0 5px 0 17px;
  }
  .message2nd .TimeLabelTalk {
    font-size: 12px;
    margin: 0 5px 0 0;
  }
  .message2nd .TimeNote {
    font-size: 14px;
    margin-top: 10px;
  }
  .message2nd .TimeSche2nd {
    font-size: 18px;
    letter-spacing: 0.04rem;
  }
  .message2nd .dLine.d2nd {
    font-size: 17px;
    margin: 18px auto 10px;
    display: inline-block;
  }
  .message2nd .ListItems {
    margin-top: 18px;
  }
  .message2nd .ListItems li {
    margin-bottom: 11px;
  }
  .message2nd .ItemLabel {
    width: 73px;
    height: 21px;
    font-size: 14px;
    padding: 2px 9px 0;
    margin-right: 12px;
  }
  .message2nd .ItemText {
    font-size: 16px;
  }
  .message2nd .ItemText.IsSmall {
    font-size: 16px;
  }
  .message2nd .InformationImage {
    padding-top: 8px;
    padding-left: 30px;
  }
  .message2nd .InformationImage .access-map {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
  }
  .message2nd .InformationImage .access-map iframe {
    width: 100%;
    height: 800px;
  }
  .message2nd .closeButton {
    padding: 24px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .message2nd .overlay {
    max-width: 100%;
    left: 0;
    bottom: 0;
  }
  .message2nd .brandMessage {
    padding: 25px 25px 40px 25px;
    height: 100%;
  }
  .message2nd .brandMessage .txtArea {
    max-width: 100%;
    padding: 0.42rem 0.3rem;
  }
  .message2nd figure {
    margin-bottom: 28px;
  }
  .message2nd p.messageTitle {
    font-size: 14px;
    margin-bottom: 10px;
    letter-spacing: 0;
  }
  .message2nd p.messageTxt {
    font-size: 11px;
    margin-bottom: 10px;
  }
  .message2nd .DetailTitle {
    font-size: 0.24rem;
    letter-spacing: 0.03rem;
  }
  .message2nd .DetailText {
    font-size: 0.14rem;
    margin: 0.11rem 0 0;
    line-height: 1.75;
  }
  .message2nd .DetailSupp {
    font-size: 0.12rem;
    margin: 0.05rem 0 0;
    line-height: 1.75;
  }
  .message2nd .DetailEvent.Time2nd:before {
    width: 100%;
    height: 5px;
  }
  .message2nd .EventTitle {
    font-size: 0.4rem;
  }
  .message2nd .EventTime {
    font-size: 0.28rem;
    margin: 0 0 0.06rem;
  }
  .message2nd .EventTime.app2ndTtl {
    font-size: 0.22rem;
    margin: 0;
  }
  .message2nd .EventTime span {
    font-size: 0.16rem;
    margin: 0 0.1rem 0 0.03rem;
  }
  .message2nd .StartTime {
    font-size: 0.18rem;
    margin-right: 0.12rem;
    line-height: 1.3;
  }
  .message2nd .StartTime::before {
    width: 0.05rem;
    height: 0.02rem;
    right: -0.12rem;
    top: 45%;
  }
  .message2nd .EndTime {
    font-size: 0.19rem;
    line-height: 1.3;
    margin-right: 0.14rem;
  }
  .message2nd .EndTimeTalk {
    font-size: 0.19rem;
    line-height: 1.3;
    margin-right: 0.02rem;
  }
  .message2nd .TimeLabel {
    font-size: 0.1rem;
    margin: 0 0.05rem 0 0;
    line-height: 2.2;
  }
  .message2nd .TimeLabelTalk {
    font-size: 0.1rem;
    margin: 0 0.05rem 0 0;
    line-height: 2.2;
  }
  .message2nd .TimeNote {
    font-size: 0.12rem;
    margin-top: 0.08rem;
  }
  .message2nd .TimeSche2nd {
    font-size: 0.15rem;
    letter-spacing: 0;
  }
  .message2nd .dLine {
    font-size: 0.15rem;
    margin-top: 0;
  }
  .message2nd .dLine.d2nd {
    margin: 0.18rem auto 0.1rem;
    display: inline-block;
  }
  .message2nd .ListItems {
    margin-top: 0.15rem;
  }
  .message2nd .ListItems li {
    margin-bottom: 0.06rem;
  }
  .message2nd .ItemLabel {
    width: 0.53rem;
    height: 0.14rem;
    font-size: 0.09rem;
    padding: 0 0.09rem;
    margin-right: 0.08rem;
  }
  .message2nd .ItemText {
    font-size: 0.14rem;
    line-height: 1.5;
  }
  .message2nd .ItemText.IsSmall {
    font-size: 0.14rem;
  }
  .message2nd .InformationImage {
    margin: 0.4rem -0.3rem;
    width: calc(100% + .6rem);
  }
  .message2nd .InformationImage .access-map {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
  }
  .message2nd .InformationImage .access-map iframe {
    width: 100%;
    height: 100vw;
  }
  .message2nd .btn_box button {
    font-size: 12px;
    padding: 0.1rem 0.3rem;
  }
  .message2nd .closeButton {
    padding: 0.6em 0 0;
  }
}

.SectionContact .ContactApply {
  background: #fff;
}
.SectionContact .ApplyTitle {
  font-weight: bold;
}
.SectionContact .ApplyText {
  color: #232526;
  font-weight: bold;
  line-height: 1.75;
}
.SectionContact .dLine {
  color: #232526;
  font-weight: bold;
  line-height: 1.75;
}
.SectionContact .dLine span {
  background: #edf0f2;
}
.SectionContact .dLine span.dEnd {
  background-color: #bdbdbd;
  color: #868686;
}
.SectionContact .ApplyLink {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fff;
  background: #232526 url("../images/common/ico_arrow_next_white.svg") right 34px center/8px auto no-repeat;
}
.SectionContact .ContactBlock {
  color: #fff;
  background: #282b33;
  text-align: center;
}
.SectionContact .ContactBlock.IsMedia {
  background: url("../images/common/contact_bg.jpg") center/cover no-repeat;
  position: relative;
}
.SectionContact .ContactBlock.IsMedia::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(92, 49, 0, 0.5);
  position: absolute;
  left: 0;
  top: 0;
  mix-blend-mode: multiply;
}
.SectionContact .ContactBlock.IsMedia .ContactLink {
  background: rgba(255, 255, 255, 0.75) url("../images/common/ico_arrow_next_black.svg") right 19px center/7px auto no-repeat;
  color: #232526;
  border: none;
}
.SectionContact .ContactInner {
  position: relative;
}
.SectionContact .ContactTitle {
  font-weight: bold;
}
.SectionContact .ContactSubTitle {
  font-weight: bold;
  line-height: 1.65;
}
.SectionContact .ContactText {
  font-weight: bold;
  line-height: 1.875;
  margin: 0 auto;
}
.SectionContact .ContactLink {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border: 2px solid #fff;
  font-weight: bold;
}

@media print, (min-width: 768px) {
  .SectionContact .ContactApply {
    padding: 108px 0 74px;
    text-align: center;
  }
  .SectionContact .ApplyTitle {
    font-size: 32px;
  }
  .SectionContact .ApplyText {
    max-width: 710px;
    font-size: 17px;
    margin: 22px auto;
  }
  .SectionContact .dLine {
    font-size: 20px;
    margin: 12px auto 20px;
  }
  .SectionContact .dLine span {
    padding: 10px 16px;
  }
  .SectionContact .ApplyLink {
    width: 560px;
    height: 80px;
    margin: 52px auto;
    font-size: 18px;
  }
  .SectionContact .ContactDetail {
    display: flex;
  }
  .SectionContact .ContactBlock {
    padding: 88px 0 60px;
    width: 50%;
  }
  .SectionContact .ContactBlock.IsMedia .ContactImage {
    max-width: 70%;
    min-height: 32px;
    width: 640px;
    margin: 44px auto 42px;
  }
  .SectionContact .ContactBlock.IsMedia .ContactLink {
    width: 211px;
    font-size: 15px;
    padding-top: 2px;
  }
  .SectionContact .ContactTitle {
    font-size: 27px;
    letter-spacing: 0.16em;
  }
  .SectionContact .ContactImage {
    width: 126px;
    margin: 20px auto;
    min-height: 73px;
  }
  .SectionContact .ContactSubTitle {
    font-size: 24px;
    margin: 26px 0 12px;
  }
  .SectionContact .ContactText {
    font-size: 14px;
    min-width: 300px;
  }
  .SectionContact .ContactLink {
    width: 292px;
    height: 44px;
    border: 2px solid #fff;
    font-size: 15px;
    margin: 40px auto;
  }
}
@media only screen and (max-width: 767px) {
  .SectionContact .ContactApply {
    text-align: left;
    padding: 0.52rem 0.3rem;
  }
  .SectionContact .ApplyTitle {
    font-size: 0.2rem;
  }
  .SectionContact .ApplyText {
    font-size: 0.13rem;
    margin: 0.14rem auto;
    line-height: 1.85;
  }
  .SectionContact .dLine {
    font-size: 0.16rem;
    margin: 0 auto 0.14rem;
    line-height: 1.85;
  }
  .SectionContact .dLine span {
    font-size: 0.15rem;
    padding: 8px 10px;
  }
  .SectionContact .ApplyLink {
    width: 100%;
    height: 0.6rem;
    margin: 0.18rem auto 0.05rem;
    font-size: 0.17rem;
  }
  .SectionContact .ContactBlock {
    padding: 0.48rem 0 0.27rem;
  }
  .SectionContact .ContactBlock.IsMedia {
    background-image: url(../images/common/sp/contact_bg.jpg);
  }
  .SectionContact .ContactBlock.IsMedia .ContactImage {
    width: 3.3rem;
    margin: 0.22rem auto 0.34rem;
  }
  .SectionContact .ContactTitle {
    font-size: 0.28rem;
    letter-spacing: 0.16em;
  }
  .SectionContact .ContactImage {
    width: 99px;
    margin: 15px auto 0;
  }
  .SectionContact .ContactSubTitle {
    font-size: 0.17rem;
    margin: 0.23rem 0 0.09rem;
    line-height: 1.55;
  }
  .SectionContact .ContactText {
    font-size: 0.12rem;
    max-width: 85%;
    line-height: 2;
  }
  .SectionContact .ContactLink {
    margin: 0.31rem auto;
    max-width: 3.3rem;
    height: 0.5rem;
    border: 2px solid #fff;
    font-size: 0.14rem;
  }
}
.applyCheck {
  max-width: 1180px;
  margin: auto;
}

@media print, (min-width: 768px) {
  .applyCheck {
    margin: 0 auto 56px;
    padding: 0 80px;
  }
}
@media only screen and (max-width: 767px) {
  .applyCheck {
    margin: 1em auto 0;
  }
}
.un_cfr-checklist-title {
  border: solid 3px #009944;
  text-align: center;
  color: #009944;
}
.un_cfr-checklist-title .un_cfr-checklist-head {
  font-weight: bold;
  line-height: 1.6em;
}
.un_cfr-checklist-title .un_cfr-checklist-supp {
  font-weight: bold;
  line-height: 1.6em;
  margin-top: 0.5em;
}

@media print, (min-width: 768px) {
  .un_cfr-checklist-title {
    border-radius: 12px;
    padding: 35px;
  }
  .un_cfr-checklist-title .un_cfr-checklist-head {
    font-size: 26px;
  }
  .un_cfr-checklist-title .un_cfr-checklist-supp {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .un_cfr-checklist-title {
    border-radius: 6px;
    padding: 15px;
  }

  .un_cfr-checklist-head {
    font-size: 0.18rem;
  }

  .un_cfr-checklist-supp {
    font-size: 0.12rem;
  }
}
.un_cfr-checkitems {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.un_cfr-checkitems .un_cfr-checkitems-item {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  width: calc(100% / 2 - 4px);
  margin-top: 8px;
  border: solid 3px #009944;
  color: #009944;
}
.un_cfr-checkitems .un_cfr-checkitems-item:hover {
  opacity: 0.75;
}
.un_cfr-checkitems .un_cfr-checkitems-item p {
  font-weight: bold;
  margin-bottom: 10px;
  text-align: left;
}
.un_cfr-checkitems .un_cfr-checkitems-item p span {
  display: inline-block;
  line-height: 1.4;
  font-weight: normal;
}
.un_cfr-checkitems .un_cfr-checkitems-item figure {
  margin: auto auto 0 auto;
}
.un_cfr-checkitems .un_cfr-checkitems-item figure img {
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}
.un_cfr-checkitems .un_cfr-checkitems-item div {
  margin-top: 15px;
  text-align: center;
  color: black;
  font-weight: bold;
}
.un_cfr-checkitems .un_cfr-checkitems-item div i {
  margin-left: 5px;
  font-size: 40px;
  color: gainsboro;
  vertical-align: middle;
}
.un_cfr-checkitems .un_cfr-checkitems-item.checked {
  background: #E4F4EB;
}
.un_cfr-checkitems .un_cfr-checkitems-item.checked div i {
  color: #009944;
}

@media print, (min-width: 768px) {
  .un_cfr-checkitems-item {
    position: relative;
    padding: 25px;
    border-radius: 12px;
  }
  .un_cfr-checkitems-item:nth-child(5), .un_cfr-checkitems-item:nth-child(6) {
    width: calc(100% / 2 - 4px);
  }
  .un_cfr-checkitems-item:nth-child(5) figure, .un_cfr-checkitems-item:nth-child(6) figure {
    width: 80%;
  }
  .un_cfr-checkitems-item p {
    font-size: 21px;
    line-height: 1.6em;
  }
  .un_cfr-checkitems-item p span {
    font-size: 14px;
  }
  .un_cfr-checkitems-item figure {
    width: 80%;
  }
  .un_cfr-checkitems-item div {
    width: auto;
    position: absolute;
    right: 25px;
    bottom: 25px;
    font-size: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .un_cfr-checkitems-item {
    padding: 15px;
    border-radius: 6px;
  }
  .un_cfr-checkitems-item:nth-child(5), .un_cfr-checkitems-item:nth-child(6) {
    width: 100%;
  }
  .un_cfr-checkitems-item:nth-child(5) figure, .un_cfr-checkitems-item:nth-child(6) figure {
    width: 50%;
  }
  .un_cfr-checkitems-item p {
    font-size: 0.16rem;
  }
  .un_cfr-checkitems-item p span {
    font-size: 0.12rem;
  }
  .un_cfr-checkitems-item figure {
    width: 100%;
  }
  .un_cfr-checkitems-item div {
    width: 100%;
    font-size: 0.15rem;
  }
}
.un_cfr-button-reservation {
  line-height: 1.4em;
  font-weight: bold;
  margin-top: 8px;
  display: block;
  background: #009944;
  border-radius: 9px;
  color: white;
  text-align: center;
  text-decoration: none;
  padding: 1em 0.6em;
}
.un_cfr-button-reservation:hover {
  opacity: 0.75;
}
.un_cfr-button-reservation.disable {
  background: gainsboro;
  pointer-events: none;
}
.un_cfr-button-reservation small {
  font-size: 50%;
}

@media print, (min-width: 768px) {
  .un_cfr-button-reservation {
    font-size: 24px;
    border-radius: 12px;
    transition: opacity 0.25s linear;
  }
}
@media only screen and (max-width: 767px) {
  .un_cfr-button-reservation {
    font-size: 0.18rem;
    border-radius: 6px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1025px) {
  .un_cfr-checkitems-item figure {
    width: 100%;
  }
  .un_cfr-checkitems-item div {
    width: 100%;
    position: unset;
  }
}
/* COMPASS
 * ----------------------------------------------- */
/* BASE
 * ----------------------------------------------- */
/* MEDIA QUERIES
 * ----------------------------------------------- */
/* MODULES
 * ----------------------------------------------- */
.wow {
  visibility: hidden;
}

@media print {
  .wow {
    visibility: visible !important;
  }
}
.animated {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fade-in-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fade-in-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
.fade-in-up {
  -webkit-animation-name: fade-in-up;
  animation-name: fade-in-up;
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fade-in {
  -webkit-animation-name: fade-in;
  animation-name: fade-in;
}

/* Wow
 * ----------------------------------------------- */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/*# sourceMappingURL=Wow.css.map */
/* PAGE
 * ----------------------------------------------- */
.SectionProblemInfo .InfoInner {
  margin: 0 auto;
}
.SectionProblemInfo .InfoTitle {
  font-weight: bold;
  color: #232526;
  line-height: 1.75;
}
.SectionProblemInfo .InfoText {
  line-height: 2;
  color: #232526;
  font-weight: bold;
}
.SectionProblemInfo .InfoLink {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  background: url("../images/common/ico_arrow_next_black.svg") right 32px center/9px auto no-repeat;
}

@media print, (min-width: 768px) {
  .SectionProblemInfo {
    margin: 233px 0 243px;
  }
  .SectionProblemInfo.IsEnd {
    margin: 120px 0 160px;
  }
  .SectionProblemInfo.IsEnd .InfoTitle {
    margin-bottom: 80px;
  }
  .SectionProblemInfo .InfoInner {
    max-width: 718px;
  }
  .SectionProblemInfo .InfoTitle {
    font-size: 54px;
    margin-bottom: 63px;
  }
  .SectionProblemInfo .InfoText {
    font-size: 18px;
    padding: 0 5px;
    margin-bottom: 36px;
  }
  .SectionProblemInfo .InfoLink {
    margin: 117px auto;
    width: 560px;
    height: 80px;
    border: 2px solid #232526;
    font-size: 21px;
  }
}
@media only screen and (max-width: 767px) {
  .SectionProblemInfo {
    margin: 1.94rem 0 0.86rem;
  }
  .SectionProblemInfo.IsEnd {
    margin: 1.13rem 0 1.17rem;
  }
  .SectionProblemInfo.IsEnd .InfoTitle {
    margin-bottom: 0.44rem;
  }
  .SectionProblemInfo .InfoInner {
    max-width: 7.18rem;
  }
  .SectionProblemInfo .InfoTitle {
    font-size: 0.26rem;
    margin-bottom: 0.44rem;
  }
  .SectionProblemInfo .InfoText {
    font-size: 0.14rem;
    margin-bottom: 0.28rem;
  }
  .SectionProblemInfo .InfoLink {
    margin: 0.48rem auto;
    width: 100%;
    height: 0.6rem;
    border: 0.02rem solid #232526;
    font-size: 0.17rem;
  }
}
.SectionProblemDetail .DetailMain {
  background: center/cover no-repeat;
  color: #fff;
  font-weight: bold;
  position: relative;
}
.SectionProblemDetail .DetailMain::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(34, 41, 60, 0.4);
}
.SectionProblemDetail .MainContent {
  position: relative;
}
.SectionProblemDetail .MainTitle {
  display: inline-block;
}
.SectionProblemDetail .MainTitle span {
  display: block;
  width: 100%;
  text-align: center;
}
.SectionProblemDetail .MainTitle .TextEnglish {
  letter-spacing: 0.16em;
}
.SectionProblemDetail .MainTitle .TextJapan {
  line-height: 1.15;
}
.SectionProblemDetail .MainLabel {
  letter-spacing: 0.16em;
}
.SectionProblemDetail .MainText {
  line-height: 1.4;
}
.SectionProblemDetail .DetailContent {
  margin-left: auto;
  background: #fff;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.15);
  position: relative;
}
.SectionProblemDetail .Content {
  flex: 1;
  color: #232526;
}
.SectionProblemDetail .DetailLabel {
  font-weight: bold;
  letter-spacing: 0.16em;
}
.SectionProblemDetail .DetailTitle {
  font-weight: bold;
  line-height: 1.4;
}
.SectionProblemDetail .DetailDescription p {
  line-height: 2;
  font-weight: bold;
}

@media print, (min-width: 768px) {
  .SectionProblemDetail {
    margin-bottom: 158px;
  }
  .SectionProblemDetail.IsWear .DetailMain {
    background-image: url(../images/problem/wear_bg.jpg);
  }
  .SectionProblemDetail.IsFood .DetailMain {
    background-image: url(../images/problem/food_bg.jpg);
  }
  .SectionProblemDetail.IsLife .DetailMain {
    background-image: url(../images/problem/life_bg.jpg);
  }
  .SectionProblemDetail.IsWork .DetailMain {
    background-image: url(../images/problem/work_bg.jpg);
  }
  .SectionProblemDetail.IsCamp .DetailMain {
    background-image: url(../images/problem/camp_bg.jpg);
  }
  .SectionProblemDetail .DetailMain {
    width: 1550px;
    min-height: 1003px;
    padding-left: 164px;
  }
  .SectionProblemDetail .MainContent {
    padding: 214px 0 50px;
  }
  .SectionProblemDetail .MainTitle .TextEnglish {
    font-size: 31px;
  }
  .SectionProblemDetail .MainTitle .TextJapan {
    font-size: 153px;
  }
  .SectionProblemDetail .MainLabel {
    font-size: 18px;
    margin: 76px 0 36px;
  }
  .SectionProblemDetail .MainText {
    font-size: 40px;
    margin-left: -4px;
  }
  .SectionProblemDetail .DetailContent {
    display: flex;
    align-items: flex-start;
    width: 1550px;
    margin-top: -80px;
  }
  .SectionProblemDetail .Content {
    padding: 131px 0 72px 7.4%;
    min-height: 1013px;
  }
  .SectionProblemDetail .DetailLabel {
    font-size: 18px;
  }
  .SectionProblemDetail .DetailTitle {
    font-size: 40px;
    margin: 37px 0 53px -5px;
    padding-right: 20px;
  }
  .SectionProblemDetail .DetailDescription {
    max-width: 82.5%;
  }
  .SectionProblemDetail .DetailDescription p {
    font-size: 18px;
    margin-bottom: 36px;
  }
  .SectionProblemDetail .DetailImage {
    width: 44.7%;
    max-width: 691px;
    margin-top: -91px;
  }
  .SectionProblemDetail .DetailImage li {
    width: 50.1%;
    max-width: 346px;
    margin-bottom: 28px;
  }
  .SectionProblemDetail .DetailImage li.IsBig {
    width: 100%;
    max-width: 100%;
    margin-bottom: 69px;
  }
}
@media only screen and (max-width: 767px) {
  .SectionProblemDetail.IsWear .DetailMain {
    background-image: url(../images/problem/sp/wear_bg.jpg);
  }
  .SectionProblemDetail.IsFood .DetailMain {
    background-image: url(../images/problem/sp/food_bg.jpg);
  }
  .SectionProblemDetail.IsLife .DetailMain {
    background-image: url(../images/problem/sp/life_bg.jpg);
  }
  .SectionProblemDetail.IsWork .DetailMain {
    background-image: url(../images/problem/sp/work_bg.jpg);
  }
  .SectionProblemDetail.IsCamp .DetailMain {
    background-image: url(../images/problem/sp/camp_bg.jpg);
  }
  .SectionProblemDetail .DetailMain {
    width: 100%;
  }
  .SectionProblemDetail .MainContent {
    min-height: 5.55rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-end;
    flex-direction: column;
    padding: 0 0 0.57rem 0.3rem;
  }
  .SectionProblemDetail .MainTitle {
    position: absolute;
    right: 0.29rem;
    top: 0.34rem;
  }
  .SectionProblemDetail .MainTitle .TextEnglish {
    font-size: 0.23rem;
  }
  .SectionProblemDetail .MainTitle .TextJapan {
    font-size: 1.15rem;
  }
  .SectionProblemDetail .MainLabel {
    display: block;
    width: 100%;
    font-size: 0.12rem;
    margin-bottom: 0.23rem;
  }
  .SectionProblemDetail .MainText {
    font-size: 0.22rem;
    line-height: 1.46;
  }
  .SectionProblemDetail .DetailContent {
    padding: 2.43rem 0.3rem 0.44rem;
    position: relative;
  }
  .SectionProblemDetail .DetailLabel {
    font-size: 0.12rem;
  }
  .SectionProblemDetail .DetailTitle {
    font-size: 0.22rem;
    line-height: 1.48;
    margin: 0.23rem 0 0.36rem;
  }
  .SectionProblemDetail .DetailDescription p {
    font-size: 0.14rem;
    margin-bottom: 0.28rem;
  }
  .SectionProblemDetail .DetailImage {
    margin-top: 0.43rem;
  }
  .SectionProblemDetail .DetailImage .IsBig {
    position: absolute;
    right: 0;
    top: -0.35rem;
    width: 3.6rem;
  }
  .SectionProblemDetail .DetailImage li:not(.IsBig) {
    width: 100%;
    margin-bottom: 0.3rem;
  }
  .SectionProblemDetail .DetailImage img {
    width: 100%;
  }
}
@media screen and (min-width: 751px) and (max-width: 1617px) {
  .SectionProblemDetail .DetailMain {
    width: calc(100% - 50px);
    margin-right: 50px;
  }
  .SectionProblemDetail .DetailContent {
    width: calc(100% - 50px);
    margin-left: 50px;
  }
}

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