@charset "UTF-8";
/* CSS Document */

@media screen and (min-width: 767px) { /*ウィンドウ幅が767px以上の場合に適用*/
}
@media only screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
}
@media only screen and (max-width: 479px) { /*ウィンドウ幅が最大479pxまでの場合に適用*/
}
/*------------------
	top
--------------------*/
@media only screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	body#pagetop #contentwrap {
		width: 100%;
	}
	#contents.top {
		width: 100%;
	}
	#topspace {
		background-size: contain;
	}
}

/*------------------
	calender
--------------------*/
/* pc */
.sp-only {
	display: none;
}
#reservationbody {
    padding: 10px 0 60px;
}
#headerwrap {
    height: 85px;
}
/* sp */
/*header_nav*/
  #nav{
	position: absolute;
	height: 100vh;
    width: 60%;
    right: 0;
    top: 0;
    background: #ffffff;
    transition: .7s;
	transform: translateX(100%);
  }
  #nav ul{
	padding-top: 80px;
  }
  #nav ul li{
	list-style-type: none;
	font-size: 20px;
  }
  #nav a{
	display: block;
	text-decoration: none;
	margin: 0 15px;
	padding: 10px;
	transition: .5s;
  }
  #nav li a:hover{
	color: #ffffff;
	background: #cd5c5c;
	border-bottom: none;
  }
  #hamburger {
	display: block;
	position: absolute;
	top: 25%;
    right: 7px;
	width: 43px;
	height: 35px;
	cursor: pointer;
	transition: 1s;
  }
  .inner_line {
	display: block;
	position: absolute;
	left: 0;
	width: 43px;
	height: 4px;
	transition: 1s;
  }
  #line1 {
	top: 0;
	background-color: #8CCFCF;
  }
  #line2 {
	top: 11px;
	background-color: #ADDEF8;
  }
  #line3 {
	top: 21px;
	background-color: #B2B5DB;
  }
  #line4 {
	bottom: 0px;
	background-color: #B5DAA9;
  }
  #nav.in{
	transform: translateX(0%);
  }
  .hamburger_line {
    -webkit-transform: rotate(
	-90deg
	);
		transform: rotate(
	-90deg
	);
}
/* お申し込みの流れ */
.internet {
	display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 1rem 0;
}
.internet_flow {
    padding: 0.5rem 1rem;
    background-color: #00A6BA;
    color: #fff;
    font-weight: bold;
    /*margin-right: 1.5rem;*/
	width: 25%;
	min-height: 45px;
	text-align: center;
}
.internet_flow:last-child {
	margin-right: 0;
}
.internet_flow span {
    display: block;
}
.internet_flow span.font_17 {
    font-size: 17px;
    display: inline;
}
span.gr-arrow {
    content: '';
    width: 24px;
    height: 30px;
    background-image: url(../images/gr-down-arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    transform: rotateZ(-90deg);
}
p.flow_notes {
    color: #017886;
    font-weight: bold;
}
#reservationbody .bl_textwrapper p {
	margin: 0;
	padding: 0 0 0.5rem;
}
#reservationbody .bl_textwrapper a {
	line-height: 1.5rem;
}
@media only screen and (max-width:767px) {
	a:hover {
		opacity: 1;
	}
	.sp-none {
		display: none ;
	}
	.sp-only {
		display: block ;
	}
	#contents {
		min-height: unset;
	}
}
@media screen and (min-width: 768px) {
.is-hidden-desktop {
	display: none ;
}
}
@media only screen and (max-width:767px) {
.is-hidden-mobile {
	display: none ;
}
}

#reservationbody h4 {
	position: relative;
    padding: 0px 5px 0px 20px;
}
#reservationbody h4:before {
    content: "";
    position: absolute;
    background: #00A6BA;
    top: 0;
    left: 0px;
    height: 12px;
    width: 12px;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
#reservationbody h4:after {
    content: "";
    position: absolute;
    background: #00A6BA;
    top: 15px;
    left: 5px;
    height: 8px;
    width: 8px;
    -moz-transform: rotate(15deg);
    -webkit-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);
}

/* calender */
#reservationbody .scheduleheader {
	display:-webkit-box;
  	display:-ms-flexbox;
    display: flex; 
    width: 360px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
    justify-content: space-between;
	-webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin: 10px auto;
}

/* ボタンスタイル */
.button_month,.bl_course_button,.course_button,.timetable_button {
	position: relative;
}
.button_month a,.bl_course_button button,.course_button button,.timetable_button button,.course_button .button_basic{
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 auto;
	width: 65px;
	height: 35px;
	color: #333;
	font-size: 13px;
	font-weight: bold;
	background-color: #fff;
	box-shadow: 0 3px 0 #bbbeb4;
	border: 1px solid #bbbeb4;
	border-radius: 8px;
	transition: 0.3s;
}

.course_button.red button,.timetable_button button,.course_button.red .button_basic {
	background: #E75A75;
    background: -webkit-gradient(linear, left top, left bottom, from(#E75A75), to(#E63D5B));
    background: -webkit-linear-gradient(top, #E75A75 0%, #E63D5B 100%);
    background: linear-gradient(to bottom, #E75A75 0%, #E63D5B 100%);
	border: none;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.07em;
	border-radius: 4px;
}
.course_button.orange .button_basic {
	background: #F06D41;
    background: -webkit-gradient(linear, left top, left bottom, from(#F06D41), to(#EB5127));
    background: -webkit-linear-gradient(top, #F06D41 0%, #EB5127 100%);
    background: linear-gradient(to bottom, #F06D41 0%, #EB5127 100%);
	border: none;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.07em;
	border-radius: 4px;
}
.course_button.gray button,.course_button.gray .button_basic {
	background: #A5A5A5;
    background: -webkit-gradient(linear, left top, left bottom, from(#A5A5A5), to(#7B7B7B));
    background: -webkit-linear-gradient(top, #A5A5A5 0%, #7B7B7B 100%);
    background: linear-gradient(to bottom, #A5A5A5 0%, #7B7B7B 100%);
	border: none;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.07em;
	border-radius: 4px;
}
.course_button.gray .button_basic {
	font-size: 14px;
}
.bl_course_button button,.course_button button,.course_button .button_basic {
	width: 325px;
	height: 53px;
}

.timetable_button button, .course_button.gray button{
	width: 100%;
    height: 53px;
    min-width: 154px;
}
.course_button.gray.go-back {
    width: 80%;
    margin: auto;
}
.course_button.gray.go-back .button_basic {
    width: 100%;
	height: 40px;
    max-width: 180px;
	margin: revert;
}
.button_month a::before{
	content: '';
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-right: 8px solid black;
	border-bottom: 6px solid transparent;
	position: absolute;
	left: 0;
}
.button_month.next a::before {
	content: none;
}
.button_month.next a::after {
	content: '';
	width: 0;
	height: 0;
	border-left: 6px solid black;
  	border-top: 8px solid transparent;
  	border-bottom: 6px solid transparent;
	position: absolute;
	right: 0;
}
.button_month a:hover,.bl_course_button button:hover,.course_button button:hover,
.course_button.red .button_basic:hover,.course_button.orange .button_basic:hover,.course_button.gray button:hover ,.course_button.gray.go-back .button_basic:hover{
	transform: translateY(3px);
	text-decoration: none;
	box-shadow: 0 1px 0 #BBBEB4;
}
.bl_course_button button:hover {
	border: 3px solid #FF0000;
}
button.bt_port.bt_port_checked {
    border: 3px solid #FF0000;
    background-color: #e7e7e7;
}
@media only screen and (max-width:767px) {
	.course_button button,.course_button .button_basic,.course_button.gray button {
		width: 85%;
	}
	.course_button.gray.go-back {
		width: 90%;
	}
}



#reservationbody p.year {
	padding: 0;
	margin: 0;
	font-size: 18px;
	font-weight: bold;
}
#reservationbody p.year span.month {
    padding-left: 1em;
}
#reservationbody p.year span.month span.manth-accent {
    font-size: 36px;
}
/* table.schedule */
#reservationbody th.week_sun {
	background-color: #C94F4F;
	color: #fff;
}
#reservationbody th.week_sat {
	background-color: #00A6BA;
	color: #fff;
}

/* コースを選択 */
ul.bl_course {
	display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	-ms-flex-pack: distribute;
    justify-content: space-around;
    list-style: none;
    margin: 3rem 0 1rem;
}
ul.bl_course li .bl_course_button {
    padding-bottom: 1rem;
}
div#sp-footer {
    display: none;
}


@media only screen and (max-width: 767px) { 
	#sidebar,#header,#entryContents h2#entrytitle:before,#entryContents h2#entrytitle:after,#bannerarea,dl#s_port3,#directory-navi ul
	,#directory-navi{
		display: none;
	}
	#bannerareawrap.top #bannerarea {
		display: block;
		width: 100%;
		height: auto;
	}
	#footer {
		background: unset;
	}
	#contentwrap,#contents,#directory-navi #directory-navi-inner,#footer #footer-inner{
		width: 100%;
	}
	#headerwrap {
		background: #fff;
		height: auto;
	}
	#entryContents h2#entrytitle,.shadow2 {
		margin: 0;
	}
	#directory-navi h3{
		font-weight: bold;
	}
	/*sp-header*/
	#sp-header.sp-only {
		height: 64px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		align-items: flex-end;
		position: fixed;
		top: 0;
		background-color: #fff;
		padding: 0px 0px 5px 2px;
		border-left: 4px solid #6DC7D7;
		width: 100%;
		z-index: 10;
		box-shadow: 0 3px 6px rgb(0 0 0 / 20%);
	}
	#sp-header p.sitelogo {
		text-align: left;
	}
	#sp-header p.sitelogo img {
		width: 100%;
	}
	/* pkz */
	ul#pkz {
		background-color: #E3E3E3;
		padding: 8px 5px;
	}
	ul#pkz li:after{
		content: '/';
	}
	ul#pkz li:last-child:after{
		content: '';
	}
	ul#pkz li a {
		display: inline-block;
		padding-right: 0.5rem;
		background: unset;
		color: #666;
		text-decoration: unset;
	}	
	ul#pkz li#here {
		line-height: 1.5em;
	}
	
	/* contents */
	#contents{
		top: 63px;
	}
	#cruise-timetable {
		margin-top:-64px;
	   padding-top:64px;
	}
	#reservationbody h3:before {
		left: 10px;
	}
	#reservationbody h3:after {
		top: 15px;
		left: 15px;
	}
	#entryContents h2#entrytitle {
		font-weight: bold;
	}
	#reservationbody h3 {
		margin: 30px 0 15px 0;
		padding: 0px 5px 0px 30px;
		font-weight: bold;
	}
	#reservationbody p {
		width: 82%;
    	margin: auto;
    	text-align: justify;
		font-size: 15px;
	}
	.internet {
		display: block;
		margin: 1.8rem auto 0.5rem;
		width: 85%;
	}
	.internet_flow {
		padding: 0.5rem 1rem;
		background-color: #00A6BA;
		color: #fff;
		font-size: 15px;
		font-weight: bold;
		margin-right: 0;
		min-height: unset;
		text-align: center;
		width: auto;
		margin-bottom: 0rem;
	}
	.internet_flow span {
		display: inline;
	}
	span.gr-arrow {
		transform: rotateZ(0deg);
		display: block;
		margin: auto;
		width: 20px;
   	 	height: 22px;
	}
	#reservationbody ul.normal {
		display: none;
		/*margin: 10px auto 30px;
		list-style: disc;
		width: 85%;
		padding-left: 20px;*/
	}
	#reservationbody ul.normal li {
		padding: 0.3rem 0;
		color: #18A6BA;
	}
	#reservationbody ul.normal li span {
		color: #000;
	}
	#reservationbody ul.normal.reserve p {
		width: 100%;
    	font-size: 16px;
	}
	p.flow_notes span.font_15 {
		font-size: 15px;
	}
	/*アコーディオン*/
	.acd-check{
		display: none;
	}
	.acd-label{
		background: #fff;
		color: #000;
		display: block;
		padding: 10px;
		position: relative;
		border: 1px solid #00A6BA;
		font-size: 15px;
		font-weight: bold;
		text-align: center;
	}
	.acd-label:after{
		content: '';
		display: inline-block;
		width: 22px;
		height: 22px;
		background-image: url(../images/sp/plus.png);
		background-size: contain;
		position: absolute;
		right: 5px;
		top: 35%;
	}
	.acd-content{
		border: 1px solid #00A6BA;
    	border-top: unset;
		display: block;
		height: 0;
		opacity: 0;
		padding: 0 10px;
		transition: .5s;
		visibility: hidden;
	}
	.acd-check:checked + .acd-label:after{
		content: '';
		display: inline-block;
		width: 22px;
		height: 22px;
		background-image: url(../images/sp/minus.png);
		background-size: contain;
		position: absolute;
		right: 5px;
		top: 35%;
	}
	.acd-check:checked + .acd-label{
		border-bottom: 1px solid #fff;
	}
	.acd-check:checked + .acd-label + .acd-content{
		height: max-content;
		opacity: 1;
		padding: 10px;
		visibility: visible;
		background-color: #fff;
	}
	.acd-label span {
		display: block;
		font-size: 12px;
		font-weight: normal;
		color: #00A6BA;
	}
	.bl_reserve {
		margin: 1rem auto;
    	width: 90%;
	}
	#reservationbody ul.normal.reserve {
		display: block;
		margin: 0 0 0 20px;
		font-size: 13px;
	}
	#reservationbody .bl_textwrapper a {
		text-decoration: underline;
		color: #000;
		line-height: 2em;
	}
	#reservationbody .bl_textwrapper {
		margin: 1em 0;
		font-size: 13px;
	}
	section.bl_reserve_flow {
		display: flex;
		justify-content: space-between;
		width: 90%;
		margin: 1rem auto;
		padding-top: 1.3rem;
		border-top: 4px solid #00A6BA;
	}
	section.bl_reserve_flow img.reserve_flow_img {
		padding: 0 1rem;
	}
	/* 選択項目 */
	#reservationbody h2 {
		background: #37B7B6;
		font-size: 16px;
    	font-weight: bold;
		line-height: 2;
		padding: 2px 5px;
		width: 90%;
    	margin: 30px auto 20px;
	}
	#reservationbody h2:after {	
		border-top: 10px solid #37B7B6;
	}
	#reservationbody h2.first:before {
		content: '';
		display: inline-block;
		width: 24px;
		height: 24px;
		background-image: url(../images/sp/no1.png);
		background-size: contain;
		background-repeat: no-repeat;
		vertical-align: middle;
		padding-right: 0.5rem;
		margin-bottom: 0.2rem;
	}
	#reservationbody h2.second:before {
		content: '';
		display: inline-block;
		width: 24px;
		height: 24px;
		background-image: url(../images/sp/no2.png);
		background-size: contain;
		background-repeat: no-repeat;
		vertical-align: middle;
		padding-right: 0.5rem;
		margin-bottom: 0.2rem;
	}
	#reservationbody h2.third:before {
		content: '';
		display: inline-block;
		width: 24px;
		height: 24px;
		background-image: url(../images/sp/no3.png);
		background-size: contain;
		background-repeat: no-repeat;
		vertical-align: middle;
		padding-right: 0.5rem;
		margin-bottom: 0.2rem;
	}
	
	#reservationbody p.reservation_txt {
		width: 90%;
	}
	#reservationbody p.reservation_txt .font-bold {
		font-weight: bold;
	}
	#reservationbody p.reservation_txt .style-block {
		font-weight: normal;
		display: block;
	}

	/* calender */
	#reservationbody .scheduleheader {
		width: 90%;
		margin: 20px auto;
	}
	#reservationbody p.year {
		text-align: center;
	}
	/* コースを選択 */
	ul.bl_course {
		margin: 3rem 0 0;
	}
	/* table.schedule */
	#reservationbody table.schedule td {
		padding: 3px;
		text-align: center;
	}
	#reservationbody table.schedule th {
		padding: 7px 0 4px;
		font-size: 15px;
	}
	#reservationbody table.schedule td span.view_day {
		display: block;
		text-align: right;
		padding-bottom: 0.3em;
	}
	
	#reservationbody p.left {
		width: 90%;
		font-size: 13px;
	}
	#reservationbody p.left span.sch6,span.sch6, span.sch4, span.sch1 {
		width: 45px;
		border: 1px solid #707070;
		display: inline-block;
		margin-bottom: 0.7rem;
	}
	#reservationbody table.st_table th, #reservationbody table.st_table td {
		line-height: 1.5em;
	}
	/* timetable-sp */
	#reservationbody #timetable-sp p {
		width: 90%;
		font-size: 13px;
	}
	#reservationbody #timetable-sp p strong {
		font-size: 18px;
	}
	#reservationbody #timetable-sp p.timetable_txt {
		font-size: 14px;
		font-weight: bold;
	}
	span.font_24{
		font-size: 24px;
	}
	span.font_20 {
		font-size: 20px;
	}
	#reservationbody #timetable-sp p.selection {
		font-size: 11px;
		margin-top: 1rem;
	}
	span.bg_gray {
		font-size: 16px;
		background-color: #707070;
		padding: 0.3em 1em;
		color: #fff;
	}
	#reservationbody #timetable-sp p.selection span.bg_gray {
		margin-right: 0.5rem;
	}
	span.font_20.timetable_day {
		padding-left: 0.3rem;
	}
	section.bl_timetable {
		width: 90%;
		margin: 2rem auto;
	}
	.timetable_header {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		border-bottom: 2px solid #333333;
	}
	.timetable_header p{
		font-size: 11px;
		font-weight: bold;
		color: #707070;
	}
	.timetable_inner_wrapper {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
    	align-items: center;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .ship {
		font-size: 24px;
		text-align: center;
	}
	#reservationbody p.ship span.ship_add {
		display: block;
		font-size: 11px;
		color: #00A6BA;
		text-align: center;
		line-height: 1em;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .ship_time {
		font-size: 20px;
		font-weight: bold;
		padding: 0.5rem 0;
		background-color: #fff;
		border: 1px solid #BBBEB4;
		margin: 0.6em 0.3em;
		text-align: center;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .ship_time:last-of-type {
		margin: 0.6em 0;
	}
	span.font_11 {
		font-size: 11px;
	}
	span.ship_place {
		display: block;
		font-size: 11px;
		font-weight: normal;
		line-height: 1em;
		letter-spacing: 0.1em;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner form.timetable-form {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .seat {
		font-size: 16px;
		font-weight: bold;
		color: #fff;
		background-color: #9BDBDA;
		width: 68px;
		min-width: 68px;
		padding: 0.3em;
		margin: 0.5rem 0;
		text-align: center;
		height: 44px;
		line-height: 44px;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .seat.full {
		background-color: #FF798D;
	}
	span.seat_remaining {
		font-size: 20px;
		font-weight: normal;
		color: #000;
	}
	span.seat_number {
		font-size: 11px;
		color: #666666;
	}
	.application {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin-right: 1rem;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .people_number {
		font-size: 10px;
    	margin: 0.5rem;
	}
	select.application_people {
		height: 44px;
		border: 1px solid #333;
		font-size: 24px;
		background-color: #fff;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .timetable_inner_add {
		color: #E50000;
		font-size: 11px;
		font-weight: normal;
		margin: 0;
		width: 100%;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner {
    	display: inline-block;
    	width: 100%;
		border-bottom: 2px solid #333;
		padding-bottom: 0.5rem;
		clear: both;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner_wrapper.right {
		float: right;
	}
	#reservationbody #timetable-sp .bl_timetable p.timetable__inner_txt {
		width: 100%;
		padding-top: 0.8rem;
	}
	.closing {
		width: 70%;
		background-color: #E5E5E5;
		margin-left: 1rem;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .closing p {
		font-size: 16px;
		color: #9A9A9A;
		font-weight: bold;
		text-align: center;
		height: 44px;
    	line-height: 44px;
	}
	#reservationbody p.current_note {
		text-align: center;
		color: #000;
		font-size: 16px;
		font-weight: normal;
	}
	/* footer */
	#reservationbody {
		margin-bottom: 7rem;
		min-height: 100vh;
	}
	#footer #sp-footer {
		display: block;
		position: fixed;
		bottom: 0;
		height: 86px;
		background-color: aliceblue;
		width: 100%;
	}	
	.application label {
		width: 100%;
		height: auto;
	}
	ul.bl_footer_nav {
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		background-color: #fff;
		list-style: none;
		height: 86px;
	}
	ul.bl_footer_nav li {
		width: 24.8%;
		background-color: #6DC7D7;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	ul.bl_footer_nav li a {
		width: 100%;
	}
	/* sp-footer */
	img.nav_acon {
		height: 44px;
		width: auto;
	}
	/* drawer_icon */
	input#“drawerCheckbox” {
		display: none;
	}
	.menu_sp_logo {
		width: 90px;
		height: auto;
	  }
	  
	  .drawer_icon {
		display: block;
		width: 48px;
		height: 50px;
		position: fixed;
		top: 0;
		right:0;
		cursor: pointer;
		z-index: 400;
	  }
	  
	  .drawer_icon_item, .drawer_icon_item::before, .drawer_icon_item::after {
		display: block;
		width: 48px;
		height: 4px;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		margin: auto;
		background-color: #00A6BA;
	  }
	  .drawer_icon_item.item_span2 {
		content: '';
		top: -25px; 
		background-color: #8CCFCF;
	  }
	  .drawer_icon_item.item_span2::after {
		content: '';
		top: 13px; 
		background-color: #ADDEF8;
	  }
	  .drawer_icon_item.item_span3 {
		content: '';
		top: 35px; 
		background-color: #B5DAA9;
	  }
	  .drawer_icon_item.item_span3::before {
		content: '';
		top: -20px; 
		background-color: #B2B5DB;
	  }
	  
	  .menu_span, .close_span {
		font-size: 10px;
		position: relative;
		top: 2.6rem;
		color: #82C6D8;
		font-weight: bold;
	  }
	  
	  .drawer_overlay {
		background: #333;
		opacity: 0;
		pointer-events: none;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 2;
	  }
	  
	  .drawer_checkbox:checked ~ .drawer_overlay {
		opacity: 0.7;
		pointer-events: auto;
	  }
	  
	  .drawer_menu {
		background: #fff;
		max-width: 100%;
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		right: -100%;
		z-index: 80;
	  }
	  
	  .drawer_checkbox:checked ~ .drawer_menu {
		border-left: 4px solid #6DC7D7;
		right: -4px;
		overflow-y: scroll;
		max-height: 885px;
	  }
	  
	  .drawer_checkbox:checked ~ .drawer_icon .drawer_icon_item {
		background: transparent;
	  }
	  
	  .drawer_checkbox:checked ~ .drawer_icon .drawer_icon_item::before {
		-webkit-transform: rotate(-25deg);
		transform: rotate(-25deg);
		top: -1rem;
		margin-right: 1rem;
	  }
	  
	  .drawer_checkbox:checked ~ .drawer_icon .drawer_icon_item::after {
		-webkit-transform: rotate(25deg);
		-moz-transform: rotate(25deg);
		transform: rotate(25deg);
		top: 1.5rem;
		margin-right: 1rem;
	  }
	  
	  .drawer_icon_item,
	  .drawer_icon_item:after,
	  .drawer_icon_item:before,
	  .drawer_overlay,
	  .drawer_menu {
		-webkit-transition: all 0.7s;
		-moz-transition: all 0.7s;
		transition: all 0.7s;
	  }
	 
	  .drawer_menu ul {
		width: 90%;
		margin: auto;
		list-style: none;
		padding-right: 4px;
	  }
	  
	  .drawer_menu ul li {
		font-size: 14px;
		padding-bottom: 1px;
		letter-spacing: 0.1em;
	  }
	  
	  .drawer_menu ul li a {
		text-decoration: none;
		color: #333;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 1rem 3rem 1rem 1rem;
	  }
	  
	  .drawer_menu span {
		font-size: 16px;
	  }
	  
	  .drawer_checkbox:checked ~ .drawer_icon .menu_span {
		display: none;
	  }
	  
	  .drawer_checkbox ~ .drawer_icon .close_span {
		display: none;
		top: 45px;
		right: 1rem;
	  }
	  .drawer_checkbox:checked ~ .drawer_icon .close_span {
		display: block;
	  }
	/* spメニュー */
	.drawer_menu_header {
		padding: 1.6rem 0;
		position: fixed;
		z-index: 20;
		background: #fff;
		width: 100%;
	}
	.drawer_menu_header .menu_sp_twitter {
		font-size: 14px;
		font-weight: bold;
		color: #5EB6E6;
		letter-spacing: 0.12em;
		padding: 0.6rem 0 0.6rem 0.6rem;
		border: 1px solid;
		text-decoration: none;
	}
	.drawer_menu_header .menu_sp_twitter:before {
		content: '';
		display: inline-block;
		width: 16px;
		height: 16px;
		background-image: url(../images/sp/sp-header/Icon-twitter.svg);
		background-size: contain;
		background-repeat: no-repeat;
		vertical-align: middle;
		padding-right: 0.5rem;
		margin-bottom: 0.2rem;
	}
	.drawer_menu_header .menu_sp_twitter:after {
		content: '';
		display: inline-block;
		width: 15px;
		height: 10px;
		background-image: url(../images/sp/sp-header/speech.svg);
		background-size: contain;
		background-repeat: no-repeat;
		vertical-align: middle;
		position: relative;
		top: 1.195rem;		
		left: -8rem;
	}
	.drawer_menu ul#menu {
		margin: 160px auto 0;
	}
	.drawer_menu ul#menu li.menu-parents {
		text-align: left;
		position: relative;
	}
	.drawer_menu ul#menu li.menu-parents h5, .drawer_menu ul#menu li.menu h5{
		padding: 1rem;
		background-color: #6BAEBF;
		color: #fff;
	}
	.drawer_menu ul#menu li.menu-parents .ly-menu-child .menu-child a {
		position: relative;
		background-color: #F3F6EE;
	}
	.drawer_menu ul#second-menu li a {
		position: relative;
		padding: 0.6rem 1rem;
	}
	.drawer_menu ul#menu li.menu-parents h5:before,.drawer_menu ul#menu li.menu-parents .ly-menu-child .menu-child a:before, .drawer_menu ul li.menu a h5:before,.drawer_menu ul#second-menu li a:before{
		content: '';
		display: inline-block;
		width: 8px;
		height: 4px;
		background-image: url(../images/sp/sp-header/menu-deko.png);
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		left: 0;
		top: 1.5rem;
	}
	.drawer_menu ul#second-menu li a:before {
		top: 1.2rem;
	}
	.drawer_menu ul.ly-menu-child {
		width: 100%;
	}
	.drawer_menu ul li.menu a {
		padding: 0;
	}
	.drawer_menu ul li.menu {
		text-align: left;
	}
	/* 矢印 */
	.accordion-title {
		position: relative;
	}
	.accordion-title::after {
		border-right: solid 2px #fff;
		border-top: solid 2px #fff;
		content: "";
		display: block;
		height: 5px;
		position: absolute;
		right: 20px;
		top: 38%;
		transform: rotate(135deg);
		transition: transform .3s ease-in-out, top .3s ease-in-out;
		width: 5px;
	}
	.accordion-title.open::after {
		top: 45%;
		transform: rotate(-45deg);
	}
	.menu-title {
		position: relative;
	}
	.menu-title::after,.drawer_menu ul li.menu a h5:after {
		border-right: solid 2px #707070;
		border-top: solid 2px #707070;
		content: "";
		display: block;
		height: 5px;
		position: absolute;
		right: 20px;
		top: 38%;
		transform: rotate(45deg);
		transition: transform .3s ease-in-out, top .3s ease-in-out;
		width: 5px;
	}
	.drawer_menu ul li.menu a h5:after {
		border-right: solid 2px #fff;
		border-top: solid 2px #fff;
	}
	ul.ly-menu-child {
		display: none;
	}
	ul#second-menu {
		text-align: left;
		margin-bottom: 2rem;
	}

	/* drawer_menu_footer */
	.drawer_menu_footer {
		background-color: #EFF0E3;
		padding: 1rem 4px 1rem 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: distribute;
		justify-content: space-around;
		-webkit-box-align: center;
		-ms-flex-align: center;
    	align-items: center;
		text-align: left;
	}
	.drawer_menu_footer .menu_footer_txt {
		font-size: 15px;
		color: #666666;
	}
	.drawer_menu_footer .menu_footer_txt span {
		font-size: 11px;
		color: #707070;
		line-height: 0.5em;
		display: block;
	}
	.drawer_menu_footer .menu_footer_tel {
		font-size: 28px;
		font-weight: bold;
		color: #666;
	}
	.drawer_menu_footer .menu_footer_tel span {
		font-size: 12px;
		font-weight: normal;
		display: block;
		line-height: 0.5em;
	}
	.drawer_menu_footer .menu_footer_tel a:link {
		color: #666;
		text-decoration: none;
	}
	.drawer_menu_footer .menu_footer_tel a:hover {
		text-decoration: underline;
	}
}
@media only screen and (max-width: 380px) { /*ウィンドウ幅が最大479pxまでの場合に適用*/
	
	.timetable_button button {
		min-width: 134px;
	}
	#reservationbody #timetable-sp .bl_timetable .timetable_inner .ship {
		font-size: 22px;
	}
}
/*------------------
	basket
--------------------*/
@media only screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	.course_button {
		padding: 2rem 0 0;
	}
	.course_button.orange {
		padding: 0.5rem 0 0;
	}
	p.reservation_txt span {
		font-weight: bold;
	}
	#reservationbody p.errorbox {
		width: 90%;
		border: unset;
		background: none;
		color: #FF1C49;
		padding: 5px !important;		
	}
	#reservationbody p.errorbox span {
		font-size: 18px;
		font-weight: bold;
	}
	.application_people.decision {
		padding: 0.5rem 1rem;
		font-size: 20px;
		font-weight: bold;
		background-color: #fff;
		border: 1px solid #BBBEB4;
	}
	#reservationbody #timetable-sp p.selection.route,#reservationbody #timetable-sp p.selection.price {
		text-align: center;
		margin: auto;
	}
	#reservationbody #timetable-sp p.selection.route span.bg_gray,#reservationbody #timetable-sp p.selection.price  span.bg_lightgray{
		padding: 1em;
	}
	#reservationbody #timetable-sp p.schedule {
		font-size: 18px;
		font-weight: bold;
	}
}
@media only screen and (max-width: 479px) { /*ウィンドウ幅が最大479pxまでの場合に適用*/
}
/*------------------
	reserve
--------------------*/
/* reserv_form */
#reservationbody td {
    padding: 1em 0.2em;
}
#reservationbody .formstyle input[type="text"],#reservationbody .formstyle .form_notes,#reservationbody .formstyle td textarea, #reservationbody input[type="email"] , #reservationbody input[type="tel"]  {
	padding: 0.5rem;
	width: 95%;
    margin: auto;
	font-size: 14px;
}
#reservationbody input[type="email"] , #reservationbody input[type="tel"] {
    width: 50%;
}
#reservationbody .formstyle .form_name input[type="text"] {
	width: 30%;
}
#reservationbody .formstyle .form_notes {
    padding-left: 10px;
}
#reservationbody .bl_form_button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	margin: 1.5rem 0;
}
@media only screen and (max-width: 767px) { /*ウィンドウ幅が最大767pxまでの場合に適用*/
	#reservationbody #timetable-sp p.timetable_schedule {
		width: 100%;
	}
	/* reserv_form */
	#reservationbody .formstyle th,#reservationbody .formstyle td {
		width: 90%;
		display: block;
		line-height: 1.5;
		padding: 1em;
		text-align: left;
		border: none;
	}
	#reservationbody .formstyle td .form_notes {
		padding: 0.5rem 0;
    	width: 100%;
	}
	
	.errorcheck2 span {
		font-size: 120%;
		padding: 0 0.2rem;
	}
	.notes3 {
		display: block;
	}
	/* reserve_form_check */
	#reservationbody #timetable-sp p.selection.price span.bg_lightgray {
		font-size: 16px;
		background-color: #A0A0A0;
		color: #fff;
		font-weight: bold;
	}
	#reservationbody #timetable-sp .bl_timetable p.total {
		font-size: 20px;
		text-align: right;
		padding-top: 1rem;
	}
	#reservationbody #timetable-sp .bl_timetable p.total span.amount {
		font-size: 22px;
		font-weight: bold;
		padding-left: 0.5rem;
	}
	#reservationbody .bl_form_button {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: 0;
	}
	#reservationbody .formstyle input[type="text"].short, #reservationbody input[type="email"] , #reservationbody input[type="tel"]  {
		width: 95%;
	}
}
/*------------------
	detail
--------------------*/
/**/
#contents.detail #entrybody .bl_vessel p {
    margin-bottom: 0;
}
#entrybody img.vessel {
	padding-left: 7%;
}
span.block {
    display: block;
    padding-top: 0.5rem;
}
p.scroll_txt {
	display: none;
}
/*フォトライブラリー*/
#entrybody .bl_content.bg_green img {
    width: 320px;
    height: 217px;
    object-fit: cover;
}
@media only screen and (max-width: 767px) { 
	#contents.detail,#contents.list,#contents.pf {
		width: 95%;
		margin: 1px auto 10rem;
		min-height: 650px;
	}
	#contents.detail #entrybody p {
		padding: 0.3em 0;
		margin: 0 1em 1em;
	}
	#contents.detail #entrybody p.pdf_dl {
		padding: 0.3em;
	}
	#contents.detail #entrybody img {
		padding: 0;
		margin: 5px auto;
		object-fit: cover;
	}
	#pagetitle {
		padding: 25px 15px 15px;
	}
	#entrybody h2:first-child {
		margin-top: 0;
	}
	#contents.detail #entrybody img.vessel {
		display: block;
	}
	#entrybody h2 {
		padding: 12px 5px;
	}
	section.scroll-x {
		overflow-x: scroll;
		overflow-y: hidden;
	}
	section.scroll-x img {
		max-width: unset;
	}
	#contents.detail #entrybody p.scroll_txt {
		display: block;
		font-size: 11px;
		color: #999;
		margin: 0 1.5em;
	}
	#contents.detail #entrybody p.scroll_txt.right {
		text-align: right;
	}
	/*フォトライブラリー*/
	#contents.detail #entrybody .bl_content.bg_green img {
		margin: 5px auto 1rem;
	}
}
/*-----------table---------*/
/*チケット発売場所*/
table.place {
    width: 640px;
}
@media only screen and (max-width: 767px) { 
/*tbl-r05*/
#entrybody table.tbl-r05 {
	width: 95%;
	margin: 1rem auto;
}
  .tbl-r05 .thead {
	display: none;
  }
  .tbl-r05 tr {
	width: 100%;
	display: block;
	margin-bottom: 1rem;
  }
  .tbl-r05 th,.tbl-r05 td {
	display: block;
  }
  .tbl-r05 td:before {
	content: attr(data-label);
	font-weight: bold;
	font-size: 12px;
	display: block;
	color: #a8a8a8;
  }
  #entrybody table.place td, #entrybody table.place th {
	border: unset;
    border-bottom: 1px solid #8ACDCD;
  }

}
/*bl_content*/
.bl_content {
    font-size: 16px;
}
.detail .bl_content {
    padding: 1rem 0;
	margin: 2rem 0;
}
.detail .bl_content.library {
	text-align: center;
}
#entrybody .font32 {
    font-size: 32px;
    margin: 0 1.5em;
}
#entrybody .font24 {
    font-size: 24px;
	margin: 0 2em;
}
#entrybody span.strong_red.font24 {
    margin: 0;
}
@media only screen and (max-width: 767px) {
	#entrybody .font32 {
		font-size: 24px;
	}
} 
/*------------------------
20230317 お知らせをspトップに表示
--------------------------*/
/*pc非表示*/
#contents #news {
    display: none;
}
/*sp*/
@media only screen and (max-width: 767px) {
	#contents #news {
		display: block;
	}
	#contents  #news h2.flat {
		margin: 0;
		padding: 0;
	}
	#contents  #news h2.flat img{
		width: 100%;
	}
	#contents  #news ul.newslist {
		text-align: left;
		margin: 0 15px;
	}
}