@charset "utf-8";
/* CSS Document */

/*------------------------------------------------------------------
--------------------------------------------------------------------
　　　　　　　　　　　littlemermaid専用css
--------------------------------------------------------------------
------------------------------------------------------------------*/
#contents {
	max-width: inherit;
}
#littlemermaid {
	padding: 0;
	font-size: 1.6rem;
}
#littlemermaid h2 {
	margin: 0 0 40px;
	font-family: "Noto Serif JP", serif;
	font-weight: 800;
	line-height: 1.7;
	filter: drop-shadow(0 0 4px rgb(0 0 0 / 60%));
}
#littlemermaid h2 .grad {
	padding-bottom: 0.2em;
	background-image: url(/plan/tokushu/shiki/littlemermaid/images/bg_ttl.webp);
	background-repeat: repeat-x;
	background-position: left top;
	background-size: auto 100%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.inner {
	max-width: 1040px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.br-tablet,
.br-599 {
	display: none;
}
.sup {
	display: block;
	margin-left: 1em;
	text-indent: -1em;
	font-size: 1.3rem;
	font-weight: normal;
}
.txt_link {
	color: #fff;
	text-decoration: underline;
}
.txt_link:hover {
	text-decoration: none;
}
.link-new02 {
	margin-left: 3px;
	padding-left: 32px;
}
.reg_size {
	vertical-align: bottom;
	line-height: 0.5rem;
}

/*------------------------------------------------------------------
メインビジュアル
------------------------------------------------------------------*/
.main-img {
	margin: 0;
	background: #002474;
	text-align: center;
}

/*------------------------------------------------------------------
背景
------------------------------------------------------------------*/
.bg01 {
	background-image: url(/plan/tokushu/shiki/littlemermaid/images/bg01.webp);
	background-repeat: repeat-y;
	background-position: center top;
	background-size: 100% auto;
}
.bg02 {
	background-image: url(/plan/tokushu/shiki/littlemermaid/images/bg02.webp);
	background-repeat: repeat-y;
	background-position: center top;
	background-size: 100% auto;
}
.bg03 {
	position: relative;
	background: radial-gradient(circle, #05a89d, #0478b3);
	z-index: 0;
}
.bg03:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background: url(/plan/tokushu/shiki/littlemermaid/images/bg03-t.webp), url(/plan/tokushu/shiki/littlemermaid/images/bg03-b.webp);
	background-repeat: no-repeat;
	background-position: center top, center bottom;
	background-size: 100% auto;
	opacity: 0.35;
	z-index: -1;
}

/*------------------------------------------------------------------
リード文
------------------------------------------------------------------*/
.lead_txt {
	margin-top: 17px;
	color: #002474;
	font-family: "Noto Serif JP", serif;
	font-size: 1.9rem;
	font-weight: 900;
	text-align: center;
}

/*------------------------------------------------------------------
アンカーリンク
------------------------------------------------------------------*/
.anc_plan {
	text-align: center;
}
.anc_plan a {
	position: relative;
	display: block;
	width: 280px;
	margin: 20px auto 23px;
	padding: 15px 30px;
	border-radius: 50px;
	color: #fff;
	background: #CC349F;
	font-weight: bold;
	text-align: center;
	box-shadow: 0 2px 4px rgb(139 0 98 / 40%);
	transition: .25s ease;
	overflow: hidden;
	z-index: 0;
}
.anc_plan a:after {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%) rotate(90deg);
	content: '\e902';
	font-family: 'jttweb' !important;
	font-size: 1rem;
}
.anc_plan a:hover {
	transform: translateY(5px);
}

/*------------------------------------------------------------------
公演について
------------------------------------------------------------------*/
.about {
	padding: 40px 0 60px;
	color: #fff;
}
.about .img_wrap {
	margin: -8px 0 22px;
	padding: 0 15px;
}
.about .img_wrap li {
	margin: 8px;
}
.about .img_wrap figure img {
	border: 1px solid #fff;
	box-shadow: 0 0 8px #C5DAF4;
}
.about .img_wrap figure figcaption {
	margin-top: 3px;
	font-size: 0.8em;
	text-align: right;
}
#littlemermaid .slick-prev,
#littlemermaid .slick-next {
	top: calc(50% - 10px);
	margin: 0;
	padding: 10px;
	z-index: 1;
}
#littlemermaid .slick-prev {
	left: 0;
	transform: translateY(-50%) rotate(-135deg);
}
#littlemermaid .slick-next {
	right: 0;
	transform: translateY(-50%) rotate(45deg);
}
#littlemermaid .slick-prev:before,
#littlemermaid .slick-prev:after,
#littlemermaid .slick-next:before,
#littlemermaid .slick-next:after {
	position: absolute;
	top: 0;
	content: '';
	border: 2px solid #fff;
	background: #fff;
	opacity: 1;
}
#littlemermaid .slick-prev:before,
#littlemermaid .slick-next:before {
	left: 0;
	right: 0;
}
#littlemermaid .slick-prev:after,
#littlemermaid .slick-next:after {
	right: 0;
	bottom: 0;
}
.about .about_txt {
	font-family: "Noto Serif JP", serif;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	filter: drop-shadow(0 0 4px rgb(0 0 0 / 30%));
}
.about .video_wrap {
	margin: 25px 0 36px;
	text-align: center;
}
.about .video_wrap .iframe-wrap {
	max-width: 430px;
	margin: 5px auto 0;
}
.about .video_wrap .iframe-wrap .video {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.about .video_wrap .iframe-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	width: 100%;
	height: 100%;
}
.about .schedule {
	position: relative;
	padding: 24px 30px;
	border: 3px solid;
    border-image: linear-gradient(to right, #daaf08 0%, #e9c539 20% 30%, #ffeeb4 50%, #e9c539 70% 80%, #daaf08 100%) 1;
	background: rgb(0 0 0 / 20%);
	text-align: center;
	z-index: 0;
}
.about .schedule:before {
	position: absolute;
	top: 3px;
	bottom: 3px;
	left: 3px;
	right: 3px;
	content: "";
	border: 1px solid;
    border-image: linear-gradient(to right, #daaf08 0%, #e9c539 20% 30%, #ffeeb4 50%, #e9c539 70% 80%, #daaf08 100%) 1;
	z-index: -1;
}
.about .schedule dl + dl {
	margin-top: 33px;
}
.about .schedule dt {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	width: 470px;
	margin: 0 auto 10px;
	color: #FCE086;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: bold;
}
.about .schedule dt:before,
.about .schedule dt:after {
	content: "";
	height: 2px;
	background: #FCE086;
	flex-grow: 1;
}
.about .schedule dt:before {
	margin-right: 20px;
}
.about .schedule dt:after {
	margin-left: 20px;
}
.about .schedule dl.place ul,
.about .schedule dl.info ul {
	display: inline-block;
	text-align: left;
}
.calendar_wrap {
	margin: 14px auto 12px;
	padding: 18px 18px 12px;
	color: #333;
	background: #fff;
	font-weight: bold;
}
.plan_time {
	display: flex;
	display: -webkit-flex;
	justify-content: flex-end;
	-webkit-justify-content: flex-end;
	margin-bottom: 4px;
}
.plan_time li {
	position: relative;
	width: fit-content;
	padding-left: 1.3em;
	border-radius: 5px;
	font-size: 1.4rem;
	line-height: 1;
}
.plan_time li + li {
	margin-left: 12px;
}
.plan_time li:before {
	position: absolute;
	top: -1px;
	left: 0;
	content: "";
	width: 0.9em;
	height: 0.9em;
	border: 1px solid #aaa;
}
.plan_time li.none:before {
	content: none;
}
.plan_time li.pink:before {
	background: #f9e1eb;
}
.calendar_box {
	position: relative;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	column-gap: 15px;
}
.calendar_year {
	width: 100%;
	font-family: "Noto Serif JP", serif;
	font-size: 2.2rem;
	font-weight: 800;
	line-height: 0.7;
}
.calendar_tab {
	display: none;
}
.month_box {
	width: calc(100% / 3 - 10px);
	margin-top: 5px;
}
.month {
	font-family: "Noto Serif JP", serif;
}
.month span {
	font-size: 3rem;
}
.calendar {
	width: 100%;
	border: 2px solid #333;
	background: #fff;
}
.calendar th,
.calendar td {
	border: 1px solid #333;
	font-size: 1.1rem;
}
.calendar th {
	padding: 2px;
}
.calendar td {
	position: relative;
	height: 45px;
	padding: 0 3px;
	text-align: left;
	vertical-align: top;
}
.calendar .mute {
	color: #b9b9b9;
	background: #f2f2f2;
}
.calendar .sat {
	color: #017cca;
}
.calendar .sun {
	color: #cc0313;
}
.calendar .mute.sat {
	color: #b5d4e8;
}
.calendar .mute.sun {
	color: #e8b6ba;
}
.calendar td.pink {
	background: #f9e1eb;
}
.calendar .in_stock:before,
.calendar .limited:before,
.calendar .soldout:before,
.calendar .end:before {
	position: absolute;
    top: calc(50% + 6px);
    left: 22px;
    transform: translate(-50%, -50%);
    content: "〇";
    font-size: 2.4rem;
    color: #db1d14;
}
.calendar .limited:before {
	top: calc(50% + 5px);
	content: "";
	width: min(2.3vw, 23px);
	height: min(1.9vw, 20px);
	background: #db1d14;
	clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% 5px, 4.5px calc(100% - 5px / 2), calc(100% - 4.5px) calc(100% - 5px / 2), 50% 5px);
}
.calendar .soldout.pink {
	background: #ae9da4;
}
.calendar .soldout:before {
	top: calc(50% + 5px);
	left: 50%;
	transform: translate(-50%, -50%) rotate(5deg);
	content: "sold\Aout";
	white-space: pre;
	color: #ec0000;
	font-size: 1.6rem;
	text-align: center;
	line-height: 0.9;
	text-shadow: 0 0 1px #fff, 0 0 2px #fff, 0 0 3px #fff, 0 0 4px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 7px #fff;
}
.calendar .end:before {
	top: calc(50% + 3px);
	left: 53%;
	content: "";
	width: 16px;
	height: 2px;
	background: #602d1d;
}
.calendar_wrap .calendar_date {
	margin-top: 2px;
	font-size: 1.2rem;
	font-weight: normal;
	text-align: right;
}
.calendar_wrap .sup {
	display: inline-block;
	margin-top: 3px;
	text-align: left;
}
/*column4*/
.column4 .month_box {
	width: calc(100% / 4 - 12px);
}
.column4 .calendar .in_stock:before,
.column4 .calendar .limited:before,
.column4 .calendar .soldout:before,
.column4 .calendar .end:before {
    top: calc(50% + 7px);
    left: 50%;
    font-size: 2.2rem;
}
.column4 .calendar .limited:before {
	top: calc(50% + 5px);
	width: min(2.3vw, 20px);
	height: min(1.9vw, 17px);
	clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% 4.5px, 4px calc(100% - 4.5px / 2), calc(100% - 4px) calc(100% - 4.5px / 2), 50% 4.5px);
}
.column4 .calendar .soldout:before {
	font-size: 1.3rem;
}

/*------------------------------------------------------------------
プラン
------------------------------------------------------------------*/
.plan {
	padding: 40px 0 60px;
}
#littlemermaid .plan h2 .bg_ttl {
	padding: 15px 28px 15px 23px;
}
.example_wrap {
	position: relative;
	width: 650px;
	margin: 0 auto;
	padding: 15px 30px;
	border: 2px solid #bea976;
	background: #fff;
	text-align: center;
}
.example_wrap .example_txt {
	position: absolute;
	top: -20px;
	left: -20px;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	width: 65px;
	height: 65px;
	border-radius: 100px;
	color: #fff;
	background: #bea976;
	font-size: 1.2rem;
	font-weight: bold;
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
}
.example_wrap .example_plan {
	margin-bottom: 10px;
	padding-bottom: 4px;
	border-bottom: 1px solid #ccc;
	font-size: 2rem;
	font-weight: bold;
}
.example_wrap .price_wrap .txt-bold {
	display: inline-block;
	margin-bottom: 7px;
}
.example_wrap .price_wrap dl {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: baseline;
	-webkit-align-items: baseline;
	text-align: left;
	line-height: 1.4;
}
.example_wrap .price_wrap dl:first-of-type {
	margin-top: 7px;
}
.example_wrap .price_wrap dt {
	width: 130px;
}
.example_wrap .price_wrap dd {
	margin-left: 10px;
	color: #c20000;
	font-weight: bold;
}
.example_wrap .price_wrap dd span {
	font-size: 3.0rem;
}
.example_wrap .txt-large {
	font-size: 3.0rem;
}
.example_wrap .sup {
	display: inline-block;
	margin-top: 10px;
	text-align: left;
}
.plan .plan_list {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
.plan .plan_wrap {
	width: calc(100% / 2 - 30px);
	margin-top: 30px;
	color: #fff;
	text-align: center;
}
.plan h3 {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	width: 330px;
	margin: 0 auto 16px;
	font-family: "Noto Serif JP", serif;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
}
.plan h3:before,
.plan h3:after {
	content: "";
	height: 2px;
	flex-grow: 1;
	background: #fff;
}
.plan h3:before {
	margin-right: 20px;
}
.plan h3:after {
	margin-left: 20px;
}
.plan .plan_contents {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
}
.plan .plan_contents li {
	width: 102px;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}
.plan .plan_contents li.plus {
	width: auto;
	margin-top: 21px;
	font-size: 2.1rem;
}
.plan .plan_contents li figure {
	width: 70px;
	height: 70px;
	margin: 0 auto 6px;
	text-align: center;
}
.plan .plan_apply {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	margin: 20px auto 0;
}
.plan .plan_apply li {
	width: calc(100% / 2 - 20px);
}
.plan .plan_apply li:nth-of-type(2n) {
	margin-left: 10px;
}
.plan .plan_apply li:nth-of-type(n + 3) {
	margin-top: 10px;
}
.plan .plan_apply a {
	position: relative;
	display: block;
	padding: 10px 10px 11px;
	border-radius: 50px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	box-shadow: 1px 2px 2px rgb(0 0 0 / 25%);
	transition: .25s ease;
}
.plan .plan_apply .area01 a {
	background: #ea5099;
}
.plan .plan_apply .area02 a {
	background: #41a3ef;
}
.plan .plan_apply .area03 a {
	background: #fa8513;
}
.plan .plan_apply .area04 a {
	background: #7abd29;
}
.plan .plan_apply .area05 a {
	background: #0023B5;
}
.plan .plan_apply a:after {
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	content: '\e902';
	font-family: 'jttweb' !important;
	font-size: 1.0rem;
}
.plan .plan_apply a:hover {
	background: #fff;
}
.plan .plan_apply .area01 a:hover {
	color: #ea5099;
}
.plan .plan_apply .area02 a:hover {
	color: #41a3ef;
}
.plan .plan_apply .area03 a:hover {
	color: #fa8513;
}
.plan .plan_apply .area04 a:hover {
	color: #7abd29;
}
.plan .plan_apply .area05 a:hover {
	color: #0023B5;
}
.plan .plan_wrap .sup {
	display: inline-block;
	margin-top: 7px;
	text-align: left;
}
.plan .ticket_plan {
	margin-top: 50px;
	color: #fff;
	text-align: center;
}
.plan .ticket_plan .plan_title {
	margin-bottom: 7px;
	background-image: url(/plan/tokushu/shiki/littlemermaid/images/bg_ttl.webp);
	background-repeat: repeat-x;
	background-position: left top;
	background-size: auto 100%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: "Noto Serif JP", serif;
	font-size: 2.6rem;
	font-weight: 800;
	filter: drop-shadow(0 0 4px rgb(0 0 0 / 60%));
}
.plan .ticket_plan .plan_apply a {
	width: 215px;
	background: #CC349F;
}
.plan .ticket_plan .plan_apply a:hover {
	color: #CC349F;
	background: #fff;
}
.plan .plan_info {
	position: relative;
	margin-top: 40px;
	padding: 25px 30px 30px;

	color: #fff;
	font-size: 1.4rem;
	z-index: 0;
}
.plan .plan_info:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	content: "";
	background-image: radial-gradient(circle at top left, transparent 50%, #bea976 50%, #bea976 calc(50% + 2px), transparent calc(50% + 2px)), radial-gradient(circle at top right, transparent 50%, #bea976 50%, #bea976 calc(50% + 2px), transparent calc(50% + 2px)), radial-gradient(circle at bottom left, transparent 50%, #bea976 50%, #bea976 calc(50% + 2px), transparent calc(50% + 2px)), radial-gradient(circle at bottom right, transparent 50%, #bea976 50%, #bea976 calc(50% + 2px), transparent calc(50% + 2px)), linear-gradient(90deg, #bea976 2px, transparent 2px, transparent calc(100% - 2px), #bea976 calc(100% - 2px)), linear-gradient(180deg, #bea976 2px, transparent 2px, transparent calc(100% - 2px), #bea976 calc(100% - 2px));
	background-position: top left, top right, bottom left, bottom right, left 15px, 15px top;
	background-size: 20px 20px, 20px 20px, 20px 20px, 20px 20px, 100% calc(100% - 30px), calc(100% - 30px) 100%;
	background-repeat: no-repeat;
	z-index: -1;
}
.plan .plan_info:after {
	position: absolute;
	top: 5px;
	bottom: 5px;
	left: 5px;
	right: 5px;
	content: "";
	border: 1px solid #bea976;
	background: rgb(0 0 0 / 20%);
	z-index: -2;
}
.plan .plan_info h4 {
	margin-bottom: 14px;
	font-size: 1.6rem;
	text-align: center;
}
.plan .plan_info .tel {
	color: #fff;
}
.plan .sold_sup {
    margin-top: 25px;
    text-align: center;
	color: #fff;
}
/*------------------------------------------------------------------
他のツアー
------------------------------------------------------------------*/
.other_tour {
	margin-top: 30px;
	text-align: center;
}
.other_tour h3 {
	position: relative;
	display: inline-block;
	margin-bottom: 15px;
	padding: 0 14px;
	font-family: "Noto Serif JP", serif;
	font-size: 2.2rem;
}
.other_tour h3:before,
.other_tour h3:after {
	position: absolute;
	top: 3px;
	bottom: 0;
	content: "";
	width: 2px;
	height: auto;
	background: #602D1D;
}
.other_tour h3:before {
	left: 0;
	transform: rotateZ(-30deg);
}
.other_tour h3:after {
	right: 0;
	transform: rotateZ(30deg);
}
.other_tour a {
	display: inline-block;
	width: 442px;
	transition: .25s ease;
}
.other_tour a:hover {
	opacity: 0.8;
}

/*------------------------------------------------------------------
　　　　　　　　　　　　　　スマホ用(画面幅999px以下) 
------------------------------------------------------------------*/
@media screen and (max-width: 999px) {
#littlemermaid {
	font-size: 1.5rem;
}
#littlemermaid h2 {
	margin-bottom: 30px;
	font-size: 2.2rem;
	line-height: 1.6;
}
.inner {
	padding: 0 14px;
}
.br-tablet {
	display: block;
}
.sup {
	font-size: 1.2rem;
}
.link-new02 {
	padding-left: 30px;
}

/*------------------------------------------------------------------
背景
------------------------------------------------------------------*/
.bg03:after {
	position: absolute;
	top: 15%;
	bottom: 20%;
	content: "";
	width: 100%;
	background: url(/plan/tokushu/shiki/littlemermaid/images/bg03-l.webp), url(/plan/tokushu/shiki/littlemermaid/images/bg03-r.webp);
	background-repeat: repeat-y;
	background-position: left top, right top;
	background-size: 90px auto;
	opacity: 0.35;
	z-index: -1;
}

/*------------------------------------------------------------------
リード文
------------------------------------------------------------------*/
.lead_txt {
	font-size: 1.8rem;
}

/*------------------------------------------------------------------
公演について
------------------------------------------------------------------*/
.about {
	padding: 35px 0 45px;
}
.about .img_wrap {
	margin: -5px 0 15px;
	padding: 0 20px;
}
.about .img_wrap li {
	margin: 5px;
}
.about .img_wrap figure img {
	box-shadow: 0 0 5px #C5DAF4;
}
#littlemermaid .slick-prev {
	left: 3px;
}
#littlemermaid .slick-next {
	right: 3px;
}
.about .about_txt {
	font-size: 1.6rem;
}
.about .schedule {
	padding: 22px 17px;
}
.about .schedule dt {
	width: 420px;
	font-size: 1.8rem;
}
.calendar_wrap {
	padding: 15px 12px 12px;
}
.plan_time li {
	font-size: 1.2rem;
}
.plan_time li + li {
	margin-left: 9px;
}
.calendar_box {
	column-gap: 10px;
}
.calendar_year {
	font-size: 2rem;
}
.month_box {
	width: calc(100% / 3 - 7px);
}
.month span {
	font-size: 2.6rem;
}
.calendar th,
.calendar td {
	font-size: 0.9rem;
}
.calendar td {
	height: 33px;
}
.calendar_wrap .calendar_date {
	font-size: 1rem;
}
.calendar .in_stock:before,
.calendar .limited:before,
.calendar .soldout:before {
	top: calc(50% + 5px);
	left: 2.1vw;
	font-size: min(2.4vw, 2rem);
}
.calendar .limited:before {
	clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% 4px, calc(4px * cos(30deg)) calc(100% - 4px / 2), calc(100% - 4px * cos(30deg)) calc(100% - 4px / 2), 50% 4px);
}
.calendar .soldout:before {
	top: calc(50% + 3px);
	font-size: min(1.8vw, 1.2rem);
}
/*column4*/
.column4 .month_box {
	width: calc(100% / 4 - 8px);
}
.column4 .calendar .in_stock:before,
.column4 .calendar .limited:before,
.column4 .calendar .soldout:before {
	top: calc(50% + 6px);
	font-size: min(2.2vw, 2rem);
}
.column4 .calendar .limited:before {
	top: calc(50% + 4px);
	clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% 4px, calc(4px * cos(30deg)) calc(100% - 4px / 2), calc(100% - 4px * cos(30deg)) calc(100% - 4px / 2), 50% 4px);
}
.column4 .calendar .soldout:before {
	font-size: min(1.4vw, 1.2rem);
}

/*------------------------------------------------------------------
プラン
------------------------------------------------------------------*/
.plan {
	padding: 35px 0 45px;
}
.example_wrap {
	width: 90%;
}
.plan .plan_list {
	display: block;
}
.plan .plan_wrap {
	width: 100%;
}
.plan h3 {
	font-size: min(3vw, 2rem);
}
.plan .plan_contents li {
	font-size: 1.4rem;
}
.plan .plan_contents li.plus {
	margin-top: 24px;
	font-size: 1.7rem;
}
.plan .plan_apply {
	width: 500px;
}
.plan .ticket_plan {
	margin-top: 45px;
}
.plan .ticket_plan .plan_title {
	margin-bottom: 8px;
	font-size: 2.2rem;
}
.plan .ticket_plan .plan_apply a {
	width: calc(100% / 2 - 20px);
}
.plan .sold_sup {
	margin-top: 20px;
	text-align: left;
}
/*------------------------------------------------------------------
他のツアー
------------------------------------------------------------------*/
.other_tour h3 {
	font-size: 2rem;
}
.other_tour a {
	width: 400px;
}
}

/*------------------------------------------------------------------
　　　　　　　　　　　　　　スマホ用(画面幅767px以下) 
------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
/*------------------------------------------------------------------
公演について
------------------------------------------------------------------*/
.calendar_wrap {
	padding: 13px 9px 10px;
}
.plan_time {
	margin-bottom: 12px;
}
.plan_time li {
	font-size: 1rem;
}
.calendar_box {
	display: block;
	max-width: 340px;
	margin: 0 auto;
}
.calendar_tab {
	display: flex;
	display: -webkit-flex;
}
.calendar_tab li {
	width: 100%;
	margin-right: 2px;
	border: 1px solid #1b1b33;
	border-bottom: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 0.9rem;
	cursor: pointer;
}
.calendar_tab li:last-of-type {
	margin-right: 0;
}
.calendar_tab li.active {
	color: #fff;
	background: #333;
	pointer-events: none;
}
.calendar_tab li span {
	font-size: min(4.4vw, 1.8rem);
}
.calendar_year {
	margin-bottom: 4px;
	font-size: 1.6rem;
	line-height: inherit;
}
.month_box,
.column4 .month_box {
	display: none;
	width: 100%;
	margin-top: 0;
}
.month_box.active {
	display: block;
}
.month {
	display: none;
}
.calendar td {
	height: 30px;
}
.calendar_wrap .calendar_date {
	max-width: 340px;
	margin: 2px auto 0;
	font-size: 0.9rem;
}
.calendar .in_stock:before,
.calendar .limited:before,
.calendar .soldout:before,
.column4 .calendar .in_stock:before,
.column4 .calendar .limited:before,
.column4 .calendar .soldout:before {
	top: calc(50% + 2px);
	left: calc(50% + 3px);
	font-size: min(5.8vw, 2.3rem);
}
.calendar .limited:before,
.column4 .calendar .limited:before {
    width: min(6vw, 21px);
    height: min(5.4vw, 18px);
}
.calendar .soldout:before,
.column4 .calendar .soldout:before {
    left: 60%;
    font-size: min(3.2vw, 1.3rem);
}
}

/*------------------------------------------------------------------
　　　　　　　　　　　　　　スマホ用(画面幅599px以下) 
------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
#littlemermaid {
	font-size: 1.4rem;
}
#littlemermaid h2 {
	margin: 0 0 23px;
	font-size: min(5vw, 2rem);
	line-height: 1.5;
}
.br-tablet {
	display: none;
}
.br-599 {
	display: block;
}

/*------------------------------------------------------------------
背景
------------------------------------------------------------------*/
.bg01 {
	background-size: 110% auto;
}
.bg03:before {
	background-size: 200% auto;
}
.bg03:after {
	top: 5%;
	bottom: 6%;
	background-size: 55px auto;
}

/*------------------------------------------------------------------
リード文
------------------------------------------------------------------*/
.lead_txt {
	margin-top: 11px;
	font-size: min(3.5vw, 1.7rem);
}

/*------------------------------------------------------------------
アンカーリンク
------------------------------------------------------------------*/
.anc_plan a {
	width: 222px;
	margin: 12px auto 15px;
	padding: 11px 20px;
}

/*------------------------------------------------------------------
公演について
------------------------------------------------------------------*/
.about {
	padding: 23px 0 35px;
}
.about .img_wrap {
	margin-bottom: 12px;
	padding: 0 18px;
}
#littlemermaid .slick-prev:before,
#littlemermaid .slick-next:before {
	left: 4px;
}
#littlemermaid .slick-prev:after,
#littlemermaid .slick-next:after {
	bottom: 4px;
}
.about .about_txt {
	font-size: 1.4rem;
	text-align: left;
}
.about .video_wrap {
	margin: 20px 0 30px;
}
.about .schedule dt {
	width: 100%;
	font-size: 1.6rem;
}
.about .schedule dt:before {
	margin-right: 12px;
}
.about .schedule dt:after {
	margin-left: 12px;
}

/*------------------------------------------------------------------
プラン
------------------------------------------------------------------*/
.plan {
	padding: 23px 0 35px;
}
#littlemermaid .plan h2 .bg_ttl {
	padding: 6px 22px 8px 18px;
}
.example_wrap {
	width: 100%;
	padding: 15px;
}
.example_wrap .example_plan {
	font-size: 1.8rem;
}
.example_wrap .example_txt {
	left: -10px;
	width: 60px;
	height: 60px;
}
.example_wrap .price_wrap dt {
	width: 28vw;
	font-size: 3.4vw;
}
.example_wrap .price_wrap dd span {
	font-size: 5.5vw;
}
.plan h3 {
	width: 100%;
	font-size: min(4.5vw, 1.8rem);
}
.plan h3:before {
	margin-right: 12px;
}
.plan h3:after {
	margin-left: 12px;
}
.plan .plan_contents li {
	width: 93px;
}
.plan .plan_apply {
	width: 100%;
}
.plan .plan_apply li {
	width: calc(100% / 2 - 5px);
}
.plan .plan_apply a {
	padding: 6px 13px 7px 13px;
}
.plan .plan_apply a:after {
	right: 3px;
	font-size: 0.9rem;
}
.plan .ticket_plan {
	margin-top: 40px;
}
.plan .ticket_plan .plan_title {
	margin-bottom: 5px;
	font-size: min(5vw, 2rem);
}
.plan .ticket_plan .plan_apply a {
	width: calc(100% / 2 - 5px);
}
.plan .plan_info {
	margin-top: 40px;
	padding: 25px 15px;
}

/*------------------------------------------------------------------
他のツアー
------------------------------------------------------------------*/
.other_tour {
	margin-top: 25px;
}
.other_tour h3 {
	padding: 0 20px;
	font-size: 1.7rem;
}
.other_tour a {
	width: 85%;
}
}