@charset "UTF-8";
html {
  color: #fff;
  background: #04478b;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, blockquote, th, td {
  margin: 0;
  padding: 0;
}

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

fieldset, img {
  border: 0;
}

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

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input, textarea, select {
  *font-size: 100%;
}

legend {
  color: #fff;
}

#yui3-css-stamp.cssreset {
  display: none;
}

input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
}

*:focus {
  outline: none;
}

::-webkit-scrollbar {
  display: none;
}

a {
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a {
  box-shadow: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input[type=text], input[type=email], input[type=submit] {
  -webkit-appearance: none;
  background-color: #fff;
}

textarea {
  appearance: none;
  -webkit-appearance: none;
}

select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

strong {
  font-weight: bold;
}

@media print, screen and (max-width: 768px) {
  br.pc {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  br.sp {
    display: none;
  }
}

body {
  -webkit-font-smoothing: subpixel-antialiased;
}

/*header#header {
  visibility: initial;
}

.footer__copy {
  margin-top: 0;
  padding-bottom: 20px;
  background-color: #000;
}
@media print, screen and (max-width: 768px) {
  .footer__copy {
    padding-bottom: 0;
  }
  .footer__copy ul {
    margin-top: 0;
  }
}
*/
.is-hidden {
  display: none;
}

body {
  background-color: #09518D;
  overscroll-behavior: none;
  overflow-x: hidden;
}
body .bgArea {
  position: relative;
  width: 100vw;
  background-color: #2563A0;
}
body .bgArea .heorImgArea {
  width: 100%;
  opacity: 0;
}
body .bgArea .heorImgArea .heroImg {
  width: 100%;
  object-fit: cover;
}
@media print, screen and (min-width: 769px) {
  body .bgArea .heorImgArea .heroImg.sp_only {
    display: none;
  }
}
@media print, screen and (max-width: 768px) {
  body .bgArea .heorImgArea .heroImg.pc_only {
    display: none;
  }
}
body .bgArea .heorImgArea.cue {
  transition: 2s ease opacity;
  opacity: 1;
}
body .bgArea .bgCenterArea {
  position: absolute;
  bottom: 0;
  width: 100%;
}
body .bgArea .bgCenterArea .bgCenterImg {
  margin-top: -100px;
  width: 100%;
  object-fit: cover;
}
@media print, screen and (min-width: 769px) {
  body .bgArea .bgCenterArea .bgCenterImg.sp_only {
    display: none;
  }
}
@media print, screen and (max-width: 768px) {
  body .bgArea .bgCenterArea .bgCenterImg.pc_only {
    display: none;
  }
}
body .bgArea .bgCenterArea.cue {
  transition: transform 0.8s, opacity 1.2s ease-in-out;
  transition-delay: 0.05s;
}
@media print, screen and (min-width: 769px) {
  body .bgArea .bgCenterArea.cue {
    transform: translate3d(0, -20px, 0);
  }
}
@media print, screen and (max-width: 768px) {
  body .bgArea .bgCenterArea.cue {
    transform: translate3d(0, -10px, 0);
  }
}
body.is-hidden {
  overflow: hidden;
}
@-moz-document url-prefix() {
  body .bgArea {
    transition: 1s filter ease;
    will-change: filter;
    filter: blur(0px);
  }
}

.topBtn {
  position: fixed;
  height: 50px;
  width: 50px;
  bottom: 30px;
  right: 26px;
  z-index: 1000;
  pointer-events: auto;
}
@media print, screen and (max-width: 768px) {
  .topBtn {
    bottom: 26px;
    left: calc(100vw - 70px);
  }
}
.topBtn img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media print, screen and (min-width: 769px) {
  .topBtn:hover img {
    opacity: 0.3;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.4));
  }
}

.headerNews {
  height: 59px;
  width: 100vw;
  background-color: #fff;
  border-top: 1px solid #eae8e8;
}
@media print, screen and (max-width: 768px) {
  .headerNews {
    height: 40px;
  }
}
.headerNews_inner {
  padding: 0 35px;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .headerNews_inner {
    padding: 0 2.5vw;
  }
}
.headerNews_inner .newsLink {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.headerNews_inner .newsLink_date {
  line-height: 60px;
  padding-left: 10px;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: 100;
  letter-spacing: 0.05rem;
  font-size: 16px;
  color: #E94830;
}
@media print, screen and (max-width: 768px) {
  .headerNews_inner .newsLink_date {
    line-height: 40px;
    font-size: 14px;
    font-weight: 600;
  }
}
.headerNews_inner .newsLink_text {
  line-height: 60px;
  padding-left: 10px;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: 100;
  letter-spacing: 0.05rem;
  font-size: 16px;
  color: #E94830;
}
@media print, screen and (max-width: 768px) {
  .headerNews_inner .newsLink_text {
    font-size: 14px;
    line-height: 40px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 90vw;
    overflow: hidden;
  }
}

.marker {
  height: 0px;
  width: 100%;
}

.navBlock {
  position: fixed;
  overflow-y: auto;
  left: 0;
  height: calc(var(--vh, 1vh) * 100);
  width: 100vw;
  z-index: 3000;
  pointer-events: none;
  transition: 0.3s all;
  transition: 0.3s ease-in-out all;
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
}
.navBlock .head {
  position: sticky;
  background-color: #0d2651;
  top: 0;
  left: 0;
  height: 70px;
  width: 100%;
  z-index: 1000;
  margin: auto;
  display: flex;
  pointer-events: auto;
  justify-content: flex-end;
  align-items: center;
}

.navBlock .head .navMenu {
  display: flex;
  justify-content: flex-end;
}

.navBlock .head .navMenu.is-all {
  width:100%;
}

.navBlock .head .sign {
  pointer-events: auto;
  display: block;
  height: 50px;
  width: 125px;
  text-decoration: none;
  margin-right: 14px;
  position: relative;
  overflow: hidden;
}
.navBlock .head .sign_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  width: auto;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  pointer-events: none;
}
.navBlock .head .sign_inner-icon {
  pointer-events: none;
}
.navBlock .head .sign_inner-text {
  pointer-events: none;
  padding-left: 10px;
  font-size: 11px;
  line-height: 130%;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: bold;
  letter-spacing: 0.15rem;
  font-size: 11px;
  color: #0D2750;
}
.navBlock .head .sign::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  height: 100%;
  width: 100%;
  background-color: #C9C93E;
  border-radius: 100px;
}
.navBlock .head .sign::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
  clip-path: circle(0 at 50% 50%);
  background-color: #DDDD4F;
  border-radius: 100px;
  transition: 0.3s cubic-bezier(0.22, 0.6, 0.35, 1);
}
.navBlock .head .sign:hover::after {
  clip-path: circle(100% at 50% 50%);
}
.navBlock .head .menuBtn {
  pointer-events: auto;
  margin-right: 26px;
  height: 50px;
  width: 50px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
@media print, screen and (max-width: 768px) {
  .navBlock .head .menuBtn {
    margin-right: 19px;
  }
}
.navBlock .head .menuBtn_inner {
  position: absolute;
  top: -8px;
  left: 0;
  z-index: 2;
  height: 100%;
  width: 100%;
}
.navBlock .head .menuBtn_inner hr {
  position: absolute;
  left: 0;
  right: 0;
  transition: all 0.4s ease;
  border: none;
  height: 1.5px;
  width: 18px;
  border-radius: 10px;
  background-color: #fff;
  pointer-events: none;
  margin: auto;
}
.navBlock .head .menuBtn_inner hr:nth-of-type(1) {
  top: 18px;
}
.navBlock .head .menuBtn_inner hr:nth-of-type(2) {
  top: 25px;
}
.navBlock .head .menuBtn_inner hr:nth-of-type(3) {
  top: 32px;
}
.navBlock .head .menuBtn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  height: 100%;
  width: 100%;
  border-radius: 10px;
}
.navBlock .head .menuBtn::after {
  content: "メニュー";
  color: white;
  text-align: center;
  position: absolute;
  top: 30px;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
  /*clip-path: circle(0 at 50% 50%);*/
  border-radius: 10px;
  transition: 0.3s cubic-bezier(0.22, 0.6, 0.35, 1);
}
.navBlock .head .menuBtn:hover::after {
  clip-path: circle(100% at 50% 50%);
}
.navBlock .menuArea {
  position: absolute;
  top: 0px;
  right: 0;
  height: 100%;
  width: 620px;
  background: #0D2750;
  transition: 0.4s ease-in-out transform;
  transform: translate3d(620px, 0, 0);
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea {
    width: 100vw;
    transform: translate3d(100vw, 0, 0);
  }
}
.navBlock .menuArea .menuLists {
  height: 100%;
  width: 100%;
  overflow: scroll;
}
.navBlock .menuArea .menuLists .menuList {
  height: 70px;
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.navBlock .menuArea .menuLists {
  overflow: scroll;
  margin-top: calc(50px + 27px);
  width: 100%;
  border-top: solid 1px rgba(255, 255, 255, 0.1);
}
.navBlock .menuArea .menuLists .menuList {
  height: 50px;
  border-bottom: solid 1px rgba(255, 255, 255, 0.1);
}
.navBlock .menuArea .menuLists .menuList .menuLink {
  display: block;
  padding-left: 55px;
  height: 100%;
  width: auto;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: 500;
  letter-spacing: 0.1rem;
  font-size: 15px;
  color: #fff;
  line-height: 50px;
  text-decoration: none;
  transition: 1s ease opacity, 1s ease transform, 0.3s ease color;
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .menuList .menuLink {
    width: 90%;
    padding-left: 0;
    margin: auto;
  }
}
.navBlock .menuArea .menuLists .menuList .menuLink:hover {
  color: rgba(255, 255, 255, 0.3);
}
.navBlock .menuArea .menuLists .menuList.is-twice {
  display: flex;
  position: relative;
}
.navBlock .menuArea .menuLists .menuList.is-twice:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 100%;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .menuList.is-twice {
    display: block;
    width: 100%;
    height: auto;
  }
  .navBlock .menuArea .menuLists .menuList.is-twice:before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 1px;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.1);
  }
}
.navBlock .menuArea .menuLists .menuList.is-twice .menuLink {
  width: 50%;
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .menuList.is-twice .menuLink {
    width: 90%;
    margin: auto;
  }
}
.navBlock .menuArea .menuLists .menuList.is-box {
  padding: 27px 54px;
  height: auto;
  width: calc(100% - 54px * 2);
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .menuList.is-box {
    width: 100%;
    padding: 27px 0;
  }
}
.navBlock .menuArea .menuLists .menuList.is-box .links {
  height: auto;
  width: 100%;
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .menuList.is-box .links {
    width: 90%;
    margin: auto;
  }
}
.navBlock .menuArea .menuLists .menuList.is-box .links .linksHead {
  display: block;
  width: 100%;
  padding-bottom: 13px;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .linksHead a, .navBlock .menuArea .menuLists .menuList.is-box .links .linksHead span {
  text-decoration: none;
  display: block;
  height: 100%;
  width: 100%;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: 500;
  letter-spacing: 0.1rem;
  font-size: 16px;
  color: #fff;
  transition: 0.8s ease opacity, 0.8s ease transform;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .linksHead a .area, .navBlock .menuArea .menuLists .menuList.is-box .links .linksHead span .area {
  padding-top: 15px;
  font-family: "ヒラギノ角ゴ ProN W3","HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","Hiragino Kaku Gothic ProN","Noto Sans JP","游ゴシック","Yu Gothic",Helvetica,sans-serif;
  font-weight: 300;
  letter-spacing: .1rem;
  font-size: 14px;
  color: #fff;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .linksHead.is-area span {
  padding-top: 20px;
  font-family: "ヒラギノ角ゴ ProN W3","HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","Hiragino Kaku Gothic ProN","Noto Sans JP","游ゴシック","Yu Gothic",Helvetica,sans-serif;
  font-weight: 300;
  letter-spacing: .1rem;
  font-size: 14px;
  color: #fff;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink {
  margin-bottom: 5px;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink:nth-last-of-type(1) {
  margin-bottom: 0;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink {
  display: flex;
  text-decoration: none;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  width: calc(100% - 54px);
  line-height: 70px;
  transition: 0.8s ease opacity, 0.8s ease transform, 0.3s ease background-color;
}
@media print, screen and (min-width: 769px){
  .navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink {
    height: 70px;
  }
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    width: calc(100% - 27px * 2);
    line-height: 120%;
    padding: 20px 27px;
  }
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink span {
  opacity: 1;
  pointer-events: none;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink .main {
  display: block;
  width: 50%;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: 500;
  letter-spacing: 0.1rem;
  font-size: 14px;
  color: #fff;
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink .main {
    width: 100%;
  }
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink .sub {
  display: flex;
  align-items: center;
  width: 50%;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: 300;
  letter-spacing: 0.1rem;
  font-size: 14px;
  color: #fff;
}
@media print, screen and (min-width: 769px){
  .navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink .sub {
    line-height: 130%;
  }
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink .sub {
    width: 100%;
  }
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 2px;
  height: 100%;
  pointer-events: none;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.emerald {
  background-color: #1592a07a;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.emerald:before {
  background-color: #1593A0;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.emerald:hover {
  background-color: #1593A0;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.purple {
  background-color: #8968d580;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.purple:before {
  background-color: #8968d5;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.purple:hover {
  background-color: #8968d5;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.blue {
  background-color: #1464b480;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.blue:before {
  background-color: #1464b4;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.blue:hover {
  background-color: #1464b4;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.purple_n {
  background-color: #6864d580
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.purple_n:before {
  background-color: #6864DD
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.purple_n:hover {
  background-color: #6864DD
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.deeppurple {
  background-color: #6864dd94;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.deeppurple:before {
  background-color: #6864DD;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.deeppurple:hover {
  background-color: #6864DD;
}
.navBlock .menuArea .menuLists .space {
  height: 50px;
  width: 100%;
}
@media print, screen and (max-width: 768px) {
  .navBlock .menuArea .menuLists .space.pc {
    display: none;
  }
}

.heroBlock {
  width: 100vw;
  position: relative;
  z-index: 3000;
  transition: 0.3s all;
  pointer-events: none;
}
.heroBlock .titleBlock {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  margin: auto;
  height: 40%;
  width: 85%;
  max-width: 1166px;
}
@media print, screen and (min-width: 769px) {
  .heroBlock .titleBlock {
  transform: translate(-10px,200px);
  }
}
@media print, screen and (max-width: 768px) {
  .heroBlock .titleBlock {
  transform: translate(-10px,140px);
  }
}
.heroBlock .titleBlock_title {
  display: block;
  width: auto;
}
@media print, screen and (max-width: 768px) {
  .heroBlock .titleBlock_title {
    height: 20px;
  }
}
.heroBlock .titleBlock_title .title_top,
.heroBlock .titleBlock_title .title_under {
  width: 100%;
  display: flex;
}
@media print, screen and (min-width: 769px) {
  .heroBlock .titleBlock_title .title_top,
.heroBlock .titleBlock_title .title_under {
    height: 40px;
  }
}
@media print, screen and (max-width: 768px) {
  .heroBlock .titleBlock_title .title_top,
.heroBlock .titleBlock_title .title_under {
    height: 30px;
  }
}
.heroBlock .titleBlock_title .title_top .item,
.heroBlock .titleBlock_title .title_under .item {
  display: block;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  opacity: 0;
  transition: transform 0.8s, opacity 1.2s ease-in-out;
  transition-delay: 0.1s;
}
.heroBlock .titleBlock_title .title_top .item#titleJa,
.heroBlock .titleBlock_title .title_under .item#titleJa {
  transform: translate3d(40px, 0, 0);
}
@media print, screen and (max-width: 768px) {
  .heroBlock .titleBlock_title .title_top .item#titleJa img,
.heroBlock .titleBlock_title .title_under .item#titleJa img {
    height: 18px;
  }
}
.heroBlock .titleBlock_title .title_top .item#titleEn,
.heroBlock .titleBlock_title .title_under .item#titleEn {
  transform: translate3d(0, 40px, 0);
}
@media print, screen and (max-width: 768px) {
  .heroBlock .titleBlock_title .title_top .item#titleEn img,
.heroBlock .titleBlock_title .title_under .item#titleEn img {
    height: 11px;
  }
}
.heroBlock .titleBlock_title .title_under {
  margin-top: 10px;
}
.heroBlock .titleBlock_title.cue .title_top .item#titleJa, .heroBlock .titleBlock_title.cue .title_top .item#titleEn,
.heroBlock .titleBlock_title.cue .title_under .item#titleJa,
.heroBlock .titleBlock_title.cue .title_under .item#titleEn {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.targetMenu {
  opacity: 0;
  transform: translate3d(80px, 0, 0);
}
.targetMenu.is-alpha {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

body.is-fixed .navBlock {
  top: 0;
  overflow-y: visible;
  position: fixed;
}
body.is-menu {
  overflow: hidden;
}
body.is-menu .navBlock {
  pointer-events: auto;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.is-menu .navBlock .head .menuBtn_inner hr:nth-of-type(1) {
  top: 25px;
  transform: rotateZ(45deg);
}
body.is-menu .navBlock .head .menuBtn_inner hr:nth-of-type(2) {
  opacity: 0;
}
body.is-menu .navBlock .head .menuBtn_inner hr:nth-of-type(3) {
  top: 25px;
  transform: rotateZ(-45deg);
}
body.is-menu .navBlock .menuArea {
  transform: translate3d(0, 0, 0);
}

.frontArea {
  height: 100%;
  width: 100vw;
  background-color: #0D2651;
}
.frontArea.cue {
  transition: transform 0.8s, opacity 1.2s ease-in-out;
  transition-delay: 0.05s;
}
@media print, screen and (min-width: 769px) {
  .frontArea.cue {
    transform: translate3d(0, -20px, 0);
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea.cue {
    transform: translate3d(0, -10px, 0);
  }
}
.frontArea .fiveEnjoy {
  background-position: top;
  font-size: 16px;
}
@media print, screen and (min-width: 769px) {
  .frontArea .fiveEnjoy {
    background: url("../img/guide/bg_enjoy_seiza_pc.png") no-repeat;
    background-position:top center;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy {
    background: url("../img/guide/bg_enjoy_seiza_sp.png") no-repeat;
    background-size:cover ;
    background-position:top center;
  }
}
.frontArea .fiveEnjoy .enjoyHeaderLogo {
  text-align: center;
  padding: 30px 0 100px;
  max-width: 25vw;
  margin:0 auto;
}

@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .enjoyHeaderLogo {
    max-width: 50vw;
    padding: 30px 0 50px;
  }
}

.frontArea .fiveEnjoy .enjoyHeaderLogo img {
  width: 100%;
}

.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 100;
}

.bodoni-moda {
  font-family: "Bodoni Moda", serif !important;
  letter-spacing: 2px;
  font-weight: 600;
}

.frontArea .fiveEnjoy .enjoyHeader {
  text-align: center;
  margin:0 auto;
  max-width: 43vw;
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .enjoyHeader {
    max-width: 90vw;
  }
}

.color-yellow {
  color: #c9c93e;
}

.frontArea .fiveEnjoy .enjoyHeader h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  color: #fff;
  display: inline-block;
  padding-bottom: 15px;
  margin-bottom: 30px;
  line-height: 1.4;
  letter-spacing: 2px;
  position: relative;
}
.frontArea .fiveEnjoy .enjoyHeader h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 1px;
  background-color: #fff;
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .enjoyHeader h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

.frontArea .fiveEnjoy .enjoyHeader img {
  width: 100%;
}
.frontArea .fiveEnjoy .enjoyHeader p {
  margin: 30px 0 100px;
  text-align: left;
  font-size:1.8rem;
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .enjoyHeader p {
    text-align: left;
    padding: 0 20px;
    font-size:16px;
    margin: 30px 0 50px;
  }
}
@media print, screen and (max-width: 769px) {
  .frontArea .fiveEnjoy .enjoyHeader img {
  max-width: 65vw;
  }
}
.frontArea .fiveEnjoy .item {
  justify-content: space-between;
  padding: 30px 0;
  margin: auto;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.frontArea .fiveEnjoy .item.is-active {
  opacity: 1;
  transform: translateY(0);
}
@media print, screen and (min-width: 769px) {
  .frontArea .fiveEnjoy .item {
    max-width: 1216px;
    display: flex;
    padding: 65px 0;
  }
}
@media print, screen and (min-width: 769px) {
  .frontArea .fiveEnjoy .item .itemText {
    width: 35%;
    margin-left: 100px;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .item .itemText {
    width:80vw;
    margin:30px auto;
  }
}
.frontArea .fiveEnjoy .item .itemText p {
  text-align: left;
}

@media print, screen and (min-width: 769px) {
  .frontArea .fiveEnjoy .item .itemText p {
    margin: 15px 0 40px;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .item .itemText p {
    margin: 15px 0px 40px;
    font-size: 14px;
  }
}

.frontArea .fiveEnjoy .item .itemText h3 {
  display: flex;
  align-items: center;
  font-size: 3.2rem;
}

.frontArea .fiveEnjoy .item .itemText h3::after {
  content: "▼";
  display: none;
  font-size: 12px;
  color: #fff;
  transition: transform 0.3s;
  margin-left: 10px;
}

.frontArea .fiveEnjoy .item .itemText .txt-point-number {
  font-size: 4rem;
  margin-left: 10px;
  text-shadow: 0px 0px 20px #c9c93e;
}

.frontArea .fiveEnjoy .item .itemText .txt-point {
  font-family: "Noto Serif JP", serif;
  color:#C9C93E;
}

.txt-point-number {
  font-size: 5rem;
  margin: 0 10px 0;
  text-shadow: 0px 0px 20px #c9c93e;
}


.frontArea .fiveEnjoy .item .itemText .txt {
  display: block;
}

@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .item .itemText h3 {
    cursor: pointer;
    font-size: 2.4rem;
  }
  .frontArea .fiveEnjoy .item .itemText h3::after {
    display: block;
  }
  .frontArea .fiveEnjoy .item.is-open .itemText h3::after {
    transform: rotate(180deg);
  }
  .frontArea .fiveEnjoy .item .itemText .txt {
    display: none;
  }
  .frontArea .fiveEnjoy .item.is-open .itemText .txt {
    display: block;
    animation: fadeIn 0.4s ease forwards;
  }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.frontArea .fiveEnjoy .item .itemText p img {
  padding: 5px 15px 5px 5px;
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .item .itemText img.case {
    width: 100%;
    max-width:92px;
  }
}

.fiveEnjoy-action{
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 100px;
}

@media print, screen and (max-width: 768px) {
  .fiveEnjoy-action{
    max-width: 90vw;
    margin:0 auto;
  }
}

.fiveEnjoy-action a{
  border:1px solid #fff;
  padding: 15px 80px;
  border-radius: 50px;
  font-size: 16px;
  text-decoration: none;
}

@media print, screen and (max-width: 768px) {
  .fiveEnjoy-action a{
    padding: 15px 40px;
    font-size: 16px;
  }
}

.fiveEnjoy-action a span{
  color:#fff;  
}

.frontArea .fiveEnjoy .item .itemText img.title {
  width: 80%;
}
.frontArea .fiveEnjoy .item .itemText a {
  color: #c9c93e;
  padding: 15px 80px;
  border: 1px solid #406f73;
  border-radius: 24px;
  font-size: 14px;
}
.frontArea .fiveEnjoy .item .itemText a:hover {
  border: 1px solid #c9c93e;
}

@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .item .itemText p a {
    color: #c9c93e;
    padding: 15px 60px;
    border-radius: 24px;
    height:60px;
  }  
}



@media print, screen and (min-width: 769px) {
  .frontArea .fiveEnjoy .item .itemImg {
    width: 55%;
  }
  .frontArea .fiveEnjoy .item:nth-of-type(even),
  .frontArea .fiveEnjoy .item.is-even {
    flex-direction: row-reverse;
  }
  .frontArea .fiveEnjoy .item:nth-of-type(even) .itemText,
  .frontArea .fiveEnjoy .item.is-even .itemText {
    margin-left: 0;
    margin-right: 100px;
  }
}


.frontArea .fiveEnjoy .item .itemImg{
  margin:auto;
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .item .itemImg{
    max-width: 340px;
  }
}
.frontArea .fiveEnjoy .item .itemImg img {
  width: 100%;
  max-width:640px;
  max-height:380px;
  background-color: blue;
  /* border-radius: 180px; */
  border-radius: 200px;
  object-fit: cover;
  object-position: top center;
}
@media print, screen and (min-width: 769px) {
  .frontArea .fiveEnjoy .item .itemImg.sp_only {
    display: none;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .item .itemImg.pc_only {
    display: none;
  }
}

.frontArea .fiveEnjoy .differentHeader {
  text-align: left;
  margin:0 auto 50px;
  max-width: 54vw;
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .differentHeader {
    max-width: 90vw;
  }
}



.frontArea .fiveEnjoy .differentHeader h3 {
  text-align: left;
  font-family: "Noto Serif JP", serif;
  font-size: 2.8rem;
  color: #c9c93e;
  display: inline-block;
  margin-bottom: 0px;
  line-height: 1.4;
  letter-spacing: 2px;
}
@media print, screen and (max-width: 768px) {
.frontArea .fiveEnjoy .differentHeader h3 {
    text-align: left;
    padding: 0;
    font-size:2rem;
    margin: 0;
  }
}


.frontArea .fiveEnjoy .differentHeader p {
  margin: 30px 0 10px;
  text-align: left;
  font-size:1.8rem;
}
@media print, screen and (max-width: 768px) {
  .frontArea .fiveEnjoy .differentHeader p {
    text-align: left;
    padding: 0;
    font-size:1.6rem;
    margin: 30px 0 10px;
  }
}










.frontArea .reservationGuide {
  color: #0D2750;
  background-color: #09518D;
  background-image: url("../img/guide/bg_enjoy_secondary.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: contain;
  font-size: 12px;
}
@media print, screen and (min-width: 769px) {
  .frontArea .reservationGuide {
    padding-top: 16.667vw;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .reservationGuide {
    padding-top: 16.667vw;
  }
}
.frontArea .reservationGuide .reservationGuideWhite {
  background-color: #FFFFFF;
  width: 90%;
  max-width: 1216px;
  border-radius: 50px;
  margin: auto;
  padding: 50px 0;
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader {
  text-align: center;
  margin: 50px auto;
}
@media print, screen and (min-width: 769px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader img.sp_only {
    display: none;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader img.pc_only {
    display: none;
  }
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeaderEnd {
  margin: 80px auto;
}
@media print, screen and (max-width: 768px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeaderEnd {
    margin: 50px auto 70px;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .step img {
    height: 12vh;
  }
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab {
  list-style: none;
  display: flex;
  margin: 50px auto 0;
}
@media print, screen and (min-width: 769px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab {
    width: 70%;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab {
    width: 90%;
  }
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab li {
  width: 100%;
  padding: 15px 0;
  margin-right: 1px;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  cursor: pointer;
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab li.on {
  background-color: #0D2750;
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab li.off {
  background-color: #F2F0EC;
}
@media print, screen and (max-width: 768px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab li#stepTab1-1, .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab li#stepTab1-2, .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTab li#stepTab1-3 {
    width: 27vw;
  }
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .frontArea .reservationGuide .reservationGuideWhite .guideHeader .frontArea .reservationGuide .reservationGuideWhite .guideHeader .frontArea .reservationGuide .reservationGuideWhite .guideHeader {
    width: 40vw;
  }
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTabContent {
  justify-content: space-between;
  margin: 20px auto 0;
}
@media print, screen and (min-width: 769px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTabContent {
    width: 70%;
    pointer-events: none;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTabContent {
    width: 80%;
    pointer-events: none;
  }
}
@media print, screen and (max-width: 768px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTabContent {
    display: block;
  }
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTabContent li {
  border: none;
  font-size: 14px;
}
@media print, screen and (min-width: 769px) {
  .frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTabContent li {
    width: 48%;
  }
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTabContent li p {
  padding-top: 10px;
  text-align: left;
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader .stepTabContent img {
  width: 100%;
}
.frontArea .reservationGuide .reservationGuideWhite .guideHeader #stepTabContent1-2, .frontArea .reservationGuide .reservationGuideWhite .guideHeader #stepTabContent1-3,
.frontArea .reservationGuide .reservationGuideWhite .guideHeader #stepTabContent2-2,
.frontArea .reservationGuide .reservationGuideWhite .guideHeader #stepTabContent3-2 {
  display: none;
}
.frontArea .shareBlock {
  background-color: #09518D;
  height: auto;
  width: 100vw;
  padding: 30px 0;
}
@media print, screen and (max-width: 768px) {
  .frontArea .shareBlock {
    padding-top: 70px;
  }
}
.frontArea .shareBlock_inner {
  margin: auto;
  width: 100%;
}
.frontArea .shareBlock_inner .title {
  width: 140px;
  margin-right: 25px;
  margin-left: auto;
  text-align: center;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: 100;
  letter-spacing: 0.05rem;
  font-size: 12px;
  color: #fff;
}
.frontArea .shareBlock_inner .shareLists {
  height: 40px;
  width: 140px;
  margin-left: auto;
  margin-right: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 10px;
}
.frontArea .shareBlock_inner .shareLists .shareLink {
  margin: 0 4px;
  transition: opacity 0.3s ease;
  opacity: 1;
}
.frontArea .shareBlock_inner .shareLists .shareLink:hover {
  opacity: 0.3;
}

.globalNaviBlock {
  background-color: #fff;
  width: 100vw;
  height: auto;
  padding-bottom: 45px;
}
@media print, screen and (max-width: 768px) {
  .globalNaviBlock {
    padding-bottom: 35px;
  }
}
.globalNaviBlock_inner {
  max-width: 1200px;
  width: 95vw;
  margin: auto;
  padding: 60px 0;
}
@media print, screen and (max-width: 768px) {
  .globalNaviBlock_inner {
    padding: 25px 0;
    width: 90vw;
  }
}
.globalNaviBlock_inner .navis {
  width: 100%;
  max-width: 1000px;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
}
@media print, screen and (max-width: 768px) {
  .globalNaviBlock_inner .navis {
    display: block;
  }
}
.globalNaviBlock_inner .navis .navi {
  display: block;
  width: 230px;
  margin: 10px;
  height: 45px;
  display: flex;
  align-items: center;
  text-decoration: none;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .globalNaviBlock_inner .navis .navi {
    width: 100%;
    margin: 0;
    margin-top: 10px;
    padding-bottom: 5px;
  }
}
.globalNaviBlock_inner .navis .navi_icon {
  display: block;
  width: 30px;
  text-align: center;
}
@media print, screen and (max-width: 768px) {
  .globalNaviBlock_inner .navis .navi_icon {
    display: block;
    width: 40px;
  }
}
.globalNaviBlock_inner .navis .navi_text {
  margin-left: 12px;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: normal;
  letter-spacing: 0.05rem;
  font-size: 14px;
  color: #0D2750;
}
.navi_text_btob{
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: normal;
  letter-spacing: 0.05rem;
  margin-left: 10px;
  font-size: 12px;
  line-height: 1.4rem;
  color: #0D2750;
}
@media print, screen and (max-width: 768px) {
  .globalNaviBlock_inner .navis .navi_text {
    margin-left: 5px;
  }
  .navi_text_btob{
    margin-left: 5px;
  }
}

.globalNaviBlock_inner .navis .navi::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #4D4D4D;
  opacity: 0.3;
  pointer-events: none;
}
.globalNaviBlock_inner .navis .navi::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  clip-path: inset(0 100% 0 0);
  transition: 0.3s ease-in-out clip-path;
  background-color: #4D4D4D;
  pointer-events: none;
}
.globalNaviBlock_inner .navis .navi:hover::after {
  clip-path: inset(0);
}
.globalNaviBlock .langBlock {
  height: 15px;
  width: 83px;
  margin: auto;
  position: relative;
  text-align: center;
  line-height: 15px;
  border-left: 1px solid #4d4d4d33;
  border-right: 1px solid #4d4d4d33;
}
.globalNaviBlock .langBlock .lang_text {
  text-decoration: none;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: normal;
  letter-spacing: 0.05rem;
  font-size: 14px;
  color: #0D2750;
  transition: 0.3s ease opacity;
}
.globalNaviBlock .langBlock .lang_text:hover {
  opacity: 0.3;
}

.overlayBackground {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background-color: #000;
  display: none;
}

.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: calc(var(--vh, 1vh) * 100);
  overflow-y: auto;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 10000;
  display: none;
}
.overlay .closeDetailTopRight {
  position: absolute;
  top: 30px;
  right: 30px;
}
.overlay .closeDetailTopRight .batsu {
  display: block;
  width: 30px;
  height: 30px;
}
.overlay .closeDetailTopRight .batsu::before, .overlay .closeDetailTopRight .batsu::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #FFFFFF;
  transform: rotate(45deg);
  transform-origin: 0% 50%;
  position: absolute;
  top: calc(14% - 5px);
  left: 14%;
}
.overlay .closeDetailTopRight .batsu::after {
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  left: auto;
  right: 14%;
}
.overlay .detailWrapper {
  width: 85%;
  margin: auto;
  margin-top: 120px;
}
@media print, screen and (max-width: 768px) {
  .overlay .detailWrapper {
    width: 90%;
    margin: auto;
    margin-top: 120px;
  }
  
}

@media print, screen and (max-width: 768px) {
  .overlay .detailWrapper .sceneTxtImg img {
    width: 35vw;
  }
  .overlay .detailWrapper .howToEnjoy {
    margin-bottom: 20px;
  }
  .overlay .detailWrapper .howToEnjoy img {
    height: 18px;
  }
  .overlay .detailWrapper .scene {
    display: block;
  }
  .overlay .detailWrapper .scene .sceneImg {
    margin-bottom: 20px;
  }
}

.overlay .detailWrapper .scene {
  justify-content: space-between;
  padding: 30px 0;
}
@media print, screen and (min-width: 769px) {
  .overlay .detailWrapper .scene {
    display: flex;
  }
  .overlay .detailWrapper .howToEnjoy {
    margin-bottom: 120px;
  }
  .overlay .detailWrapper .scene .sceneImg {
    width: 40%;
  }
  .overlay .detailWrapper .scene .sceneText {
    width: 55%;
  }
}

.overlay .detailWrapper .scene .sceneImg img {
  width: 100%;
}

.overlay .detailWrapper .scene .sceneText img {
  padding-bottom: 5px;
}
.overlay .detailWrapper .scene .sceneText img.sceneSvg {
  height: 10px;
}
.overlay .detailWrapper .scene .sceneText img.balloon {
  height: 26px;
}
@media print, screen and (min-width: 769px) {
  .overlay .detailWrapper .scene .sceneText img.balloon {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .overlay .detailWrapper .scene .sceneText p {
    padding: 5px 0;
    font-size:16px;
  }
}
@media print, screen and (max-width: 768px) {
  .overlay .detailWrapper .scene .sceneText p {
    padding: 0 0 15px;
    font-size:16px;
  }
}
@media print, screen and (min-width: 769px) {
  .overlay .detailWrapper .scene .sceneText p.title {
    font-size: 2em;
  }
}
@media print, screen and (max-width: 768px) {
  .overlay .detailWrapper .scene .sceneText p.title {
    font-size: 18px;
  }
}
.overlay .detailWrapper .scene .sceneText .viewBtn {
  margin-top: 10px;
  display: block;
  height: 35px;
  display: flex;
  justify-content: space-between;
  text-decoration: none;
  transition-delay: 0.6s;
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .overlay .detailWrapper .scene .sceneText .viewBtn {
    width: 300px;
  }
}
@media print, screen and (max-width: 768px) {
  .overlay .detailWrapper .scene .sceneText .viewBtn {
    width: 70vw;
  }
}
.overlay .detailWrapper .scene .sceneText .viewBtn_text {
  color: #fff;
  font-size:16px;
}

@media print, screen and (max-width: 768px) {
  .overlay .detailWrapper .scene .sceneText .viewBtn_text {
    font-size:14px;  
  }
}

.overlay .detailWrapper .scene .sceneText .viewBtn span:nth-of-type(2) {
  margin-right: 10px;
  pointer-events: none;
}
.overlay .detailWrapper .scene .sceneText .viewBtn span img {
  padding-bottom: 3px;
}
.overlay .detailWrapper .scene .sceneText .viewBtn::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #fff;
  opacity: 0.3;
  pointer-events: none;
}
.overlay .detailWrapper .scene .sceneText .viewBtn::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  clip-path: inset(0 100% 0 0);
  transition: 0.3s ease-in-out clip-path;
  background-color: #fff;
  pointer-events: none;
}
.overlay .detailWrapper .scene .sceneText .viewBtn:hover::after {
  clip-path: inset(0);
}
.overlay .closeDetailBottom {
  position: relative;
  margin: 75px 0;
  text-align: center;
}
.overlay .closeDetailBottom:hover {
  cursor: pointer;
}
.overlay .closeDetailBottom span {
  vertical-align: middle;
}
.overlay .closeDetailBottom span.batsu {
  font-size: 18px;
}

.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.deepemerald {
  background-color: #15A08B80;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.deepemerald:before {
  background-color: #15A08B;
}
.navBlock .menuArea .menuLists .menuList.is-box .links .innerLink .menuLink.deepemerald:hover {
  background-color: #15A08B;
}

/*# sourceMappingURL=main.min.css.map */

/**
 * ギャラリーのオンラインショップ表示
**/
.gallery_onlineshop {
  color: white !important;
  font-size: 12px !important;
  text-decoration: none !important;
  display: inline-block !important;
  padding-left: 0px !important;
  padding: 4px 10px 4px 28px !important;
  border: #535065 1px solid;
  vertical-align: top;
  left: 40px;
  top: 8px;
  position: relative;
  background: url(../img/common/icon_bag.svg) no-repeat;
  background-position: 7%50%;
  height: 20px !important;
  width: auto !important;
  line-height: 22px !important;
}
/*メニュー側の調整*/
.gallery_adjustment{
  display: inline-block !important;
  margin-left: 5% !important;
  width: 40% !important;
  left: 80px !important;
}
@media print,
screen and (min-width:767px) {
.gallery_adjustment{
  margin-left: 0px !important;
  width: auto !important;
 }
} 
@media print,
screen and (min-width:721px) and ( max-width:768px) {
.gallery_adjustment{
  width: 40% !important;
 } 
}
.gallery_onlineshop:hover{
  color: rgba(255, 255, 255, .3)!important;
  border: #b0acc529 1px solid;
  background: url(../img/common/icon_bag_on.svg) no-repeat;
  background-position: 7%50%;
}


/**
 * プラネタリウム　トップ導線追加対応
**/
.head_page{
  background-color: #0d2750;
  height: 68px;
}

.head_page-top-img  {
    position: fixed;
    left: 3.5%;
}
.head_page-top{
    position: relative;
    width: 100%;
    left: 55px;
}
a.head_page-link {
    text-decoration: none;
    color: white;
    font-weight: unset;
}

@media print, screen and (max-width: 769px) {
.pc_only {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
.sp_only {
    display: none;
  }
}

.title_top-head_page{
  position: sticky;
  font-size: 16px;
  font-weight: normal;
  display: block;
  z-index: 1000;
  left: -30px;
}

.logo_inner.page_top{
  position: sticky;
  left: 38px;
  z-index: 1000;
}

.navBlock .head .logo_inner img{
  width: 24px;
}

a.head_page-link{
  color: #FFF;
  text-decoration: none;
}

@media only screen and (max-width: 769px) {
.title_top-head_page {
  left: 12px;
  }
}

@media screen and (max-width: 1080px){
.logo_inner.page_top {
    left: 28px;
  }
  .title_top-head_page{
    left: -10px;
    vertical-align: middle;
  }
  span.title_top{
  top: 6px;
  }
  .head_page-top{
    left: 45px;
  }
}
@media print, screen and (max-width: 769px){
.logo_inner.page_top{
  left: 20px;
  }
  .head_page-top{
    left: 30px;
  }
}
@media only screen and (max-width: 421px) {
.title_top-head_page {
    left: 10px;
  }
}
@media only screen and (max-width: 619px) {
.title_top-head_page {
    left: 10px;
  }
}

@media only screen and (min-width: 650px) and (max-width: 768px) {
.title_top-head_page {
  left: 10px;
  }
}

@media only screen and (min-width: 620px) and (max-width: 649px) {
.title_top-head_page {
  left: 8px;
  }
}


/*footerテキスト調整*/
.navi_text_btob{
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
  font-weight: normal;
  letter-spacing: 0.05rem;
  margin-left: 10px;
  font-size: 12px;
  line-height: 1.4rem;
  color: #0D2750;
}
@media print, screen and (max-width: 768px) {
  .navi_text_btob{
    margin-left: 5px;
  }
}
span.small {
    font-size: small !important;
}
span.x-small {
      font-size: x-small !important;
}


/******************************************************************************

共通パーツ

******************************************************************************/
span.small {
    font-size: small !important;
}
span.x-small {
      font-size: x-small !important;
}
@media print, screen and (max-width: 769px) {
.pc_only {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
.sp_only {
    display: none;
  }
}





a.btn-action_arrow {
    text-align: left;
    min-width: 240px;
    max-width: 360px;
    height: 60px;
    padding: 0 45px 0 30px;
    border-radius: 48px;
    position: relative;
    display: inline-flex;
    text-decoration: none;
    align-items: center;
    border: 1px solid rgba(77, 77, 77, 0.3);
    margin-bottom:1rem;
    color: #4D4d4D;
}

a.btn-action_arrow::before {
    content: "";
    background: url(../img/common/icon_arrow_right.svg);
    width: 15px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -6px;
}

a.btn-action_arrow span {
    font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", "Yu Gothic", Helvetica, sans-serif;
    letter-spacing: 0.2rem;
    color: #4D4d4D;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
}


.grid-2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
    .grid-2col {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

.grid-item {
    width: 100%;
}

.img-fluid{
  width:100%;
}

/* =============================================
   Ruby（ルビ・フリガナ）スタイル
   使用例: <ruby>PLANETARIUM<rt>プラネタリウム</rt></ruby>
   ============================================= */

ruby {
  ruby-position: over;          /* ルビをテキストの上に表示 */
  display: inline-ruby;
}

rt {
  font-size: 0.5em;             /* 本文の50%サイズ */
  font-weight: normal;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

/* productTitleBlock内のルビ専用スタイル */
.productTitleBlock ruby {
  ruby-position: over;
}

.productTitleBlock rt {
  font-size: 0.45em;
  letter-spacing: 0.08em;
}
