@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

a:visited {
  color: #333;
  text-decoration: none;
}

a:link {
  color: #333;
  text-decoration: none;
}

a img {
  border-width: 0px;
  border-style: none;
  border-color: #fff;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

ul {
  list-style: none;
}

input,
button,
textarea,
select {
  /* デフォルトスタイルをリセット */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* font-familyを継承しないので、継承させる */
  font-family: inherit;
  /* iOSの角丸をリセット */
  border-radius: 0;
  /* box-size */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 文字の大きさ iOSでズームさせないために16px以上を指定 */
  font-size: 16px;
  /* 文字色を親から継承 */
  color: inherit;
}

body {
  text-rendering: optimizelegibility;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

.section img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 1;
  -ms-interpolation-mode: bicubic;
  vertical-align: top;
}

.section .sp-block {
  display: block !important;
}

.section .pc-block {
  display: none !important;
}

.section .sp-inline {
  display: inline !important;
}

.section .pc-inline {
  display: none !important;
}

.section .sp350-block {
  display: none !important;
}

@media screen and (min-width: 769px) {
  .section .sp-block {
    display: none !important;
  }
  .section .pc-block {
    display: block !important;
  }
  .section .sp-inline {
    display: none !important;
  }
  .section .pc-inline {
    display: inline !important;
  }
}
@media screen and (max-width: 350px) {
  .section .sp350-block {
    display: block !important;
  }
}
header {
  position: relative;
}

html {
  height: -webkit-fill-available;
}

body {
  background-color: var(--col-bg);
  min-height: -webkit-fill-available;
  min-width: 100%;
  --col-black: #010101;
  --col-main: #aa1a39;
  --col-main-blue: #3b50a6;
  --col-bg: #c8ddef;
  --col-btn-gradation: linear-gradient(to bottom, #3b50a6, #7e62a3);
  --col-dark-blue: #233067;
}

.footer {
  position: relative;
  z-index: 15;
}
.footer .s-paegtop {
  z-index: 1000;
}
.footer footer .s-footer-links {
  background-color: #fff;
}
.footer .s-footer {
  margin-top: 0;
}

.section {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--col-black);
  line-height: 1.5;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: "pwid" on;
          font-feature-settings: "pwid" on;
}
.section * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.section *::after, .section *::before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.section img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 1;
  -ms-interpolation-mode: bicubic;
  vertical-align: top;
}
.section em {
  font-style: normal;
}

.section .gothic {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 300;
}
.section .gothic.bold,
.section .gothic .bold {
  font-weight: 600;
}
.section .mincho {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
}
.section .mincho.bold,
.section .mincho .bold {
  font-weight: 700;
}
.section .mincho.black,
.section .mincho .black {
  font-weight: 900;
}

.section a:hover {
  text-decoration: none;
}

.section .pc-block {
  display: none;
}
.section .sp350-block {
  display: none;
}
.section .sp-block {
  display: block;
}

.clip_wrap {
  overflow: clip;
  position: relative;
}

.accordion_wrap input.accordion_checkbox {
  display: none;
}
.accordion_wrap label.accordion_check {
  cursor: pointer;
  width: 100%;
  display: block;
  margin: auto;
  -webkit-transition: background 0.2s ease-in, color 0.2s ease-in;
  transition: background 0.2s ease-in, color 0.2s ease-in;
}
.accordion_wrap label.accordion_check span {
  -webkit-transition: background 0.2s ease-in;
  transition: background 0.2s ease-in;
}
.accordion_wrap label.accordion_check span:first-child {
  display: block;
}
.accordion_wrap label.accordion_check span:last-child {
  display: none;
}
.accordion_wrap .accordion_inner {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.5s ease;
  transition: grid-template-rows 0.5s ease;
  transition: grid-template-rows 0.5s ease, -ms-grid-rows 0.5s ease;
}
.accordion_wrap .accordion_inner > .content_outer {
  overflow: hidden;
  min-height: 0;
}
.accordion_wrap:has(> input.accordion_checkbox:checked) label.accordion_check span:first-child {
  display: none;
}
.accordion_wrap:has(> input.accordion_checkbox:checked) label.accordion_check span:last-child {
  display: block;
}
.accordion_wrap:has(> input.accordion_checkbox:checked) > .accordion_inner {
  grid-template-rows: 1fr;
}

/*下部バナーエリア*/
#banner-sec {
  padding: 0 16px;
  z-index: 10;
  position: relative;
}
#banner-sec .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px 0;
  padding: 60px 24px 80px;
}
#banner-sec .wrap a {
  max-width: 100%;
  background: #fff;
}
#banner-sec .wrap a img {
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
#banner-sec .wrap a:hover {
  opacity: 1;
  background: var(--col-orange);
}
#banner-sec .wrap a:hover img {
  opacity: 0.6;
}

/* MV */
#mainvisual .content_wrap {
  position: relative;
}
#mainvisual .content_wrap .logo {
  position: absolute;
  width: 16%;
  max-width: 60px;
  bottom: 16px;
  left: 12px;
}

/* ／ MV */
/* TOP */
#top .content_wrap {
  padding: 80px 24px;
}
#top .inner_wrap {
  display: grid;
  gap: 56px;
  margin-bottom: 80px;
}
#top .inner_wrap .title_wrap {
  display: grid;
  place-items: center;
  gap: 14px;
  margin-inline: -24px;
}
#top .inner_wrap .title_wrap .movie {
  width: 75.44%;
  margin: auto;
}
#top .inner_wrap .title_wrap .jr {
  width: 90.16%;
  margin: auto;
}
#top .inner_wrap .title_wrap .x {
  width: 8%;
  aspect-ratio: 1/1;
  position: relative;
}
#top .inner_wrap .title_wrap .x::before, #top .inner_wrap .title_wrap .x::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  left: -20.8333333333%;
  display: block;
  width: 141.6666666667%;
  height: 1px;
  background: var(--col-main);
  rotate: 45deg;
}
#top .inner_wrap .title_wrap .x::after {
  rotate: -45deg;
}
#top .inner_wrap dl.date {
  display: grid;
  place-items: center;
  gap: 8px;
}
#top .inner_wrap dl.date dt {
  width: 45px;
  height: 60px;
  display: grid;
  place-items: center;
  border: solid 1px var(--col-main);
  border-bottom: none;
  border-top: none;
  position: relative;
}
#top .inner_wrap dl.date dt::before, #top .inner_wrap dl.date dt::after {
  content: "";
  position: absolute;
  top: 0;
  left: -2px;
  display: block;
  width: 3px;
  height: 16px;
  background: var(--col-main);
}
#top .inner_wrap dl.date dt::after {
  top: auto;
  left: auto;
  right: -2px;
  bottom: 0;
}
#top .inner_wrap dl.date dt h4 {
  display: inline-block;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
  color: var(--col-main);
  font-weight: 900;
}
#top .inner_wrap dl.date dd {
  font-weight: 900;
}
#top .inner_wrap dl.date dd em {
  font-size: 32px;
  color: var(--col-main);
}
#top .inner_wrap dl.date dd .letterspace {
  display: inline-block;
  margin-inline: -0.5em;
}
#top .inner_wrap .lead_wrap {
  display: grid;
  gap: 16px;
  font-size: 16px;
  letter-spacing: 1.5;
}
#top .inner_wrap .lead_wrap em {
  color: var(--col-main);
}
#top nav.top_nav ul {
  display: grid;
  gap: 8px;
  font-weight: 900;
}
#top nav.top_nav ul .label {
  background: var(--col-main);
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  padding: 4px 16px;
}
#top nav.top_nav ul .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  background: var(--col-main);
  font-size: 16px;
  color: #fff;
  width: 100%;
  height: 55px;
  padding: 0 20px;
  -webkit-box-shadow: 4px 4px 0 rgba(255, 255, 255, 0.5);
          box-shadow: 4px 4px 0 rgba(255, 255, 255, 0.5);
}
#top nav.top_nav ul .box > span {
  position: relative;
}
#top nav.top_nav ul .box::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: var(--col-btn-gradation);
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
#top nav.top_nav ul .box::after {
  position: relative;
  content: "";
  display: block;
  width: 20px;
  height: 8px;
  background: #fff;
  -webkit-mask-image: url(../_img/icon_arrow_tobottom.svg);
          mask-image: url(../_img/icon_arrow_tobottom.svg);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background 0.2s ease-in;
  transition: background 0.2s ease-in;
}
@media (any-hover: hover) {
  #top nav.top_nav ul a:hover .box::before {
    opacity: 0;
  }
}

/*／TOP*/
.fixed_bg {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  z-index: 1;
  margin-bottom: -100dvh;
}
.fixed_bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.fixed_bg + main {
  position: relative;
  z-index: 10;
}

/*固定ナビ*/
body:has(#nav-sec nav input:checked) {
  overflow: hidden;
}

#nav-sec {
  position: fixed;
  padding: 0;
  top: 0px;
  width: 100%;
  height: 0;
  margin: auto;
  overflow: visible;
  z-index: 1000;
}
#nav-sec nav {
  position: absolute;
  right: 0;
  overflow: visible;
  height: 0;
}
#nav-sec nav input {
  display: none;
}
#nav-sec nav label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 100;
  width: 50px;
  height: 50px;
  pointer-events: auto;
  cursor: pointer;
  background: var(--col-main);
  margin: 10px 10px 0 auto;
}
#nav-sec nav label::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: var(--col-btn-gradation);
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
@media (any-hover: hover) {
  #nav-sec nav label:hover::before {
    opacity: 0;
  }
}
#nav-sec nav label > .icon {
  display: block;
  position: relative;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 22.5px;
  height: 8px;
  -webkit-transition: width 0.3s ease-in-out, height 0.3s ease-in-out;
  transition: width 0.3s ease-in-out, height 0.3s ease-in-out;
}
#nav-sec nav label > .icon span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#nav-sec nav label > .icon span:nth-of-type(2) {
  top: auto;
  bottom: 0;
}
#nav-sec nav input + label + .menu {
  z-index: 1;
  width: 100vw;
  height: 100dvh;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: visibility 0.1s ease-in, opacity 0.1s ease-in-out, background 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
  transition: visibility 0.1s ease-in, opacity 0.1s ease-in-out, background 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, visibility 0.1s ease-in, opacity 0.1s ease-in-out, background 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, visibility 0.1s ease-in, opacity 0.1s ease-in-out, background 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
  margin-top: -60px;
  background-color: transparent;
  position: relative;
  display: grid;
  place-items: center;
}
#nav-sec nav input:checked + label > .icon {
  width: 24px;
  height: 24px;
}
#nav-sec nav input:checked + label > .icon span {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 50%;
}
#nav-sec nav input:checked + label > .icon span:nth-of-type(2) {
  bottom: 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#nav-sec nav input:checked + label > .name span:first-child {
  display: none;
}
#nav-sec nav input:checked + label > .name span:nth-child(2) {
  display: block;
}
#nav-sec nav input:checked + label + .menu {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-transition: visibility 0.5s ease-in, opacity 0.5s ease-in-out, background 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  transition: visibility 0.5s ease-in, opacity 0.5s ease-in-out, background 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, visibility 0.5s ease-in, opacity 0.5s ease-in-out, background 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, visibility 0.5s ease-in, opacity 0.5s ease-in-out, background 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
}
#nav-sec nav .menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 8px;
  position: relative;
  padding: 0 24px;
  font-weight: 900;
}
#nav-sec nav .menu ul li a {
  display: grid;
}
#nav-sec nav .menu ul li a .label {
  color: #fff;
  font-size: 12px;
  padding: 4px 16px;
  background: var(--col-main);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
#nav-sec nav .menu ul li a .box {
  color: #fff;
  font-size: 16px;
  padding: 16px 20px;
  background: var(--col-main);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-box-shadow: 4px 4px 0 rgba(255, 255, 255, 0.5);
          box-shadow: 4px 4px 0 rgba(255, 255, 255, 0.5);
  -webkit-transition: background 0.2s ease-in;
  transition: background 0.2s ease-in;
}
#nav-sec nav .menu ul li a .box > span {
  position: relative;
}
#nav-sec nav .menu ul li a .box::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: var(--col-btn-gradation);
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
#nav-sec nav .menu ul li a .box::after {
  content: "";
  display: block;
  width: 20px;
  height: 8px;
  background: #fff;
  position: relative;
  -webkit-mask-image: url(../_img/icon_arrow_tobottom.svg);
          mask-image: url(../_img/icon_arrow_tobottom.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
#nav-sec nav .menu ul li a.current .box {
  background: var(--col-dark-blue);
}
#nav-sec nav .menu ul li a.current .box::before {
  opacity: 0;
}
@media (any-hover: hover) {
  #nav-sec nav .menu ul li a:hover .box::before {
    opacity: 0;
  }
  #nav-sec nav .menu ul li a:hover.current .box {
    background: var(--col-main);
  }
}

nav#nav {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}
nav#nav label {
  pointer-events: none;
}
@media (min-width: 769px) {
  nav#nav {
    opacity: 1;
  }
  nav#nav label {
    pointer-events: all;
  }
}
nav#nav.is-active {
  opacity: 1;
}
nav#nav.is-active label {
  pointer-events: all;
}

/*／固定ナビ*/
/* 共通タイトル */
h3.common_title {
  display: grid;
  justify-items: center;
  gap: 12px;
}
h3.common_title .label {
  background: var(--col-main);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.3333333333;
  color: #fff;
  padding: 4px 10px 4px 12px;
}
h3.common_title .main_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  border-bottom: solid 1px var(--col-main);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.5;
  color: var(--col-main);
  padding-bottom: 2px;
}
h3.common_title .main_title::before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  display: block;
  width: 20px;
  height: 3px;
  background: var(--col-main);
}

/* ／ 共通タイトル */
/* 共通btn */
a.btn {
  width: 100%;
  min-height: 60px;
  background: var(--col-main);
  color: #fff;
  font-size: 14px;
  padding: 20px 8px;
  position: relative;
  -webkit-box-shadow: 4px 4px 0 rgba(255, 255, 255, 0.5019607843);
          box-shadow: 4px 4px 0 rgba(255, 255, 255, 0.5019607843);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
a.btn.shinkansen {
  padding: 10px 8px;
}
a.btn.blankwindow::after {
  width: 20px;
  height: 20px;
  -webkit-mask-image: url(../_img/icon_blankwindow.svg);
          mask-image: url(../_img/icon_blankwindow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
}
a.btn.comingsoon {
  font-size: 16px;
  pointer-events: none;
  background: #888;
}
a.btn.comingsoon::before, a.btn.comingsoon::after {
  display: none;
}
a.btn > span {
  position: relative;
}
a.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--col-btn-gradation);
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
a.btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: 16px;
  display: block;
  width: 8px;
  height: 20px;
  background: #fff;
  -webkit-mask-image: url(../_img/icon_arrow_toright.svg);
          mask-image: url(../_img/icon_arrow_toright.svg);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background 0.2s ease-in;
  transition: background 0.2s ease-in;
}
@media (any-hover: hover) {
  a.btn:hover::before {
    opacity: 0;
  }
}

/* ／ 共通btn */
/* 新幹線車内限定映像 */
#shinkansen {
  padding: 0 24px 80px;
}
#shinkansen .content_wrap {
  position: relative;
}
#shinkansen .content_wrap h3.common_title {
  margin-bottom: 40px;
}
#shinkansen .content_wrap .inner_wrap {
  display: grid;
  gap: 40px;
}
#shinkansen .content_wrap .lead {
  font-size: 16px;
  line-height: 1.5;
}
#shinkansen .content_wrap .capture_wrap {
  position: relative;
}
#shinkansen .content_wrap .capture_wrap .caputure_inner_wrap {
  padding: 10px 0 6px;
  display: grid;
  gap: 5px;
  background: rgba(255, 255, 255, 0.5019607843);
  position: relative;
}
#shinkansen .content_wrap .capture_wrap .caputure_inner_wrap::before, #shinkansen .content_wrap .capture_wrap .caputure_inner_wrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 10px;
  background: -webkit-gradient(linear, left top, right top, from(#000), color-stop(33.3%, #000), color-stop(33.3%, #f38e03), color-stop(66.6%, #f38e03), color-stop(66.6%, #1a7739), to(#1a7739));
  background: linear-gradient(to right, #000, #000 33.3%, #f38e03 33.3%, #f38e03 66.6%, #1a7739 66.6%, #1a7739);
  background-size: 16.6666666667% auto;
}
#shinkansen .content_wrap .capture_wrap .caputure_inner_wrap::after {
  top: auto;
  bottom: 0;
  height: 6px;
}
#shinkansen .content_wrap .capture_wrap .caputure_inner_wrap > dl {
  position: relative;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  grid-template-columns: auto auto;
  font-size: 14px;
  padding: 12px 4px;
}
#shinkansen .content_wrap .capture_wrap .caputure_inner_wrap > dl dt {
  color: var(--col-main);
}
#shinkansen .content_wrap .capture_wrap .caputure_inner_wrap > dl::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  display: block;
  width: 100%;
  height: 5px;
  background: -webkit-gradient(linear, left top, right top, from(#000), color-stop(33.3%, #000), color-stop(33.3%, #f38e03), color-stop(66.6%, #f38e03), color-stop(66.6%, #1a7739), to(#1a7739));
  background: linear-gradient(to right, #000, #000 33.3%, #f38e03 33.3%, #f38e03 66.6%, #1a7739 66.6%, #1a7739);
  background-size: 16.6666666667% auto;
}
#shinkansen .content_wrap .capture_wrap .kome {
  font-size: 12px;
  text-align: center;
  margin-top: 11px;
}
#shinkansen .content_wrap .capture_wrap .deco {
  position: absolute;
  width: calc(var(--w) / 327 * 100%);
  min-width: calc(var(--w) * 1px);
  top: calc(var(--y) / 340 * 100%);
  left: calc(var(--x) / 327 * 100%);
}
#shinkansen .content_wrap .capture_wrap .deco.red1 {
  --w: 77;
  --x: 281;
  --y: -42;
}
#shinkansen .content_wrap .capture_wrap .deco.blue {
  --w: 51;
  --x: 309;
  --y: 19;
}
#shinkansen .content_wrap .capture_wrap .deco.red2 {
  --w: 99;
  --x: -53;
  top: auto;
  bottom: 46px;
}
#shinkansen .content_wrap .notes_wrap {
  display: grid;
  gap: 16px;
}
#shinkansen .content_wrap .notes_wrap .notes {
  font-size: 12px;
  line-height: 1.6;
}
#shinkansen .content_wrap .notes_wrap .notes li.color {
  color: var(--col-main);
  font-weight: 600;
}
#shinkansen .content_wrap .notes_wrap .notes .link {
  text-decoration: underline;
  text-underline-offset: 0.1em;
  color: var(--col-main-blue);
  -webkit-transition: color 0.2s ease-in;
  transition: color 0.2s ease-in;
}
@media (any-hover: hover) {
  #shinkansen .content_wrap .notes_wrap .notes .link:hover {
    color: #000;
    color: var(--col-main);
  }
}
#shinkansen .content_wrap .notes_wrap > .notes {
  position: relative;
  padding: 16px;
}
#shinkansen .content_wrap .notes_wrap > .notes::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: url(../_img/bg_noise.jpg) center top repeat;
  background-size: 700px auto;
  z-index: -1;
  opacity: 0.4;
}
#shinkansen .content_wrap .accordion_wrap {
  position: relative;
  border: solid 1px;
  -o-border-image: var(--col-btn-gradation);
     border-image: var(--col-btn-gradation);
  border-image-slice: 1;
  padding: 16px 24px;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
@media (any-hover: hover) {
  #shinkansen .content_wrap .accordion_wrap:has(.accordion_check:hover) {
    opacity: 0.5;
  }
  #shinkansen .content_wrap .accordion_wrap:has(.accordion_check:hover):has(:checked) {
    opacity: 1;
  }
  #shinkansen .content_wrap .accordion_wrap:has(.accordion_check:hover):has(:checked) .accordion_check {
    opacity: 0.5;
  }
}
#shinkansen .content_wrap .accordion_wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: url(../_img/bg_noise.jpg) center top repeat;
  background-size: 700px auto;
  z-index: -1;
  opacity: 0.4;
}
#shinkansen .content_wrap .accordion_wrap .accordion_check {
  font-size: 16px;
  color: var(--col-main-blue);
  position: relative;
  margin: -16px -24px;
  padding: 16px 24px;
  width: -webkit-fill-available;
  width: -moz-available;
  width: stretch;
  border: solid 1px transparent;
  border-bottom: none;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
#shinkansen .content_wrap .accordion_wrap .accordion_check::before, #shinkansen .content_wrap .accordion_wrap .accordion_check::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 24px;
  display: block;
  width: 21px;
  height: 1px;
  background: var(--col-main-blue);
  -webkit-transition: rotate 0.2s ease-in-out;
  transition: rotate 0.2s ease-in-out;
}
#shinkansen .content_wrap .accordion_wrap .accordion_check::after {
  rotate: 90deg;
}
#shinkansen .content_wrap .accordion_wrap .accordion_checkbox:checked + .accordion_check::after {
  rotate: 0deg;
}
#shinkansen .content_wrap .accordion_wrap .notes {
  padding: 16px 0 0;
  border-top: solid 1px var(--col-main-blue);
  margin: 16px auto 0;
}
#shinkansen .content_wrap .accordion_wrap .accordion_close {
  display: block;
  font-size: 16px;
  text-align: center;
  margin: 16px auto 0;
  color: var(--col-main-blue);
  text-decoration: underline;
  cursor: pointer;
  text-align: center;
  -webkit-transition: color 0.2s ease-in;
  transition: color 0.2s ease-in;
}
@media (any-hover: hover) {
  #shinkansen .content_wrap .accordion_wrap .accordion_close:hover {
    color: var(--col-main);
  }
}

/* ／ 新幹線車内限定映像 */
/* オリジナルグッズプレゼント */
#presents {
  padding: 0;
}
#presents .content_wrap {
  padding: 80px 24px;
  background: rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(40px);
          backdrop-filter: blur(40px);
  position: relative;
}
#presents .inner_wrap {
  display: grid;
  gap: 32px;
  margin: 40px auto 0;
}
#presents .inner_wrap .lead {
  font-size: 16px;
  line-height: 1.5;
}
#presents .inner_wrap .lead em {
  font-size: 20px;
  font-weight: 900;
  color: var(--col-main);
}
#presents .inner_wrap .wrap {
  display: grid;
  gap: 24px;
}
#presents .inner_wrap .img_wrap {
  position: relative;
}
#presents .inner_wrap .img_wrap .deco {
  position: absolute;
  width: calc(var(--w) / 327 * 100%);
  min-width: calc(var(--w) * 1px);
  top: calc(var(--y) / 245 * 100%);
  left: calc(var(--x) / 327 * 100%);
}
#presents .inner_wrap .img_wrap .deco.red {
  --w: 54;
  --x: 273;
  --y: -46;
}
@media (min-width: 400px) {
  #presents .inner_wrap .img_wrap .deco.red {
    --y: calc(-46 + 16);
  }
}
@media (min-width: 420px) {
  #presents .inner_wrap .img_wrap .deco.red {
    --y: -46;
  }
}
#presents .inner_wrap .img_wrap .deco.blue {
  --w: 78;
  --x: 286;
  --y: -10;
}
@media (min-width: 400px) {
  #presents .inner_wrap .img_wrap .deco.blue {
    --y: calc(-10 + 16);
  }
}
@media (min-width: 420px) {
  #presents .inner_wrap .img_wrap .deco.blue {
    --y: -10;
  }
}
#presents .inner_wrap .img_wrap figure {
  width: 100%;
}
#presents .inner_wrap .img_wrap figcaption {
  position: absolute;
  bottom: 2px;
  right: 4px;
  font-size: 10px;
}
#presents .inner_wrap dl.details {
  display: grid;
  gap: 2px 0px;
  grid-template-columns: 96px 1fr;
  color: var(--col-main-blue);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
}
#presents .inner_wrap dl.details > dt {
  background: #a0c4de;
  display: grid;
  place-items: center;
  min-height: 53px;
}
#presents .inner_wrap dl.details > dd {
  background: #afcce1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 4px;
  min-height: 53px;
  padding: 12px 16px;
}
#presents .inner_wrap dl.details > dd > dl.price_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#presents .inner_wrap dl.details > dd a.blankwindow {
  display: inline-block;
  position: relative;
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--col-main-blue);
  padding-right: 30px;
  -webkit-transition: color 0.2s ease-in;
  transition: color 0.2s ease-in;
}
#presents .inner_wrap dl.details > dd a.blankwindow::after {
  position: absolute;
  top: calc(50% - 10px);
  right: 2px;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: var(--col-main-blue);
  -webkit-mask-image: url(../_img/icon_blankwindow.svg);
          mask-image: url(../_img/icon_blankwindow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background 0.2s ease-in;
  transition: background 0.2s ease-in;
}
@media (any-hover: hover) {
  #presents .inner_wrap dl.details > dd a.blankwindow:hover {
    color: var(--col-main);
  }
  #presents .inner_wrap dl.details > dd a.blankwindow:hover::after {
    background: var(--col-main);
  }
}
#presents .inner_wrap dl.details > dd .gothic {
  color: var(--col-black);
  font-size: 12px;
  line-height: 1.5;
}
#presents .inner_wrap dl.details > dd .gothic a.blankwindow {
  text-underline-offset: 1px;
  padding-right: 22px;
  padding-left: 4px;
}
#presents .inner_wrap dl.details > dd .gothic a.blankwindow::after {
  top: calc(50% - 7px);
  right: 4px;
  width: 14px;
  height: 14px;
}
@media (any-hover: hover) {
  #presents .inner_wrap dl.details > dd .gothic a.blankwindow:hover {
    color: var(--col-main);
  }
  #presents .inner_wrap dl.details > dd .gothic a.blankwindow:hover::after {
    background: var(--col-main);
  }
}
#presents .inner_wrap dl.howto {
  display: grid;
  gap: 4px;
}
#presents .inner_wrap dl.howto dt {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 900;
  color: var(--col-main-blue);
  background: #a0c4de;
  display: grid;
  place-items: center;
  height: 45px;
}
#presents .inner_wrap dl.howto dd ul {
  display: grid;
  gap: 4px;
}
#presents .inner_wrap dl.howto dd ul li {
  background: #afcce1;
  padding: 16px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#presents .inner_wrap dl.howto dd ul li .num {
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
  color: var(--col-main);
  padding: 0 0 8px;
  border-bottom: solid 1px var(--col-main);
}
#presents .inner_wrap dl.howto dd ul li p.gothic {
  font-size: 16px;
  line-height: 1.5;
}
#presents .inner_wrap .notes {
  position: relative;
  padding: 16px;
  font-size: 12px;
  line-height: 1.6;
}
#presents .inner_wrap .notes li.color {
  color: var(--col-main);
  font-weight: 600;
}
#presents .inner_wrap .notes::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: url(../_img/bg_noise.jpg) center top repeat;
  background-size: 700px auto;
  z-index: -1;
  opacity: 0.4;
}
#presents .inner_wrap .btn_wrap {
  margin-top: 8px;
  display: grid;
  gap: 32px;
}
#presents .inner_wrap .btn_wrap a.btn {
  -webkit-box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.5019607843);
          box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.5019607843);
}
#presents .inner_wrap .btn_wrap .kome {
  font-size: 12px;
  text-align: center;
  margin: 16px auto 0;
}
#presents .inner_wrap .btn_wrap .bnr {
  width: 100%;
  background: #bbb;
  color: #fff;
  display: grid;
  place-items: center;
  min-height: 120px;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
@media (any-hover: hover) {
  #presents .inner_wrap .btn_wrap .bnr:hover {
    opacity: 0.5;
  }
}

/* ／ オリジナルグッズプレゼント */
/* 春の京都情報 */
#kyoto {
  padding: 80px 24px;
}
#kyoto .content_wrap {
  background: rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(40px);
          backdrop-filter: blur(40px);
  padding: 40px 24px;
  position: relative;
}
#kyoto .bnr_list {
  margin: 32px auto 16px;
  display: grid;
  gap: 8px;
}
#kyoto .bnr_list a {
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
@media (any-hover: hover) {
  #kyoto .bnr_list a:hover {
    opacity: 0.5;
  }
}
#kyoto .notes {
  font-size: 12px;
}

/* ／ 春の京都情報 */
.alert {
  display: none;
  background-color: #b90000;
  font-size: 14px;
  color: #fff;
  padding: 8px;
  line-height: 1;
  margin-top: -30px;
  margin-bottom: 30px;
  z-index: 10;
  position: relative;
}
@media screen and (min-width: 769px) {
  .alert {
    font-size: 15px;
  }
}

.animation.fade {
  opacity: 0;
}
.animation.fade.is-active {
  -webkit-animation-name: fadein_animation;
          animation-name: fadein_animation;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
@-webkit-keyframes fadein_animation {
  0% {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadein_animation {
  0% {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.animation.slide {
  opacity: 0;
}
.animation.slide.is-active {
  -webkit-animation-name: slidein_animation;
          animation-name: slidein_animation;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
@-webkit-keyframes slidein_animation {
  0% {
    -webkit-transform: translateY(80px);
            transform: translateY(80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein_animation {
  0% {
    -webkit-transform: translateY(80px);
            transform: translateY(80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

.deco.animation {
  rotate: 60deg;
}
.deco.animation.blue {
  rotate: -60deg;
}
.deco.animation.is-active {
  -webkit-animation-name: rotate_deco;
          animation-name: rotate_deco;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 4.5s;
          animation-duration: 4.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.deco.animation.is-active.blue {
  -webkit-animation-name: rotate_deco_reverse;
          animation-name: rotate_deco_reverse;
}
@-webkit-keyframes rotate_deco {
  0% {
    rotate: 60deg;
  }
  100% {
    rotate: 0deg;
  }
}
@keyframes rotate_deco {
  0% {
    rotate: 60deg;
  }
  100% {
    rotate: 0deg;
  }
}
@-webkit-keyframes rotate_deco_reverse {
  0% {
    rotate: -60deg;
  }
  100% {
    rotate: 0deg;
  }
}
@keyframes rotate_deco_reverse {
  0% {
    rotate: -60deg;
  }
  100% {
    rotate: 0deg;
  }
}

@media screen and (min-width: 769px) {
  body {
    min-width: 768px !important;
  }
  .section .pc-block {
    display: block;
  }
  .section .sp350-block {
    display: none;
  }
  .section .sp-block {
    display: none;
  }
  .footer {
    z-index: 1000;
  }
  .footer .s-footer .inner {
    max-width: 1080px !important;
    width: 100% !important;
  }
  .footer .s-footer-links .inner {
    max-width: 1080px !important;
    width: 100% !important;
  }
  /*下部バナーエリア*/
  #banner-sec {
    padding-block: 0 80px 70px;
  }
  #banner-sec .wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0 8px;
    margin-top: 0;
  }
  #banner-sec .wrap a {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 245px;
  }
  /* MV */
  #mainvisual .content_wrap .logo {
    width: 4.2857142857%;
    bottom: 40px;
    left: 13.1428571429%;
  }
  /* ／ MV */
  #top .content_wrap {
    padding: 80px 16px 140px;
  }
  #top .inner_wrap {
    gap: 80px;
    margin-bottom: 140px;
  }
  #top .inner_wrap .title_wrap {
    max-width: 895px;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 3.9106145251% 1fr;
    gap: 32px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-inline: auto;
  }
  #top .inner_wrap .title_wrap .movie {
    width: 100%;
    padding-left: 16.3316582915%;
  }
  #top .inner_wrap .title_wrap .jr {
    width: 100%;
  }
  #top .inner_wrap .title_wrap .x {
    width: 100%;
  }
  #top .inner_wrap .title_wrap .x::before, #top .inner_wrap .title_wrap .x::after {
    left: calc(50% - 25px);
    width: 50px;
    height: 1px;
  }
  #top .inner_wrap dl.date {
    gap: 16px;
  }
  #top .inner_wrap dl.date dt {
    width: 61px;
    height: 80px;
  }
  #top .inner_wrap dl.date dt::before, #top .inner_wrap dl.date dt::after {
    height: 20px;
  }
  #top .inner_wrap dl.date dt h4 {
    font-size: 22px;
  }
  #top .inner_wrap dl.date dd {
    font-size: 20px;
  }
  #top .inner_wrap dl.date dd em {
    font-size: 42px;
  }
  #top .inner_wrap .lead_wrap {
    gap: 24px;
    font-size: 20px;
    line-height: 1.8;
    text-align: center;
  }
  #top nav.top_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 16px;
  }
  #top nav.top_nav ul li {
    max-width: 274px;
    width: 100%;
  }
  #top nav.top_nav ul .label {
    font-size: 15px;
  }
  #top nav.top_nav ul .box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 16px;
    font-size: 18px;
    width: 100%;
    height: auto;
    padding: 24px 0 16px;
    -webkit-box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.5);
            box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.5);
  }
  #top nav.top_nav ul .box::after {
    width: 47px;
    height: 19px;
    -webkit-mask-image: url(../_img/icon_arrow_tobottom_big.svg);
            mask-image: url(../_img/icon_arrow_tobottom_big.svg);
  }
  /*固定ナビ*/
  body:has(#nav-sec nav input:checked) {
    overflow: auto;
  }
  #nav-sec {
    position: -webkit-sticky;
    position: sticky;
    margin-top: 0;
  }
  #nav-sec nav {
    top: 0;
  }
  #nav-sec nav input,
  #nav-sec nav label {
    display: none;
  }
  #nav-sec nav input + label + .menu {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    width: 190px;
    height: auto;
    margin-top: 0;
  }
  #nav-sec nav .menu {
    background: transparent;
  }
  #nav-sec nav .menu ul {
    gap: 4px;
    padding: 0;
  }
  #nav-sec nav .menu ul li a .label {
    display: block;
    font-size: 10px;
    text-align: center;
    width: 100%;
    -webkit-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
  }
  #nav-sec nav .menu ul li a .box {
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    padding: 16px 20px;
    height: 68px;
    display: grid;
    grid-template-columns: 1fr 28px;
    -webkit-box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.5);
            box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.5);
    -webkit-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
  }
  #nav-sec nav .menu ul li a .box::after {
    width: 28px;
    height: 11px;
    -webkit-mask-image: url(../_img/icon_arrow_tobottom.svg);
            mask-image: url(../_img/icon_arrow_tobottom.svg);
  }
}
@media screen and (min-width: 769px) and (any-hover: hover) {
  #nav-sec nav .menu ul li a:hover .label {
    margin-left: -20px;
    width: calc(100% + 20px);
    padding-left: 36px;
  }
  #nav-sec nav .menu ul li a:hover .box {
    margin-left: -20px;
    padding-left: 40px;
  }
  #nav-sec nav .menu ul li a:hover .box::before {
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  /*／固定ナビ*/
  /* 共通タイトル */
  h3.common_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 12px;
  }
  h3.common_title .label {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-size: 15px;
    line-height: 1;
    padding: 8px 0;
    width: 26px;
    display: grid;
    place-items: center;
    white-space: nowrap;
  }
  h3.common_title .main_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
    border-bottom: none;
    font-size: 38px;
    line-height: 1;
    color: var(--col-main);
    padding-bottom: 0;
  }
  h3.common_title .main_title::before {
    display: none;
  }
  h3.common_title .main_title > span {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    border-right: solid 1px var(--col-main);
    padding-right: 8px;
    letter-spacing: 0.05em;
    position: relative;
    white-space: nowrap;
  }
  h3.common_title .main_title > span::before {
    content: "";
    position: absolute;
    top: 0;
    right: -2px;
    display: block;
    width: 3px;
    height: 20px;
    background: var(--col-main);
  }
  h3.common_title .main_title > span:nth-child(2) {
    margin-top: 126px;
  }
  #presents h3.common_title .main_title > span:nth-child(2) {
    margin-top: 196px;
  }
  h3.common_title .main_title > span:nth-child(2)::before {
    top: auto;
    bottom: 0;
  }
  /* ／ 共通タイトル */
  /* 共通btn */
  a.btn {
    max-width: 420px;
    min-height: 80px;
    display: grid;
    place-items: center;
    -webkit-box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.5019607843);
            box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.5019607843);
    font-size: 16px;
    margin: auto;
  }
  a.btn.shinkansen {
    max-width: 470px;
    margin-top: -40px;
  }
  a.btn.blankwindow::after {
    top: calc(50% - 12px);
    width: 24px;
    height: 24px;
  }
  a.btn.comingsoon {
    font-size: 18px;
  }
  a.btn::after {
    top: calc(50% - 14px);
    right: 24px;
    width: 11px;
    height: 28px;
  }
  /* ／ 共通btn */
  /* 新幹線車内限定映像 */
  #shinkansen {
    padding: 0 24px 100px;
  }
  #shinkansen .content_wrap {
    max-width: 1080px;
    -webkit-padding-start: 180px;
            padding-inline-start: 180px;
    width: 100%;
    margin: auto;
    position: relative;
  }
  #shinkansen .content_wrap h3.common_title {
    position: absolute;
    top: 0;
    left: 0;
  }
  #shinkansen .content_wrap .inner_wrap {
    gap: 56px;
    max-width: 700px;
    margin: auto 0;
  }
  #shinkansen .content_wrap .lead {
    font-size: 20px;
    line-height: 1.8;
    margin-top: 80px;
  }
  #shinkansen .content_wrap .capture_wrap .caputure_inner_wrap {
    padding: 12px 0 12px;
    gap: 12px;
  }
  #shinkansen .content_wrap .capture_wrap .caputure_inner_wrap::before, #shinkansen .content_wrap .capture_wrap .caputure_inner_wrap::after {
    height: 12px;
  }
  #shinkansen .content_wrap .capture_wrap .caputure_inner_wrap > dl {
    gap: 20px;
    font-size: 18px;
    padding: 17px 4px;
  }
  #shinkansen .content_wrap .capture_wrap .caputure_inner_wrap > dl::after {
    bottom: -12px;
    height: 12px;
  }
  #shinkansen .content_wrap .capture_wrap .kome {
    margin-top: 16px;
  }
  #shinkansen .content_wrap .capture_wrap .deco {
    width: calc(var(--w) / 700 * 100%);
    top: calc(var(--y) / 559 * 100%);
    left: calc(var(--x) / 700 * 100%);
  }
  #shinkansen .content_wrap .capture_wrap .deco.red1 {
    --w: 212;
    --x: 586;
    --y: -146;
  }
  #shinkansen .content_wrap .capture_wrap .deco.blue {
    --w: 143;
    --x: 663;
    --y: 19;
  }
  #shinkansen .content_wrap .capture_wrap .deco.red2 {
    --w: 201;
    --x: -144;
    top: auto;
    bottom: 35px;
  }
  #shinkansen .content_wrap .notes_wrap {
    margin-top: 16px;
    gap: 24px;
  }
  #shinkansen .content_wrap .notes_wrap > .notes {
    padding: 40px;
  }
  #shinkansen .content_wrap .accordion_wrap {
    padding: 24px 40px;
  }
  #shinkansen .content_wrap .accordion_wrap .accordion_check {
    margin: -24px -40px;
    padding: 24px 40px;
  }
  #shinkansen .content_wrap .accordion_wrap .accordion_check::before, #shinkansen .content_wrap .accordion_wrap .accordion_check::after {
    right: 40px;
  }
  #shinkansen .content_wrap .accordion_wrap .notes {
    padding: 24px 0 0;
    margin: 24px auto 0;
  }
  #shinkansen .content_wrap .accordion_wrap .accordion_close {
    display: none;
  }
  /* ／ 新幹線車内限定映像 */
  /* オリジナルグッズプレゼント */
  #presents {
    padding: 40px 24px 140px;
  }
  #presents .content_wrap {
    max-width: 1080px;
    width: 100%;
    margin: auto;
    padding: 80px 24px;
    -webkit-padding-start: 180px;
            padding-inline-start: 180px;
    position: relative;
  }
  #presents .content_wrap h3.common_title {
    position: absolute;
    top: -40px;
    left: 18px;
  }
  #presents .content_wrap .inner_wrap {
    gap: 32px;
    margin: 0 auto 0;
    margin-left: 0;
    max-width: 700px;
  }
  #presents .content_wrap .inner_wrap .lead {
    font-size: 20px;
    line-height: 1.8;
  }
  #presents .content_wrap .inner_wrap .lead em {
    font-size: 26px;
  }
  #presents .content_wrap .inner_wrap .wrap {
    gap: 40px;
  }
  #presents .content_wrap .inner_wrap .img_wrap .deco {
    width: calc(var(--w) / 700 * 100%);
    min-width: calc(var(--w) * 1px);
    top: calc(var(--y) / 525 * 100%);
    left: calc(var(--x) / 700 * 100%);
  }
  #presents .content_wrap .inner_wrap .img_wrap .deco.red {
    --w: 143;
    --x: 586;
    --y: -118;
  }
  #presents .content_wrap .inner_wrap .img_wrap .deco.blue {
    --w: 212;
    --x: 622;
    --y: -21;
  }
  #presents .content_wrap .inner_wrap .img_wrap figcaption {
    bottom: 10px;
    right: 9.5px;
    font-size: 12px;
  }
  #presents .content_wrap .inner_wrap dl.details {
    grid-template-columns: 128px 1fr;
    font-size: 18px;
  }
  #presents .content_wrap .inner_wrap dl.details > dt {
    min-height: 56px;
  }
  #presents .content_wrap .inner_wrap dl.details > dd {
    gap: 4px;
    min-height: 56px;
    padding: 12px 16px;
  }
  #presents .content_wrap .inner_wrap dl.details > dd.access {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 10px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #presents .content_wrap .inner_wrap dl.howto dt {
    font-size: 18px;
    height: 48px;
  }
  #presents .content_wrap .inner_wrap dl.howto dd ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
  #presents .content_wrap .inner_wrap dl.howto dd ul li {
    padding: 16px 16px 24px;
    grid-template-columns: auto;
    grid-template-rows: auto 1fr;
    justify-items: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 12px;
  }
  #presents .content_wrap .inner_wrap dl.howto dd ul li .num {
    font-size: 32px;
  }
  #presents .content_wrap .inner_wrap .notes {
    padding: 40px;
  }
  #presents .content_wrap .inner_wrap .btn_wrap {
    margin-top: 24px;
    gap: 56px;
  }
  #presents .content_wrap .inner_wrap .btn_wrap .bnr {
    max-width: 420px;
    margin: auto;
  }
  /* ／ オリジナルグッズプレゼント */
  /* 春の京都情報 */
  #kyoto {
    padding: 90px 24px 140px;
  }
  #kyoto .content_wrap {
    max-width: 1080px;
    width: 100%;
    margin: auto;
    padding: 160px 24px 80px;
  }
  #kyoto .content_wrap h3.common_title {
    position: absolute;
    top: -84px;
    left: calc(50% - 20.5px);
  }
  #kyoto .content_wrap h3.common_title .main_title {
    font-size: 32px;
  }
  #kyoto .bnr_list {
    max-width: 912px;
    margin: 0 auto 16px;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  #kyoto .notes {
    max-width: 912px;
    margin: auto;
  }
  /* ／ 春の京都情報 */
  /* ／pc end */
}/*# sourceMappingURL=style.css.map */