﻿@charset "utf-8";
/* CSS Document */
		@keyframes busDrive2 {
    0% {
        transform: translateX(0%) scaleX(1); 
    }
    45% {
        transform: translateX(150%) scaleX(1);
    }
    50% {
        transform: translateX(150%) scaleX(-1); 
    }
    95% {
        transform: translateX(0%) scaleX(-1); 
    }
    100% {
        transform: translateX(0%) scaleX(1); 
    }
}
#page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff; 
    z-index: 99999; 
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.res-form-group, 
hr, 
.res-submit-btn {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards;
}

.top_bt a span {
	display: block;
	font-size: 18px;
}
.top_bt a{
	font-size: 14px;
}
@keyframes fadeInUp {
       to {
           opacity: 1;
           transform: translateY(0);
       }
   }

   form > *:nth-child(1)  { animation-delay: 0.1s; }
   form > *:nth-child(2)  { animation-delay: 0.2s; }
   form > *:nth-child(3)  { animation-delay: 0.3s; }
   form > *:nth-child(4)  { animation-delay: 0.4s; }
   form > *:nth-child(5)  { animation-delay: 0.5s; }
   form > *:nth-child(6)  { animation-delay: 0.6s; }
   form > *:nth-child(7)  { animation-delay: 0.7s; }
   form > *:nth-child(8)  { animation-delay: 0.8s; }
   form > *:nth-child(9)  { animation-delay: 0.9s; }
   form > *:nth-child(10) { animation-delay: 1.0s; }


/* 郢ｧ繧ｱ郢晄鱒繝ｪ郢昴す邵ｺ繧｣郢昴・縺冗ｹｧ繧ｱ郢晏現繝ｻ鬩溷調繧ｹ繝ｧ郢晄㈱繝｣郢ｧ繝・ｹｧ繧ｱ */
.loader-spinner-box {
    text-align: center;
}

/* 邵ｺ闊渓邵ｺ闊渓陜玲ｧｭk郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え繝ｻ閧ｲ繧ｭ驢阪え繧ｵ郢ｧ繝ｼ郢昴ぇ郢昴・繝ｻ郢ｧ繧ｭ郢昴ぃ郢昴え邵ｺ繧｣驍ｨ繧｢闕ｳﾂ繝ｻ繝ｻ*/
.loader-spinner {
    width: 50px;
    height: 50px;
    margin: 0 auto 15px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #11998e; /* 郢晄㈱縺｡郢昴え邵ｺ繧｣陷ｷ蛹ｻo邵ｺ蟶吮螺郢ｧ繧｣郢昴らｹ昴ぇ郢昴か郢晏ｳｨ縺堤ｹ昴ぉ郢昴す郢昴え */
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* 郢昴Η郢昴す郢昴・縺・ｹ昴え郢ｧ繝ｼ郢昴・縺冗ｹｧ繧ｱ郢昴・*/
.loader-text {
    font-size: 16px;
    font-weight: bold;
    color: #666;
    letter-spacing: 0.05em;
    margin: 0;
}

/* 邵ｺ闊渓邵ｺ闊渓陜玲ｫ√し縲檎ｸｺ繝ｧ郢ｧ繝･郢昴す郢晁ｼ釆樒ｹ昴す郢晢｣ｰ陞ｳ螟ゅそ繧･ */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 髫ｱ繝･邵ｺ繧ｽ髴弱す邵ｺ繧ｽ陞ｳ蠕｡繧ｳ繝ｻ繧ｻ蠕娯・JS邵ｺ繧｡邵ｺ阮吶・郢ｧ繝・ｹ昴ぇ郢ｧ繧ｱ郢ｧ蜑・し蛟・け蠑ｱ@邵ｺ繝ｲ郢晁ｼ釆｡郢昴・竊定ｱｸ蛹ｻ笘・*/
#page-loader.loaded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
body {
	background: #fff !important;

	letter-spacing: -0.03em;
}
html {
  scroll-behavior: smooth;
}
.inside-article {
	background:#fff !important;
}
.mobile-menu-control-wrapper .menu-toggle {
background: linear-gradient(145deg, #00cabd 0%, #02c9be 0%, #3fa9f5 100%) no-repeat !important;
	width: 13.3333333333vw;
	height: 13.3333333333vw;
	position: relative;
	border-radius: 50%;
	
}

.gp-icon svg {
    height: 1.3em !important;
    width: 1.3em !important;
    top: 26% !important;
    position: absolute;
    fill: #fff;
    left: 0 !important;
    font-size: 20px;
    right: 0 !important;
    margin: 0 auto;
    text-align: center;
}
    .site-header .inside-header {
margin: 0 auto !important;
    }
.inside-site-info {
	padding-right: 0px;
        padding-left: 0px;
}
.mobile-menu-control-wrapper {
	right: 2.9vw;
	position: relative;
}

.separate-containers .site-main {
    margin: 0 !important;
}

.site-content .content-area {
	width: 100% !important;
}
.is-right-sidebar {
	display: none !important;
}

.grid-container {

    max-width: 1084px !important;
	margin: 0 auto !important;
}
/*  郢ｧ繧ｱ郢晄ｧｭ繝ｻ隴弱ｅ繝ｻ髯ｦ繧｣驕峨さ陋ｻ繧ｫ陟輔・*/
@media (max-width: 768px) {
  .footer-separator {
    display: none;
  }
  .sp-br {
    display: inline;
  }
}

/* PC隴弱ｅ繝ｻ隰ｾ繧ｱ髯ｦ遒∵直髯ｦ繧｣驕峨さ */
img {
  pointer-events: none;
}
@media (min-width: 769px) {
  .sp-br {
    display: none;
  }
}

.spark_flag {
    position: relative; /* 隰ｫ繝｣闔ｨ繧ｷ髫補悪繧ｨ・ｰ邵ｺ繝ｧ闖ｴ蜥ｲ繧ｹ繝ｧ郢ｧ雋樒ｲ狗ｹｧ荳岩雷郢ｧ繝ｻ*/
  }

  .spark_flag::after {
    content: '';
    position: absolute;
    top: -8%;
    left: -15%;
    display: block;
    width: 20px;
    height: 105%;
    background-color: rgba(255, 255, 255, 0.4);
    opacity: 0;
    transform: rotate(26deg);
    transition: all 0.2s ease-in-out;
}


.spark_flag:hover::after {
  animation: sparkle 0.2s ease-in-out forwards;
}
@keyframes sparkle {
  0% {
    left: -11%;
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    left: 110%;
    opacity: 0;
  }
}

.accordion-title {
  padding: 12px 16px 12px 40px;
	position: relative;
  background: #3fa9f5;
  cursor: pointer;
  border-radius: 6px;
  margin-bottom: 0px;
	color: #fff;
  transition: background 0.3s;
}
.accordion-title::before {
    content: "Q";
    color: #fff;
    position: absolute;
    left: 15px;
    top: 7px;
    font-size: 20px;
    font-weight: 500;
}

.accordion-title:hover {
  background: #8ecffd;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  background: #fafafa;
  transition: max-height 0.3s ease;
  padding: 0 16px;
	border-radius: 0 0 6px 6px;
	position: relative;
	
}
.about_stay_room_h2 {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
}
.about_stay_room_h2 span {
    font-family: "Allura", cursive;
    position: absolute;
    left: -16px;
    content: "Q&A";
    top: -29px;
    margin: 0 auto;
    transform: rotate(-25deg);
    font-size: 2rem;
    color: #ffde13;
    max-width: 200px;
    width: 100%;
    z-index: 15;
}
.about_stay_room h2 {
    overflow: hidden;
    position: relative;
    border-radius: 10px;
    color: #3fa9f5;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 10px;
    font-size: 2rem;
    z-index: 10;
    margin-bottom: 25px;
}

.about_stay_room {
	margin-top: 145px;
	position: relative;
}
.about_stay_room a {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 999;
}
.about_stay_imgbox {
	display: flex;
	flex-wrap: wrap;
	gap:0px;
	justify-content: space-between;
}
.about_stay_imgbox img {
	width: 33%;
	border-radius: 10px;
	padding: 5px;
}
.about_stay_imgbox img:nth-child(3n+2) {
	padding-left: 0;
	padding-right: 0;
}


.about_stay_imgbox img {
  opacity: 0;
  transform: translateX(50px); /* 陷ｿ繧ｦ邵ｺ荵拱陝ｾ繝ｲ邵ｺ繧ｩ陷医・邵ｺ縲咲ｸｺ繝ｲ邵ｺ荳殻 */
  transition: transform 0.8s ease, opacity 0.8s ease;
}

/* 髯ｦ繧｣驕峨さ隴弱ｅ繝ｻ郢ｧ繧ｱ郢ｧ繧ｽ郢ｧ縲∫ｹ昴か */
.about_stay_imgbox.show img {
  opacity: 1;
  transform: translateX(0);
}

.about_stay_imgbox.show img:nth-child(1) { transition-delay: 0.1s; }
.about_stay_imgbox.show img:nth-child(2) { transition-delay: 0.3s; }
.about_stay_imgbox.show img:nth-child(3) { transition-delay: 0.5s; }
.about_stay_imgbox.show img:nth-child(4) { transition-delay: 0.7s; }
.about_stay_imgbox.show img:nth-child(5) { transition-delay: 0.9s; }
.about_stay_imgbox.show img:nth-child(6) { transition-delay: 1.1s; }
.about_stay_imgbox.show img:nth-child(7) { transition-delay: 1.3s; }
.about_stay_imgbox.show img:nth-child(8) { transition-delay: 1.5s; }
.about_stay_imgbox.show img:nth-child(9) { transition-delay: 1.7s; }

.accordion-content::before {
    content: "A";
    color: #3fa9f5;
    position: absolute;
    left: 14px;
    top: 4px;
    font-size: 24px;
    font-weight: 500;
}

.accordion-content.open {
    padding: 10px 16px 40px 37px;
    border: 2px solid #3fa9f5;
    margin-top: -5px;
    border-top: none !important;
}
.fadein-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fadein-up.show {
  opacity: 1;
  transform: translateY(0);
}
.rangin-top.rangin-show {
  opacity: 1;
  transform: translateY(0);
	transition: 3s;
}
.notice {
  animation: blink 1.2s infinite ease-in-out;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}


.fade-item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-item.show {
  opacity: 1;
  transform: translateY(0);
}
.top_img_main_campbox img {
  opacity: 0 ;
}
.aobut_rangbox_inn li {
    opacity: 0;
    transition: all 0.8s ease;
    list-style: none;
}

/* 陝ｾ繝ｲ邵ｺ荵拱陷医・郢ｧ繝ｻ*/
.rangin-left {
    transform: translateX(-50px);
}

/* 陷ｿ繧ｦ邵ｺ荵拱陷医・郢ｧ繝ｻ*/
.rangin-right {
    transform: translateX(50px);
}
/* 闕ｳ鄙ｫﾂｰ郢ｧ迚吶・郢ｧ繝ｻ*/
.rangin-top {
    transform: translateY(-50px);
	opacity: 0;
}
/* 髯ｦ繧｣驕峨さ邵ｺ霈罵邵ｺ貅ｽ諞ｾ隲ｷ繝ｻ*/
.aobut_rangbox_inn li.rangin-show {
    opacity: 1;
    transform: translateX(0);
}

/* コンテナ（必要に応じて調整してください） */
.top_img_main_tuugakubox {
  display: flex;
  gap: 0px;
  flex-wrap: wrap;
}

/* 初期状態：透明 ＋ 40px下に配置 */
.top_img_main_tuugakubox img {
  opacity: 0;
  transform: translateY(40px);
  /* 動きの滑らかさの指定（後半にかけてスッと止まる独自の緩急） */
  transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), 
              transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: opacity, transform;
}

/* 画面内に入ったときの共通設定 */
.top_img_main_tuugakubox img.is-animated {
  opacity: 1;
  transform: translateY(0);
}

/* 【重要】左から順にディレイ（時間差）を強制する設定 */
.top_img_main_tuugakubox img.is-animated[data-order="1"] { transition-delay: 0s; }
.top_img_main_tuugakubox img.is-animated[data-order="2"] { transition-delay: 0.2s; }
.top_img_main_tuugakubox img.is-animated[data-order="3"] { transition-delay: 0.4s; }
.top_img_main_tuugakubox img.is-animated[data-order="4"] { transition-delay: 0.6s; }


.top_bus_box_mid {
    position: absolute;
    left: 46px;
    right: 80px;
    height: auto;
    z-index: 1;
    margin: 0 auto;
    max-width: 225px;
    display: block;
    top: 110px;
}

/* 郢晁・縺帷ｸｺ繝ｧ騾輔し陷剃ｸ岩・郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え邵ｺ繝ｧ陷崎ｼ披ｲ窶ｲ */
.moving-bus {
    width: 60px; /* 郢晁・縺帷ｸｺ繝ｧ郢ｧ繧ｪ郢ｧ縲∫ｹｧ繧ｳ繝ｻ蛹ｻ笙陞ゅせ邵ｺ繧ｽ邵ｺ繧｡髫ｱ繧ｽ隰ｨ繧ｨ邵ｺ蜉ｱ窶ｻ邵ｺ荳岩味邵ｺ霈・繝ｻ繝ｻ*/
    height: auto;
    display: block;
    /* 10驕伜・ﾂｰ邵ｺ莉｣窶ｻ陟閉陟輔ぇ邵ｲ竏壺・邵ｺ縲咲ｸｺ繧｣郢昴か郢昴す郢晏干ﾂ竏ｵ繧ｵ莉｣i邵ｺ荵昶・驕ｲ陋ｾﾂ貅ｽ蟲ｩ驍ｱ螟青ｰ陷阪・*/
    animation: busDrive 10s infinite linear; 
}

/* 﨟槫坩 陝ｾ繝ｲ陷ｿ繧ｦ邵ｺ繧ｩ髯ｦ蠕娯夢邵ｺ貅亘隴壹・邵ｺ貅亘邵ｺ蜷ｶk郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え繝ｻ繝ｻ郢ｧ繧ｽ郢昴す郢昴え闔牙･窶ｲ窶ｲ繝ｻ繝ｻ*/
@keyframes busDrive {
    0% {
        transform: translateX(0%) scaleX(1); /* 陝ｾ繝ｲ陋帙お邵ｺ荵拱郢ｧ繧ｱ郢ｧ繧ｽ郢昴す郢晁肩繧ｷ莠･謇ｿ陷ｷ莉｣窶ｲ窶ｲ繝ｻ繝ｻ*/
    }
    45% {
        transform: translateX(350%) scaleX(1); /* 陷ｿ繧ｦ陋帙お邵ｺ繧ｩ陋ｻ繝ｼ騾ｹﾂ陝・け陷第誓繧ｷ蛹ｻ竏ｪ邵ｺ・ｰ陷ｿ繧ｦ陷ｷ莉｣窶ｲ窶ｲ繝ｻ繝ｻ*/
    }
    50% {
        transform: translateX(350%) scaleX(-1); /* 陷ｿ繧ｦ驕ｶ繝・ｸｺ繧｡郢ｧ繝・ｹ昴か郢昴・竊定淦繝ｲ邵ｺ繧ｩ陷ｿ蟠弱し縲後・繝ｻ郢ｧ繧ｽ郢昴す郢昴え繝ｻ繝ｻ*/
    }
    95% {
        transform: translateX(0%) scaleX(-1); /* 陝ｾ繝ｲ陋帙お邵ｺ繧ｩ隰後し邵ｺ縲咲ｸｺ繝ｲ邵ｺ荳殻繝ｻ莠･繧ｭ繝ｲ陷ｷ莉｣窶ｲ窶ｲ繝ｻ繝ｻ*/
    }
    100% {
        transform: translateX(0%) scaleX(1); /* 陝ｾ繝ｲ驕ｶ繝・ｸｺ繧｡陷髦ｪ繝ｻ陷ｿ繧ｦ邵ｺ繧ｩ陷ｿ蟠弱し縲檎ｸｺ蜉ｱ窶ｻ郢昴か郢昴す郢晏干竏・*/
    }
}
.kakeji-features-access {

    margin: 0 auto;
    padding: 20px;
    font-family: sans-serif;
	margin-bottom: 40px;
}
.feature-box {
	margin-bottom: 40px;
}
.camp_price_box_inn {
    background: #ffffff;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
    max-width: 600px;
    margin: 0 auto;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    text-align: center;
	position: relative;
}
.camp_price_box_inn::after {
	content: "";
	background-image: url(/gaikokujin/img/kake1.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 100px;
	height: 150px;
	position: absolute;
	right: 14px;
	bottom: 39px;
}
/* 髣阪い髫ｱ讒ｭ縺慕ｹ昴す郢ｧ繧ｱ邵ｺ繝ｧ郢晁・繝｣郢ｧ繧ｯ */
.price-badge {
    display: inline-block;
    background-color: #3182ce;
    color: #ffffff;
    font-size: 28px;
    font-weight: bold;
    padding: 4px 15px;
    border-radius: 76px;
    margin-bottom: 15px;
    width: 80%;
}

/* 雋頑ｧｫ諠隴後・隰ｨ繝ｼ邵ｺ繝ｧ郢昴・縺倡ｹｧ縲∫ｹ昴え */
.duration-text {
    font-size: 16px;
    color: #2d3748;
    margin: 0 0 15px 0;
    line-height: 1.4;
}
.duration-text strong {
    font-size: 22px;
    color: #3182ce; /* 隴後・隰ｨ繝ｼ郢ｧ蟶晄勢邵ｺ繧｡陟代く髫ｱ繧ｽ */
}
.duration-text small {
    font-size: 12px;
    color: #718096;
}

/* 鬩･鮃ｹ縲る亂繝ｻ隰ｨ繝ｼ陝・干r闕ｳﾂ騾｡繧ｧ陞溘ぃ邵ｺ髦ｪﾂ･鬮ｫ蟶ｷ繧ｩ荵昶螺邵ｺ蟶冖 */
.price-amount {
    font-size: 32px;
    font-weight: bold;
    color: #e53e3e; /* 鬩･鮃ｹ縲る亂繝ｻ郢昜ｻ｣繝｣邵ｺ繧｣騾ｶ繝ｧ驕ｶ荵昶命隘阪∫ｹ昴し郢ｧ繧ｧ郢昴Ε郢昴え郢ｧ繧ｯ驍峨し */
    margin-bottom: 10px;
}
.price-amount .currency {
    font-size: 20px;
    margin-right: 2px;
}
.price-amount .tax-in {
    font-size: 14px;
    color: #4a5568;
    font-weight: normal;
}

/* 隴弱ｈ謔・棔迚呵劒邵ｺ繝ｧ雎輔ぅ隲｢荵怜ｶ檎ｸｺ繝ｻ*/
.price-notice {
    font-size: 12px;
    color: #718096;
    margin: 0;
    line-height: 1.4;
}
.price-notice small {
    display: block;
    color: #a0aec0;
}
.feature-box h3, .access-box h3,.shuttle-info strong {
    color: #1a365d;
    padding-left: 10px;
    margin-bottom: 20px;
    text-align: center;
    font-size: 27px;
    font-weight: 700;
    display: block;
}
.top_bus_box {
    max-width: 610px;
    display: flex;
	position: relative;
    justify-content: space-between;
    margin: 0 auto;
}

.top_bus_box_side_1, .top_bus_box_side_2 {
    max-width: 200px;
    width: 100%;
    position: relative;
    height: stretch;
}


.feature-box ul {
    list-style: none;
    padding: 0;
	margin: 0;
	display: flex;
	gap:10px;
	justify-content: center;
}
.feature-box li strong {
    font-size: 20px;
    background: #3fa9f5;
    color: #fff;
    height: 75px;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
}
.feature-box li p {
	margin-bottom: 0;
}
.feature-box li {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.6;
    width: 30%;
    border: 2px solid #3fa9f5;
    margin: 10px;
    
	border-radius: 10px;
}
.top_fujisann {
	margin-bottom: 21px !important; 
}
.lead-text {
    text-align: center;
    font-size: 21px;
}
.top_each_box {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 10px;
    margin-top: 10px;
}
.top_mar {
    width: 85%;
    margin: 0 auto;
    margin-top: 25px;
}
.feature-box li img {
	display: block;
	text-align: center;
	width: 100%;
	margin: 0 auto;
}
.feature-box .icon {
    font-size: 20px;
    margin-right: 10px;
}
.section-divider {
    margin: 40px 0;
    border: 0;
    border-top: 1px dashed #cbd5e0;
}
.access-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
.access-table th, .access-table td {
    padding: 12px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
}
.access-table th {
    background-color: #f7fafc;
    width: 40%;
}
.shuttle-info {
    align-items: center;
    margin-top: 70px;
}
.shuttle-info .bus-icon {
    font-size: 28px;
    margin-right: 15px;
}
.shuttle-info p {
    margin: 0;
    font-size: 15px;
}
.top_bus_box_text {
	font-size: 18px;
	margin-top: 25px;
	text-align: center;
}

.switch-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain; /* 騾輔し陷剃ｸ翫・雎育坩邏ｫ郢ｧ蜑・た譏ｴ笆ｽ */
    
    /* 6驕伜・ﾂｰ邵ｺ莉｣窶ｻ1郢昴か郢昴す郢晏干ﾂ竏壺・邵ｺ縲咲ｸｺ繧｣驛｢繝ｼ郢ｧ鬘倥た譁絶・邵ｲ竏ｵ繧ｵ莉｣i邵ｺ荵昶・郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え */
    animation: imageSwitch 6s infinite ease-in-out;
}

/* 鬯ｧ繝ｻ繝ｻ騾輔し陷呈得繧ｷ螢ｽ諤呵崕譏ｴ繝ｻ髯ｦ繧｣驕峨さ邵ｲ竏昴そ謔滓ｿ邵ｺ繝・ｫｱ讚√ゅぅ驕峨さ */
.img-station {
    animation-delay: 0s;
}

/* 陞ｳ繧ｽ髣雁ｼｱ繝ｻ騾輔し陷呈得繧ｷ螟舌ぃ繝ｻ竊帝ｵ貊・繝ｻ繝ｻ郢ｧ繧ｽ郢ｧ縲∫ｹ晄ｺ佩ｦ郢ｧ繝ｼ邵ｺ繧｡陷崎ｼ板ｰ邵ｺ蜷ｶ笳・ｹｧ竏壺・郢昴・縺・ｹ昴Ε郢ｧ縲√・逎ｯ竕ｦ陝偵き繝ｻ蟲ｨr髫ｪ繝･陞ｳ繝ｻ*/
.img-narutaki {
    animation-delay: -3s; /* 郢昴か郢昴す郢晉軸蜃ｾ鬮｢阮吶・陷企宦繝ｻ繝ｻ繝ｻ驕俶慣繧ｷ蟲ｨ笘・ｹｧ蟲ｨ笘・*/
}

/* 﨟樒・ 騾輔し陷剃ｸ岩ｲ郢晁ｼ釆｡郢昴・竊定滋縲∬滋蛛ｵ竊楢崕繝ｻj隴悶た郢ｧ荳殻郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え */
@keyframes imageSwitch {
    0%, 45%, 100% {
        opacity: 1; /* 邵ｺ繝・ｸｺ縲咲ｸｺ髦ｪj髫穂ｹ昶斡郢ｧ迢玲・隲ｷ繝ｻ*/
        visibility: visible;
    }
    50%, 95% {
        opacity: 0; /* 陞ｳ謔溘・邵ｺ繧ｩ鬨ｾ荵励・邵ｺ繧ｧ霑･繧ｫ隲ｷ繝ｻ*/
        visibility: hidden;
    }
}


/* --- 闔峨・闕ｳ荵昴・陷亥現竓・ｸｺ繧･邵ｺ繝ｧ郢晁・縺幃輔ぅ邵ｺ繝ｧCSS繝ｻ蛹ｻ笳守ｸｺ繝ｧ邵ｺ繧ｻ邵ｺ繧ｻ驍ｨ繧｢陷ｷ蛹ｻ@邵ｺ繝ｲ邵ｺ荳岩味邵ｺ霈・繝ｻ繝ｻ--- */
.top_bus_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    padding: 20px 0;
    overflow: hidden;
}


.top_bus_box_side_2 img {
    width: 100%;
    height: auto;
}

.moving-bus {
    width: 60px;
    height: auto;
    display: block;
    animation: busDrive 10s infinite linear; 
}
/* 繝懊ち繝ｳ繧呈ｨｪ荳ｦ縺ｳ縺ｫ縺吶ｋ繧ｳ繝ｳ繝・リ縺ｮ險ｭ螳・*/
.top_bt {
    display: flex;
    justify-content: center; /* 荳ｭ螟ｮ蟇・○ */
    gap: 15px;              /* 繝懊ち繝ｳ蜷悟｣ｫ縺ｮ髢薙・髫咎俣 */
    width: 100%;
    max-width: 600px;       /* 蜈ｨ菴薙・譛螟ｧ蟷・縺雁･ｽ縺ｿ縺ｧ隱ｿ謨ｴ縺励※縺上□縺輔＞) */
    margin: 20px auto;
    padding: 0 10px;
    box-sizing: border-box;
}

/* 髱偵＞繧ｰ繝ｩ繝・・繧ｷ繝ｧ繝ｳ繝懊ち繝ｳ縺ｮ繝・じ繧､繝ｳ */
.top_bt .btn-grad {
    flex: 1;                /* 2縺､縺ｮ繝懊ち繝ｳ繧貞酔縺伜ｹ・〒蝮・ｭ峨↓蠎・￡繧・*/
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;  /* 荳狗ｷ壹ｒ豸医☆ */
    font-weight: bold;
    font-size: 16px;
    color: #ffffff;         /* 譁・ｭ苓牡縺ｯ逋ｽ */
    padding: 15px 10px;     /* 繝懊ち繝ｳ縺ｮ荳贋ｸ九・蜴壹∩ */
    border-radius: 70px;    /* 隗偵ｒ荳ｸ縺上＠縺ｦ隕ｪ縺励∩繧・☆縺・ｽ｢縺ｫ */
    flex-direction: column;
	gap:4px;
    /* 辷ｽ繧・°縺ｪ髱偵・繧ｰ繝ｩ繝・・繧ｷ繝ｧ繝ｳ(蟾ｦ縺九ｉ蜿ｳ縺ｸ) */
    background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%);
    
    /* 蠖ｱ繧偵▽縺代※遶倶ｽ捺─繧貞・縺・*/
    box-shadow: 0 4px 15px rgba(30, 60, 114, 0.3);
    
    /* 蜍輔＞縺溘→縺阪・螟牙喧繧呈ｻ代ｉ縺九↓縺吶ｋ險ｭ螳・*/
    transition: all 0.3s ease;
}


.top_bt .btn-grad:hover {
    /* 繧ｰ繝ｩ繝・・繧ｷ繝ｧ繝ｳ繧貞ｰ代＠譏弱ｋ縺・ヨ繝ｼ繝ｳ縺ｫ螟画峩 */
    background: linear-gradient(90deg, #2a5298 0%, #3a7bd5 100%);
    /* 蟆代＠荳翫↓豬ｮ縺堺ｸ翫′繧九ｈ縺・↑隕冶ｦ壼柑譫・*/
    transform: translateY(-2px);
    /* 蠖ｱ繧貞ｼｷ縺上＠縺ｦ豬ｮ驕頑─繧貞・縺・*/
    box-shadow: 0 6px 20px rgba(42, 82, 152, 0.4);
}

/* 導 繧ｹ繝槭・逕ｻ髱｢(蟷・′迢ｭ縺・→縺・縺ｮ隱ｿ謨ｴ */
@media (max-width: 480px) {
    .top_bt {
        gap: 10px; /* 髫咎俣繧貞ｰ代＠迢ｭ縺・*/
    }
    .top_bt .btn-grad {
        font-size: 14px; /* 譁・ｭ励ｒ蟆代＠蟆上＆縺上＠縺ｦ1陦後↓蜿弱∪繧翫ｄ縺吶￥縺吶ｋ */
        padding: 12px 5px;
    }
}
@keyframes busDrive {
    0% { transform: translateX(0%) scaleX(1); }
    45% { transform: translateX(350%) scaleX(1); }
    50% { transform: translateX(350%) scaleX(-1); }
    95% { transform: translateX(0%) scaleX(-1); }
    100% { transform: translateX(0%) scaleX(1); }
}
/*//topp/*/
.import_top_text2 a {
	pointer-events: none;
}

.top_img_main_campbox p {
	margin: 0 !important;
}

.tuugaku_main_box .about_campbox_choice {
    position: relative;
    padding-top: 25px;
    padding-bottom: 35px;
    margin-bottom: 85px;
}


.price_att_box {
    color: #333;
    margin-bottom: 15px;
}
.tuugaku_main_box .for_campbox {
    margin-bottom: 85px;
    margin-top: 55px;
}
.tuugaku_main_box .camp-price-box {
	width: 55%;
}
.top_img_main_tuugakubox img {
	width: 25%;
}
.top_img_main_tuugakubox {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    border-radius: 10px;
    overflow: hidden;
}
.font_bold {
	font-weight: 900;
}
.tuugaku_main_box .price_wrapper {
	display: inline;
	position: absolute;
	right: 0;
	font-size: 20px;
}
.tuugaku_main_box .camp-price-list li {
    display: inline-grid;
    background: #fff;
    border-radius: 30px;
    text-align: center;
    width: 49%;
    place-items: center;
    min-height: 50px;
    line-height: 21px;
    margin-bottom: 10px !important;
    vertical-align: top;
    margin: 0px 0px;
}
.tuugaku_main_box .camp_price_box_inn::after {
    content: "";
    background-image: url(/gaikokujin/img/kake1.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 83px;
    height: 150px;
    position: absolute;
    right: -3px;
    bottom: inherit;
    top: 15px;
}
.camp-guide-container .camp-section h3 br {
	display: none;
}
.price-amount {
	position: relative;
}
.camp_notinc_price {
display: inline;
    margin-left: 31px;
    text-align: right;
    position: absolute;
    right: 39px;
    font-size: 23px;
    margin-top: -5px;
}
.rule-box .camp-notice-list {
	max-width: inherit;
	width: 100%;
}
.rule-box {
	display: flex;
	gap:20px;

}
.rule-block {
	border-radius: 10px;
	
}
.rule-main_block {
    display: flex;
    gap: 10px;
    flex-direction: column;
    justify-content: space-between;
}

.rule-block h4 {
	text-align: left;
}
.rule-box .camp-notice-list {
	width: 70%;
}
.rule-box .rule-box_img {
	width: 30%;
}
.rule-block ul li{
    list-style: none;
    text-align: left;
    text-indent: -1rem;
    padding-left: 25px;
    margin-bottom: 20px;
}
.rule-block ul li span {
	display: block;
}
.bank-table th {
	width: 100px;
}
.bank-table td span {
	display: block;
}
.at_zairyuu {
	position: relative;
	
}
.at_zairyuu::after {
    content: "※必須";
    position: absolute;
    top: -21px;
    text-align: center;
    right: 0;
    font-size: 15px;
    font-weight: 700;
    color: #ff4b4b;
    left: 0;
}
.sub-info-title,.text-danger {
    font-weight: 700;
    margin-top: 15px !important;
}
.sub-info-box ul.dot-list li {
	text-align: left;
}
.camp-item-list .sub-list li .dot-list li {
	width: 100%;
}
ul.dot-list {
    max-width: 200px;
    width: 100%;
    margin: 0 auto;
}
.camp-item-list li.camp_need,.camp-item-list li.at_jyuumin {
    border-bottom: 3px dotted #ff9b00;
    padding-bottom: 0px;
    margin-bottom: 35px;
}
.at_jyuumin .item-name{
    margin-bottom: 10px;
    display: block;
}
.at_menkyo {
	padding: 10px;
}
.at_zairyuu {
    background: #d5f6ff;
    padding: 10px;
    border-radius: 10px;
}
.notice-card {
	margin-top: 25px;
}
.camp-item-list .camp_need .sub-list li span {
	display: block;
}

.camp-item-list .camp_need .sub-list li {
	width: 47%;
	vertical-align: top;
	margin: 5px;
}
.camp-item-list .sub-list li {
    list-style: none;
    text-align: center;
    width: 100%;
    display: inline-block;
    margin-bottom: 20px;
}
.sub-list.juumin_li li {
	margin-bottom: 0;
}
.camp-item-list .sub-list li p {
	margin: 0;
	padding: 0;
}
ul.sub-list {
	margin-left: 0;
}

.camp-item-list li {
	width: 49%;
}
.camp-section.rules-section {
	margin-top: 85px;
}
.under_dotte {
    border-bottom: 3px dotted #ff9b00;
    padding-bottom: 0px;
    margin-bottom: 35px;
}
.item-name {
	font-size: 18px;
	font-weight: 700;
	display: block;
}
.camp-item-list li.camp_li_sm_img img {
	max-width: 250px;
	display: block;
	margin: 0 auto;
}
ol.camp-item-list {
	margin-left: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.camp-lead-alert {
    font-size: 21px;
    color: #ff4b4b;
    font-weight: 700;
    margin-bottom: 65px;
}
.camp-section.belongings-section {
    border: 3px solid #3fa9f5;
    border-radius: 10px;
    padding: 10px;
    margin-top: 85px;
}
.img_kakemaru2 {
    position: absolute;
    right: 116px;
    top: 15%;
    max-width: 60px;
    width: 100%;
}
.camp-guide-container .notice-section {
    background: #fcfdba;
    padding: 10px 20px;
    border-radius: 10px;
	position: relative;
	margin-top: 105px;
}
.camp-guide-container .camp-section h3 {
    margin-top: 25px;
    margin-bottom: 35px !important;
}
.camp-notice-list {
    max-width: 630px;
    margin: 0 auto !important;
    width: 100%;
    margin-bottom: 25px !important;
}
.notice-section ul {
	margin-left: 0;
}

.notice-section ul li {
    text-align: left;
    margin-bottom: 10px;
    list-style: none;
}
.camp-price-description p {
    background: #fff;
    border-radius: 30px;
    text-align: center;
    width: 100%;
    min-height: 50px;
    display: grid;
    align-items: center;
    margin-bottom: 10px;
}
.camp-price-description p.caution {
	background:  #FD6E00;
	color: #fff;
}
.price-notice span {
    font-weight: 700;
    font-size: 16px;
    color: #e53e3e;
}
.camp-price-list li {
display: inline-grid;
    background: #fff;
    border-radius: 30px;
    text-align: center;
    width: 50%;
    place-items: center;
    min-height: 50px;
    line-height: 10px;
    margin-bottom: 10px !important;
    vertical-align: top;
    margin: 0 -1px;
}
.camp-price-list li span {
    display: block;
    font-size: 14px;
    margin-top: -5px;
}
.camp-price-list {
    margin-top: 25px;
    margin-bottom: 0;
}
ul.camp-price-list  {
	margin-left: 0;
}
.camp-price-title {
	font-size: 21px;
	font-weight: 500;
}
.pdf_box a {
	display: block;
}
.pdf_box {
    max-width: 220px;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 120px;
}
.pdf_box img {
	max-width: 100px;
	margin: 0 auto;
}
/* 親要素（h2）に位置の基準を設定 */
.course_top_box_h2 {
	position: relative;
	max-width: 490px;
	margin: 0 auto;
}

/* ::beforeを使って右上にテキストを表示 */
.course_top_box_h2 .li_days {
    position: absolute;
    top: -89px;
    right: -87px;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 135px;
    height: 135px;
    border-radius: 50%;
    padding: 5px;
    box-sizing: border-box;

    flex-direction: column;
	
    background-color: #fff9db; 
    color: #f59f00;            
    border: 2px solid #ffe3e3; 


    /* パターンC：少し大人っぽい「ナチュラルベージュ」ベース
    background-color: #fdfaf5; 
    color: #845ef7;            
    border: 2px solid #e5dbff; 
    */
}
.logo_mid {
    max-width: 355px;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 35px;
}
.li_days span {
	display: block;
	
}
.top_main_text_inn {
	display: flex;
	gap:20px;
	max-width: 600px;
	margin: 0 auto;
	justify-content: space-around;
}
.top_main_text_L {
	width: 70%;
	text-align: left;
	font-size: 18px;
}
.top_main_text_R {
	width: 28%;
}
.top_main_text {
	text-align: center;
	margin-bottom: 95px;
}
.top_in_img {
	text-align: center;
	margin-top: 35px !important;
	margin-bottom: 35px !important;
	max-width: 350px;
	width: 100%;
	margin: 0 auto;
}
.top_kakemaru {
	max-width: 135px;
	margin: 0 auto;
	width: 100%;
}
.site-branding-container {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    flex-direction: column;
    align-items: revert;
	
}

/* 郢ｧ繧ｦ郢昴え郢昴・繝ｪ陷医ぅ闖ｴ阮吶・闕ｳ繝ｲ邵ｺ繧ｦ隴悶た邵ｺ驛√ぅ繝･陞ｳ繝ｻ*/
.access-bubbles-container {
    display: flex;
    justify-content: center;
    gap: 20px; /* 闕ｳ繧ｯ陷ｷ謔溘阪か邵ｺ繝ｧ鬮ｫ蜥惹ｿ｣ */
    flex-wrap: wrap; /* 郢ｧ繧ｱ郢晄ｧｭ繝ｻ邵ｺ繧｡陝繧･郢ｧ蠕娯・邵ｺ繝ｻh邵ｺ繝ｻ竊楢ｬ壼･j髴第鱒笘・坎繝･陞ｳ繝ｻ*/
    margin: 30px 0;
}

/* 闕ｳ繧ｯ繝ｻ蛹ｻ繝ｰ郢晄じﾎ昴・蟲ｨ繝ｻ郢昴・縺倡ｹｧ縲∫ｹ昴え */
.access-bubble {
    width: 140px;
    height: 140px;
    background-color: #3fa9f514; /* 陷・ぉ邵ｺ蜉ｱﾂ･隴丞ｼｱk邵ｺ繝ｻ謳ｨ豼ｶ繧､繝ｻ蛹ｻ縺・ｹ昴らｹ昴す郢ｧ繧ｯ騾輔し陷剃ｸ翫・郢ｧ蛹ｻ竕ｧ邵ｺ繧ｧ雋ゅぇ隴画じ竊鷹→繧ｳ邵ｺ繝ｧ豼ｶ繧､繝ｻ繝ｻ*/
    border: 2px solid #3fa9f5; /* 陞溷戟譽ｧ邵ｺ繝ｧ驍ｱ繝ｻ*/
    border-radius: 50%; /* 邵ｺ阮冤邵ｺ繧｡陞ｳ謔溘・邵ｺ繧ｧ雎√崎怙繝ｻ竊鍋ｸｺ繧ｧ郢ｧ鄙ｫ竏ｪ邵ｺ繝ｻ*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); /* 髴・せ邵ｺ繝ｻ繧ｹ繧｢郢ｧ蛛ｵ笆ｽ邵ｺ莉｣窶ｻ驕ｶ蛟ｶ繧ｹ骰句飭邵ｺ繧ｩ */
}

/* 鬯ｧ繝ｻ骭千ｸｺ繝ｧ隴√・繝･蜉ｱ縺礼ｹｧ縲∫ｹｧ繧ｳ */
.access-bubble .station-name {
    font-size: 23px;
    font-weight: bold;
    color: #1a365d;
    line-height: 17px;
    margin-top: 18px;
}

.access-bubble .station-name small {
    font-size: 10px;
    color: #4a5568;
    font-weight: normal;
}

/* 驕上瑚怺繝ｼ繝ｻ驕ｺ繝ｻ繝ｻ蟲ｨ繝ｻ郢昴・縺倡ｹｧ縲∫ｹ昴え */
.access-bubble .arrow {
    font-size: 12px;
    color: #3182ce;
    margin: 2px 0;
    font-weight: bold;
}

/* 隴弱ｋ菫｣邵ｺ繝ｧ隴√・繝･蜉ｱ縺礼ｹｧ縲∫ｹｧ繧ｳ */
.access-bubble .travel-time {
    font-size: 11px;
    color: #2d3748;
    line-height: 1.2;
}

.access-bubble .travel-time strong {
    font-size: 21px;
    color: #e53e3e; /* 隴弱ｋ菫｣郢ｧ蝣､蟯ｼ驕ｶ荵昶螺邵ｺ蟶冖邵ｺ貅和邵ｺ繧ｩ陝・ｻ｣@郢ｧ縲檎ｹｧ繝・ｹｧ繧ｵ郢昴え郢晏現縺咲ｹ昴ぇ郢昴す繝ｻ驛√が縲∫ｹ昴し郢ｧ繧ｧ郢昴Ε郢昴え郢ｧ繧ｯ驍峨し繝ｻ蟲ｨ竊・*/
}
.site-description {
    font-weight: 300;
    font-size: 16px;
    color: #000;
    text-align: left;
    margin-top: 4px;
}
.room_font {
    font-size: 18px;
    font-weight: 900;
    margin: 0 5px;
}
.site-footer2 {
    font-size: 14px;
    text-align: center;
    padding: 25px 0 15px;
}
.site-footer2 p {
	margin-bottom: 0;
	padding-bottom: 0;
}
.site-footer {
	display: none;
}
.raikou_ad span {
	display: block;
}
.raikou_lang ul {
	padding-left: 0;
	margin: 0 !important;
}
.raikou_lang h4 {
    font-size: 30px;
    font-weight: 800;
    margin-top: 55px;
    margin-bottom: 30px;
}
.raikou_lang li {
    display: inline-block;
    max-width: 350px;
    width: 100%;
    text-align: center;
    margin-bottom: 22px;
}
.raikou_lang {
	font-size: 24px;
	margin-bottom: 40px;
}
.raikou_box_inn a {
    display: inline-block;
    padding: 14px 35px;
    color: #ffffff !important;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: linear-gradient(135deg, #ffb300 0%, #ff6f00 100%);
    border-radius: 50px;
    box-shadow: 0 4px 15px rgba(255, 111, 0, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    font-size: 35px;
    margin-bottom: 25px;
}

/* 郢晄ｧｭ縺育ｹｧ繧ｱ郢ｧ蜑・こ蜉ｱ笳狗ｸｺ貅倪・邵ｺ謳ｾ繧ｷ蛹ｻ繝ｻ郢晁・繝ｻ隴弱ｑ繧ｷ蟲ｨ繝ｻ雋肴ｳ後・ */
.raikou_box_inn a:hover {
    filter: brightness(1.05);       /* 邵ｺ繧ｵ郢ｧ阮吶・郢ｧ鬆代・郢ｧ荵敖･邵ｺ蜷ｶk */
    transform: translateY(-2px);    /* 2郢晄鱒縺醍ｹｧ繧ｵ郢昴か闕ｳ鄙ｫ竊鍋ｸｺ繧ｪ郢ｧ荳岩夢邵ｺ繧｣雎ｬ繝ｧ邵ｺ蝣ｺ繧ｯ鄙ｫ窶ｲ郢ｧ繝ｻ*/
    box-shadow: 0 6px 20px rgba(255, 111, 0, 0.5); /* 陟悶い郢ｧ雋槭す繧ｭ邵ｺ荳魁邵ｺ繝ｲ雎ｬ繝ｧ鬩暮鯛楳郢ｧ雋槭・邵ｺ繝ｻ*/
    text-decoration: none;
}
.raikou_box {
	text-align: center;
	margin-top: 35px;
}
.raikou_box h3 {
	margin-bottom: 55px;
}
.raikou_box h3 span {
	display: block;
}
.tuugaku_main_box {
	text-align: center;
}
.aobut_rangbox_inn {
	position: relative;
}
.rang_dotts::before {
	position: absolute;
	content: "隨ｳ繝ｻ;
	bottom: -25px;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size: 18px;
	color: #06CF00;
	
}
.rang_dotts_2 {
	position: relative;
	margin-top: 35px;
}
.rang_dotts_2::before {
    position: absolute;
    content: "隨ｳ繝ｻ;
    bottom: inherit;
    left: 37px;
    font-size: 18px;
    color: #06CF00;
    right: inherit;
    top: -2px;
}
.cale_top_box_text h2 {
	font-size: 45px;
	margin-bottom: 30px;
	font-weight: 800;
}
.fc th {
    background-color: #3fa9f5;
}
.fc .fc-cell-shaded, .fc .fc-day-disabled{
	background: rgb(245, 245, 245);
}


.placeholder-text {
	text-align: center;
}
span.res-time {
	display: block;
}
.cale_info_item_alert ul {
	margin-left: 20px;
	line-height: 1.5em;
}
.main-navigation li {
    position: relative;
    margin: 33px 2px;
}
#menu-item-396 a span,#menu-item-689 a span {
	display: block;
}
#menu-item-396 a:hover {
	
}
#menu-item-396 a,#menu-item-689 a,#menu-item-815 a,#menu-item-903 a,#menu-item-939 a,#menu-item-957 a {
    display: inline-block;
    padding: 5px 36px;
    font-size: 16px;
    font-weight: bold;
    color: #ffffff !important;
    text-decoration: none !important;
    text-align: center;
    border-radius: 50px;
    background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
    box-shadow: 0 4px 15px rgba(56, 239, 125, 0.4);
    transition: all 0.3s ease;
    cursor: pointer;
    line-height: 55px !important;
}
.slot-disabled-block {
    display: flex;
    justify-content: center !important;
    padding: 10px 25px !important;
    background: #e0e0e0;
    color: #888;
    border-radius: 4px;
    cursor: not-allowed;
    font-weight: bold;
    width: 65%;
    margin: 0 auto;
    border-radius: 50px !important;
    font-size: 18px;
}
.slot-item {
	position: relative;
	background: #eee;
	border-radius: 50px;
	width: 90%;
	margin: 0 auto;
	margin-bottom: 8px;
}
#time-slot-list a {
display: block;
    width: 65%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    color: #fff;
    background: #3fa9f5;
    border-radius: 50px;
    padding: 10px 35px 10px 30px;
    margin-bottom: 8px;
    text-decoration: none;
    font-size: 21px;
}
#selected-datetime-display p {
	text-align: center;
	margin-bottom: 5px;
}
.datetime-result-box {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}
ul#time-slot-list {
	margin-left: 10px;
}
#time-slot-container {
    width: 245px !important;
    border: 1px solid #ccc;
    padding: 15px;
    background: #ffffff;
}
.cale_info_item_duration {
	text-align: center;
	line-height: 1.5em;
	display: none;
}
.cale_info_item_alert {
	border: 2px solid #F20004;
	padding: 20px;
	max-width: 625px;
	width: 100%;
	margin: 0 auto;
	display: none;
}
.cale_guide_message {
	margin-bottom: 2rem;
	margin-top: 65px;
	text-align: center;
	display: none;
}
.cale_badge_red {
    color: #F20004;
    font-size: 21px;
    text-align: center;
    margin-bottom: 15px;
    display: block;
    font-weight: 700;
}
.rese-wrapper {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
	margin-top: 55px;
}
.rese-wrapper h2 {
text-align: center;
color: #3fa9f5;
}

.fc-col-header  {
	margin-bottom: 0;
}
.fc .fc-day-other .fc-daygrid-day-top {
    padding-top: 15px;
    opacity: 0.3;
    margin-bottom: -15px;
}
.fc .fc-daygrid-day-top {
    display: flex;
    flex-direction: row-reverse;
    padding-top: 15px;
    margin-bottom: -15px;
}
.fc .fc-toolbar-title {
    font-size: 2.5em;
    margin: 0px;
    font-weight: 800;
	color: #3fa9f5;
}
.fc-day-future:hover,.fc-daygrid-bg-harness:hover {
	cursor: pointer;
}
#time-slot-container h3 {
    font-size: 19px;
    text-align: center;
    font-weight: 700;
	color: #3fa9f5;
}
li.slot-item span{
	font-size: 20px;
}
.status-link {
	font-size: 21px;
}
.fc .fc-col-header-cell-cushion {
	color: #ffffff;

	font-size: 20px;
	padding: 0.5rem 0;
	text-decoration: none;
}
.fc .fc-daygrid-day-number {
	margin: 0 auto;
	font-size: 24px;
	color: #3fa9f5;
}
.reservation-wrapper {
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
	margin-top: 55px;
	margin-bottom: 100px;
	
}
.fc a.fc-daygrid-day-number {
	text-decoration: none;
}


.top_main_img #svg{
		margin-bottom: 10px;
	padding: 0 10px;
	
	}
.about_narutaki_box h3 {
    position: relative;
    max-width: 155px;
    margin: 0 auto;
}
.about_narutaki_box h3:after {
    content: "";
    position: absolute;
    width: 5px;
    height: 33px;
    left: -7px;
    bottom: 0;
    background: #ff9f43;
    border-radius: 56px;
}
.about_narutaki_box_up_R img {
	width: 100%;
}
.about_narutaki h2 {
	text-align: center;
}
.about_narutaki {
	margin-top: 85px;
	margin-bottom: 100px;
}
.about_narutaki_box_up {
	display: flex;
	gap:20px;
	justify-content: space-between;
}

.about_narutaki_box_up_L,.about_narutaki_box_up_R {
	/*/flex: 1;*/
}
.about_narutaki_box_up_L strong {
	font-size: 18px;
}
.about_narutaki table th{
background: #3fa9f5;
    color: #fff;
	padding: 15px 0;
}
.about_narutaki_box_up_L,.about_narutaki_box_up_R {
	margin-bottom: 25px;
	text-align: left;
}
.about_narutaki table td {
	padding-left: 25px;
}
.about_narutaki_box_down {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.about_narutaki_box_down img {
	width: 25%;
	padding: 5px;
}
.about_narutaki_box_up {
	margin-bottom: 0;
}

#menu-item-358 a,.search_startdates a,#menu-item-688 a,#menu-item-703 a {
    /* --- 髫穂ｹ昶螺騾ｶ繝ｧ邵ｺ繝ｧ郢晏生繝ｻ郢ｧ繧ｱ --- */
    display: block;
    padding: 14px 36px;                 /* 郢晄㈱縺｡郢昴え邵ｺ繝ｧ陷繝ｻ繝ｻ邵ｺ繝ｧ闖ｴ蜥丞項繝ｻ蝓滓ｬｾ邵ｺ蜉ｱd邵ｺ蜷ｶ>郢ｧ繧ｪ郢ｧ縲∫ｹｧ繧ｳ繝ｻ繝ｻ*/
    font-size: 18px;                    /* 隴√・繝･蜉ｱ繝ｻ陞溘ぃ邵ｺ髦ｪ& */
    font-weight: bold;                  /* 隴√・繝･蜉ｱr陞溘ぉ陝・干竊・*/
    color: #ffffff !important;          /* 隴√・繝･闍鍋横邵ｺ繝・九せ */
    text-decoration: none !important;   /* 闕ｳ迢励く螢ｹr雎ｸ蛹ｻ笘・*/
    text-align: center;
    border-radius: 50px;                /* 髫怜・r闕ｳ繧ｯ郢ｧ竏壺ｻ郢ｧ繧ｩ郢晏干縺晉ｹ昴か陜吩ｹ昶・ */
    
    /* --- 郢ｧ繧ｧ郢昴Ε郢昴え郢ｧ繧ｯ邵ｺ繝ｧ郢ｧ繝ｼ郢昴ぇ郢昴・繝ｻ郢ｧ繧ｭ郢昴ぃ郢昴え --- */
    background: linear-gradient(135deg, #ff9f43 0%, #ff5252 100%);
    
    /* --- 郢晄㈱縺｡郢昴え郢ｧ蝣､繧ｩ蛟ｶ繧ｹ骰句飭邵ｺ繧ｩ髫穂ｹ昶雷郢ｧ蜿･繧ｹ繧｢ --- */
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
    
    /* --- 郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え郢ｧ蜻医し莉｣i邵ｺ荵昶・邵ｺ蜷ｶk髫ｪ繝･陞ｳ繝ｻ--- */
    transition: all 0.3s ease;
    cursor: pointer;

}

#menu-item-358 a,.search_startdates2 a,#menu-item-688 a,#menu-item-703 a {
    /* --- 髫穂ｹ昶螺騾ｶ繝ｧ邵ｺ繝ｧ郢晏生繝ｻ郢ｧ繧ｱ --- */

    padding: 14px 36px;                 /* 郢晄㈱縺｡郢昴え邵ｺ繝ｧ陷繝ｻ繝ｻ邵ｺ繝ｧ闖ｴ蜥丞項繝ｻ蝓滓ｬｾ邵ｺ蜉ｱd邵ｺ蜷ｶ>郢ｧ繧ｪ郢ｧ縲∫ｹｧ繧ｳ繝ｻ繝ｻ*/
    font-size: 18px;                    /* 隴√・繝･蜉ｱ繝ｻ陞溘ぃ邵ｺ髦ｪ& */
    font-weight: bold;                  /* 隴√・繝･蜉ｱr陞溘ぉ陝・干竊・*/
    color: #ffffff !important;          /* 隴√・繝･闍鍋横邵ｺ繝・九せ */
    text-decoration: none !important;   /* 闕ｳ迢励く螢ｹr雎ｸ蛹ｻ笘・*/
    text-align: center;
    border-radius: 50px;                /* 髫怜・r闕ｳ繧ｯ郢ｧ竏壺ｻ郢ｧ繧ｩ郢晏干縺晉ｹ昴か陜吩ｹ昶・ */
    
    /* --- 郢ｧ繧ｧ郢昴Ε郢昴え郢ｧ繧ｯ邵ｺ繝ｧ郢ｧ繝ｼ郢昴ぇ郢昴・繝ｻ郢ｧ繧ｭ郢昴ぃ郢昴え --- */
    background: linear-gradient(135deg, #ff9f43 0%, #ff5252 100%);
    
    /* --- 郢晄㈱縺｡郢昴え郢ｧ蝣､繧ｩ蛟ｶ繧ｹ骰句飭邵ｺ繧ｩ髫穂ｹ昶雷郢ｧ蜿･繧ｹ繧｢ --- */
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
    
    /* --- 郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え郢ｧ蜻医し莉｣i邵ｺ荵昶・邵ｺ蜷ｶk髫ｪ繝･陞ｳ繝ｻ--- */
    transition: all 0.3s ease;
    cursor: pointer;

}
#menu-item-703 {
	position: absolute;
	right: -95px;
	text-align: center;
	display: none;
}
#menu-item-703 a {
    line-height: 24px !important;
    padding: 9px 15px;
}
.text_start {
    font-size: 18px;
    position: relative;
    max-width: 400px;
    margin: 0 auto;
    width: 100%;
}
.text_start::before,
.text_start::after {
    content: "";
    flex-grow: 1; /* 驍ｱ螢ｹr闔ｨ繧ｯ邵ｺ繝ｼ邵ｺ蟶冖邵ｺ・ｰ邵ｺ蜿ｰ繧ｷ繧ｯ邵ｺ繝ｼ邵ｺ繝ｻ*/
    height: 3px; /* 驍ｱ螢ｹ繝ｻ陞溘ぉ邵ｺ繝ｻ*/
    background: #ff9f43; /* 驍ｱ螢ｹ繝ｻ豼ｶ繧､繝ｻ蛹ｻ縺檎ｹ昴Ε郢昴え郢ｧ繧ｯ驕ｲ蟲ｨ竊楢棔蟲ｨ竏ｴ郢ｧ蟲ｨl邵ｺ繧ｻ邵ｺ蜻ｻ繧ｷ繝ｻ*/
    width: 50px; /* 驍ｱ螢ｹ繝ｻ隴崢陞溘ぃ邵ｺ繝ｧ鬮溘く邵ｺ蛹・す蛹ｻ笙陞ゅせ邵ｺ繧ｽ邵ｺ繧｡髫ｱ繧ｽ隰ｨ繧ｨ繝ｻ繝ｻ*/
	position: absolute;
	border-radius: 10px;
	bottom: 0;
}

/* 隴√・繝･蜉ｱ竊帝こ螢ｹ繝ｻ鬮｢阮吶・邵ｺ蜷ｶ窶ｲ窶ｲ鬮｢髮｣繧ｷ莠･繧ｭ繝ｲ陋帙お繝ｻ繝ｻ*/
.text_start::before {
    margin-right: 15px;
	transform: rotate(45deg);
	left: 0;
}

/* 隴√・繝･蜉ｱ竊帝こ螢ｹ繝ｻ鬮｢阮吶・邵ｺ蜷ｶ窶ｲ窶ｲ鬮｢髮｣繧ｷ莠･謇ｿ陋帙お繝ｻ繝ｻ*/
.text_start::after {
    margin-left: 15px;
	right: 0;
	transform: rotate(-45deg);
}



.search_startdates a {
padding: 25px 0;
    max-width: 250px;
    width: 100%;
    margin-top: 35px;
}
.search_startdates {
	margin: 55px 0 100px;
	display: none !important;
}
#menu-item-358 a:hover,.search_startdates a:hover,#menu-item-688 a:hover,#menu-item-703 a:hover {
transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 107, 107, 0.6);
    filter: brightness(1.1);
}

.search_startdates2 a {
padding: 25px 0;
    max-width: 250px;
    width: 100%;
    margin-top: 35px !important;
	display: block;
	margin: 0 auto;
}
.search_startdates2 {
	margin: 55px 0 100px;
	
}
#menu-item-358 a:hover,.search_startdates2 a:hover,#menu-item-688 a:hover,#menu-item-703 a:hover {
transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 107, 107, 0.6);
    filter: brightness(1.1);
}
/* 驍ｱ驢阪え繧ｵ郢ｧ繝ｼ郢昴ぇ郢昴・繝ｻ郢ｧ繧ｭ郢昴ぃ郢昴え郢晄㈱縺｡郢昴え邵ｺ繝ｧ郢晏ｸ吶Σ郢昴す郢ｧ繧｣郢晁ｼ斐♂郢ｧ繝・ｹ昴・*/
#menu-item-396 a:hover,#menu-item-689 a:hover,#menu-item-815 a:hover,#menu-item-903 a:hover,#menu-item-939 a:hover,#menu-item-957 a:hover {
    transform: translateY(-2px);
    /* 陟悶い郢ｧ雋槭・莉｣@陟弱・ﾂ｣邵ｺ繝ｲ邵ｲ竏ｫ繧ｭ莉｣繝ｻ郢晞亂縺檎ｹ昴え隲｢貅腕郢ｧ縲檎ｹ昴・繝ｻ */
    box-shadow: 0 6px 20px rgba(56, 239, 125, 0.6);
    /* 郢晄㈱縺｡郢昴え陷医ぅ闖ｴ阮决陝・ｻ｣@邵ｺ・ｰ邵ｺ隨ｬ繝ｻ郢ｧ荵敖･繝ｻ閧ｲ蛹ｱ陷亥ｳｨ@邵ｺ貅鷲邵ｺ繝ｻ竊薙・闃ｽ繝ｲ荵昶雷郢ｧ繝ｻ*/
    filter: brightness(1.1);
}
.top_main_img_flex_group {
	display: flex;
	gap:10px;
}
.top_main_img_flex_group div {
	flex: 1;
}
.top_main_img_inn_3 {
	display: flex;
	flex-direction: column;
	gap:10px;
}
.top_main_img_inn_3 img {
	width: 100%;
}
.top_main_img_inn_2 {
	display: flex;
	gap:10px;
	flex-wrap: wrap;
	width: 100%;
	justify-content: space-between;
}
.top_main_img_inn_1 {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}


/* 闕ｳﾂ騾｡繧ｧ陞滄摩繝ｻ邵ｺ繝ｧ髫輔ぉ隴ｫ・ｰ郢ｧ蜻医ぅ繧ｧ7郢晄ｧｭ縺帷ｸｺ繧ｩ陋ｻ繝ｻ迚｡邵ｺ蜉ｱ竏ｪ邵ｺ繝ｻ*/
.top_main_img_inn_1 {
    display: grid;
    grid-template-columns: 1fr 4fr 2fr; /* 陝ｾ繝ｲ繝ｻ繝ｻ郢晄ｧｭ縺帷ｸｲ竏ｽ繧ｯ繝･陞溘Ι繝ｻ繝ｻ郢晄ｧｭ縺帷ｸｲ竏晄価繝ｻ繝ｻ郢晄ｧｭ縺帷ｸｺ繝ｧ雎育坩邏ｫ */
    gap: 10px; /* 邵ｺ阮冤邵ｺ・ｰ邵ｺ莉｣縲定怦繧｣邵ｺ繝ｲ邵ｺ繝ｧ鬮ｫ蜥惹ｿ｣邵ｺ繝ｻ0px邵ｺ繧ｩ陜励さ陞ｳ螢ｹ&郢ｧ蠕娯穐邵ｺ蜻ｻ繧ｷ繝ｻ*/
    width: 100%; /* 陷医ぅ闖ｴ阮吶・陝ｷ繝ｻ>邵ｺ縲咲ｸｺ繧｢邵ｺ繝ｻ竊楢弱・ﾂ｣邵ｺ繧ｻ邵ｺ繝ｻ*/
}

/* 闕ｳ繝･陞溘Ι邵ｺ繝ｧ郢晄じﾎ溽ｹ昴・縺醍ｹｧ蜑・け雍九け繝ｻ隹ｿ繧ｪ繝ｻ繝ｻ:1繝ｻ蟲ｨ繝ｻ郢ｧ繝ｼ郢昴ぉ郢昴・繝ｩ邵ｺ繧ｩ邵ｺ蜉ｱ竏ｪ邵ｺ繝ｻ*/
.top_main_img_inn_1_1_1 {
    display: grid;
    grid-template-rows: 1fr 1fr; /* 闕ｳ雍九け荵昴・鬯ｮ蛟･&郢ｧ繝ｻ:1邵ｺ繧｡陜ｮ繝ｻ繝･蟲ｨ竊楢崕繝ｻﾂ｢郢ｧ繝ｻ*/
    gap: 10px; /* 闕ｳ雍九け荵昴・鬮ｫ蜥惹ｿ｣郢ｧ繝ｻ0px邵ｺ繧ｩ陜励さ陞ｳ繝ｻ*/
}


/* --- 陷医い鬨ｾ螢ｹﾎ晉ｹ昴す郢昴か繝ｻ螟ょ愛陷剃ｸ岩ｲ隴ｫ・ｰ邵ｺ荵拱邵ｺ繝・ｸｺ繧ｽ陷・さ郢ｧ荵昴・郢ｧ蟶昜ｺ溽ｸｺ繝ｻ--- */
.top_main_img img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 騾輔し陷剃ｸ岩ｲ雎√ぉ邵ｺ繧ｻ邵ｺ繧ｧ邵ｺ繝ｻh邵ｺ繝ｻ竊馴明繧ｧ陷崎ｼ斐Κ郢昴ぉ郢晄ｺ佩ｦ郢ｧ繝ｼ */
    display: block;
}

/* --- 遶ｭ・ｰ 隴崢陞溷戟譽ｧ繝ｻ螢ｼ繝ｻ闖ｴ阮吶・隶薙ぉ闕ｳ繝ｲ邵ｺ繧ｦ繝ｻ蝓溘ャ逧ｮ邏ｫ 1 : 4 : 2繝ｻ繝ｻ--- */
.top_main_img_inn_1 {
    display: grid;
    grid-template-columns: 1fr 4fr 2fr; /* 陝ｾ繝ｲ郢昴し闕ｳ繝･陞溘Ι郢昴し陷ｿ繧ｦ邵ｺ繝ｧ陝ｷ繝ｻr隰悶・繝ｧ繝ｻ*/
    gap: 10px; /* 邵ｺ蜷ｶ竏狗ｸｺ繝ｲ邵ｺ繝ｧ鬮ｫ蜥惹ｿ｣郢ｧ繝ｻ0px邵ｺ繧ｩ陜励さ陞ｳ繝ｻ*/
    width: 100%;
}

/* --- 遶ｭ縲・闕ｳ繝･陞溘Ι郢晄じﾎ溽ｹ昴・縺代・螢ｻ繧ｯ雍九け繝ｻ隹ｿ繧ｪ繝ｻ蝓溘ャ逧ｮ邏ｫ 1 : 1繝ｻ繝ｻ--- */
.top_main_img_inn_1_1_1 {
    display: grid;
    grid-template-rows: 1fr 1fr; /* 闕ｳ雍九け荵昴・鬯ｮ蛟･&郢ｧ雋樊薯驕ｲ蟲ｨ竊鍋ｸｺ蜷ｶk */
    gap: 10px;
}

/* --- 遶ｭ縲・闕ｳ鄙ｫ繝ｻ隹ｿ繧ｪ繝ｻ螢ｽ繝･縲崎ｭ√こ陟悶・隴ｫ螢ｹ繝ｻ隶薙ぉ闕ｳ繝ｲ邵ｺ繧ｦ --- */
.top_main_img_inn_1_1_1_up {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 隶薙ぉ邵ｺ繧ｩ陜ｮ繝ｻ繝･蟲ｨ竊・陋ｻ繝ｻ迚｡ */
    gap: 10px;
}

/* --- 遶ｭ縲・闕ｳ荵昴・隹ｿ繧ｪ繝ｻ螢ｽ繧｣繧ｧ鬮溘く2隴ｫ螢ｹ繝ｻ隶薙ぉ闕ｳ繝ｲ邵ｺ繧ｦ --- */
.top_main_img_inn_1_1_1_down {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 隶薙ぉ邵ｺ繧ｩ陜ｮ繝ｻ繝･蟲ｨ竊・陋ｻ繝ｻ迚｡ */
    gap: 10px;
}

/* --- 陝ｾ繝ｲ邵ｺ繧｣陷ｿ繧ｦ邵ｺ繝ｧ郢晄じﾎ溽ｹ昴・縺醍ｸｺ繝ｧ隴ｫ・ｰ雋弱・郢ｧ遒∽ｺ溯ｱ√・--- */
.top_main_img_inn_1_1_0,
.top_main_img_inn_1_1_2 {
    width: 100%;
}


/* --- 郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え陷医い鬨ｾ螟翫ぅ繝･陞ｳ繝ｻ--- */
/* 郢ｧ繝ｼ郢昴ぉ郢昴・繝ｩ陷繝ｻ繝ｻ騾輔し陷剃ｸ鈎陷ｷ繧ｩ郢ｧ竏堋竏ｵ諤呵崕譏ｴ繝ｻ鬨ｾ荵励・ */
.rangin-top, .rangin-bottom, .rangin-left, .rangin-right,
.top_main_img_inn_1_1_1_up img,
.top_main_img_inn_1_1_1_down img,
.top_main_img_inn_1_1_2 img {
    opacity: 0;
    transition: opacity 1.2s ease, transform 1.2s ease; /* 陷崎ｼ披ｲ窶ｲ邵ｺ繝・.2驕伜・縲定氣莉｣@郢ｧ繝ｻ笆ｲ邵ｺ荳核 */
    will-change: opacity, transform; /* 陷咲ｩゅせ諛較雋贋ｻ｣i邵ｺ荵昶・邵ｺ蜷ｶk邵ｺ鄙ｫ竏ｪ邵ｺ蛟･竊醍ｸｺ繝ｻ*/
}

.rangin-show,
.top_main_img_inn_1_1_1_up img.rangin-show,
.top_main_img_inn_1_1_1_down img.rangin-show,
.top_main_img_inn_1_1_2 img.rangin-show {
    opacity: 1;
    transform: translate(0) !important; /* translate郢ｧ雋樞煤陷亥現@邵ｺ繝ｲ陷医・繝ｻ闖ｴ蜥ｲ繧ｹ繝ｧ邵ｺ繧ｯ */
}

.rangin-top { transform: translateY(-30px); }


.rangin-bottom {  
    transform: translateY(30px); 
}

/* 遶ｭ縲・陝ｾ繝ｲ邵ｺ荵拱陷ｿ繧ｦ邵ｺ繧ｯ (.rangin-left) */
.rangin-left,.top_main_img_inn_1_1_1_down img:first-child { /* 闕ｳ蛹ｺ繝ｧ繧ｪ邵ｺ繝ｧ陝ｾ繝ｲ陋帙お邵ｺ繝ｧ騾輔し陷偵・*/
    transform: translateX(-30px);
}

/* 遶ｭ縲・陷ｿ繧ｦ邵ｺ荵拱陝ｾ繝ｲ邵ｺ繧ｯ (.rangin-right) */
.rangin-right,.top_main_img_inn_1_1_1_down img:last-child { /* 闕ｳ蛹ｺ繝ｧ繧ｪ邵ｺ繝ｧ陷ｿ繧ｦ陋帙お邵ｺ繝ｧ騾輔し陷偵・*/
    transform: translateX(30px);
}

/* --- 郢晏現繝｣郢晏干繝ｻ郢昴す郢ｧ繧ｯ邵ｺ繝ｧ騾輔し陷貞・繧ｻ縲∫ｸｺ譴ｧ諤呵崕譏ｴﾂｰ郢ｧ迚呵劒邵ｺ荳翫・郢ｧ蟶昜ｺ溽ｸｺ蜊繧｣繝･陞ｳ繝ｻ--- */
.top_main_img_inn_1 img {
    opacity: 0 !important; /* 隴崢陋ｻ譏ｴ繝ｻ陞ｳ謔溘・邵ｺ繧ｩ鬮ｱ讚√ゅぅ驕峨さ邵ｺ繧ｩ邵ｺ蜷ｶk */
    transform: none !important; /* 陷医・繝ｻ郢ｧ縲檎ｹ昜ｹ斟鍋ｹ昴す郢ｧ繧ｭ郢昴ぃ郢昴え邵ｺ繝ｧ陋ｻ譎・ｄ闖ｴ蜥ｲ繧ｹ繝ｧ郢昴ぉ郢ｧ繧ｵ郢昴・繝ｨ */
    transition: opacity 0.6s ease-out, transform 0.6s ease-out !important; /* 邵ｺ繧ｧ郢ｧ竏喨邵ｺ荵昶・髯ｦ繧｣驕峨さ邵ｺ霈披雷郢ｧ邇悶ぅ繝･陞ｳ繝ｻ*/
}

/* JavaScript邵ｺ繧｡邵ｺ阮吶・郢ｧ繝・ｹ昴ぇ郢ｧ繧ｱ邵ｺ蠕娯命邵ｺ繝ｻ笳・輔し陷剃ｸ岩味邵ｺ莉｣r邵ｲ竏墅帷ｹ昴え郢敖郢晢｣ｰ邵ｺ繧ｩ郢昜ｻ｣ﾎ帷ｹ昜ｻ｣ﾎ帷ｸｺ繧｣髯ｦ繧｣驕峨さ邵ｺ霈披雷郢ｧ繝ｻ*/
.top_main_img_inn_1 img.kake-fade-in {
    opacity: 1 !important;
    transform: none !important;
}

.site-header {
    position: relative;
    box-shadow: 0 1px 10px 0px #bcbcbc;
}
span.zei {
    font-size: 0.8rem;
    margin-left: -5px;
}
.about_campbox_choice {
	position: relative;
	padding-top: 25px;
	padding-bottom: 35px;
}
.about_campbox_choice::before {
	content: "";
	background: #e3f3ff;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	border-radius: 10px;
	overflow: hidden;
}
.about_campbox {
	z-index: 1;
	position: relative;
}
.about_campbox_choice_inn2 {
    margin-top: 55px !important;
    margin: 0 auto;
	display: flex;

}

.about_campbox_choice_inn2 a:hover {
	opacity: 0.7;
	transition: 0.5s;
}

.about_campbox_choice_inn2 a {
    padding: 35px 0;
    max-width: 250px;
	width: 100%;
    background: #f89831;
    display: block;
    margin: 0 auto;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    font-size: 1.3rem;
    font-weight: 600;
}
.camp_lnk_inn_a {
    position: relative;
    width: 42%;
	border: 2px solid #3fa9f5;
	overflow: hidden;
	border-radius: 10px;
}
.camp_lnk_inn_a img {
	width: 100%;
}
.about_campbox_choice_inn {
    display: flex;
    gap: 20px;
    justify-content: space-around;
    max-width: inherit;
    margin: 0 auto;
    padding: 25px;
}
.about_campbox_choice_inn a {
    color: #fff;
    text-align: center;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.camp_lnk_inn:hover {
	cursor: pointer;
}
.camp_lnk_inn {
position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    bottom: 0;
    background: #fff;
    padding: 20px 0;
	color: #3fa9f5;
}

.for_campbox_inn img {
	max-width: 50px;
	margin: 0 auto;
	position: relative;
	display: block;
}
.for_campbox_inn {
    display: flex;
    gap: 65px;
    margin-bottom: 25px;
}
.for_campbox_inn li.li_camp_price::after {
content: "+";
    font-size: 3.3rem;
    right: -48px;
    top: 25px;
    color: #3FA9F5;
    position: absolute;
    font-weight: 900;
}
.for_campbox_inn li.li_camp_kyouzai::after {
content: "+";
    font-size: 3.3rem;
    right: -48px;
    top: 25px;
    color: #3FA9F5;
    position: absolute;
    font-weight: 900;
}
.for_campbox_inn li.li_camp_kyouzai img {
    max-width: 28px;
    width: 100%;
    margin-bottom: 3px;
}
.for_campbox_inn li.li_camp_online img {
    max-width: 108px;
    width: 100%;
    margin-bottom: 3px;
}
.for_campbox_inn li.li_camp_meat::after {
content: "+";
    font-size: 3.3rem;
    right: -48px;
    top: 25px;
    color: #3FA9F5;
    position: absolute;
    font-weight: 900;
}
.for_campbox_inn li.li_camp_price img {
	max-width: 35px;
	margin-bottom: 5px;
}
.for_campbox_inn li.li_camp_hotel img {
    max-width: 38px;
    margin-bottom: 13px;
    top: 10px;
}
.for_campbox_inn li.li_camp_meat img {
    max-width: 45px;
    margin-bottom: 11px;
    top: 7px;
}
.for_campbox_inn li {
    flex: 1;
    list-style: none;
    background: #3fa9f5;
    text-align: center;
    padding: 25px 0 20px;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 500;
    border-radius: 10px;
	position: relative;
}
.for_campbox_text li {
	list-style: none;
	
}
.aobut_rangbox_inn {
	display: flex;
gap:20px;

}
.rang_support span {
	display: block;
}
.rang_support {
    position: absolute;
    top: -37px;
    right: 24px;
    background: #3fa9f5;
    color: #fff;
    text-align: center;
    padding: 10px 15px;
    border-radius: 77px;
    transform: rotate(7deg);
    font-size: 1.2rem;
}

/* 陷ｷ繧ｱ邵ｺ讎翫・邵ｺ蜉ｱ繝ｻ闕ｳ闃ｽ繧｡謚ｵ繧ｷ蛹ｻ@邵ｺ縲咲ｸｺ繧ｹ繝ｻ繝ｻ*/
.rang_support::after {
    content: "";
    position: absolute;
    bottom: -8px;
    right: 84px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #3fa9f5;
}
.aobut_rangbox h3,.about_campbox h3 {
	margin-bottom: 35px !important;
}
.about_campbox_table1 th,.about_campbox_table2 th {
	background: #3fa9f5;
	color: #fff;
}
.about_campbox_table2 li span.zei {
	bottom: 0;
	
}
.about_campbox_table2 .includelist li,.about_campbox_table2 .text_red li{
	text-align: left;
	list-style: none;
	margin-bottom: 10px;
	position: relative;
}
.about_campbox_table2.under_cam_table {
    border-top: 1px solid #eee !important;
}
.about_campbox_table2 .text_red,.text_colorred {
	color: #E72225;
}
.about_campbox_table2 .includelist,.about_campbox_table2 .text_red {
    padding-top: 25px;
    padding-bottom: 20px;
    padding-left: 20px;
	text-align: left;
}
.cam_table_m {
	margin-bottom: 25px !important;
}
.notinc_campbox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
    margin: 0 auto;
    margin-bottom: 25px !important;
}
.camp_price_box {
	font-size: 1.3rem;
	font-weight: 500;
	position: relative;
	margin-bottom: 85px;
}

.notinc_campbox li {
    list-style: none;
    margin-right: 20px;
    width: 47%;
    text-align: left;
    background: #66b43a;
    padding: 20px;
    color: #fff;
	position: relative;
	font-size: 19px;
}
table.about_campbox_table1 {
	margin-bottom: 0;
	text-align: center;
}
table.about_campbox_table1 tr {
	line-height: 30px;
}
table.about_campbox_table2 {
	border-top: none !important;
	margin-bottom: 10px;
}
table.about_campbox_table2 th {
	width: 25%;
}
.aobut_rangbox {
	margin-bottom: 95px !important;
	max-width: 585px;
	margin: 0 auto;
	position: relative;
}
.aobut_rangbox_inn li {
	list-style: none;
	flex: 1;
}
.aobut_rangbox_inn li img {
	display: block;
	margin-bottom: 5px;
}
.for_campbox_text {
    text-align: left;
    max-width: 961px;
    width: 100%;
    margin: 0 auto;
    line-height: 30px;
}
.for_campbox {
	margin-bottom: 85px;
}
.main_campbox h3 {
    font-size: 2rem;
    text-align: center;
    margin-top: 75px;
    margin-bottom: 50px;
}
.for_campbox_about span {
	color: #3fa9f5;
	font-size: 1.3rem;
	font-weight: 600;
}
.for_campbox_about {
	margin-bottom: 25px;
}
.main_campbox {
	text-align: center;
}
.top_img_main_campbox {
    display: flex;
    justify-content: space-between;
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
}
.top_img_main_campbox img {
	width: 100%;
	height: 100%;
	line-height: 0;
}
.top_img_main_campbox_L,.top_img_main_campbox_R {
	width: 50%;
}
.top_img_main_campbox_L {
	display: flex;
	
}
.top_img_main_campbox_R {
	display: flex;
	flex-direction: column;
}
.top_img_main_campbox_R_2 {
	display: flex;
}
.top_img_main_campbox_R_2 img {
	width: 50%;
}
.top_img_main_campbox_L_2,.top_img_main_campbox_L_1 {
	width: 50%;
}
.top_img_main_campbox_L_2 {
	display: flex;
	flex-direction: column;
}
.import_top_text::after {
    content: "";
    border-bottom: 2px solid #3fa9f5;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 95%;
    margin: 0 auto;
    right: 0;
}
.course_top_box_h2 h2,.choice_course {
overflow: hidden;
    position: relative;
    border-radius: 10px;
    color: #3fa9f5;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 10px;
    font-size: 2.5rem;
    z-index: 10;
    margin-bottom: 25px;
    font-weight: 900;
}
/* 左側のテキストエリアを吹き出しの本体（四角い箱）にする設定 */
.top_main_text_inn .top_main_text_L {
    position: relative;
    background-color: #f0f7ff;
    padding: 15px;
    border-radius: 8px;
    line-height: 30px;
    box-shadow: 2px 2px 6px #a3a3a3ba;
}

/* テキストの下側に吹き出しの「三角」を作る設定 */
.top_main_text_inn .top_main_text_L::after {
    content: "";
    position: absolute;
    right: -21px;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: #f0f7ff transparent transparent transparent;
    display: block;
    width: 0;
    height: 0;
    transform: rotate(270deg);
    top: 58px;
    filter: drop-shadow(-1px 2px 0px #a3a3a3ba);
    z-index: 1;
}
.top_main_text h3 {
overflow: hidden;
    position: relative;
    border-radius: 10px;
    color: #3fa9f5;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 10px;
    font-size: 2.5rem;
    z-index: 10;
    margin-bottom: 25px;
    font-weight: 900;
}
.course_topmain_box {
	margin-top: 85px;
}
.about_stay_room h2 br {
	display: none;
}
.top_main_img {
	margin-top: 35px;
}
.top_main_img img {
	width: 100%;
}
.fade-item-course {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
	position: relative;
}
.fade-item-course a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
/* 髯ｦ繧｣驕峨さ隴弱ｅ繝ｻ郢ｧ繝・ｹ昴ぇ郢ｧ繧ｱ */
.fade-item-course.show {
  opacity: 1;
  transform: translateY(0);
}

.fade-item-course:nth-child(1) { transition-delay: 0.2s; }
.fade-item-course:nth-child(2) { transition-delay: 0.4s; }
.fade-item-course:nth-child(3) { transition-delay: 0.6s; }
.fade-item-course:nth-child(4) { transition-delay: 0.8s; }

.tuugaku_at_box {
	font-size: 1.4rem;
    margin-bottom: 55px;
	text-align: center;
	margin-top: 0px;
	

}
.tuugaku_main_box h2{
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.6;
    color: #3fa9f5;
    margin-top: 25px;
}
.tuugaku_main_box_inn li {
    list-style: none;
    width: 25%;
    text-align: center;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
	border: 2px solid #3fa9f5;
}
.tuugaku_main_box_inn {
		display: flex;
	gap:5px;
	justify-content: center;
}
.for_span_h1 {
	
}
.course_top_box_L:hover span.top_main_title::after,.course_top_box_R:hover span.top_main_title::after,.tuugaku_main_box_inn li:hover span::after {
    transition: 0.5s;
    right: 4%;
	color: #fff;
}
.course_top_box_L span.top_main_title::after,.course_top_box_R span.top_main_title::after,.tuugaku_main_box_inn li span::after {
	position: absolute;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    right: 5%;
    top: 8%;
    font-size: 1.8rem;
    transition: 0.5s;
	color: #3fa9f5;
}

.course_top_box_L:hover span.top_main_title,.course_top_box_R:hover span.top_main_title,.tuugaku_main_box_inn li:hover span,.camp_lnk_inn_a:hover .camp_lnk_inn {
	color: #fff;
}

.course_top_box_L span.top_main_title::before,.course_top_box_R span.top_main_title::before,.tuugaku_main_box_inn li span::before,.camp_lnk_inn_a .camp_lnk_inn::before {
width: 0;
    content: "";
    background: linear-gradient(135deg, #00D1C4 0%, #3FA9F5 100%) center;
    transition: 0.5s;
    position: absolute;
    left: 0;
    top: 0;
    height: 60px;
	z-index: -1;
}
.course_top_box_L:hover span.top_main_title::before,.course_top_box_R:hover span.top_main_title::before,.tuugaku_main_box_inn li:hover span::before,.camp_lnk_inn_a:hover .camp_lnk_inn::before  {
	width: 100%;
	transition: 0.5s;
}
.course_top_box_L span.top_main_title,.course_top_box_R span.top_main_title,.tuugaku_main_box_inn li span,.camp_lnk_inn_a .camp_lnk_inn {
    position: absolute;
    text-align: center;
    height: 40px;
    color: #3fa9f5;
    background: #fff;
    bottom: 0;
    width: 100%;
    left: 0;
    padding-top: 8px;
    font-size: 20px;
    font-weight: 500;
    z-index: 10;
}
.course_top_box img {
	line-height: 0;
	display: block;
	width: 100%;
}
.top_q_a_box h3 a::after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 5%;
    top: 25%;
    font-size: 1.8rem;
    transition: 0.5s;
}
.course_top_box_L a,.course_top_box_R a {
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	left: 0;
	top: 0;
	z-index: 50;
}
.course_top_box_L,.course_top_box_R {
	overflow: hidden;
	flex: 1;
	border: 2px solid #3fa9f5;
	border-radius: 10px;
	position: relative;
}
.course_top_box {
    margin-top: 0px;
    display: flex;
    gap: 20px;
    text-align: center;
}
.top_q_a_box {
	margin-top: 135px;
}
.top_q_a_box h3 {
	text-align: center;
	color: #3fa9f5;
	position: relative;
	max-width: 460px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 25px;
}
.top_q_a_box h3::before {
    font-family: "Allura", cursive;
    position: absolute;
    left: -20px;
    content: "Q&A";
    top: -20px;
    margin: 0 auto;
    transform: rotate(-25deg);
    font-size: 2rem;
    color: #ffde13;
    max-width: 200px;
    width: 100%;
    z-index: 15;
}
.top_q_a_box .import_top_text2 h3::before {
font-family: "Allura", cursive;
    position: absolute;
    left: 50px;
    content: "Q&A";
    top: -20px;
    margin: 0 auto;
    transform: rotate(-25deg);
    font-size: 2rem;
    color: #ffde13;
    width: 100%;
    z-index: 15;
    max-width: 77px;
}
.small_h h1 {
	visibility: hidden;
	line-height: 0;

}
.import_top_text2 {
	position: relative;
	max-width: 460px;
	margin: 0 auto;
	width: 100%;
}
.import_top_text {
	position: relative;
	max-width: 700px;
	margin: 0 auto;
	width: 100%;
	margin-bottom: 70px;
}
.import_top_text br {
	display: none;
}
.import_top_text span {
    font-family: "Allura", cursive;
    position: absolute;
    left: 0;
    top: -42px;
    margin: 0 auto;
    transform: rotate(-25deg);
    font-size: 2rem;
    color: #ff5d13;
    max-width: 200px;
    width: 100%;
    z-index: 10;
}
.en_guide_eachbox_atention {
	color: #F11418;
	text-align: center;
	font-size: 1.2rem;
}

.en_guide_eachbox_inn_title {
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 7px;
}
.en_guide_eachbox_inn {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 100px !important;
}
.en_guide_eachbox h3 {
font-size: 1.2rem;
    text-align: center;
    margin-bottom: 75px;
    line-height: 30px;
}
.en_guide_eachbox_inn.guide_non_b {
    margin-bottom: 55px !important;
}
.en_guide_eachbox_inn h4 {
    font-weight: 500;
    margin-top: 45px;
    text-align: center;
}
.en_guide_box {
	margin-top: 35px;
}
.en_guide_box h2 span {
	display: block;
}
.en_guide_eachbox {
	border: 2px solid #3fa9f5;
	padding: 50px 20px 0;
	border-radius: 10px;
}
.en_guide_eachbox.req_docu h2 {
    background: #fff;
    border-radius: 50px;
    padding: 20px 0;
    max-width: 333px;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 35px;
    font-size: 1.5rem;
    font-weight: 600;
}
.en_guide_eachbox.crad_limit_box h2 {
    background: #fff;
    border-radius: 50px;
    padding: 20px 0;
    max-width: 333px;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 35px;
    font-size: 1.5rem;
    font-weight: 600;
}
.en_guide_eachbox_inn2 {
    max-width: 640px;
    margin: 0 auto;
	margin-bottom: 20px;
}
.en_guide_eachbox.req_docu h3 {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 30px;
}
.en_guide_eachbox.req_docu {
border-radius: 10px;
    padding: 50px 20px 10px;
    background: #e3f3ff;
    margin-top: 55px;
    border: none;
    box-shadow: 1px 1px 5px #b0c7d8;

}

.en_guide_eachbox.crad_limit_box {
    border-radius: 10px;
    padding: 50px 20px 10px;
    background: #ffe27e;
    margin-top: 55px;
    border: none;
    box-shadow: 1px 1px 5px #bda141;
}
.en_guide_box h2 {
	text-align: center;
	color: #3fa9f5;
}
.en_guide_at_red {
    color: #F11418;
    text-align: center;
    margin-bottom: 55px;
}
.import_top_text a::after,.import_top_text2 a::after,.about_stay_room h2::before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 5%;
    top: 25%;
    font-size: 1.8rem;
	transition: 0.5s;
}
.import_top_text a::before,.import_top_text2 a::before,.about_stay_room h2::after {
    width: 0%;
    background: linear-gradient(135deg, #00D1C4 0%, #3FA9F5 100%) center;
    transition: 0.5s;
    opacity: 0;
    content: "";
    height: 104px;
    position: absolute;
    left: 0;
    top: 0;
	z-index: -1;
}
.import_top_text a:hover::before,.import_top_text2 a:hover::before,.about_stay_room:hover h2::after {
	width: 100%;
	transition: 0.5s;
	opacity: 1;
}
.import_top_text a:hover::after,.import_top_text2 a:hover::after,.about_stay_room:hover h2::before {
	transition: 0.5s;
	right: 4%;
}
.import_top_text a:hover,.import_top_text2 a:hover,.about_stay_room:hover h2 {
	color: #fff;
	transition: 0.5s;
}
.import_top_text span.for_span_h1 {
	display: inline;
}
.import_top_text a,.import_top_text2 a{
    overflow: hidden;
    position: relative;
    border-radius: 10px;
    color: #3fa9f5;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 10px;
    font-size: 2rem;
    z-index: 10;
    border: 2px solid #3fa9f5;
    background: #fffbae;
}

.import_top_text2 .more_about {
    position: absolute;
    font-size: 13px;
    top: -33px;
    left: 28px;
    z-index: 10;
    color: #ffde13;
    transform: rotate(-32deg);
    font-weight: 600;
}
.import_top_text a br {
	display: none;
}

.foot_logo img,.inside-header img.header-image {
	transform: scale(1);
	transition: 0.5s;
}
.foot_logo:hover img,.inside-header img.header-image:hover {
	transform: scale(1.05);
	transition: 0.5s;
}
.foot_main_box .inside-site-info {
	padding-bottom: 10px !important;
	font-size: 0.8rem;
}
.foot_first_box {
	margin-bottom: 20px;
}
.foot_logo a:hover,.foot_underbox .foot_snsbox a:hover,.undeerfoot_imglink:hover,.undeerfoot_img_crane_link:hover {
	background: none !important;
}
a.undeerfoot_imglink {
	max-width: 200px;
	width: 100%;
	margin-top: 5px;
	position: relative;
}

a.undeerfoot_img_crane_link {
max-width: 230px;
    width: 100%;
    margin-top: 0px;
    position: relative;
}
a.undeerfoot_imglink::before {
content: "";
    position: absolute;
    width: 0%;
    transition: 0.5s;
    height: 10px;
    background: #8fd0ff;
    left: 10px;
    bottom: 4px;
    z-index: -1;
}
a.undeerfoot_imglink:hover::before {
	transition: 0.5s;
	width: 90%;
}
a.undeerfoot_img_crane_link::before {
content: "";
    position: absolute;
    width: 0%;
    transition: 0.5s;
    height: 10px;
    background: #95eadd;
    left: 13px;
    bottom: 4px;
    z-index: -1;
}
a.undeerfoot_img_crane_link:hover::before {
	transition: 0.5s;
	width: 90%;
}
.foot_main_box a:hover {
	    background: #8fd0ff;
    border-radius: 30px;
    transition: 0.5s;
    color: #333 !important;
}
.foot_main_box .foot_underlinkbox a {
    padding-left: 20px;
    padding-right: 20px;
    line-height: 40px !important;
    color: #333;
    transition: 0.5s;
    border-radius: 30px;
	z-index: 10;
	font-size: 14px;
}
.foot_logo {
	max-width: 235px;
	width: 100%;
}
.foot_main_box .site-info{
	background: #f7f7f7;
}
.foot_main_box {
	background: #f7f7f7;
	padding:20px 0 0;
}

.foot_snsbox {
	display: flex;
	gap: 30px;
	
}
.foot_snsbox li {
	list-style: none;
}
.foot_snsbox a {
	transform: translateY(0);
	transition: 0.5s;
	display: block;
}
.foot_snsbox a:hover {
	transform: translateY(-5px);
	transition: 0.5s;
}
.foot_underbox_inn {
    display: flex;
    justify-content: space-between;
    padding: 0 40px;
    align-items: anchor-center;
}
.foot_underbox {
    max-width: 1084px !important;
    margin: 0 auto !important;
	
}
.foot_underlinkbox {
display: flex;
    font-size: 0.9rem;
    max-height: 39px;
}
.foot_underlinkbox a {
    text-decoration: none;
    color: #333;
    display: block;
}
.main-navigation .main-nav ul li a {
    padding-left: 20px;
    padding-right: 20px;
    line-height: 40px !important;
	color: #333;
	transition: 0.5s;
	border-radius: 30px;
}
.current-menu-item a{
	   background: #3fa9f5;
	border-radius: 30px;
	transition: 0.5s;
	color: #fff !important;
}
.main-navigation .main-nav ul li a:hover {
   background: #8fd0ff;
	border-radius: 30px;
	transition: 0.5s;
	color: #333 !important;
}
.index_choce_box_main {
	margin-bottom: 145px !important;
	margin-top: 35px;
}
.top_kame_R {
  display: inline-block;
  opacity: 0;
  transform: translateX(80px);
  transition: transform 1s ease, opacity 1s ease;
}

.top_kame_R.show {
  opacity: 1;
  transform: translateX(0);
}
.top_kame {
    display: inline-block; /* transform 郢ｧ雋槭Ι迚吶Ι螢ｹ&邵ｺ蟶冖邵ｺ貅和 */
    position: relative;
    opacity: 0;
    /* transform 邵ｺ繝・｢繝ｻ笘・ｸｺ繧ｻ邵ｺ繧｣郢ｧ竏壺ｻ隴悶け邵ｺ繝ｻ*/
    transform: scale(0) rotate(0deg) translate(-100px, -50px);
    transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s ease;
    will-change: transform, opacity;
    /* 髫穂ｹ昶螺騾ｶ繝ｧ髫ｱ繧ｽ隰ｨ繧ｨ */
    width:120px;
    height:auto;
}

.top_kame.show {
    opacity: 1;
    transform: scale(1) rotate(0deg) translate(0, 0);
}
.head_top_logo {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-around;
    max-width: 420px;
    margin: 0 auto;
    margin-top: 70px;
}
.head_top_logo .top_kame {
	max-width: 80px;
	width: 100%;
}
.head_top_logo .top_kame_R {
    max-width: 320px;
    width: 100%;
}
.back_circle {
  background: #fff;
  width: 88%;
  max-width: 1084px;
  height: 950px;
  border-radius: 50%;
  top: 36px;
  left: 0;
  right: 0;
  margin: 0 auto;
  position: absolute;
  z-index: -1;

  /* 陋ｻ譎・ｄ霑･繧ｫ隲ｷ蜈ｷ繧ｷ逎ｯ謦ｼ髯ｦ繧｣驕峨さ繝ｻ蜿･繝ｼ荳・邵ｺ謫ｾ繧ｷ繝ｻ*/
  opacity: 0;
  transform: scale(0);
  transition: transform 1.2s ease, opacity 1s ease;
}
.back_circle.show {
  opacity: 1;
  transform: scale(1);
}
/* ===== 郢昴・縺冗ｹｧ繧ｱ郢晏現繝ｻ郢昴・縺醍ｹｧ繧ｱ陷医ぅ闖ｴ繝ｻ===== */
.index_choce_box_main {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease, transform 1s ease;
}
.index_choce_box_main.show {
  opacity: 1;
  transform: translateY(0);
}

.lang-box a {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 髯ｦ繧｣驕峨さ隴弱・*/
.lang-box a.show {
  opacity: 1;
  transform: translateY(0);
}
.invi_h1 {

}
.invi_h1 .post-6 {
	display: none;
}
.index_choce_box h1 {
line-height: 65px;
    margin-bottom: 25px;
    margin-top: 2px;
}
.index_choce_box h2 {
    font-size: 1.3rem;
    margin-top: 10px;
    margin-bottom: 50px;
}
.lang-box a,.lang-box2 a {
text-align: center;
    max-width: 200px;
    display: block;
    width: 100%;
    text-decoration: none;
    color: #333;
	position: relative;
}
.lang-box {
    display: flex;
    column-gap: 10px;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    width: 85%;
    margin: 0 auto;
}

.for_eng .lang-box {
display: flex;
    column-gap: 10px;
    flex-wrap: wrap;
    justify-content: space-around;
    position: relative;
    width: 60%;
    margin: 0 auto;
}

a#en {
	position: relative;
	top: 100px;
}
.for_eng a#en {
	position: relative;
	top: 0px;
}
a#zh {
	position: relative;
	top: 100px;
}
.lang-box2 {
max-width: 153px;
    margin: 0 auto;
    display: block;
    margin-top: 55px;
}
.index_choce_box h1 span {
	display: block;
}
.index_choce_box {
    text-align: center;

}
.index_choce_box.top_ani {
    text-align: center;
    display: flex;
    gap: 20px;
    margin: 0 auto;
    justify-content: center;
    align-items: end;
}
.top_animation {
    max-width: 200px;
    width: 100%;
    position: relative;
    left: 0px;
    z-index: -1;
}
.top_animation video {
	width: 100%;
}
.invi_h1 .inside-article {
	visibility: hidden;
}

.spark_flag {
  position: relative;
  transition: opacity 0.5s ease;
}

/* 郢晁ｼ斐♂郢昴す郢晏ｳｨ縺・ｹｧ繝ｲ郢晁ご逡・*/
.spark_flag.fade-out {
  opacity: 0;
}
.spark_flag.hide {
  display: none;
}

/*---郢晁ｼ斐°郢昴す郢晢｣ｰ---*/
.entry-title {
	text-align: center;
	font-weight: 800;
	color: #3fa9f5;
}
.post-389 {
	padding: 2rem 0 0;
}
.reservation-form-container {
	margin: 0 auto !important;
}
.site-content {
	margin: 0 15px 4rem;
}
.reservation-form-container .res-submit-btn {
	font-size: 1.5rem;
	border-radius: 60px;
	background: #3fa9f5;
}
.reservation-form-container .res-form-title {
	font-size: 2rem;
	font-weight: 800;
}
.reservation-form-container .post{
	margin-bottom: 1.5rem;
}
.reservation-form-container .res-form-group label {
	margin-bottom: 0.5rem;
}


/* 郢ｧ繧ｱ郢晄ｧｭ繝ｻ騾輔し鬮ｱ縲後・莠･繧ｱ繝ｻ68px闔峨・闕ｳ蜈ｷ繧ｷ蟲ｨ繝ｻ邵ｺ繧｣邵ｺ髦ｪ笆｡邵ｺ莉｣繝ｻ霑壹こ陋ｻ繝ｻ郢昴か郢昴す郢昴か */
@media screen and (max-width: 768px) {
    /* 1. 郢晏｣ｹ繝ｻ郢ｧ繧ｯ陷医ぅ闖ｴ阮囘髫輔ぉ髫補悪繧ｨ・ｰ邵ｺ繧｡邵ｺ繝ｧ隶薙ぉ隰繧ｳ郢ｧ蠕後・隶薙ぉ郢ｧ繧ｱ郢ｧ繝・ｹ昴Η郢昴す郢昴か郢ｧ蜻茨｣ｰ繧ｱ邵ｺ阮吮落邵ｺ螳医Υ竏ｵ繝･縲檎ｸｺ繧ｩ邵ｺ蜷ｶk */
    html, body, .rese-wrapper, .reservation-wrapper {
        max-width: 100% !important;
        overflow-x: hidden !important; 
    }

    /* 2. 郢昴Ε郢ｧ縲∫ｹｧ縲檎ｹｧ繝ｲ郢晏現r驍ｵ繝ｲ闕ｳ繝ｲ邵ｺ繧ｦ邵ｺ繧ｩ */
    .reservation-wrapper, .rese-wrapper {
        flex-direction: column !important;
        gap: 15px !important;
        padding: 0 10px !important; /* 郢ｧ繧ｱ郢晄ｧｭ繝ｻ騾輔し鬮ｱ縲檎ｸｺ繝ｧ陝ｾ繝ｲ陷ｿ繧ｦ邵ｺ繧ｩ陝・ｻ｣@邵ｺ・ｰ邵ｺ螟ｧ繝ｧ迚吶・邵ｺ繧ｧ鬮ｫ蜥惹ｿ｣郢ｧ蜑・せ諛殻 */
        box-sizing: border-box !important;
    }

    /* 3. 郢ｧ繧ｩ郢昴Ε郢昴え郢敖郢昴す邵ｺ繝ｧ髫輔ぉ驍・ｳｨr騾輔し鬮ｱ縲瑚濤繝ｻ00%邵ｺ繧ｩ陜励さ陞ｳ螢ｹ@邵ｲ竏ｽ繧ｯ繝･髴・か邵ｺ繝ｧ驕ｯ竏壺ｲ窶ｲ隰壽㈱ﾂ｢郢ｧ雋槭す繧ｭ陋ｻ繧ｫ郢ｧ繧ｩ郢昴・繝ｨ */
    #reservation-calendar {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        display: block !important;
    }

    /* 4. 邵ｲ蜈域咎ｩ･蟠弱Υ竏堋隧ｮullCalendar邵ｺ繝ｧ陷繝ｻﾎ夂ｹ昴・繝ｻ郢晄じﾎ晉ｹｧ繝ｻ縺帷ｹｧ繝・ｹ昴Η郢昴す郢昴か髫補悪繧ｨ・ｰ郢ｧ蝣､蛻､鬮ｱ縲瑚濤繝ｻ竊馴お繧ｫ陝・そ髴代せ陟戊侭&邵ｺ蟶冖 */
    .fc, 
    .fc-view-harness, 
    .fc-scrollgrid, 
    .fc-scrollgrid-section, 
    .fc-scrollgrid-section table,
    .fc-scrollgrid-sync-table {
        width: 97% !important;
        max-width: 100% !important;
        table-layout: fixed !important; /* 郢昴・繝ｻ郢晄じﾎ晉ｸｺ繝ｧ隶薙ぉ陝ｷ繝ｻ繧｣閧ｲ繝ｧ蜉ｱr陟代く陋ｻ繧ｫ陜励さ陞ｳ繝ｻ*/
    }

    /* 5. 隴ｫ・ｰ驍ｱ螟ｲ繧ｷ蛹ｻ繝ｻ郢昴す郢敖郢昴す繝ｻ蟲ｨ繝ｻ邵ｺ蟶・邵ｺ繧｡1邵ｲ繝ｻpx邵ｺ繝・ｸｺ繧ｽ陷・さ郢ｧ邇悶ぅ閧ｲ繝ｧ蜉ｱ縺懃ｹ昴Ε郢ｧ雋樒ｲｾ陷ｿ蠑ｱ笘・ｹｧ繝ｻ*/
    .fc *, .fc *:before, .fc *:after {
        box-sizing: border-box !important;
    }

    /* 6. 隴弱ｋ菫｣隴ｫ・ｰ郢ｧ繧ｦ郢昴え郢昴・繝ｪ邵ｺ繝ｧ隶薙ぉ陝ｷ繝ｻr100%邵ｺ繧ｩ */
    #time-slot-container {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 7. 隴√・繝･蜉ｱ竊堤ｹ晄ｧｭ縺帷ｸｺ繝ｧ郢ｧ繧ｪ郢ｧ縲∫ｹｧ繧ｳ髫ｱ繧ｽ隰ｨ繧ｨ */
    .fc {
        font-size: 11px !important; /* 隴√・繝･蜉ｱr郢ｧ繧・鴬1郢ｧ繧ｪ郢ｧ縲∫ｹｧ繧ｳ陝・ｸ・邵ｺ繝ｻ*/
    }
    .fc .fc-col-header-cell-cushion {
        padding: 4px 0 !important;
        font-size: 11px !important;
    }
    .fc .fc-daygrid-day-number {
        padding: 2px 2px !important;
    }
	.fc-daygrid-body {
        height: 55vh !important;
    }
}
.foot_totop {
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    background: #fff;
    border-radius: 10px;
    z-index: -1;
    position: relative;
}
/*//mobb/*/

@media (max-width: 480px) {
	.li_camp_kyouzai span {
		display: block;
	}
	.for_eng .lang-box {
    display: flex;
    column-gap: 10px;
    flex-wrap: wrap;
    justify-content: space-around;
    position: relative;
    width: 90%;
    margin: 0 auto;
}
	.top_img_main_tuugakubox img {
    width: 50%;
}
	.entry-header {
		margin-top: 30px !important;
	}
	.inside-header {
		    padding: 20px 10px 5px !important;
}
	.index_choce_box {
    text-align: center;
    background: #fff;
    border-radius: 50%;
    padding: 45px 0;
    margin-top: -95px;
}
	.tuugaku_main_box .price_wrapper {
             margin-bottom: 35px;
        text-indent: -1rem;
        padding-left: 18px;
        margin-top: 25px;
        right: 30px;
		font-size: 18px;
    }
	
	.tuugaku_main_box .price_wrapper span.zei {
	        right: -38px;
        bottom: 2px;
    }
	.tuugaku_main_box .about_campbox_table2 .text_red li{
		margin-bottom: 35px;
	}
	.about_campbox_table1 th,.about_campbox_table1 td {
		line-height: 24px;
	}
	.about_campbox_table1 td span{
		display: block;
		font-size: 14px;
	}
	span.td_zei {
		font-size: 14px;
		display: block;
	}
	    .tuugaku_main_box .about_campbox_choice_inn2 {
        margin-top: 00px !important;
        max-width: 250px;
        margin: 0 auto;
        flex-direction: column;
        gap: 10px;
    }
	.tuugaku_main_box .camp-price-box {
    width: 100%;
}
	h3.tuugaku_h3 {
		    font-size: 19px;
    margin-bottom: 20px;
    line-height: 1.2em;
    font-weight: 400;
    text-transform: none;
}
	.top_q_a_box .import_top_text2 h3::before {
    font-family: "Allura", cursive;
    position: absolute;
    left: 8px;
    content: "Q&A";
    top: -20px;
    margin: 0 auto;
    transform: rotate(-25deg);
    font-size: 2rem;
    color: #ffde13;
    width: 100%;
    z-index: 15;
    max-width: 77px;
}
	.import_top_text2 .more_about {
    position: absolute;
    font-size: 13px;
    top: -33px;
    left: -15px;
    z-index: 10;
    color: #ffde13;
    transform: rotate(-32deg);
    font-weight: 600;
}
	.course_top_box_h2 h2, .choice_course {
    overflow: hidden;
    position: relative;
    border-radius: 10px;
    color: #3fa9f5;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 10px;
    font-size: 1.4rem;
    z-index: 10;
    margin-bottom: 12px;
    font-weight: 900;
}
	.lead-text {
    text-align: center;
    font-size: 18px;
}
	.feature-box span {
		display: block;
	}
	.feature-box h3, .access-box h3, .shuttle-info strong {
    color: #1a365d;
    padding-left: 0px;
    margin-bottom: 20px;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    display: block;
}
	.moving-bus {
    width: 60px;
    height: auto;
    display: block;
    animation: busDrive2 10s infinite linear;
}

	.top_bus_box_mid {
    position: absolute;
    left: 0px;
    right: 0px;
    height: auto;
    z-index: 1;
    margin: 0 auto;
    max-width: 175px;
    display: block;
    top: 129px;
}

	.kakeji-features-access {
    margin: 0 auto;
    padding: 20px 5px;
    font-family: sans-serif;
    margin-bottom: 40px;
}
	.access-bubble .station-name {
    font-size: 18px;
    font-weight: bold;
    color: #1a365d;
    line-height: 17px;
    margin-top: 7px;
}
	.access-bubble .arrow {
    font-size: 12px;
    color: #3182ce;
    margin: -1px 0;
    font-weight: bold;
}

	.access-bubble {
    width: 135px;
    height: 135px;
    background-color: #3fa9f514;
    border: 2px solid #3fa9f5;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
	.access-bubbles-container {
    display: flex;
    justify-content: center;
    gap: 5px;
    flex-wrap: wrap;
    margin: 30px 0;
}
	.feature-box li {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.3;
    width: 100%;
    border: 2px solid #3fa9f5;
    margin: 0px;
    border-radius: 10px;
}
.feature-box li strong {
    font-size: 20px;
    background: #3fa9f5;
    color: #fff;
    height: 60px;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
}
	.feature-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-direction: column;
}
	.top_main_text {
    text-align: center;
    margin-bottom: 65px;
}
	.top_main_text_inn .top_main_text_L::after {
    content: "";
    position: absolute;
    right: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: #f0f7ff transparent transparent transparent;
    display: block;
    width: 0;
    height: 0;
    transform: rotate(0deg);
    top: inherit;
    filter: drop-shadow(-1px 2px 0px #a3a3a3ba);
    z-index: 1;
    bottom: -13px;
    left: 0;
    margin: 0 auto;
}
	.top_main_text_R {
    width: 28%;
    margin: 0 auto;
}
	.top_main_text_L {
    width: 100%;
    text-align: left;
    font-size: 18px;
}
	.top_main_text_inn {
    display: flex;
    gap: 20px;
    max-width: 600px;
    margin: 0 auto;
    justify-content: space-around;
    flex-direction: column;
}
	.site-content {
    margin: 0 5px 4rem;
}
	.tuugaku_main_box h2 {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.6;
    color: #3fa9f5;
    margin-top: 0px;
}
	.tuugaku_main_box .camp-price-list li {
    display: inline-grid;
    background: #fff;
    border-radius: 30px;
    text-align: center;
    width: 100%;
    place-items: center;
    min-height: 50px;
    line-height: 21px;
    margin-bottom: 10px !important;
    vertical-align: top;
    margin: 0px 0px;
}
	.at_zairyuu::after {
    content: "※必須";
    position: absolute;
    top: 6px;
    text-align: center;
    right: 28px;
    font-size: 15px;
    font-weight: 700;
    color: #ff4b4b;
    left: inherit;
}
	.camp-item-list .camp_need .sub-list li span {
    display: block;
    font-size: 12px;
    margin-bottom: 6px;
}
	.eye_img img {
	        max-width: 130px;
        width: 100%;
        margin: 0 auto;
    }
	.item-name {
    font-size: 17px;
    font-weight: 700;
    display: block;
}
	.rule-block h4 {
        text-align: left;
        margin-bottom: 0;
        font-size: 20px;
        text-indent: -1.4rem;
        padding-left: 25px;
    }
	.rule-box .rule-box_img {
    width: 100%;
}
	.rule-box .camp-notice-list {
    width: 100%;
}
	.rule-box {
    display: flex;
    gap: 0;
    flex-direction: column-reverse;
}
	.camp-guide-container .camp-section h3 br {
		display: inline;
	}
	.camp-section.rules-section {
    margin-top: 55px;
}
	.notice-section ul li {
    text-align: left;
    margin-bottom: 10px;
    list-style: none;
    text-indent: -1rem;
    padding-left: 12px;
}
	.img_kakemaru2 {
    position: absolute;
    right: -12px;
    top: 1%;
    max-width: 47px;
    width: 100%;
}
	.about_campbox_table1 td {
	        font-size: 16px;
        font-weight: 500;
        padding: 0 4px;
    }
	.about_campbox_table1 .camp_price_box {
		font-size: 18px;
		width: 120px;
	}
	.camp_price_box span.zei {
		position: absolute;
		bottom: -4px;
		font-size: 12px;
	}
	.camp-item-list .camp_need .sub-list li {
    width: 100%;
    vertical-align: top;
    margin: 0 auto;
}
	.camp-item-list li {
    width: 100%;
}
	ol.camp-item-list {
    margin-left: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column;
}
	.camp-lead-alert {
    font-size: 17px;
    color: #ff4b4b;
    font-weight: 700;
    margin-bottom: 35px;
}
	.camp-guide-container .camp-section h3 {
    margin-top: 25px;
    margin-bottom: 20px !important;
		font-size: 20px;
}
	span.zei {
        font-size: 0.7rem;
        margin-left: -5px;
        position: absolute;
        bottom: -14px;
        right: -6px;
    }
	.about_narutaki_box_up {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    flex-direction: column-reverse;
}
	.about_narutaki h2 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 0;
}
	.camp_price_box_inn::after {
    content: "";
    background-image: url(/gaikokujin/img/kake1.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 68px;
    height: 93px;
    position: absolute;
    right: -18px;
    bottom: inherit;
    top: 2px;
}
	.raikou_lang {
    margin-bottom: 35px;
    font-size: 24px;
}
	.entry-title {
    text-align: center;
    font-weight: 800;
    color: #3fa9f5;
    font-size: 35px;
}
	.raikou_box h3 {
    margin-bottom: 55px;
    font-size: 24px;
}
	.raikou_box_inn a {
    display: inline-block;
    padding: 14px 20px;
    color: #ffffff !important;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: linear-gradient(135deg, #ffb300 0%, #ff6f00 100%);
    border-radius: 50px;
    box-shadow: 0 4px 15px rgba(255, 111, 0, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    font-size: 35px;
    margin-bottom: 25px;
}
	.fc .fc-daygrid-day-top {
    display: flex;
    flex-direction: row-reverse;
    padding-top: 11px;
    margin-bottom: -15px;
}
	.fc table {
		width: 100% !important;
	}
	.fc .fc-daygrid-body {
		width: auto !important;
	}
	.course_top_box_h2 .li_days {
    position: absolute;
    top: -89px;
    right: -10px;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    padding: 5px;
    box-sizing: border-box;
    flex-direction: column;
    background-color: #fff9db;
    color: #f59f00;
    border: 2px solid #ffe3e3;
}
	.course_top_box_h2 h2 {
        overflow: hidden;
        position: relative;
        border-radius: 10px;
        color: #3fa9f5;
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
        display: block;
        text-decoration: none;
        text-align: center;
        padding: 10px 0;
        font-size: 1.5rem;
        z-index: 10;
    }
	.top_main_text h3 {
    overflow: hidden;
    position: relative;
    border-radius: 10px;
    color: #3fa9f5;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 10px;
    font-size: 2.0rem;
    z-index: 10;
    margin-bottom: 25px;
    font-weight: 900;
}

	.fc-daygrid-body {
    height: 56vh !important;
    }
	#time-slot-container h3 {
    font-size: 1.5em;
	margin-top: 0.8em;
	}
	.fc .fc-toolbar-title {
    font-size: 2em;
	}
	
	
	
	
	
	
	#menu-item-396 a,#menu-item-689 a,#menu-item-815 a,#menu-item-903 a,#menu-item-939 a,#menu-item-957 a {
        display: inline-block;
        padding: 25px 36px;
        font-size: 16px;
        font-weight: bold;
        color: #ffffff !important;
        text-decoration: none !important;
        text-align: center;
        border-radius: 50px;
        background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
        box-shadow: 0 4px 15px rgba(56, 239, 125, 0.4);
        transition: all 0.3s ease;
        cursor: pointer;
        line-height: 19px !important;
        width: 100%;
        margin-top: 0px;
    }
	#menu-item-396 a span,#menu-item-689 a span,#menu-item-815 a span,#menu-item-903 a span,#menu-item-939 a span,#menu-item-957 a span {
		display: inline;
	}
	.slot-item {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    border-bottom: 1px solid #eee;
    align-items: center;
    width: 70%;
    margin: 0 auto;
}
	ul#time-slot-list {
    margin-left: 0px;
}
    .status-link {
        font-size: 25px;
    }
	li.slot-item span {
    font-size: 26px;
}
	.fc .fc-col-header-cell-cushion {
    font-size: 12px;
}
	.fc .fc-daygrid-day-number {
    margin: 0 auto;
    font-size: 18px;
}
	.fc .fc-daygrid-day-top {
    display: flex;
    flex-direction: row-reverse;

    margin-bottom: -15px;
}
	.cale_guide_message {
    margin-bottom: 10px;
    margin-top: 50px;
    text-align: center;
}
	.rese-wrapper {
    max-width: 1140px;
    width: 95%;
    margin: 0 auto;
    margin-top: 55px;
}
	.rese-wrapper h2 {
    text-align: center;
    font-size: 30px;
    font-weight: 800;
}
	.fc .fc-toolbar-title {
    margin: 0px;
    font-weight: 800;
    margin-bottom: 10px;
}
	.fc .fc-toolbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
	.reservation-wrapper {
    display: flex;
    gap: 3px;
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
    margin-top: 55px;
    margin-bottom: 100px;
}
	#time-slot-container {
        width: 100% !important;
        border: 1px solid #ccc;
   
        background: #ffffff !important;
        position: relative;
        top: 0px;
		padding: 5px !important;
    }
	li.slot-item span {
    font-size: 18px;
}
	.top_animation {
    max-width: 122px;
    width: 100%;
    position: relative;
    left: 0px;
    z-index: 0;
}
	.index_choce_box.top_ani {
    text-align: center;
    display: flex;
    gap: 0;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    background: #fff;
    flex-direction: column;
    border-radius: 50%;
}

	.index_choce_box.top_ani {
    text-align: center;
    display: flex;
    gap: 0;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
	.main-navigation .main-nav ul li a {
        padding-left: 20px;
        padding-right: 20px;
        line-height: 40px !important;
        color: #333;
        transition: 0.5s;
        border-radius: 30px;
        text-align: center;
        font-size: 20px;
        font-weight: 700;
    }
	#menu-item-358 a, .search_startdates a,#menu-item-703 a {
    display: inline-block;
    padding: 14px 36px;
    font-size: 18px;
    font-weight: bold;
    color: #ffffff !important;
    text-decoration: none !important;
    text-align: center;
    border-radius: 50px;
    background: linear-gradient(135deg, #ff9f43 0%, #ff5252 100%);
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
    transition: all 0.3s ease;
    cursor: pointer;
    margin: 0 auto;
    display: block;
    margin-top: 25px;
		margin-bottom: 20px;
}
	.en_guide_eachbox.crad_limit_box {
    border-radius: 10px;
    padding: 20px 20px 10px;
    background: #ffe27e;
    margin-top: 35px;
    border: none;
    box-shadow: 1px 1px 5px #bda141;
	margin-bottom: 40px;
}
	.en_guide_eachbox.crad_limit_box h2 {
    background: #fff;
    border-radius: 50px;
    padding: 20px 0;
    max-width: 353px;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 15px;
    font-size: 1.3rem;
    font-weight: 600;
}
	.en_guide_eachbox.req_docu h2 {
    background: #fff;
    border-radius: 50px;
    padding: 20px 0;
    max-width: 333px;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 15px;
    font-size: 1.5rem;
    font-weight: 600;
}
	.en_guide_eachbox.req_docu {
    border-radius: 10px;
    padding: 20px 20px 10px;
    background: #e3f3ff;
    margin-top: 35px;
    border: none;
    box-shadow: 1px 1px 5px #b0c7d8;
}
	.en_guide_eachbox_atention {
    color: #F11418;
    text-align: center;
    font-size: 1.1rem;
}
	.en_guide_eachbox_inn_title {
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 7px;
}
	.en_guide_eachbox_inn h4 {
    font-weight: 700;
    margin-top: 30px;
    text-align: center;
    font-size: 18px;
		margin-bottom: 10px;
}
	.en_guide_eachbox h3 {
    font-size: 1.1rem;
    text-align: center;
    margin-bottom: 35px;
    line-height: 30px;
}
	.en_guide_eachbox_inn {
    width: 95%;
    margin: 0 auto;
    margin-bottom: 20px !important;
}
	.en_guide_eachbox {
    border: 2px solid #3fa9f5;
    padding: 25px 5px 0;
    border-radius: 10px;
}
	.en_guide_box h2 {
    text-align: center;
    color: #3fa9f5;
    font-size: 20px;
		margin-bottom: 5px;
}
	.top_main_img_inn_1_1_1 {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 3px;
}
	.top_main_img {
    margin-top: 25px;
}
	.course_topmain_box {
    margin-top: 30px;
}
	.top_main_img_inn_1_1_1_down {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3px;
}
	.top_main_img_inn_1_1_1_up {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
}
.top_main_img_inn_1 {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 陜薙さ隴帙Ε邵ｺ繝・陋ｻ繝ｻ*/
    gap: 3px;
    width: 100%;
}
	.top_main_img_inn_1_1_2 {
    grid-column: 1 / 3; /* 1陋ｻ遉ｼ蟯ｼ邵ｺ繝ｧ郢ｧ繧ｱ郢ｧ繧ｽ郢昴す郢晁ご繧ｭ螢ｹﾂｰ郢ｧ繝ｻ陋ｻ遉ｼ蟯ｼ邵ｺ繝ｧ郢ｧ繧ｱ郢ｧ繧ｽ郢昴す郢晁ご繧ｭ螢ｹ竏ｪ邵ｺ繧｡繝ｻ闌ｨ繧ｷ繝ｻ陋ｻ諤懊・邵ｺ繧ｫ邵ｺ縲りｬ壽㈱窶ｲ窶ｲ繝ｻ繝ｻ*/
    width: 100%;
}

/* 繝ｻ莠･逶ｾ髢繝ｻ繧ｷ閾･蛻､陷貞臆繝ｻ闖ｴ阮吶・郢ｧ繧ｪ郢ｧ縲∫ｹｧ繧ｳ郢ｧ繧域｣ｧ邵ｺ繝ｻ笆ｲ邵ｺ繧｢邵ｺ繝ｻ竊楢弱・ﾂ｣邵ｺ貅・陜｣繧ｨ陷ｷ蛹ｻ繝ｻ髴代せ髫ｪ繝ｻ*/
.top_main_img_inn_1_1_2 img {
    width: 100%;
    height: auto;
    display: block;
}
	.about_narutaki {
    margin-top: 55px;
}
	.about_narutaki_box h3 {
    position: relative;
    text-align: center;
    max-width: 118px;
    margin: 0 auto;
    margin-bottom: 25px;
}
	.about_narutaki_box_up_L, .about_narutaki_box_up_R {
    margin-bottom: 0px;
}
	.about_narutaki_box_down img {
    width: 50%;
    padding: 5px;
}
	.about_narutaki_box_up {
    margin-bottom: 0px;
}
	.about_narutaki table td {
    padding-left: 15px;
}
	.about_narutaki table th {
    background: #3fa9f5;
    color: #fff;
    padding: 15px 0;
    width: 27px;
}
	.notinc_campbox li {
    list-style: none;
    margin-right: 0px;
    width: 100%;
    text-align: left;
    background: #66b43a;
    padding: 20px 0 20px 12px;
    color: #fff;
		font-size: 14px;
}
	.camp_notinc_price {
    display: inline;
    margin-left: 0;
    text-align: right;
    position: absolute;
    right: 10px;
    font-size: 19px;
    margin-top: -5px;
}
	.about_campbox_table2 .includelist, .about_campbox_table2 .text_red {
    padding-top: 16px;
    padding-bottom: 15px;
    padding-left: 10px;
    text-align: left;
}
	.about_campbox_table2 th,.about_campbox_table2 td {
		display: block;
		width: 100% !important;
	}
	.about_campbox_table2 th br {
		display: none;
	}
	.aobut_rangbox h3, .about_campbox h3 {
    margin-bottom: 15px !important;
}
	.camp-price-description p{
		        font-size: 15px;
		padding: 0 10px;
    
	}
	.about_campbox_choice_inn2 a {
    padding: 10px 0;
    max-width: 175px;
    background: #f89831;
    display: block;
    margin: 0 auto;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 600;
}
	.about_campbox_choice_inn2 {
margin-top: 30px !important;
        max-width: 250px;
        margin: 0 auto;
        flex-direction: column;
        gap: 10px;
    }
	.camp_lnk_inn_a {
    position: relative;
    width: 100%;
    border: 2px solid #3fa9f5;
    overflow: hidden;
    border-radius: 10px;
}
	.camp-price-list li {
    display: inline-grid;
    background: #fff;
    border-radius: 30px;
    text-align: center;
    width: 100%;
    place-items: center;
    min-height: 50px;
    line-height: 10px;
    margin-bottom: 10px !important;
    vertical-align: top;
    margin: 0 -1px;
}
	.for_campbox h2,.about_campbox_choice h2 {
		font-size: 1.5rem;
		margin-bottom: 5px;
	}
	.camp-price-box {
		margin-top: 10px;
	}
	.about_campbox_choice_inn {
        display: flex;
        gap: 0px;
        justify-content: space-around;
        max-width: 750px;
        margin: 0 auto;
        width: 100%;
        flex-direction: column;
		padding: 15px
    }
	.rang_support::after {
    content: "";
    position: absolute;
    bottom: -8px;
    right: 53px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #3fa9f5;
}
	.aobut_rangbox_inn li {
    list-style: none;
    flex: inherit;
    width: 38%;
}
	.aobut_rangbox_inn {
display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: space-around;
    }
	.rang_support {
    position: absolute;
    top: -55px;
    right: -4px;
    background: #3fa9f5;
    color: #fff;
    text-align: center;
    padding: 10px 7px;
    border-radius: 77px;
    transform: rotate(7deg);
    font-size: 0.9rem;
}
	.camp_price_box h2 {
		font-size: 24px;
	}
	.camp_price_1 p {
		margin: 0;
		padding: 0;
	}
	.for_campbox_about span {
    color: #3fa9f5;
    font-size: 1.1rem;
    font-weight: 600;
    display: block;
}
	.for_campbox_inn li {
    flex: 1;
    list-style: none;
    background: #3fa9f5;
    text-align: center;
    padding: 25px 0 20px;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    border-radius: 10px;
    position: relative;
}
	.main_campbox h3 {
           font-size: 1.2rem;
        text-align: center;
        margin-top: 25px;
        margin-bottom: 15px;
        line-height: 35px;
    }
	.for_campbox_inn li.li_camp_online img {
    max-width: 108px;
    width: 90%;
    margin-bottom: 10px;
}
	.for_campbox_inn li.li_camp_price::after {
    content: "+";
    font-size: 1.8rem;
    right: -18px;
    top: 42px;
    color: #3FA9F5;
    position: absolute;
    font-weight: 900;
}
	.tuugaku_main_box .price-badge {
		font-size: 24px;
		width: 100%;
	}
	.tuugaku_main_box .camp_price_box_inn::after {
    content: "";
    background-image: url(/gaikokujin/img/kake1.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 52px;
    height: 65px;
    position: absolute;
    right: -14px;
    bottom: inherit;
    top: 7px;
}
	.tuugaku_main_box .camp_price_box_inn {
    background: #ffffff;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px 5px;
    max-width: 600px;
    margin: 0 auto;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    text-align: center;
    position: relative;
}
		.for_campbox_inn li.li_camp_kyouzai::after {
    content: "+";
    font-size: 1.8rem;
    right: -18px;
    top: 42px;
    color: #3FA9F5;
    position: absolute;
    font-weight: 900;
}
	.for_campbox_inn li.li_camp_online {
		font-size: 0.9rem;
	}
	.for_campbox_inn li.li_camp_online span {
		display: block;
	}
	.for_campbox_inn li.li_camp_meat::after {
		    content: "+";
    font-size: 1.8rem;
    right: -18px;
    top: 42px;
    color: #3FA9F5;
    position: absolute;
    font-weight: 900;
	}
	.for_campbox_inn {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
}
	.top_img_main_campbox_R {
	display: flex;
	flex-direction: column;
	line-height: 0;
}
	.top_img_main_campbox_L, .top_img_main_campbox_R {
    width: 100%;
}
	.top_img_main_campbox {
    display: flex;
    justify-content: space-between;
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
    flex-direction: column;
}
	.about_stay_room {
    margin-top: 95px;
    position: relative;
}
	.about_stay_room_h2 span {
    font-family: "Allura", cursive;
    position: absolute;
    left: -6px;
    content: "Q&A";
    top: -26px;
    margin: 0 auto;
    transform: rotate(-25deg);
    font-size: 1.5rem;
    color: #ffde13;
    max-width: 200px;
    width: 100%;
    z-index: 15;
}
	.about_stay_imgbox img {
    width: 49%;
    border-radius: 10px;
}
	.about_stay_room h2 br {
	display: block;
}
	.about_stay_room h2 {
		font-size: 1.5rem;
	}
	.import_top_text a::after, .import_top_text2 a::after, .about_stay_room h2::before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 12%;
    top: 32%;
    font-size: 1.8rem;
    transition: 0.5s;
}
	.import_top_text,.import_top_text2 {
    position: relative;
    max-width: 335px;
    margin: 0 auto;
    width: 100%;
		margin-bottom: 40px;
}
	.import_top_text span {
    font-family: "Allura", cursive;
    position: absolute;
    left: -8px;
    top: -7px;
    margin: 0 auto;
    transform: rotate(-25deg);
    font-size: 1.5rem;
    color: #ff5d13;
    max-width: 94px;
    width: 100%;
    z-index: 10;
    text-align: center;
}
	.import_top_text a, .import_top_text2 a {
    overflow: hidden;
    position: relative;
    border-radius: 10px;
    color: #3fa9f5;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 10px;
    font-size: 1.5rem;
    z-index: 10;
    font-weight: 500;
}

	
	
	
	.import_top_text a br {
	display: inherit;
}
	.course_top_box {
        margin-top: 5px;
        display: flex;
        gap: 15px;
        text-align: center;
        flex-direction: column;
    }
	.separate-containers .inside-article {
		padding: 0 10px;
	}
	a.undeerfoot_img_crane_link {
    max-width: 230px;
    width: 100%;
    margin-top: 0px;
    position: relative;
    padding: 0 0 !important;
}
	.foot_main_box .foot_underlinkbox a {
    padding-left: 5px;
    padding-right: 5px;
    line-height: 40px !important;
    color: #333;
    transition: 0.5s;
    border-radius: 30px;
    z-index: 10;
    width: 49%;
    text-align: center;
}
	.foot_logo {
    max-width: 235px;
    width: 100%;
    margin: 0 auto;
}
	.foot_snsbox {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: center;
    margin-top: 35px;
}
	.foot_underlinkbox {
        display: flex;
        font-size: 0.9rem;
        max-height: inherit;
        align-items: center;
        flex-wrap: wrap;
        justify-content: space-between;
          margin-top: 15px;
    }
	.foot_underbox_inn {
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    flex-direction: column;
		align-items: inherit;
}
	    .site-header .inside-header {
        padding-right: 0px;
        padding-left: 10px;
    }
	.index_choce_box h2 {
    font-size: 1.1rem;
    margin-top: 10px;
    margin-bottom: 35px;
}
	.index_choce_box_main {
    margin-bottom: 0px !important;
}
	.lang-box2 {
    max-width: 153px;
    margin: 0 auto;
    display: block;
    margin-top: 10px;
}
	.back_circle {
        background: #fff;
        width: 100%;
        max-width: 1084px;
        height: 50%;
        border-radius: 50%;
        top: 40%;
        left: 0;
        right: 0;
        margin: 0 auto;
        position: absolute;
        z-index: -1;
        opacity: 0;
        transform: scale(0);
        transition: transform 1.2s 
ease, opacity 1s 
ease;
    }
	
	.index_choce_box h2 span {
		display: block;
	}
	.head_top_logo .top_kame {
        max-width: 36px;
        width: 100%;
    }
	.head_top_logo {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-around;
    max-width: 420px;
    margin: 0 auto;
    margin-top: 30px;
    padding: 0 15px;
		width: 70%;
}
	  .spark_flag::after {
display: none;
}
	a#en {
	position: relative;
	top: 0px;
}
a#zh {
	position: relative;
	top: 0px;
}
	.lang-box a, .lang-box2 a {
text-align: center;
    max-width: 250px;
    display: block;
    width: 45%;
    text-decoration: none;
    color: #333;
    margin-bottom: 15px !important;
    margin: 0 auto;
}
	.lang-box {
    display: flex;
    column-gap: 20px;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 5px 0 15px;
}
	.index_choce_box h1 {
        font-size: 1.6rem;
        margin-top: 15px;
        line-height: 35px;
        margin-bottom: 3px;
    }
	
	.lang-box a, .lang-box2 a {
    text-align: center;
    max-width: 250px;
    display: block;
    width: 45%;
    text-decoration: none;
    color: #333;
}
	
}

@media (max-width: 376px) {
	
	.gp-icon svg {
		top: 25% !important;
	}
	
	
}

@media (max-width: 320px) {
	
	.gp-icon svg {
		top: 22% !important;
	}
	
	.fc table {
		width: 98% !important;
	
	}
	
}