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

.marginbottom-0 { margin-bottom: 0 !important;}


/* youtubeレスポンシブ対応 ----------------------------------------------------*/
.movie-wrap {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
	margin-top: 0;
}
.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* TOPバナー ----------------------------------------------------*/
.longBnr { border-radius: 0 50px; }
/* イベント情報上段のバナー */
ul.shortBnr {
    justify-content: flex-start;
    gap: 0 0.6rem;
}

/* TOPホテルの魅力 ----------------------------------------------------*/
.separate-img img { object-fit: cover; }

/* TOPニュース ----------------------------------------------------*/
.infoBox { padding: 9% 3.9%; }
.accordion-item { margin-bottom: 0.3rem; }
.infoBox ul li:last-child {
    margin-top: 1.2rem;
    border-bottom: 1px dashed #d1dee1;
}
.infoBox ul li div.newsImg { margin-bottom: 0.9rem; }

/* stay indexページ ----------------------------------------------------*/
.category-table {
	width: 100%;
    display: flex;
}
.category-table ul {
	width: 100%;
    display: flex;
    flex-flow: column;
	margin-top: 0.6rem;
}
.category-table li { margin-bottom: 3rem; }
.category-table img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.category-table figure {
    height: auto;
    background: #fff;
}
.category-table figcaption {
    padding: 1.2rem;
    font-weight: 600;
	text-align: center;
}
.planBtn {
    background: #53b0c2;
    color: #FFF;
    text-align: center;
	border-radius: 0 0 5px 5px;
}
.whiteText {
    padding: 0.3rem;
    text-align: center;
}
.plan-detail { overflow: hidden; }
.upper-radius { border-radius: 5px 5px 0 0; }



/* ゴルフページ ----------------------------------------------------*/
.blackout-dates { background: #e3ebea; }/* 除外日背景色 */
.accordion-box { max-height: 100%; }/* アコーディオンの高さ変更 */
.accordion-label { padding: 5px 35px 9px 0; }/* アコーディオンの調整 */
.accordion-check:checked~.accordion-box { padding: 0; }
.accordion-label { padding: 0.6rem 3rem 0.6rem 0; }
.golftable { margin: 1.2rem 0; }/* ゴルフカレンダーのマージン調整 */
.golfBox_detail { padding: 0; }/* ゴルフカレンダーのパディング調整 */
.golf_month p { margin: 1.5rem 0; }


/* アテンション --------------------------------------------------------- */
.attention-box {
    width: 100%;
	max-width: 1000px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    padding: 40px;
	margin-top: 3rem;
	border: 1px #007c9b solid
}
.underLine { border-bottom: solid 1px black; }
.attention-box dt,
.attention-box dd { font-family: 'Shippori Mincho', serif; }

/*アコーディオン ベース*/
.toggle-s {
	display: none;
}
.summary-label {		/*タイトル*/
	padding: 0.6rem 1em;
	display: block;
	color: #fff;
	background: rgb(0 124 155);
	cursor: pointer;
}
.summary-label::before{		/*タイトル横の矢印*/
	content:"";
	width: 12px;
	height: 12px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 8px );
	right: 20px;
	transform: rotate(135deg);
}
.summary-label,
.summary-content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.summary-content {/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}
.summary-content:last-child {/*本文*/
	margin-bottom:0;
}
.toggle-s:checked + .summary-label + .summary-content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle-s:checked + .summary-label::before {
	transform: rotate(-45deg) !important;
	top: calc(50% - 0px);
}

/* 料理ページ ----------------------------------------------------*/
/* bxslider キャプション */
.bx-wrapper .bx-caption {
	display: block;
	position: absolute;
    bottom: 0;
    font-size: 15px;
    width: 100%;
    padding: 0.6rem 1.2rem;
    background: #271919;
	text-align: left;
}
.bx-wrapper .bx-caption span {
	display: block;
    font-size: 90%;
    padding: 10px;
    color: white;
}
.menu-btn {
	max-width: 540px;
    margin: 0 auto;
}

/* おしながき */
.kaiseki {
    background: #2c90a9;
    color: #fff;
}
.kaiseki dl {
	border-radius: 0 0 9px 9px;
    font-weight: normal;
    font-size: small;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}
.kaiseki dt {
	width: 18%;
    font-weight: bold;
    color: #92dbf5;
}
.kaiseki dd { width: 81.9%; }
.kaiseki dt,
.kaiseki dd {
	padding: 0.6rem 0;
	border-bottom: 1px solid #579cb5;
}

/* topポップアップ ----------------------------------------------------*/
.modal-container {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	text-align: center;
	background: rgba(0, 0, 0, 0.5);
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s ease-out;
	z-index: 9;
}
 
.modal-container::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
 
.modal-container.active {
	opacity: 1;
	visibility: visible;
}
 
.modal-body {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 540px;
	width: 90%;
}
.modal-body a { overflow:hidden; }

.modal-body img {
	width: 100%;
	display:block;
}
.modal-body img:hover{
	transform:scale(1.03);
	transition:0.3s;
}
.modal-close {
    position: absolute;
    top: -33px;
    right: -12px;
    font-size: 21px;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    text-align: center;
    line-height: 45px;
    color: #fff;
    background: rgb(0 124 155);
    cursor: pointer;
    border: none;
    z-index: 999;
	padding: 0;
	margin: 0;
}
 
.modal-content {
	width: 100%;
	background: #fff;
}

/* 伊良湖サウンズ --------------------------------------------------------- */
article #soundsImage {
	display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    height: 30vh;
    margin: 0 auto 0;
}
article #soundsImage img {
    width: 100%;
    height: auto;
}
.rogo-area {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    background: #c03805;
}
.rogo-box {
	width: 100%;
    margin: 0 auto;
	padding-bottom: 1.2rem;
    max-width: 1000px;
}
.iragosounds-rogo {
	width: 90%;
	max-width: 1000px;
    margin: 0 auto;
    position: relative;
    top: -4.5rem;
	margin-bottom: -4.5rem;
}
.iragosounds-rogo img {
	width: 100%;
    vertical-align: bottom;
}
.event-details {
	width: 81%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 1.8rem 0;
    letter-spacing: 0.09em;
    text-align: justify;
	line-height: 1.8rem;
}
.event-details span {
	font-size: 1.8rem;
    font-weight: 600;
    padding-bottom: 0.9rem;
    display: block;
    line-height: 2.7rem;
}
.irago-sounds {
	width: 90%;
	max-width: 1000px;
    margin: 0 auto;
	position: relative;
    padding-top: 30px;
    font-family: 'Shippori Mincho', serif;
    font-weight: 900;
    font-size: 2.1rem;
    line-height: 2.4rem;
	color: #acdef2;
}
.irago-sounds span {
	display: block;
    font-size: 42%;
    margin-top: -0.3rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-align: justify;
}

.tvcm-area {
	width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 1.5rem 0 0;
	background: #214f66;
}
.tvcm-box {
	width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 1.5rem 0 3rem;
}
.sounds-area {
	width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 1.5rem 0 0;
	background: #363762;
}
.calendar-box { margin-top: 1.5rem; }
.artist-box {
	display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
	max-width: 1000px;
    margin: 0 auto;
}
.sounds-area .calendar-box .artist-list:nth-child(odd) {
	background-color: #323246;
}
.sounds-area .calendar-box .artist-list:nth-child(even) {
	background-color: #222232;
}
.artist-calendar {
	width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}
.april-color { background: #00c4ac; }
.artist-date {
    width: 40%;
    text-align: center;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 1.2rem;
}
.artist-date .week:nth-child(odd) {
	color: #2b2320;
}
.artist-date .week:nth-child(even) {
	color: #130d0c;
}
.artist-photo {
	width: 60%;
	display: flex;
    background: #000;
    color: #fff;
    justify-content: space-between;
    align-items: center;
}
.month { letter-spacing: 0.21rem; }
.dating {
    font-size: 6rem;
    font-weight: 600;
    line-height: 6.9rem;
}
.week {
	display: block;
    width: 100%;
    background: #fff;
	border-radius: 15px;
	letter-spacing: 0.09rem;
    font-size: 0.9rem;
}
.day-sat { color: #0063ff; }
.week-sat {
	background: #0063ff;
    color: #fff !important;
}
.day-sun { color: #ff0e0e; }
.week-sun {
	background: #ff0e0e;
    color: #fff !important;
}
.artist-photo img {
	width: 100%;
    vertical-align: bottom;
    height: 210px;
    object-fit: cover;
}
.artist-info {
    width: 100%;
    padding: 5%;
    color: #fff;
}
.artist-name {
	font-size: 2.4rem;
    font-family: 'Shippori Mincho', serif;
    font-weight: 300;
    line-height: 2.4rem;
    margin-bottom: 0.6rem;
	color: #8c8de7;
}
.artist-name span {
	font-size: 0.9rem;
    text-align: center;
    vertical-align: middle;
    letter-spacing: 0.45em;
}
.light-purple { color: #8c8de7; }
.light-sun { color: #ffb79d; }
.marine-blue { color: #17475b; }
.tomikumi { object-position: 21% 50%; }

/* スケジュールタブ */
.tab-wrap {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	padding: 0;
	max-width: 1000px;
    margin: 0 auto;
}

.tab-label,
.tab-label-5lot {
	color: #b6b6c3;
	cursor: pointer;
	flex: 1;
	font-weight: bold;
	order: -1;
	padding: 1.2rem 0;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
	font-size: 6rem;
    line-height: 6rem;
}
.tab-label-5lot {
	font-size: 3rem;
    line-height: 3.3rem;
}
.tab-switch:checked + .tab-label,
.tab-switch:checked + .tab-label-5lot { color: #8c8de7; }

.tab-label::after,
.tab-label-5lot::after {
	background: #8c8de7;
	bottom: 0;
	content: '';
	display: block;
	height: 9px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(100%);
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
	width: 100%;
	z-index: 1;
	border-radius: 15px;
}
.tab-switch:checked ~ .tab-label::after,
.tab-switch:checked ~ .tab-label-5lot::after {
	transform: translateX(-100%);
}
.tab-switch:checked + .tab-label::after,
.tab-switch:checked + .tab-label-5lot::after {
	opacity: 1;
	transform: translateX(0);
}
.tab-content {
	height:0;
	opacity:0;
	padding: 0;
	pointer-events:none;
	transform: translateX(-30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
	width: 100%;
}
.tab-switch:checked ~ .tab-content {
	transform: translateX(30%);
}
.tab-switch:checked + .tab-label + .tab-content,
.tab-switch:checked + .tab-label-5lot + .tab-content {
	height: auto;
	opacity: 1;
	order: 1;
	pointer-events:auto;
	transform: translateX(0);
}
.tab-wrap::after {
	content: '';
	height: 20px;
	order: -1;
	width: 100%;
}
.tab-switch {
	display: none;
}
.tab-label span,
.tab-label-5lot span {
	font-size: 0.9rem;
    display: block;
    line-height: 0.9rem;
    letter-spacing: 0.21rem;
}
.singer-area {
	background: #c03805;
    width: 100%;
	max-width: 100%;
	padding: 1.5rem 0;
	margin: 0 auto !important;
}
.singer-box {
    width: 90%;
    max-width: 1000px;
    margin: 3rem auto 0;
}
.singer-box ul {
	display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
.singer-box li {
	width: 100%;
    background: #fff8f5;
	margin-bottom: 1.5rem;
}
.singer-photo img {
	width: 100%;
    vertical-align: bottom;
}	
.singer-info,
.musician-info {
	width: 100%;
	padding: 2.4rem 2.1rem;
}	
.singer-info dt,
.musician-info dt {
	font-size: 1.5rem;
    font-weight: 400;
    font-family: 'Shippori Mincho', serif;
    color: #c03805;
    padding-bottom: 0.6rem;
}
.singer-info dd,
.musician-info dd { 
	color: #c03805;
    letter-spacing: 0.09em;
    text-align: justify;
}

/* 伊良湖サウンズ ホテル紹介 */
.music-stage {
	background: #acdef2;
    width: 100%;
    max-width: 100%;
    padding: 1.5rem 0 3rem;
    margin: 0 auto !important;
}
.stage-box {
	width: 90%;
    max-width: 1500px;
    margin: 3rem auto 0;
}
.stage-box li {
	width: 300px;
	margin: 0 0.6rem 0 0;
	background: #fff;
	height: auto;
	flex-direction: row;
	justify-content: space-between;
}
.stage-box li:last-child { margin-right: 0;}
.SliderBnr .slick-arrow { top: 180px; }	
.stage-info {
	width: 300px !important;
	height: auto !important;
}
.stage-text {
    padding: 1.8rem;
    background: #17475b;
    height: 270px;
}
.stage-text dt {
    font-size: 1.8rem;
    font-weight: 400;
    font-family: 'Shippori Mincho', serif;
    color: #acdef2;
    padding-bottom: 0.9rem;
    line-height: 1.8rem;
}
.stage-text dt span {
	font-size: 0.66rem;
    display: block;
    line-height: 1.5rem;
    letter-spacing: 0.3em;
    text-align: justify;
}
.stage-text dd {
	color: #acdef2;
    letter-spacing: 0.09em;
    text-align: justify;
}
.sns-box ul {
	width: 72%;
	display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    margin-top: 1.5rem;
}
.sns-box li { margin-bottom: 0; }
.sns-rogo {
	color: #c03805;
    font-size: 1.8rem;
    display: block;
}
.sns-box .tomikumi-sns,
.sns-icon .tomikumi-sns { width: 39%; }

.one-word {
	color: #fff;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 1.2rem;
    padding: 1.2rem 1.5rem;
    background: #ba3ae1;
    border-radius: 60px;
	text-align: center;
}

/* 伊良湖サウンズ ライブ */
.musician-box,
.live-info-box {
	background: #c03805;
    border-radius: 50px;
    margin: 3rem 0;
    padding-bottom: 0.3rem;
}
.live-info-box { background: #5c991c; }
.yellow-green { color: #cfff9d; }
.musician-box ul,
.live-info-box ul {
	margin: 1.5rem 0;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
.musician-box li,
.live-info-box li {
	width: 90%;
	margin: 0 auto;
    background: #fff8f5;
    margin-bottom: 1.5rem;
    border-radius: 50px;
	display: flex;
	flex-flow: column;
}
.musician-photo,
.musician-photo img {
	width: 100%;
	vertical-align: bottom;
}
.photo-radius { border-radius: 50px 50px 0 0; }
.sns-icon ul {
	width: 72%;
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    margin-top: 1.5rem;
}
.sns-icon li { margin-bottom: 0; }
.position-monmayuya { object-position: 50% 50%; }
.position-iwamuramisaki { object-position: 50% 50%; }
.musician-info dt { font-size: 2.1rem; }
.musician-info span {
	font-size: 0.9rem;
    margin-left: 0.6rem;
}
.musician-info .light-green { color: #4d7524; }
.booking-btn,
.aii-plans-btn {
	display: block;
    background: #c03805;
    border-radius: 30px;
    padding: 0.9rem 1.8rem;
    margin: 0.3rem 0 1.5rem 0;
    text-align: center;
}
.booking-btn a,
.aii-plans-btn a {
	color: #ffb79d;
    text-align: center;
    display: block;
}
.booking-btn:hover { background: #ce4120; }
.aii-plans-btn { background: #5c991c; }
.aii-plans-btn a { color: #cfff9d; }
.sign {
	display: block;
    margin: 0.6rem;
    padding: 0.6rem;
    font-size: 0.9rem;
    background: #6465c7;
    border-radius: 0.6rem;
    color: #eeeeff;
}



/* 周辺スポット --------------------------------------------------------- */
/* 周辺スポット　ボタン */
.tourism-button { margin-top: 1.5rem; }

.tourism-button li {
	margin-bottom: 0.6rem;
    display: inline-block;
    background: #75bf34;
    border-radius: 60px;
}
.tourism-button li a {
	width: 100%;
	display: block;
    padding: 0.9rem 1.8rem;
	color: #fff;
}
.tourism-button li:nth-of-type(1) { background: #fe9b00; }
.tourism-button li:nth-of-type(2) { background: #f13b34; }
.tourism-button li:hover:nth-of-type(1) { background: #fe8500; }
.tourism-button li:hover:nth-of-type(2) { background: #e1302a; }
.tourism-button li:hover:nth-of-type(3) { background: #6bb12c; }

.live-flyer {
	width: 90%;
    margin: 0 auto;
}
.live-flyer img { width: 100%; }

/* 伊良湖サマーフェス バナーエリア */
.summer-bnr-area {
	background: #fff382;
    width: 100%;
    max-width: 100%;
    padding: 1.5rem 0 3rem;
    margin: 0 auto !important;
}
.summer-bnr {
	width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}
.yellow-black { color: #5e5500; }

/* 伊良湖サウンズ スペシャルライブ */
.special-live-area {
	background-image: linear-gradient(120deg, rgb(124 244 239) 4%, rgb(188 213 255) 13%, rgba(230, 177, 225, 1) 28%, rgb(250 187 239) 49%, rgb(252 161 161) 67%, rgb(240 169 131) 78%, rgb(255 198 167) 95%);
}
.special-live {
    width: 100%;
    display: inline-block;
    background: #ff00b1;
    color: #8aff00;
	font-weight: bold;
    border-radius: 15px;
    font-size: 0.81rem;
    line-height: 0.81rem;
    margin-bottom: 0.3rem;
    padding: 0.39rem 0 0.3rem 0;
}
.aomurasaki { color: #1c1a92; }
.artist-date .specialweek {
	color: #fff4d5 !important;
    background: #95777a !important;
}
.live-sake {
	background: #95777a;
	/*background: #906161;*/
    /*color: #b5ff00;*/
	color: #8aff00;
    border-radius: 60px;
    font-size: 0.9rem;
    line-height: 1.2rem;
    margin-top: 0.6rem;
    padding: 0.9rem 1.2rem;
    display: inline-block;
}

/* 伊良湖サマーフェスページ ----------------------------------------------------*/
.summer-festival {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	background: linear-gradient(108deg,#048abf,#4acad9,#f2d649,#f29f05,#f25430);
	background-size: 300% 300%;
	animation: gradient-animation 15s ease infinite;
}
@keyframes gradient-animation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
article #summer-fest-visual {
	display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    height: 100%;
    margin: 0 auto 0;
}
article #summer-fest-visual img {
	width: 100%;
    height: auto;
	vertical-align: bottom;
}

.catchy-copy {
	width: 100%;
	max-width: 100%;
    padding: 0;
    margin: 0;
	position: relative;
    top: 0;
    left: 0;
}
.catchy-copy ul {
	width: 90%;
    margin: 0 auto;
    padding: 3rem 0;
    position: relative;
	z-index: 2;
}
.catchy-copy li {
	display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    line-height: 72px;
    transform: rotate(-15deg);
	color: #0b3d6f;
    font-size: 42pt;
    letter-spacing: 10px;
    text-shadow: 5px 5px 7px #ffffff, -5px 5px 7px #ffffff, 5px -5px 7px #ffffff, -5px -5px 7px #ffffff, 5px 0px 7px #ffffff, 0px 5px 7px #ffffff, -5px 0px 7px #ffffff, 0px -5px 7px #ffffff;
}
.catchy-copy ul li:nth-child(1) {
	width: 57%;
    position: absolute;
    top: -1.2rem;
    left: -2.1rem;
    transform: rotate(15deg);
}
.catchy-copy ul li:nth-child(4) {
	transform: rotate(0deg);
    width: 75%;
    position: absolute;
    bottom: -3rem;
    right: -2.1rem;
    z-index: -1;
}
.summer-festival-area {
	width: 100%;
	max-width: 100%;
    padding: 0;
    margin: 0;
	/* ドット（水玉）模様のCSS */
	/*background-color   : #f29f05;*/
	background-image   : radial-gradient(#ffffff24 30%, transparent 33%),
                       radial-gradient(#ffffff24 30%, transparent 33%);
	background-position: 0 0, 30px 30px;
	background-size    : 60px 60px;
}
.flower-area {
	width: 100%;
	max-width: 100%;
    padding: 0;
    margin: 0;
	position: relative;
    top: 0;
    left: 0;
}
.flower-area ul li:nth-child(1) {
	width: 57%;
    position: absolute;
    z-index: 2;
    top: -2.4rem;
    left: -1.2rem;
	transform: rotate(15deg);
}
.flower-area ul li:nth-child(2) {
	width: 60%;
    position: absolute;
    z-index: 2;
    top: -1.2rem;
    right: -3rem;
	transform: rotate(6deg);
}
.flower-area ul li:nth-child(3) {
	width: 60%;
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
}
.flower-area ul li:nth-child(4) {
	transform: rotate(180deg);
    width: 57%;
    position: absolute;
    z-index: 2;
    bottom: 0;
    right: 0;
}
.summerfes-rogo-area {
	width: 100%;
    max-width: 100%;
    margin: 0 auto;
    background: #048abf;
}


/* IRAGO SUMMER FEST　八木作成 ----------------------------------------------------*/
.irago-summer-fest #mainContainer {
	scroll-snap-type: y mandatory;
    position: relative;
    width: 100%;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 2;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #f8f2de;
}
.irago-summer-fest main {
	background:url(../img/event/summer/stripe.png);
}
.irago-summer-fest .rogo-area .event-details { color: #fff;}

#mainImage-text { width: 100%; position:absolute; top:150px;}
#mainImage-text p { width: 80%; margin: 0 auto; font-size: 500%; color: #2089FD; text-align:center;}
.wf-nicomoji { font-family: "Nico Moji"; }

.irago-summer-fest h2 {
	margin: 1.2rem 0 0.6rem;
    font-size: 140%;
	position: relative;
    top: 0;
    left: 0;
}
.marugo {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight:bold;
	color: #232929;
}

.video-area { margin: 0 auto 2.1rem; }
.irago-summer-fest .summerSection {
	margin: 0 auto;
}

section.summer-fest-section { margin-bottom: 0; padding-bottom: 5%;}

.irago-summer-fest .table-flex .th dt , .irago-summer-fest .table-flex .th dd { /*background: #09F !important; */background: #f29f05 !important; text-align:center; color:#FFF;}
.irago-summer-fest .table-flex dd { flex:1; background-color:#fff; border-left: #666 1px solid;}
.irago-summer-fest .table-flex dt , .irago-summer-fest .table-flex dd{  border-top:#666 1px solid; border-bottom:#666 1px solid; margin-top: -1px; padding: 1.5%; }
.irago-summer-fest .table-flex dd.redText { font-weight:bold; color:#F00;}
.irago-summer-fest .table-flex dt.base { background: #e3dfdd;}

.summer-video { width: 100%; margin-top: 3rem;}
.irago-summer-fest .bx-wrapper li div img  { width: 100%; height: auto;}
.irago-summer-fest .onePiece .imgBox img  { width: 100%; height: auto;}

/* ここまでIRAGO SUMMER FEST　八木作成 ----------------------------------------------------*/

/* 伊良湖サマーフェスページ続き ----------------------------------------------------*/

.bright-blue { color: #5aeeff; } 

/* 波模様 */
.sep3 {
  transform: translateY(-100%) translateY(2px) scale(1,1);
  transform-origin: top;
}
.iragosummerfes-rogo {
	top: 0;
    margin-bottom: 0;
}
.pattern-filter { filter: hue-rotate(120deg); }
.summerfes-area {
	width: 100%;
    max-width: 100%;
	background: #4acad9;
    margin-top: 2.4rem;
}
.summerfes-inner {
	width: 90%;
    max-width: 1000px;
    margin: 0 auto;
	color: #232929;
}
.fest-back {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}
.fest-back img {
	width: 30%;
    position: absolute;
    top: -21px;
    left: -12px;
    /*z-index: -1;*/
    aspect-ratio: 1 / 1;
}
.notice {
	font-weight: 600;
    color: #232929;
}
.water-park-area {
	background-image: url(../img/iragosummerfes/stripe.png);
	/*background-color: rgba(175, 238, 238);*/
	background-color: rgba(205, 250, 205);
	border-radius: 15px 15px 15px 15px;
}
.water-park-area img {
	width: 100%;
    vertical-align: bottom;
	border-radius: 15px 15px 0 0;
} 
.calendar-area {
	width: 90%;
    margin: 0 auto;
	padding-bottom: 3rem;
}
.sales-info {
	margin: 1.5rem 0 0.3rem;
    color: #232929;
}
.water-park-list { margin: 1.2rem 0 4.5rem; }
.water-park-list li,
.web-ticket li,
.ennichi-list li {
	font-weight: 600;
    font-size: 1.05rem;
    position: relative;
    margin: 0 0 9px 21px;
}
.water-park-list .wp-attention { margin: 0 0 0 36px; }
.water-park-list .wp-attention li {
	font-weight: 500;
	font-size: initial;
	list-style: decimal;
	margin-bottom: 0.6rem;
}
.water-park-list .wp-attention li:before { content: none; }
.water-park-list .wp-attention li::marker {
	font-weight: 900;
	color: #257a8a;
}
/*.water-park-list li:before,
.web-ticket li:before,
.ennichi-list li:before,
.jtb-ticket li:before,
.ticket-container p:before {
    content:  "";
    width:  9px;
    height:  9px;
    display:  inline-block;
    background-color: #4fbe8b;
    border-radius:  50%;
    position:  relative;
    top: -1px;
    margin-right: 6px;
}*/
.water-park-list li:before,
.web-ticket li:before,
.ennichi-list li:before,
.jtb-ticket li:before,
.ticket-container p:before {
    content:  "";
    width:  9px;
    height:  9px;
    display:  inline-block;
    background-color: #4fbe8b;
    border-radius:  50%;
    position: absolute;
    top: 9px;
    left: -18px;
    margin-right: 6px;
}

.ennichi-list li:before { background-color: #ffaf32; }
.water-park-list span,
.ennichi-list span { font-size: 90%; }
.web-ticket { margin-bottom: 0; } 
.web-ticket li p,
.ticket-container p { display: inline; }
.web-ticket li p span { font-size: 1.08rem; }
.web-ticket img {
	width: 100%;
	border-radius: 0 0 0 0;
}
/*.jtb-ticket {
	margin: 0 0 9px 21px;
    font-weight: 600;
    position: relative;
    top: 0;
    left: 0;
}
.jtb-ticket p { display: contents; }
.jtb-ticket img { border-radius: 0; } */
.beach-event {
	width: 100%;
    max-width: 100%;
	margin: 4.5rem auto;
}
.beach-event .flyer img {
	position: relative;
    top: 0;
    left: 0;
}
.guidance-area {
	width: 90%;
    margin: 0 auto;
    padding: 0.6rem 0 3rem 0;
}
.coral-color { background: #f25430; }

/* ビーチボタン */
.beach-btn,
.special-btn {
  width: 100%;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  margin: 1.2rem 0;
  height: 66px;
  text-align:center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}

.beach-btn:hover,
.special-btn:hover {
  background-position: 100% 0;
  moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}

.beach-btn:focus,
.special-btn:focus {
  outline: none;
}

.beach-btn.tropical {
  background-image: linear-gradient(
    to right,
	  #6fba82,
    #07b39b,
    #1098ad,
    #5073b8,
    #a166ab,
    #ef4e7b,
    #f37055,
    #f79533
  );
}

/* 吹き出し */
.fukidashi-kawaii {
	position: relative;
	width: fit-content;
	padding: 12px 16px;
	border: 2px solid #048abf;
	border-radius: 4px;
	background: #ffffff;
    color: #048abf;
	font-weight: bold;
	margin: 0 auto;
}
.fukidashi-kawaii::before {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 50%;
	width: 15px;
	height: 15px;
	box-sizing: border-box;
	background-color: #ffffff; /* 背景色と同じ色を指定 */
	rotate: 135deg;
	translate: -50%;
}
.fukidashi-kawaii::after {
	content: "";
	position: absolute;
	bottom: -8px;
	left: 50%;
	width: 15px;
	height: 15px;
	box-sizing: border-box;
	border: 2px solid;
	border-color: #048abf #048abf transparent transparent;
	rotate: 135deg;
	translate: -50%;
}

/* 吹き出し2 */
.balloon1-top {
	position: relative;
    display: inline-block;
    margin: 1.2rem 0 0;
    padding: 1.5rem 1.2rem;
    width: 100%;
    max-width: 100%;
    color: #ffe9d8;
    background: #e76702;
    border-radius: 15px;
    font-size: 1.2rem;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}

.balloon1-top:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #e76702;
}
.balloon1-top h3 { color: #ffe9d8; }
.balloon1-top p {
  margin: 0;
  padding: 0;
}

/* 宿泊ボタン */
.special-btn.rainbow {
  background-image: linear-gradient(
    to right,
	#f79533,
    #f37055,
    #ef4e7b,
    #a166ab,
    #5073b8,
    #1098ad,
    #07b39b,
    #6fba82

  );
}

.orange { background-color: #ffaf32; }
.mint-green {
	background: #e8ff00;
	color: #0b9d68;
}

/*ウォーターパークカレンダー 勝浦から */
#waterIsland .twoPiece {
	flex-direction: column;
}

#waterIsland .twoPiece li {
    width: 100%;
    margin: 1% auto 1%;
}
/*カレンダー */
table.schedule { font-size: 110%; background-color:#FFF; color: #999; width: 100%; margin:0 auto 0; border: 1px solid #666; text-align:center; }
table.schedule caption { font-size: 120%; color: #fff; background-color:#09F; padding: 2%;}
table.schedule th { background-color:#999; color: #FFF; padding: 5px; border: 1px solid #888; }
table.schedule td { color:#666; padding: 5px; border: 1px solid #888; vertical-align: middle; }
table.schedule .sun { color:#FFF; background-color: #F55 !important;}
table.schedule .sat { color: #FFF; background-color: #4DA6FF !important;}
.green { background-color:#80FF80 !important; }
.purple { background-color: #D2BBFF !important; }
.yellow { background-color: #FFFF80 !important; }
.blue { background-color: #85E0FE !important; }
.pink { background-color: #FDD7FC !important; }
.scheduleTime { font-size: 90% !important; }
#waterIsland #attention { margin-top: 0;}
table.schedule caption.gryBg { font-size: 115%; color: #555; background-color: #EBEBEB; margin-bottom: -1px; padding: 0.5%; border: 1px solid #888;}

#waterIsland .table-flex .th dt , #waterIsland .table-flex .th dd { background: #09F !important; text-align:center; color:#FFF;}
#waterIsland .table-flex dd { flex:1; background-color:#fff; border-left: #666 1px solid;}
#waterIsland .table-flex dt , #waterIsland .table-flex dd{  border-top:#666 1px solid; border-bottom:#666 1px solid; margin-top: -1px; padding: 1.5%; }
#waterIsland .table-flex dd.redText { font-weight:bold; color:#F00;}

.waterIsland-reservation dl , .waterIsland-others dl { background-color: #FFF; background-size: cover; border-radius: 10px; margin-top: 3%;}
.waterIsland-reservation dl:first-child , .waterIsland-others dl:first-child { margin-top: 0%;}
.waterIsland-reservation dt {  background-color: #d7000f; padding: 5%; font-size: 110%; color:#FFF;}
.waterIsland-others dt {  background-color: #09F; padding: 5%; font-size: 110%; color:#FFF;}
.waterIsland-reservation dt:first-child , .waterIsland-others dt:first-child { border-radius: 10px 10px 0 0 ;}
.waterIsland-reservation dd , .waterIsland-others dd {  padding: 5%;}
.waterIsland-reservation a { text-decoration:underline;}
.waterIsland-others img { margin: 0 10px 0 0; line-height:20px; vertical-align: -3px; width: 10px;}
.waterIsland-others dd a{  display: inline-flex; margin: 0 10px 0 0; align-items: center;}
.waterIsland-others dd a:last-child{ margin: 0 0 0 0;}
.waterIsland-others dd a:hover { background-color:#CCC;}
.waterIsland-link { text-decoration:underline;}
.waterIsland-link:hover { color:#C00;}

/* ウォーターパーク営業予定蘭 */
.schedule-column {
	width: 100%;
    margin: 0 auto 0.6rem;
    background: #fff;
    border-radius: 0 12px 12px 0;
    padding: 0.9rem 1.2rem;
    border-left: solid 12px #faa83e;
	box-shadow: 0px 3px 9px rgb(139 136 131 / 39%);
	background-image: radial-gradient(#ededed 20%, transparent 20%), radial-gradient(#ededed 20%, transparent 20%);
    background-size: 9px 9px;
    background-position: 0 0, 9px 9px;
}
.working-day {
	font-size: 1.2rem;
    font-weight: bold;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    line-height: 2.4rem;
	letter-spacing: 0.03em;
    border-bottom: 3px dashed #d3cabf;
    margin-bottom: 0.9rem;
    display: block;
}
.working-day span { font-size: 2.1rem; }
.sales-text-box,
.sales-text {
	display: flex;
	align-items: center;
	font-weight: bold;
    letter-spacing: 0.12em;
}
.schedule-area {
    width: 100%;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: wrap;
	margin-top: 0.9rem;
}
.schedule-area ul {
	display: flex;
    flex-wrap: wrap;
    gap: 0 0.6rem;
}
.schedule-area li { width: 100%; }
.usual,
.cancel,
.exclamation {
	padding-right: 0.3rem;
	font-size: 1.5rem;
	vertical-align: middle;
}
.usual { color: #41b883; }
.cancel { color: #ec2f00; }
.exclamation { color: #ffb400; }
.schedule-area .schedule-content {
	width: 100%;
	display: block;
}
.schedule-area .schedule-content li {
	width: 100%;
	vertical-align: middle;
	margin-bottom: 0.21rem;
}
.play-time {
    padding: 0 0.6rem;
    font-size: 0.9rem;
	vertical-align: middle;
}
del.d-underline {
    background-image: linear-gradient(transparent 0.5em, #e70000 0, #e70000 calc(0.5em + 1px), transparent 0, transparent calc(0.5em + 3px), #e70000 0, #e70000 calc(0.5em + 4px), transparent 0);
    text-decoration: none;
    padding: 0 2px;
}

/* 注意事項 */
.web-ticket .notice-items/*,
.jtb-ticket .notice-items*/ {
	color: #cc3100;
    font-weight: bold;
}
/* ウォーターパーク営業時間変更のお知らせ */
.wp-notice {
	width: 90%;
    background: #b6efff;
    padding: 1.5rem;
    border-radius: 30px;
    margin: 0 auto;
    color: #0b3f4c;
    font-weight: bold;
	border: 6px solid;
}
.wp-notice span {
	font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 0.6rem;
    display: block;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.sango { color: #ff3232; }
del.d-underline-notice {
    background-image: linear-gradient(transparent 0.7em, #e70000 0, #e70000 calc(0.7em + 1px), transparent 0, transparent calc(0.7em + 3px), #e70000 0, #e70000 calc(0.7em + 4px), transparent 0);
    text-decoration: none;
    padding: 0 3px;
}

/* 2025.07.11追加：平日と週末の営業時間の下線の色 */
.weekdays p { background: linear-gradient(transparent 60%, #FFFF80 30%); }
.weekends p { background: linear-gradient(transparent 60%, #FDD7FC 30%); }






/* トップスライド動画 --------------------------------------------------------- */
#video-box {
    padding: 0;
    background-color: #817c70;
}
#video-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    height: 39vh;
}
#video-wrap video {
    width: auto;
    height: 100%;
}

/* Instagramの動画 --------------------------------------------------------- */
.gallery {
	display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 12px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
	position: relative;
    z-index: 2;
}
.video-card {
	position: relative;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transition: transform 0.3s ease;
}
.video-card:hover { transform: translateY(-5px); }
.gallery .video-card video {
	width: 100%;
	height: auto;
	cursor: pointer;
	display: block;
}

/* プレイボタン▶ */
.play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none; /* クリックを動画に通す */
	transition: opacity 0.3s ease;
}
.play-button i {
	opacity: 0.72;
    background: #fff;
    border-radius: 50%;
}

/* Instagram Follow Me */
.instagram-conteiner {
	width: 100%;
	max-width: 480px;
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content: center;
    margin: 3rem auto 0;
    gap: 0.9rem;
	position: relative;
	padding: 1rem 2rem calc(1rem + 15px);
	background: #ffffff8c;
}
.instagram-conteiner:before {
	position: absolute;
	content: '';
	top: -9px;
	left: -9px;
	width: 100%;
	height: 100%;
	border: 3.9px solid #000;
}

/* Instagramボタン */
.instagram-button {/*ボタンの下地*/
	color: #FFF;
	border-radius: 14px;
	position: relative;
	display: block;
	height: 120px;
	width: 120px;
	text-align: center;
	padding-top: 12px;
	box-sizing: border-box;
	font-size: 19px;
	background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
	overflow: hidden;
	text-decoration:none;
}
.instagram-button:before{/*グラデーション②*/
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
	background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
}
.instagram-button div { position: relative; }

.instagram-button .fa-instagram {
	font-size: 70px;/*アイコンサイズ*/
	position: relative;
    display:inline-block;
    transition: .5s
}

.instagram-button .fa-instagram:hover {/*ホバーで一周回転*/
	-webkit-transform: rotateX(360deg);
	-ms-transform: rotateX(360deg);
	transform: rotateX(360deg);
}


/* 吹き出し */
.fukidashi-01-13 {
	position: relative;
	padding: 0.3rem 0 0.3rem;
}
.fukidashi-01-13::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 0;
	width: 60px;
	height: 1px;
	transform: rotate(-14deg);
	box-sizing: border-box;
	background-color: #333333;
}
.fukidashi-01-13::after {
	content: "";
	position: absolute;
	bottom: -14px;
	left: 0;
	width: 90px;
	height: 1px;
	transform: rotate(14deg);
	box-sizing: border-box;
	background-color: #333333;
}
.fukidashi-01-13 > .ornament {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.fukidashi-01-13 > .ornament::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 0;
	width: 120px;
	height: 1px;
	transform: rotate(-12deg);
	box-sizing: border-box;
	background-color: #333333;
}
.fukidashi-01-13 > .ornament::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 120px;
	height: 1px;
	transform: rotate(12deg);
	box-sizing: border-box;
	background-color: #333333;
}

.mocchiri {
    animation: mocchiri 3s infinite;
}
@keyframes mocchiri {
    0% {
        transform: scale(1, 0.8);
    }
    20% {
        transform: scale(0.8, 1.1);
    }
    95% {
        transform: scale(1, 1);
    }
    100% {
        transform: scale(1, 0.8);
    }
}
/* Instagram Follow Me ここまで */


/* 鼓動するボタン */
.video-link {
	position: relative;
	margin: 0 auto;
}
.heartbeat-btn-box{
	position: absolute;
	bottom: -1.2rem;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}
#heartbeat-btn-animation .heartbeat-btn {
	display: block;
	position: relative;
	width: 210px;
	height: 60px;
	line-height: 60px;
	border-radius: 60px;
	font-size: 1.2rem;
    font-weight: 600;
	letter-spacing: 1.8px;
	text-decoration: none;
	color: #fbfbfb;
	text-align: center;
	transition: .2s;
    box-shadow: 0 5px 20px 0px #ff7c7c9e, 0 0 0 1.8px #ffffff9e;
}
#heartbeat-btn-animation .heartbeat-btn:hover { background-color: #63d4db; }

#heartbeat-btn-animation .heartbeat-btn:before,
#heartbeat-btn-animation .heartbeat-btn:after {
	content: "";
	position: absolute;
	z-index: -10;
	width: 210px;
	height: 60px;
	top: 0;
	left: 0;
	border-radius: 60px;
	background: linear-gradient(90deg, rgba(0, 119, 255, 1) 0%, rgba(252, 69, 123, 1) 100%);
	transform: translate3d(0,0,0);
}
#heartbeat-btn-animation .heartbeat-btn:before { animation: anime 1.8s ease-out infinite; }
#heartbeat-btn-animation .heartbeat-btn:after { animation: anime 1.8s ease-out 1.8s infinite; }
@keyframes anime{
0%{ transform:scale(.95); opacity:1 }
90%{ opacity:.1}to{transform:scale(1.2,1.4); opacity:0 }
}

/* JTBレジャーチケット */



/* Webチケット */
.web-ticket-wrapper {
	width: 100%;
    display: flex;
    flex-direction: column;
}
.ticket-container { margin-bottom: 1.5rem; }
.ticket-container p {
	font-weight: 600;
    font-size: 0.99rem;
    line-height: normal;
    /*margin: 0 0 0.3rem 0;
	margin: 0 0 0.9rem 0;*/
	position: relative;
    margin: 0 0 9px 21px;
    display: block;
}

.web-ticket-bnr {
	margin-bottom: 0.6rem;
    display: block;
}


/* Webチケット 金額表 */
.wp-ticket-table-container {
	width: 100%;
    margin: 0 auto;
    overflow-x: auto;
}
.wp-ticket-table-container table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin-bottom: 0.6rem;
}
.wp-ticket-table-container th,
.wp-ticket-table-container td {
	border: 1px solid #70d1ff;
	padding: 9px;
	text-align: center;
	word-wrap: break-word;
	background: #fdfeff;
	vertical-align: middle;
}
.wp-ticket-table-container th,
.wp-ticket-subheading td {
	color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.18em;
    background-color: #32ade5;
}
.wp-ticket-table-container .tix-heading {
	color: #ffffff;
    font-size: 1.2rem;
    font-weight: 600;
    background-color: #007bb3;
    letter-spacing: 0.18em;
}
.wp-ticket-table-container th span {
	font-size: smaller;
    letter-spacing: normal;
}


.section-title {
	background-color: #d0f5d0;
	font-weight: bold;
}
.note {
	padding: 12px 16px;
	background-color: #fefee0;
	font-size: 0.9em;
	border-top: 1px solid #ccc;
	color: #333;
}

.summer-festival-area:last-child {
	margin: 0 auto;
    padding-bottom: 3rem;
}

/* ビーチ・プールのスライド画像のキャプション */
.beach-caption li figcaption {
	position: absolute;
    line-height: normal;
    color: #fff;
    font-size: 0.72rem;
    z-index: 3;
    bottom: 0;
    right: 0;
    background: #016c96a6;
    padding: 0.24rem 0.6rem;
    border-radius: 30px;
    margin: 0 0.3rem 0.3rem 0;
}


/* Webチケット情報ご利用の流れ 2026/6/1追記 -------------------------------------------------------------- */
.online-ticket { margin-bottom: 4.5rem; }
.online-ticket-list { margin: 1.5rem 0; }
.online-ticket-list dt {
	font-weight: 600;
	font-size: 1.2rem;
}
.online-ticket-list dd {
	margin: 0 0 9px 21px;
	font-weight: 600;
    position: relative;
    top: 0;
    left: 0;
}
.online-ticket-list dd:before {
    content:  "";
    width:  9px;
    height:  9px;
    display:  inline-block;
    /*background-color: #257a8a;*/
	background-color: #4fbe8b;
    border-radius:  50%;
    position: absolute;
    top: 9px;
    left: -18px;
    margin-right: 6px;
}
.wp-great-price {
    display: block;
	background: #fff900;
    color: #f5693f;
	font-weight: 600;
    padding: 0.12rem 0.3rem;
}
.wp-ticket-table-container .wp-sw-ticket th { background-color: #f5693f; }
.wp-ticket-table-container .wp-sw-ticket th,
.wp-ticket-table-container .wp-sw-ticket td { border: 1px solid #ffbfab; }
.wp-ticket-table-container .wp-sw-ticket .wp-sw-subheading td {
	background-color: #ff8864;
	color: #ffffff;
	font-weight: 600;
}
/* JTBレジャーチケット ボタン */
.leisure-ticket {
    display: inline-block;
	background: #15bd90;
    color: #fff;
	font-weight: 600;
    padding: 0.69rem 1.5rem;
    margin-top: 0.6rem;
    border-radius: 90px;
	transition: background-color 0.6s;
}
.leisure-ticket:hover { background-color: #257a8a; }












/* スライド ペットプラン --------------------------------------------------------- */
.position-pet { object-position: 60% 50%; }
.pet-rink {
    position: absolute;
    z-index: 9;
    bottom: 0;
    right: 5%;
    font-size: 1.2rem;
    background: #d35029;
    color: #fff;
    padding: 1.2rem;
    width: 90%;
    border-radius: 90px 0 90px 0;
    margin: 0 0 3rem 0;
    text-align: center;
    font-weight: 600;
}

/* フルーツ狩りページ --------------------------------------------------------- */
.slider-contener { width: 100%; }
.position-strawberry { object-position: 72% 50%; }

.figure-container {
  position: relative;
  width: 100%;
}
.rogo-overlay img {
    width: 90% !important;
	height: auto !important;
    position: absolute;
    bottom: 3rem;
    right: 0;
    left: 0;
    margin: auto;
}
.strawberry-caption p {
	position: absolute;
    top: 4.2rem;
    left: -1.2rem;
	background: #ff8d62;
    color: #fff;
    padding: 0.6rem 1.8rem;
    font-size: 1.11rem;
    font-family: 'Shippori Mincho', serif;
    letter-spacing: 0.24em;
    transform: rotate(-15deg);
}
.position-strawberry-two { object-position: 45% 50%; }
.strawberry-caption .experience,
.strawberry-caption .limited-time {
	top: 18rem;
    transform: rotate(15deg);
    left: 0;
    right: 0;
    margin: auto;
    display: table;
    font-size: 1.29rem;
}
.strawberry-caption .limited-time {
	top: 27rem;
    transform: rotate(349deg);
}

.caption {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(20px); /* 初期状態: ちょっと下にずらす */
  background: rgba(0, 0, 0, 0.6);
  color: white;
  padding: 10px 15px;
  border-radius: 5px;
  font-size: 18px;
  text-align: center;
  opacity: 0; /* 初期状態: 非表示 */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* 現在表示中のスライドの .caption に適用 */
.slick-current .caption {
  opacity: 1;
  transform: translateX(-50%) translateY(0); /* 浮き上がる */
}


/* その場でふわっ jsなし*/
.fadeIn {
animation-name:fadeInAnime;
animation-duration:2.1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}



/* アクセス ページ内リンク */
.sunset-red { color: #e52e00; }
.access-link {
    width: 100%;
	display: flex;
    flex-direction: column;
    flex-wrap: wrap;
	justify-content: space-between;
    align-items: stretch;
	gap: 0.6rem;
}
.access-link li {
	width: 100%;
	background: #f7feff;
	border: 1px solid #53b0c2;
	transition: background-color 0.6s ease;
}
.access-link li a {
    width: 100%;
	height: 100%;
	color: #007c9b;
    display: block;
    text-align: center;
    padding: 0.6rem;
}
.access-link li:hover {
	background: #53b0c2;
}
.access-link li a:hover { color: #fff; }
.shuttle-bus-map {  margin-top: 1.2rem; }
.shuttle-bus-map img {
	width: 100%;
    height: 100%;
    vertical-align: bottom;
}


/* 伊良湖みなとフェスティバル 三河湾特別クルーズ ----------------------------------------------------*/
strong,
b { font-weight:bold; }
#portfestival main { background: #87d8f6; } 
#portfestival p,
.onboard-events {
	letter-spacing: 0.09em;
    text-align: justify;
    line-height: normal;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 500;
}

#portfestival article #mainImage { height: 100%; }
#portfestival section {
	width: 100%;
	max-width: 100%;
    margin: 0 auto;
}
#portfestival #h1-back {
	margin: -4.5rem auto 0;
    z-index: 1;
}
#portfestival h1 {
    margin: 0;
    position: relative;
    top: -1.5rem;
    z-index: 2;
    line-height: 2.7rem;
    font-weight: bold;
    font-size: 1.8rem;
	letter-spacing: 0.18em;
	color: #1c6bc3;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	border-bottom: 6px dashed #e848054a;
    padding-bottom: 0.9rem;
}
#portfestival #h1-back img {
	width: 36%;
	top: -3.3rem;
	left: -12px;
	opacity: 0.21;
	transition: 3s ;
	transform: rotate( 30deg ) ;
}
.starfish { position: relative; }
.starfish img {
	position: absolute;
    aspect-ratio: 1 / 1;
    width: 36%;
    top: -6rem;
    right: 0;
    opacity: 0.45;
	transition: 3s ;
    transform: rotate(18deg);
}
#portfestival #h1-back:hover img,
.starfish:hover img {
  transition: 3s ;
  transform: rotatez( 360deg );
}

#portfestival .separate-leftBox img,
.cruise-flyer-container img,
.fest-photo-wrapper img,
.fest-2rows li img,
.booking-area img,
.booking-container li img {
	width: 100%;
    vertical-align: bottom;
}

/* 波のSVG */
#cruise-nami-top,
#cruise-nami-top-bottom,
#cruise-nami-middle,
#cruise-nami-end {
    width: 100%;
    height:auto;
    padding-top: 30%;
    background: url(../img/svg/cruise-nami-top.svg) center center no-repeat;
    background-size: cover;
	margin-top: -9px;
    margin-bottom: -9px;
}
#cruise-nami-top {
	position: relative;
    top: -4.2rem;
}
#cruise-nami-top-bottom { background: url(../img/svg/cruise-nami-top-bottom.svg) center center no-repeat; background-size: cover;}
#cruise-nami-middle { background: url(../img/svg/cruise-nami-middle.svg) center center no-repeat; background-size: cover;}
#cruise-nami-end { background: url(../img/svg/cruise-nami-end.svg) center center no-repeat; background-size: cover;}

.beach { background: #eadbc1; }
.prologue {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
.prologue p {
	position: relative;
    z-index: 1;
	color: #df740d;
    padding-bottom: 1.2rem;
}
.cruise-flyer-area {
	width: 100%;
	max-width: 100%;
    background: #4794e9;
}
.cruise-flyer-container {
	width: 90%;
	max-width: 1000px;
    margin: 0 auto;
    padding: 0 0 3rem;
}
.cruise-flyer-container ul {
	width: 100%;
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
}
.cruise-flyer-container li {
	overflow: hidden;
	margin-bottom: 0.6rem;
}
.cruise-flyer-container img { transition: .4s ease-in-out; }
.cruise-flyer-container:hover img { transform: scale(1.1); }
a:hover img { opacity: 0.9; }
.cruise-guide {
	width: 100%;
    background: #fcfeff;
    padding: 1.5rem;
    border-radius: 30px;
    margin: 0 auto;
    color: #0b3f4c;
    font-weight: bold;
    border: 9px solid;
    border-style: dashed double;
}

/* 回転アニメーション */
.shape-container {
	position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.shape-wrapper {
	width: 100%;
	height: 100%;
}
.shape-text,
.onboard-events,
.cruise-time,
.notice-font {
    position: relative;
    width: 100%;
	padding-top: 1.2rem;
    font-size: 18px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
	color: #edf6ff;
    z-index: 1;
}
#portfestival .notice-font { padding-top: 0; }

.shape-1 {
    width: 300px;
    height: 300px;
    position: absolute;
    top: 6rem;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #307ea8;
    border-radius: 62% 38% 63% 37% / 40% 60% 40% 60%;
    animation: 10s linear infinite rotation1;
	opacity: 0.6;
}
.shape-2 {
    width: 90px;
    height: 90px;
    position: absolute;
    top: 3.9rem;
    left: 0;
    right: 18rem;
    bottom: 0;
    margin: auto;
    background-color: #64aeac;
    border-radius: 62% 38% 63% 37% / 40% 60% 40% 60%;
    animation: 10s linear infinite rotation1;
	opacity: 0.6;
}
.shape-3 {
    width: 150px;
    height: 150px;
    position: absolute;
    top: 15rem;
    left: 15rem;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #258481;
    border-radius: 62% 38% 63% 37% / 40% 60% 40% 60%;
    animation: 10s linear infinite rotation1;
	opacity: 0.6;
}
.shape-4 {
    width: 60px;
    height: 60px;
    position: absolute;
    top: 15rem;
    left: -12rem;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #cecda2;
    border-radius: 62% 38% 63% 37% / 40% 60% 40% 60%;
    animation: 10s linear infinite rotation1;
	opacity: 0.3;
}
@keyframes rotation1 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}


/* 航海情報 */
.cruise-title {
	width: 90%;
	max-width: 1000px;
    margin: 0 auto 1.8rem ! important;
    position: relative;
	top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0 0 0 1.5rem;
}
.cruise-title:before {
	position: absolute;
    content: '';
	top: -1.2rem;
    left: 0;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: #e84805;
}
.cruise-title span {
    position: relative;
    z-index: 1;
    font-weight: bold;
    font-size: 1.8rem;
    letter-spacing: 0.18em;
	line-height: normal;
    color: #fff;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}

.cruise-info-area { background: #2a598c; }
.fest-info-container {
	width: 100%;
	max-width: 1000px;
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
	overflow: hidden;
	margin: 0 auto;
}
.fest-photo-wrapper {
	width: 90%;
	max-width: 1000px;
	position: relative;
    z-index: 2;
}
.fest-photo-wrapper img { border-radius: 18px; }
.shape-wrapper h2,
.shape-wrapper p,
.cruise-time {
	width: 90%;
	margin: 0 auto;
}
.cruise-h3 {
	width: 90%;
    position: relative;
    top: 1.11rem;
    z-index: 2;
    font-weight: bold;
    font-size: 1.5rem;
    letter-spacing: 0.18em;
    color: #fff49e;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    margin: 0 auto;
}
.h3-2rows { width: 100%; }

.cruise-time {
	border-top: dashed 1px #94c7fd;
	border-bottom: dashed 1px #94c7fd;
	margin-top: 1.5rem;
    padding: 1.2rem 0.9rem;
}
.cruise-time dt,
.cruise-time dd {
	font-weight: 600;
	color: #94c7fd;
}
.cruise-time dt { font-size: 1.5rem; }
.cruise-time dd { font-size: initial; }

.onboard-events {
	width: 90%;
    margin: 0 auto;
    flex-direction: column;
    align-items: flex-start;
}

/* 航海のご案内 2段 */
.fest-2rows {
	width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}
.fest-2rows li {
	width: 100%;
    padding-bottom: 3rem;
    border-radius: 18px;
}
.fest-2rows li img { border-radius: 18px; }
.fest-2rows .onboard-events li {
	padding-bottom: 0;
    margin-bottom: 0;
}

/* インフォメーション */
.isewan-ferry-area {
	background: #2a598c;
	padding-bottom: 3rem;
}
.isewan-ferry {
	position: relative;
    width: 90% !important;
    max-width: 1000px;
	background: #139d94;
    padding: 3rem 0;
    margin: 0 auto !important;
	border-radius: 18px;
}
.ec-wrapper {
	width: 90%;
    margin: 0 auto;
}

/* リンクボタン*/
.cruise-link-box{
  margin-top: 3rem;
}

.cruise-link-btn{
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 50px;
	letter-spacing: 2px;
	width: 90%;
	max-width: 300px;
	height: 50px;
	margin: auto;
	background: #f67139;
	display: block;
	text-decoration: none;
	box-shadow: 0 5px 20px #ff7c7c, 0 0 0 10px #ffffffeb;
	border-radius: 60px;
}
@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  4% {
    transform: scale(1.02);
  }
  8% {
    transform: scale(1);
  }
  12% {
    transform: scale(1.02);
  }
  16% {
    transform: scale(1);
  }
}
.cruise-link-btn:hover {
	box-shadow: 0 5px 20px #ffffffeb, 0 0 0 10px #dfbebe;
	animation-duration: 2s;
	animation-iteration-count: infinite;
	animation-name: heartbeat;
	animation-timing-function: linear;
}

/* 宿泊予約エリア */
.booking-area {
	background: #87d8f6;
	margin-bottom: 3rem !important;
}
.cruise-link-area {
    background: #87d8f6;
    padding-bottom: 3rem;
}
.fest-2rows,
.booking-container {
	width: 90%;
    max-width: 1000px;
    margin: 3rem auto 0;
}
.booking-container ul {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
.booking-container li {
    width: 100%;
    background: #038dc0;
    padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	border-radius: 18px;
}
.booking-info {
    width: 100%;
    padding: 1.2rem;
}
.booking-info p {
    color: #e1f7ff;
    font-size: 1.2rem;
    font-weight: bold !important;
}
.booking-container img { border-radius: 18px 18px 0 0; }


@media (min-width: 768px) {
/* stay indexページ ----------------------------------------------------*/
.category-table ul {
    margin-top: 0.6rem;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
	flex-flow: wrap;
    gap: 1%;
}
.category-table li {
	width: 32.6%;
	margin-bottom: 2.2rem;
}

/* ゴルフページ ----------------------------------------------------*/
.accordion-label { padding: 0.9rem 3rem 0.9rem 0; }

/* youtubeレスポンシブ対応 ----------------------------------------------------*/
/*.movie-wrap { margin-top: 4.5rem; }*/

/* 料理ページ ----------------------------------------------------*/
/* bxslider キャプション */
.bx-wrapper .bx-caption {
    font-size: 21px;
    padding: 1.2rem;
}

/* topポップアップ ----------------------------------------------------*/
.modal-close {
    position: absolute;
    top: -30px;
    right: -30px;
    font-size: 39px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-align: center;
    line-height: 60px;
    color: #fff;
    background: rgb(0 124 155);
    cursor: pointer;
    border: none;
	padding: 0;
	margin: 0;
}
	
/* 伊良湖サウンズ --------------------------------------------------------- */
article #soundsImage { height: 50vh; }
/*.rogo-area { margin-bottom: -12rem; }*/
.iragosounds-rogo {
    width: 60%;
    top: -1.5rem;
    margin: 0 0 -1.5rem 0;
    padding: 0 0 0 5%;
}
.event-details { width: 90%; }
.irago-sounds {
    font-size: 2.7rem;
    line-height: 3rem;
}
.irago-sounds:after {
    top: 60px;
    left: 12%;
}	
.artist-box {
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
}	
.artist-info {
    width: 100%;
    padding: 1.2rem 1.5rem;
}	
/* スケジュールタブ */
.tab-label,
.tab-label-5lot {
	color: #b6b6c3;
	cursor: pointer;
	flex: 0.09;
	font-weight: bold;
	order: -1;
	padding: 3rem 3rem 1.2rem 3rem;
	margin: 0 0 0 5%;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
	font-size: 6rem;
    line-height: 6rem;
}
.tab-label-5lot {
	flex: 1;
	padding: 1.5rem;
	margin: 0;
	font-size: 6rem;
    line-height: 6rem;
}

/* 伊良湖サウンズ ホテル紹介 */	
.music-stage { padding: 1.5rem 0 6rem; }
.stage-info { width: 450px !important; }	
.SliderBnr .slick-arrow { top: 240px; }	
.stage-text {
    padding: 3rem;
    height: 300px;
}	
.sns-box ul {
    width: 45%;
    margin-top: 1.8rem;
}	
.sns-box .tomikumi-sns,
.sns-icon .tomikumi-sns {
    width: 21%;
}
	
/* IRAGO SUMMER FEST　八木作成 ----------------------------------------------------*/	
.irago-summer-fest h2 {
    font-size: 200%;
}
.video-area { margin: 1.8rem auto 4.8rem; }
.irago-summer-fest .summerSection { margin: 6rem auto 1.5rem; }

	
/* 伊良湖サマーフェスページ ----------------------------------------------------*/
.summerfes-area {
	width: 100%;
    max-width: 100%;
    margin-top: 2.4rem;
}
.fest-back img {
    top: -39px;
    left: -39px;
}	
.beach-event { margin: 9rem auto; }	
	
/* 宿泊ボタン */	
.special-btn {
    font-size: 24px;
    margin: 1.8rem 0;
    height: 120px;
}

/* ウォーターパーク営業予定蘭 */
.schedule-area { flex-wrap: nowrap; }
.schedule-area ul { display: block; }	
	
.web-ticket { margin-bottom: 1.5rem; }
	
	/* 動画 --------------------------------------------------------- */
	#video-box {
		margin-top: 0;
		height: auto;
		border-bottom: none;
		filter: none;
	}
	#video-wrap { height: auto; }
	#video-wrap video {
		width: 100%;
		height: auto;
	}
	
	/* 鼓動するボタン */
	.heartbeat-btn-box { bottom: 1.8rem; }
	/*.heartbeat-btn-box {
		position: absolute;
		bottom: 1.2rem;
		right: 2.1rem;
		left: initial;
		transform: matrix(1, 0, 0, 1, 0, 0);
		margin: 0;
	}*/
	
	/* Instagramの動画 --------------------------------------------------------- */
	.gallery { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
	
	/* プレイボタン▶ */
	.play-button { font-size: 90px; }
	
	
	/* Webチケット */
	.web-ticket-wrapper {
		flex-direction: row;
		gap: 1.8rem;
	}
	.table-container { font-size: 14px; }
	
	/* ビーチ・プールのスライド画像のキャプション */
	.beach-caption li figcaption{
		font-size: 1.08rem;
		padding: 0.45rem 0.99rem;
		margin: 0 0.9rem 0.9rem 0;
	}
	
	
	
/* スライド ペットプラン --------------------------------------------------------- */
.pet-rink {
	max-width: 660px;
    font-size: 2.4rem;
}
	
	/* おしながき */
	.kaiseki dl {
		margin: 30px;
		font-size: initial;
	}
	.kaiseki dt { width: 15%; }
	.kaiseki dd { width: 84.9%; }
	
	/* アクセス ページ内リンク */	
	.access-link { flex-direction: row; }
	.access-link li { width: 48%; }
	
	/* 伊良湖みなとフェスティバル 三河湾特別クルーズ ----------------------------------------------------*/
	#portfestival article #mainImage img { object-fit: cover; }
	#cruise-nami-top { top: -6.9rem; }
	#portfestival #h1-back { margin: -9.9rem auto 0; }
	#portfestival h1 {
		font-size: 3rem;
		line-height: 3.9rem;
	}

	#portfestival p {
		font-size: 1.5rem;
		line-height: normal;
		padding-top: 0.6rem;
	}
	#portfestival section { margin: -4.2rem auto 0; }
	.starfish img { top: -3rem; }
	.cruise-title span { font-size: 2.7rem; }
	.shape-container { left: 12rem; }
	.isewan-ferry-area { padding: 6rem 0 3rem; }
	.booking-container ul {
		flex-direction: row;
		gap: 1.5rem;
	}
	.cruise-h3 {
		font-size: 2.1rem;
		padding: 1.2rem 0 0.6rem;
	}
	.shape-text {
		font-size: 1.2rem !important;
		line-height: normal;
		padding-top: 0.6rem;
	}
	.booking-area { padding-bottom: 6rem; }
	
	
}


@media (min-width: 1000px) {

/* ゴルフページ ----------------------------------------------------*/
.golf-cal { margin: 0 auto 4.8rem; }/* ゴルフカレンダーのsection調整 */
	

/* 伊良湖サウンズ --------------------------------------------------------- */
article #soundsImage { height: 60vh; }
.irago-sounds { width: 100%; }
.irago-sounds:after {
    top: 69px;
    left: 8.1%;
}
.iragosounds-rogo {
    width: 39%;
    top: -6rem;
    margin: 0 0 -6rem 0;
    padding: 0;
}
.rogo-box { padding-bottom: 3rem; }
.event-details { width: 100%; }
.sounds-area { padding: 0 0 6rem 0; }
/* スケジュールタブ */
.tab-label { margin: 0; }

.singer-area { padding-bottom: 4.5rem; }
.singer-box ul {
    flex-flow: row;
    justify-content: space-between;
}
.singer-box li {
    width: 48%;
    margin-bottom: 0;
}
/* 伊良湖サウンズ ホテル紹介 */	
.stage-info { width: 330px !important; }
.sns-box ul {
    width: 60%;
    margin-top: 2.1rem;
}
.sns-box .tomikumi-sns,
.sns-icon .tomikumi-sns { width: 27%; }	

.live-flyer {
	width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
	
/* 伊良湖サウンズ ライブ */
.liveh2 { padding: 5% 5% 1.5% 5%; }	
.musician-box li,
.live-info-box li { flex-flow: nowrap; }
.sns-icon ul { width: 45%; }
.musician-photo { width: 45%; }
.musician-photo img {
	height: 390px;
    object-fit: cover;
    border-radius: 50px 0 0 50px;
}
.musician-info { width: 55%; }
.position-monmayuya { object-position: 12% 50%; }
.position-iwamuramisaki { object-position: 0% 50%; }
.booking-btn,
.aii-plans-btn { display: inline-block; }
.musician-photo .booking-photo {
	height: 600px;
	object-position: 30% 50%;
}
.collab-live { width: 30%; }	
	

/* 伊良湖サマーフェスページ ----------------------------------------------------*/
/*article #summer-fest-visual { height: 84vh; }*/
.video-area { margin: 6rem auto 9rem; }
.irago-summer-fest .summerSection { margin: 9rem auto 1.8rem; }
.fest-back img {
    top: -45px;
    left: -45px;
}	
.beach-event { margin: 12rem auto; }

/* ウォーターパーク営業予定蘭 */
.schedule-column {
	display: flex;
    align-items: center;
}
.pc-partition {
	/*border-right: 3px dashed #d3cabf;*/
	width: 30%;
}
.working-day {
	border-bottom: none;
    margin-bottom: 0;
}
.sales-text { margin-left: 0.6rem; }
.sales-text-box {
	width: 70%;
	border-left: 3px dashed #d3cabf;
	margin: 0.12rem 1.2rem;
	}
.sales-text { width: 100%; }
	
	/* Instagramの動画 --------------------------------------------------------- */
	.gallery { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
	
	
	
	/* おしながき */
	.kaiseki dt {
        width: 10.8%;
        letter-spacing: 0.27em;
    }
	.kaiseki dd { width: 89.2%; }
	

	/* 伊良湖みなとフェスティバル 三河湾特別クルーズ ----------------------------------------------------*/
	#cruise-nami-top { top: -15rem; }
	#portfestival #h1-back { margin: -21rem auto 0; }
	#portfestival #h1-back img,
	.starfish img { width: 30%; }
	.cruise-flyer-container ul {
		flex-direction: row;
        gap: 0.9rem;
	}
	.cruise-title { margin: 0 auto 2.4rem ! important; }
	
	.shape-1 {
		width: 540px;
		height: 540px;
		top: 3rem;
	}
	.shape-2 {
		width: 180px;
		height: 180px;
		top: 4.2rem;
		right: 39rem;
	}
	.shape-3 {
		width: 240px;
		height: 240px;
		top: 16.2rem;
        left: 21rem;
	}
	.shape-4 {
		width: 90px;
		height: 90px;
		top: 16.2rem;
		left: -27rem;
	}
	
	
	.onboard-events li {
		padding-bottom: 0.6rem;
	}
	.cruise-flyer-container li {
		width: 49%;
	}
	.fest-info-container .shape-wrapper { padding: 3rem 0; }
	.fest-2rows ul {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 1.5rem;
	}
	
	.fest-2rows { margin: 0 auto; }
	.fest-2rows .onboard-events {
		display: block;
		padding-top: 0.6rem;
        margin: 0;
	}
	.booking-area { padding-bottom: 18rem; }
	.btn {
		font-size: 21px;
		line-height: 60px;
		max-width: 390px;
		height: 60px;
	}
}

	
	
@media (min-width: 1100px) {
	/* 動画 --------------------------------------------------------- */
	/* 鼓動するボタン */
	/*.heartbeat-btn-box {
        position: absolute;
        bottom: 2.1rem;
        right: 0;
        left: initial;
        transform: matrix(1, 0, 0, 1, 0, 0);
        margin: 0;
    }*/
	#heartbeat-btn-animation .heartbeat-btn {
		width: 270px;
		height: 72px;
		line-height: 72px;
		font-size: 1.5rem;
	}
	#heartbeat-btn-animation .heartbeat-btn:before,
	#heartbeat-btn-animation .heartbeat-btn:after {
		width: 270px;
		height: 72px;
	}
	
	/* 伊良湖サマーフェスページ ----------------------------------------------------*/
	.wp-notice { width: 100%; }
	.wp-notice span { font-size: 2.1rem; }
	
	/* 伊良湖みなとフェスティバル 三河湾特別クルーズ ----------------------------------------------------*/
	.fest-photo-wrapper,
	.shape-wrapper h2,
	.shape-wrapper p,
	.cruise-time,
	.cruise-h3,
	.onboard-events { width: 100%; }

}
	
@media (min-width: 1300px) {
	/* スライド ペットプラン --------------------------------------------------------- */
	.position-pet { object-position: 50% 30%; }
	
	/* 伊良湖みなとフェスティバル 三河湾特別クルーズ ----------------------------------------------------*/
	#portfestival article #mainImage img { height: 810px; }
	#cruise-nami-top-bottom,
	#cruise-nami-middle,
	#cruise-nami-end { margin-bottom: -9rem; }
	#portfestival #h1-back img {
		top: -6.9rem;
		left: -6.9rem;
	}
	.starfish img {
		top: -15rem;
        right: -9rem;
	}
}
	
@media (min-width: 1500px) {
	/* 伊良湖サウンズ ホテル紹介 */
	.stage-info { width: 450px !important; }
	
	/* 伊良湖サマーフェスページ ----------------------------------------------------*/
	article #summer-fest-visual { height: 96vh; }
	.video-area { margin: 9rem auto 12rem; }
	.fest-back img {
		top: -60px;
		left: -60px;
	}
	
	/* 伊良湖みなとフェスティバル 三河湾特別クルーズ ----------------------------------------------------*/
	.booking-area { padding-bottom: 24rem; }
	
	/* 動画 --------------------------------------------------------- */
	#video-wrap { height: 90vh; }
	
	
}


@media (min-width: 1800px) {
	/* 伊良湖みなとフェスティバル 三河湾特別クルーズ ----------------------------------------------------*/
	#portfestival #h1-back { margin: -30rem auto 0; }
	#cruise-nami-top-bottom,
	#cruise-nami-middle,
	#cruise-nami-end { margin-bottom: -15rem; }
	
}