@charset "UTF-8";
.visible_sp{
  display: block;
}
.visible_pc{
  display: none;
}

#global-nav .top_page{
  display: none;
}
.-home #global-nav .top_page{
  display: list-item;
}
.-home #global-nav .sub_page{
  display: none;
}
/* header */
header {
  width: 100%;
  height: 62px;
  background: rgba(0, 0, 0, 0.6);
  position: fixed;
  z-index: 10;
}

.header-logo {
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  position: absolute;
  top: 16px;
  left: 18px;
  width: 50px;
  height: auto;
  z-index: 1001;
  transform: translateX(-100%);
}
.drawer-open .header-logo {
  opacity: 1;
  transform: translateX(0);
}
nav.drawer-nav {
  background-color: #000;
  overflow: auto !important;
  overflow-x: auto !important;
  overflow-y: scroll !important;
  /*background-image:url(../../images/common/title.svg);
  background-repeat:no-repeat;
  background-position: center bottom sp(30);
  background-size: sp(150) auto;*/
}

ul.drawer-menu {
  text-align: left;
  padding: 100px 50px 50px;
}

ul.drawer-menu li {
  padding: 8px 0;
  position: relative;
  color: #FCFCFC;
  font-size: 18px;
  line-height: 160%;
}

ul.drawer-menu li a {
  color: #FCFCFC;
  display: block;
  text-decoration: none;
}

ul.drawer-menu li a.no-link {
  color: #666;
  pointer-events: none;
}

#language {
  position: absolute;
  top: 10px;
  right: 0;
  width: 120px;
  height: 42px;
}

#language ul li a {
  display: block;
  font-size: 12px;
  line-height: 42px;
  color: #FCFCFC;
  text-align: right;
  padding-right: 15px;
  position: relative;
}

#fade-in li ul {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 13.8666666667vw;
  left: 0;
  width: 100%;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
}

#fade-in li:hover ul {
  visibility: visible;
  opacity: 1;
}

#fade-in li ul li {
  border-bottom: 1px solid #FCFCFC;
}

#fade-in li ul li:last-child {
  border-bottom: none;
}

#fade-in li ul li a {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
  font-size: 12px;
  line-height: 40px;
  color: #FFF;
  text-align: center;
  padding-right: 0 !important;
  background: #000;
}

#fade-in li:hover ul li a {
  visibility: visible;
  opacity: 1;
}

#floating-button {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  opacity: 0;
  -webkit-transition: 0.3s ease-in;
  -o-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

#floating-button.in-view {
  opacity: 1;
  -webkit-transition: 0.3s ease-in;
  -o-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

#floating-button a {
  display: block;
  padding: 6px 15px;
  font-size: 15px;
  line-height: 140%;
  background: #CF1223;
  position: relative;
}

#floating-button a::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%) scale(0.6, 1);
      -ms-transform: translateY(-50%) scale(0.6, 1);
          transform: translateY(-50%) scale(0.6, 1);
}

/* footer */
footer {
  background: url(../../images/footer/bar.png) no-repeat center top;
  padding: 30px 0 140px 0;
}

#fb-container {
  width: 86%;
  margin: 0 auto;
  padding: 0 0 50px 0;
}

.fb-box {
  width: 100%;
  margin: 0 auto 30px auto;
}

#footer-logo {
  width: 150px;
  height: auto;
  margin: 0 auto 20px auto;
}

nav#footer-nav {
  display: none;
}

footer p {
  font-size: 11px;
  line-height: 140%;
  color: #cacaca;
  text-transform: uppercase;
  margin: 0 5%;
}

#copyright {
  font-size: 12px;
  line-height: 40px;
  color: #FFF;
  background: #018790;
}

/* index */
.index section {
  width: 90%;
  margin: 0 auto;
  padding: 30px 0 50px 0;
  text-align: left;
}

.index section h2 {
  font-size: 24px;
  line-height: 140%;
  font-weight: 400;
  letter-spacing: 1px;
  margin-bottom: 25px;
}

.index section h2 strong {
  display: block;
  font-size: 30px;
  line-height: 140%;
  font-weight: 400;
  letter-spacing: 1px;
}

.index #index-section02 section h2 {
  font-size: 20px;
  line-height: 140%;
  font-weight: 400;
  letter-spacing: 1px;
}

.index section p {
  text-align: justify;
  text-justify: inter-ideograph;
}

.index section .bx-wrapper {
  width: 96%;
  margin: 20px auto 40px auto;
}

ul.index-gallery li {
  height: 115px;
  position: relative;
}

ul.index-gallery li img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.index section .button {
  width: 180px;
  margin: 30px auto 0 auto;
}

#index-section01 {
  width: 100%;
  position: relative;
  background: url(../../images/index/section01/billboard.jpg) no-repeat right -200px center;
  background-size: cover;
  margin: 0 auto;
}

#index-billboard {
  width: 100%;
  height: 100%;
  position: relative;
}

#index-billboard h1 {
  width: 60%;
  height: auto;
  position: absolute;
  top: 30%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#index-billboard #billboard-image {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 30px;
  left: 0;
  z-index: 2;
}

#index-billboard-section {
  width: 100%;
}

#index-billboard-section .bx-wrapper,
#index-billboard-section .bx-viewport,
#index-billboard-section ul.index-billboard-slider,
#index-billboard-section ul.index-billboard-slider li {
  height: 100% !important;
}

#index-billboard-section ul.index-billboard-slider li {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

#index-billboard-section ul.index-billboard-slider li.slide01 {
  background-image: url(../../images/index/section01/slide/01_sp.jpg);
}

#index-billboard-section ul.index-billboard-slider li a {
  display: block;
  text-indent: -9999px;
}

#index-section02 {
  width: 100%;
  background: url(../../images/index/section02/bg.jpg) no-repeat center center;
  background-size: cover;
  margin: 0 auto;
}

#index-section02 .index-movie-box {
  width: 90%;
  margin: 0 auto;
  padding-top: 30px;
}

#index-section02 .index-movie-inner {
  padding-bottom: 56.25%;
  position: relative;
  overflow: hidden;
}

#index-section02 .index-movie-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#index-section02 .text-box {
  position: relative;
  margin-bottom: 30px;
}

#index-section02 .text-box::before {
  display: block;
  content: "";
  width: 132px;
  height: 3px;
  background: url(../../images/index/section02/bar.png) no-repeat center center;
  margin-bottom: 25px;
}

#index-section03 {
  width: 100%;
  background: url(../../images/index/section03/bg.jpg) no-repeat center center;
  background-size: cover;
  margin: 0 auto;
  position: relative;
}

#index-section03::before {
  content: "";
  width: 100%;
  height: 100px;
  background: url(../../images/index/section03/bg02.png) no-repeat left top;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 0;
}

#index-section03 .title-box {
  width: 50%;
  margin: 0 auto 20px auto;
  position: relative;
  z-index: 3;
}

#index-section04 {
  width: 100%;
  background: url(../../images/index/section04/bg.jpg) no-repeat center center;
  background-size: cover;
  margin: 0 auto;
  position: relative;
}

#index-section04::before {
  content: "";
  width: 100%;
  height: 100px;
  background: url(../../images/index/section04/bg02.png) no-repeat left top;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  right: 0;
}

#index-section04 .title-box {
  width: 50%;
  margin: 0 auto 20px auto;
}

#index-section05 {
  width: 100%;
  background: url(../../images/index/section05/bg.jpg) no-repeat center center;
  background-size: cover;
  margin: 0 auto;
  position: relative;
}

#index-section05::before {
  content: "";
  width: 100%;
  height: 100px;
  background: url(../../images/index/section05/bg02.png) no-repeat left top;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 0;
}

#index-section05 .title-box {
  width: 70%;
  margin: 0 auto 20px auto;
  position: relative;
  z-index: 3;
}

/* contents */
#billboard {
  padding-bottom: 50px;
}

.samurai #billboard {
  width: 100%;
  background: url(../../images/samurai/bg.png) no-repeat center top;
}

.ninja #billboard {
  width: 100%;
  background: url(../../images/ninja/bg.png) no-repeat center top;
}

.castle #billboard {
  width: 100%;
  background: url(../../images/castle/bg.png) no-repeat center top;
}

.chubu #billboard {
  width: 100%;
  background: url(../../images/chubu/bg.png) no-repeat center top;
}

.access #billboard {
  width: 100%;
  background: #333333;
  padding-bottom: 25px;
  color: #E5AD77;
}

.movie #billboard {
  width: 100%;
  padding-bottom: 25px;
}

#billboard .page-title {
  width: 90%;
  margin: 0 auto;
  text-align: left;
  padding-top: 80px;
}

.page-title h1 {
  font-size: 24px;
  line-height: 160%;
  font-weight: 400;
  margin-bottom: 20px;
}

.page-title h1 strong {
  display: block;
  font-size: 30px;
  line-height: 160%;
}

.chubu .page-title h1 {
  margin-bottom: 10px;
}

.access #billboard .page-title,
.movie #billboard .page-title {
  display: block;
  text-align: center;
}

.access #billboard .page-title h1,
.movie #billboard .page-title h1 {
  margin-bottom: 0;
}

.access #billboard .page-title h1 strong,
.movie #billboard .page-title h1 strong {
  display: block;
  font-size: 24px;
  line-height: 140%;
  font-weight: 400;
}

.page-title #title-image {
  width: 80%;
  margin: 0 auto 30px auto;
}

.page-title p {
  font-size: 15px;
  line-height: 160%;
  margin: 0 auto 30px auto;
}

.castle .page-title #title-image {
  width: 90%;
}

ul.menu-list {
  margin: 0 auto;
}

ul.menu-list li {
  margin: 0 10px 30px 10px;
}

ul.menu-list li .thumbnail {
  width: 100%;
  height: 140px;
  overflow: hidden;
  position: relative;
}

ul.menu-list li .thumbnail img {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

ul.menu-list li .text-box {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: left;
  padding: 5px 30px 5px 10px;
  font-size: 13px;
  line-height: 160%;
  position: relative;
}

ul.menu-list li .text-box::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 14px;
  height: 14px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../../images/common/menu_arrow.svg) no-repeat center center;
  background-size: 14px auto;
}

.samurai ul.menu-list li .text-box {
  background: #bf272d;
}

.ninja ul.menu-list li .text-box {
  background: #004383;
}

.castle ul.menu-list li .text-box {
  background: #797a80;
}

.chubu ul.menu-list li .text-box {
  background: #556835;
}

.container {
  width: 100%;
  margin: 0 auto 40px auto;
}

.container-title.samurai-title {
  background: url(../../images/samurai/bg.png) no-repeat center top;
}

.container-title.ninja-title {
  background: url(../../images/ninja/bg.png) no-repeat center top;
}

.container-title.castle-title {
  background: url(../../images/castle/bg.png) no-repeat center top;
}

.container-title.chubu-title {
  background: url(../../images/chubu/bg.png) no-repeat center top;
}

.container-title h1 {
  margin: 0 auto;
  padding: 20px 5% 50px 5%;
  font-size: 24px;
  line-height: 140%;
  font-weight: 400;
  text-align: center;
  position: relative;
}

.container-title h1 .venue {
  display: block;
  font-size: 15px;
  line-height: 140%;
  font-weight: 400;
  margin-top: 5px;
}

.container-title h1 .treasure {
  display: inline-block;
  vertical-align: middle;
  height: 21px;
  font-size: 15px;
  line-height: 20px;
  padding: 0 15px;
  border: 1px solid #FFF;
  position: relative;
  top: -2px;
  margin-right: 10px;
}

.container-title h1::before {
  display: block;
  content: "";
  width: 36px;
  height: 36px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 36px auto;
  margin: 0 auto 5px auto;
}

.container-title h1.num01::before {
  background-image: url(../../images/common/num01.png);
}

.container-title h1.num02::before {
  background-image: url(../../images/common/num02.png);
}

.container-title h1.num03::before {
  background-image: url(../../images/common/num03.png);
}

.container-title h1.num04::before {
  background-image: url(../../images/common/num04.png);
}

.container-title h1.num05::before {
  background-image: url(../../images/common/num05.png);
}

.container-title h1.num06::before {
  background-image: url(../../images/common/num06.png);
}

.container-title h1.num07::before {
  background-image: url(../../images/common/num07.png);
}

.container-title h1.num08::before {
  background-image: url(../../images/common/num08.png);
}

.container-title h1.num09::before {
  background-image: url(../../images/common/num09.png);
}

.container-title h1.num10::before {
  background-image: url(../../images/common/num10.png);
}

.container-title h1.num11::before {
  background-image: url(../../images/common/num11.png);
}

.container-title h1.num12::before {
  background-image: url(../../images/common/num12.png);
}

.container section {
  width: 90%;
  margin: 0 auto 50px auto;
  text-align: left;
}

.container section p {
  margin-bottom: 30px;
}

.container section .block {
  display: block;
}

.container section .circle {
  border-radius: 100%;
  overflow: hidden;
}

/*
.flex{display:flex; flex-wrap:wrap;}
.between{justify-content:space-between;}
.items-center{align-items:center;}
.items-baseline{align-items:baseline;}
*/
/*
.w745{flex-basis:745px; width:745px;}
.w650{flex-basis:650px; width:650px;}
.w640{flex-basis:640px; width:640px;}
.w600{flex-basis:600px; width:600px;}
.w500{flex-basis:500px; width:500px;}
.w480{flex-basis:480px; width:480px;}
.w400{flex-basis:400px; width:400px;}
.w380{flex-basis:380px; width:380px;}
.w360{flex-basis:360px; width:360px;}
.w350{flex-basis:350px; width:350px;}
.w320{flex-basis:320px; width:320px;}
.w300{flex-basis:300px; width:300px;}
.w250{flex-basis:250px; width:250px;}
.w220{flex-basis:220px; width:220px;}
.w210{flex-basis:210px; width:210px;}
.w200{flex-basis:200px; width:200px;}
.w180{flex-basis:180px; width:180px;}
.w160{flex-basis:160px; width:160px;}
*/
.container .main-visual {
  margin: -30px auto 30px auto;
  position: relative;
}

.container .main-visual .caption {
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-size: 10px;
  line-height: 160%;
  color: #333;
}

.container p.description {
  margin-top: 50px;
  position: relative;
}

.container p.description::before {
  content: "";
  width: 60px;
  height: 60px;
  position: absolute;
  top: -25px;
  left: -15px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 60px;
}

.samurai p.description::before {
  background-image: url(../../images/samurai/ring.svg);
}

.ninja p.description::before {
  background-image: url(../../images/ninja/ring.svg);
}

.castle p.description::before {
  background-image: url(../../images/castle/ring.svg);
}

.chubu p.description::before {
  background-image: url(../../images/chubu/ring.svg);
}

.container .thumbnail-caption {
  font-size: 12px;
  line-height: 160%;
  color: #FFF;
  text-align: right;
  margin-bottom: 0;
}

.container .access-box {
  background: #1a1a1a;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px 20px;
  color: #e4e4e4;
  margin-bottom: 30px;
  font-size: 14px;
  line-height: 160%;
}

.container .main-access {
  position: relative;
}

.main-access::before {
  content: "";
  border-bottom: 25px solid transparent;
  position: absolute;
  top: 0;
  left: 0;
}

.samurai .main-access::before {
  border-left: 25px solid #bf272d;
}

.ninja .main-access::before {
  border-left: 25px solid #004383;
}

.castle .main-access::before {
  border-left: 25px solid #797a80;
}

.access-box hr {
  width: 100%;
  height: 1px;
  border: none;
  border-top: 1px solid #979797;
  margin: 10px auto;
}

.access-box p {
  font-family: sans-serif;
}

.access-box ul li {
  font-family: sans-serif;
  list-style: none;
  margin: 0 0 5px 0;
}

.access-box .link {
  position: relative;
  padding: 0;
}

.access-box .link .label {
  display: block;
}

.access-box .link .label::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url(../../images/common/link.svg) no-repeat center center;
  position: relative;
  top: 2px;
  margin-left: 10px;
}

.access-box .link a {
  word-break: break-all;
}

.busho-box {
  margin: 0 auto 30px auto;
}

.busho-box .name {
  font-size: 18px;
  line-height: 160%;
  border-bottom: 1px solid #FFF;
  padding-bottom: 5px;
  margin-bottom: 5px;
}

.busho-box .name span {
  font-size: 14px;
  margin-left: 10px;
}

.container .gmap-box {
  margin: 30px auto 0 auto;
}

.container .gmap-box iframe {
  width: 100%;
  height: 280px;
}

.container .h2-box {
  padding-bottom: 5px;
  margin-bottom: 15px;
}

.samurai .container .h2-box {
  background: #bf272d;
}

.ninja .container .h2-box {
  background: #004383;
}

.castle .container .h2-box {
  background: #797a80;
}

.access .container .h2-box {
  background: url(../../images/samurai/bg.png) no-repeat center top;
  margin-bottom: 15px;
}

.container .h2-box .tag {
  width: 185px;
  height: 28px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 14px;
  line-height: 28px;
  padding: 0 0 0 10px;
  margin: 0 0 5px 0;
  background: url(../../images/common/text_bg.png) no-repeat left center;
}

.container .h2-box h2 {
  font-size: 24px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 10px;
}

.container .h2-box h2.no-tag {
  padding-left: 15px;
}

.container .h2-box h2 .small {
  display: block;
  font-size: 15px;
  line-height: 160%;
  margin: 0px 0;
}

.container .access-contents .h2-box {
  padding: 10px;
}

.container .access-contents .h2-box h2 {
  font-size: 24px;
  line-height: 140%;
  font-weight: 400;
  margin: 0;
}

.container .h2-box .traffic-tag {
  display: inline-block;
  width: auto;
  height: 24px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 15px;
  line-height: 24px;
  text-align: center;
  color: #FFF;
  margin: 0 0 5px 0;
  padding: 0 20px;
  background: #CCC;
}

.container .h2-box .traffic01 {
  background: #faae00;
}

.container .h2-box .traffic02 {
  background: #000;
}

.container .h2-box .traffic03 {
  background: #556835;
}

.container .h2-box .traffic04 {
  background: #ed7600;
}

.container h3 {
  font-size: 20px;
  line-height: 160%;
  font-weight: 400;
}

.container h3 .small {
  font-size: 15px;
  line-height: 160%;
  font-weight: 400;
}

ul.samurai-gourmet-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

ul.samurai-gourmet-image li {
  -ms-flex-preferred-size: 32%;
      flex-basis: 32%;
  border-radius: 100%;
  overflow: hidden;
  margin-bottom: 10px;
}

.ninja-detail-box {
  border: 1px solid #004383;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px;
  background: #1a1a1a;
}

.ninja-detail-box .title {
  font-size: 20px;
  line-height: 24px;
  margin: 0 auto 10px auto;
  text-align: center;
}

.ninja-detail-box .title::before,
.ninja-detail-box .title::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  position: relative;
  top: -2px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 24px auto;
}

.ninja-detail-box .title::before {
  background-image: url(../../images/ninja/shuriken01.svg);
  margin-right: 10px;
}

.ninja-detail-box .title::after {
  background-image: url(../../images/ninja/shuriken02.svg);
  margin-left: 5px;
}

p.ninja-charactor img {
  width: 240px !important;
  margin: 0 auto;
}

.ninjamura .w200 {
  width: 240px;
  margin: 0 auto;
  text-align: center;
}

.hattori-box {
  margin: 0 auto 30px auto;
}

.hattori-box h3 {
  background: #004383;
  text-align: center;
  padding: 10px 0;
  margin-bottom: 10px;
  position: relative;
}

.hattori-box h3::before,
.hattori-box h3::after {
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  background: url(../../images/ninja/bar.png) no-repeat center center;
}

.hattori-box h3::before {
  top: 5px;
}

.hattori-box h3::after {
  bottom: 5px;
}

ul.hattori-image-list li {
  margin-bottom: 15px;
}

ul.hattori-image-list li .thumbnail {
  position: relative;
  margin-bottom: 5px;
}

ul.hattori-image-list li .thumbnail span {
  font-size: 40px;
  line-height: 100%;
  font-weight: 600;
  color: #FFF;
  position: absolute;
  text-shadow: 2px 2px 1px #000;
}

ul.hattori-image-list li:nth-child(1) .thumbnail span {
  top: 10px;
  left: 10px;
}

ul.hattori-image-list li:nth-child(2) .thumbnail span {
  bottom: 10px;
  right: 10px;
}

.ninja-ice {
  width: 240px;
  margin: 0 auto;
}

.matsumoto-yagura {
  width: 240px;
  margin: 0 auto;
  text-align: center;
}

.nakasendo-box {
  width: 100%;
  margin: 0 0 30px 0;
}

.nakasendo-box .description h2 {
  font-size: 30px;
  line-height: 160%;
  margin-bottom: 5px;
}

.nakasendo-box .description p {
  line-height: 160%;
  margin-bottom: 0;
}

.nakasendo-box .description .map {
  width: 100%;
  height: 240px;
  overflow: hidden;
  position: relative;
  margin: 0 auto 10px auto;
}

.nakasendo-box .description .map img {
  width: 140%;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

ul.nakasendo-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  margin-bottom: 10px;
  border: 1px solid #E5AD77;
  padding: 10px;
}

ul.nakasendo-list li .thumbnail {
  -ms-flex-preferred-size: 35%;
      flex-basis: 35%;
  height: auto;
}

ul.nakasendo-list li .text-box {
  -ms-flex-preferred-size: 60%;
      flex-basis: 60%;
}

ul.nakasendo-list li h3 {
  font-size: 18px;
  line-height: 160%;
  margin-bottom: 0;
}

ul.nakasendo-list li p {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 140%;
}

.castle-heart-image {
  width: 200px;
  margin: 0 auto 30px auto;
  text-align: center;
}

.nagoya-feature {
  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;
}

.nagoya-feature .thumbnail,
.nagoya-feature .text-box {
  -ms-flex-preferred-size: 49%;
      flex-basis: 49%;
}

/* access */
.access-map {
  margin: 0 auto;
}

.access-contents {
  color: #E5AD77;
}

.access-contents h1 {
  font-size: 20px;
  line-height: 160%;
  font-weight: normal;
  text-align: center;
  margin-bottom: 30px;
}

.access-contents h1 strong {
  font-family: sans-serif;
  font-size: 28px;
  line-height: 160%;
  font-weight: normal;
}

.traffic-box h3 {
  border-bottom: 1px solid #FFF;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

.traffic-box h3 strong {
  font-size: 140%;
}

.traffic-box h3 .wrap {
  display: inline-block;
  margin-left: 15px;
  border: 1px solid #FFF;
  font-size: 14px;
  line-height: 24px;
  position: relative;
  top: -2px;
  padding: 0 20px;
}

table.nexco-table {
  border-collapse: separate;
  border-spacing: 5px;
  font-size: 18px;
  line-height: 160%;
  margin-bottom: 30px;
}

table.nexco-table th {
  color: #000;
  background: #FFF;
  text-align: center;
  padding: 0px 0px;
}

table.nexco-table td {
  padding: 0px 10px;
}

.centrair img {
  width: 60%;
  margin: 0 auto;
}

.centrair-feature .w220 p:first-of-type {
  width: 45%;
  float: right;
  margin: 0 0 10px 10px !important;
}

/*
.centrair-feature{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
.centrair-feature .w220{
  flex-basis:49%;
  margin-bottom:10px;
}
.centrair-feature .w220 p{
  margin-bottom:0;
}
*/
/* movie */
/*body.movie{
  width:100%;
  background:url(../../images/index/section02/bg.jpg) no-repeat center center;
  background-size:cover;
  margin:0 auto;
}
.movie-box{
  width:90%;
  margin:0 auto 50px auto;
}
.movie-box h2{
  margin-bottom:10px;
}
.movie-inner{
  padding-bottom:56.25%;
  position:relative;
  overflow:hidden;
}
.movie-inner iframe{
  position:absolute;
  top:0; left:0;
  width:100%;
  height:100%;
}*/
html {
  -webkit-font-smoothing: antialiased;
}

nav#global-nav ul li a .homebtn {
  width: 7.7333333333vw;
}

/* -----------------------------------------------
.detailsbtn
-------------------------------------------------- */
.detailsbtn {
  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;
  width: 34.6666666667vw;
  height: 13.0666666667vw;
  font-size: 4.8vw;
  background-color: #B50000;
  color: white !important;
}
.detailsbtn > span {
  position: relative;
  padding-right: 5.3333333333vw;
}
.detailsbtn > span:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.1333333333vw;
  height: 3.4666666667vw;
  background: url(../../images/access/icn-arrow-white.svg) center no-repeat;
  background-size: contain;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.detailsbtn-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 46.6666666667vw;
}
.detailsbtn-long {
  width: 56vw;
}
.detailsbtn-free {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: auto !important;
  padding-left: 6.6666666667vw;
  padding-right: 5.3333333333vw;
}

/* -----------------------------------------------
.hdglv1
-------------------------------------------------- */
.hdglv1 {
  padding-top: 25.3333333333vw;
  padding-bottom: 8vw;
  border-bottom: 2.1333333333vw solid #E5AD77;
  color: #E5AD77;
  font-size: 8vw;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
}

/* -----------------------------------------------
.centriplist
-------------------------------------------------- */
.centriplist {
  margin-top: 5.3333333333vw;
  padding: 4vw 5.3333333333vw;
  background-color: white;
}
.centriplist > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 2.6666666667vw;
}
.centriplist > div > img {
  width: 32.5333333333vw;
}
.centriplist > div:after {
  content: "";
  position: relative;
  top: 1.8666666667vw;
  width: 4.2666666667vw;
  height: 4.2666666667vw;
  margin-left: 2.6666666667vw;
  background: url(../../images/common/link_black.svg) no-repeat center center;
}
.centriplist > ul > li > a {
  display: block;
  color: #000000;
  font-size: 3.7333333333vw;
  line-height: 1.57143;
}
.centriplist > ul > li + li {
  margin-top: 2.6666666667vw;
  padding-top: 2.6666666667vw;
  border-top: 1px dashed #ddd;
}

.home {
  color: #E5AD77;
}
.home img {
  width: 100%;
  height: auto;
}
.home a {
  color: #E5AD77;
}
.home * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* -----------------------------------------------
.home_inner
-------------------------------------------------- */
.home_inner {
  position: relative;
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
  text-align: left;
}

/* -----------------------------------------------
.home_title
-------------------------------------------------- */
.home_title {
  font-size: 12vw;
  font-weight: 400;
  text-align: center;
  line-height: 1;
}

/* -----------------------------------------------
.home_subtitle
-------------------------------------------------- */
.home_subtitle {
  margin-top: 4vw;
  padding-bottom: 4vw;
  font-size: 3.7333333333vw;
  line-height: 1.42858;
  text-align: center;
}

/* -----------------------------------------------
.home_list
-------------------------------------------------- */
.home_list > ul > li > .block {
  display: block;
  position: relative;
  padding: 5.3333333333vw;
  background-color: #1c1c1c;
}
.home_list > ul > li > .block > h3 {
  margin-top: 5.3333333333vw;
  font-size: 5.3333333333vw;
  font-weight: 400;
  line-height: 1.5;
}
.home_list > ul > li > .block > p {
  margin-top: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}
.home_list > ul > li + li {
  margin-top: 1.3333333333vw;
}
.acr-youtube{
  display: block;
  position: relative;
  line-height: 0;
}
.acr-youtube::after{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3) url(../../images/common/btn-youtube.svg) no-repeat center;
  background-size: 56px auto;
}

/* -----------------------------------------------
.home_kv
-------------------------------------------------- */
.home_kv {
  position: relative;
  height: 100vw;
}
.home_kv_title {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 54.1333333333vw;
  margin: 0 auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 3;
}
.home_kv_bg {
  position: absolute;
  top: 0;
  left: 0%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.home_kv_bg > div {
  position: absolute;
  top: 0;
  left: 50%;
  width: 177.78%;
  height: 100%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
.home_kv_bg > div:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../../images/home/kv_bg.png) center repeat;
  opacity: 0.6;
  z-index: 2;
}
.home_kv_bg > div > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.home_kv_link {
  position: absolute;
  left: 0;
  bottom: -6.5333333333vw;
  z-index: 5;
}

/* -----------------------------------------------
.home_lead
-------------------------------------------------- */
.home_lead {
  position: relative;
  overflow: hidden;
}
.home_lead:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 86.9333333333vw;
  background: url(../../images/home/lead_bg_sp.png) center no-repeat;
  background-size: contain;
}
.home_lead_inner {
  position: relative;
  padding-top: 47.7333333333vw;
}
.home_lead_title {
  font-size: 6.6666666667vw;
  line-height: 1.6;
}
.home_lead_lead {
  position: relative;
  margin-top: 8vw;
  font-size: 4.2666666667vw;
  line-height: 1.875;
  z-index: 2;
}
.home_lead_lead > span {
  display: block;
  position: relative;
  z-index: 2;
}
.home_lead_lead-2 {
  position: relative;
  margin-top: 48vw;
  padding-bottom: 61.3333333333vw;
  z-index: 1;
}
.home_lead_lead-2:before, .home_lead_lead-2:after {
  content: "";
  position: absolute;
}
.home_lead_lead-2:before {
  top: -160vw;
  left: -41.3333333333vw;
  width: 204.8vw;
  height: 197.3333333333vw;
  background: url(../../images/home/lead_bg2_sp.png) center no-repeat;
  background-size: contain;
}
.home_lead_lead-2:after {
  bottom: 0;
  left: -6.6666666667vw;
  right: -6.6666666667vw;
  height: 98.1333333333vw;
  background: url(../../images/home/lead_bg3_sp.png) bottom center no-repeat;
  background-size: 100% auto;
}
.home_lead_link {
  margin-top: 6.6666666667vw;
  margin-bottom: 12vw;
}
.home_lead_link > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.home_lead_link > ul > li {
  margin-right: 2.6666666667vw;
  margin-bottom: 4.2666666667vw;
}
.home_lead_link > ul > li > a {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 11.7333333333vw;
  padding-left: 4vw;
  padding-right: 4vw;
  border-radius: 5.8666666667vw;
  font-size: 3.7333333333vw;
  border: 1px solid #E5AD77;
  color: #E5AD77;
  line-height: 1.2;
}
.home_lead_link > ul > li > a:after {
  content: "";
  width: 3.4666666667vw;
  height: 2.1333333333vw;
  margin-top: 0.8vw;
  background: url(../../images/common/icn_arrow_primary.svg) center no-repeat;
  background-size: contain;
}

/* -----------------------------------------------
.home_movie
-------------------------------------------------- */
.home_movie {
  position: relative;
  padding-top: 20vw;
  padding-bottom: 21.3333333333vw;
  overflow: hidden;
}
.home_movie:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../../images/home/movie_bg_sp.png) center no-repeat;
  background-size: cover;
}
.home_movie_link {
  margin-top: 8vw;
  text-align: center;
}
.home_movie_image {
  margin-top: 2.6666666667vw;
  padding: 5.3333333333vw;
  background-color: #1C1C1C;
}
.home_movie_image > div {
  position: relative;
  padding-top: 56.25%;
}
.home_movie_image > div > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -----------------------------------------------
.home_360vr
-------------------------------------------------- */
.home_360vr {
  margin-top: 13.3333333333vw;
  padding-top: 8vw;
  padding-bottom: 21.3333333333vw;
}
.home_360vr_image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.home_360vr_image:after {
  content: "";
  width: 28.5333333333vw;
  height: 0;
}
.home_360vr_image > div {
  width: 28.5333333333vw;
  padding: 2.6666666667vw 2.6666666667vw 1.3333333333vw;
  background-color: #1C1C1C;
}
.home_360vr_image > div > div {
  position: relative;
  padding-top: 56.25%;
}
.home_360vr_image > div > div > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.home_360vr_image > div > p {
  margin-top: 2.4vw;
  font-size: 3.2vw;
  line-height: 1.25;
}
.home_360vr_image > div:nth-of-type(1) {
  width: 100% !important;
  padding: 5.3333333333vw 5.3333333333vw 3.4666666667vw;
}
.home_360vr_image > div:nth-of-type(1) > p {
  margin-top: 4vw;
}
.home_360vr_image > div:nth-of-type(n+2) {
  margin-top: 0.5333333333vw;
}

/* -----------------------------------------------
.home_contents
-------------------------------------------------- */
.home_contents {
  padding-top: 18.6666666667vw;
  background: url(../../images/home/contents_bg.png) top center repeat-y;
  background-size: 180% auto;
}
.home_contents_movie {
  padding-bottom: 2.6666666667vw;
  border-bottom: 1px solid #E5AD77;
  background-size: 100% auto;
  text-align: center;
}
.home_contents_movie_title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 8vw;
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
  font-size: 4.8vw;
  border-left: 1px solid #E5AD77;
  border-right: 1px solid #E5AD77;
  line-height: 1;
}
.home_contents_movie_slider {
  position: relative;
  margin-top: 8vw;
  padding-top: 2.6666666667vw;
  padding-bottom: 7.4666666667vw;
  border-top: 1px solid #E5AD77;
  overflow: hidden;
}
.home_contents_movie_slider_list {
  width: 77.3333333333vw;
  margin-left: auto;
  margin-right: auto;
  overflow: visible !important;
}
.home_contents_movie_slider_list .item {
  width: 74.6666666667vw;
  margin-left: 1.3333333333vw;
  margin-right: 1.3333333333vw;
}
.home_contents_movie_slider_list .item > a {
  display: block;
  position: relative;
}
.home_contents_movie_slider_list .item > a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 9.6vw;
  height: 9.6vw;
  background: url(../../images/home/icn_play.svg) center no-repeat;
  background-size: contain;
  -webkit-transform: translate(-50%, 50%);
      -ms-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  z-index: 2;
}
.home_contents_movie_slider_nav {
  display: none;
}
.home_contents_movie_map {
  position: relative;
  height: 66.6666666667vw;
}
.home_contents_movie_map > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.home_contents_tab {
  padding-bottom: 21.3333333333vw;
}
.home_contents_tab_btn {
  margin-left: -6.6666666667vw;
  margin-right: -6.6666666667vw;
  padding-top: 21.3333333333vw;
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.home_contents_tab_btn > ul {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.home_contents_tab_btn > ul > li {
  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;
  position: relative;
  width: 28.8vw;
  height: 13.6vw;
  font-size: 3.7333333333vw;
  border-top: 0.8vw solid #fff;
  background-color: #fff;
  color: #1C1C1C;
  cursor: pointer;
  -webkit-transition: height 0.3s, padding-top 0.3s, border-color 0.3s, background-color 0.1s, color 0.3s;
  -o-transition: height 0.3s, padding-top 0.3s, border-color 0.3s, background-color 0.1s, color 0.3s;
  transition: height 0.3s, padding-top 0.3s, border-color 0.3s, background-color 0.1s, color 0.3s;
}
.home_contents_tab_btn > ul > li > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 23.2vw;
  margin-left: auto;
  margin-right: auto;
  -webkit-transform: translateY(-85%);
      -ms-transform: translateY(-85%);
          transform: translateY(-85%);
}
.home_contents_tab_btn > ul > li + li {
  margin-left: 0.5333333333vw;
}
.home_contents_tab_btn > ul > li.is-active {
  border-top-color: #B50000;
  background-color: #1C1C1C;
  color: #E5AD77;
}
.home_contents_tab_body {
  position: relative;
}
.home_contents_tab_body_item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.5s, visibility 0.1s 0.5s;
  -o-transition: opacity 0.5s, visibility 0.1s 0.5s;
  transition: opacity 0.5s, visibility 0.1s 0.5s;
}
.home_contents_tab_body_item_desc {
  margin-bottom: 0.5333333333vw;
  padding: 5.3333333333vw;
  background-color: #1C1C1C;
}
.home_contents_tab_body_item_desc > h3 {
  font-size: 5.3333333333vw;
  line-height: 1.5;
}
.home_contents_tab_body_item_desc > p {
  margin-top: 3.2vw;
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}
.home_contents_tab_body_item.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.5s, visibility 0.1s;
  -o-transition: opacity 0.5s, visibility 0.1s;
  transition: opacity 0.5s, visibility 0.1s;
}

/* -----------------------------------------------
.home_access
-------------------------------------------------- */
.home_access {
  margin-top: 26.6666666667vw;
  color: #E5AD77;
}
.home_access img {
  width: 100%;
  height: auto;
}
.home_access-notop {
  margin-bottom: 26.6666666667vw;
}
.home_access_link {
  margin-top: 8vw;
  text-align: center;
}
.home_access_list > ul {
  margin-top: 6.6666666667vw;
}
.home_access_list > ul > li {
  margin-top: 1.3333333333vw;
}
.home_access_list > ul > li > a {
  display: block;
  padding: 5.3333333333vw;
  background-color: #1c1c1c;
}
.home_access_list > ul > li > a > h3 {
  position: relative;
  min-height: 18.6666666667vw;
  padding-bottom: 4vw;
  padding-left: 14.6666666667vw;
  font-size: 5.3333333333vw;
  font-weight: 400;
  line-height: 1.2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.home_access_list > ul > li > a > h3 > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 10.6666666667vw;
}
.home_access_list > ul > li > a > h3 > strong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 10.6666666667vw;
  word-break: break-word;
}
.home_access_list > ul > li > a > h3 > span {
  display: block;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}
.home_access_list > ul > li.bus > a > h3 {
  color: #2DCCBA;
}
.home_access_list > ul > li.train > a > h3 {
  color: #F87B22;
}

/* -----------------------------------------------
.home_learn
-------------------------------------------------- */
.home_learn {
  position: relative;
  padding-top: 26.6666666667vw;
  overflow: hidden;
  /*&:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    left: sp(142);
    width: sp(294);
    height: sp(221);
    background: url(../../images/home/more_bg.png) center no-repeat;
    background-size: contain;
  }*/
  /*&_list {
    margin-top: sp(-30);
    > ul {
      > li {
        margin-top: sp(60);
      }
    }
  }*/
}

/* -----------------------------------------------
.home_facebook
-------------------------------------------------- */
.home_facebook {
  margin-top: 21.3333333333vw;
}
.home_facebook_list > ul > li {
  border: 1px solid #1c1c1c;
}
.home_facebook_list > ul > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 26.6666666667vw;
  padding-left: 20px;
  border: 2.6666666667vw solid black;
  border-style: solid;
  border-color: black;
  background-color: #272727;
  color: #fff;
  font-size: 4.6vw;
  line-height: 1.38889;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.home_facebook_list > ul > li > a > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.home_facebook_list > ul > li > a > span > img {
  width: 9.3333333333vw;
  margin-right: 10px;
}
.home_facebook_list > ul > li + li {
  border-top: 1px solid #666666;
}

/* -----------------------------------------------
.home_related
-------------------------------------------------- */
.home_related {
  margin-top: 24vw;
}
.home_related_list {
  margin-top: 10.6666666667vw;
}
.home_related_list > ul > li > a {
  display: block;
  padding: 5.3333333333vw;
  background-color: #1c1c1c;
}
.home_related_list > ul > li + li {
  margin-top: 1.3333333333vw;
}

/* -----------------------------------------------
.home_flight
-------------------------------------------------- */
.home_flight {
  margin-top: 24vw;
  color: #E5AD77;
}
.home_flight_title {
  margin-bottom: 1.3333333333vw;
  line-height: 1.333;
}
.home_flight_title > span {
  display: block;
  margin-top: 1.3333333333vw;
  font-size: 4.8vw;
  line-height: 1.5;
}
.home_flight_list > ul > li > a {
  display: block;
  padding: 5.3333333333vw;
  background-color: #1c1c1c;
}
.home_flight_list > ul > li .title {
  margin-top: 4vw;
  font-size: 3.7333333333vw;
}
.home_flight_list > ul > li:last-child .title {
  margin-top: 0vw;
  margin-bottom: 4vw;
  font-size: 5.3333333333vw;
}
.home_flight_list > ul > li + li {
  margin-top: 1.3333333333vw;
}
.home_flight_link {
  margin-top: 13.3333333333vw;
}

/* -----------------------------------------------
.home_epilogue
-------------------------------------------------- */
.home_epilogue {
  position: relative;
  height: 100.5333333333vw;
  margin-top: 13.3333333333vw;
  padding-top: 36vw;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.home_epilogue:before {
  content: "";
  position: absolute;
  top: 0;
  left: -54.9333333333vw;
  width: 154.9333333333vw;
  height: 111.7333333333vw;
  background: url(../../images/home/epilogue_bg_sp.png) center no-repeat;
  background-size: contain;
}
.home_epilogue_title, .home_epilogue_lead {
  position: relative;
  color: #E5AD77;
  text-align: center;
  z-index: 2;
}
.home_epilogue_title {
  font-size: 7.4666666667vw;
  font-weight: 400;
}
.home_epilogue_title > span {
  display: block;
  margin-bottom: 1.6vw;
  font-size: 10.9333333333vw;
}
.home_epilogue_title > span:nth-of-type(2) {
  margin-top: 2.9333333333vw;
}
html[lang=th] .home_epilogue_title {
  line-height: 1.3;
}
html[lang=th] .home_epilogue_title > span:nth-of-type(2) {
  margin-top: 0vw;
}
.home_epilogue_lead {
  font-size: 3.7333333333vw;
}

/* -----------------------------------------------
.access-detail
-------------------------------------------------- */
.access-detail {
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
  color: #CCCCCC;
  text-align: left;
}
.access-detail img {
  width: 100%;
  height: auto;
}

/* -----------------------------------------------
.access-detail_subtitle
-------------------------------------------------- */
.access-detail_subtitle {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 10.6666666667vw;
  margin-top: 8.5333333333vw;
  padding-left: 16vw;
  font-size: 6.1333333333vw;
  font-weight: 400;
  line-height: 1.3913;
}
.access-detail_subtitle > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 10.6666666667vw;
}
.access-detail_subtitle.bus {
  color: #2DCCBA;
}
.access-detail_subtitle.train {
  color: #F87B22;
}

/* -----------------------------------------------
.access-detail_lead
-------------------------------------------------- */
.access-detail_lead {
  margin-top: 13.3333333333vw;
  font-size: 4.2666666667vw;
  line-height: 1.625;
}

/* -----------------------------------------------
.access-detail_map
-------------------------------------------------- */
.access-detail_map {
  margin-top: 13.3333333333vw;
}
.access-detail_map img {
  width: 100%;
  height: auto;
}

/* -----------------------------------------------
.access-detail_buybtn
-------------------------------------------------- */
.access-detail_buybtn > a {
  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;
  height: 18.4vw;
  font-size: 4.8vw;
  background-color: #B50000;
  color: white;
}
.access-detail_buybtn > a > span {
  position: relative;
  padding-right: 5.3333333333vw;
}
.access-detail_buybtn > a > span:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.1333333333vw;
  height: 3.4666666667vw;
  background: url(../../images/access/icn-arrow-white.svg) center no-repeat;
  background-size: contain;
  -webkit-transform: translateY(-30%);
      -ms-transform: translateY(-30%);
          transform: translateY(-30%);
}
.access-detail_buybtn > a + a {
  margin-top: 1px;
}

/* -----------------------------------------------
.access-detail_pagenav
-------------------------------------------------- */
.access-detail_pagenav {
  margin-top: 16.5333333333vw;
}
.access-detail_pagenav > ul {
  margin-top: -6.6666666667vw;
}
.access-detail_pagenav > ul > li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 4.8vw;
  margin-right: 6.6666666667vw;
}
.access-detail_pagenav > ul > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #B50000;
  font-size: 4.8vw;
}
.access-detail_pagenav > ul > li > a:before {
  content: "";
  width: 3.4666666667vw;
  height: 2.1333333333vw;
  margin-right: 1.8666666667vw;
  background: url(../../images/access/icn-arrow-red.svg) center no-repeat;
  background-size: contain;
}

/* -----------------------------------------------
.access-detail_item
-------------------------------------------------- */
.access-detail_item {
  margin-top: 5.3333333333vw;
  padding-top: 13.3333333333vw;
  margin-bottom: 13.3333333333vw;
  color: #E5AD77;
}
.access-detail_item:last-child {
  margin-bottom: 26.6666666667vw;
}
.access-detail_item .title {
  font-size: 12vw;
  font-weight: 400;
  line-height: 1.111;
}
.access-detail_item .title > span {
  display: block;
  margin-bottom: 1.3333333333vw;
  font-size: 3.7333333333vw;
}
.access-detail_item .place {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  min-height: 5.3333333333vw;
  margin-top: 5.3333333333vw;
  padding-left: 6.1333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1;
}
.access-detail_item .place:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4vw;
  height: 5.3333333333vw;
  background: url(../../images/access/icn-marker.svg) center no-repeat;
  background-size: contain;
}
.access-detail_item .image {
  margin-top: 5.3333333333vw;
}
.access-detail_item .image > figcaption {
  margin-top: 5.3333333333vw;
}
.access-detail_item .image > figcaption p {
  font-size: 4.2666666667vw;
  line-height: 1.875;
}
.access-detail_item .image > figcaption > div {
  margin-top: 5.3333333333vw;
}

/* -----------------------------------------------
.movie_main
-------------------------------------------------- */
.movie_main {
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
  padding-bottom: 16vw;
  color: #E5AD77;
  text-align: left;
}
.movie_main_inner {
  margin-bottom: 0;
}
.movie_main img {
  width: 100%;
  height: auto;
}
.movie_main a {
  color: #E5AD77;
}

/* -----------------------------------------------
.movie_youtube
-------------------------------------------------- */
.movie_youtube {
  margin-top: 10.6666666667vw;
}
.movie_youtube_movie > div {
  position: relative;
  height: 48.8vw;
}
.movie_youtube_movie > div > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.movie_youtube_movie > div + div {
  margin-top: 8vw;
}
.movie_youtube_channel {
  margin-top: 8vw;
}
.movie_youtube_channel_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.movie_youtube_channel_info > div {
  width: 43.4666666667vw;
}
.movie_youtube_channel_info > figcaption {
  width: 36.5333333333vw;
}
.movie_youtube_channel_info > figcaption > dl > dt {
  font-size: 4.2666666667vw;
}
.movie_youtube_channel_info > figcaption > dl > dd {
  font-size: 5.3333333333vw;
  line-height: 1.5;
}
.movie_youtube_channel_info > figcaption .subscrib {
  margin-top: 5.3333333333vw;
}
.movie_youtube_channel_link > a {
  display: block;
  margin-top: 8.8vw;
  padding: 5.3333333333vw 6.6666666667vw;
  font-size: 3.7333333333vw;
  background-color: #272727;
  color: #E5AD77;
  line-height: 1.4285714286;
  word-break: break-all;
}

/* -----------------------------------------------
.movie_lead
-------------------------------------------------- */
.movie_lead {
  margin-top: 8vw;
  font-size: 4.2666666667vw;
  line-height: 1.875;
}

/* -----------------------------------------------
.movie_list
-------------------------------------------------- */
.movie_list > ul > li {
  margin-top: 16vw;
}
.movie_list > ul > li .title {
  margin-top: 5.3333333333vw;
  font-size: 5.3333333333vw;
}
.movie_list > ul > li .link {
  margin-top: 4vw;
}

/* -----------------------------------------------
.movie_tourpass
-------------------------------------------------- */
.movie_tourpass {
  background-color: #272727;
  color: #CCCCCC;
  text-align: left;
}
.movie_tourpass_inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 0;
  padding: 16vw 6.6666666667vw;
}
.movie_tourpass_title {
  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;
  height: 15.7333333333vw;
  border-top: 1px solid #666666;
  border-bottom: 1px solid #666666;
  font-size: 8vw;
  font-weight: 400;
}
.movie_tourpass_list {
  margin-top: 8vw;
}
.movie_tourpass_list > ul > li .image > img {
  width: 100%;
  height: auto;
}
.movie_tourpass_list > ul > li .title {
  position: relative;
  min-height: 10.6666666667vw;
  margin-top: 5.3333333333vw;
  padding-left: 16vw;
  font-size: 5.3333333333vw;
  font-weight: 400;
  line-height: 1.3913;
}
.movie_tourpass_list > ul > li .title > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 10.6666666667vw;
}
.movie_tourpass_list > ul > li .link {
  margin-top: 5.3333333333vw;
}
.movie_tourpass_list > ul > li + li {
  margin-top: 16vw;
}

/* -----------------------------------------------
.learn
-------------------------------------------------- */
.learn {
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
  padding-bottom: 16vw;
  color: #CCCCCC;
  text-align: left;
}
.learn img {
  width: 100%;
  height: auto;
}

/* -----------------------------------------------
.learn_profile
-------------------------------------------------- */
.learn_profile {
  position: relative;
  margin-top: 8vw;
}
.learn_profile .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 43.4666666667vw;
}
.learn_profile .main .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 43.4666666667vw;
  padding-left: 48.8vw;
  padding-bottom: 1.6vw;
  font-weight: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.learn_profile .main .name > span {
  font-size: 5.3333333333vw;
}
.learn_profile .main .name > span > span {
  display: block;
  font-size: 4.2666666667vw;
}
.learn_profile .main .career {
  margin-top: 6.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.675;
}
.learn_profile .introduce {
  margin-top: 6.6666666667vw;
  padding-top: 6.6666666667vw;
  border-top: 1px solid #ccc;
  font-size: 4.2666666667vw;
  line-height: 1.675;
}

/* -----------------------------------------------
.learn_hdglv2
-------------------------------------------------- */
.learn_hdglv2 {
  margin-top: 16vw;
  padding: 5.3333333333vw;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
  font-size: 8vw;
  font-weight: normal;
  text-align: center;
}

/* -----------------------------------------------
.learn_list
-------------------------------------------------- */
.learn_list {
  margin-top: 8vw;
}
.learn_list > ol {
  counter-reset: learnList;
}
.learn_list > ol > li {
  background-color: #272727;
  padding: 9.3333333333vw 6.6666666667vw;
  counter-increment: learnList;
}
.learn_list > ol > li:before {
  content: "0" counter(learnList);
  display: block;
  font-size: 13.3333333333vw;
  line-height: 1;
  text-align: center;
}
.learn_list > ol > li > ul {
  margin-top: 5.3333333333vw;
}
.learn_list > ol > li > ul > li {
  position: relative;
  padding-left: 5.3333333333vw;
  font-size: 4.2666666667vw;
  line-height: 1.675;
}
.learn_list > ol > li > ul > li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 2.4vw;
  width: 1.8666666667vw;
  height: 1.8666666667vw;
  border-radius: 50%;
  background-color: #CCCCCC;
}
.learn_list > ol > li > ul > li + li {
  margin-top: 6.6666666667vw;
}
.learn_list > ol > li + li {
  margin-top: 1px;
}

/* -----------------------------------------------
.learn_movie
-------------------------------------------------- */
.learn_movie {
  position: relative;
  margin-top: 8vw;
  padding-top: 56.25%;
}
.learn_movie > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -----------------------------------------------
.learn_link
-------------------------------------------------- */
.learn_link {
  margin-top: 8vw;
  text-align: center;
}

/* -----------------------------------------------
.travelplan_lead
-------------------------------------------------- */
.travelplan_lead {
  margin: 13.6vw 9.3333333333vw 7.2vw;
  font-size: 4.8vw;
  line-height: 1.3888888889;
}

/* -----------------------------------------------
.travelplan_summary
-------------------------------------------------- */
.travelplan_summary {
  width: 77.6vw;
  margin: 8.2666666667vw auto 0;
  padding: 4vw;
  border-left: 1px solid #E5AD77;
  border-right: 1px solid #E5AD77;
  background-color: rgba(28, 28, 28, 0.6);
}
.travelplan_summary_title {
  font-size: 5.3333333333vw;
  line-height: 1.5;
}
.travelplan_summary_lead {
  margin-top: 4vw;
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}
.travelplan_summary_link {
  margin-top: 4vw;
  line-height: 1.78572;
}
.travelplan_summary_schedule {
  counter-reset: travelplanSummary;
  margin-top: 4vw;
}
.travelplan_summary_schedule > li {
  counter-increment: travelplanSummary;
}
.travelplan_summary_schedule > li:not(:first-child) {
  margin-top: 5.3333333333vw;
}
.travelplan_summary_schedule > li > h3 > a {
  display: block;
  position: relative;
}
.travelplan_summary_schedule > li > h3 > a > span {
  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;
  width: 19.7333333333vw;
  height: 10.6666666667vw;
  font-size: 3.7333333333vw;
  background-color: #000;
}
.travelplan_summary_schedule > li > h3 > a::before {
  position: absolute;
  top: 5.3333333333vw;
  left: 19.7333333333vw;
  width: 34.6666666667vw;
  height: 1px;
  background-color: #E5AD77;
  content: "";
}
.travelplan_summary_schedule > li > h3 > a:hover {
  text-decoration: none;
}
.travelplan_summary_schedule > li > ul {
  margin-top: 2.6666666667vw;
}
.travelplan_summary_schedule > li > ul > li {
  font-size: 3.7333333333vw;
  line-height: 2.14286;
}

/* -----------------------------------------------
.travelplan_schedule
-------------------------------------------------- */
.travelplan_schedule {
  margin: 0 6.6666666667vw;
}
.travelplan_schedule_title {
  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;
  height: 8vw;
  margin: 8vw 4vw 0;
  background-color: #58456B;
  font-size: 4.8vw;
  color: white;
}
.travelplan_schedule_list {
  margin-top: 4.2666666667vw;
}
.travelplan_schedule_list > li:not(:last-child) {
  position: relative;
  min-height: 26.6666666667vw;
  padding-bottom: 8vw;
}
.travelplan_schedule_list > li:not(:last-child)::before {
  position: absolute;
  top: 0;
  left: 4.5333333333vw;
  width: 2px;
  height: 100%;
  background-image: -o-linear-gradient(top, #F3F0F0 2px, transparent 2px);
  background-image: linear-gradient(to bottom, #F3F0F0 2px, transparent 2px);
  background-size: 2px 12px;
  background-repeat: repeat-y;
  background-position: top center;
  content: "";
}
.travelplan_schedule_list > li > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  z-index: 2;
}
.travelplan_schedule_list > li > dl > dt {
  width: 17.3333333333vw;
  padding-right: 3.2vw;
  background-color: #000;
}
.travelplan_schedule_list > li > dl > dt ._title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  left: 50%;
  min-width: 17.3333333333vw;
  margin-top: -1.3333333333vw;
  padding-top: 1.3333333333vw;
  padding-right: 3.2vw;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.travelplan_schedule_list > li > dl > dt > img {
  width: 8.8vw;
}
.travelplan_schedule_list > li > dl > dt > img:first-child {
  padding-top: 1.3333333333vw;
}
.travelplan_schedule_list > li > dl > dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.travelplan_schedule_list > li > ._title {
  padding-top: 1.3333333333vw;
}
.travelplan_schedule_list ._title {
  display: block;
  position: relative;
  padding-bottom: 2.6666666667vw;
  background-color: #000;
  font-size: 5.3333333333vw;
  font-weight: bold;
  line-height: 1.45;
}
.travelplan_schedule_list ._lead {
  font-size: 3.7333333333vw;
  font-weight: 400;
  line-height: 1.42858;
}
.travelplan_schedule_list ._lead a {
  text-decoration: underline;
}

/* -----------------------------------------------
.common
-------------------------------------------------- */
.common {
  padding-bottom: 53.3333333333vw;
  color: #E5AD77;
  text-align: left;
}
.common * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.common img {
  width: 100%;
  height: auto;
}
.common a {
  color: #E5AD77;
}

/* -----------------------------------------------
.common_header
-------------------------------------------------- */
.common_header {
  position: relative;
}
.common_header:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 68vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.common_header_inner {
  position: relative;
  height: 73.3333333333vw;
  padding-top: 26.4vw;
  padding-left: 13.3333333333vw;
  padding-right: 6.6666666667vw;
  color: #fff;
}
.common_header_inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 54.4vw;
  height: 73.3333333333vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.common_header_title {
  position: relative;
  font-size: 8vw;
  font-weight: normal;
  z-index: 2;
}
.common_header_subtitle {
  position: absolute;
  z-index: 1;
}
.common_header_lead {
  position: relative;
  width: 28vw;
  margin-top: 2.6666666667vw;
  margin-left: 1.3333333333vw;
  font-size: 3.2vw;
  line-height: 1.66667;
  z-index: 2;
}
body.samurai .common_header:before {
  background-image: url(../../images/samurai/header_bg_sp.jpg);
}
body.samurai .common_header .common_header_inner:before {
  background-image: url(../../images/samurai/header_bg2_sp.png);
}
body.samurai .common_header .common_header_subtitle {
  top: 37.8666666667vw;
  left: 32.2666666667vw;
  width: 33.6vw;
  height: 35.7333333333vw;
}
body.ninja .common_header:before {
  background-image: url(../../images/ninja/header_bg_sp.jpg);
}
body.ninja .common_header .common_header_inner:before {
  background-image: url(../../images/ninja/header_bg2_sp.png);
}
body.ninja .common_header .common_header_subtitle {
  top: 39.4666666667vw;
  left: 28.5333333333vw;
  width: 43.2vw;
  height: 33.8666666667vw;
}
body.castle .common_header:before {
  background-image: url(../../images/castle/header_bg_sp.jpg);
}
body.castle .common_header .common_header_inner {
  color: #000;
}
body.castle .common_header .common_header_inner:before {
  background-image: url(../../images/castle/header_bg2_sp.png);
}
body.castle .common_header .common_header_subtitle {
  top: 38.9333333333vw;
  left: 33.0666666667vw;
  width: 33.8666666667vw;
  height: 34.4vw;
}
body.nakasendo .common_header:before {
  background-image: url(../../images/nakasendo/header_bg_sp.jpg);
}
body.nakasendo .common_header .common_header_inner:before {
  background-image: url(../../images/nakasendo/header_bg2_sp.png);
}
body.nakasendo .common_header .common_header_subtitle {
  top: 37.6vw;
  left: 33.3333333333vw;
  width: 33.6vw;
  height: 35.7333333333vw;
}
body.chubu .common_header:before {
  background-image: url(../../images/chubu/header_bg_sp.jpg);
}
body.chubu .common_header .common_header_inner:before {
  background-image: url(../../images/chubu/header_bg2_sp.png);
}
body.chubu .common_header .common_header_subtitle {
  top: 45.6vw;
  left: 20vw;
  width: 60vw;
  height: 28vw;
}
body.travelplan .common_header:before {
  background-image: url(../../images/travelplan/header_bg_sp.jpg);
}
body.travelplan .common_header .common_header_inner {
  height: 68vw;
}
body.travelplan .common_header .common_header_subtitle {
  display: none;
}
.common_header-travelplan .common_header_inner {
  height: 68vw;
}
.common_header-travelplan .common_header_period {
  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;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 33.3333333333vw;
  height: 12.8vw;
  background-color: #000;
  font-size: 5.3333333333vw;
  font-weight: bold;
}
.common_header-travelplan .common_header_subtitle {
  display: none;
}
.common_header-travelplan .common_header_lead {
  width: 53.3333333333vw;
}
.common_header-travelplan-course1:before {
  background-image: url(../../images/travelplan/course1/header_bg_sp.png) !important;
}
.common_header-travelplan-course2:before {
  background-image: url(../../images/travelplan/course2/header_bg_sp.png) !important;
}
.common_header-travelplan-course3:before {
  background-image: url(../../images/travelplan/course3/header_bg_sp.png) !important;
}
.common_header-travelplan-course4:before {
  background-image: url(../../images/travelplan/course4/header_bg_sp.png) !important;
}
.common_header-travelplan-course5:before {
  background-image: url(../../images/travelplan/course5/header_bg_sp.png) !important;
}
.common_header-travelplan-course6:before {
  background-image: url(../../images/travelplan/course6/header_bg_sp.png) !important;
}

/* -----------------------------------------------
.common_inner
-------------------------------------------------- */
.common_inner {
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
}

/* -----------------------------------------------
.common_lead
-------------------------------------------------- */
.common_lead {
  margin-top: 7.7333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}

/* -----------------------------------------------
.common_pagelink
-------------------------------------------------- */
.common_pagelink {
  margin-top: 6.6666666667vw;
}
.common_pagelink > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.common_pagelink > ul > li {
  width: 42.6666666667vw;
}
.common_pagelink > ul > li > a,
.common_pagelink > ul > li > div {
  display: block;
  height: 100%;
  padding: 3.2vw 3.2vw 2.6666666667vw;
  background-color: #1C1C1C;
}
.common_pagelink > ul > li > a .thumbnail,
.common_pagelink > ul > li > div .thumbnail {
  position: relative;
  padding-top: 66.66%;
  overflow: hidden;
}
.common_pagelink > ul > li > a .thumbnail img,
.common_pagelink > ul > li > div .thumbnail img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_pagelink > ul > li > a .text-box,
.common_pagelink > ul > li > div .text-box {
  margin-top: 3.7333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.28572;
}
.common_pagelink > ul > li > a .period-box,
.common_pagelink > ul > li > div .period-box {
  margin-top: 4vw;
  text-align: center;
}
.common_pagelink > ul > li > a .period-box > span,
.common_pagelink > ul > li > div .period-box > span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  margin-bottom: 1.3333333333vw;
  padding-bottom: 4vw;
  font-size: 6.6666666667vw;
}
.common_pagelink > ul > li > a .period-box > span::before,
.common_pagelink > ul > li > div .period-box > span::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5AD77;
  content: "";
}
.common_pagelink > ul > li > a .period-box + .text-box,
.common_pagelink > ul > li > div .period-box + .text-box {
  padding-bottom: 5.3333333333vw;
  line-height: 2.14286;
}
.common_pagelink > ul > li:nth-of-type(n+3) {
  margin-top: 1.3333333333vw;
}
.common_pagelink-large {
  margin-top: 0.5333333333vw;
}
.common_pagelink-large > ul > li {
  width: 42.9333333333vw;
}
.common_pagelink-large > ul > li:nth-of-type(n+3) {
  margin-top: 0.5333333333vw;
}
.common_pagelink-xlarge {
  position: relative;
  margin-top: 0;
  background-color: #000;
}
.common_pagelink-xlarge > ul {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.common_pagelink-xlarge > ul > li {
  width: 86.6666666667vw;
}
.common_pagelink-xlarge > ul > li > a:hover {
  text-decoration: none;
}
.common_pagelink-xlarge > ul > li > a:hover .text-box {
  text-decoration: underline;
}
.common_pagelink-xlarge > ul > li:nth-of-type(n+2) {
  margin-top: 1.3333333333vw;
}
.common_pagelink-pickup > ul > li:nth-of-type(1), .common_pagelink-pickup > ul > li:nth-of-type(2), .common_pagelink-pickup > ul > li:nth-of-type(3) {
  width: 100%;
}
.common_pagelink-pickup > ul > li:nth-of-type(n+2) {
  margin-top: 0.5333333333vw;
}

/* -----------------------------------------------
.common_article
-------------------------------------------------- */
.common_article {
  margin-top: 21.6vw;
  padding-top: 13.3333333333vw;
}

/* -----------------------------------------------
.common_article_header
-------------------------------------------------- */
.common_article_header {
  position: relative;
}
.common_article_header:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: url(../../images/common/article_bg.png) center repeat;
  background-size: 9.8666666667vw 17.0666666667vw;
}
.common_article_header:after {
  content: "";
  position: absolute;
  top: -14.1333333333vw;
  left: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
body.samurai .common_article_header:after {
  width: 40vw;
  height: 41.0666666667vw;
  background-image: url(../../images/samurai/article_header.svg);
}
body.ninja .common_article_header:after {
  width: 52.2666666667vw;
  height: 41.0666666667vw;
  background-image: url(../../images/ninja/article_header.svg);
}
body.castle .common_article_header:after {
  width: 40vw;
  height: 41.0666666667vw;
  background-image: url(../../images/castle/article_header.svg);
}
body.nakasendo .common_article_header:after {
  width: 40vw;
  height: 42.6666666667vw;
  background-image: url(../../images/nakasendo/article_header.svg);
}
body.chubu .common_article_header:after {
  top: -11.2vw;
  width: 69.3333333333vw;
  height: 32vw;
  background-image: url(../../images/chubu/article_header.svg);
}
.common_article_header_inner {
  position: relative;
  min-height: 33.8666666667vw;
  padding-top: 8vw;
  padding-left: 2.6666666667vw;
  padding-right: 2.6666666667vw;
  padding-bottom: 4.8vw;
  text-align: center;
  z-index: 2;
}
.common_article_header_title {
  font-size: 12vw;
  font-weight: normal;
  line-height: 1.11112;
}
.common_article_header_title .br {
  display: block;
}
.common_article_header_place {
  margin-top: 0.2666666667vw;
  font-size: 3.7333333333vw;
}
/* -----------------------------------------------
.common_article_category
-------------------------------------------------- */
.common_article_category {
  text-align: center;
  margin-top: 7.2vw;
}
.common_article_category > p {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding-left: 8vw;
  padding-right: 8vw;
  border-left: 1px solid #E5AD77;
  border-right: 1px solid #E5AD77;
  font-size: 4.8vw;
  line-height: 1;
}

/* -----------------------------------------------
.common_article_inner
-------------------------------------------------- */
.common_article_inner {
  margin-top: 29.3333333333vw;
  margin-left: 6.6666666667vw;
  margin-right: 6.6666666667vw;
  padding: 4.8vw;
  border: 1px solid #1C1C1C;
}
.common_article_inner > .common_article_movie:first-child,
.common_article_inner > .common_article_mv:first-child,
.common_article_inner > .common_article_detail:first-child {
  margin-top: -11.7333333333vw;
}
.common_article_header + .common_article_inner, .common_article_category + .common_article_inner {
  margin-top: 19.2vw;
}

/* -----------------------------------------------
.common_article_movie
-------------------------------------------------- */
.common_article_movie {
  width: 100%;
  margin-bottom: 10.6666666667vw;
  padding: 4vw;
  background-color: #1C1C1C;
}
.common_article_movie_inner {
  position: relative;
  height: 38.9333333333vw;
}
.common_article_movie_inner > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -----------------------------------------------
.common_article_mv
-------------------------------------------------- */
/* -----------------------------------------------
.common_article_desc
-------------------------------------------------- */
.common_article_desc {
  margin-top: 4vw;
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}

/* -----------------------------------------------
.common_article_info
-------------------------------------------------- */
.common_article_info {
  position: relative;
  width: 100%;
  margin-top: 10.6666666667vw;
  padding-top: 6.6666666667vw;
  padding-bottom: 6.6666666667vw;
}
.common_article_info:before, .common_article_info:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2.6666666667vw;
  border-left: 1px solid #E5AD77;
  border-right: 1px solid #E5AD77;
}
.common_article_info:before {
  top: 0;
  border-top: 1px solid #E5AD77;
}
.common_article_info:after {
  bottom: 0;
  border-bottom: 1px solid #E5AD77;
}
.common_article_desc + .common_article_info {
  margin-top: 9.0666666667vw;
}
.common_article_info_lead {
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}
.common_article_info_list > ul > li {
  position: relative;
  padding-left: 1em;
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}
.common_article_info_list > ul > li:before {
  content: "◆";
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
}
.common_article_info_website {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 3.2vw 4vw 2.9333333333vw;
  background-color: #1C1C1C;
  font-size: 3.4666666667vw;
  line-height: 1.92308;
  word-break: break-all;
}
.common_article_info_website:before {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  content: "Website";
}
.common_article_info_website:after {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  content: "";
  width: 6.6666666667vw;
  height: 0.2666666667vw;
  margin-left: 1.6vw;
  background-color: #E5AD77;
}
.common_article_info_website > a {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  margin-top: -0.2666666667vw;
  line-height: 1.53847;
}
.common_article_info_website > a:after {
  content: "";
  display: inline-block;
  position: relative;
  width: 4.2666666667vw;
  height: 3.2vw;
  margin-left: 1.3333333333vw;
  background: url(../../images/common/icon_blank.svg) center no-repeat;
  background-size: contain;
}
.common_article_info_website > a + a {
  margin-top: 1.0666666667vw;
}
.common_article_info_website:not(:first-child) {
  margin-top: 2.4vw;
}

/* -----------------------------------------------
.common_article_centrip
-------------------------------------------------- */
.common_article_centrip {
  position: relative;
  margin-top: 10.6666666667vw;
  padding: 4vw 4vw 3.2vw;
  background-color: #fff;
}
.common_article_centrip:before {
  content: "";
  display: block;
  width: 32.5333333333vw;
  height: 6.9333333333vw;
  background: url(../../images/common/centrip_logo.svg) center no-repeat;
  background-size: contain;
}
.common_article_centrip_list {
  margin-top: 3.7333333333vw;
}
.common_article_centrip_list > ul > li > a {
  display: block;
  color: #000000;
  font-size: 3.4666666667vw;
  line-height: 1.53847;
}
.common_article_centrip_list > ul > li > a:after {
  content: "";
  display: inline-block;
  position: relative;
  width: 4.2666666667vw;
  height: 3.2vw;
  margin-left: 1.3333333333vw;
  background: url(../../images/common/icon_blank_black.svg) center no-repeat;
  background-size: contain;
}
.common_article_centrip_list > ul > li + li {
  margin-top: 2.9333333333vw;
}

/* -----------------------------------------------
.common_article_detail
-------------------------------------------------- */
.common_article_detail {
  margin-top: 10.6666666667vw;
  padding: 4.8vw 4vw 4vw;
  border-top: 1px solid #E5AD77;
  background: #1C1C1C url(../../images/common/article_detail_bg.png) center repeat;
  background-size: 9.8666666667vw 17.0666666667vw;
}
.common_article_detail_main:nth-of-type(n+2) {
  margin-top: 10.6666666667vw;
}
.common_article_detail_image {
  margin-top: 2.6666666667vw;
}
.common_article_detail_image > p {
  margin-top: 2.1333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.42858;
}
.common_article_detail_image img:not(:first-child) {
  margin-top: 2.6666666667vw;
}
.common_article_detail_category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 10.6666666667vw;
  padding-left: 5.3333333333vw;
  padding-right: 5.3333333333vw;
  font-size: 3.7333333333vw;
  background-color: #000;
}
.common_article_detail_title {
  margin-top: 1.0666666667vw;
  font-size: 5.3333333333vw;
  font-weight: bold;
  line-height: 1.5;
}
.common_article_detail_title:not(:first-child) {
  margin-top: 4.2666666667vw;
}
.common_article_detail_desc {
  margin-top: 2.1333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}

/* -----------------------------------------------
.common_article_col
-------------------------------------------------- */
.common_article_col {
  width: 100%;
  margin-top: 10.6666666667vw;
}
.common_article_col_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 2.1333333333vw;
  padding-bottom: 1.0666666667vw;
  border-top: 1px solid #E5AD77;
  border-bottom: 1px solid #E5AD77;
  font-size: 4.8vw;
  line-height: 1.72223;
}
.common_article_col_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 5.3333333333vw;
}
.common_article_col_item_inner {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 5.3333333333vw;
}
.common_article_col_item_title {
  border-left: 1px solid #E5AD77;
  margin-bottom: 2.6666666667vw;
  padding-left: 2.4vw;
  font-size: 4.2666666667vw;
  font-weight: bold;
  line-height: 1.5625;
}
.common_article_col_item_lead {
  font-size: 3.7333333333vw;
  line-height: 1.78572;
}
.common_article_col_item:not(:first-of-type) {
  margin-top: 10.6666666667vw;
}
.common_article_col_item_image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

/* -----------------------------------------------
.common_article_gmap
-------------------------------------------------- */
.common_article_gmap {
  position: relative;
  height: 65.3333333333vw;
  margin-top: 13.3333333333vw;
  margin-left: 6.6666666667vw;
  margin-right: 6.6666666667vw;
}
.common_article_gmap > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -----------------------------------------------
.common_button
-------------------------------------------------- */
.common_button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 13.3333333333vw;
}


/* -----------------------------------------------
.home_project
-------------------------------------------------- */
.home_project{
  padding-top: 80px;
}
.home_project_lead{
  padding-bottom: 0;
}
.home_project_block{
  margin-top: 72px;
}
.home_project_block + .home_project_block{
  margin-top: 72px;
}
.home_project_block_title{
  font-weight: normal;
  font-size: 30px;
  line-height: 45px;
  text-align: center;
  border: 6px solid #1C1C1C;
  border-bottom: 0;
  padding: 24px 0;
  margin-bottom: 5px;
}

.home_project_item {
  background: #1C1C1C;
}

.home_project_item + .home_project_item{
  margin-top: 32px;
}

.home_project_content_wrapper::after{
  content: "";
  display: block;
  clear: both;
}
.home_project_content_inner{
  display: flex;
}
.home_project_content_image{
  width: 163px;
  height: auto;
  flex-shrink: 0;
}
.home_project_content_name{
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 20px;
  margin-left: 16px;
  flex: 1;
  word-break: break-word;
}
.home_project_content_wrapper{
  padding: 25px 15px;
}
.home_project_content_detail{
  clear: both;
  padding-top: 32px;
}

.home_project_item_accordion_content{
  padding: 32px 15px 48px;
  display: none;
}

.home_project_content_detail{
  font-size: 14px;
}

.home_project_youtube_movie > div{
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}
.home_project_youtube_movie > div > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home_project_youtube_movie > div + div{
  margin-top: 24px;
}

.lst_social{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 32px;
}
.lst_social li {
  padding: 0 8px 8px;
}
.lst_social li a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 14px;
}

.lst_social .circle{
  display: block;
  width: 56px;
  height: 56px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  border-radius: 50%;
}
.lst_social .icn {
  width: 24px;
  height: 24px;
}
.icn-youtube{
  background: url(../../images/common/icn-youtube.svg) center no-repeat;
  background-size: contain;
}
.icn-instagram{
  background: url(../../images/common/icn-instagram.svg) center no-repeat;
  background-size: contain;
}
.icn-facebook{
  background: url(../../images/common/icn-facebook.svg) center no-repeat;
  background-size: contain;
}
.icn-x{
  background: url(../../images/common/icn-x.svg) center no-repeat;
  background-size: contain;
}
.icn-blog{
  background: url(../../images/common/icn-blog.svg) center no-repeat;
  background-size: contain;
}
.icn-discord{
  background: url(../../images/common/icn-discord.svg) center no-repeat;
  background-size: contain;
}
.icn-tiktok{
  background: url(../../images/common/icn-tiktok.svg) center no-repeat;
  background-size: contain;
}
.icn-blockdit{
  background: url(../../images/common/icn-blockdit.png) center no-repeat;
  background-size: contain;
}
.home_project_item_accordion_link{
  display: flex;
  background: #272727;
  color: #fff;
  text-decoration: none;
  height: 56px;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 20px;
  line-height: 38px;
  text-align: left;
  color: #cacaca;
  cursor: pointer;
}
.home_project_item_accordion_link::after{
  content: "";
  display: block;
  width: 14px;
  height: 9px;
  background: url(../../images/common/icn-down-chevron.svg) center no-repeat;
  margin-left: 14px;
  background-size: contain;
}

.home_project_item_accordion_link .close{
  display: none;
}
.home_project_item_accordion_link.-open .close{
  display: block;
}
.home_project_item_accordion_link.-open .open{
  display: none;
}
.home_project_item_accordion_link.-open:after{
  transform: rotate(180deg);
}

.home_project_info {
  margin-top: 0;
}
.home_project_youtube_movie + .home_project_info{
  margin-top: 32px;
}

.common_article_info_blog {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  padding: 38px 12px 12px 12px;
  background-color: #272727;
}
.common_article_info_blog:before {
  content: "Blog";
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: 16px;
}
.common_article_info_blog.website:before {
  content: "Website";
}
.common_article_info_blog:after {
  content: "";
  position: absolute;
  top: 23px;
  left: 52px;
  width: 20px;
  height: 1px;
  background-color: #E5AD77;
}
.common_article_info_blog.website:after {
  left: 80px;
}
.common_article_info_blog > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  line-height: 1.71;
}

.common_article_info_blog > a:after {
  content: "";
  width: 16px;
  height: 12px;
  margin-left: 10px;
  background: url(../../images/common/icon_blank.svg) center no-repeat;
  background-size: contain;
  flex-shrink: 0;
}

.common_article_info_blog > a + a {
  margin-top: 2px;
}

.common_article_info_blog:not(:first-child) {
  margin-top: 16px;
}


.home_learn_speaker{
  background: #1c1c1c;
  margin-top: 18px;
}
.home_learn_speaker_link{
  text-align: center;
  padding: 56px 20px;
  font-size: 20px;
  line-height: 30px;
  cursor: pointer;
}
.home_learn_speaker_link .text{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home_learn_speaker_link .text::after{
  content: "";
  display: block;
  width: 16px;
  height: 10px;
  background: url(../../images/common/icn-down-chevron-brown.svg) center no-repeat;
  margin-left: 14px;
  background-size: contain;
}
.home_learn_speaker_link.-open .text::after{
  transform: rotate(180deg);
}

.home_learn_speaker_wrapper{
  padding: 0 0 56px;
  display: none;
}
.home_learn_speaker_inner{
  display: flex;
}
.home_learn_speaker_item{
  padding: 0 27px;
  color: #CACACA;
}
.home_learn_speaker_item + .home_learn_speaker_item{
  margin-top: 56px;
}
.home_learn_speaker_history{
  box-sizing: border-box;
  padding: 24px 0 0;
  border-top: 1px solid #666;
  font-size: 14px;
}
.home_learn_speaker_info{
  position: relative;
}
.home_learn_speaker_image{
  width: 163px;
}
.home_learn_speaker_name{
  font-size: 20px;
  line-height: 30px;
  margin-bottom: 16px;
  margin-top: 8px;
  padding-left: 16px;
}
.home_learn_speaker_detail{
  font-size: 16px;
  padding: 24px 0;
}

.has-floating-button #scrollUp{
  bottom: 60px;
}