/*
 * theme name: GEMBA EXPO 2025
 * theme uri: 
 * author: GEMBA Project Team
 * author uri: 
 * description: GEMBA 2024
 * version: 2.0.0
 * license: gnu general public license v2 or later
 * license uri: http://www.gnu.org/licenses/gpl-2.0.html
 * tags: nostalgic
 * text domain: 
 *  */

@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css2?family=Ropa+Sans&display=swap');*/
@font-face {
  font-family: 'DIN Condensed';
  src: url('fonts/dnc47-webfont.woff2') format('woff2'), url('fonts/dnc47-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'DIN Condensed';
  src: url('fonts/dnc57-webfont.woff2') format('woff2'), url('fonts/dnc57-webfont.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}
*, ::after, ::before {
  box-sizing: border-box
}
@media (prefers-reduced-motion:no-preference) {
  :root {
    scroll-behavior: smooth
  }
}
body {
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
  margin: 0;
  color: #222;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
  min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
}

html {
  height: -webkit-fill-available;
}
[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important
}
footer * {
  /*font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;*/
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
}
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 500;
  line-height: 1.2
}
h2 {
  font-size: 3.125rem;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  font-weight: bold;
  color: #FF7E41;
  line-height: 1.2;
  letter-spacing: 0.125rem;
}
h2 span {
  display: block;
  font-size: .875rem;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif
}
.font-din {
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif !important;
}
.home h2 {
  color: #333
}
.h3-a {
  margin-bottom: 2rem;
  font-weight: 700
}
h4 {
  font-weight: 700
}
@media (min-width:992px) {
  h2 {
    font-size: 4rem
  }
  h2 span {
    font-size: 1rem
  }
}
p {
  margin-top: 0;
  margin-bottom: 1rem
}
ol, ul {
  margin: 0;
  padding: 0
}
dl, ol, ul {
  margin-top: 0;
  margin-bottom: 1rem
}
ol ol, ol ul, ul ol, ul ul {
  margin-bottom: 0
}
dt {
  font-weight: 700
}
dd {
  margin-bottom: .5rem;
  margin-left: 0
}
strong {
  font-weight: bolder
}
small {
  font-size: .875em
}
a {
  color: #222;
  text-decoration: none
}
a:hover {
  color: #222
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none
}
img, svg {
  vertical-align: middle
}
label {
  display: inline-block
}
button {
  border-radius: 0
}
button:focus {
  outline: dotted 1px;
  outline: -webkit-focus-ring-color auto 5px
}
button, input, select, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}
[role=button] {
  cursor: pointer
}
select {
  word-wrap: normal
}
[list]::-webkit-calendar-picker-indicator {
  display: none
}
[type=button], [type=submit], button {
  -webkit-appearance: button
}
::-moz-focus-inner {
  padding: 0;
  border-style: none
}
textarea {
  resize: vertical
}
::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-year-field {
  padding: 0
}
::-webkit-inner-spin-button {
  height: auto
}
::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-color-swatch-wrapper {
  padding: 0
}
::file-selector-button {
  font: inherit
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button
}
[hidden] {
  display: none !important
}
img {
  width: 100%;
  display: block;
}
ul {
  list-style: none;
}
* {
  box-sizing: border-box;
}
time {
  color: #888;
  padding-top: 1rem;
  display: block;
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
}
/* body
--------------------------------*/
body {
  margin: 0;
  background: #fff;
  color: #333;
  font: 1rem/1.6 'Open Sans', BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
  text-align: left;
  -webkit-text-size-adjust: 100%;
}
.header-sec {
  padding: 0 1rem;
  width: 100%;
  height: 64px;
  position: fixed;
  z-index: 999;
  background-color: #FF7E41;
  display: flex;
  align-items: center;
}
.header-logo {
  width: 54px;
  height: auto;
}
.header-ul {
  list-style: none;
  position: relative;
  display: flex;
}
.header-ul li {
  font-size: 1.6rem;
  margin-right: 45px;
}
.header-ul li a {
  display: block;
  color: #333;
  font-weight: bold;
  padding-bottom: 3px;
}
.header-ul li a:hover {
  color: #999;
  border-bottom: 1px solid #ccc;
  transition: 0s;
}
.header-ul li:last-child {
  margin-right: 0px;
}
.only-sp {
  display: block;
}
.only-pc {
  display: none;
}
@media (min-width:992px) {
  .header-sec {
    padding: 2em 0;
    height: 100vh;
    width: 12.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: normal;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .header-sec::-webkit-scrollbar {
    display: none;
  }
  .header-logo {
    width: 107px;
    height: auto;
  }
  .sp-nav-layout nav {
    margin-top: 0;
    display: block;
    color: #fff;
  }
  .current_page_item {
    position: relative;
  }
  header .current_page_item:before {
    content: "";
    position: absolute;
    width: 16px;
    height: 2px;
    background-color: #fff;
    top: 1.6rem;
    left: 0;
  }
  .only-sp {
    display: none;
  }
  .only-pc {
    display: block;
  }
}
.nav-ham span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  transition: transform 0.5s, opacity 0.5s, width 0.3s;
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
}
.nav-ham span:nth-child(1) {
  top: 0;
}
.nav-ham span:nth-child(2) {
  top: 0;
  bottom: 0;
  margin-top: 8px;
}
.nav-ham span:nth-child(3) {
  color: #fff;
  height: initial;
  background-color: initial;
  margin-top: 13px;
}
.disp-close {
  display: none !important;
}
.sp-nav-layout {
  margin-top: 64px;
  position: fixed;
  background: #fff;
  top: 0;
  right: 0;
  width: 100%;
  height: 80%;
  height: 90vh;
  height: calc(100vh - 64px);
  overflow: scroll;
  color: #222;
  display: flex;
  justify-content: center;
  flex-direction: column;
  visibility: hidden;
  opacity: 0;
  transition: 0.2s ease-in-out;
  z-index: 9999;
  flex-direction: column;
}
.sp-nav-layout::-webkit-scrollbar {
    display: none;
}
.sp-nav-layout nav {
  width: 100%;
  display: flex;
  /*padding-top: 5rem;*/
}
.sp-nav-layout ul {
  width: 100%;
  letter-spacing: 0.05rem;
}
.sp-nav-layout ul li,
.relative{
  position: relative;
}
.sp-nav-layout ul li a {
  padding: .8rem 1rem;
  display: block;
  color: #222;
}
/*
.menu-accordion-parent {
  position: relative;
  transition-duration: .5s;
}
.menu-accordion-parent::before, .menu-accordion-parent::after {
  content: '';
  display: block;
  background-color: #fff;
  position: absolute;
  top: 48%;
  width: 6px;
  height: 1px;
  right: 10px;
}
.menu-accordion-parent::after {
  transform: rotate(90deg);
  transition-duration: .5s;
}
.menu-accordion-parent.is-active::before {
  opacity: 0;
}
.menu-accordion-parent.is-active::after {
  transform: rotate(0);
}
.menu-accordion-children {
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: .5s;
}
.menu-accordion-children.is-open {
  line-height: normal; /* numberに書き換える
  height: auto;
  opacity: 1;
}
.menu-accordion-children a {
  font-size: 14px !important;
}
*/
h1 {
  margin: 0
}
.pc-inline {
  display: none;
}
@media (min-width:992px) {
  .pc-inline {
    display: inline;
  }
}
.logo-sp {
  width: 131px;
  margin: 0;
}
.logo-pc {
  display: none;
}
.logo-sp svg,
.logo-pc svg {
  fill: #fff;
}
.sns ul, .footer-top-sns ul {
  display: flex
}
.sns {
  margin-top: 2rem;
}
.footer-top-sns ul {
  margin: 0;
}
.sns svg, .footer-top-sns svg {
  width: 20px;
  height: 20px;
  fill: #FF7E41
}
.footer-top-left {
  margin-bottom: 2rem;
  flex: 1 1 auto
}
.footer-logo {
  width: 263px;
  margin-bottom: 3.5rem;
}
.footer-top-followus {
  display: flex;
  color: #FF7E41; 
  margin-bottom: 1rem;
  letter-spacing: 0.1rem;
  font-weight: bold;
  margin-left: 1rem;
}
.footer-top-followus::before {
  content: " ";
  border-left: 2px solid #FF7E41;
  transform: skewX(20deg);
  -webkit-transform: skewX(20deg);
  -moz-transform: skewX(20deg);
  padding-right: 1rem;
}
.footer-top-followus::after {
  content: " ";
  border-right: 2px solid #FF7E41;
  transform: skewX(-20deg);
  -webkit-transform: skewX(-20deg);
  -moz-transform: skewX(-20deg);
  padding-left: 1rem;
}
.footer-top-right {
  margin-bottom: 4rem;
  position: relative;
}
.footer-top-right-inner {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
}
/*
.footer-top-right {
  flex: 0 0 11rem;
  padding-bottom: 4rem;
  display: flex;
}
*/
.footer-top-sns {
  padding: 1.37rem;
  border: 1px solid #FF7E41;
  display: inline-block;
  color: #FF7E41;
  font-weight: 700;
  text-align: center;
  position: relative;
  margin-top: -0.4rem;
  background-color: #fff;
}
/*
.footer-top-sns::after {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="18" viewBox="0 0 24 24"><rect fill="%23FF7E41" x="-3.8" y="7.28" width="17.61" height="1.46" transform="translate(-0.31 0.53) rotate(-29.74)"/></svg>');
  position: absolute;
  top: 45px;
  right: -25px;
}
*/
.footer-top-sns li {
  margin: 0 .5rem
}
.footer-top-sns span {
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
}
.sns span {
  display: none
}
.footer-sns-img {
  margin-left: 2rem;
  width: 100px
}
.scrolltop {
  display: block;
  background-color: #FF7E41;
  color: #fff;
  cursor: pointer;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  font-size: 0.75rem;
  width: 50px;
  height: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition-duration: 1s;
  z-index: 1000;
}
.past-expo a {
  color: #fff;
  font-size: 1rem;
  border-bottom: 1px solid #fff;
  transition-duration: 0.3s;
}
.past-expo a:hover {
  border-bottom: none;
}
.past-expo a::after {
}
.scrolltop:hover {
  color: #fff;
}
.scrolltop svg {
  padding-bottom: .3rem;
  width: 6px;
  fill: #fff;
}
.scrolltop.fixed {
  display:fixed;
  right: 0;
  bottom: 0;
  transition-duration: 1s;
}
@media (min-width:992px) {
  .footer-top-followus {
  }
  .footer-top-right-inner {
    right: 0;
    bottom: -5rem;
  }
  .sp-nav-layout nav {
    margin-top: 0;
    overflow: auto;
  }
  .sp-nav-layout .navi::-webkit-scrollbar {
    display: none;
  }
  .sp-nav-layout ul li {
    padding-right: 25px;
    padding-left: 25px;
  }
  .sp-nav-layout .navi>ul>li {
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
  }
  .sp-nav-layout .navi>ul>li>a.english-link {
    padding: 0.3rem 0.5rem;
    margin-top: 1rem;
    font-size: 0.8rem;
  }
  .sp-nav-layout ul li a {
    padding: .3rem .5rem;
    color: #fff;
    position: relative;
	 font-size: 1.25rem;
  }
  .sp-nav-layout ul li.jp a {
    font-size: 1rem;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .sp-nav-layout ul li.active::before {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="30" viewBox="0 0 24 24"><rect fill="%23Ffff" width="16" height="2"/></svg>');
    position: absolute;
    top: .7rem;
    left: 0;
    width: 20px;
  }
  .logo-sp {
    display: none;
  }
  .logo-pc {
    margin: 0 auto;
    display: block;
    width: 6.75rem;
  }
  .sns {
    margin-top: 4rem;
    padding: 2rem 20px;
    border-top: 2px solid #ffc4a8;
    background-color: #FF7E41;
    background-color: #FF7E41;
    width: 12.5rem;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 9999;
    color: #fff
  }
  .sns ul {
    margin: .5rem 0 0
  }
  .sns svg {
    fill: #fff
  }
  .sns li {
    margin-right: .5rem;
    padding: 0 !important
  }
  .sns span {
    padding: 0 .5rem;
    display: block
  }
  .footer-top-right {
    text-align: right;
    padding-bottom: 0;
    margin-top: 6rem;
  }
  .footer-top-right {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer-sns-img {
  /*  margin: 2rem 0 3rem*/
  }
  /*
  .footer-top-sns::after {
    bottom: -20px;
    right: 20px;
  }
  .footer-top-sns::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="30" viewBox="0 0 24 24"><rect fill="%23FF7E41" x="1587.91" y="10819.5" width="24.19" height="2" transform="translate(-10181.78 -3968.29) rotate(-60.26)"/></svg>');
    position: absolute;
    top: inherit;
    bottom: -32px;
    right: 30px;
    width: 20px;
  }
  */
  .scrolltop.fixed {
    bottom: 0;
  }
}
@media (min-width:1024px) {
  .footer-top-right-inner {
    bottom: auto;
  }
}
.position-relative {
  position: relative;
}
.nav-ham {
  display: block;
  position: absolute;
  top: 18px;
  right: 16px;
  width: 32px;
  height: 31px;
  cursor: pointer;
  z-index: 100;
}
.open .nav-ham {
  position: fixed;
}
.open .nav-ham span:nth-child(2) {
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0px;
  opacity: 0;
}
.open .nav-ham span:nth-child(3) {
  display: none !important;
}
.open .disp-close {
  color: #fff;
  height: initial;
  background-color: initial;
  margin-top: 13px;
  display: block !important;
}
@media (min-width:992px) {
  .sp-nav-layout {
    margin-top: 0;
    padding-bottom: 150px;
    width: auto;
    height: auto;
    position: static;
    visibility: inherit;
    opacity: 1;
    background-color: inherit;
    height: 100%;
  }
  .nav-ham {
    display: none;
    position: absolute;
    top: 2.2rem;
    right: 5.2%;
    width: 40px;
    height: 16px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    z-index: 100;
  }
}
.open .sp-nav-layout {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}
.open .sp-nav-layout ul li {
  transform: translateX(0);
}
.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s;
}
/* Hero */
.hero {
  height: 100vh;
  height: calc(100vh - 70px);
  background-color: #333;
  background-size: cover;
  display: flex;
  align-items: flex-end;
}
.scrolldown {
  color: #fff;
  position: absolute;
  right: 1rem;
  bottom: 4.5rem;
}
.scrolldown-inner {
  position: relative;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  font-size: 0.8rem;
  transform: rotate(90deg);
  display: flex;
  white-space: nowrap;
  transform-origin: right top;
  width: 8rem;
  z-index: 9999;
}
.viewfullmovie {
  position: absolute;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  right: 0rem;
  bottom: 0rem;
  background-color: #fff;
  color: #FF7E41;
  font-size: 0.8rem;
  padding: 0.02rem 0.06rem 0;
  letter-spacing: 0.05rem;
}
.viewfullmovie-inner {
  padding: 0.48rem 0.74rem;
}
.viewfullmovie a {
  color: #FF7E41;
  margin: 0;
}
.scrolldown-inner::after {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="10" fill="%23fff" viewBox="0 0 82.39 7.7"><polygon points="82.39 7.7 0 7.7 0 5.7 77.61 5.7 73.38 1.4 74.8 0 82.39 7.7"/></svg>');
  position: absolute;
  right: 0
}
.gemba-hero-inner {
  padding: 5rem 1.25rem;
  color: #fff;
  /*text-shadow: 0px 0px 4px rgb(0 0 0 / 20%);*/
  text-shadow: 2px 2px 3px rgb(0 0 0 / 60%);
  z-index: 10;
}
.gemba-hero-inner svg{
  fill: #fff;
}
.height-hero-gemba {
  /*height: 817px !important;*/
}
.hero-gemba .gemba-hero-inner {
  width: 80%
}
.gemba-hero-inner .gemba-hero-inner-program {
  margin-bottom: 1.5rem;
}
.gemba-hero-inner .gemba-hero-inner-program span {
  display: block
}
.gemba-hero-inner-text1 {
  margin-top: 1.5rem;
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: 'DIN Condensed',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
}
.hero-gemba .gemba-hero-inner .gemba-hero-inner-program {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  font-weight: 500;
  line-height: 1.2;
}
.gemba-hero-inner-text3 {
  font-size: 1.125rem;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
}
.gemba-hero-inner-text3 span{
  font-weight: 700;
}
.hero-gemba .gemba-hero-inner-text1 {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3
}
.hero-gemba .gemba-hero-inner-text2 {
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
}
.hero-gemba .gemba-hero-inner-text3 {
  font-size: 0.875rem;
  color: #fff;
  font-weight: 400;
  margin: 0;
  letter-spacing: initial;
}
@media (min-width:992px) {
  .hero {
    height: 100vh;
    justify-content: flex-start;
  }
  .hero.hero-gemba {
    justify-content: flex-start
  }
  .height-hero-gemba {
    /*height: 900px !important;*/
  }
  .gemba-hero-inner {
    padding: 4.2rem 7.5rem;
    text-align: center;
    max-width: 800px;
  }
	
	.gemba-hero-inner h2 {
    margin-top: 3rem;
    margin-bottom: 1rem;
  }
	
  .hero-gemba .gemba-hero-inner {
    padding: 7.5rem;
    max-width: 48rem;
    width: 100%;
    text-align: left
  }
  .gemba-hero-inner-text1 {
    font-size: 1.562rem
  }
  .gemba-hero-inner-text3 {
    font-size: 2.312rem;
    letter-spacing: 0.05rem;
  }
  .hero-gemba .gemba-hero-inner .gemba-hero-inner-program {
    margin-bottom: 1.5rem;
    font-size: 3.125rem
  }
  .hero-gemba .gemba-hero-inner-text1 {
    margin-bottom: 1rem;
    font-size: 3rem
  }
  .hero-gemba .gemba-hero-inner-text2 {
    margin-bottom: 2.5rem;
    font-size: 1.5rem
  }
  .hero-gemba .gemba-hero-inner-text3 {
    font-size: 1rem
  }
}
.container {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto
}
.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-left: -20px
}
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px
}
.col {
  flex: 1 0 0%
}
.col-1 {
  flex: 0 0 auto;
  width: 8.3333333333%;
}
.col-2 {
  flex: 0 0 auto;
  width: 16.6666666667%;
}
.col-3 {
  flex: 0 0 auto;
  width: 25%;
}
.col-4 {
  flex: 0 0 auto;
  width: 33.3333333333%;
}
.col-5 {
  flex: 0 0 auto;
  width: 41.6666666667%;
}
.col-6 {
  flex: 0 0 auto;
  width: 50%;
}
.col-7 {
  flex: 0 0 auto;
  width: 58.3333333333%;
}
.col-8 {
  flex: 0 0 auto;
  width: 66.6666666667%;
}
.col-9 {
  flex: 0 0 auto;
  width: 75%;
}
.col-10 {
  flex: 0 0 auto;
  width: 83.3333333333%;
}
.col-11 {
  flex: 0 0 auto;
  width: 91.6666666667%;
}
.col-12 {
  flex: 0 0 auto;
  width: 100%;
}
.col-md-4 {
  margin-bottom: 2rem;
  line-height: 1.5;
}
@media (min-width:576px) {
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width:992px) {
  main {
    margin-left: 12.5rem;
  }
  .container {
    max-width: 1200px;
    width: 100%;
    padding-right: 64px;
    padding-left: 64px;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-md-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }
  .pt-md-5 {
  
  }
}
section {
  position: relative;
/*  z-index: 99;*/
}
.sec6 {
  padding-top: 7.5rem;
  padding-bottom: 6rem;
}
.home-aboutus{
  padding-top: 6rem;
  padding-bottom: 5rem;
}
.home-programs{
  margin-top: -4rem;
}
.sec-b6 {
  padding-bottom: 5rem
}
.sec-img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: -3rem 0 2.5rem;
  min-height: 300px;
  height: 100vw;
}
.bg-lightgray {
  background-color: #f8f8f8;
  padding-bottom: 5rem;
}
.company-detail-area {
  padding-bottom: 7.5rem;
}
.bg-contact, .bg-dantai {
  display: block;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  padding: 1.875rem 1.25rem 2.5rem 1.25rem;
  color: #fff;
}
.bg-contact {
  margin-bottom: .5rem;
  background-color: #FF7E41;
}
.bg-dantai {
  background-color: #888;
}
.col-md-6 .bg-contact, .col-md-6 .bg-dantai {
  display: flex;
  align-items: center;
  justify-content: space-between
}
.col-md-6 .bg-contact:not(:first-child),
.col-md-6 .bg-fp-inner:not(:first-child){
  margin-top: 2rem;
}
.bg-contact svg, .bg-dantai svg {
  width: 16px;
  height: 16px
}
.bg-contact svg {
  fill: #FF7E41;
}
.bg-contact svg .cls-1 {
  fill: #FF7E41 !important;
}
.bg-dantai svg {
  fill: #888
}
.bg-dantai span {
  display: block;
}
.bg-dantai span.btn2 {
  display: flex;
}
.bg-contact-text {
  color: #fff !important;
  font-size: 3.125rem;
  line-height: 1.2;
}
.bg-contact-text span {
  display: block;
  font-size: 0.875rem
}
.bg-contact:hover, .bg-dantai:hover {
  color: #fff;
}
.bg-contact:hover, .bg-dantai:hover, .bg-fp-inner:hover {
  opacity: 0.7;
  transition: all 0.5s;
}
div.bg-fp-inner:hover {
  opacity: 1;
}
.attention {
  height: auto !important;
}
.attention h2 {
  font-size: 2rem;
}
.attention .underline {
  padding: 0 1px;
  border-bottom: 2px solid #222;
  text-decoration: none;
  font-weight: 700;
}
@media (max-width:767px) {
  #reservation {
    padding-top: 4rem;
  }
}
.reservation {
  justify-content: center;
}
.reservation .bg-fp-inner {
  padding: 1rem;
  text-align: center;
  height: auto;
}
.reservation-link {
  font-size: 1rem;
  text-align: left;
  padding: 0.5rem 0.65rem;
}
.reservation details{
  border: solid 2px #f8f8f8;
}
.reservation summary{
  background-color: #ff7e41;
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
}
.reservation summary::before, .reservation summary::after {
  height: 3px;
}
.reservation form{
  border-top: none;
  padding-top: 0.5rem;
}


@media (max-width:767px) {
  .sub-footer-contact > div:first-child {
    background-color: #ff7d41;
    margin-bottom: 1rem;
  }
  /*
  .sub-footer-contact > div:last-child {
    background-color: #888;
  }
  */
}
@media (min-width:992px) {
  .bg-contact, .bg-dantai {
    height: 20rem;
    position: relative;
    padding: 1.375rem 4rem 4rem 2rem;
  }
  .bg-contact .btn2, .bg-dantai .btn2 {
    position: absolute;
    bottom: 4rem;
    right: 4rem;
  }
  .bg-contact-text {
    padding: 2rem;
  }
  .bg-contact-text span {
    font-size: 1rem;
    padding-top: 0.5rem;
  }
  .bg-dantai {
    padding: 3rem;
    text-align: center;
  }
  .bg-dantai .btn2 {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .reservation .bg-dantai, .reservation .bg-contact {
    padding: 0;
    height: auto;
  }
  .reservation .bg-dantai .btn2, .reservation .bg-contact .btn2 {
    position: static;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .reservation .col-md-6 {
    flex: initial !important;
    max-width: initial !important;
    width: 800px;
  }
  .reservation-link {
    font-size: 1.5rem;
    padding: 3rem 2.75rem;
  }
  .reservation-link span {
    font-size: 1.25rem;
    padding-top: 1rem;
    margin-top: 0 !important;
  }
  .sec-b6 {
    padding-bottom: 12rem
  }
  .sec-page-programs .sec-b6{
    padding-bottom: 8rem;
  }
  .sec-page-programs .mb-4 {
    margin-bottom: 5.5rem !important;
  }
}
.cursor-pointer {
  cursor: pointer;
}
.btn,
.wpcf7-stripe button {
  display: inline-block;
  line-height: 1.5;
  width: 100%;
  max-width: 260px;
  color: #fff;
  position: relative;
  text-align: center;
  text-decoration: none !important;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: #FF7E41;
  padding: .5rem .75rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  border: 1px solid #FF7E41;
}
.btn-aboutus{
  line-height: 1.9;
  min-width: 280px;
  font-size: 1.25rem;
}
.btn span {
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
  display: block;
  font-size: 0.8rem;
}
.btn:hover {
  color: #fff;
  background-color: #E26A3B;
  background: radial-gradient(at 95%, #FF7E41 10%, #E26A3B 50%);
}
.btn::after {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="12" fill="%23fff" viewBox="0 0 24 16"><polygon points="0 7.71 26.43 7.71 18.66 0 17.25 1.42 21.57 5.71 0 5.71 0 7.71"/></svg>');
  position: absolute;
  right: 1.4rem;
  top: 0.6rem;
}
.btn2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: #fff;
  padding: .5rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  text-decoration: none !important;
}
@media (min-width:992px) {
  .btn2 {
    /*
    width: 60px;
    height: 60px;
    */
    width: 52px;
    height: 52px;
  }
  .btn2 svg {
    margin: 10px;
  }
  .btn-aboutus{
    line-height: 2.9;
    min-width: 300px;
  }
}
.btn2:hover, .bg-fp .btn2:hover {
  background-color: #fff
}
.btn3 {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  min-width: 260px;
  color: #FF7E41;
  position: relative;
  text-align: center;
  text-decoration: none !important;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 1px solid #FF7E41;
  background-color: #fff;
  padding: .5rem .75rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.btn3:hover {
  color: #FF7E41;
}
.btn3::before {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="12" fill="%23FF7E41" viewBox="0 0 24 16"><polygon class="cls-1" points="26.43 7.71 0 7.71 7.76 0 9.17 1.42 4.85 5.71 26.43 5.71 26.43 7.71"/></svg>');
  position: absolute;
  left: .5rem;
  top: .6rem;
}
.btn4 {
  padding: 1.625rem;
  min-width: 90%;
}
.btn a {
  text-decoration: none;
  color: #FFFFFF;
}
.btn.btn4::after {
  top: 37%;
}
.company-site {
  font-size: 0.8rem;
}
.company-site:after {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23fff"><path class="cls-1" d="M1564,10146l3.75,3.75-6.25,6.25,2.5,2.5,6.25-6.25,3.75,3.75v-10Zm-10,0v20h20v-5h-2.5v2.5h-15v-15h2.5v-2.5Z" transform="translate(-1554 -10146)"/> </svg>');
  width: 1rem;
  height: 1rem;
  fill: #fff;
}
.btn3.company-site::before {
  content: none;
}
.btn3.company-site::after {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23FF7E41"><path class="cls-1" d="M1564,10146l3.75,3.75-6.25,6.25,2.5,2.5,6.25-6.25,3.75,3.75v-10Zm-10,0v20h20v-5h-2.5v2.5h-15v-15h2.5v-2.5Z" transform="translate(-1554 -10146)"/> </svg>');
}
.btn3.company-site:hover {
  background: #eee;
}
.border-orange {
  border: 1px solid #FF7E41;
}
.text-center {
  text-align: center !important
}
.text-md-center {
  text-align: center;
}
.text-right {
  text-align: right !important
}
.text-left {
  text-align: left !important
}
.display-flex {
  display: flex !important
}
.display-right {
  display: flex;
  justify-content: flex-end
}
.flex-reverse {
  display: flex;
  flex-direction: row-reverse;
}
.mt-1 {
  margin-top: 1rem !important
}
.mt-2 {
  margin-top: 2rem !important
}
.mt-4 {
  margin-top: 4rem !important
}
.mb-1 {
  margin-bottom: 1rem !important
}
.mb-3 {
  margin-bottom: 3rem !important
}
.mb-4 {
  margin-bottom: 2.5rem !important
}
.mb-md-4 {
  margin-bottom: 0;
}
.pt-1 {
  padding-top: 1rem !important;
}
.pt-75 {
  padding-top: 7.5rem;
}
.pb-1 {
  padding-bottom: 1rem !important;
}
.py-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.color-white {
  color: #fff;
}
@media (min-width:992px) {
  .mb-4 {
    margin-bottom: 3.5rem !important
  }
  .mb-md-4 {
    margin-bottom: 4rem !important
  }
  .mt-md-1 {
    margin-top: 1rem !important;
  }
  .btn4 {
    min-width: 360px;
  }
  .btn4.right-btn {
    min-width: inherit;
  }
}
.m-w750 {
  max-width: 750px;
  width: auto;
  margin: auto;
}
.list-disc {
  list-style: disc;
  padding: 0 0 0 1.6rem;
}
.font-20 {
  font-size: 1.25rem;
  font-weight: 700
}
.font-32 {
  margin-bottom: 2rem;
  font-size: 1.25rem;
  font-weight: 700
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
@media (max-width:767px) {
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width:992px) {
  .display-md-flex {
    display: flex !important
  }
  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important
  }
  .text-md-center {
    text-align: inherit
  }
  .home-aboutus{
    padding-bottom: 8.75rem;
  }
  .sec-img {
    height: auto;
    margin: 0;
  }
  .font-32 {
    font-size: 2rem
  }
}
.col-about {
  margin-bottom: 2rem;
}
.col-about .about-sec-title {
  border-top: 2px solid #222;
  padding-top: 1.25rem;
  margin-bottom: 2.5rem;
  font-size: 1.5rem;
  line-height: 1.2rem;
}
.lead-head {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.col-about .lead-head {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.col-about p{
  font-size: 0.875rem;
}
.flex-row-reverse .page-aboutus-lead-head{
  margin-bottom: 2rem !important;
  font-size: 1.75rem;
}
.lead-head01 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.lead-head01 span{
  white-space: nowrap;
}
@media (min-width:992px) {
  .lead-head01 {
    font-size: 2.5rem
  }
  .lead-head{
    margin-bottom: 1.5rem;
  }
  .flex-row-reverse .page-aboutus-lead-head{
    margin-bottom: 3.5rem !important;
    font-size: 2.5rem !important;
  }
  .col-about {
    margin-bottom: 9rem;
  }
  .col-about .about-sec-title {
    border-top: 2px solid #222;
    padding-top: 1rem;
    margin-bottom: 4rem;
    font-size: 1.25rem;
  }
  .col-about .lead-head {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
  }
  .col-about p{
    font-size: 1rem;
  }
}
/* News */
.news-head {
  margin-bottom: 2rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between
}
.col-md-4 h3 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0
}
.tabs {
  padding-bottom: 2rem;
}
.tabs .col-md-4 h3 {
  margin-top: 1rem;
  margin-bottom: 0.7rem;
}
.card {
  border-top: 2px solid #eee;
  padding-bottom: 0rem;
  padding-top: 1.25rem;
  margin-bottom: 0;
}
.card:last-child {
  border-bottom: 2px solid #eee;
}
.card a {
  display: flex
}
.card2 h3 {
  margin: 2.5rem 0 2rem 0;
  font-weight: 700;
  font-size: 1rem;
}
.card2 {}
.card-img {
  margin-right: 1rem;
  flex: 0 0 6rem;
}
.card-text {
  flex: 1 1 auto;
  width: 100%;
  font-size: 0.875rem;
  padding-bottom: 0.75rem;
}
.card-text h3{
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.card-text span{
  margin-bottom: 0.25rem;
}
.card2 .card-text {
  max-width: 40rem;
  width: 100%
}
.sec-page-archive .col-md-4 h3{
  font-size: 0.875rem;
}
.sec-page-programs .col-md-4 h3{
  font-size: 1.125rem;
}
.sec-page-archive a .card-text{
  text-decoration: none !important;
}
.program-cat {
  margin-right: 0.25rem;
  padding-right: 0.2rem;
  font-size: 0.9rem;
  border-radius: 1px;
  font-weight: 700;
}
.cat-workshop {
  color: #FF7E41;
}
.cat-tour {
  font-weight: 700;
}
.col-md-4 p {
  margin-bottom: .625rem;
}
.icon-list {
  padding-right: 2rem;
  position: relative
}
.card span {
  color: #888;
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
}
.card-tag {
  line-height: 1.75rem;
}
.card-text h4.company {
  display: inline;
  font-weight: 400;
}
.card-text h4.company span::after {
  content:"\02022";
}
.card-text h4.company span:last-child::after {
  content:"";
}
.card-text h4.company .company-occ {
  font-size: 0.7rem;
  margin-left: 0.2rem;
  background: #999;
  color: #fff;
  padding: 0.15rem 0.2rem;
  vertical-align: baseline;
  letter-spacing: 0.05rem;
}
.reservation-tag {
  font-size: 0.75rem !important;
  margin: 0 1rem;
  white-space: nowrap;
  padding: 0.1rem 0.2rem;
  background-color: #fff;
  font-weight: 700 !important;
}
.open-reservation.reservation-tag {
  color: #ff7e41;
}
.close-reservation.reservation-tag {
  color: #999;
}
.jqtl-side-index .jqtl-side-index-item::before {
  margin-left: 0.5rem;
}
.jqtl-side-index-item span:not(:first-child)::before,
.jqtl-event-label span:not(:first-child):not(.reserve)::before {
  content:"\02022";
}
.icon-list::after {
  content: url('data:image/svg+xml;utf-8, <svg xmlns="http://www.w3.org/2000/svg" width="27" height="15" viewBox="0 0 27 15" fill="%23FF7E41"><path d="M.01321,9h3V6h-3Zm0,6h3V12h-3Zm0-12h3V0h-3Zm6,6h21V6h-21Zm0,6h21V12h-21Zm0-15V3h21V0Z" transform="translate(-0.01321)"/></svg>');
  position: absolute;
  right: 0;
  top: -2px;
}
.other-news {
  padding-top: 3.5rem;
  padding-bottom: 5rem;
}
.other-news .h3-a {
  font-size: 1rem;
  margin-bottom: 4rem;
}

@media (min-width:992px) {
  .card {
    border-top: none;
    border-bottom: none !important;
    padding-bottom: 0
  }
  .card a {
    flex-direction: column
  }
  .col-md-4 h3 {
    font-size: 1.125rem;
    margin: 1.25rem 0 0.875rem 0;
    line-height: 1.75rem;
  }
  .card-img {
    margin-right: 0;
    flex: auto
  }
  .card2 h3 {
    margin: 3.5rem 0 2.5rem 0;
    font-size: 1.5rem;
  }
  .card2 .card-text {
    font-size: 1rem;
  }
  .column {
    display: flex;
  }
  .column-side {
    flex: 0 0 12rem;
    margin-right: 2.5rem;
  }
  .column-main {
    flex: 1 1 auto;
    width: 100%;
  }
  .sec-page-archive .col-md-4 h3{
    font-size: 1.125rem;
  }
  .page-detail-archive-title {
    font-size: 3.125rem;
    margin-bottom: 4.75rem !important;
  }
  .news-head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 3rem;
  }
  .news-head h2 {
    margin-bottom: 3.5rem
  }
  .sec-page-archive .col-back {
    margin-top: 6.5rem;
  }
  .other-news {
    padding-top: 5rem;
    padding-bottom: 6.25rem;
    margin-bottom: 10rem !important;
  }
  .other-news .h3-a {
    font-size: 1.25rem;
    margin-bottom: 4rem;
  }
}
/* Filter */
.tab-nav {
  margin-top: 1.6rem;
  margin-bottom: 2.5rem;
  display: flex;
  flex-wrap: wrap;
}
.tab-nav span {
  display: block;
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
  font-size: 90%;
}
.tab {
  padding: 0.5rem 0;
  border: none;
  border-bottom: 1px solid #606265;
  border-right: 1px solid #fff;
  background-color: #E3E3E3;
  width: 33.33333%;
  cursor: pointer;
  font-size: 0.8rem;

}
.tab.active {
  color: #E3E3E3 !important;
  background-color: #888;
}
.show {
  display: block;
}
.remove {
  display: none;
}
.program-card {
  padding-bottom: 1rem;
}
.program-card .program-card-img,
.modal-program-card {
  position: relative;
}
.program-card p {
  padding: 0rem 0.5rem;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  font-weight: bold;
  font-size: 0.9rem;
  display: inline-block;
  margin-bottom: 0;
  line-height: 1.25rem;
  border: 1px solid #FF7E41;
  margin-top: -0.4rem;
  z-index: 3;
  position: absolute;
  bottom: 0;
  width: 100%;
  right: 0;
  left: 0;
  transition: all 0.3s;
}
.program-card span {
  transition: all 0.3s;
}
.program-card p.program {
  background-color: #FF7E41EE;
  color: #FFF;
  padding-top: 0.1rem;
}
.program-card p.event {
  background-color: #ffffffee;
  color: #FF7E41;
}
.program-card p.tour {
  background-color: #f3f3f3ee;
  color: #333;
  border-color: #eee;
  border-color: #eee;
}
.program-card p span {
  font-size: 0.9rem;
  font-weight: 400;
  margin-left: 0.15rem;
  letter-spacing: -0.04rem;
  vertical-align: bottom;
}
.program-card p span.req-time {
  font-size: 1rem;
  float: right;
}
.program-card .program-card-img:hover p,
.program-card .program-card-img:hover span {
  opacity: 0%;
}
.filter-card {
  transition: all 1s ease-out;
}
.filter-card a {
  display: block;
}
.english-link {
  display: inline-block !important;
  font-size: 0.8rem;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  border: 1px solid #888;
  padding: 0.3rem 0.5rem 0.2rem;
  margin: 1rem 0.5rem;
}
.english-link svg {
  fill: #606265;
  vertical-align: text-top;
  width: 0.6rem;
  letter-spacing: 0.02rem;
}
@media (min-width:992px) {
  .tab {
    padding: 1rem 0;
    width: 25%;
    font-size: inherit;
  }
  .tab-nav{
    margin-top: 3.375rem;
    margin-bottom: 3.375rem;
    /*margin-bottom: 6.25rem;*/
  }
  .tab-nav span {
    display: inline;
    padding-left: 0.5rem;
    font-size: 0.9rem;
  }
  .english-link {
    border: 1px solid #fff;
  }
  .program-card {
    padding-bottom: 2.5rem;
  }
}
.program-card span.area {
  white-space: nowrap;
  padding: 0;
  border-radius: 0 0 0 1px;
  border: none;
  line-height: 1rem;
  margin: 0;
  /*position: absolute;*/
  background: #ffffff;
  right: 0;
  display: block !important;
}
span.area::before {
  font-family:"dashicons";
  content: "\f230";
  vertical-align: bottom;
  margin-right: 1px;
}
.viewmap {
  text-align: right;
  margin-bottom: 4.5rem;
}
.viewmap svg {
  margin-left: .5rem;
  width: 14px;
  fill: #333;
}
.col-fo {
  position: relative;
  background-color: #f8f8f8
}
.col-fo .container {
  /*  margin: 12rem -.5rem 0; */
  margin: 10rem auto 0;
  padding-top: 2rem;
  padding-bottom: 4rem;
  display: flex;
  flex-direction: column;
}
.bg-fp {
  width: 100%;
  margin: 0 0 1rem;
}
.bg-fp:first-child{
  margin-top: -7.5rem;
  margin-bottom: 1.25rem;
}
.bg-fp-inner {
  display: block;
  border: 2px solid #FF7E41;
  padding: 1.875rem 2.5rem 2.5rem 2.5rem;
  background-color: #fff;
  position: relative;
  z-index: 998;
}
.bg-fp h2 {
  color: #FF7E41;
  margin-bottom: 3.125rem;
}
.bg-fp .btn2 {
  background-color: #FF7E41
}
.bg-fp .btn2 svg {
  fill: #fff
}
@media (min-width:992px) {
  .viewmap {
    margin-bottom: 7.5rem;
  }
  .col-fo .container {
    padding-top: 0;
    padding-bottom: 10rem;
    flex-direction: row
  }
  .bg-fp {
    width: 50%;
    margin: 0 1.25rem;
  }
  .bg-fp:first-child{
    margin-top: 0rem;
    margin-bottom: 0rem;
  }
  .bg-fp:last-child {
    margin-top: -8rem
  }
  .bg-fp-inner {
    height: 320px;
    padding: 3.375rem 4rem 4rem 4rem;
  }
}
/* Footer */
footer {
  border-top: 4px solid #ff7e41
}
.footer-top {
  padding-top: 2.5rem
}
.footer-nav {
  /*margin-bottom: 2rem;*/
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: start;
  font-weight: 700;
}
.footer-nav li {
  /*width: calc(50% - .5rem);*/
  width: 100%;
  margin-bottom: 2rem;
  font-size: 1.25rem;
}
.footer-nav li:last-child {
  font-size: 1rem
}
.footer-nav-privacy {
  font-size: 0.88889rem;
  vertical-align: sub;
}
.footer-organizer {
  font-size: 0.7778rem;
}
.footer-organizer span {
  display: block;
  font-size: 0.7778rem;
}
@media (min-width:992px) {
  .footer-top {
    padding-top: 5rem
  }
  .footer-nav {
    max-width: 35rem;
  }
  .footer-nav ul {
    display: flex;
    flex-wrap: wrap;
  }
  .footer-organizer span {
    display: inline;
  }
  .footer-organizer span::after {
    content: " / ";
  }
  .footer-organizer span:last-child::after {
    content: "";
  }
}
.h-eatlab {
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.0625rem;
}
.list-eatlab {
  margin-bottom: 2.5rem;
  display: flex;
  max-width: 30rem;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 0.812rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
}
.list-eatlab li {
  margin-bottom: 1rem;
  width: calc(50% - .5rem);
  border-bottom: 1px solid #333;
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 2.4
}
.list-eatlab li a {
  display: block;
  width: 18px;
  height: 18px;
}
.list-eatlab li svg {
  fill: #606265;
  vertical-align: top;
}
.footer-bottom {
  background: #888;
  color: #fff;
  padding-top: 3rem;
  padding-bottom: 2rem;
}
.list-sponcer {
  margin: 0 -.5rem 2rem;
  display: flex;
  flex-wrap: wrap;
}
.list-sponcer li {
  margin-bottom: 1rem;
  padding: 0 .5rem;
  width: 50%;
}
.list-sponcer img {
  background-color: #fff
}
.copyright {
  font-size: 0.875rem;
  letter-spacing: 1px;
}
@media (min-width:992px) {
  .h-eatlab {
    font-size: 0.88889rem;
  }
  .list-eatlab li {
    margin-bottom: 0;
    width: calc(25% - 1rem);
    font-size: 0.88889rem;
  }
  .footer-nav li {
    margin-bottom: 2rem;
    margin-right: 2rem;
    width: auto;
    letter-spacing: 0.05rem;
  }
  .list-sponcer {
    flex-wrap: nowrap
  }
  .list-sponcer li {
    margin-bottom: 0;
    width: auto;
    width: 16.6666667%;
  }
  .copyright {
    text-align: right
  }
}
/* Modal */
.modalArea {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .4s;
  text-align: center
}
.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}
.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 560px;
  padding: 2rem;
  background-color: #fff;
}
.modalArea ul li {
  margin-bottom: .5rem
}
.modalWrapper .btn {
  display: block;
  min-width: inherit
}
.modal-bottom {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #888;
}
.modal-tel {
  color: #FF7E41;
  font-size: 2rem;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
}
.modalWrapper h2 {
  margin-bottom: 1rem;
  color: #FF7E41
}
.closeModal {
  padding-top: .5rem;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  background-color: #888;
  color: #fff;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  width: 44px;
  height: 44px;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center
}
.closeModal::before {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="34" height="20" fill="%23fff" viewBox="0 0 24 24"><rect width="100" height="2"/></svg>');
  position: absolute;
  top: 10px;
  left: 0;
  display: block
}
.is-show {
  visibility: visible;
  opacity: 1
}
.contact-modal-ul {
  letter-spacing: -0.06rem;
}
@media (min-width:992px) {
  .modalArea ul {
    margin: 0 -5px;
    display: flex;
    flex-wrap: wrap
  }
  .modalArea ul li {
    padding: 0 5px;
    width: 50%
  }
  .modalWrapper h2 {
    text-align: left
  }
}
/* Privacy */
.col-privacy {
  margin-bottom: 3rem
}
.col-privacy h3 {
  margin-bottom: 1rem;
  color: #FF7E41;
  font-weight: 700
}
.col-privacy p {
  margin-bottom: 0
}
.list-privacy {
  margin-top: 2rem
}
.list-privacy dt {
  width: 6rem;
  float: left;
  font-weight: 200
}
.list-privacy dd {
  margin-left: 6rem
}
@media (min-width:992px) {
  .list-privacy dt {
    width: 5rem;
    margin-right: 2rem;
  }
  .list-privacy dd {
    margin-left: 7rem
  }
}
.recommend-card-wrapper {
  padding: 1rem;
  border: 1px solid #eee;
}
.recommend-card-wrapper .program-card {
  padding-bottom: 0;
  min-height: 280px;
}
.recommend-card-wrapper h3 {
  margin-top: 1rem !important;
  font-size: 1rem;
}
.recommend-text {
  min-height: 4rem;
}
.other-card {
  margin-bottom: 1.25rem;
  padding: 2rem 1.25rem 3rem 1.25rem;
  background-color: #fff
}
.other-card h3 {
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-size: 1rem;
}
.other-card p {
  font-size: 0.875rem;
  margin-bottom: 2rem;
}
.other-card img {
  margin-bottom: 2rem;
  display: block;
}
.list-other {
  border-top: 2px solid #E3E3E3;
  padding-top: 1.25rem;
  font-size: 0.8rem;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif !important;
}
.list-other dt {}
.list-other dt span {
  font-size: 0.9rem;
  white-space: nowrap;
}
.list-other dd {
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 2px solid #E3E3E3
}
.list-other dd::after {
  content: "";
  clear: both;
  display: block;
}
.list-other dd span {
  display: block;
  /*font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;*/
}
.list-other .book {
  text-decoration: none !important;
  margin: 0 !important;
  padding: 0.1rem 0.2rem;
  font-size: 0.8rem;
  display: inline-block;
  border-radius: 1px;
}
.list-other .book.accept-book {
  background-color: #f18200;
  color: #fff;
}
.list-other .book.limited-book {
  background-color: #e3e3e3;
  color: #141b38;
}
.list-other .book.full-book {
  background-color: #333333;
  color: #fff;
}
.mg-md {
  margin-top: 3.5rem;
}
.mg-md .btn {
  padding: 1rem 2.5rem;
}
.mg-md .btn::after {
  top: initial;
  right: 1.25rem;
}
@media (min-width:992px) {
  .other-card {
    padding: 3.5rem;
    margin-bottom: 1.5rem;
  }
  .other-card h3{
    margin-bottom: 3.5rem;
  }
  .other-card p{
    font-size: 1rem;
  }
  .other-card img{
    margin-bottom: 1.25rem;
  }
  details .list-other dt {
    float: left;
    width: 10rem;
    padding-right: 2px;
  }
  .list-other {
    font-size: 1rem;
  }
  .mg-md {
    margin-top: 4rem;
  }
  .mg-md .btn {
    padding: 1.5rem 3.125rem !important;
  }
}
@media (min-width:1200px) {
  .list-other dt {
    float: left;
    width: 7rem;
    padding-right: 2px;
  }
  .list-other dd span {
    margin-left: 7rem;
  }
}
.col-back {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid #ddd;
  text-align: center;
}
.confirm.col-back>* {
  display: block;
  margin: auto;
}
.confirm.col-back>*:first-of-type {
  margin-bottom: 1rem;
}
.col-back a {
  margin: 0 .5rem
}
.gemba-top-card .section-title {
/*.gemba-middle-card h3 {*/
  font-size: 1.5rem;
  margin-bottom: 3rem;
  border-top: 2px solid #222;
  padding-top: 1rem;
  font-weight: 700
}
.gemba-top-card h3,
.gemba-middle-card h3,
.gemba-top-card h4,
.gemba-middle-card h4 {
  margin: 2rem 0;
  line-height: 1.4;
  font-size: 1.125rem;
  font-weight: 700;
}
.gemba-middle-card h3,
.gemba-middle-card h4,
.gemba-recommend-card h3 {
  font-weight: 700;
  margin-top: 3rem;
}
.gemba-middle-card h3:first-child,
.gemba-middle-card h4:first-child {
  margin-top: 0;
}
.gemba-top-card p {
  margin-bottom: 2.5rem;
}
.company-name {
  font-weight: 700;
  font-size: 1.25rem !important;
  margin-bottom: 2.5rem !important;
}
@media (min-width:992px) {
  .inclusion {
    min-height: 7.5rem;
  }
  .confirm.col-back>* {
    display: initial;
    margin-bottom: 0 !important;
  }
  /*
  .gemba-top-card h3 {
    padding-top: 1.25rem;
    font-size: 1.5rem;
    margin-bottom: 4rem;
  }
  */
  .gemba-top-card h3,
  .gemba-top-card h4 {
    margin-bottom: 2.5rem;
    font-size: 1.5rem;
  }
  .company-name {
    font-size: 2rem !important;
    margin-bottom: 4rem !important;
  }
}

/* factory */
details {
  margin-bottom: 1rem;
  background-color: #fff
}
summary {
  font-size: 1rem;
  padding: 1rem;
  display: block;
  position: relative
}
summary::-webkit-details-marker {
  display: none;
}
summary::before,
summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  display: block;
  width: 16px;
  height: 2px;
  background-color: currentColor;
}
summary::before {
  transform: translateY(-50%);
}
summary::after {
  transition: transform 0.5s;
  transform: translateY(-50%) rotate(-90deg);
}
details[open] summary::after {
  transform: translateY(-50%);
}
summary[aria-expanded=true]::after {
  transform: translateY(-50%);
}
details[open]:not([data-accordion-before-close]) summary::after {
  transform: translateY(-50%);
}
details div.summary-detail {
  overflow: hidden;
}

/*
summary:before {
  content: "+";
  position: absolute;
  top: 1rem;
  right: 1rem;
}
details[open] summary:after {
  content: "-";
  position: absolute;
  top: 1rem;
  right: 1rem;
}
details[open] summary:before {
  content: "";
}
*/
.factory-right {
  /*flex: 0 0 11rem;*/
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
.factory-left {
  margin-bottom: 1rem;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
}
details .row {
  padding: 1rem
}
.factory-right img {
  margin-bottom: 2rem
}
@media (min-width:992px) {
  details {
    margin-bottom: 1.25rem;
  }
  summary {
    font-size: 1.25rem;
    padding: 1.85rem
  }
  details .row {
    padding: 2rem
  }
  /*
  summary:before, details[open] summary:after {
    top: 2rem
  }
  */
  .factory-left {
    margin-bottom: 0;
    flex: 1 1 auto;
    width: auto;
  }
}
.contact-tel {
  margin-top: 1rem;
  margin-bottom: 4rem;
  padding: 2rem;
  border: 1px solid #E3E3E3;
  text-align: center
}
/* Form */
form {
  border-top: 1px solid #E3E3E3;
  padding-top: 4rem;
}
.form-group {
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
}
.form-group select {
}
form a {
  text-decoration: underline;
}
.program-selectbox {
  margin-top: 0rem;
  padding: 0 2rem !important;
}
.program-selectbox>div {
  padding-top: 1rem;
  margin-bottom: 1rem;
}
select {
  display: block;
  width: 100%;
  padding: .375rem 1.75rem .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  vertical-align: middle;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: right .75rem center;
  background-size: 16px 12px;
  border: 1px solid #ced4da;
  /*border-radius: .25rem;*/
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
.wpcf7-form-control-wrap {
  position: relative;
  width: 100%
}
.wpcf7-not-valid-tip {
  color: #ff7d41;
}
.wpcf7 .ajax-loader {
  margin-top: 1rem;
  display: block !important;
  margin: auto !important;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea {
  display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #E3E3E3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
form label {
  margin-bottom: 0rem;
  display: inline-block;
  font-weight: 700
}
form label span {
  margin-right: 1rem;
  padding: .1rem .3rem;
  background-color: #FF7E41;
  font-size: 0.75rem;
  color: #fff;
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
}
.form-check label {
  font-weight: 700
}
.form-check-detail {
  padding: 0.5rem;
  border: 3px solid #ff7e41;
  margin-top: 1rem;
  margin-left: 1rem;
  margin-right: 1rem;
}
.form-check-detail ul {
  text-indent: -0.85rem;
  margin-left: 2rem;
  margin-bottom: 0;
}
.form-check-detail ul li:before{
  content: "・";
  display: inline-block;
  margin-right: 0.5rem;
  margin-left: 0.25rem;
}
input[type=checkbox] {
  width: 1.2em;
  height: 1.2em;
  margin-top: .2em;
  margin-right: .5rem;
  vertical-align: top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid rgba(0,0,0,.25);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  transition: background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  border: 2px solid #E26A3B;
}
input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23E26A3B' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 8l3 3l6-6'/%3e%3c/svg%3e")
}
#amount-table-wrapper {
  justify-content: center;
}
table#amount-table {
  border: 1px solid #666;
  border-radius: 2px;
}

.grecaptcha-badge { visibility: hidden; }
.recaptcha_policy {
  margin-top: 2rem;
}
.page .wp-block-contact-form-7-contact-form-selector {
  margin: 4rem 0 5rem;
}
.page section .container a {
  text-decoration: underline;
}
input[readonly] {
  border: none;
  font-size: 1.1em;
}
@media (min-width:992px) {
  .head-what {
    padding-bottom: 12.5rem;
  }
  .form-group {
    flex-direction: row;
    align-items: center;
  }
  /*
  .program-selectbox {
    margin-top: 5.25rem;
  }
  */
  label {
    margin-bottom: 0;
    flex: 0 0 13rem;
  }
  .page form label {
    flex: 0 0 20rem;
  }
  .form-check label {
    width: auto
  }
}
.head-what {
  margin-top: -9rem;
  color: #FF7E41;
  font-size: 2rem;
  text-align: center;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  padding-bottom: 6.5rem;
}
.br-what {
  display: none;
}
@media (max-width:405px) {
  .head-what {
    display: flex;
    justify-content: space-between;
  }
  .head-what span {
    line-height: 3.5rem;
  }
  .head-what span:first-child, .head-what span:last-child {
    font-size: 3.5rem;
  }
  .head-what span:first-child {
    margin-left: -1rem;
  }
  .head-what span:nth-child(2) {
    line-height: 1.5rem;
  }
  .head-what span:last-child {
    margin-right: -1rem;
  }
  .br-what {
    display: initial;
  }
}
/* Wizard */
.steps {
  margin: 0 0 4rem;
  display: flex;
}
.steps .step:first-child {
  margin-left: auto
}
.steps .step:last-child {
  margin-right: auto
}
.step:first-of-type .step-circle::before {
  display: none
}
.step:last-of-type .step-content {
  padding-right: 0
}
.step-content {
  box-sizing: content-box;
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 6rem;
  min-width: 6rem;
  max-width: 6rem;
  padding-top: .5rem;
  padding-right: 1rem
}
.step-circle {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  color: #fff;
  border-radius: 100%;
  background-color: #c3c3c3
}
.step-circle::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(5rem + 2rem - 3rem);
  height: 2px;
  transform: translate(-100%, -50%);
  color: #E3E3E3;
  background-color: currentColor
}
.step-active .step-circle {
  background-color: #FF7E41
}
@media (min-width:992px) {
  .step-content {
    width: 8rem;
    min-width: 8rem;
    max-width: 8rem;
  }
  .step-circle {
    width: 4rem;
    height: 4rem;
  }
  .step-circle::before {
    width: calc(5rem + 4rem - 4rem);
  }
}
#background-video {
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.home-img {
  opacity: 0.8;
  mix-blend-mode: multiply;
}
.home-img01 img {
  position: absolute;
  display: block;
  width: 100%;
  margin: auto;
}
.home-img01 img:first-child{
}
.home-img01 img:nth-child(2){
/*  animation: p3 15s infinite;*/
}
.home-img01 img:nth-child(3){
/*  animation: p1 10s ease-out infinite;*/
}
.home-img01 img:nth-child(4){
  animation: flicker-2 2s linear infinite both;
}
.home-img01 img:nth-child(5){
  animation: p3 15s infinite;
}
.home-img01 img:nth-child(6){
}
.home-img01 img:nth-child(7){
}
.home-img01 img:nth-child(8){
  animation: hb 13s ease-in-out infinite both;
 /* animation: shake-tr 8s cubic-bezier(0.165, 0.840, 0.440, 1.000) 5s infinite both;*/
}
.home-img01 img:not(:first-child){
 /* animation-timeline: scroll();*/
}

@keyframes p3 {
  0%, 4% { transform: skew(0deg, 0deg); }
  0.5% { transform: skew(4deg, 4deg); }
  1% { transform: skew(-3.2deg, -3.2deg); }
  1.5% { transform: skew(2.5deg, 2.5deg); }
  2% { transform: skew(-1.8deg, -1.8deg); }
  2.5% { transform: skew(0.7deg, 0.7deg); }
  3% { transform: skew(-0.4deg, -0.4deg); }
  3.5% { transform: skew(0.2deg, 0.2deg); }
}
@keyframes p1 {
  0%, 8%, 12%, 16% { transform: scale(1.0); }
  10%, 14% { transform: scale(0.95); }
}
@keyframes flicker-2 {
  0%, 100% { opacity: 1; }
  41.99% { opacity: 1; }
  42% { opacity: 0; }
  43% { opacity: 0; }
  43.01% { opacity: 1; }
  45.99% { opacity: 1; }
  46% { opacity: 0; }
  46.9% { opacity: 0; }
  46.91% { opacity: 1; }
  51.99% { opacity: 1; }
  52% { opacity: 0; }
  52.8% { opacity: 0; }
  52.81% { opacity: 1; }
}
@keyframes shake-tr {
  0%, 10% { transform: rotate(0deg); transform-origin: 100% 0; }
  1% { transform: rotate(1deg); }
  2%, 4%, 6% { transform: rotate(-2deg); }
  3%, 5%, 7% { transform: rotate(2deg); }
  8% { transform: rotate(-1deg); }
  9% { transform: rotate(1deg); }
}
@keyframes hb {
  from { transform: scale(1); transform-origin: center center; animation-timing-function: ease-out; }
  1.0% { transform: scale(0.95); animation-timing-function: ease-in; }
  1.7% { transform: scale(0.98); animation-timing-function: ease-out; }
  3.3% { transform: scale(0.92); animation-timing-function: ease-in; }
  4.5% { transform: scale(1); animation-timing-function: ease-out; }
}



@media (min-width:992px) {
  .home-img01 img {
    width: 130%;
    left: -12%;
  }
}
.home-img02 {
  /*
  background-color: #666;
  /*  background: url(../img/home02.png) no-repeat center right; */
  background-size: cover;
  position: absolute;
  width: 204px;
  height: 130px;
  z-index: 5;
  right: 20%;
  top: -100px;
}
.home-img03 {
  /*
  background-color: #666;
  /*  background: url(../img/home03.png) no-repeat center right; */
  background-size: cover;
  position: absolute;
  width: 170px;
  height: 200px;
  top: 0;
  left: 1rem;
  z-index: 1
}
.home-img04 {
  /*
  background-color: #666;
  /*  background: url(../img/home04.png) no-repeat center right; */
  background-size: cover;
  position: absolute;
  width: 220px;
  height: 180px;
  z-index: 100;
  right: 1.5rem;
  top: -12.5rem;
}
.home-img05 {
  /*
  background-color: #666;
  /*  background: url(../img/home03.png) no-repeat center right; */
  background-size: cover;
  position: absolute;
  width: 180px;
  height: 200px;
  top: 0;
  left: 2rem;
  z-index: 1
}
@media (min-width:992px) {
  .home-img02 {
    width: 40%;
    max-width: 400px;
    height: 300px;
    right: 8%;
    top: -9rem;
  }
  .home-img03 {
    width: 30%;
    height: 260px;
    top: -5rem;
    left: 0;
  }
  .home-img04 {
    width: 30%;
    height: 300px;
    right: 8%;
    top: -16rem;
  }
  .home-img05 {
    width: 30%;
    height: 260px;
    top: -1rem;
    left: 5%;
  }
}
.col-contact02 {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid #ddd;
}
.list-contact02 dd {
  margin-bottom: 2rem;
}
@media (min-width:992px) {
  .list-contact02 dt {
    width: 14rem;
    float: left;
  }
  .list-contact02 dd {
    margin-left: 14rem
  }
}
iframe {
  width: 100%;
  height: 280px;
  /*filter: grayscale(1);*/
}
iframe #watermark {
  opacity: 0;
}
.home-asset-img {
  position: relative;
  height: 100%;
  margin-bottom: 4rem;
  margin-top: 3rem;
}
.home-asset-img-margin{
  padding-top: 8.5rem;
}
.home-asset-typo {
  width: auto;
  position: absolute;
  height: 80px;
}
.home-asset-typo img {
  display: inline-block;
  width: auto;
  height: 100%;
}
.home-asset-1 {
  position: absolute;
  /*
  width: 180px;
  left: auto;
  right: 5%;
  */
  width: 165px;
  left: -3%;
  top: -13%;
}
.home-asset-2 {
    position: relative;
    width: 100%;
    height: 100%;
}
@media (min-width:992px) {
  .home-asset-2 {
  }
}
.home-asset-3 {
  /*
  bottom: 0;
  left: 5%;
  */
  right: 15%;
  bottom: 12%;
}
.home-asset-4 {
  top: -100px;
  right: 20px;
  left: auto;
}
.home-asset-5 {
  top: 2rem;
  left: 50%;
}
.home-asset-6 {
  top: 1rem;
  left: 50%;
}
.home-asset-7 {
  top: -190px;
  right: 20px;
  left: auto;
}
.sec-page-aboutus{
  padding-top: 7.5rem;
  padding-bottom: 4.5rem;
}
.sec-page-archive{
  padding-top: 7.5rem;
  padding-bottom: 5rem;
}
.sec-page-programs{
  padding-top: 7.5rem;
  padding-bottom: 2rem;
}
.sec-page-factories{
  padding-top: 7.5rem;
}
.sec-page-other{
  padding-top: 7.5rem;
  padding-bottom: 2rem;
}
.sec-page-factories-contact{
  padding-top: 0rem;
  padding-bottom: 4.5rem;
}
.page-programs-title{
  margin-bottom: 2rem !important;
}
.sec-page-programs .program-selectbox{
  margin: 0;
  padding-top: 0;
  /*
  margin-top: 3.5rem;
  */
}
.sec-page-factories .tab-nav{
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}
.aboutus-container-1 {
  position: absolute;
  background-repeat: no-repeat;
  background-position: top 6rem right 1rem;
  background-size: 13rem;
  width: 100%;
  height: 30rem;
  max-width: 1200px;
}
.aboutus-container-2 {
  position: absolute;
  background-repeat: no-repeat;
  background-position: bottom right;
  width: 100%;
  height: 30rem;
  max-width: 1200px;
  bottom: 0;
  background-size: 16rem;
}
.page-aboutus-title{
  margin-bottom: 4rem !important;
  font-size: 4.5rem;
}
.col-about .col-md-7{
  max-width: 100%;
  padding-right: 20px;
  padding-left: 20px;
}
.col-about .col-md-5{
  padding-right: 20px;
  padding-left: 20px;
}
.aboutus-container-1 .sec-img {
  height: auto;
}
.scrollreveal-1, .scrollreveal-2, .scrollreveal-3 {}
.scrollreveal-1{
  margin-top: 0;
}
.aboutus-asset {
  margin: 1rem 0;
  text-align: center;
}
.aboutus-asset img {
  display: inline-block;
  margin-bottom: 1rem;
}
.other-content{
  margin-top: 3.25rem;
}
@media (min-width:992px) {
  .scrollreveal-1{
    margin-top: 2rem;
  }
  iframe {
  width: 100%;
  height: 600px;
  /*filter: grayscale(1);*/
  }
  .home-asset-typo {
    height: 120px;
  }
  .home-asset-img {
    height: 100%;
    max-height: 400px;
  }
  .home-img04-wrap{
    margin-top: -5rem;
  }
  .home-asset-1 {
    width: 66.6666666667%;
    min-width: 160px;
    max-width: 240px;
    top: 0;
    left: -23%;
    /*
    left: auto;
    right: 5%;*/
  }
  .home-asset-2 {
    width: 83.3333333333%;
    min-width: 200px;
    height: 100%;
    top: 16%;
    left: 0;
  }
  .home-asset-3 {
    /*
    bottom: -30%;
    right: auto;
    left: auto;
    */
    bottom: -50%;
    right: 12%;
  }
  .home-asset-4 {
    top: -10rem;
    right: 10%;
    left: auto;
  }
  .home-asset-5 {
    top: 4rem;
    left: 34%;
  }
  .home-asset-6 {
    top: 6rem;
    left: 35%;
  }
  .home-asset-7 {
    top: -15rem;
    right: 13%;
    left: auto;
  }
  .aboutus-container-1 {
    background-position: top 6rem right;
    background-size: 16rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .aboutus-container-2 {
    left: 55%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background-size: 24rem;
  }
  .aboutus-asset {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .aboutus-asset img {
    display: block;
    position: absolute;
  }
  .sec-page-aboutus{
    padding-top: 8.75rem;
    padding-bottom: 11rem;
  }
  .sec-page-archive{
    padding-top: 8.75rem;
    padding-bottom: 10rem;
  }
  .sec-page-programs{
    padding-top: 8.75rem;
    padding-bottom: 5rem;
  }
  .sec-page-factories{
    padding-top: 8.75rem;
  }
  .sec-page-other{
    padding-top: 8.75rem;
    padding-bottom: 7.5rem;
  }
  .sec-page-factories-contact{
    padding-top: 1.25rem;
    padding-bottom: 9rem;
  }
  .sec-page-other-contact{
    padding-bottom: 9rem;
  }
  .page-archive-title{
    font-size: 4.5rem;
  }
  .page-programs-title{
    font-size: 4.5rem;
    margin-bottom: 3.875rem !important;
  }
  .page-factories-title{
    font-size: 4.5rem;
    margin-bottom: 4rem !important;
  }
  .page-other-title{
    font-size: 4.5rem;
    margin-bottom: 4rem !important;
  }
  .sec-page-programs .program-selectbox{
    margin: 0;
    width: 100%;
  /*  margin-top: 6.25rem;*/
  }
  .sec-page-programs .col-md-4 h3{
    font-size: 1.25rem;
  }
  .sec-page-factories .tab-nav{
    margin-top: 6.25rem;
    margin-bottom: 6.25rem;
  }
  .other-content{
    margin-top: 6.25rem;
  }
  .col-about .col-md-7{
    max-width: 53.333333%;
    padding-right: 20px;
    padding-left: 53px;
  }
  .col-about .col-md-5{
    padding-right: 53px;
    padding-left: 20px;
  }
  .scrollreveal-1{
    margin-top: 0rem;
  }
}
.lang-en {
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
}
.font-regular {
  font-weight: 400;
}
#access {
  padding-bottom: 9rem;
}
#contact {
  padding-bottom: 9rem;
}
@media (min-width:992px) {
  #access {
    padding-bottom: 4rem;
  }
  #contact {
    padding-bottom: 13rem;
  }
}
.pagination {
  display: flex;
  justify-content: center;
}
.pagination li {
  font-size: 1.5rem;
}
.pagination li span {
  padding: .5rem;
  display: block;
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
}
.pagination li span.current {
  color: #FF7E41;
}
.pagination li a {
  color: #888;
  padding: .5rem;
  display: block
}
@media (min-width:992px) {
  .pagination li {
    padding: inherit;
  }
}
#timetable {
  max-width: 1200px;
  margin: auto;
}
#modalAreaProgram .modalWrapper {
  max-height: 95vh;
  overflow: auto;
  padding: 1rem;
}
.gemba-top-card .program-modal p,
.gemba-top-card .program-modal h3 {
  margin-bottom: 1rem;
}
.timeline-text {
  margin-top: 3rem;
  margin-bottom: 2rem;
  text-align: center;
}
.timeline-timetable > thead > tr > th.scale-major:nth-child(even) {
  background-color: #e3e3e3;
}
.timeline-event-body {
  padding-bottom: 1rem;
  border-bottom: dotted 1px #a8a8a8;
}
.jqtl-loader {
  max-width: auto !important;
  scrollbar-color: #ff7e41;
  scrollbar-width: thin;
  -webkit-scrollbar-color: #ff7e41;
  -webkit-scrollbar-width: thin;
}
.jqtl-container {
  border: none !important;
  padding: 15px;
  width: auto !important;
  margin: auto !important;
  scrollbar-color: #ff7e41;
  scrollbar-width: thin;
  -webkit-scrollbar-color: #ff7e41;
  -webkit-scrollbar-width: thin;
}
.jqtl-sticky-left {
  max-width: 40%;
}
.jqtl-side-index .jqtl-side-index-item {
  overflow: hidden;
}
.jqtl-side-index .jqtl-side-index-item label {
  margin-left: 0.25rem;
}
.jqtl-side-index {
 /* left: -0.9rem !important;*/
}
.jqtl-event-title {
  display: none;
}
.jqtl-event-content {
  text-align:left;
}
.jqtl-main {
  /*cursor: default !important;*/
  cursor: grab !important;
}
.jqtl-event-label {
  position: relative;
}
.jqtl-event-label span.reserve {
  margin-left: 0.2rem;
  font-size: 0.75rem;
}
.scroll-hint-icon {
  z-index: 1000;
}

/*Other*/
.other-content a, .underline {
  text-decoration: underline;
}
@media (min-width:992px) {

}

/* programs list */
.refine-search {
  background-color: #eee;
}
.refine-search[open] {
  padding-bottom: 1rem;
}
.refine-search * {
  overflow: hidden;
}
.refine-search summary {
  font-size: 1rem;
  cursor: pointer;
}
/*
.refine-search summary::before,
.refine-search summary::after {
  top: 48%;
  display: block;
  background-color: #222;
  line-height: 1;
  width: 0.75em;
  height: 0.1em;
  border: none;
  transition: transform 0.5s;
}
.refine-search summary::before {
  right: 1.5em;
  transform: rotate(-45deg);
}
.refine-search summary::after {
  right: 1.0em;
  transform: rotate(45deg);
}
.refine-search[open] summary::before {
  transform: rotate(45deg);
}
.refine-search[open] summary::after {
  transform: rotate(-45deg);
}
.refine-search[open]:not([data-accordion-before-close]) summary::before{
  transform: rotate(45deg);
}
.refine-search[open]:not([data-accordion-before-close]) summary::after{
  transform: rotate(-45deg);
}
*/
.filter-checkbox-wrapper {
  padding: 1rem;
}
.filter-checkbox {
  display: inline-block;
  margin-right: 1rem;
  vertical-align: top;
}
.filter-checkbox input[type=checkbox] {
  margin-right: 0;
}
.filter-checkbox div:not(:first-of-type) {
  margin-left: 1rem;
}
.filter-checkbox div:not(:first-of-type) label {
  font-weight: 400 !important;
  margin-bottom: 0;
}
.filter-checkbox div:not(:first-of-type) input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  margin-top: 0.3rem;
}
.filter-checkbox-area .filter-checkbox {
  margin: 0;
}
.content-tabs .tab {
  width: 33.333333%;
  color: #333;
}


/*Single programs*/
.googlemaps-link svg {
  vertical-align: baseline;
}

/*Top Banner*/
.topbanner {
	z-index: 1000;
	text-align: center;
	width: 100%;
	background-color: #ff7e41;
	color: #fff;
}
.topbanner>* {
	display: inline-block;
	padding: 0.25rem 2rem;
	margin: 0;
}
.topbanner a {
	color: #FFF;
	width: 100%;
	letter-spacing: 0.1rem;
  max-width: 100% !important;
}
.topbanner .btn::after {
  top: initial;
}
.hero .topbanner {
  position: absolute;
  top: 64px;
  filter: none;
}
@media (min-width:992px) {
  .hero .topbanner {
    top:0;
	}
}

/*tags*/
.tag-list span,
.tag-list a {
  margin-right: 1rem;
  display: inline-block;
  padding: 0.33rem 0.75rem 0.33rem 0.25rem;;
  font-size: 0.85rem;
  border-right: 6px solid #ff7e41;
  color: #ff7e41;
  line-height: 0.85rem;
  background-color: #eeeeeeee;
  text-shadow: none;
  min-width: 7rem;
  letter-spacing: -0.08rem;
}

/*tour*/
.tour .detail {
  margin-bottom: 2rem;
}
.tour-wrapper .tour-detail p,
.tour-wrapper .tour-detail h3 {
  display: inline-block;
  margin-bottom: 0;
}
.tour-wrapper .point {
  font-weight: 700;
  font-size: 1.5rem;
  background-color: #ff7e41;
  color: #fff;
  min-width: 14rem;
  text-align: center;
  padding: 1rem 2rem;
}
.tour-wrapper .time {
  font-family: 'DIN Condensed', 'Ropa Sans', "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1rem;
}
.tour-wrapper .note,
.tour-wrapper .tour-content {
  display: block !important;
  padding: 1rem 0 1rem 2rem;
}
.tour-wrapper .transferal-wrapper,
.tour-wrapper .tour-content-wrapper,
.tour-wrapper .start-note,
.tour-wrapper .goal-note {
  margin-left: 1rem;
  border-left: 0.25rem dashed #333;
}
.tour-wrapper .start-time,
.tour-wrapper .waypoint-time,
.tour-wrapper .goal-time {
  margin-left: 1rem;
  font-size: 2rem;
  position: relative;
}
.tour-wrapper .not_has_border {
  border: none;
  margin-left: 0 !important;
  margin-bottom: 2rem;
}
.tour-wrapper .start-time span,
.tour-wrapper .goal-time span {
  color: #ff7e41;
  font-size: 2.5rem;
  font-weight: 400;
  display: block;
  position: absolute;
  top: -2rem;
  left: -5rem;
  rotate: -10deg;
}

@media (min-width:1024px) {
  .tour-wrapper .transferal-wrapper,
  .tour-wrapper .tour-content-wrapper,
  .tour-wrapper .start-note,
  .tour-wrapper .goal-note {
    margin-left: 7rem;
  }
}
@media (min-width:992px) {
  .tour-wrapper .start-time span,
  .tour-wrapper .goal-time span {
    top: 0.5rem;
    left: 4rem;
  }
}
.tour-wrapper .start-note {
  min-height: 3rem;
}
.tour-wrapper .goal-note {
  border: none;
}
.tour-wrapper .transportation-icon-wrapper {
}
.tour-wrapper .transportation-icon {
  display: inline-block;
  rotate: 90deg;
  width: 3rem;
  max-height: 3rem;
}
.tour-wrapper .transportation-icon svg {
}
.tour-wrapper .transportation-icon .human{
  padding-left: 0.75rem;
  width: 2.25rem;
}
.tour-wrapper .waypoint {
  background-color: #fff;
  color: #ff7e41;
  border: 1px solid #ff7e41;
}
.tour-wrapper .tour-content .tour-card {
  background-color: #eee;
  padding-top: 1.5rem;
  padding-bottom: 1rem;
  position: relative;
  margin-right: 0;
}
.tour-wrapper .tour-content div h3 {
  font-weight: 700;
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.tour-wrapper .tour-card .post-type {
  display: block;
  padding: 0rem 0.5rem;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  font-weight: bold;
  display: inline-block;
  /* float: right; */
  margin-bottom: 0;
  line-height: 1.1rem;
  border: 1px solid #FF7E41;
  margin-top: -0.4rem;
  z-index: 3;
  position: absolute;
  top: 0;
  width: 100%;
  right: 0;
  left: 0;
  transition: all 0.3s;
}
.tour-wrapper .tour-card .post-type span {
  font-size: 0.7rem;
  margin-left: 0.3rem;
}
.tour-wrapper .tour-card .post-type.program {
  background-color: #FF7E41EE;
  color: #FFF;
}
.tour-wrapper .tour-card .post-type.event {
  background-color: #FFFFFFEE;
  color: #FF7E41;
}
.tour-wrapper .tour-card .post-type span.req-time {
  font-size: 1rem;
  float: right;
}
.tour-wrapper .tour-card>div {
  margin-bottom: 1rem;
}
.tour-wrapper .start-point,
.tour-wrapper .goal-point {
  background-color: #eee;
  color: #333;
  border: 1px solid #eee;
}
.tour-wrapper .program-point {
  background-color: #ff7e41;
  color: #fff;
  border: 1px solid #ff7e41;
}
.tour-wrapper .event-point {
  background-color: #fff;
  color: #ff7e41;
  border: 1px solid #ff7e41;
}
.tour-wrapper .not-content-point {
  background-color: #eee;
  color: #333;
  border: 1px solid #eee;
}
.tour-wrapper .dot {
  position: relative;
}
.tour-wrapper .transferal {
  padding-top: 1rem;
}
.tour-wrapper .dot .transferal::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #333;
  position: absolute;
  top: -1rem;
  left: -0.64rem;
}

/* Recommend */
.recommend-slider {
  overflow-x: auto;
  padding-left: 20px;
  padding-right: 20px;
  scrollbar-color: #ff7e41;
  scrollbar-width: thin;
  -webkit-scrollbar-color: #ff7e41;
  -webkit-scrollbar-width: thin;
}
.recommend-slider::-webkit-scrollbar {
  height: 2px;
}
.recommend-slider::-webkit-scrollbar-track {
  background-color: #E3E3E3;
  border-radius: 0;
}
.recommend-slider::-webkit-scrollbar-thumb {
  border-radius: 0;
  background-color: #ff7e41;
}
.recommend-slider div.row {
  flex-wrap: nowrap;
}
.recommend-slider div.row>div {
  min-width: 280px;
}






.accessmap {
  margin-top: 2rem;
  line-height: 1.25rem;
}
.accessmap h3{
  margin: 3.5rem 0 2.5rem 0;
  font-size: 1.5rem;
  font-weight: 700;
  width: 100%;
  text-align: left;
}
.accessmap p {
  margin: 0;
}
.access-detail-wrapper {
  margin-left: 0;
  margin-right: 0;
  text-align: center;
  overflow: auto;
}
.start-city-name,
.goal-city-name {
  /*
  background-color: #ff7e41;
  */
  color: #fff;
  background-color: #888;
  font-weight: 700;
  font-size: 1.35rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.transport-facility {
  margin-top: 1px;
}
.transport-facility svg {
  width: auto;
  height: 2rem;
  vertical-align: bottom;
}
.transport-facility span span{
  white-space: nowrap;
}
.transport-facility span span:first-of-type{
  font-size: 0.9rem;
}
.start-city-name-wrapper,
.goal-city-name-wrapper,
.transport-facility,
.access-start-point,
.access-goal-point {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}
.transport-facility,
.access-start-point,
.access-goal-point {
  display:flex;
}
.transport-facility>span{
/*  border: 1px solid #ff7e41;*/
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  display: inline-block;
  width: 100%;
}
.access-start-point {
  margin-top: 1px;
}
.access-start-point span,
.access-goal-point span {
  display: inline-block;
  width: 100%;
  font-weight: 700;
  font-size: 1.1rem;
  background-color: #ddd;
  padding: 0.5rem 0.1rem;
}
.access-transferal-wrapper {
  display: flex;
  flex-flow: column;
}
@media (max-width:767px) {
  .access-transferal-wrapper {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
}
.access-transferal-wrapper .access-transferal {
  margin-left: 5%;
  margin-bottom: 0;
  padding-left: 0.5rem;
  border-left: 3px dashed #333;
  text-align: left;
  height: 100%;
  min-height: 5rem;
  display: flex;
  align-items: center;
  position: relative;
}

.access-transferal.car {
  border-left: 3px double #333;
}
.access-transferal.airplane {
  border-left: 3px solid #333;
}

.access-transferal-wrapper .access-transferal:not(:first-child) span::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: #333;
  position: absolute;
  top: -0.3rem;
  left: -0.45rem;
}
.access-transferal-wrapper .access-transferal.transfer::after {
  position: absolute;
  bottom: -0.9rem;
  left: 0rem;
  font-weight: 700;
  background-color: #eee;
  padding: 0.2rem 0.3rem 0.2rem 0.5rem;
  border-radius: 2px;
}
.access-transferal-wrapper .access-transferal.kanazawa::after {
  content: "金沢駅";
}
.access-transferal-wrapper .access-transferal.tsuruga::after {
  content: "敦賀駅";
}
.access-transferal-wrapper .access-transferal.maihara::after {
  content: "米原JCT";
}
.access-transferal-wrapper .access-transferal.fujioka::after {
  content: "藤岡JCT";
}
.access-transferal-wrapper .access-transferal.joetsu::after {
  content: "上越JCT";
}
.access-goal-point {
  margin-bottom: 1px;
}
.goal-city-name {
  margin-bottom: 3rem;
}
@media(max-width: 767px){
  .transport-facility>span>span{
    display: block;
  }
  .access-transferal-wrapper .access-transferal{
    min-height: 7rem;
  }
}
/* single */
#top.single .sec-page-programs a,
#top.single .sec-page-archive a{
  text-decoration: underline;
} 

.text-cancel-policy{
  margin-left: .5rem;
  white-space: nowrap;
}

.single_add_to_cart_button {
}
.single_add_to_cart_button::after {
  content: none;
}
/* フローティング配置（既存 .scrolltop を使う場合は不要） */
.cartfab {
  display: block;
  background-color: #FF7E41;
  color: #fff;
  cursor: pointer;
  font-family: 'DIN Condensed', 'Ropa Sans', sans-serif;
  font-size: 0.75rem;
  width: 77px;
  height: 77px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition-duration: 1s;
  z-index: 1000;
}
.cartfab.pc {
  font-size: 1rem;
}
.cartfab.fixed {
  position:fixed;
  right: 3px;
  bottom: 3px;
  transition-duration: 1s;
}

.cartfab:hover { opacity: .9; }

.cartfab__count {
  min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px; background: #ff3b30; color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; line-height: 1;
}
.pc .cartfab__count {
  position: fixed;
  bottom: 55px;
  right: 55px;
  font-size: 24px;
  height: 35px;
  width: 35px;
}

/* 点数0のときはバッジ非表示にしたい場合 */
.cartfab__count:where(:not(:empty)) { display: inline-flex; }
.cartfab__count { display: none; }
.cartfab__count:not(:empty):not(:has(:where())) { display: inline-flex; } /* 互換が心配ならJSで制御でもOK */

@media (min-width:992px) {
  .cartfab.fixed {
  }
}


/*woocommerce*/
.wc-block-components-main #contact {
  padding-bottom: 0;
}

#wc-stripe-new-payment-method {
  width: 1.2em !important;
  height: 1.2em;
}
span.required,
span.optional,
.fc-inside label span {
  background-color: initial;
  color: inherit;
  font-size: 1rem;
}
.woocommerce-order-details__title,
.woocommerce-column__title {
  font-size:1.5rem;
}
