@charset "utf-8";

	/* 480px以上は写さない */
@media (min-width: 480px) {
	.sp-only {
		display: none!important;
	}
}

	/* 960px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 960px) {
	body {
		font-size: 16px;
	}
	h2 {
		font-size: 28px;
		padding-top: 25px;
	}
	.container {
		max-width: 715px;
	}
	.header-txt {
		font-size: 16px;
	}
	.header-web, .header-tel {
		margin-left: 40px;
		padding: 10px 20px;
	}
	.header-web a {
		font-size: 16px;
	}
	.header-tel a {
		font-size: 16px;
		letter-spacing: 5px;
	}
	.header-tel a::before {
		display: none;
	}
	.fukidashi {
		font-size: 15px;
    	top: 26px;
		right: 51%;
    	padding: 35px 10px;
		background-size: contain;
	}
	.cp {
		font-size: 25px;
		top: 150px;
	}
	.cp span {
		font-size: 35px;
		color: #22DEFC;
		background: linear-gradient(transparent 70%, #FDD1F4 20%);
	}
	.cp::after {
		font-size: 22px;
		bottom: -28px;
	}
	.cp2 {
		top: 280px;
		right: 56%;
	}
	.maru {
		font-size: 15px;
		width: 99px;
		height: 99px;
		background: rgba(34,222,252,0.50);
		line-height: 99px;
	}
	#regret ul {
		margin-top: 10px;
		margin-left: 100px;
	}
	#regret li {
		font-size: 16px;
		margin-bottom: 3px;
	}
	#regret li::before {
		height: 30px;
		width: 30px;
		line-height: 30px;
		margin-right: 10px;
	}
	.message-inner {
		font-size: 32px;
		padding: 137px 0;
		margin: 3px auto;
	}
	.sol-txt {
		font-size: 26px;
		margin-right: 0;
	}
	.sol-txt span {
	    font-size: 38px;
	}
	.sol-inner div {
		width: 50%;
	}
	.fea-content {
		padding: 90px 12px;
	}
	.fea-title {
		font-size: 26px;
		background: linear-gradient(transparent 80%, rgb(34, 222, 252, 0.5) 30%);
		line-height: 35px;
	}
	.fea-img {
		width: 50%;
	}
	.fea-txtbox {
		width: 45%;
	}
	.contact p {
		width: 80%;
		margin: 30px auto 0;
	}
	.reserve-wrap {
		justify-content: space-around;
	}
	.reserve {
		max-width: 420px;
	}
	.reserve-inner {
		padding: 12px;
	}
	.reserve-img {
		width: 40%;
	}
	.reserve-tel {
		font-size: 26px;
		letter-spacing: 8px;
	}
	.web-reserve {
		font-size: 23px;
	}
	.reason-title {
		font-size: 28px;
	}
	.reason-title::before {
		font-size: 28px;
	}
	.reason-txtbox {
		width: 50%;
		margin: 0 20px;
	}
	.reason-img {
		margin-left: 50px;
	}
	.flow-img {
		width: 40%;
		margin-right: 20px;
		margin-left: 0;
	}
	.flow-img::before {
		font-size: 18px;
		width: 40px;
		height: 40px;
		line-height: 40px;
		left: -45px;
	}
	.flow-txtbox {
		width: 70%;
	}
	.flow-title {
		font-size: 24px;
	}
	.fee-name {
		display: block;
		margin-top: 30px;
		margin-right: 0;
	}
	.map {
		margin-right: 30px;
	}
	.infomation span {
		font-size: 16px;
	}
	.table-schedule { 
		font-size: 16px;
	}
	.movie-ttl::before, .movie-ttl::after {
		top: 3%;
	}
	.movie-ttl::after {
		right: 20%;
	}
	.movie-ttl::before {
		left: 20%;
	}
	.video {
		width: 60%;
	}
}


	/* 480px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 480px) {
	.pc-only {
		display: none!important;
	}
	h2 {
		font-size: 18px;
		padding-top: 30px;
	}
	.container {
		max-width: 370px;
	}
	#sp-nav {
		position: fixed;
		bottom: 0;
		width: 100%;
		z-index: 50;
		background: rgba(255,255,255,1.0);
	}
	.sp-nav-wrapper {
		display: flex;
		justify-content: center;
	}
	.sp-nav-wrapper div {
		padding: 5px 20px;
		border-left: 1px solid #6F7F82;
	}
	.sp-nav-wrapper div:last-child {
		border-right: 1px solid #6F7F82;
	}
	.sp-nav-wrapper a {
		display: block;
	}
	.fukidashi {
		background-image: url("../img/mv_fukidashi_sp.png");
		font-size: 12px;
		top: 76px;
		right: 60%;
		padding: 11px 18px 23px;
	}
	.cp {
		font-size: 15px;
		top: 190px;
		right: 54%;
	}
	.cp span {
	    font-size: 18px;
	}
	.cp::after {
		font-size: 13px;
		bottom: -22px;
	}
	.maru {
		font-size: 15px;
		width: 99px;
		height: 99px;
		line-height: 99px;
		background: rgba(34,222,252,0.80);
	}
	.cp2 {
		top: 477px;
		right: 6%;
	}
	#regret {
		background-image: url("../img/regret_sp.png");
	}
	#regret ul {
		margin-left: 0;
	}
	.message-inner {
		font-size: 20px;
		padding: 45px 0;
	}
	.sol-txt {
		font-size: 16px;
	}
	.sol-txt span {
		font-size: 20px;
	}
	#feature {
		padding-bottom: 20px;
	}
	.fea-content {
		padding: 95px 0 30px 0;
		flex-direction: column-reverse;
	}
	.fea-txtbox {
		width: 95%;
		margin-top: 30px;
	}
	.fea-img {
		width: 80%;
	}
	.contact {
		background-image: url("../img/contact_bg_sp.png");
	}
	.contact p {
		margin-top: 25px;
	}
	.reserve-wrap {
		flex-direction: column-reverse;
	}
	.reserve-img {
		width: 90%;
	}
	.reserve {
    max-width: 300px;
    padding: 8px;
    margin: 25px auto;
	}
	.reserve-tel {
		font-size: 20px;
		letter-spacing: 3px;
	}
	.reserve-day, .reserve-time {
		margin-top: 5px;
		display: inline-block;
	}
	.web-reserve {
		font-size: 16px;
		padding: 6px 11px;
	}
	.reason-content {
		flex-direction: column;
	}
	.reason-content::before {
		width: 85%;
	}
	.reason-txtbox {
		width: 85%;
		margin: 0 50px;
	}
	.reason-title {
		font-size: 20px;
		margin: 10px 0;
	}
	.flow-content {
		flex-direction: column;
		margin-bottom: 0;
	}
	.flow-img {
		width: 100%;
		margin: 20px 0;
	}
	.flow-img::before {
		top: 5px;
		left: 5px;
	}
	.flow-txtbox {
		width: 100%;
		padding: 20px;
	}
	.flow-title {
		font-size: 20px;
	}
	.fee-name {
		font-size: 18px;
	}
	.price {
		font-size: 35px;
	}
	.price::after {
		font-size: 20px;
	}
	.footer-inner {
		flex-direction: column;
	}
	.map {
		margin: 0 auto;
	}
	.movie-ttl::before, .movie-ttl::after {
		height: 70px;
		top: 30%;
	}
	.movie-ttl::before {
		left: 12%;
	}
	.movie-ttl::after {
		right: 12%;
	}
	.video {
		width: 90%;
	}
}