/* ver.010 */

/* Setting
------------------------------------------*/

/* Reset */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    background:transparent;
    font-weight: normal;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block; }
nav ul { list-style:none; }
ul, ol, li { list-style-type: none; }
table { border-collapse:collapse; border-spacing:0; font-size:inherit; font:100%; }
input, select { vertical-align:middle; }
img { vertical-align: bottom; }
a img { border:none; max-width:100%; }
a:focus { outline:none; }
p { margin:0; padding:0; }

/* Clearfix */

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

/* Link */

a,
a:link,
a:visited {	text-decoration: none; color:#0E419A; }
a:hover {	text-decoration: none; color:#145bd8; }

/* Button1 */

a.button1,
input[type='reset'], 
input[type='button'], 
input[type='submit'] {
	appearance: none;
	-webkit-appearance: none;
	display: inline-block;
	cursor: pointer;
 	line-height: 1.2;
	font-size: 100%;
	font-weight: bold;
	padding: 15px 20px;
	box-sizing: border-box;
	text-decoration: none;
	color: #fff;
	background: #ff9900;
	border: none;
	border-radius: 3px;
	max-width: 100%;
	white-space: normal;
}
a.button1:hover,
input[type='reset']:hover,
input[type='button']:hover,
input[type='submit']:hover {
	color: #fff;
	background: #ffb444;
	transition: .1s;
}
a.button1:active,
input[type='reset']:active,
input[type='button']:active,
input[type='submit']:active {
	color: #fff;
	background: #ee8f00;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1) inset;
}

/* Button2 */

a.button2,
input[type='reset'].button2, 
input[type='button'].button2, 
input[type='submit'].button2 {
	appearance: none;
	-webkit-appearance: none;
	display: inline-block;
	cursor: pointer;
	line-height: 1.2;
	font-size: 100%;
	font-weight: bold;
	padding: 15px 20px;
	box-sizing: border-box;
	text-decoration: none;
	color: #ff9900;
	background: #fff;
	border: 2px solid #ff9900;
	border-radius: 3px;
	max-width: 100%;
	white-space: normal;
}
a.button2:hover,
input[type='reset'].button2:hover, 
input[type='button'].button2:hover, 
input[type='submit'].button2:hover {
	color: #ffb444;
	background: #fff;
	border-color: #ffb444;
	transition: .1s;
}
a.button2:active,
input[type='reset'].button2:active,
input[type='button'].button2:active,
input[type='submit'].button2:active {
	color: #ffb444;
	background: #fff8ee;
	border-color: #ffb444;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1) inset;
}


/* Text */

input[type='password'],
input[type='text'] {
	padding: 10px;
	margin: 3px 10px 3px 0;
	border: 1px solid #e1e1e1;
	border-radius: 2px;
	box-sizing: border-box;
	outline: none;
	line-height:1;
	height: 40px;
	font-size: 100%;
	appearance: none;
	-webkit-appearance: none;
}
::placeholder { color:#e1e1e1; }

/* Select */

.tourCrs_li select {
  border: 1px solid #d0d0d0;
  border-radius: 2px;
  box-sizing: border-box;
  outline: none;
  line-height:1;
  background-image: none;
  box-shadow: none;
  background: #fff;
  font-size: 100%;
  color: #484848;
}
.selectWrap {
	overflow: hidden;
	width: auto;
	/*max-width: 100%;*/
	display: inline-block;
	/*width: 90%;
	margin: 2em auto;*/
	text-align: center;
}
.selectWrap select {
	/*width: auto;*/
	width: 100%;
	/*max-width: 100%;*/
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	color: #484848;
	font-size: 100%;
}
.selectWrap select::-ms-expand {
	display: none;
}
.selectWrap.selectArrow {
	position: relative;
	border: 1px solid #e1e1e1;
	border-radius: 2px;
	background: #ffffff;
}
.selectWrap.selectArrow::before {
	position: absolute;
	top: 0.9em;
	right: 0.5em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.selectWrap.selectArrow select {
	padding: 8px 38px 8px 8px;
}



/* Basic
------------------------------------------*/

html{ scroll-behavior: smooth; background: #e9e9e9; }

body {
	font: 16px/2 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	color: #484848;
	-webkit-text-size-adjust: none;
	padding: 0;
	margin: 0 auto;
	background:#fafafa;
	min-width: 1080px;
}
@media screen and (max-width:680px){
	body { min-width: 100%; width: 100%; }
}

/*　Blockquote　*/

blockquote {
	clear: both;
	padding: 30px 20px 0px 70px;
	margin-bottom: 20px;
	border-radius: 5px;
	background: #f2f2f2;
}

/* Table */

table {
	clear:both;
	width: 100%;
	border-top: 1px solid #e1e1e1;
	border-right: 1px solid #e1e1e1;
	border-left: 1px solid #e1e1e1;
	margin: 30px 0 ;
}
table th {
	color: #8c8c8c;
	background: #f2f2f2;
	border-bottom: 1px solid #e1e1e1;
	border-left: 1px solid #e1e1e1;
	padding: 3px 10px;
	font-weight: normal;
	text-align: left;
	font-size: 90%;
}
table td {
	border-bottom: 1px solid #e1e1e1;
	border-left: 1px solid #e1e1e1;
	padding: 3px 10px;
	text-align: left;
}



/* Header
------------------------------------------*/

#hdr { min-width: 1080px; box-sizing: border-box; line-height: 1; padding: 5px 15px 20px; border-bottom: 1px solid #e1e1e1; display: flex; flex-flow: wrap; align-items: center; background: #fff }

.hdrName { width:60%; line-height: 1.4; }
.hdrName a { display: flex; align-items: center; color: #484848; }
.hdrName_logo { padding-right: 10px; min-height: 50px; }
.hdrName_logo img { max-height: 100px; }
.hdrBy { order: -1; width: 100%; text-align: right; font-size: 80%; color: #aeaeae; padding: 0 15px; }
.hdrMenu { width:40%; display: flex; justify-content: flex-end; padding: 0 15px; box-sizing: border-box; }
.hdrMenu a { margin-left: 20px; color: #484848; }
.hdrMenu a:hover { color:#145bd8; }
.hdrMenu i { padding: 0 5px 0 0; }

@media screen and (max-width:680px){
#hdr { min-width: 100%; width: 100%; }
.hdrName { width:100%; padding: 5px 0 0; font-size: 80%; }
.hdrBy { padding: 0; }
.hdrMenu { width:100%; font-size: 80%; padding: 15px 0 0; }
}


/* Footer
------------------------------------------*/

#ftr { line-height: 1; padding:30px; background:#e9e9e9; color:#aeaeae; }
#ftr a { color: #8c8c8c; }
#ftr a:hover { color: #aeaeae; }

.ftrBy {}

.ftrMenu1 {  padding-top: 20px; font-size: 80%; }
.ftrMenu1 li { float: left; padding: 0 10px; margin-bottom: 10px; border-left: 1px solid #8c8c8c; }
.ftrMenu1 li:first-child { padding-left: 0; border-width: 0; }

.ftrMenu2 { clear: both; padding-top: 10px; font-size: 70%; }
.ftrMenu2 li { float: left; padding: 0 10px; margin-bottom: 10px; border-left: 1px solid #8c8c8c; }
.ftrMenu2 li:first-child { padding-left: 0; border-width: 0;}

.ftrCr { clear: both; text-align: right; font-size: 11px;  padding-top: 20px; }



/* breadcrumbs
------------------------------------------*/

#breadcrumbWrap { line-height: 1.2; }
.breadcrumb { width: 1080px; padding: 10px 0; margin: 0 auto; display:flex; flex-wrap: wrap; font-size: 70%; color:#8c8c8c; }
.breadcrumb p { padding-right: 5px; }
.breadcrumb a { color: #8c8c8c; }
.breadcrumb a:hover { color: #aeaeae; text-decoration: underline; }

@media screen and (max-width:680px){
.breadcrumb { width: 100%; padding: 10px 15px; box-sizing: border-box; }
}



/* Side Contents (Common)
------------------------------------------*/

.subMenu { }
.subMenu_src { }
.subMenu_src_ttl { font-weight: bold; padding: 0 0 10px; }
.subMenu_src_word input[type='text'] { width: 100%; }
.subMenu_src_btn { text-align: center }
.subMenu_src_btn input[type='submit'] { width: 80%; margin-top: 10px; }

.subMenu_cate {}
.subMenu_cate_ttl { font-weight: bold; padding: 30px 0 10px; }
ul.subMenu_cate_li { border-top:1px solid #e1e1e1; padding-bottom: 30px; line-height: 1.4; font-size: 90%; }
ul.subMenu_cate_li a { display: block; padding: 10px; border-bottom: 1px solid #e1e1e1; }



/* Top Page
------------------------------------------*/

/* レイアウト */

.afTopPage #contents { padding: 0 0 50px; }
.afTopPage #contentsInnr { width: 1080px; margin: 0 auto; padding-top: 50px; display: flex; flex-direction: row-reverse; }
.afTopPage #contentsMain { width: 830px; }
.afTopPage #contentsSub { width: 200px; margin-right: 50px; }

@media screen and (max-width:680px){
.afTopPage #contentsInnr { width: 100%; margin: 0; padding: 30px 0 0; display: flex; flex-flow: wrap; }
.afTopPage #contentsMain { width: 100%; margin: 0; padding: 0 15px; box-sizing: border-box; }
.afTopPage #contentsSub { width: 100%; margin: 0; padding: 50px 15px 0; box-sizing: border-box; }
}

/* 提携企業からのメッセージ */

#TopMsgWrap { }
.TopMsg { padding: 20px; background: #fff; font-size: 90%; line-height: 1.6; border-bottom: 1px solid #e1e1e1; }
.TopMsg a { text-decoration: underline; }
.TopMsg b,
.TopMsg strong { font-weight: bold; }

/* おすすめスライドショー */

.TopRecoTtl { width: 1080px; padding-top: 30px; margin: 0 auto; font-weight: bold; font-size: 120%; }
.TopReco { width: 1080px; padding-top: 10px; margin: 0 auto; }
.TopReco .pic { position: relative; }
.TopReco .pic img { width: 100%; height: 150px; object-fit: cover; }
.TopReco .caption { width: 100%; padding: 5px 10px; box-sizing: border-box; position: absolute; bottom:0px; z-index: 10; background-color: rgba(0,0,0,0.2); line-height: 1.4; color:#fff; }

@media screen and (max-width:680px){
.TopRecoTtl,
.TopReco { display: none; }
}

/* ツアータイトル */

.opSrcTtl { line-height: 1.6; }
.opSrcTtl_1 { font-size:200%; font-weight: bold; text-align: center; position: relative; }
.opSrcTtl_1:after {
	content: '';
	position: absolute;
	width: 10%;
	height: 5px;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #484848;
}

@media screen and (max-width:680px){
.opSrcTtl_1 { font-size: 140%; }
}

/* 並び替え */

.opSrcSort_li { padding-top: 30px; display: flex; flex-wrap: wrap; font-size: 80%; }
.opSrcSort_li p { padding: 0 10px 0 0; }
.opSrcSort_filter { display: flex; flex-wrap: wrap; font-size: 80%; }
.opSrcSort_filter p { padding: 0 10px 0 0; }
@media screen and (max-width:680px){
.opSrcSort_filter p:nth-child(4) { width: 100%; }
}

/* ツアーリスト */

.opSrcLi { padding-top: 30px; display: flex; flex-wrap: wrap; }
.opSrcLi a { width: 23%; margin:0 1% 25px; color: #484848; box-sizing: border-box; border: 1px solid #e1e1e1; background: #fff }
.opSrcLi a:hover { box-shadow: 0 0 5px 0 #aeaeae; transition: .3s; }
.opSrcLi a:hover .opSrcLi_box_ttl,
.opSrcLi a:hover .opSrcLi_box_subTtl {	color:#145bd8; }
.opSrcLi_box { width: 100%; padding: 0 0 20px; line-height: 1.2; }
.opSrcLi_box_pic img { width: 100%; height: 130px; object-fit: cover; }
.opSrcLi_box_ttl { padding: 15px 15px 0; font-size: 80%; font-weight: bold; line-height: 1.6;  color:#0E419A; }
.opSrcLi_box_subTtl { padding: 0 15px; font-size: 70%; line-height: 1.6; color:#0E419A; }
.opSrcLi_box_i { padding: 0 15px; font-size: 80%; }
.opSrcLi_box_i li { float: left; line-height: 1; padding: 3px; margin: 5px 3px 0 0; background: #ff9900; border-radius:3px; color: #fff; font-size: 80%; }
.opSrcLi_box_i li.opSrcLi_box_i_sale { background: #cc0000; }
.opSrcLi_box_star { clear: both; padding: 5px 15px 0; font-size: 80%; color:#ff9900; }
.opSrcLi_box_star .num { font-size: 80%; color:#8c8c8c }
.opSrcLi_box_price { clear: both; padding: 0 15px; color: #CC0000; text-align: right; font-weight: bold; font-size: 120%; }
.opSrcLi_box_price .item { /*font-size: 80%; padding-right: 10px;*/ display: none; }
.opSrcLi_box_price .price { font-weight: bold; }

.opSrcLi_noLi { width: 100%; padding: 30px; border: 1px solid #e1e1e1; background: #fff }

@media screen and (max-width:680px){
.opSrcLi a  { width: 46%; margin:0 2% 25px; }
.opSrcLi_box { }
.opSrcLi_box_pic img { height: 120px; }
}

/* ページネーション */

.opSrcPgNum { background: #f2f2f2; padding: 10px 10px 0; margin: 0 auto; }
ol.opSrcPgNum_li li { float: left; }
ol.opSrcPgNum_li li a { display: block; background: #fff; line-height: 1; font-size: 80%; padding: 10px; margin: 0 10px 10px 0; }



/* Tour Page
------------------------------------------*/

/* レイアウト */

.afTourPage #contents { padding: 15px 0 100px; }
.afTourPage #contentsInnr { width: 1080px; padding-top: 30px; margin: 0 auto; display: flex; flex-direction: row-reverse; }
.afTourPage #contentsMain { width: 830px; }
.afTourPage #contentsSub { width: 200px; margin-right: 50px; }

@media screen and (max-width:680px){
.afTourPage #contentsInnr { width: 100%; margin: 0; padding: 15px 0 0; display: flex; flex-flow: wrap; }
.afTourPage #contentsMain { width: 100%; margin: 0; padding: 0 15px; box-sizing: border-box; }
.afTourPage #contentsSub { width: 100%; margin: 0; padding: 50px 15px 0; box-sizing: border-box; }
}

/* タイトル */

.tourTtl { padding: 0 50px 50px; display: flex; flex-wrap:wrap-reverse; line-height: 1.6; text-align: center; }
.tourTtl_1 { font-size:160%; font-weight: bold; width: 1080px; margin: 0 auto; position: relative; }
.tourTtl_1:after {
	content: '';
	position: absolute;
	width: 10%;
	height: 5px;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #484848;
}
.tourTtl_2 { font-size:110%; width: 1080px; margin: 0 auto; position: relative; }

@media screen and (max-width:680px){
.tourTtl { padding: 0 0 45px; }
.tourTtl_1 { font-size: 130%; }
.tourTtl_2 { font-size: 100%; }
}

/* スライドショー */

.tourPic img { width: 100%; height: 500px; object-fit: cover; }

@media screen and (max-width:680px){
.tourPic img { height: 250px; }
}

/* ツアー概要 */

.tourDtl { display: flex; flex-flow: wrap; justify-content: flex-end; align-items:center; padding-top: 10px; }
.tourDtl_spot,
.tourDtl_cate,
.tourDtl_star { font-size: 80%; color: #8c8c8c; padding-right:20px; }
.tourDtl_spot i,
.tourDtl_cate i,
.tourDtl_star i { padding-right: 5px; }
.tourDtl_star b { color: #ff9900; }
.tourDtl_price { color: #CC0000; }
.tourDtl_price b { font-size: 200%; font-weight: bold; }
.tourDtl_txt { width: 100%; font-size: 14px; line-height: 1.6; }
.tourDtl_txt ol,
.tourDtl_txt ul { padding: 0 0 1em 1.5em; }
.tourDtl_txt ol li { list-style: decimal; }
.tourDtl_txt ul li { list-style: disc; }
.tourDtl_txt strong,
.tourDtl_txt strong span,
.tourDtl_txt b { font-weight: bold; }

/* コース情報 */

.tourCrs_ttl { padding: 10px 20px; margin-top: 30px; font-weight: bold; background:#f2f2f2; }
.tourCrs_li { border: 1px solid #e1e1e1; padding:30px; margin: 20px 0; clear: both; background: #fff }
.tourCrs_li_pic { float: left; padding-right: 20px; }
.tourCrs_li_pic img { width: 160px; height: 100px; object-fit: cover; }

@media screen and (max-width:680px){
.tourCrs_li { padding: 15px; }
.tourCrs_li_pic img { width: 100px; height: 63px; }
}

/* コース Summary */

.tourCrs_li_smr { overflow: hidden; line-height: 1.4; }
.tourCrs_li_smr_ttl { padding-bottom: 5px; }
.tourCrs_li_smr_adl,
.tourCrs_li_smr_chi,
.tourCrs_li_smr_inf { font-size: 70%; padding-right: 15px; }
.tourCrs_li_smr_adl .price,
.tourCrs_li_smr_chi .price,
.tourCrs_li_smr_inf .price { color: #CC0000; font-size: 150%; padding-left: 10px; font-weight: bold; }
.tourCrs_li_smr_adl .sale,
.tourCrs_li_smr_chi .sale,
.tourCrs_li_smr_inf .sale { color: #CC0000; font-size: 120%; font-weight: bold; margin-left: 10px; border-radius: 5px; background:linear-gradient(transparent 50%, yellow 50%); }

/* コース Detail */

.tourCrs_li_dtl { clear:both; padding-top: 20px; }
.tourCrs_li_dtl_box_morebtn { padding: 5px; text-align: center; background: #e9e9e9; cursor: pointer; color:#0E419A }
.tourCrs_li_dtl_box_morebtn:hover { color: #145bd8; }
.tourCrs_li_dtl_box { padding: 30px; }
.tourCrs_li_dtl_box_txt { font-size: 14px; line-height: 1.6; }
.tourCrs_li_dtl_box_txt ol,
.tourCrs_li_dtl_box_txt ul { padding: 0 0 1em 1.5em; }
.tourCrs_li_dtl_box_txt ol li { list-style: decimal; }
.tourCrs_li_dtl_box_txt ul li { list-style: disc; }
.tourCrs_li_dtl_box_txt strong,
.tourCrs_li_dtl_box_txt strong span,
.tourCrs_li_dtl_box_txt b { font-weight: bold; }

@media screen and (max-width:680px){
.tourCrs_li_dtl_box { padding: 0 0 30px; }
}

table.tourCrs_li_dtl_box_tbl {
	border-top: 1px solid #e1e1e1;
	border-right: 0px solid #e1e1e1;
	border-left: 0px solid #e1e1e1;
	margin: 30px 0 ;
	font-size: 80%;
	line-height: 1.6;
}
table.tourCrs_li_dtl_box_tbl th {
	color: #8c8c8c;
	width: 30%;
	background: initial;
	border-bottom: 1px solid #e1e1e1;
	border-left: 0px solid #e1e1e1;
	padding: 5px 10px;
	font-weight: normal;
	text-align: left;
}
table.tourCrs_li_dtl_box_tbl td {
	border-bottom: 1px solid #e1e1e1;
	border-left: 0px solid #e1e1e1;
	padding: 3px 5px;
	text-align: left;
}

table.tourCrs_li_dtl_box_tbl td .schedule-select { height: 33px; font-size: 116%; }
table.tourCrs_li_dtl_box_tbl td .schedule-ttl { padding-top: 5px; font-size: 115%; }
table.tourCrs_li_dtl_box_tbl td .schedule-ttl span { font-weight: bold; }
table.tourCrs_li_dtl_box_tbl td .schedule-img img { max-width: 60%; border-radius: 5px; }

.tourCrs_li_dtl_box_tbl_qa { display: flex; flex-wrap: wrap; padding: 0 0 1em 0; }
.tourCrs_li_dtl_box_tbl_qa:last-child { padding: 0; }
p.tourCrs_li_dtl_box_tbl_qa_q { width: 30px; padding: 0; font-weight: bold; }
p.tourCrs_li_dtl_box_tbl_qa_qTxt { width: calc(100% - 30px); font-weight: bold; padding: 0; }
p.tourCrs_li_dtl_box_tbl_qa_a { width: 30px; padding: 0; font-weight: bold; }
.tourCrs_li_dtl_box_tbl_qa_aTxt { width: calc(100% - 30px); }

/* 料金・予約の箱 */

.tourCrs_li_dtl_box_rsv { border:5px solid #e1e1e1; padding:30px; font-size:90%; }
@media screen and (max-width:680px){
.tourCrs_li_dtl_box_rsv { padding: 15px; }
}
.tourCrs_li_dtl_box_rsv_error { width: 100%; padding: 20px; margin: 0 0 20px; box-sizing: border-box; text-align: left; border:3px solid #CC0000; border-radius: 5px; color:#CC0000; background: #fdd; font-weight: bold; }
.tourCrs_li_dtl_box_rsv_tourTtl {}
.tourCrs_li_dtl_box_rsv_crsTtl { padding-bottom: 20px; }
.tourCrs_li_dtl_box_rsv_stepTtl { padding: 5px; margin: 0 0 20px; text-align: center; color: #fff; background: #484848; border-radius: 5px; position: relative; }
.tourCrs_li_dtl_box_rsv_stepTtl:after {
	content: '';
	position: absolute;
	bottom: -10px;
	right: 48%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #484848 transparent transparent transparent;
}
.tourCrs_li_dtl_box_rsv_tbl + .tourCrs_li_dtl_box_rsv_stepTtl { margin-top: 30px; }

.tourCrs_li_dtl_box_rsv_period { font-weight: bold; }
.tourCrs_li_dtl_box_rsv_tbl { margin: 0 0 20px; font-size:90%; line-height: 1.4 }
.tourCrs_li_dtl_box_rsv_tbl th { text-align: center; }
.tourCrs_li_dtl_box_rsv_tbl .th1 { }
.tourCrs_li_dtl_box_rsv_tbl .th2,
.tourCrs_li_dtl_box_rsv_tbl .th3 { width:20%; }
.tourCrs_li_dtl_box_rsv_tbl .th4 { width:80px; }
.tourCrs_li_dtl_box_rsv_tbl .item { font-size: 90%; }
.tourCrs_li_dtl_box_rsv_tbl .xprice { font-size:120%; text-align: center; text-decoration: line-through; }
.tourCrs_li_dtl_box_rsv_tbl .price { font-size:120%; text-align: center; color: #CC0000; font-weight: bold; }
.tourCrs_li_dtl_box_rsv_tbl .person { text-align: right; }
.tourCrs_li_dtl_box_rsv_tbl .person .selectWrap { float: left; }
.tourCrs_li_dtl_box_rsv_tbl .person .unit { float: left; padding: 8px 0 0 3px; }

/* 参加日・カレンダー */

.tourCrs_li_dtl_box_rsv_day { float:left; position:relative; }
.tourCrs_li_dtl_box_rsv_day input[type="text"] { height:38px; padding:0 10px; border:1px solid #DDD; border-radius:3px; }
.tourCrs_li_dtl_box_rsv_day img { display:none;/* position:relative; right:30px; bottom:20px;*/ }
.tourCrs_li_dtl_box_rsv_day table { margin: 0; border-width: 0px; }
.tourCrs_li_dtl_box_rsv_day table th { border-width: 0px; }
.tourCrs_li_dtl_box_rsv_day table td { border-width: 0px; }

/* 手仕舞い・ボタン */

.tourCrs_li_dtl_box_rsv_tejimai { clear: both; padding: 10px 0; }
.tourCrs_li_dtl_box_rsv_goCart { padding:20px; text-align: center; background:#fff8ee; border:3px solid #ff9900; }

/* ご案内・ご注意 */

.tourAdd { padding-top: 30px; }
.tourAdd_ttl { padding: 10px 20px; font-weight: bold; background:#f2f2f2; }
.tourAdd_subTtl { padding: 10px 0; font-weight: bold; }
.tourAdd_txt { font-size:90%; line-height: 1.6; }
.tourAdd_txt p,
.tourAdd_txt ul{ padding-bottom: 10px; }
.tourAdd_txt ul li { list-style: disc; margin-left: 20px; }
.tourAdd_txt strong { font-weight: bold; }
.tourAdd_txt_allnotice { font-size: 12px; }

.tourAdd_txt_qa { display: flex; flex-wrap: wrap; padding: 0 0 1em 0; }
.tourAdd_txt_qa:last-child { padding: 0; }
p.tourAdd_txt_qa_q { width: 30px; padding: 0; font-weight: bold; }
p.tourAdd_txt_qa_qTxt { width: calc(100% - 30px); font-weight: bold; padding: 0; }
p.tourAdd_txt_qa_a { width: 30px; padding: 0; font-weight: bold; }
.tourAdd_txt_qa_aTxt { width: calc(100% - 30px); }

/* 口コミ */

.tourVic { padding-top: 30px; }
.tourVic_ttl { padding: 10px 20px; margin-bottom: 20px; font-weight: bold; background:#f2f2f2; }
.tourVic_box { border: 1px solid #ddd; padding: 20px; margin-bottom: 20px; font-size: 80%; color: #aaa; background: #fff }
.tourVic_box_ttl { padding-bottom: 5px; }
.tourVic_box_txt { height: 50px; overflow: hidden; position: relative; }
.tourVic_box_txt:after {
	content: "　　...";
	position: absolute;
	bottom: 0px;
	right: 0px;
	background-color: #fff;
}
.tourVic_box_txt br { display: none; }

.tourVic_next { text-align: right; font-size: 80%; }
.tourVic_next i { padding-left: 10px; }

/* 関連ツアー */

.tourOtr { padding-top: 30px; }
.tourOtr_ttl { padding: 10px 20px; margin-bottom: 20px; font-weight: bold; background:#F2F2F2; }

.tourOtr_box { width: 100%; padding-top: 10px; margin: 0 auto; }
.tourOtr_box .pic { position: relative; }
.tourOtr_box .pic img { width: 100%; height: 150px; object-fit: cover; }
.tourOtr_box .caption { width: 100%; padding: 5px 10px; box-sizing: border-box; position: absolute; bottom:0px; z-index: 10; background-color: rgba(0,0,0,0.2); line-height: 1.4; color:#fff; }

@media screen and (max-width:680px){
.tourOtr_box .pic img { height: 80px; }
.tourOtr_box .caption { display: none; }
}

.tourOtr_next { padding-top: 20px; text-align: right; font-size: 80%; }
.tourOtr_next i { padding-left: 10px; }



/* Cart Page
------------------------------------------*/

/* レイアウト */

.afCartPage #contents { padding: 15px 0 100px; }
.afCartPage #contentsInnr { width: 1080px; padding-top:30px; margin: 0 auto; display: flex; }
.afCartPage #contentsMain { width: 680px; padding-right:50px; }
.afCartPage #contentsSub { width: 350px; }

@media screen and (max-width:680px){
.afCartPage #contentsInnr { width: 100%; margin: 0; padding: 20px 0; display: flex; flex-flow: wrap; }
.afCartPage #contentsMain { width: 100%; margin: 0; padding: 0 15px; box-sizing: border-box; }
.afCartPage #contentsSub { width: 100%; margin: 0; padding: 50px 15px 0; box-sizing: border-box; }
}

/* タイトル */

.cartTtl_1 { padding: 10px 15px 0; font-size:200%; font-weight: bold; text-align: center; }

@media screen and (max-width:680px){
.cartTtl_1 { font-size: 160%; }
}

/* リスト */

.cartNon { padding: 30px; margin-bottom: 30px; background: #f2f2f2; }
.cartLiTbl { margin-top:0; }
.cartLiTbl th { width: 25%; }
.cartAdd { text-align: center; }


/* 予約ボタン */

.cartRsv { position: -webkit-sticky; position: sticky; top: 20px; border:5px solid #e1e1e1; padding:20px; background: #fff }

.cartRsv_mypg_ttl { font-weight: bold; padding-bottom: 15px; }
.cartRsv_mypg_btn { text-align: center; }
.cartRsv_mypg_btn a { width: 100%; }

.cartRsv_rsv_ttl { padding: 20px 0 15px; font-weight: bold; }
.cartRsv_rsv_tbl { margin-top: 0; }
.cartRsv_rsv_tbl th { width:25%; }

.cartRsv_rsv_btn { padding: 20px; background:#fff8ee; text-align: center; border:5px solid #ff9900; }
.cartRsv_rsv_ssl { padding-top: 10px; font-size: 70%; }



/* ヘルプページ
------------------------------------------*/

/* レイアウト */

.afHelpPage #contents { padding: 15px 0 100px; }
.afHelpPage #contentsInnr { width: 780px; padding-top: 30px; margin: 0 auto; display: flex; flex-direction: row-reverse; }
.afHelpPage #contentsMain { width: 100%; margin: 0; padding: 0; }

@media screen and (max-width:680px){
.afHelpPage #contentsInnr { width: 100%; margin: 0; padding: 15px 0 0; display: flex; flex-flow: wrap; }
.afHelpPage #contentsMain { width: 100%; margin: 0; padding: 0 15px; box-sizing: border-box; }
}

/* タイトル */

.helpTtl_1 { padding: 10px 15px 0; font-size:200%; font-weight: bold; text-align: center; }

@media screen and (max-width:680px){
.helpTtl_1 { font-size: 160%; }
}

/* 目次 */

.helpIdx { padding: 20px; background: #f2f2f2; }
.helpIdx li { list-style:circle; margin-left: 30px; }

/* カテタイトル */

.helpIdxTtl { font-size: 130%; font-weight: bold; padding-top: 50px; }

/* Q and A アコーディオン */
.helpQA { margin: 0; padding: 0; }
.helpQA label { display: block; margin: 20px 0 0; padding : 15px 20px 15px 50px; background: #f2f2f2; cursor :pointer; font-weight: bold; position:relative; line-height: 1.6; color:#0E419A; } /*ボタンのラベル部分*/
.helpQA label::before { content: '▼'; font-family: 'FontAwesome'; left: 20px; position:absolute; color: #d0d0d0; } /*アイコン*/
.helpQA label:hover { color: #145bd8; }
.helpQA input { display: none; }
.helpQA .helpQA_show { height: 0; padding: 0 20px; overflow: hidden; opacity: 0; transition: 0.5s; line-height: 1.6; } /*回答表示*/
.helpQA .helpQA_show p + p { padding-top: 20px; }
.helpQA .helpQA_show ol,
.helpQA .helpQA_show ul{ padding: 0 0 0 20px; }
.helpQA .helpQA_show ol li { list-style: decimal; }
.helpQA .helpQA_show ul li { list-style: disc; }
.helpQA .helpQA_show p + ol,
.helpQA .helpQA_show p + ul { padding-top: 20px; }
.helpQA_btn:checked + label + .helpQA_show { height: auto; padding: 20px; opacity: 1; } /*開閉部分*/
.helpQA_btn:checked + label:before { content: '―'; } /*アイコン差し替え*/


/* SP用テンプレ　会員登録
------------------------------------------*/

.register { width: 680px; margin: 50px auto; box-sizing: border-box; text-align: center; }
@media screen and (max-width:680px){
.register { width: 100%; padding: 30px 15px; margin: 0px; }
}

.register table th { width: 30%; }
.register .subttl { font-size: 200%; font-weight: bold; }
@media screen and (max-width:680px){
.register .subttl { font-size: 150%; }
}
.register .text { text-align: left; }

.register .errorA { padding: 20px; margin: 20px 0; text-align: left; border:3px solid #CC0000; border-radius: 5px; color:#CC0000; background: #fdd; font-weight: bold; }
.register .errorB { padding: 10px; margin:5px 0 10px; text-align: left; background:#CC0000; color:#fff; position: relative; border-radius: 5px; }
.register .errorB:after {
	border-top: 12px solid #CC0000;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	content: '';
	position: absolute;
	bottom: -10px;
	left: 10%;
}


/* SP用テンプレ　申込フォーム step1～4
------------------------------------------*/

/* header footer*/

#header-bar { display: none; }
.afRsvPage #hdr .hdrMenu { display: none; }
.afRsvPage #ftr .ftrMenu1 { display: none; }
.ftr-nav { display: none; }

/* レイアウト・設定 */

.op-rsv-step { width: 1080px; padding: 100px 150px; margin: 50px auto; box-sizing: border-box; border: 1px solid #e1e1e1; text-align: center; background:#fff; line-height: 1.6; }
@media screen and (max-width:680px){
.op-rsv-step { width: 100%; padding: 30px 15px; margin: 0px; border-width: 0px; }
}

.op-rsv-step a { text-decoration: underline; }
.op-rsv-step a:hover { text-decoration: none; }
.op-rsv-step .sp-t20 { padding-top: 20px; }

/* タイトル・タイトルまわりの案内 */

.op-rsv-step .subttl { font-size: 200%; font-weight: bold; }
@media screen and (max-width:680px){
.op-rsv-step .subttl { font-size: 150%; }
}
.op-rsv-step .subsubttl { font-size: 150%; font-weight: bold; }
.op-rsv-step .text,
.op-rsv-step .step-alert { padding: 20px; font-weight: bold; font-size: 130%; }
.op-rsv-step .step-alert-add { padding: 20px; font-weight: bold; text-align: left; }
.op-rsv-step .step-alert-add li { list-style: disc; margin-left: 20px; }

/* 申込ステップ */

.op-rsv-step-bar,
.op-rsv-step-bar th,
.op-rsv-step-bar tr,
.op-rsv-step-bar td { border: none; }
.op-rsv-step-bar td { width: 25%; text-align: center; color:#8c8c8c; font-size: 80%; line-height: 1.4; background: #fff8ee; }
.op-rsv-step-bar .self { color:#ff9900; }

/* アラート */

.op-rsv-step .errorA { padding: 20px; margin-bottom: 20px; text-align: left; border:3px solid #CC0000; border-radius: 5px; color:#CC0000; background: #fdd; font-weight: bold; }
.op-rsv-step .errorB { padding: 10px; margin-bottom: 20px; text-align: left; background:#CC0000; color:#fff; position: relative; border-radius: 5px; }
.op-rsv-step .errorB:after {
	border-top: 12px solid #CC0000;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	content: '';
	position: absolute;
	bottom: -10px;
	left: 10%;
}
.op-rsv-step .req { color:#CC0000; }

/* table・表内の案内 */

.op-rsv-step .tableA { margin: 10px 0; }
.op-rsv-step .tableA caption { text-align: left; font-size: 160%; font-weight: bold; }
@media screen and (max-width:680px){
.op-rsv-step .tableA caption { font-size: 120%; }
}
.op-rsv-step .tableA th { padding: 10px; width: 30%; }
.op-rsv-step .tableA td { padding: 10px; }
.op-rsv-step .tableA br + br { display: none; }
.op-rsv-step .tableA .course-name { font-weight: bold; font-size: 130%; color: #ff9900; }
.op-rsv-step .tableA .comment { width: 98%; min-height:100px; }
.op-rsv-step .tableA .tableA { margin:0 auto; }

.op-rsv-step .policy-check { background: #fff8ee; border: 3px solid #CC0000; }
.op-rsv-step .policy-check p:nth-child(2) { padding-top: 20px; font-weight: bold; }

.op-rsv-step .addinfo1,
.op-rsv-step .addinfo2 { padding: 20px; margin-bottom: 20px; color:#CC0000; background: #fff8ee; border-radius: 5px; }

/* ボタン */

.op-rsv-step input[type='submit'] {  }
.op-rsv-step .btn-C { display: block; margin-top:20px; }
.op-rsv-step .btn-D { margin-top:20px; }

/* Step1 PWお忘れの場合 */

.op-rsv-step .askpass { padding-top: 20px; }

/* Step1 まだ会員ではないお客様 */

.op-goreg { width: 1080px; padding: 100px 150px; margin: 50px auto; box-sizing: border-box; border: 1px solid #e1e1e1; text-align: center; background:#fff; line-height: 1.6; }
@media screen and (max-width:680px){
.op-goreg { width: 100%; padding: 30px 15px; margin: 0px; border-width: 0px; }
}

.op-goreg .subsubttl { font-size: 150%; font-weight: bold; }
@media screen and (max-width:680px){
.op-goreg .subsubttl { font-size: 150%; }
}
.op-goreg .text { padding: 20px; text-align: left; }


/* 一般サイトとの共有ページ（マイページ・会員登録など）
　 リセット・調整
------------------------------------------*/

#pankuzu-top { padding-top: 15px; background: none; border: none; }
#container { font-size: 13px; padding-bottom: 30px; }

/*ログインページ*/

#form-login-wrapper {	height:auto; background: #fff;	}
#form-column-login {	height:auto;	}
#form-column-login-register {	height:auto;	}
#form-login-wrapper > table,
#form-login-wrapper > table th,
#form-login-wrapper > table tr,
#form-login-wrapper > table td { border: none; }

