@charset "utf-8";


/* パンくず調整 */
#breadcrumb { padding-bottom: 10px; }

/* レイアウト調整 */
#mainContents .container { padding-top: 120px; }
@media screen and (max-width: 750px) {
	#mainContents .container { padding-top: 25vw; }
}

/* テキストリンク */
a.linkText:link { color: rgb(0,0,238); text-decoration: underline; }
a.linkText:visited { color: rgb(85,26,139); text-decoration: underline; }
a.linkText:hover { color: #ff0000; text-decoration: none; }
a.linkText:active { color: #ff6600; text-decoration: none; }
a.linkText::after {
	content: '';
	display: inline-block;
	margin: 0 5px 1px 3px;
	width: 6px;
	height: 6px;
	border-right: 3px solid #004ea2;
	border-bottom: 3px solid #004ea2;
	transform: rotate(-45deg);
}

/* 見出し */
.marker {
	display: inline;
	background: linear-gradient(transparent 62%, #ffe000 62%, #ffe000 94%, transparent 94%);
	padding: 0 0.2em;
}
.icot_ttl {
	margin-bottom: 40px;
	font-size: 2em;
	text-align: center;
}
.icot_ttl > .marker { padding: 0 1em; }

@media screen and (max-width: 750px) {
	.icot_ttl { font-size: 6.8vw; }
}


/* 背景 */
.icot_bgBlue { position: relative; }
.icot_bgBlue:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #e1f3ff;
	transform: skewY(-4deg);
	position: absolute;
	left: 0;
	top: 0;
	z-index: -99;
}


/* モーダルウィンドウ */
#modal {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
#modalBox {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10000;
}
#modalBg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(255,255,255,0.75);
	text-align: center;
	z-index: 9999;
}
#modalBox .modalImg { border: 3px #004ea2 solid; }
#modalBox .xbtn {
	position: absolute;
	top: -45px;
	right: -45px;
	display: block;
	width: 34px;
	height: 34px;
}
#modalBox .xbtn:hover { cursor: pointer; }
#modalBox .xbtn:before,
#modalBox .xbtn:after {
	content: "";
	display: block;
	width: 0;
	height: 100%;
	border-right: 5px #004ea2 solid;
	position: absolute;
	left: calc(50% - 2px);
	top: 0;
}
#modalBox .xbtn:before { transform: rotate(45deg); }
#modalBox .xbtn:after { transform: rotate(-45deg); }

@media screen and (max-width: 750px) {
	#modalBox iframe {
		width: 100vw;
		height: 56.25vw;
	}
	#modalBox .modalImg { min-width: 94vw; }
	#modalBox .xbtn { right: 0; }
}
@media screen and (min-width:751px) {
	#modalBox iframe {
		width: 640px;
		height: 360px;
	}
	#modalBox .modalImg { min-width: 506px; }
}






/* -----------------------------------------
	mainVisual
----------------------------------------- */
.icot_mainVisualWrapper {
	position: relative;
	padding: 20px;
	overflow: hidden;
}
.icot_mainVisualWrapper:after {
	content: "";
	display: block;
	background: #e1f3ff;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	bottom: 3.5vw;
	transform: translateX(-50%) skewY(-4deg);
	z-index: -1;
}

.icot_mainVisual {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1050px;
	margin: 0 auto;
}
.icot_mainVisual_text {
	flex-basis: 395px;
	padding: 0 0 30px;
	text-align: center;
}
.icot_mainVisual_image { flex-basis: 655px; }
.icot_mainVisual_text_lead {
	margin-top: 45px;
	font-size: 1.3em;
	line-height: 1.8;
}

@media screen and (min-width: 751px) and (max-width: 1089px) {
	.icot_mainVisual_text { flex-basis: 37.62%; }
	.icot_mainVisual_image { flex-basis: 62.38%; }
	.icot_mainVisual_text_lead { margin-top: 4vw; font-size: 1.6vw; }
}

@media screen and (max-width: 750px) {
	.icot_mainVisual { display: block; }
	.icot_mainVisualWrapper { padding: 12vw 4vw; }
	.icot_mainVisual_text { padding: 0; }
	.icot_mainVisual_text_lead {
		margin: 10vw auto;
		font-size: 4vw;
	}
}


/* nav */
.icot_nav {
	display: flex;
	justify-content: space-between;
	max-width: 950px;
	margin: 0 auto;
	transform: translateY(-10px);
}
.icot_nav > li { flex-basis: 300px; }
.icot_nav_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	height: 100%;
	color: #000 !important;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	padding: 0.6em calc(24px + 1em) 0.5em 1em;
	background: #fff;
	border: 3px #004ea2 solid;
	border-radius: 0.4em;
	box-shadow:5px 5px 0px 0px #004ea2;
	position: relative;
}
.icot_nav_btn:hover { text-decoration: none; }

.icot_nav_btn > span { position: relative; z-index: 1; }

.icot_nav_btn:before {
	content: "";
	display: block;
	width: 110%;
	height: 100%;
	background: #ffe000;
	transform: skewX(-15deg);
	position: absolute;
	right: 105%;
	top: 0;
	z-index: 0;
	transition: .3s ease-in;
}
.icot_nav_btn:hover:before { right: -5%; }

.icot_nav_btn:after {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url(../img/icon_arrow_nav.png) no-repeat center / contain;
	position: absolute;
	right: 0.5em;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	transition: .3s ease transform;
}
.icot_nav_btn:hover:after { transform: translateY(-35%); }

@media screen and (min-width: 751px) and (max-width: 989px) {
	.icot_nav > li { flex-basis: 32%; }
}

@media screen and (max-width: 750px) {
	.icot_mainVisualWrapper { padding-bottom: 5px; }
	.icot_nav {
		display: block;
		transform: none;
		margin: 10vw 4vw 0;
	}
	.icot_nav > li { margin-top: 10px; }
	.icot_nav_btn { min-height: calc(6px + 3.5em); }
}





/* -----------------------------------------
	ご利用いただけるSuica
----------------------------------------- */
.icot_suica-available {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.icot_suica-available_image {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.icot_suica-available_image figure:nth-of-type(n+2) {
	margin-left: 15px;
}
.icot_suica-available_image figure:nth-of-type(1) img { max-height: 120px; }
.icot_suica-available_image figure:nth-of-type(2) img { max-height: 252px; }
.icot_suica-available_lists {
	font-size: 1.2em;
	margin-top: -0.4em;
	/* margin-right: 60px; */
}
.icot_suica-available_lists li {
	margin-top: 0.4em;
	padding-left: 1.2em;
	position: relative;
}
.icot_suica-available_lists li:before {
	content: "";
	display: block;
	width: 0.6em;
	height: 0.6em;
	background: #004ea2;
	position: absolute;
	left: 0;
	top: 0.45em;
}


.icot_suica-unavailable {
	margin-top: 40px;
	padding: 30px;
	background: #f2f2f2;
}
.icot_suica-unavailable_ttl {
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
.icot_suica-unavailable_ttl:before {
	content: "";
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	background: url(../img/icon_unavailable.png) no-repeat center / contain;
	margin-right: 0.6em;
	transform: translateY(0.15em);
}

.icot_suica-unavailable_lists {
	display: flex;
	justify-content: center;
}
.icot_suica-unavailable_lists > ul { margin-left: 40px; margin-top: -0.4em; }
.icot_suica-unavailable_lists > ul:first-child { margin-left: 0; width: 50%; }
.icot_suica-unavailable_lists > ul > li {
	margin-top: 0.4em;
	padding-left: 1em;
	font-size: 0.98em;
	position: relative;
}
.icot_suica-unavailable_lists > ul > li:before {
	content: "";
	display: block;
	width: 0.5em;
	height: 0.5em;
	background: #a9aaaa;
	position: absolute;
	left: 0;
	top: 0.5em;
}
.icot_suica-unavailable_lists > ul > li.note {
	padding-left: 0%;
	margin-top: 0.2em;
}
.icot_suica-unavailable_lists > ul > li.note:before {
	display: none;
}

@media screen and (min-width: 751px) and (max-width: 989px) {
	.icot_suica-available_lists { margin-right: 40px; }
}

@media screen and (max-width: 750px) {
	.icot_suica-available { flex-direction: column-reverse; }
	.icot_suica-available_image { text-align: center; }
	.icot_suica-available_image figure:nth-of-type(n+2) { margin-left: 5%; }
	.icot_suica-available_image figure img { width: auto; }
	.icot_suica-available_lists { margin-top: 1em; margin-right: 0; }

	.icot_suica-unavailable { margin-top: 1.6em; padding: 6vw; }
	.icot_suica-unavailable_ttl { font-size: 5vw; margin-bottom: 4vw; }
	.icot_suica-unavailable_lists { display: block; }
	.icot_suica-unavailable_lists > ul { margin: 0; }
	.icot_suica-unavailable_lists > ul:first-child { margin: 0; width: 100%; }
}



/* -----------------------------------------
	ご利用いただけるおトクなきっぷ
----------------------------------------- */
.icot_ticket-box {
	display: flex;
	justify-content: space-between;
	margin: 60px 0 40px;
	padding: 15px;
	background: #fff;
	position: relative;
}
.icot_ticket-box:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/bg_border_bl.gif);
	position: absolute;
	right: -10px;
	top: 10px;
	z-index: -1;
}

.icot_ticket-box_ttl {
	min-width: 400px;
	padding: 0.7em 35px 0.5em;
	color: #fff;
	font-size: 1.4em;
	background: #004ea2;
	position: absolute;
	left: 0;
	top: -20px;
}
.icot_ticket-box_ttl:after {
	content: "";
	display: block;
	width: 40px;
	height: 20px;
	background: #8bb7cc;
	transform: skewX(36deg);
	position: absolute;
	right: -7px;
	top: 0;
	z-index: -1;
}
.icot_ticket-box_ttl_new {
	display: block;
	width: 3.4em;
	height: 3.4em;
	padding: 1.2em 0;
	border-radius: 50%;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1;
	background: #e8314f;
	position: absolute;
	left: -1.6em;
	top: -1.6em;
}

.icot_ticket-box_text {
	flex-basis: 586px;
	padding: 50px 20px 0;
}
.icot_ticket-box_text_lead {
	font-size: 1.1em;
	font-weight: bold;
	color: #004ea2;
}
.icot_ticket-box_text_detail {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 1.4em;
}
.icot_ticket-box_text_detail > dt {
	flex-basis: 4em;
	font-weight: bold;
}
.icot_ticket-box_text_detail > dd {
	flex-basis: calc(100% - 5.6em);
	margin-bottom: 0.4em;
}

.icot_ticket-box_map {
	flex-basis: 334px;
	border: 2px #004ea2 solid;
}
.icot_ticket-box_map > .mw {
	display: flex;
	align-items: center;
	height: 100%;
	cursor: pointer;
	position: relative;
}
.icot_ticket-box_map > .mw:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transition: .3s ease; 
}
.icot_ticket-box_map > .mw:hover:after {
	background: rgba(0,78,162,0.3);
}
_:-ms-lang(x), .icot_ticket-box_map > .mw > img {
	/* IE10+（Edgeも全て含む）*/
	width: 100%;
}
@media screen and (min-width: 751px) {
	.icot_ticket-box_logo_btn {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		margin-top: 10px;
	}
	.icot_ticket-box_logo_btn div:first-child{
		display: flex;
		align-items: center;
		justify-content: center;
		max-width: 22vw;
		height: auto;
	}
	.icot_ticket-box_logo_btn div:first-child img {
		max-height: 90%;
	}
}

@media screen and (max-width: 750px) {
	.icot_ticket-box_logo_btn div:first-child {
		margin: 10px 0 ;
		text-align: center;
	}
}

.icot_ticket-box_text_btn {
	text-align: right;
	margin-top: 1em;
	transform: translateY(-3px);
}
.icot_ticket-box_text_btn > a {
	display: inline-block;
	font-size: 1.1em;
	font-weight: bold;
	color: #333;
	padding: 0.8em calc(5.6em + 14px) 0.7em 1.2em;
	background: #ffe000;
	box-shadow: 3px 3px 0px 0px #f3bf4f;
	position: relative;
	transition: .3s ease;
}
.icot_ticket-box_text_btn > a:hover {
	text-decoration: none;
	background: #ffee70;
}
.icot_ticket-box_text_btn > a:after {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background: url(../img/icon_arrow_link.png) no-repeat center / contain;
	position: absolute;
	right: 0.8em;
	top: 50%;
	transform: translateY(-50%);
	transition: .3s ease;
}
.icot_ticket-box_text_btn > a:hover:after { transform: translateY(-50%) translateX(0.2em); }


@media screen and (min-width: 751px) and (max-width: 989px) {
	.icot_ticket-box_text { flex-basis: 60%; }
	.icot_ticket-box_map { flex-basis: 40%; }
	.icot_ticket-box_ttl_new {
		font-size: 1.6rem;
		left: -10px;
		top: -3.2rem;
	}
}

@media screen and (max-width: 750px) {
	.icot_ticket-box { display: block; }
	.icot_ticket-box_ttl {
		position: relative;
		left: -15px;
		top: -35px;
		min-width: 86%;
		padding-left: 25px;
		padding-right: 25px;
	}
	.icot_ticket-box_text {
		margin-top: -1em;
		padding: 0;
	}
	.icot_ticket-box_map { margin-top: 2em; }

	.icot_ticket-box_ttl_new {
		font-size: 1.6rem;
		left: -3vw;
		top: -2.4em;
	}
}



/* -----------------------------------------
	お求め方法
----------------------------------------- */
#buy { counter-reset: buycnt 0; }
.icot_buy-box + .icot_buy-box { margin-top: 90px; }
.icot_buy-box_ttl {
	padding-left: 2.2em;
	font-size: 1.7em;
	position: relative;
}
.icot_buy-box_ttl:before {
	counter-increment: buycnt 1;
	content: counter(buycnt);
	display: inline-block;
	width: 1.5em;
	text-align: center;
	color: #fff;
	font-weight: bold;
	background: #004ea2;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0;
}

.icot_buy-box_wrap { margin: 0 30px; }

.icot_buy-box_place {
	margin-top: 4em;
	padding: 40px 30px 25px;
	background: #e1f3ff;
	position: relative;
}
.icot_buy-box_place > dt {
	min-width: 10em;
	padding: 0.5em 0.5em 0.4em;
	background: #004ea2;
	color: #fff;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	border-radius: 1em;
	position: absolute;
	left: 50%;
	top: -1em;
	transform: translateX(-50%);
}

.icot_buy-box_place_lists {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: -15px;
	margin-left: -50px;
}
.icot_buy-box_place_lists > li { margin: 30px 0 0 50px; }
.icot_buy-box_place_lists_image { height: 150px; margin-bottom: 0.6em; }
.icot_buy-box_place_lists_image > img { max-height: 100%; width: auto; }

.icot_buy-box_flow {
	display: flex;
	flex-wrap: wrap;
	margin-top: -20px;
	counter-reset: flowcnt 0;
}
.icot_buy-box_flow > li {
	flex-basis: 200px;
	margin-left: 30px;
	margin-top: 30px;
	position: relative;
}
.icot_buy-box_flow > li:before {
	content: "";
	display: block;
	width: 18px;
	height: 28px;
	background: url(../img/icon_arrow_flow.png) no-repeat center / contain;
	position: absolute;
	left: -24px;
	top: 66px;
}
.icot_buy-box_flow > li:nth-child(4n+1) { margin-left: 0; }
.icot_buy-box_flow > li:nth-child(4n+1):before { display: none; }
.icot_buy-box_flow_text {
	margin-top: 0.6em;
	padding-left: 2em;
	position: relative;
}
.icot_buy-box_flow_text:before {
	counter-increment: flowcnt 1;
	content: counter(flowcnt);
	display: inline-block;
	width: 1.5em;
	text-align: center;
	color: #fff;
	font-weight: bold;
	background: #004ea2;
	position: absolute;
	left: 0;
	top: 0;
}
.icot_buy-box_column {
	margin-top: 2.2em;
	display: flex;
	justify-content: center;
}
.icot_buy-box_column > .column_image {
	max-width: 240px;
	margin-right: 35px;
}
.icot_buy-box_column > .column_text {
	width: calc(100% - 275px);
}
.reservation_btn03 a,
.reservation_btn04 a {
	font-weight: bold;
	font-size: 1.6rem;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.reservation_btn03 a::before,
.reservation_btn04 a::before {
    content: "";
    display: block;
    background: url(/suica/ic_otoku/img/ico_suica.svg) no-repeat;
    width: 24px;
    height: 20px;
    margin-right: 12px;
}
@media screen and (max-width: 750px) {
	.icot_buy-box_column {
		flex-direction: column;
		align-items: center;
	}
	.icot_buy-box_column > .column_image {
		width: 68%;
		margin: 0 0 30px;
	}
	.icot_buy-box_column > .column_text {
		width: 100%;
	}
}


/* 注意事項 */
.icot_notes {
	margin-top: 90px;
	padding: 30px;
	background: #ffe000;
}
.icot_notes_ttl {
	margin-bottom: 20px;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
}
.icot_notes_ttl:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 28px;
	margin-right: 0.6em;
	background: url(../img/icon_notes.png) no-repeat center / contain;
	transform: translateY(calc((1.5em - 28px) / 2));
}




@media screen and (min-width: 751px) and (max-width: 989px) {
	.icot_buy-box_place_lists_image { height: 120px; }
	.icot_buy-box_flow > li { flex-basis: calc((100% - 90px) / 4); }
}


@media screen and (max-width: 750px) {
	
	.icot_buy-box_wrap { margin: 0 4vw; }
	.icot_buy-box_place { padding: 40px 4vw 25px; }
	.icot_buy-box_place_lists { margin-left: -40px; }
	.icot_buy-box_place_lists > li { margin-left: 40px; }
	.icot_buy-box_place_lists_image { height: 120px; }
	
	.icot_buy-box_flow { display: block; margin-top: -60px; }
	.icot_buy-box_flow > li {
		display: flex;
		flex-wrap: wrap-reverse;
		margin-left: 0;
		margin-top: 80px;
	}
	.icot_buy-box_flow > li:before,
	.icot_buy-box_flow > li:nth-child(4n+1):before {
		display: block;
		width: 37px;
		height: 56px;
		left: 50%;
		top: -67px;
		transform: translateX(-50%) rotate(90deg);
	}
	.icot_buy-box_flow > li:first-child:before { display: none; }
	.icot_buy-box_flow_image,
	.icot_buy-box_flow_text { flex-basis: 100%; }
	.icot_buy-box_flow_text {
		margin: 0 0 0.6em;
		font-size: 1.2em;
	}
	
	
	/* 注意事項 */
	.icot_notes { padding: 4vw; }
}

/* 0218追加 */
div.icot_ticket-box div.notes {padding:20px; margin:10px 0; border:1px solid #ff0000;}
div.icot_ticket-box div.notes li {margin-left:1em; text-indent:-1em; color:#ff0000;}

/* 0314追加 */
.info_comment { 
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
  padding: 0.3em 1em;
  width: 546px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  background: #e8314f;
  box-sizing: border-box;
}
	
@media screen and (max-width: 750px) {
 .info_comment { 
  width: auto;
  text-align:left;
  line-height: 1.2em;
  padding: 0.5em;
  }
}