@charset "utf-8";
htlm {
  box-sizing: border-box;
}
@media print {
    /* 紙媒体向けスタイル定義 */
    body { _zoom:60%; -webkit-print-color-adjust:exact; }
  }
.clfix:before, .clfix:after	{ content:""; display:table; }
.clfix:after				{ clear:both; }
.clfix						{ zoom:1; } /* For IE 6/7 (trigger hasLayout) */

dl	{ margin:0; padding:0; }
dt	{ margin:0; padding:0; }
dd	{ margin:0; padding:0; }

div#siteMain	{ width:960px; margin-left: 0;}


/* 共通要素 */

#container {
	width:960px !important;
	margin:0 auto;
}

#wrap	{ /*position: relative;*/ color:#333;}
/*#wrap	a:link		{ color:#8d0d2e; text-decoration:underline; }
#wrap	a:hover		{ color:#d5004c; text-decoration:underline; }
#wrap	a:visited	{ color:#8d0d2e; text-decoration:underline; }*/

#wrap ul	{ height: auto;}
#wrap	.totop	{ float:right; font-size:90%; background:url(/iitabi/common/images/icon_list_up.gif) no-repeat; background-position:left 50%; padding-left:10px; margin: 10px 10px 0 0; }

/*contents*/

#wrap .contents {
	position: relative;
	height: 1130px;
	background: #ffffd2;
}
#wrap .contents h1			{  width:960px; height:448px; font-size:0%; text-indent: 100%; white-space: nowrap; overflow: hidden; background: url(../images/bg_header01.jpg) no-repeat; }

#wrap .contents .navi {
	position: absolute;
	top: 20px;
	left: 20px;
	height: 45px;
	z-index:1;
}
#wrap .contents .navi ul {
	overflow: hidden;
	width: 100%;
}
#wrap .contents .navi li {
	overflow: hidden;
	float: left;
	width: 307px;
	height: 45px;
}
#wrap .contents .navi li a {
	display: block;
	height: 45px;
}

#wrap .contents .navi li a:hover img {
	margin-top: -45px;
}

#wrap .contentsMain {
	position: absolute;
	top:340px;
	left: 20px;
	margin: 0 auto;
	width: 920px;
}
#wrap .contentsMain .spArea {
	overflow: hidden;
	margin-top: 45px;
	height: 393px;
	background: #ffefa6 url(../images/bg_index01.png) left bottom no-repeat;
}
#wrap .contentsMain .spArea .spTxt {
	float: left;
	margin-left: 20px;
	width: 500px;
}
#wrap .contentsMain .spArea .spTxt h3 {
	margin-top: 20px;
}
#wrap .contentsMain .spArea .spTxt p {
	margin-top: 10px;
	line-height: 1.6;
}
#wrap .contentsMain .spArea .spTxt .btn {
	margin:20px 0 25px;
	text-align: right;
}
#wrap .contentsMain .spArea .spImg {
	float: right;
	margin-right: 20px;
	width: 355px;
}


#wrap .touristInfo {
	overflow: hidden;
/*	margin: 20px 0 0;*/
	padding-bottom: 20px;
	background: #fcebb6 url(../images/bg_index02.png) left bottom no-repeat;
}

#wrap .touristInfo .readText {
	float: left;
	margin: 45px 0 0 5px;
	width: 590px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	color: #a3133c;
}
#wrap .touristInfo .map {
	float: left;
	width: 440px;

}
#wrap .touristInfo .spot {
	position: relative;
	float: right;
	margin-right: 20px;
	width: 460px;
	height: 610px;
}
#wrap .touristInfo .spot ul {
	float: left;
}
#wrap .touristInfo .spot ul.right {
	float: right;
}
#wrap .touristInfo .spot ul li {
	margin-bottom: 20px;
}
#wrap .touristInfo .spot ul li.last {
	margin-bottom: 0;
}
#wrap .touristInfo .spot .btn {
	position: absolute;
	right: 45px;
	bottom: 75px;
}


#wrap .touristInfo .baseInfo {
	clear: both;
	overflow: hidden;
	margin: 20px 0 0 20px;
}
#wrap .touristInfo .baseInfo ul {
	margin: 10px 0 0;
	overflow: hidden;
}
#wrap .touristInfo .baseInfo li {
	float: left;
	margin-right: 20px;
	padding-left: 20px;
	background: url(../images/icon_index01.png) no-repeat left center;
	line-height: 1.8;
}
#wrap .touristInfo .baseInfo li.qa {
	background: url(../images/icon_index02.png) no-repeat left center;
}

#wrap .touristInfo .baseInfo li a {
	display: block;
	text-decoration: none;
	font-size: 1.3rem;
	font-weight: bold;
	color: #0087c8;
}


#wrap .touristInfo #spot01,
#wrap .touristInfo #spot02,
#wrap .touristInfo #spot03,
#wrap .touristInfo #spot04,
#wrap .touristInfo #spot05,
#wrap .touristInfo #baseInfoDetail01,
#wrap .touristInfo #baseInfoDetail02,
#wrap .touristInfo #baseInfoDetail03,
#wrap .touristInfo #baseInfoDetail04 {
	display: none;
}

#wrap .touristInfo .baseInfo p.caution {
	clear:both;
	font-size:12px;
}

#wrap .touristInfo .modalDetail {
	overflow: hidden;
	padding: 40px;
	width: 680px;
	height: auto;
	background: #fff;
}
#wrap .touristInfo .modalDetail h3 {
	position: relative;
	width: 620px;
	height: 75px;
}
#wrap .touristInfo .modalDetail h4 {
	font-weight:bold;
	color: #5b4348;
}
#wrap .touristInfo .modalDetail .modal_close {
	position: absolute;
	top: 40px;
	right: 40px;
}
#wrap .touristInfo .modalDetail dt {
	clear: left;
	float: left;
	width: 100px;
}
#wrap .touristInfo .modalDetail dd {
	margin: 0 0 10px 110px;
	line-height: 26px;
}

#wrap .touristInfo .modalDetail .spotImg {
	margin: 10px 0 20px;
}
#wrap .touristInfo .modalDetail p {
	line-height: 1.5;
}

#wrap .touristInfo .modalDetail .spotList {
	margin-top: 20px;
}
#wrap .touristInfo .modalDetail .spotList dt {
	margin-bottom: 15px;
	width: 180px;
}
#wrap .touristInfo .modalDetail .spotList dd {
	margin: 0 0 15px 190px;
	min-height: 110px;
	line-height: 1.5;
}
#wrap .touristInfo .modalDetail .spotList dd img {
	margin-bottom: 10px;
}
#wrap .touristInfo .modalDetail .modalTxt {
	margin: 12px 0 20px;
}
#wrap .touristInfo .modalDetail .acplug {
	margin:0 15px 0 0;
}

#wrap .touristInfo .modalDetail table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #999;
	line-height: 1.5;
	font-size: 12px;
}
#wrap .touristInfo .modalDetail table th,
#wrap .touristInfo .modalDetail table td {
	text-align: center;
	vertical-align: middle;
	border: 1px solid #999;
}
#wrap .touristInfo .modalDetail table .month th,
#wrap .touristInfo .modalDetail table .odd td {
	background: #eee;
}
#wrap .touristInfo .modalDetail table .month th {
	font-weight: bold;
    padding: 0 5px;
}
#wrap .touristInfo .modalDetail table .month th.monthHead {
	padding-right: 10px;
	text-align: right;
}
#wrap .touristInfo .modalDetail table .city {
	width: 100px;
}
#wrap .touristInfo .modalDetail .att {
	text-align: right;
	font-size: 11px;
}

#wrap .contentsMain .spotAtt {
	margin-top: 5px;
	text-align: right;
	font-size: 12px;
}


#lean_overlay {
    position: fixed;
    z-index: 10000;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background: #000;
    display: none;
}

#wrap .course {
	margin-top: 50px;
}

#wrap .course .areaList {
	/*overflow: hidden;*/
	padding-left: 122px;
	height: 40px;
	background: url(../images/img_index01.png) left center no-repeat;
}
#wrap .course .areaList ul {
	overflow: hidden;
	z-index: 1;
}
#wrap .course .areaList li {
	overflow: hidden;
	float: left;
	width: 118px;
	height: 40px;
	margin-right: 2px;
}
#wrap .course .areaList li.last {
	margin-right: 0;
}
#wrap .course .areaList li img {
	vertical-align: bottom;
}
#wrap .course .areaList li a {
	display: block;
	height: 40px;
	margin-top: 4px;
}
#wrap .course .areaList li a:hover img {
	margin-top: -40px;
}
#wrap .course .areaList li.cur {
	height: 40px;
}
#wrap .course .areaList li.cur img {
	margin-top: -80px;
}

#wrap .course .courseDetail {
	padding: 20px;
	border-top: 4px solid #5c8205;
	background: #f8f1dd;
}

#wrap .course .courseDetail h2 {
	margin: 20px 0 30px;
	text-align: center;
}
#wrap .course .courseDetail dl {
	overflow: hidden;
    margin-top: 20px;
}

#wrap .course .courseDetail dl dt {
	padding-left: 5px;
	height: 20px;
	border-left: 4px solid #ef2e00;
	line-height: 20px;
	font-size: 15px;
	font-weight: bold;
	color: #5e412f;
}
#wrap .course .courseDetail dl dd {
	margin-bottom: 15px;
	padding:0 0 20px 80px;
	border-bottom: 1px dotted #e2cb96;
}
#wrap .course .courseDetail dl dd:last-child {
	margin-bottom: 0;
}
#wrap .course .courseDetail .title {
	margin-bottom: 10px;
}
#wrap .course .courseDetail .title a {
	margin-right: 10px;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	color: #57609f;
}
#wrap .course .courseDetail .title a:hover {
	text-decoration: underline;
	color: #4fb1f5;
}
#wrap .course .courseDetail .title img {
	vertical-align: middle;
}
#wrap .course .courseDetail .title .icon01 {
	display: inline-block;
	margin-right: 10px;
	vertical-align: top;
}
#wrap .course .courseDetail .title .branch {
	display: block;
	margin-top: 10px;
}
#wrap .course .courseDetail .title .branch a {
	font-size: 14px;
}

#wrap .course .courseDetail .price,
#wrap .course .courseDetail .att {
	line-height: 1.75;
	font-size: 12px;
	color: #5d543f;
}

#wrap .course .courseDetail .price span {
	font-size: 25px;
	font-weight: bold;
	color: #c00;
}

#wrap .course .courseDetail .updated {
	line-height: 1.75;
	font-size: 12px;
	color: #5d543f;
	text-align:right;
	margin-top:20px;
}

#wrap .course .courseDetail .noCourse {
	margin-top: 10px;
	padding: 20px;
	text-align: center;
	background: #ccc;
	color: #666;
}

  .pickupArea {
    overflow: hidden;
    margin: 0 auto;
    padding: 10px 20px;
    width: 890px;
    background: #ffffe9;
  }
  .pickupArea .pickup {
    float: right;
    width: 430px;
  }
  .pickupArea div:first-child {
    float: left;
  }
  .pickupArea .pickup .cpTitle {
  	padding-bottom: 5px;
    background: url(../../images/bg_pickup.png) left bottom no-repeat;
  }
  .pickupArea .pickup .cpTitle img {
    vertical-align: top;
  }

  .pickupArea02 {
    overflow: hidden;
    margin: 0 auto;
    padding: 10px 20px;
    width: 890px;
    background: #ffffe9;
  }
  .pickupArea02 .pickup {
    float: left;
    width: 880px;
  }
  .pickupArea02 div:first-child {
    float: left;
  }
  .pickupArea02 .pickup .cpTitle {
  	padding-bottom: 5px;
    background: url(../../images/bg_pickup02.png) left bottom no-repeat;
  }
  .pickupArea02 .pickup .cpTitle img {
    veratical-align: top;
  }

	.pickupArea03{
    overflow: hidden;
    margin: 0 auto;
    padding: 10px 20px;
    width: 880px;
    background: #fff;
	}

  .pickupArea03 .cpTitleArea {
		position:relative;
		height:28px;
  	padding-bottom: 5px;
    background: url(../../images/bg_pickup.png) left bottom repeat-x;
  }

  .pickupArea03 .cpTitleArea .cpTitle{
		position:absolute;
		left:0;
		top:0;
	}

  .pickupArea03 .cpTitleArea .pickupBtn{
		position:absolute;
		right:10px;
		top:0;
	}




/* banners */

#wrap .banners {
	clear:both;
	height:auto;
	margin:20px 0;
	padding:10px;
	background:url(../images/bg_banners.png);
}
#wrap .banners ul {
	width:940px;
	background:#ffefbc;
	padding-bottom:20px;
}
#wrap .banners ul li {
  display: flex;
	width:440px;
	height:auto;
	margin:20px 0 0 20px;
}
#wrap .banners ul li p {
	float:left;
	margin-right:10px;
}
#wrap .banners ul li dl {
	float:left;
	width:213px;
}
#wrap .banners ul li dl dt {
	color:#169082;
	font-size:17px;
	font-weight:bold;
	margin-bottom:5px;
}
#wrap .banners ul li dl dd {
	color:#000;
	font-size:15px;
	font-weight:normal;
}
#wrap .banners a:link,
#wrap .banners a:visited {
	color:#57609f;
	text-decoration:none;
}
#wrap .banners a:hover {
	color:#57609f;
	text-decoration:underline;
}
#wrap .banners a:hover img {
	opacity:0.8;
	filter:alpha(opacity=80);
}


#wrap .caltop	{ float:right; font-size:90%; background:url(/iitabi/common/images/icon_list_up.gif) no-repeat; background-position:left 50%; padding-left:10px; margin:10px 10px 20px 0; }


/*footer*/
#wrap #featureFooter { clear: both; overflow: hidden; margin-top: 5px; padding: 10px 15px 25px 15px; background: #efefef;}
#wrap #featureFooter .footer_left { float: left; margin-right: 20px;}
#wrap #featureFooter .footer_right { overflow: hidden; float: right; width: 815px;}
#wrap #featureFooter .contentsList { overflow: hidden;}
#wrap #featureFooter .contentsList h4 { margin-bottom :5px; font-weight: bold;}
#wrap #featureFooter .contentsList ul { height: auto;}
#wrap #featureFooter .contentsList li { line-height: 1.5;}
#wrap #featureFooter .contentsList .col3Left { float: left; width: 310px;}
#wrap #featureFooter .contentsList .col3Center { float: left; width:268px;}
#wrap #featureFooter .contentsList .col3Right { float: right; width: 235px;}
#wrap #featureFooter .contentsList .col3Center h4,
#wrap #featureFooter .contentsList .col3Right h4 { margin-top: 25px;}
#wrap #featureFooter .contentsList .col3Center ul,
#wrap #featureFooter .contentsList .col3Right ul { padding-left: 1em;}
#wrap #featureFooter .contentsList a { text-decoration: none; color: #333;}
#wrap #featureFooter .contentsList a:hover { text-decoration: underline;}
#wrap #featureFooter .call { overflow: hidden; margin-top: 30px;}
#wrap #featureFooter .call h4 { margin-bottom: 12px;}
#wrap #featureFooter .call .callAb{ float: left; margin-right: 20px;}
#wrap #featureFooter .call .callDom { float: left;}
#wrap #featureFooter .call .fax { float: left; margin-top: 13px;}

#wrap #featureFooter.chubu .call { margin-top: 10px;}
#wrap #featureFooter.kansai .contentsList .col3Left { float: left; margin-right: 32px; width: 250px;}
#wrap #featureFooter.kansai .contentsList .col3Center { float: left; width:250px;}
#wrap #featureFooter.kansai .contentsList .col3Right { float: right; width: 250px;}
#wrap #featureFooter.kansai h4 {margin-top: 10px;}
#wrap #featureFooter.kansai .contentsList .col3Center h4,
#wrap #featureFooter.kansai .contentsList .col3Right h4 { margin-top: 10px;}




#container .imgAnnotation {
	position: absolute;
	top: 300px;
	right: 20px;
	font-size: 1.3rem;
	color: #333;
}
.-pagetop .-pagetop_btn {
    width: 50px;
}
.-pagetop .-pagetop_btn a {
  height: 50px;
}
#wrap .touristInfo #spot05.modalDetail {
  height: 80vh;
  overflow-y: scroll;
/*        scrollbar-width: none;
        -ms-overflow-style: none;
        touch-action: none;*/
  }
#wrap .touristInfo .baseInfoDetail .modalDetail dt {
    border-radius: 6px;
    background-color: #a8df7e;
    color: #614131;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    padding: 2px 0 0;
  }
#wrap .touristInfo .baseInfoDetail .modalDetail dt img {
    display: none;
  }
@media print, screen and (min-width: 768px) {
  #wrap .touristInfo .baseInfo li a:hover {
	  color: #ee3d16;
  }
  #wrap .course .courseDetail dl dt {
	clear: both;
	float: left;
	}
}

@media screen and (max-width: 767.98px) {
    #wrap .touristInfo .modalDetail table{
        font-size: 1.1rem;
        letter-spacing: -1px;
        width: 100%;
    }
    #wrap .touristInfo .modalDetail table .city {
	width: 20%;
        letter-spacing: -1px;
}
    #wrap .touristInfo .modalDetail table .odd td{
         width:10%;
    }
    #wrap .touristInfo .modalDetail table .odd:nth-child(2){
        width: 20%;
    }
  #container {
    width: 100% !important;
  }
  #wrap .contents {
    width: 100%;
    height: auto;
  }
  #wrap .contents h1 {
    width: 100%;
    height: calc(100vw * 0.36);
    overflow: visible;
    background: url(../images/bg_header01.jpg) no-repeat center top/contain;
  }
  #container .imgAnnotation {
    top: calc(100vw * 0.30);
    right: 4px;
    font-size: 1.1rem;
    padding: 0;
    margin-bottom: 0;
  }
  #wrap .contents .navi {
    position: static;
    width: 100%;
    height: auto;
    margin: 0 auto;
    background: #FFF;
  }
  #wrap .contents .navi ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
  }
  #wrap .contents .navi li {
    position: relative;
    overflow: visible;
    float: none;
    width: 50%;
    height: auto;
    border-bottom: 1px solid #ddd;
    background: rgb(238,238,238);
    background: linear-gradient(0deg, rgba(238,238,238,1) 0%, rgba(246,246,246,1) 40%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
  }
  #wrap .contents .navi li::after {
    content: '';
    display: block;
    width: 0px;
    height: 0px;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 6px solid #57821e;
    border-bottom: 0;
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
  }
  #wrap .contents .navi li:first-of-type {
    width: 100%;
    border-top: 1px solid #ddd;
  }
  #wrap .contents .navi li:last-of-type {
    border-left: 1px solid #ddd;
  }
  #wrap .contents .navi li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    color: #57821e;
    font-weight: 600;
  }
  #wrap .contentsMain {
    position: static;
	  width: 100%;
    margin: 0;
  }
  #wrap .touristInfo h2 {
    margin: 20px 0 0;
  }
    #wrap .touristInfo h2 img {
    max-width: 130%;
  }
  #wrap .touristInfo .map {
    display: none;
  }
  #wrap .touristInfo .spot {
    position: static;
    float: none;
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
  }
  #wrap .touristInfo .spot ul {
    float: none !important;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content:flex-start;
    width: 40%;
    margin: 10px 0 0;
  }
  #wrap .touristInfo .spot ul:nth-of-type(even) {
    margin-left: 5%;
  }
  #wrap .touristInfo .spot ul li:last-of-type {
    margin-bottom: 0;
  }
  #wrap .touristInfo .spot ul li a {
    display: block;
  }

  #wrap .touristInfo .modalDetail h3 {
    width: 100%;
    height: auto;
    margin: 0;
  }

  #wrap .touristInfo .modalDetail .modal_close {
    top: 8px;
    right: 6px;
  }
  #wrap .touristInfo .modalDetail,
  #wrap .baseInfo .modalDetail {
    width: 95%;
    padding: 5px;
  }
  #wrap .touristInfo #spot05.modalDetail .spotList dt {
    width: 100%;
    float: none;
    margin-bottom:10px;
    text-align: center;
  }
  #wrap .touristInfo #spot05.modalDetail .spotList dd {
    width: 100%;
    margin: 0 0 15px;
    padding-bottom: 10px;
    min-height: 0;
    font-size: 1.3rem;
    border-bottom: 1px solid #afaeae;
  }
  #wrap .touristInfo #spot05.modalDetail .spotList dd:last-of-type {
    border-bottom: 0;
  }
  #wrap .touristInfo .baseInfo {
    margin: 10px 10px 0;
    text-align: center;
  }
  #wrap .touristInfo .baseInfo ul {
    display: flex;
    flex-wrap: wrap;
  }
  #wrap .touristInfo .baseInfo li {
    float: none;
    width: 50%;
    margin: 0;
  }
  #wrap .touristInfo .baseInfoDetail .modalDetail {
    overflow-y: scroll;
    height: 80vh;
    font-size: 1.3rem;
  }
  #wrap .touristInfo .baseInfoDetail .modalDetail dt:last-of-type {
    display: block;
    float: none;
  }
  #wrap .touristInfo .baseInfoDetail .modalDetail dd:last-of-type {
    display: block;
    margin: 10px 0 0;
    /*overflow-x: scroll;*/
    white-space: nowrap;
    /*-webkit-overflow-scrolling: touch;*/
  }
  #wrap .touristInfo .modalDetail table {
    display: block;
    border: none;
  }
  #wrap .course {
    margin-top: 40px;
  }
  #wrap .course .areaList {
    width: calc(100% - 20px);
    margin: 0 10px;
  }
  #wrap .course .areaList ul {
    display: flex;
    justify-content: flex-end;
    width: 100%;
  }
  #wrap .course .areaList li {
    float: none;
    width: 30%;
  }
  #wrap .course .areaList li {
    background-color: #b5dc74;
    border-radius: 5px 5px 0 0;
  }
  #wrap .course .areaList li .areaListTxt_sp {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  #wrap .course .areaList li a {
    margin-top: 0;
    color: #614131;
    font-weight: 600;
  }
  #wrap .course .areaList li.cur .areaListTxt_sp {
    background-color: #57821e;
    color: #FFF;
    font-weight: 600;
  }
  #wrap .course .courseDetail h2 {
    color: #FFF;
    font-size: 1.6rem;
    margin: 0;
    padding: 4px 0 2px;
    background-color: #614131;
    border-radius: 5px;
  }
  #wrap .course .courseDetail dl {
    margin: 20px 0 0; 
  }
  #wrap .course .courseDetail dl dd {
    padding: 0 0 10px;
  }
  #wrap .course .courseDetail .title a {
    font-size: 1.7rem;
  }
  #wrap .course .courseDetail .price span {
    display: block;
    font-size: 2.0rem;
  }
  #wrap .banners ul {
    width: 100%;
  }
  #wrap .banners ul li {
    width: calc(100% - 40px);
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px 20px 0;
  }
  
  #wrap .banners ul li p {
    float: none;
    width: 48%;
    margin: 0;
  }
  #wrap .banners ul li p a {
    display: block;
  }
  #wrap .banners ul li dl {
    float: none;
    width: 48%;
    margin-left: 4%;
  }
  #wrap .banners ul li dl dd {
    font-size: 1.3rem;
  }
  .caltop a:hover,.caltop a:visited {
    color: #069;
  } 
}

.scroll-hint-icon{
        z-index: 11001;
    }