@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
/* @import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap'); */

.fontNotoSerif {
	font-family: "Noto Serif JP", serif;
}

.contents {
	min-width: 1024px;
	font-family: "Noto Sans JP", sans-serif;
}

.hover:hover {
	filter: alpha(opacity=70);
	-moz-opacity:0.7;
	opacity:0.7;
	transition-duration: 0.3s;
}

.w960 {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
}

/*------------------------*/

.Search_module--horizontal .Search__form-group.width33 {
  width: 31%;
}
.Search_module--horizontal .Search__form-group-wrap.shipI01 {
	justify-content: flex-start;
	gap: 0px 30px;
}
.formReset01 {
	position: absolute;
	right: 0px;
	bottom: 0px;
	text-decoration: underline;
}

/*------------------------*/

.searchBlock01 {
	background-image: url("/attending/cruise/images/ship/search_bg01.jpg");
	background-repeat: repeat;
	background-position: center top;
	padding: 96px 0px 48px;
}

.h2Wrap01 {
	text-align: center;
	margin-bottom: 48px;
}
.contH201 {
	font-family: "Noto Serif JP", serif;
	font-size: 28px;
	line-height: 1.6em;
	font-weight: 600;
}
.h2Text01 {
	margin-bottom: 12px;
}
.h2Text01 img {
	width: auto;
	height: 50px;
}

.posiRe01 {
	position: relative;
}
.searchPager01 {
	display: flex;
	justify-content: center;
	gap: 10px 10px;
}
.searchPager01 li {
	width: 30px;
	height: 30px;
	border: 1px solid #73645E;
	background-color: #ffffff;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	line-height: 1.0em;
	cursor: pointer;
}
.searchPager01 li button {
	width: 100%;
	height: 100%;
	border: none;
	background: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.0em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.searchPager01 li:hover {
	border: 1px solid #46352E;
	background-color: #46352E;
	color: #ffffff;
}
.searchPager01 li.active {
	border: 1px solid #46352E;
	background-color: #46352E;
	color: #ffffff;
}

.searchPager01 li button.lar01,.searchPager01 li button.lar02,.searchPager01 li button.rar01,.searchPager01 li button.rar02{
	width: 30px;
    height: 30px;
	display: flex;
    align-items: center;
    justify-content: center;
}

.searchPager01 li button.lar01:hover::before,.searchPager01 li button.lar02:hover::before,.searchPager01 li button.lar02:hover::after,.searchPager01 li button.rar01:hover::before,.searchPager01 li button.rar02:hover::before,.searchPager01 li button.rar02:hover::after  {
	border-top: 1px solid #fff;
    border-right: 1px solid #fff;
	background-color: #46352E;
}

.searchPager01 li button.lar01::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #73645E;
    border-right: 1px solid #73645E;
	transform: translateX(2px) rotate(-135deg);
}

.searchPager01 li button.lar02::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #73645E;
    border-right: 1px solid #73645E;
	transform: translateX(3px) rotate(-135deg);
}
.searchPager01 li button.lar02::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #73645E;
    border-right: 1px solid #73645E;
	transform: translateX(1px) rotate(-135deg);
}
.searchPager01 li button.rar01::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #73645E;
    border-right: 1px solid #73645E;
	transform: translateX(-1px) rotate(45deg);
}

.searchPager01 li button.rar02::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #73645E;
    border-right: 1px solid #73645E;
	transform: translateX(-1px) rotate(45deg);
}
.searchPager01 li button.rar02::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #73645E;
    border-right: 1px solid #73645E;
	transform: translateX(-3px) rotate(45deg);
}




.searchPager01 li.ar01 img {
	width: auto;
	height: 11px;
}
.searchPager01 li.ar02 img {
	width: auto;
	height: 11px;
}

.pagerBlock01 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 128px;
}

.sortFlex01 {
	display: flex;
	gap: 0px 8px;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
}

.Search__select {
	position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border: 1px solid #888;
    border-radius: 4px;
    background: white;
}
label[for="Result__sort-display"] {
	font-size: 14px;
    padding-left: 10px;
}
.selectPage01 {
	padding: 8px 30px 8px 10px;
	font-size: 14px;
	background-color: #ffffff;
	border-radius: 4px;
}
.searchContBox01 {
	background-color: #ffffff;
	padding: 40px;
}
.searchCont {
	margin-top: 30px;
	border-bottom: 1px solid rgba( 0,0,0,0.4 );
}
.searchCont:first-child {
	margin-top: 0px;
}
.searchCont a {
	display: block;
	padding-bottom: 24px;
}
.searchH301 {
	font-size: 18px;
	line-height: 1.6em;
	font-weight: 500;
	margin-bottom: 15px;
}
.searchFlex01 {
	display: flex;
	align-items: center;
	gap: 0px 10px;
}

.searchpatch01 {
	background-color: #005299;
	padding: 4px 7px;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.6em;
	font-weight: 500;
}
.searchpatch02 {
	background-color: #3FAAB5;
	padding: 4px 7px;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.6em;
	font-weight: 500;
}


.searchText01 {
	color: #D92416;
	font-size: 20px;
	line-height: 1.6em;
	font-weight: bold;
}

.searchFlex02 {
	display: flex;
	align-items: center;
	gap: 10px 30px;
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.6em;
}
.searchFlex02 li {
	display: flex;
	align-items: center;
	gap: 0px 10px;
	
}
.searchBtn01 {
	background-color: #D92416;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 10px;
	height: 46px;
	width: 220px;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.6em;
	font-weight: bold;
}
.searchBtn01::after {
	content: "";
	display: block;
	background-image: url("/attending/cruise/images/ship/btn_ar01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 8px auto;
	width: 8px;
	height: 12px;
	margin-left: 22px;
}


.searchFlex03 {
	display: flex;
	justify-content: space-between;
}

/*----------------------*/

.mainBlock01 {
	background-image: url("/attending/cruise/images/ship/main_bg01.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 78px 0px 40px;
}
.mainTitFlex01 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0px 32px;
	margin-bottom: 40px;
}
.mainLogo01 {
	width: 111px;
	height: auto;
}
.mainLogo01 img {
	max-width: 100%;
}
.mainBox01 {
	text-align: center;
	position: relative;
	font-weight: bold;
}
.mainBox01::before {
	content: "";
	background-image: url("/attending/cruise/images/ship/main_text01.png");
	background-repeat: no-repeat;
	background-position: center center;
	width: 388px;
	height: 107px;
	position: absolute;
	left: 0px;
	top: -30px;
}

.mainBox01 .s01 {
	display: block;
	font-size: 20px;
	line-height: 1.5em;
	color: #163567;
}
.mainBox01 .s02 {
	display: block;
	font-size: 35px;
	line-height: 1.5em;
	color: #163567;
}
.seoTextWrap01 {
	text-align: center;
	font-size: 16px;
	line-height: 1.6em;
	margin-top: 40px;
}

/*-----------------------*/

.ancBlock01 {
	padding: 60px 0px 48px;
}
.ancFlex01 {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.ancFlex01.js-animate {
	opacity: 0;
	transition: 1s;
}
.ancFlex01.js-animate--active {
	opacity: 1;
}
.ancFlex01::before {
	content: "";
	background-image: url("/attending/cruise/images/ship/main_text_concept.png");
	background-repeat: no-repeat;
	background-position: center center;
	width: 619px;
	height: 88px;
	position: absolute;
	top: 0px;
	left: 560px;
}

.ancFlex01 .box01 {
	width: 500px;
	height: auto;
	position: relative;
}
.ancFlex01 .box02 {
	width: 450px;
	height: auto;	
	position: relative;
	flex-shrink: 0;
}

.ancFlex01 .box01 .p01 {
	font-size: 25px;
	line-height: 1.5em;
	font-weight: 600;
	margin-bottom: 30px;
}
.contText15_18_n {
	font-size: 15px;
	line-height: 1.8em;
}

.ancNaviFlex01 {
	display: flex;
	gap: 0px 4px;
	margin-top: 96px;
}
.ancNaviFlex01 li {
	flex-grow: 1;
}
.ancNaviFlex01 li a {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #46352E;
	width: 100%;
	height: 100px;
}
.ancNaviFlex01 li a img {
	width: auto;
	height: 68px;
}

/*------------------------*/

.pointBlock01 {
    padding: 10px 0px 48px;
    margin-top: 24px;
}

.swiper01Wrap01 .swiper-button-disabled {
	display: none !important;
}

.swiper01Wrap01 {
	position: relative;
}
.swiperTextBox01 {
	text-align: left;
	padding: 15px 0px 36px;
	font-size: 15px;
	line-height: 1.6em;
}

.swiper01Wrap01 .swiper-button-next:after,
.swiper01Wrap01 .swiper-button-prev:after {
  display: none;
}

.swiper01Wrap01 .swiper-button-prev {
	background-image: url("/attending/cruise/images/ship/slide_ar01_l.png");
	background-repeat: no-repeat;
	background-position: center center;
	width: 53px;
	height: 52px;
	left: -26px;
}
.swiper01Wrap01 .swiper-button-next {
	background-image: url("/attending/cruise/images/ship/slide_ar01.png");
	background-repeat: no-repeat;
	background-position: center center;
	width: 53px;
	height: 52px;
	right: -26px;
}
.swiper01Wrap01 .swiper-scrollbar {
	height: 10px;
	background: #f5f5f5;
}
.swiper01Wrap01 .swiper-scrollbar .swiper-scrollbar-drag{
	height: 10px;
	background: #ccc;
}
.contBox01 {
	margin-top: 40px;
}
.bannerFlex01 {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 0px;
	width: 960px;
	margin: 24px auto auto;
}
.bannerFlex01 li {
	width: 100%;
}

/*--------------------*/

.shipinfoBlock01 {
	padding: 24px 0px 48px;
    margin-top: 72px;
}

.contH301 {
	font-family: "Noto Serif JP", serif;
	font-size: 24px;
	line-height: 1.6em;
	font-weight: 500;
	display: flex;
	align-items: center;
	height: 54px;
	background-image: url("/attending/cruise/images/ship/shipinfo_shipdata.png");
	background-repeat: no-repeat;
	background-position: left center;
	margin-top: 70px;
	color: #005299;
}
.shipinfoBox01 {
	position: relative;
	padding: 48px 40px 48px 0px;
	margin-top: -3px;
}
.shipinfoBox01::before {
	content: "";
	background-color: #F2F2EE;
	height: 100%;
	width: 120vw;
	min-width: 1024px;
	position: absolute;
	top: 0px;
	right: 0px;
	z-index: -1;
}
.shipinfoBox01::after {
	content: "";
    position: absolute;
    top: -18px;
    right: 70px;
    width: 182px;
    height: 182px;
    z-index: -1;
	
	/* 背景画像の設定 */
    background-image: url(/attending/cruise/images/ship/rectangle.jpg);
	background-size: cover;      /* 枠いっぱいに表示 */
	background-position: center; /* 中央寄せ */
	background-repeat: no-repeat;
}
.contH4Wrap01 {
	margin-bottom: 16px;
}
.contH4Wrap01 .p01 {
	font-size: 14px;
	line-height: 1.6em;
}
.contH4Wrap01 .h401 {
	font-size: 24px;
	line-height: 1.6em;
	font-weight: 500;
}

.shipinfoTable01 {
	width: 100%;
	font-size: 15px;
}
.shipinfoTable01 td {
	border-bottom: 1px solid rgba( 35,35,35,0.1 );
	padding: 12px 0px;
	width: 30%;
}
.shipinfoTable01 td p {
	font-size: 15px;
}
.shipinfoTable01 td p.link_cts{
	display: inline-flex;
    align-items: center;
    justify-content: center;
	margin-top: 0.5rem;
}
.shipinfoTable01 td p.link_cts a{
	font-size: 14px;
}
.shipinfoTable01 td p.link_cts a:hover{
	text-decoration: underline;
}
.shipinfoTable01 td p.link_cts::before {
    content: "";
    display: block;
    background-image: url(/attending/cruise/images/ship/link_icon.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 14px auto;
    width: 14px;
    height: 14px;
    margin-right: 5px;
}
.shipinfoImg01 {
    width: 290px;
    position: absolute;
    right: 135px;
    top: -88px;
}


.shipinfoBox02 {
	margin: 50px auto;
}
.shipinfoH301 {
	position: relative;
	margin-bottom: 30px;
	width: 100%;
}
.shipinfoH301::before {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #C5C5C5;
	position: absolute;
	left: 0px;
	top: 50%;
}
.shipinfoH301 .s01 {
	position: relative;
	display: inline-block;
	padding: 0px 10px 0px 0px;
	background-color: #ffffff;
	color: #005299;
	font-size: 24px;
	line-height: 1.6em;
	font-weight: 600;
}
.contText01 {
	font-size: 18px;
	line-height: 1.6em;
	font-weight: 500;
	margin-bottom: 10px;
}

/*------------------------*/

.movieBlock01 {
    padding: 24px 0px 96px;
    margin-top: 24px;
}

.movieBox01 {
	background-color: #F4F4F4;
	border: 1px solid #E0E0E0;
	border-radius: 4px;
	padding: 16px;
}
.movieText01 {
	font-size: 14px;
	line-height: 1.6em;
}
.swiper02Wrap01 {
	padding-bottom: 36px;
}

.contBtn01 {
	text-align: center;
}
.contBtn01 a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 10px 70px;
	width: auto;
	min-height: 70px;
	min-width: 200px;
	max-width: 600px;
	margin: auto;
	background-color: #005299;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.6em;
	font-weight: 400;
	flex-wrap: wrap;
}
.contBtn01 a::after {
	content: "";
	background-image: url("/attending/cruise/images/ship/btn_ar01.png");
	background-repeat: no-repeat;
	background-position: center center;
	width: 8px;
	height: 12px;
	display: block;
	margin-left: 40px;
}
.movieBtn01 {
	margin-top: 32px;
}

/*--------------------*/

.faqBlock01 {
	position: relative;
	padding: 96px 0px;
	background-color: #F2F2EE;
}
.faqBlock01::before {
	content: "";
	width: 50%;
	height: 100%;
	background-color: #EBEBE5;
	position: absolute;
	top: 0px;
	left: 50%;
}

.faqUl01 {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 0px;
}
.faqUl01 li {
	width: 100%;
	background-color: #ffffff;
}
.acBlock01 {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 20px 50px 20px 20px;
	font-size: 16px;
	line-height: 1.6em;
	font-weight: bold;
}
.acBlock01::after {
	content: "";
	background-image: url("/attending/cruise/images/ship/faq_ac01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 22px auto;
	width: 22px;
	height: 22px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.acBlock01.open::after {
	background-image: url("/attending/cruise/images/ship/faq_ac01_on.png");
}

.acCont01 {
	display: none;
	border-top: 1px solid #F5F5F5;
	background-color: #FCFCFC;
}

.acCont01 p a{
	text-decoration: underline;
}
.acContIn01 {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 20px;
	line-height: 1.6em;
	font-weight: 500;
}

.faqUl01 .icon01 {
	flex-shrink: 0;
	width: 48px;
	margin-right: 16px;
}

/*---------------------*/

.sightBlock01 {
	padding: 96px 0px;
}
.contText12_16_n {
	font-size: 12px;
	line-height: 1.6em;
}

.sightFlex01 {
	display: flex;
	gap: 0px 16px;
}
.sightFlex01 li {
	width: 25%;
	border: 1px solid #C5C5C5;
}
.sightFlex01 li a {
	position: relative;
	display: block;
	background-color: #ffffff;
	padding: 24px;
}
.sightFlex01 li a::after {
	content: "";
	background-image: url("/attending/cruise/images/ship/sight_ar01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 20px auto;
	width: 20px;
	height: 21px;
	position: absolute;
	right: 8px;
	bottom: 9px;
}

.sightFlex01 li .dl01 {
	margin-top: 16px;
}
.sightFlex01 li .dl01 dt {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6em;
	margin-bottom: 10px;
}
.sightFlex01 li .dl01 dd {
	font-size: 15px;
	line-height: 1.6em;
}

.btnWrapFlex01 {
	display: flex;
	justify-content: center;
	gap: 0px 24px;
	margin-top: 32px;
}
.contBtn01.sightBtn01 a {
	background-color: #54423B;
    width: 370px;
    height: 100%;
	padding: 10px 20px;
    font-family: auto;
    font-weight: 400;
    font-size: 16px;
}
.contBtn01.sightBtn01 a span {
	flex: 1;
}

/*----------------------------*/

.otherBlock01 {
	background-image: url("/attending/cruise/images/ship/other_bg01.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 96px 0px;
	position: relative;
}

.otherFlex01 {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}
.otherFlex01 li {
	width: calc((100% - 16px * 3) / 4);
	border: 1px solid #C5C5C5;
	background-color: #ffffff;
}
.otherFlex01 li a {
	position: relative;
	display: block;
}
.otherFlex01 .otherBox01::after {
	content: "";
	background-image: url("/attending/cruise/images/ship/other_ar01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 20px auto;
	width: 20px;
	height: 21px;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}


.otherBtn01 {
	width: 100%;
	position: absolute;
	left: 0px;
	bottom: -34px;
}
.otherBox01 {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 8px 38px 8px 8px;
	font-size: 15px;
	line-height: 1.4em;
	color: #003A79;
}

.contBlock01 {
	padding: 120px 0px 20px;
}

/* 250918 */

.inner_horizontal {
    padding: 0 0 30px;
}

.Search_module--horizontal {
    width: 1024px;
    margin: 0 auto;
}

#searchTab{
    display:flex;
    justify-content: center;
}
#searchTab li{
    width:100%;
    padding:10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    background-color: #E4E4E4;
    border-radius: 6px 6px 0 0;
    cursor: pointer;
    position: relative;
    border: 0.2rem solid #e5e5e5;
    border-bottom: none;
    margin-bottom: 2px;
}
#searchTab li::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -0.2rem;
    display: block;
    width: 100.75%;
    height: 0.75rem;
    /* background: white; */
    border-top: 0.2rem solid #E4E4E4;
    border-bottom: 0.2rem solid #E4E4E4;
}
#searchTab li:first-child {
    margin-right: 10px;
}
#searchTab li.current{
    position: relative;
    background: white;
    border: 0.2rem solid #E4E4E4;
    border-bottom: none;
}

#searchTab li.current::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 5px;
    background-color: #0179A1;
    border-radius: 6px 6px 0 0;
}

#searchTab li.current::after {
    content: "";
    position: absolute;
    bottom: -5px;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 5px;
    background-color: white;
    border-top: none;
    border-bottom: none;
}

.Search__form-group--keyword {
    display: none;
}

.Search__form {
border: 0.2rem solid #E4E4E4;
}

/* .Search__form-group--date .Search__input-text {
    background: none;
}

.Search__form-group--date .Search__input-text::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #c3c3c3;
    border-bottom: 2px solid #c3c3c3;
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-80%) rotate(45deg);
} */

/* 阪急交通社のクルーズ旅行 */

.cruise_travel{
	display: flex;
    justify-content: space-between;
	width: 1024px;
    margin: 0 auto;
    padding: 20px 0 20px;
	gap: 20px;
}

.cruise_travel a:hover {
	opacity: 0.6;
}














