@charset "UTF-8";
.btn, .btn_primary, .btn_link, .btn_ok, .btn_next, .btn_order_print, .btn_receipt, .btn_receipt_negative, .btn_detail, .btn_back { display: inline-block; border-radius: .4em; font-size: 15px !important; text-decoration: none !important; margin: 1em .2em; vertical-align: top; padding: .6em 1.6em .6em 1.6em; color: #fff !important; line-height: normal; }
.btn:hover, .btn_primary:hover, .btn_link:hover, .btn_ok:hover, .btn_next:hover, .btn_order_print:hover, .btn_receipt:hover, .btn_receipt_negative:hover, .btn_detail:hover, .btn_back:hover { color: #fff !important; opacity: .8; }
.btn_primary, .btn_link { background: #1F8A70; }
.btn_ok, .btn_next, .btn_order_print, .btn_receipt, .btn_receipt_negative, .btn_detail { background: #FD7400; }
.btn_link:before { background-image: url(/common/img/mypage/icon_next.png); }
.btn_next:before { background-image: url(/common/img/mypage/icon_next.png); top: -3px; }
.btn_back { background: #004358; }
.btn_order_print:before { background-image: url(/common/img/mypage/icon_print.png); }
.btn_receipt:before, .btn_receipt_negative:before { background-image: url(/common/img/mypage/icon_ryosyu.png); }
.btn_receipt_negative { background-color: #b5b5b5; cursor: default; }
.btn_receipt_negative:hover { opacity: 1; }
.btn_detail:before { background-image: url(/common/img/mypage/icon_detail.png); }
.btn_next:before, .btn_link:before, .btn_order_print:before, .btn_receipt:before, .btn_receipt_negative:before, .btn_detail:before { vertical-align: text-bottom; content: ''; display: inline-block; width: 1.2em; height: 1.2em; background-repeat: no-repeat; background-position: center center; background-size: 1.2em 1.2em; margin-right: .2em; }

button.btn, button.btn_primary, button.btn_link, button.btn_ok, button.btn_next, button.btn_order_print, button.btn_receipt, button.btn_receipt_negative, button.btn_detail, button.btn_back { border: none; padding: .6em 1.6em; }
button.btn:before, button.btn_primary:before, button.btn_link:before, button.btn_ok:before, button.btn_next:before, button.btn_order_print:before, button.btn_receipt:before, button.btn_receipt_negative:before, button.btn_detail:before, button.btn_back:before { position: static; }

@supports ((-webkit-font-feature-settings: "palt") or (font-feature-settings: "palt")) { #lead { -webkit-font-feature-settings: 'palt'; font-feature-settings: 'palt'; letter-spacing: .2px; }
  .kt h1 { -webkit-font-feature-settings: 'palt' !important; font-feature-settings: 'palt' !important; vertical-align: middle; }
  .kt h1 .small { position: relative; top: -.1em; }
  .kt h1.kakko { margin-left: 0 !important; } }
#contents { overflow: hidden; }
@media screen and (min-width: 600px) { #contents { max-width: 900px; } }
@media screen and (min-width: 960px) { #contents { overflow: visible; max-width: none; } }

@media screen and (min-width: 600px) { #lead { max-width: 690px; margin: auto; } }
#lead p { color: #005d97; font-size: 1.4em; line-height: 1.5; font-weight: bold; margin-top: 10px; }
@media screen and (max-width: 767px) { #lead p { font-size: 1.2em; } }
#lead ul { display: block; text-align: center; padding-bottom: 15px; padding-top: 10px; }
#lead ul li { font-size: 1.4em; color: #005d97; letter-spacing: -0.05em; }
@media screen and (max-width: 767px) { #lead ul li { font-size: 1.2em; } }

#sp-point li br { display: none; }
@media screen and (max-width: 767px) { #sp-point li br { display: block; } }
#sp-point li:before { content: '★☆★'; display: inline; }
@media screen and (max-width: 767px) { #sp-point li:before { display: block; } }
#sp-point li:after { content: '★☆★'; display: inline; }
@media screen and (max-width: 767px) { #sp-point li:after { display: none; } }
@media screen and (max-width: 767px) { #sp-point li:last-child:after { display: block; } }

#tour-info { display: -webkit-box; display: -ms-flexbox; display: flex; }
@media screen and (max-width: 767px) { #tour-info { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }
@media screen and (min-width: 600px) { #tour-info { max-width: 690px; margin: auto; } }

#map { width: 300px; margin: 20px 20px 20px 0; }
@media screen and (max-width: 767px) { #map { width: 100%; height: 360px; text-align: center; }
  #map iframe { width: 100%; height: 100%; } }

#info { margin: 20px 0 20px 0; width: 100%; }
@media screen and (min-width: 600px) { #info { width: calc(100% - 300px); } }
#info .midashi { font-size: 14px; line-height: 1; color: #c0e5fa; background: #07182A; padding: 4px 10px 2px; border-radius: 8px 8px 0 0; margin: 0 0 8px 0; }
#info p, #info ul { margin: 8px 0 8px 0; }
#info .day { text-indent: -7px; }

.breadcrumb { overflow: visible; }

#pagetitle, .breadcrumb + h1 { width: 100vw; margin-left: -10px; }
@media screen and (min-width: 960px) { #pagetitle, .breadcrumb + h1 { width: auto; margin: auto; } }
#pagetitle img, .breadcrumb + h1 img { width: 100%; height: auto; }

.ryokin { position: relative; background: url(/common/img/tour/ryokin-bg.jpg); text-align: center; overflow: hidden; margin-top: -7px; margin-left: -10px; padding: 8px; width: 100vw; }
@media screen and (min-width: 960px) { .ryokin { margin: -7px auto 0; width: auto; } }
.ryokin table { margin: auto; }
.ryokin table th, .ryokin table tr, .ryokin table td { color: #fff; vertical-align: middle; padding: 8px; }
.ryokin table tr { border-bottom: 1px dotted rgba(255, 255, 255, 0.31); }
.ryokin table tr:last-child { border: none; }
.ryokin table .date { color: #fff; font-size: 18px; }
.ryokin table .type { color: #fff; font-size: 12.5px !important; padding: 4px; }
.ryokin table .price { font-size: 18px; }
.ryokin table .moushikomi { margin: 0 0 0 1em !important; width: auto; }
.ryokin table .hanbai-end:after { top: .2rem; height: 100%; padding: .3em; }
.ryokin a { display: block; position: relative; height: 1.8em; }
.ryokin li { vertical-align: middle; margin: 8px 0; text-align: left; display: inline-block; width: 96%; position: relative; }
@media screen and (max-width: 767px) { .ryokin li { width: 100%; margin-bottom: 16px; text-align: center; } }
.ryokin li img { position: absolute; left: 0; right: 0; margin: auto; }
@media screen and (min-width: 600px) { .ryokin li img { position: static; vertical-align: middle; margin-left: 15px; } }
.ryokin li span, .ryokin li p { display: inline-block; vertical-align: middle; }

.moushikomi { text-align: center; margin-top: 20px; display: inline-block; border-radius: 3em; font-size: 1rem; background: -webkit-gradient(linear, left top, left bottom, color-stop(38%, #C7B76F), color-stop(61%, #E5E600)); background: linear-gradient(to bottom, #C7B76F 38%, #E5E600 61%); border: 1px solid #B27100; position: relative; -webkit-box-shadow: 0 -2px 0.5px #B27100; box-shadow: 0 -2px 0.5px #B27100; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; }
@media screen and (min-width: 600px) { .moushikomi { width: auto; } }
.moushikomi:after { content: ''; display: block; position: absolute; width: 94%; height: 50%; top: 0; left: 3%; background: -webkit-gradient(linear, left top, left bottom, color-stop(38%, #F2C400), color-stop(61%, #D7BD00)); background: linear-gradient(to bottom, #F2C400 38%, #D7BD00 61%); border-radius: 1em; opacity: 0.9; }
.moushikomi:hover { opacity: 0.8; }
.moushikomi a { width: 100%; height: 100%; padding: 0.2em 2em 0.2em 2.5em; display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; color: #fff; font-weight: bold; text-shadow: 0 0 8px #5c4213; letter-spacing: 0.1em; position: relative; z-index: 5; }
.moushikomi a:hover { text-decoration: none; }

.chuuki { font-size: 12px; line-height: 1.4; text-indent: -12px; padding-left: 12px; }

#koutei { position: relative; margin: 3rem auto 0; max-width: 690px; }

.day { padding: 0 0 30px 0; }

.kt { margin: 0 0 2.5rem; padding: 0; background: none; }
@media screen and (min-width: 600px) { .kt { padding-top: 1.2rem; padding-bottom: 3rem; }
  .kt.first { padding-top: 0; }
  .kt.first h1 { padding-top: .4rem; }
  .kt.last { padding-top: 0; } }
@media screen and (min-width: 960px) { .kt { margin: auto; padding-left: 122px; background: url("/common/img/tour/time-bg-line.gif") left top repeat-y; } }
.kt h1 { font-weight: 700; font-size: 23px; color: #015681; padding-bottom: 25px; position: relative; z-index: 1; }
@media screen and (min-width: 960px) { .kt h1 { margin-top: -2rem; }
  .kt h1.only { padding-bottom: 0; }
  .kt h1.kakko { margin-left: -0.5em; }
  .kt h1.small { margin-top: -1.8rem; } }
.kt h1 .small { color: #015681; }
.kt.first { position: relative; }
.kt.first:before { content: ''; display: block; background: #fff; height: 12px; width: 120px; position: absolute; left: 0; top: 0; }
.kt.first .time { background: none; }
@media screen and (min-width: 960px) { .kt.first .small { margin-top: -2.4rem; } }
.kt .small { font-size: 19px; }

.time { font-size: 10px; color: #CC071B; display: block; width: 100%; margin: 0; padding: 0 0 0 1em; background: none; text-align: left; position: relative; }
.time:before { content: ''; display: block; width: 6px; height: 6px; border-radius: 50%; position: absolute; font-size: 10px; left: 0; top: 0.75em; background-color: #CC071B; }
@media screen and (min-width: 960px) { .time { margin-left: -122px; padding-left: 5px; background: url("/common/img/tour/time-bg-line-last.gif") top left no-repeat; }
  .time:before { content: none; } }

.first { margin-top: 10px; }

.kt .notset { padding-left: 51px; text-align: left; }

.kt .notset img { padding-bottom: 3px; }

.last { padding-bottom: 0; margin-bottom: 50px; }

.text { margin: 18px 0; font-size: 15px; }

.noimage .text { margin: 0 0 18px; }

.link { font-size: 14px; text-decoration: underline; text-shadow: 0.1px 0 0; }

.waku { display: inline-block; color: #f06c24; font-size: 13px; font-weight: bold; text-indent: 0; padding: 3px 8px; margin-bottom: 18px; border: 3px solid #f06c24; border-radius: 4px; text-shadow: rgba(54, 27, 12, 0.33) 0 0 0.2px; }
.waku + br + .waku { margin-top: -1rem; }

.kt .chuuki { margin-bottom: 18px; }

.mt0 { margin-top: 10px; }

.image-chuuki { position: absolute; bottom: 24px; right: 0; font-size: 12px; }

#check_f { margin-top: 50px; }

.kanbai, .kanbai-s, .hanbai-end, .hanbai-end-s { position: relative; }

.kanbai img, .hanbai-end img { opacity: 0.5; }

.kanbai:after { content: '完売御礼'; display: block; z-index: 5; position: relative; margin: -37px auto 0; height: 30px; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 5px; top: 0; right: 0; text-align: center; font-size: 18px; font-weight: bold; background: #d7001d; color: #ffffff; }

.hanbai-end:after { content: '販売終了'; display: block; z-index: 5; position: relative; margin: -37px auto 0; height: 30px; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 5px; top: 0; right: 0; text-align: center; font-size: 18px; font-weight: bold; background: #d7001d; color: #ffffff; }

.hanbai-end-s img { opacity: 0.5; }

.hanbai-end-s:after { content: '販売終了'; display: block; z-index: 5; position: absolute; margin: -35px auto 0; width: 100%; height: 43px; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 7px; top: 0; right: 0; text-align: center; font-size: 18px; font-weight: bold; background: #d7001d; color: #ffffff; }

.kanbai-s img { opacity: 0.5; }

.kanbai-s:after { content: '完売御礼'; display: block; z-index: 5; position: absolute; margin: -35px auto 0; width: 100%; height: 43px; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 7px; top: 0; right: 0; text-align: center; font-size: 18px; font-weight: bold; background: rgba(255, 247, 41, 0.36); color: #72633a; }

@media screen and (min-width: 960px) { .pcoff { display: none; } }

.spoff { display: none; }
@media screen and (min-width: 960px) { .spoff { display: block; } }

.info { width: 364px; margin: 20px 0 20px 0; float: right; }
.info .midashi { margin: 0 0 8px 0; }
.info p, .info ul { margin: 8px 0 8px 0; }
.info .day { text-indent: -7px; }
.info .moushikomi { margin-top: 20px; }

.map { width: 300px; margin: 20px 0 20px 0; float: left; }
@media screen and (max-width: 767px) { .map { width: 100%; }
  .map iframe { height: 55vh; width: 100%; } }

@media screen and (max-width: 767px) { .special { width: 100%; }
  .special p { font-size: 1.2rem; }
  .special br { display: inline; } }

@media screen and (max-width: 767px) { .kt .info { border: 2px solid #aacd06; padding: 15px; margin: 0 0 18px 0; width: 528px; float: none; position: relative; }
  .kt .info h1 { position: absolute; left: -5px; top: 20px; font-size: 16px; background: #fff; display: inline; padding: 5px; }
  .kt .info ul.chuuki { text-indent: -16px; padding-left: 16px; }
  .kt .info .chuuki li { font-size: 14px; line-height: 1.6; text-shadow: 0.3px 0 0; }
  .kt .info .chuuki li:before { content: '■'; } }

@media screen and (max-width: 768px) { .info { width: 100%; }
  .info .midashi { background: #07182A; text-align: center; font-size: 1.1rem; font-weight: bold; border-radius: 2px 2px 0 0; }
  .info .midashi .pcoff { color: #fff; }
  .kt.kt-s { margin: 0 0 1rem !important; }
  .kt h1 { font-size: 1.4rem !important; margin: 0 0 0 !important; padding: 0 0 0.5em !important; line-height: 1.2 !important; }
  .kt h1.only { margin: 0 0 1rem !important; }
  .kt h1.small { font-size: 1.2rem !important; padding: 0 0 1em !important; }
  .kt p { max-width: 100%; }
  #koutei .first .small { margin-top: 0 !important; }
  .first .small, x:-moz-any-link { margin-top: 0 !important; }
  #left-menu { display: none; }
  .image-chuuki { bottom: -2em; }
  .kt .text { width: 100%; } }
#page-header { text-align: center; margin: 0 auto 4rem; }
#page-header p { text-align: left; font-size: 15px; }
#page-header p br { display: none; }
@media screen and (min-width: 600px) { #page-header p { text-align: center; }
  #page-header p br { display: inline; } }
#page-header .chuuki { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 2rem auto; padding: 1em 2em; border: 1px solid #1F8A70; border-radius: 8px; text-align: left; font-size: .9rem; }
@media screen and (min-width: 600px) { #page-header .chuuki { width: 80%; } }
#page-header .btn_next { min-width: 70%; margin: 1rem .3rem 0; }
@media screen and (min-width: 600px) { #page-header .btn_next { min-width: 0; } }

#page-title { margin-bottom: 1.5rem; border-radius: 4px; }
#page-title img { width: 100%; margin-bottom: 2.4rem; }
#page-title h1 { font-size: 2.4rem; line-height: .9; margin-bottom: .8rem; font-weight: normal; padding: 0 2rem; }
#page-title h1 span { font-size: 1rem; color: #777777; }
#page-title h2 { font-size: 1.1rem; font-weight: normal; padding: 0 2rem; }

#tour-list li { display: inline-block; width: 100%; margin-bottom: 1.6rem; vertical-align: top; }
#tour-list li.sale .image:before { content: '販売中'; background: #FD7400; font-size: 1.3rem; font-weight: bold; }
#tour-list li.end .image:before { content: '販売終了'; background: #231815; font-size: 1rem; }
#tour-list li.sale .image:before, #tour-list li.end .image:before { position: absolute; display: inline-block; bottom: 0; right: 0; color: #fff; padding: .2em .4em; }
@media screen and (min-width: 600px) { #tour-list li { width: 32%; margin-right: 1%; }
  #tour-list li:nth-child(3n) { margin-right: 0; } }
#tour-list .image { width: 40%; height: 100%; float: left; margin-right: 2%; overflow: hidden; border-radius: 4px; position: relative; }
@media screen and (min-width: 600px) { #tour-list .image { width: 100%; margin: 0 0 .5rem 0; } }
#tour-list .image img { display: block; width: 100%; -webkit-transition: -webkit-transform .4s ease; transition: -webkit-transform .4s ease; transition: transform .4s ease; transition: transform .4s ease, -webkit-transform .4s ease; }
#tour-list .image img:hover { -webkit-transform: scale(1.2); transform: scale(1.2); }
#tour-list .data { display: inline-block; width: 58%; }
@media screen and (min-width: 600px) { #tour-list .data { width: 100%; } }
#tour-list h3 { font-size: 1.2rem; margin-bottom: .4em; }
@media screen and (min-width: 600px) { #tour-list h3 { font-size: 1.15rem; padding-right: 1em; } }
#tour-list .tag p { line-height: 14px; font-size: 10px; padding: 2px .6em; background: #1F8A70; display: inline-block; color: #fff; }
