/* top index.css */
@charset "UTF-8";

body {
	width: 100%;
	position: relative;
	color: #0b308d;
}
main {
	width: 100%;
	overflow-x: hidden;
}

*,
*::before,
*::after  {
	font-feature-settings: "palt";
	font-family: 'Noto Sans JP', "noto-sans-cjk-jp", sans-serif !important;
	box-sizing: border-box;
	border-collapse: collapse;
}
/* 文字選択時のカラー変更 */
::selection {
	color: #fff;
	background-color: rgba(40,100,174,1);
}

/* --- wrap --- */
.bg_wrap,
.wrap {
	width: 100%;
	margin: auto;
	padding: 0 60px;
}
.wrap {
	max-width: 1200px;
}
.bg_wrap.pad_none {
	padding: 0;
}
.pad_none > .wrap,
.bg_wrap > .wrap,
.wrap > .wrap   {
	padding: 0;
}
.flex_box {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.bg_beige { background-color:#ebe4da; }
.bg_blue  { background-color:#bdd8e3; }
.bg_pink  { background-color:#e87a92; }

/* --- font family --- */
.ff_feg   {
	font-family: 'Figtree', sans-serif !important;
	font-weight: 900 !important;
}
.ff_notos { font-family:'Noto Sans JP', "noto-sans-cjk-jp" , sans-serif !important; }

/* NotoSansJP-B(元：源源ノ角ゴ) */
.ff_kakugo {
	font-family: source-han-sans-japanese, sans-serif !important;
	font-family: 'Noto Sans JP', sans-serif !important;
	font-weight: 700;
	font-style: normal;
}
/* 小塚明朝 */
.ff_mintyo {
	font-family: kozuka-mincho-pr6n, serif !important;
	font-weight: 700;
	font-style: normal;
}
/* font-weight */
.fw_thin {
	font-weight: 400;
}


/* --- text --- */
html,
h1,
h2,
h3,
h4,
a { color:inherit; }

/* heading */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: bold;
	line-height: 1.5em;
	letter-spacing: .1em;
}
h2 {
	font-size: min(5vw,80px);
}
h3 {
	font-size: 50px;
	font-size: min(5vw,50px);
}
h4 {
	font-size:4px;
	font-size: min(4vw,40px);
	font-feature-settings: normal;
}
h5 {
	font-size:18px;
	font-size: min(1.8vw,18px);
}

/* content_text */
ul,
li,
dl,
dd,
dt,
a,
p {
	font-size: 18px;
	font-size: min(1.6vw,18px);
	line-height:   2em;
	letter-spacing: .1em;
}
p       { text-align:justify;   }
span    { letter-spacing:.1em;  }
a       { text-decoration:none; }
a:hover { color:inherit; text-decoration:none; }

.fb_normal { font-weight:normal !important; }
.fb_500    { font-weight:500 !important;    }
.fb_bold   { font-weight:bold !important;   }
.fb_900    { font-weight:900 !important     }
.alignL    { text-align:left !important;    }
.alignR    { text-align:right !important;   }
.alignC    { text-align:center !important;  }
.alignJ    { text-align:justify !important; }

.fs_PC24 {
	font-size: 24px;
	font-size: min(1.8vw,24px);
}


.small     { font-size:.75em; }

.copyright,
span.small { font-size:12px; }
.copyright { text-align:center; }

/* --- btn ( div.btn > a ) --- */
.btn {
	font-size: 24px;
	font-size: min(2.4vw,24px);
	font-weight: 600;
	text-align: center;
	color: #fff;
}
.btn a {
	width: 100%;
	max-width: 600px;
	font-size: 24px;
	font-size: min(2.4vw,24px);
	line-height: 1.4em;
	display: inline-flex;
	position: relative;
	align-items: center;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 1em;
	background: #0b308d;
}
.btn a:after {
	content: "";
	width:  .75em;
	height: .9em;
	display: inline-block;
	position: absolute;
	background-image: url("../img/btn_arrow.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transform: translateY(.1em);
	right: 1.15em;
}

/* --- others --- */
.pc_blk  { display:block !important; }
.sp_blk  { display:none !important;  }
.tab_blk { display:none !important;  }

.flex_box.pc_blk { display:flex !important; }
.flex_box.sp_blk { display:none !important; }

.text_indent { text-indent:-1em; padding-left:1em; }


/* mar & pad */
.marXL2_T { margin-top:min(16vw,160px) !important; }

.marXXL_T { margin-top:min(10vw,100px) !important; }
.marXL_T  { margin-top:min(8vw,80px) !important; }
.marL_T   { margin-top:min(6vw,60px) !important; }
.marM_T   { margin-top:min(4vw,40px) !important; }
.marS_T   { margin-top:min(3vw,30px) !important; }
.marXS_T  { margin-top:min(2vw,20px) !important; }
.marXXS_T { margin-top:min(1vw,10px) !important; }

.marXXL_B { margin-bottom:min(10vw,100px) !important; }
.marXL_B  { margin-bottom:min(8vw,80px) !important; }
.marL_B   { margin-bottom:min(6vw,60px) !important; }
.marM_B   { margin-bottom:min(4vw,40px) !important; }
.marS_B   { margin-bottom:min(3vw,30px) !important; }
.marXS_B  { margin-bottom:min(2vw,20px) !important; }
.marXXS_B { margin-bottom:min(1vw,10px) !important; }

.marXXL_T-PC { margin-top:min(10vw,100px) !important; }
.marXL_T-PC  { margin-top:min(8vw,80px) !important; }
.marL_T-PC   { margin-top:min(6vw,60px) !important; }
.marM_T-PC   { margin-top:min(4vw,40px) !important; }
.marS_T-PC   { margin-top:min(3vw,30px) !important; }
.marXS_T-PC  { margin-top:min(2vw,20px) !important; }
.marXXS_T-PC { margin-top:min(1vw,10px) !important; }
.mar0_B-PC   { margin-top:  0px !important; }

.marXXL_B-PC { margin-bottom:min(10vw,100px) !important; }
.marXL_B-PC  { margin-bottom:min(8vw,80px) !important; }
.marL_B-PC   { margin-bottom:min(6vw,60px) !important; }
.marM_B-PC   { margin-bottom:min(4vw,40px) !important; }
.marS_B-PC   { margin-bottom:min(3vw,30px) !important; }
.marXS_B-PC  { margin-bottom:min(2vw,20px) !important; }
.marXXS_B-PC { margin-bottom:min(1vw,10px) !important; }
.mar0_B-PC   { margin-bottom:  0px !important; }

/* pad */
.padXXL_T { padding-top:min(10vw,100px) !important; }
.padXL_T  { padding-top:min(8vw,80px) !important; }
.padL_T   { padding-top:min(6vw,60px) !important; }
.padM_T   { padding-top:min(4vw,40px) !important; }
.padS_T   { padding-top:min(3vw,30px) !important; }
.padXS_T  { padding-top:min(2vw,20px) !important; }
.padXXS_T { padding-top:min(1vw,10px) !important; }

.padXXXL_B { padding-bottom:min(2vw,20px) !important; } 

.padXXL_B { padding-bottom:min(10vw,100px) !important; }
.padXL_B  { padding-bottom:min(8vw,80px) !important; }
.padL_B   { padding-bottom:min(6vw,60px) !important; }
.padM_B   { padding-bottom:min(4vw,40px) !important; }
.padS_B   { padding-bottom:min(3vw,30px) !important; }
.padXS_B  { padding-bottom:min(2vw,20px) !important; }
.padXXS_B { padding-bottom:min(1vw,10px) !important; }

.padXXL_T-PC { padding-top:min(10vw,100px) !important; }
.padXL_T-PC  { padding-top:min(8vw,80px) !important; }
.padL_T-PC   { padding-top:min(6vw,60px) !important; }
.padM_T-PC   { padding-top:min(4vw,40px) !important; }
.padS_T-PC   { padding-top:min(3vw,30px) !important; }
.padXS_T-PC  { padding-top:min(2vw,20px) !important; }
.padXXS_T-PC { padding-top:min(1vw,10px) !important; }
.pad0_T-PC   { padding-top:  0px !important; }

.padXXL_B-PC { padding-bottom:min(10vw,100px) !important; }
.padXL_B-PC  { padding-bottom:min(8vw,80px) !important; }
.padL_B-PC   { padding-bottom:min(6vw,60px) !important; }
.padM_B-PC   { padding-bottom:min(4vw,40px) !important; }
.padS_B-PC   { padding-bottom:min(3vw,30px) !important; }
.padXS_B-PC  { padding-bottom:min(2vw,20px) !important; }
.padXXS_B-PC { padding-bottom:min(1vw,10px) !important; }
.pad0_B-PC   { padding-bottom: 0px !important; }

.borderB {
	content: "";
	width: 100%; 
	height: 1px;
	display: inline-block;
	margin: 0 auto;
	background: #000;
}
img { width:100%; height:auto; }

.table_wrap {
	overflow-x: scroll;
}
.table_wrap table {
	min-width: 500px;
}
tr,
th,
td {
	padding: 1em;
	border:  1px solid;
}


/* ===== ↓ header menu ↓ ===== */
header {
	width: 100%;
	height: 60px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	top: 0;
	padding: 20px 15px;
	box-shadow: 0px 5px 5px -5px rgb(0 0 0 / 20%);
	background-color: #fff;
	background-color: #0b308d;
}
.overlay #nav_overlay   {
	width:  100%;
	height: 100vh;
	position: fixed;
	top:  0;
	left: 0;
	display: block;
	background-color: rgba(0,0,0,0.6);
	cursor: pointer;
	z-index: 980;
}
.header_logo {
	width: fit-content;
	max-height: 40px;
}
.header_logo > a {
	width: fit-content;
	height: auto;
	display: block;
}
.header_logo > a img {
	height: 100%;
	max-height: 40px;
	object-fit: contain;
	object-position: left;
}
/* ハンバーガーボタン */
.openbtn1 {
	width:  60px;
	height: 60px;
	position: absolute;
	text-align: center;
	top:   0;
	right: 0;
	cursor: pointer;
	z-index: 9999;
	background-color: none !important;
}
.openbtn1.active {
	display: none;
}
/* ハンバーガーボタン ×に変化 */  
.openbtn1 span {
	display: inline-block;
	transition: transform .4s, background-color .4s;
	position: absolute;
	left: 25%;
	height: 4px;
	background-color: #0b308d;
	background-color: #fff;
	width: 50%;
}
.openbtn1 span:nth-of-type(1) {
	top: 18px; 
}
.openbtn1 span:nth-of-type(2) {
	top: 28px;
}
.openbtn1 span:nth-of-type(3) {
	top: 39px;
}
/* ハンバーガーメニューの中身 */

.nav-close_wrap {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	margin-bottom: 15px;
	cursor: pointer;
}
.nav-close_wrap p {
	font-size: 20px;
	font-family: 'Figtree', sans-serif !important;
	font-weight: 900 !important;
	line-height: 1;
}
.close_btn {
	width:  32px;
	height: 32px;
	position: relative;
	text-align: center;
	top:   0;
	left: 0;
	cursor: pointer;
	z-index: 9999;
	margin-right: 5px;
}
.close_btn span {
	width: 100%;
	height: 4px;
	display: inline-block;
	position: absolute;
	left: 25%;
	transition: transform .4s, background-color .4s;
	background-color: #fff;
}
.close_btn span:nth-of-type(1) {
	top:   8px;
	left: -1px;
	transform: translateY(6px) rotate(-45deg);
}
.close_btn span:nth-of-type(2) {
	top: 20px;
	left: 0px;
	transform: translateY(-6px) rotate(45deg);
}


.header_wrap {
	transition: background-color .6s;
}
.overflowY .header_wrap {
	background-color: #fff;
}
#g-nav {
	width:  24%;
	min-width: 350px;
	height: 100vh;
	position: fixed;
	top:  0;
	right: 0;
	padding: 20px;
	pointer-events: none;
	background: #0b308d;
	transform: translateX(100%);
	transition: transform .3s;
	z-index: 990;
}
#g-nav.panelactive {
	pointer-events: auto;
	opacity: 1;
	transform: translateX(0%);
	transition: transform .3s;
}
#g-nav-list {
	max-width: 600px;
	margin-left:  auto;
	margin-right: auto;
}
#g-nav-list  li {
	border: 1px solid #ccc;
	border-top: none;
}
#g-nav-list  li a {
	width: 100%;
	font-size: 13px;
	padding: .75em;
	color: #fff;
	display: inline-block;
}

#g-nav-list  li:first-of-type {
	border-top: 1px solid #fff;
}


/* ===== ↓ footer ↓ ===== */
.footer_wrap {
	position: relative;
	text-align: center;
	padding: 40px 0;
	background-color: #0b308b;
}
.footer_logo {
	width: 100%;
	max-width: 270px;
	display: inline-block;
	margin:  0 auto 30px;
}
.footer_logo img {
	width: 100%;
}
.footer_wrap .address {
	font-size:   14px;
	font-weight: bold;
	text-align:  left;
	display: flex;
	justify-content: center;
	color: #fff;
}
.footer_bottom {
	background-color: #231815;
}
.copyright {
	line-height: 1;
	font-weight: bold;
	padding: 15px;
	color: #fff;
}
/* 波 */
.waves {
	width: 100%;
	height:100px;
	max-height:150px;
	position:relative;
	margin-bottom:-1px; /*Fix for safari gap*/
}
.parallax > use {
	animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
	animation-delay: -2s;
	animation-duration: 7s;
}
.parallax > use:nth-child(2) {
	animation-delay: -3s;
	animation-duration: 10s;
}
.parallax > use:nth-child(3) {
	animation-delay: -4s;
	animation-duration: 13s;
}
.parallax > use:nth-child(4) {
	animation-delay: -5s;
	animation-duration: 20s;
}
@keyframes move-forever {
	0% {
		transform: translate3d(-90px,0,0);
	}
	100% { 
		transform: translate3d(85px,0,0);
	}
}

/* ===== トップページに戻る ===== */
.pageTop {
	position: fixed;
	width: 140px;
	right:  30px;
	bottom: 30px;
	display: none;
	transition: bottom .3s;
}
.pageTop .ticket_scroll,
.notfixed a .ticket_footer {
	display: block;
}
.notfixed a .ticket_scroll,
.pageTop .ticket_footer {
	display: none;
}
.pageTop a {
	opacity: 1;
	transition: opacity .3s;
}
.pageTop a:hover {
	opacity: .8;
}




/* ===== font-size ===== */
.h2_tate .ruby {
	font-size: min(1.8vw,24px);
}
#sec_about p,
#sec_tenji .card p.cont,
#sec_program .left_wrap p,
.cont_wrap p,
#sec_buppan dl,
.dl_info dt,
.dl_info dd .dd_head,
.dl_info dd a,
#sec_others .wrap > p,
#sec_others .width_wrap > p {
	font-size: min(1.6vw,24px);
}
.card h5 {
	font-size: min(2.4vw,24px);
}
.dl_info dd,
#sec_yell p {
	font-size: min(2.3vw,36px);
}
#sec_tenji .card p.alignR,
#sec_program .card p.alignR,
#sec_others p.alignR {
	font-size: min(1.4vw,16px);
}
#sec_tenji .card .small_info li,
#sec_tenji .white_box p {
	font-size: min(1.6vw,20px);
}
.small_flex {
	line-height: 1.5;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.dl_info dd small,
.small_flex span {
	font-size: clamp(12px,1.4vw,14px);
}
.dl_info dd {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}
#sec_tenji .width_fit {
	max-width: fit-content;
}



/* ===== mv ===== */
#mv_wrap {
	background-image: linear-gradient(0deg, rgba(214, 225, 228, 1), rgba(189, 213, 227, 1) 25%, rgba(148, 211, 229, 1));
}
#mv {
	width: 100%;
	height: calc(100vh - 60px);
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 70vw;
	position: relative;
	padding: min(12vw,100px) 0;
}
#mv > div {
	position: relative;
	transform: translateY(calc(min(2vw,20px)*-1));
}
#mv .pc_blk .pos_ab,
#mv .sp_blk .pos_ab {
	position: absolute;
	top:  0;
	left: 0;
}
.uk-animation-fade {
	animation-duration: .5s !important;
}

/* ===== 鰭展とは？ ===== */
.heading_wrapSP {
	display: none !important;
}
.h2_tate {
	line-height: 1;
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: flex-end;
	justify-content: flex-start;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: sideways;
	transform: translateX(min(9vw,90px));
	margin-left: calc(min(9vw,90px)*-1);
}
.h2_tate:before {
	content: "";
	width:  13vw;
	height: 16vw;
	max-width:  200px;
	max-height: 215px;
	display: inline-block;
	position: relative;
	margin-bottom: calc(min(7vw,80px)*-1);
	background-image: url("../img/heading_icon.png");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateX(calc(min(6vw,100px)*-1));
}
.h2_tate span {
	line-height: 1;
}
.h2_tate .ruby {
	font-weight: 400;
	display: block;
	line-height: 1;
	letter-spacing: .15em;
	padding-top: min(1vw,25px);
	padding-left: .15em;
}
.h2_tate strong  {
	white-space: nowrap;
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
	letter-spacing: .1em !important;
}
/* 本文文章 */
.align_end {
	align-self: flex-end;
}

#sec_about img {
	width: 40vw;
	width: calc(40vw + 30px);
	max-width: 630px;
	padding-left: 30px;
}
#sec_about p {
	line-height: 2;
	letter-spacing: .05em;
}
#sec_about p strong {
	font-size: 1.3em;
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	padding-bottom: .15em;
	border-bottom: 3px solid #f1b0bf;
}
#sec_about p strong:before,
#sec_about p strong:after   {
	content: "";
	width:  1em;
	height: 1em;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
#sec_about p strong:before {
	margin: 0 .25em;
	background-image: url(../img/about_sakuraL.svg);
}
#sec_about p strong:after  {
	margin: 0 .25em;
	background-image: url(../img/about_sakuraR.svg);
}
.sp_inl {
	display: none !important;
}
#sec_about .right_small {
	width: 100%;
	font-size: 0.75em;
	text-align: right;
	display: inline-block;
}


/* ===== 展示について ===== */
#sec_tenji {
	overflow-x: hidden;
	overflow-y: hidden;
}
.left_heading + .cont_wrap {
	width: 72vw;
	max-width: 1000px;
	min-width:  550px;
}
#sec_tenji .card,
#sec_program .card {
	width: 100%;
}
#sec_tenji .card_left {
	padding-left: 5%;
}
#sec_tenji .card_right,
#sec_program .card_right {
	width: 72vw;
	max-width: 1000px;
	min-width:  550px;
	margin-left:  auto;
	margin-right: 0;
}
#sec_tenji .left_wrap,
#sec_program .left_wrap {
	width: 55%;
	margin-right: 5%;
}
.justify_start   {
	justify-content: flex-start;
}
.justify_between {
	justify-content: space-between;
}
#sec_tenji .card h3 {
	font-size: min(5.5vw,80px);
	font-family: kozuka-mincho-pr6n, serif !important;
	line-height: 1.3;
	font-weight: 900;
	font-style: normal;
	margin-bottom: min(2.601vw,30px);
}
#sec_tenji .p_thema,
#sec_program .p_thema {
	font-size: min(2.667vw,40px);
	font-family: source-han-sans-japanese, sans-serif !important;
	font-weight: 500;
	font-style: normal;
	margin-bottom: .35em;
}
#sec_tenji .card p.cont,
#sec_program .card p.cont {
	font-weight: bold;
	letter-spacing: .03em;
}
#sec_tenji .card .small_info li {
	font-weight: bold;
	font-feature-settings: normal;
}
#sec_tenji .card .img_wrap,
#sec_program .card .img_wrap,
#sec_others .img_wrap,
#sec_haihu .img_wrap {
	width: 40%;
	max-width: 400px;
}
#sec_program .card .img_wrap.add_height,
#sec_program .card .img_wrap.add_height img {
	width: auto;
	object-fit: contain;
	max-height: 278px;
}
#sec_tenji .card p.alignR,
#sec_program .card p.alignR,
#sec_others p.alignR {
	font-weight: normal;
	letter-spacing: .03em !important;
	margin-top: .5em;
}
#sec_tenji .small_info li {
	text-indent: -5.5em;
	padding-left: 5.5em;
}
#sec_tenji .small_info li.no_indent {
	letter-spacing: .05em;
	text-indent:  0;
	padding-left: 0;
}
.card h5  {
	text-align: center;
	margin-bottom: 15px;
	color: #0b308d;
}
.card p.price {
	font-size: 16px;
	font-size: min(1.6vw,16px);
	text-align: center;
	letter-spacing: 0;
}
.card p.price {
	margin-bottom: 20px;
}
.card p.price strong {
	font-size: min(2.4vw,32px);
	margin-left:  .25em;
	margin-right: .25em;
}
.card p.note,
#sec_eat .note {
	font-size: min(1.4vw,16px);
	letter-spacing: .05em;
	text-align: center;
}
/* 白ボックス(ウオヒレ氏) */
#sec_tenji .white_box {
	width: 100%;
	margin-left:  auto;
	margin-right: auto;
	padding:       min(4vw,50px);
	border-radius: min(5vw,50px);
	background-color: #fff;
}
#sec_tenji .white_box .left_wrap {
	margin-right: min(4vw,40px);
}
#sec_tenji .white_box h4 {
	font-size: min(3vw,40px);
	font-feature-settings: "palt";
}
#sec_tenji .white_box .right_wrap {
	width: 50vw;
	max-width: 255px;
	min-width: 140px;
}

/* 背景装飾 */
#sec_tenji .bg_wrap {
	position: relative;
}
#sec_tenji .deco,
#sec_program .deco {
	width: 100%;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	z-index: 0;
	pointer-events: none;
	user-select: none;
}
#sec_tenji .decoSP,
#sec_program .decoSP   {
	display: none !important;
}
#sec_tenji .deco img,
#sec_program .deco img {
	position: absolute;
	z-index: -1;
}
/* 上 装飾 */
#sec_tenji .decoTOP,
#sec_program .decoTOP {
	max-width: 1200px;
}
#sec_tenji .decoTOP img,
#sec_program .decoTOP img {
	width: 34vw;
	max-width: 400px;
	top: 0;
	right: 0;
	transform: translateY(calc(min(8vw,80px)*-1));
}
/* 左上 装飾 */
#sec_tenji .decoLT,
#sec_program .decoLT {
	position: absolute;
	left: 0;
}
#sec_tenji .decoLT img,
#sec_program .decoLT img {
	width: 20vw;
	/* max-width: 300px; */
	left: 0;
	transform: translateY(calc(min(5vw,50px)*-1));
}
/* 右中央 装飾 */
#sec_tenji .decoRC,
#sec_program .decoRC {
	position: absolute;
	right: 0;
}
#sec_tenji .decoRC img,
#sec_program .decoRC img {
	width: 9.333vw;
	/* max-width: 140px; */
	right: 0;
	/* transform: translateY(calc(min(8vw,130px)*-1)); */
}
#sec_program .decoRC img {
	margin-top: 10%;
}

/* 左下 装飾 */
#sec_tenji .decoLB,
#sec_program .decoLB {
	position: absolute;
	left: 0;
}
#sec_tenji .decoLB img,
#sec_program .decoLB img {
	width: 8vw;
	/* max-width: 120px; */
	left: 0;
	transform: translateY(calc(min(10vw,150px)));
}

/* --- add --- */
#sec_tenji .card .head_flex {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#sec_tenji .card .head_flex h3 {
	width: 70%;
	margin-bottom: 0;
}
#sec_tenji .card .head_flex .img_wrap {
	width: 25%;
}
#sec_tenji .card .head_flex + .cont {
	margin-top: -3em;
}







/* ===== 体験プログラム ===== */
#sec_program {
	position: relative;
}
#sec_program .p_thema {
	line-height: 1.5;
	letter-spacing: .05em;
	margin-bottom: .25em;
}
.flag_wrap + .p_thema {
	margin-top: .5em;
}

#sec_program h3 {
	font-size: min(4.8vw,72px);
	font-feature-settings: "palt";
	line-height: 1.2;
	margin-bottom: min(4vw,50px);
}
#sec_program .dl_info {
	width: 63vw;
	max-width: 970px;
}
#sec_program .card_right {
	width: 63vw;
	max-width: 970px;
	min-width: 480px;
}
#sec_program .dl_info {
	width: 66vw;
}
#sec_program .card_right .dl_info {
	width: 63vw;
}
#sec_program .dl_info dt {
	min-width: 4.4em;
}
#sec_program .card_right .dl_info dd {
	line-height: 1.5;
	letter-spacing: .05em;
}
#sec_program .deco_program {
	position: absolute;
	left: 0;
	bottom: 0;
}
#sec_program .deco_program img {
	width: 10vw;
	max-width: 150px;
	transform: translateY(calc(min(10vw,130px)*-1));
}
.flag_wrap {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
}
.flag_wrap .img_flag {
	width:  1.75em;
	height: 1.5em;
	min-width: 60px;
	font-size: min(2.667vw,40px);
	margin-left: min(1.25vw,10px);
	margin-left: .5em;
}
.mar0_L {
	margin-left: 0 !important;
}
small.mar0_L {
	display: block;
	padding-bottom: .25em;
}
.sp_inl-flex {
	width: 100%;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: flex-start;
}


/* ===== 飲食について ===== */
.dl_info {
	width: fit-content;
}
.dl_info > div {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	margin-top: -1.5px;
	padding: .6em 1em;
	border-top:    1.5px solid #0b308d;
	border-bottom: 1.5px solid #0b308d;
}
.pc_inl {
	display: inline !important;
}
.dl_info dt,
.dl_info dd {
	font-weight: bold;
}
.dl_info dt {
	margin-right: 1.25em;
}
.dl_info .dd_head,
.dl_info dd a {
	display: inline-block;
	transform: translateY(-.1em);
}
.dl_info dd a {
	word-break: break-all;
}
.dl_info dd small {
	font-weight: normal;
	letter-spacing: .05em;
	margin-left: 1em;
}
#sec_eat .cont_wrap {
	margin-left: min(10vw,150px);
}
#sec_eat .card_wrap {
	width: 100%;
	max-width: 1150px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-left:  auto;
	margin-right: auto;
}
#sec_eat .left_heading + .cont_wrap {
	max-width: 940px;
}
.card {
	width: calc(100%/3 - min(4vw,60px)/2);
}
#sec_eat .card img,
#sec_buppan .card img {
	overflow: hidden;
	border-radius: 30px;
}
#sec_eat .card img {
	margin-bottom: 20px;
}
#sec_eat .card {
	position: relative;
}
#sec_eat .btn a {
	width: 70%;
}

/* 桜 */
.spring_gentei {
	width:  13vw;
	max-width: 150px;
	height: auto;
	position: absolute;
	top:  calc(min(3vw,30px)*-1);
	left: calc(min(2vw,20px)*-1);
}


/* ===== 物販について ===== */
.left_heading .h2_tate {
	margin-right: calc(min(3vw,30px)*-1);
}
/* 販売商品 */
#sec_buppan .flex_box,
#sec_buppan .card_wrap {
	width: 100%;
	max-width: 1150px;
	margin-left:  auto;
	margin-right: auto;
}
#sec_buppan .cont_wrap {
	width: 70%;
}
#sec_buppan .dl_info {
	width: 100%;
}
#sec_buppan .card_wrap {
	display: flex;
	justify-content: space-between;
	padding-right: 40px;
}
#sec_buppan .card {
	width: 100%;
}
#sec_buppan h5 {
	font-size: min(1.7vw,22px);
}
#sec_buppan .card p.price {
	font-size: min(1.4vw,16px);
}

/* 追加 */
#sec_buppan .card_big {
	width: 60%;
}
#sec_buppan .card_mini {
	width: 35%;
}
#sec_buppan .card_mini .card + .card {
	margin-top: 12%;
}
#sec_buppan .card dl {
	margin-top: 1em;
}
#sec_buppan .card_mini dl {
	margin-top: .5em;
}
#sec_buppan .card dt,
#sec_buppan .card dd {
	font-size: 1em;
}
#sec_buppan .card dl > div {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#sec_buppan .card dt {
	margin-right: 1em;
}
#sec_buppan .card_mini dt {
	line-height: 1.3;
	margin-right: 0;
	margin-bottom: .25em;
}
#sec_buppan .card dd {
	width: fit-content;
}
#sec_buppan .card dd strong{
	font-size: 1.5em;
}
#sec_buppan .card dd small {
	font-size: .675em;
	font-feature-settings: "palt";
}


@media screen and (max-width:1450px) {
	#sec_buppan .card_wrap {
		padding-right: 7vw;
	}
}








/* ===== その他情報 ===== */
#sec_others {
	background-color: #f9e4e6;
}
#sec_others .wrap {
	width: 100%;
	max-width: 910px;
	margin-left:  auto;
	margin-right: auto;
}
#sec_others .cont_width {
	width: fit-content;
	max-width: 1250px;
	margin-left:  auto;
	margin-right: auto;
}
.h2_yoko,
#sec_others .cont_width img,
#sec_others .width_wrap {
	padding-left: clamp(60px,7.5vw,110px);
}
#sec_others .cont_width img {
	width: 100%;
	max-width: 800px;
	display: inline-block;
}
.h2_yoko {
	width: fit-content;
	line-height: 1.15;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	padding-top:  clamp(50px,7vw,110px);
}
.h2_yoko:before {
	content: "";
	width:  12vw;
	height: 14vw;
	max-width:  200px;
	max-height: 210px;
	display: block;
	position: absolute;
	top:  0;
	left: 0;
	background-image:  url(../img/heading_icon.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
	margin-right: min(1.6vw,25px);
}
.h2_yoko small {
	font-size: min(3.3vw,50px);
	display: inline-block;
	margin-bottom: .1em;
}
.h2_yoko small span {
	font-size: min(4.8vw,72px);
	color: #e77991;
}
.h2_yoko strong {
	font-size: min(4.8vw,72px);
	font-weight: 700;
}
#sec_others .wrap > p {
	width: fit-content;
	margin: auto;
}
#sec_others .flex_box  {
	justify-content: flex-start;
}
#sec_others .left_wrap {
	width: 34vw;
	max-width: 520px;
	margin-right: min(3.3vw,50px);
}
#sec_others .left_wrap p {
	font-size: min(1.6vw,20px);
}
#sec_others h3 {
	font-size: min(2.667vw,40px);
}
#sec_others .dl_info dt {
	min-width: 5.25em;
}
#sec_others .dl_info dd small {
	font-size: min(2vw,29px);
	font-weight: 500;
	margin-left: .5em;
}
#sec_others .dl_info dd .strong {
	font-size: min(2vw,29px);
	text-align: left;
	line-height: 1.5;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#sec_others .dl_info dd .strong + .strong {
	margin-top: .25em;
}
#sec_others .dl_info dd .strong span:first-of-type {
	margin-right: .25em;
}


#sec_others p.fb_bold small.fb_normal,
#sec_others p.note {
	font-size: min(1.4vw,16px);
}
#sec_others .width_wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: auto;
}
#sec_others .width_wrap dl {
	width: 100%;
}
#sec_others .dl_info .add_align_self {
	padding-top:    1.25em;
	padding-bottom: 2em;
}
#sec_others .dl_info .add_align_self dt {
	align-self: flex-start;
}

/* 注釈 */
#sec_others .note_flex {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-top: 1em;
}

/* ボタン */
#sec_others .dl_info .btn {
	width: 280px;
}






/* inおたる水族館について */
.syuttyou_img {
	width: 34vw;
	max-width: 510px;
	min-width: 400px;
	display: block;
	margin-left:  auto;
	margin-right: auto;
}

/* ヒレー！ヒレー！パスについて */
.hire-pass_img {
	width: 53vw;
	max-width: 850px;
	min-width: 450px;
	display: block;
	margin-left:  auto;
	margin-right: auto;
}



/* ===== 配布 ===== */
#sec_haihu,
#sec_others #about_pass {
	position: relative;
}
#sec_haihu:before,
#sec_others #about_pass:before {
	content: "";
	width: 100%;
	height: 2px;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-color: #bdd8e3;
}
#sec_haihu .wrap {
	max-width: 950px;
	justify-content: center;
	margin-left:  auto;
	margin-right: auto;
}
#sec_haihu .left_wrap {
	margin-right: min(4vw,40px);
}
#sec_haihu h4 {
	font-size: min(3.6vw,40px);
	font-feature-settings:"palt";
}
#sec_haihu p {
	font-size: min(2vw,24px);
}


/* ===== 応援 ===== */
#sec_yell {
	margin-bottom: 0;
}
#sec_yell .wrap {
	max-width: 1000px;
	justify-content: space-between;
}
#sec_yell .img_wrap {
	width: 100%;
	margin-bottom: -320px;
}
#sec_yell .footer_hire {
	width: 250px;
	position: relative;
	left:   110px;
	bottom: 200px;
}

/* ===== Animation ===== */
.add_animHead,
.add_animHeadL,
.add_animHere,
.add_animT,
.add_animB,
.add_animL,
.add_animR {
	opacity: 0;
	transition: opacity .4s, transform .4s;
}


.korokoro {
	/*animation: korokoro  2.5s linear 0s infinite;*/
	animation: korokoro  3.5s linear 0s infinite;
}

/* 
@keyframes korokoro {
	0%   { transform: translate(0%, 0%); }
	5%   { transform: translate(10%, 0%) rotate(10deg); }
	25%  { transform: translate(20%, 0%) rotate(20deg); }
	30%  { transform: translate(-10%, 0%) rotate(-10deg); }
	35%  { transform: translate(-15%, 0%) rotate(-15deg); }
	45%  { transform: translate(10%, 0%) rotate(10deg); }
	50%  { transform: translate(15%, 0%) rotate(15deg); }
	60%  { transform: translate(-5%, 0%) rotate(-5deg); }
	65%  { transform: translate(-7%, 0%) rotate(-7deg); }
	75%  { transform: translate(0%, 0%) rotate(0deg); }
	100% { transform: translate(0%, 0%) rotate(0deg); }
}
 */

@keyframes korokoro {
	0%   { transform: translate(0%, 0%); }
	1%   { transform: translate(10%, 0%) rotate(10deg); }
	2%  { transform: translate(20%, 0%) rotate(20deg); }
	3%  { transform: translate(-10%, 0%) rotate(-10deg); }
	4%  { transform: translate(-15%, 0%) rotate(-15deg); }
	5%  { transform: translate(10%, 0%) rotate(10deg); }
	6%  { transform: translate(15%, 0%) rotate(15deg); }
	7%  { transform: translate(-5%, 0%) rotate(-5deg); }
	8%  { transform: translate(-7%, 0%) rotate(-7deg); }
	9%  { transform: translate(0%, 0%) rotate(0deg); }
	10% { transform: translate(0%, 0%) rotate(0deg); }
}



@media screen and (max-width:1450px) {
	/* ===== 鰭展とは？ ===== */
	.h2_tate {
		transform: translate(min(6vw,40px));
		margin-left: -20px;
		transform: inherit;
		margin-left: -40px;
	}
	.left_heading .h2_tate {
		transform:   translate(min(5vw,80px));
		margin-right: 0px;
	}
	/* ===== 物販について ===== */
}

@media screen and (max-width:1100px) {
	/* ===== 応援 ===== */
	#sec_yell .footer_hire {
		width: 20vw;
	}
	#sec_yell .img_wrap {
		margin-bottom: -29vw;
	}
	#sec_yell .footer_hire {
		left:   11vw;
		bottom: 15vw;
	}
}

@media screen and (max-width:768px) {
	/* --- maxWidth --- */
	.bg_wrap,
	.wrap {
		width: 100%;
		margin: auto;
		padding: 0 30px;
		padding: 0 min(8vw,60px);
	}
	.wrap {
		max-width: 500px;
	}
	.bg_wrap > .wrap {
		padding-left:  0;
		padding-right: 0;
	}
	/* --- text --- */
	/* heading */
	h2 {
		font-size: 49px;
		font-size: 13vw;
	}
	h3 {
		font-size: 30px;
		font-size: 8vw;
	}
	h4 {
		font-size:26px;
		font-size: 7vw;
	}

	/* content_text */
	ul,
	li,
	dl,
	dd,
	dt,
	a,
	p {
		font-size: 16px;
		font-size: min(4vw,18px);
	}

	.alignL_SP { text-align:left !important;    }
	.alignR_SP { text-align:right !important;   }
	.alignC_SP { text-align:center !important;  }
	.alignJ_SP { text-align:justify !important; }

	.fs_PC24 {
		font-size: 18px;
	}

	/* mar & pad */
	/* mar */
	.marXXL_T { margin-top:50px !important; }
	.marXL_T  { margin-top:40px !important; }
	.marL_T   { margin-top:30px !important; }
	.marM_T   { margin-top:20px !important; }
	.marS_T   { margin-top:10px !important; }
	.marXS_T  { margin-top: 5px !important; }

	.marXXL_B { margin-bottom:50px !important; }
	.marXL_B  { margin-bottom:40px !important; }
	.marL_B   { margin-bottom:30px !important; }
	.marM_B   { margin-bottom:20px !important; }
	.marS_B   { margin-bottom:10px !important; }
	.marXS_B  { margin-bottom: 5px !important; }

	.marXXL_T-SP { margin-top:50px !important; }
	.marXL_T-SP  { margin-top:40px !important; }
	.marL_T-SP   { margin-top:30px !important; }
	.marM_T-SP   { margin-top:20px !important; }
	.marS_T-SP   { margin-top:10px !important; }
	.marXS_T-SP  { margin-top: 5px !important; }
	.mar0_T-SP   { margin-top: 0px !important; }

	.marXXL_B-SP { margin-bottom:50px !important; }
	.marXL_B-SP  { margin-bottom:40px !important; }
	.marL_B-SP   { margin-bottom:30px !important; }
	.marM_B-SP   { margin-bottom:20px !important; }
	.marS_B-SP   { margin-bottom:10px !important; }
	.marXS_B-SP  { margin-bottom: 5px !important; }
	.mar0_B-SP   { margin-bottom: 0px !important; }

	/* mar-vw(375基準で、倍が最大) */
	.marXXL_T-vw { margin-top:min(13.333vw,100px) !important; }
	.marXL_T-vw  { margin-top:min(10.667vw,80px) !important;  }
	.marL_T-vw   { margin-top:min(8vw,60px) !important;       }
	.marM_T-vw   { margin-top:min(5.333vw,40px) !important;   }
	.marS_T-vw   { margin-top:min(2.667vw,20px) !important;   }
	.marXS_T-vw  { margin-top:min(1.333vw,10px) !important;   }

	.marXXL_B-vw { margin-bottom:min(13.333vw,100px) !important; }
	.marXL_B-vw  { margin-bottom:min(10.667vw,80px) !important;  }
	.marL_B-vw   { margin-bottom:min(8vw,60px) !important;       }
	.marM_B-vw   { margin-bottom:min(5.333vw,40px) !important;   }
	.marS_B-vw   { margin-bottom:min(2.667vw,20px) !important;   }
	.marXS_B-vw  { margin-bottom:min(1.333vw,10px) !important;   }

	/* pad */
	.padXXL_T { padding-top:50px !important; }
	.padXL_T  { padding-top:40px !important; }
	.padL_T   { padding-top:30px !important; }
	.padM_T   { padding-top:20px !important; }
	.padS_T   { padding-top:10px !important; }
	.padXS_T  { padding-top: 5px !important; }

	.padXXXL_B { padding-top:60px !important; } 

	.padXXL_B { padding-bottom:50px !important; }
	.padXL_B  { padding-bottom:40px !important; }
	.padL_B   { padding-bottom:30px !important; }
	.padM_B   { padding-bottom:20px !important; }
	.padS_B   { padding-bottom:10px !important; }
	.padXS_B  { padding-bottom: 5px !important; }

	.padXXL_T-SP { padding-top:50px !important; }
	.padXL_T-SP  { padding-top:40px !important; }
	.padL_T-SP   { padding-top:30px !important; }
	.padM_T-SP   { padding-top:20px !important; }
	.padS_T-SP   { padding-top:10px !important; }
	.padXS_T-SP  { padding-top: 5px !important; }
	.pad0_T-SP   { padding-top: 0px !important; }

	.padXXL_B-SP { padding-bottom:50px !important; }
	.padXL_B-SP  { padding-bottom:40px !important; }
	.padL_B-SP   { padding-bottom:30px !important; }
	.padM_B-SP   { padding-bottom:20px !important; }
	.padS_B-SP   { padding-bottom:10px !important; }
	.padXS_B-SP  { padding-bottom: 5px !important; }
	.pad0_B-SP   { padding-bottom: 0px !important; }

	/* pad-vw(375基準) */
	.padXXL_T-vw { padding-top:min(13.333vw,100px) !important; }
	.padXL_T-vw  { padding-top:min(10.667vw,80px) !important;  }
	.padL_T-vw   { padding-top:min(8vw,60px) !important;       }
	.padM_T-vw   { padding-top:min(5.333vw,40px) !important;   }
	.padS_T-vw   { padding-top:min(2.667vw,20px) !important;   }
	.padXS_T-vw  { padding-top:min(1.333vw,10px) !important;   }

	.padXXL_B-vw { padding-bottom:min(13.333vw,100px) !important; }
	.padXL_B-vw  { padding-bottom:min(10.667vw,80px) !important;  }
	.padL_B-vw   { padding-bottom:min(8vw,60px) !important;       }
	.padM_B-vw   { padding-bottom:min(5.333vw,40px) !important;   }
	.padS_B-vw   { padding-bottom:min(2.667vw,20px) !important;   }
	.padXS_B-vw  { padding-bottom:min(1.333vw,10px) !important;   }

	/* --- btn ( div.btn > a ) --- */
	.btn    { font-size:14px; }

	.btn a {
		width: 100%;
		max-width: 400px;
		font-size:  14px;
		padding:     1em;
	}

	/* --- others --- */
	.pc_blk { display:none  !important; }
	.sp_blk { display:block !important; }

	.flex_box.pc_blk { display:none !important; }
	.flex_box.sp_blk { display:flex !important; }

	.flex_box { flex-wrap:wrap; }

	/* ===== ↓ header menu ↓ ===== */
	header {
		width:  100%;
		height:  60px;
		padding: 15px 20px;
		padding-right: 80px;
	}
	.header_logo,
	.header_logo > a img {
		height: 6vw;
		min-height: 30px;
		top:   4vw;
		right: 3vw;
	}
	/* ===== ↓ footer menu ↓ ===== */
	.footer_wrap {
		padding: 30px 0 90px;
	}
	.copyright {
		font-size: 10px;
		letter-spacing: .05em;
	}
	.waves {
		width: 100%;
		height: 50px;
	}
	/* ===== ↓ footer ↓ ===== */
	.footer_logo {
		max-width: 210px;
	}
	/* ===== トップページに戻る ===== */
	.pageTop {
		width: 90px;
		position: fixed;
		right:  15px;
		bottom: 15px;
	}
	.pageTop.notfixed {
		right: 15px;
		bottom: 50px;
	}



	/* ===== font-size ===== */
	.h2_tate .ruby {
		font-size: 10px;
	}
	.dl_info dd small,
	.card p.note,
	#sec_eat .note   {
		font-size: 12px;
	}
	.dl_info dd small {
		margin-top: .35em;
	}

	#sec_tenji .card .small_info li {
		font-size: 14px;
	}
	#sec_about p,
	.cont_wrap p,
	.dl_info dt,
	#sec_tenji .card p.cont,
	#sec_buppan dl,
	.card p.price,
	#sec_others .wrap > p {
		font-size: 14px;
	}
	.card h5,
	#sec_tenji .p_thema,
	#sec_program .p_thema {
		font-size: 15px;
	}
	.dl_info dd,
	.dl_info dd a,
	.dl_info dd .dd_head {
		font-size: 17px;
	}
	.card p.price strong {
		font-size: 24px;
	}
	.flag_wrap + .p_thema {
		margin-bottom: .5em !important;
	}


	/* ===== MV ===== */
	#mv {
		width: 100%;
		height: calc(100vh - 60px);
		min-height: 607px;
		min-height: min(165vw,984px);
		position: relative;
		padding: min(5vw,40px) 0;
	}
	#mv > div {
		width: 90%;
		max-width: 550px;
		position: relative;
		transform: translateY(0);
	}

	/* ===== 鰭展とは? ===== */
	.heading_wrapSP {
		display: inline-block !important;
	}
	.h2_tate,
	.h2_yoko,
	.left_heading .h2_tate {
		font-size: 24px;
		writing-mode: horizontal-tb;
		align-items: flex-end;
		margin-left:  0;
		margin-right: 0;
		transform: inherit;
	}
	.h2_tate:before,
	.h2_yoko:before {
		width:  90px;
		height: 90px;
		min-width: inherit;
		margin-bottom: 0;
		margin-left:  -25px;
		margin-right: -40px;
		transform: inherit;
	}
	.h2_yoko small {
		font-size: 16px;
		line-height: 1.75em;
	}
	.h2_yoko strong {
		font-size: 24px;
		letter-spacing: .05em;
	}
	.h2_tate .ruby {
		padding-top: 0;
		padding-bottom: .2em;
		padding-left: .2em;
	}
	/* 見出しflex */
	#sec_about .flex_box {
		flex-direction: column-reverse;
	}
	#sec_about .heading_wrap {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	#sec_about .h2_tate span {
		min-width: 5em;
	}
	#sec_about img {
		width: 100%;
		padding-left: 0;
	}
	#sec_about p strong {
		display: inline;
		font-size: 16px;
		line-height: 1.8em;
		letter-spacing: .1em;
	}
	#sec_about p strong:before,
	#sec_about p strong:after {
		display: inline-block;
	}
	#sec_about p strong:before {
		margin-left: 0;
	}
	#sec_about p strong:after  {
		margin-right: 0;
		transform: translateY(2px);
	}
	p .sp_inl,
	li .sp_inl,
	small.sp_inl {
		display: inline !important;
	}

	#sec_about .right_small {
		font-size: 12px;
	}

	/* ===== 展示について ===== */
	.left_heading + .cont_wrap,
	#sec_tenji .card_right,
	#sec_buppan .left_heading + .cont_wrap {
		min-width: inherit;
	}
	#sec_tenji .card h3 {
		font-size: 22px;
		margin-bottom: 10px;
	}
	#sec_tenji .card_left,
	#sec_tenji .card_right,
	#sec_program .card_left,
	#sec_program .card_right {
		width: 100%;
		min-width: inherit;
	}
	#sec_tenji .card_left {
		padding-left: 0;
	}
	#sec_tenji .card .img_wrap,
	#sec_program .card .img_wrap,
	#sec_others .img_wrap {
		width: 80%;
		max-width: inherit;
		min-width: inherit;
		position: relative;
		margin: auto;
	}
	#sec_tenji .card p.alignR,
	#sec_program p.alignR,
	#sec_others p.alignR {
		font-size: 12px;
		position: absolute;
		right:  0;
		bottom: 0;
		padding: 2px 8px;
		color: #fff;
	}
	#sec_tenji .small_info li {
		text-indent: -5.5em;
		padding-left: 5.5em;
		line-height:  1.4;
	}
	#sec_tenji .card_penguin {
		width: 100%;
		padding-left:   0;
		padding-bottom: 0;
	}
	#sec_tenji p.alignR.pos_re {
		position: relative;
		padding: 0;
		color: #0b308d;
	}
	#sec_tenji span.sp_inl {

	}
	/* ウオヒレ氏 */
	#sec_tenji .white_box {
		width: 100%;
		margin-left:  0;
		margin-right: 0;
		padding: 30px;
		border-radius: 15px;
	}
	#sec_tenji .white_box h4 {
		font-size: 16px;
	}
	#sec_tenji .alignR img {
		height: 1.25em;
	}
	#sec_tenji .alignR + .alignR img {
		transform: translateY(-2.3em);
	}
	#sec_tenji .card .small_info li,
	#sec_tenji .white_box p {
		font-size: 14px;
		letter-spacing: .1em;
	}
	.dl_info dd .sp_small {
		font-size: 14px !important;
	}
	#sec_tenji .card .small_info.add_palt li {
		font-feature-settings: "palt";
		letter-spacing: .15em;
	}
	#sec_tenji .white_box .flex_box {
		flex-direction: column-reverse;
	}
	#sec_tenji .white_box .left_wrap {
		margin-right: 0;
	}
	#sec_tenji .white_box .img_wrap {
		width: 52%;
	}
	#sec_tenji .left_wrap,
	#sec_program .left_wrap {
		width: 100%;
		margin-right: 0;
	}

	/* 背景装飾 */
	#sec_tenji .decoPC,
	#sec_program .decoPC {
		display: none !important;
	}
	#sec_tenji .decoSP,
	#sec_program .decoSP {
		display: block !important;
	}
	/* 上 装飾 */
	#sec_tenji .decoTOP img,
	#sec_program .decoTOP img {
		max-width: 160px;
		transform: translateY(-50px);
	}
	/* 左上 装飾 */
	#sec_tenji .decoLT img,
	#sec_program .decoLT img {
		width: 22.667vw;
		max-width: 110px;
		min-width:  85px;
		transform: translateY(calc(min(21vw,95px)*-1));
	}
	/* 右中 装飾 */
	#sec_tenji .decoRC img,
	#sec_program .decoRC img {
		width: 10.667vw;
		max-width: 60px;
		min-width: 40px;
		transform: translateY(calc(min(24vw,160px)*-1));
	}
	/* 右下(PC左下) 装飾 */
	#sec_tenji .decoRB,
	#sec_program .decoRB {
		position: absolute;
		left:  inherit;
		right: 0;
	}
	#sec_tenji .decoRB img,
	#sec_program .decoRB img {
		width: 10.667vw;
		max-width: 60px;
		min-width: 40px;
		left:  inherit;
		right: 0;
		transform: translateY(calc(min(18vw,180px)*-1));
	}

	/* --- add --- */
	#sec_tenji .card .head_flex {
		position: relative;
		margin-bottom: 10px;
	}
	#sec_tenji .card .head_flex .img_wrap {
		position: absolute;
		right:  0;
		bottom: 0;
	}
	#sec_tenji .card .head_flex + .cont {
		margin-top: 0;
	}




	/* ===== 体験プログラム ===== */
	#sec_program .flex_box {
		flex-direction: column-reverse;
	}
	#sec_program .p_thema {
		letter-spacing: 0;
	}
	#sec_program h3 {
		font-size: 22px;
		margin-bottom: 20px;
	}
	#sec_program .dl_info,
	#sec_program .card_right .dl_info {
		width: 100%;
		max-width: inherit;
	}
	.dl_info .sp_not-flex {
		width: 100%;
		text-align: center;
		display: inline-block;
	}
	.dl_info .sp_not-flex dt {
		font-size: 12px;
		font-weight: 500;
		text-align: center;
	}
	.dl_info .sp_not-flex dd a {
		font-size: 14px !important;
		letter-spacing: 0;
	}
	#sec_program .sp_add-letter {
		letter-spacing: .01em !important;
	}
	#sec_program .card .flex_box {
		justify-content: center;
		flex-direction: inherit;
	}
	#sec_program .card .flex_box p {
		font-size: 14px;
		letter-spacing: .05em;
	}
	#sec_program .card .left_wrap {
		margin-right: 0;
	}
	#sec_program .justify_start {
		justify-content: center !important;
	}
	#sec_program .card .img_wrap {
		margin-left:  auto;
		margin-right: auto;
	}
	#sec_program .dl_info .sp_inl {
		display: inline-block !important;
		line-height: 1.5em;
	}


	/* ===== 飲食について ===== */
	.dl_info {
		width: 100%;
	}
	.dl_info > div {
		padding: .8em 0;
	}
	.dl_info dd,
	.dl_info dt {
		letter-spacing: .05em;
	}
	.dl_info dt {
		min-width: 5em;
		margin-right: 1em;
	}
	.dl_info dd {
		line-height: 1.3;
	}
	.dl_info dd br + small {
		margin-left: 0;
	}
	.pc_inl {
		display: none !important;
	}
	.sp_inl-flex {
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	#sec_eat .card_wrap {
		flex-wrap: wrap;
		justify-content: center;
	}
	#sec_eat .card {
		width: 100%;
		margin-top: 50px !important;
	}
	#sec_eat .cont_wrap {
		margin-left: 0;
	}
	#sec_eat .card:first-of-type {
		margin-top: 0 !important;
	}
	#sec_eat .card img,
	#sec_buppan .card img {
		border-radius: 20px;
	}
	.card p.price {
		margin-bottom: 0;
	}
	#sec_eat .btn a {
		width: 80%;
		position: relative;
	}
	#sec_eat .btn a:after {
	}
	.spring_gentei {
		width: 30vw;
		left:   0;
	}
	/* 注釈 */
	#sec_eat .note {
		margin-top: 1.25em;
	}


	/* =====  物販について ===== */
	#sec_buppan .cont_wrap {
		width: 100%;
	}
	#sec_buppan .flex_box {
		width: 100%;
		max-width: inherit;
	}
	#sec_buppan .dl_info {
		width: 100%;
	}
	#sec_buppan .flex_box {
		flex-direction: column-reverse;
	}
	.left_heading + .cont_wrap {
		width: 100%;
		max-width: inherit;
		min-width: inherit;
	}
	#sec_buppan .card_wrap {
		flex-wrap: wrap;
		padding-right: 0;
	}
	#sec_buppan .card {
		width: 100%;
		padding-top: 0 !important;
		margin-left:  auto;
		margin-right: auto;
	}
	#sec_buppan h5 {
		font-size: 16px;
	}
	#sec_buppan .card p.price {
		font-size: 14px;
	}

	/* 追加 */
	#sec_buppan .card_mini {
		width: 100%;
	}
	#sec_buppan .card dl {
		width: fit-content;
		margin-left:  auto;
		margin-right: auto;
	}
	#sec_buppan .card dl > div {
		font-size: 1em;
		flex-wrap: wrap;
		flex-direction: column;
	}
	#sec_buppan .card dl > div + div {
		margin-top: .65em;
	}
	#sec_buppan .card dt {
		margin-right: 0;
	}
	#sec_buppan .card_mini,
	#sec_buppan .card_mini .card + .card {
		margin-top: 30px;
	}
	#sec_buppan .card dd small {
		font-size: 12px;
	}
	#sec_buppan .card_big dd {
		margin-top: 0 !important;
		padding-left: 1.5em;
	}
	#sec_buppan .card_mini dl {
		width: 100%;
		margin-top: 1em;
		display: inline-block;
	}
	#sec_buppan .card_mini dt,
	#sec_buppan .card_mini dd {
		width: 100%;
		text-align: center;
	}
	#sec_buppan .card dd {
		margin-top: .25em;
	}




	/* ===== その他情報 ===== */
	#sec_others .bg_wrap > * {
		max-width: 500px;
		margin: auto;
	}
	#sec_others .width_wrap > p,
	#sec_others .left_wrap p,
	#sec_others .dl_info dd small {
		font-size: 14px;
	}
	.small_flex {
		margin-left: 0 !important;
	}
	#sec_others p.fb_bold small.fb_normal,
	#sec_others p.note,
	#sec_others p.alignR.pos_ab {
		font-size: 12px;
	}
	#sec_others .width_wrap > p   {
		letter-spacing: .05em;
	}
	#sec_others .flex_box {
		flex-wrap: wrap;
	}
	#sec_others .left_wrap,
	#sec_others .right_wrap {
		max-width: inherit;
		margin-left:  auto;
		margin-right: auto;
	}
	#sec_others .left_wrap {
		width: 100%;
	}
	#sec_others h3 {
		font-size:  16px;
		text-align: center;
	}
	#sec_others .left_wrap p.alignR {
		text-shadow: 0px 0px 10px rgba(0,0,0,1);
	}
	small.mar0_L-SP {
		margin-left: 0 !important;
	}

	/* --- add --- */
	.h2_yoko,
	#sec_others .cont_width img,
	#sec_others .width_wrap {
		padding-left: 0;
	}
	#sec_others .bg_wrap > * {
		width: 100%;
	}
	.h2_yoko {
		width: fit-content;
		text-align: center;
		margin-left:  auto;
		margin-right: auto;
		padding-left: 0;
	}
	.h2_yoko strong {
		font-size: 20px;
		line-height: 1.4;
	}
	.h2_yoko small span {
		font-size: 24px;
	}
	#sec_others .dl_info dd .strong {
		font-size: 16px;
	}
	#sec_others .dl_info dd .strong + .strong {
		margin-top: .5em;
	}
	#sec_others .dl_info dt {
		line-height: 1.4;
		align-self: flex-start;	
	}
	#sec_others .dl_info .add_align_self {
		padding-top: 1em;
	}
	.mar0_L-SP {
		margin-left: 0 !important;
	}
	/* ボタン */
	#sec_others .dl_info .btn {
		width: 100%;
		max-width: 280px;
	}
	/* 注釈 */
	#sec_others .note_flex {
		font-size: 14px;
	}











	/* ヒレー!ヒレー!パスについて */
	.hire-pass_img {
		width: 65%;
		max-width: 380px;
		min-width: inherit;
	}
	#about_pass .h2_yoko:before {
		margin-right: 10px;
	}
	#about_pass .pass_price div {
		max-width: 290px;
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		margin-left:  auto;
		margin-right: auto;
	}
	#about_pass .pass_price div:not(:first-of-type) {
		margin-top: 10px;
	}
	#about_pass .pass_price dt {
		font-size: 16px;
	}
	#about_pass .pass_price dt span,
	#about_pass .pass_price dd span  {
		font-size: 14px;
		font-weight: 500;
	}
	#about_pass .pass_price dd strong {
		font-size: 24px;
	}

	/* ===== 配布 ===== */
	#sec_haihu h4 {
		font-size: 24px;
	}
	#sec_haihu .wrap {
		max-width: 500px;
		justify-content: center;
	}
	#sec_haihu .left_wrap {
		margin-right: 0;
	}
	#sec_haihu .img_wrap {
		margin-left:  auto;
		margin-right: auto;
	}
	#sec_haihu p {
		font-size: 14px;
		letter-spacing: .05em;
	}
	/* ===== 応援 ===== */
	#sec_yell {
		margin-bottom: calc(min(50vw,160px)*-1);
	}
	#sec_yell .wrap {
		max-width: 400px;
		margin: auto;
	}
	#sec_yell p {
		font-size: 16px;
		text-align: center;
	}
	#sec_yell p.strong {
		font-size: 22px;
		margin-top: 20px;
	}
	#sec_yell .img_wrap {
		width: 100%;
		margin: auto;
		margin-bottom: calc(min(60vw,280px)*-1);
	}
	#sec_yell .footer_hire {
		width: 48vw;
		max-width: 220px;
		left:   min(28vw,130px);
		bottom: min(44vw,200px);
	}

	@media screen and (min-width:475px) {

		/* ===== 展示について ===== */
		/* ペンギン装飾 */
		#sec_tenji .deco_penguin,
		#sec_tenji .deco_penguin img {
			position: relative;
		}
		#sec_tenji .deco_penguin {
			width: 80%;
			margin: auto;
			margin-top: calc(min(15vw,20px)*-1);
		}
		#sec_tenji .deco_penguin img {
			margin-left: auto;
		}
		/* ===== 飲食について ===== */
		#sec_eat .card_wrap {
			padding-top: 15px;
			justify-content: space-between;
		}
		#sec_eat .card {
			width: calc(100%/2 - min(2.105vw,20px));
			margin-top: 40px !important;
		}
		#sec_eat .card:first-of-type,
		#sec_eat .card:nth-of-type(2) {
			margin-top: 0 !important;
		}
		.spring_gentei {
			width: 19vw;
			max-width: 120px;
		}
	}
	@media screen and (min-width:550px) {
		/* =====  鰭展について ===== */
		#sec_about .cont_wrap strong br.sp_blk {
			display: none !important;
		}
	}
}





