@charset "UTF-8";
/* CSS Document */
//繝悶Ξ繧、繧ッ繝昴う繝ウ繝医r謖�ョ�------縺薙%縺九i
$xl: 1399px;
$lg: 1199px;
$md: 991px;
$sm: 767px;
$xs: 575px;

@mixin xl {
  @media screen and (max-width: ($xl)) {
    @content;
  }
}
@mixin lg {
  @media screen and (max-width: ($lg)) {
    @content;
  }
}
@mixin md {
  @media screen and (max-width: ($md)) {
    @content;
  }
}
@mixin sm {
  @media screen and (max-width: ($sm)) {
    @content;
  }
}
@mixin xs {
  @media screen and (max-width: ($xs)) {
    @content;
  }
}
//繝悶Ξ繧、繧ッ繝昴う繝ウ繝医r謖�ョ�------縺薙%縺セ縺ァ

//繧ォ繝ゥ繝シ險ュ螳�
$color-green: #67c0b0;
$color-orange: #f18f35;
$color-k: #ea72a7;
$color-j: #f29600;
$color-h: #d8ba00;
$color-r: #8dc21f;
$color-w: #00ab9f;
$color-v: #2ca6e0;
$color-t: #656db1;
$color-b: #b05da0;
$color-slide: #c69c6d;

//mainimage
#mainimage {
	margin-bottom: 3rem;
	text-align: center;
	@include xs {
		margin-bottom: 1.5rem;
	}
}

//inpage-link
#inpage-link {
	background-color: $color-green;
	margin-bottom: 5rem;
	.container {
		@include xs {
			padding: 0;
		}
	}
	ul {
		padding: 1.3rem 0;
		display: flex;
		justify-content: center;
		align-items: center;
		@include xs {
			padding: 1rem 0;
		}
		li {
			border-right: solid 1px #fff;
			line-height: 1;
			&:last-of-type {
				border-right: none;
			}
			a {
				font-size: 18px;
				font-size: 1.8rem;
				font-weight: 500;
				color: #fff;
				padding: 0 1.5em;
				transition: 0.3s;
				&:hover {
					color: $color-orange;
				}
				@include sm {
					font-size: 16px;
					font-size: 1.6rem;
				}
				@include xs {
					font-size: 12px;
					font-size: 1.2rem;
					padding: 0 1rem;
				}
			}
		}
	}
}

//flow
#flow {
	padding-bottom: 7rem;
	.flow-inner {
		width: 80%;
		margin: 0 auto;
		@include md {
			width: 90%;
		}
		@include xs {
			width: 95%;
		}
	}
	.flow-title {
		text-align: center;
		position: relative;
		margin-bottom: 2rem;
		img {
			width: 620px;
			margin-bottom: 2rem;
			@include md {
				width: 500px;
			}
			@include sm {
				width: 400px;
			}
			@include xs {
				width: 320px;
			}
		}
		h2 {
			position: absolute;
			top: 1rem;
			left: 0;
			right: 0;
			margin: auto;
			font-size: 40px;
			font-size: 4rem;
			color: #fff;
			@include md {
				font-size: 35px;
				font-size: 3.5rem;
			}
			@include sm {
				font-size: 28px;
				font-size: 2.8rem;
			}
			@include xs {
				top: 0.75rem;
				font-size: 20px;
				font-size: 2rem;
			}
		}
		h3 {
			font-size: 24px;
			font-size: 2.4rem;
			color: $color-green;
			@include xs {
				font-size: 17px;
				font-size: 1.7rem;
			}
			span {
				font-size: 30px;
				font-size: 3rem;
				@include xs {
					font-size: 20px;
					font-size: 2rem;
				}
			}
		}
	}
	.step {
		&>div {
			position: relative;
			margin-bottom: 7rem;
			&::after {
				position: absolute;
				content: "";
				border-top: 30px solid #dbdcdc;
				border-right: 30px solid transparent;
				border-left: 30px solid transparent;
				bottom: -5rem;
				left: 50%;
				transform: translate(-50%, 0%);
				
			}
			&:last-of-type {
				margin-bottom: 2.5rem;
				&::after {
					content: none;
				}
			}
		}
		.step-left {
			height: 100%;
			&>div {
				display: flex;
				justify-content: center;
				align-items: center;
				@include sm {
					padding: 1rem;
				}
				@include xs {
					padding: 0.6rem;
				}
			}
			.step-bg {
				background-color: $color-orange;
				color: #fff;
				height: 50%;
				img {
					width: 78px;
					@include xs {
						width: 70px;
					}
				}
			}
			.gray-bg {
				background-color: #9e9e9f;
				color: #fff;
				height: 50%;
				font-size: 19px;
				font-size: 1.9rem;
				font-weight: 600;
				@include xs {
					font-size: 17px;
					font-size: 1.7rem;
				}
			}
		}
		.step-right {
			border: solid 12px #dbdcdc;
			padding: 2.5rem;
			@include sm {
				padding: 2rem;
				border: solid 10px #dbdcdc;
			}
			@include xs {
				padding: 1.5rem;
				border: solid 8px #dbdcdc;
			}
			&>.row {
				@include lg {
					justify-content: center;
				}
			}
			.reserve-box {
				width: 70%;
				display: flex;
				align-items: center;
				border: solid 2.5px #9e9e9f;
				border-radius: 7px;
				background: linear-gradient(0deg, rgba(229,229,230,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 100%);
				margin: 0 1rem 1rem 1.5rem;
				padding: 1rem;
				@include lg {
					width: 100%;
					margin: 0 1.5rem 1rem 1.5rem;
				}
				img {
					width: 70px;
					margin-right: 1rem;
					@include xs {
						width: 50px;
					}
				}
				p {
					font-size: 19px;
					font-size: 1.9rem;
					font-weight: 600;
					color: #231815;
					margin-bottom: 0;
					line-height: 1.3;
					@include xs {
						font-size: 16px;
						font-size: 1.6rem;
					}
					span {
						display: block;
						font-size: 33px;
						font-size: 3.3rem;
						color: #e62b39;
						@include xs {
							font-size: 27px;
							font-size: 2.7rem;
						}
					}
				}
				&:nth-of-type(2) {
					p {
						span {
							font-size: 27px;
							font-size: 2.7rem;
							@include sm {
								font-size: 25px;
								font-size: 2.5rem;
							}
							@include xs {
								font-size: 21px;
								font-size: 2.1rem;
							}
						}
					}
				}
				&:hover {
					opacity: 0.7;
				}
			}
			.reserve-contact {
				display: flex;
				justify-content: center;
				align-items: center;
				border: solid 2.5px #38b6a1;
				background-color: #67c0b0;
				color: #fff;
				border-radius: 7px;
				font-size: 17px;
				font-size: 1.7rem;
				font-weight: 600;
				text-align: center;
				width: 25%;
				margin-bottom: 1rem;
				@include lg {
					width: 75%;
					padding: 0.5rem;
				}
				@include xs {
					font-size: 16px;
					font-size: 1.6rem;
				}
				&:hover {
					opacity: 0.7;
				}
			}
			.reserve-text {
				font-size: 15px;
				font-size: 1.5rem;
				font-weight: 600;
				color: #e50012;
				margin-bottom: 0;
				line-height: 1.4;
				@include xs {
					font-size: 13px;
					font-size: 1.3rem;
				}
			}
		}
		ol {
			li {
				font-size: 18px;
				font-size: 1.8rem;
				color: #231815;
				text-indent: -1em;
				padding-left: 1em;
				@include md {
					font-size: 17px;
					font-size: 1.7rem;
				}
				@include xs {
					font-size: 16px;
					font-size: 1.6rem;
				}
				span {
					font-weight: 600;
				}
			}
		}
		.step-bg-gray {
			background-color: rgba(230,230,230,0.3);
			padding: 1rem 1.5rem;
		}
		ul {
			display: flex;
			flex-wrap: wrap;
			margin-bottom: 0;
			li {
				font-size: 18px;
				font-size: 1.8rem;
				color: #231815;
				margin-right: 2em;
				line-height: 1.8;
				text-indent: -1.2em;
				padding-left: 1.2em;
				@include md {
					font-size: 17px;
					font-size: 1.7rem;
				}
				@include xs {
					font-size: 16px;
					font-size: 1.6rem;
					margin-right: auto;
				}
				&::before {
					content: "笳�";
					color: #f7b52c;
					margin-right: 0.2em;
				}
			}
		}
		p {
			font-size: 18px;
			font-size: 1.8rem;
			margin-bottom: 0;
			@include md {
				font-size: 17px;
				font-size: 1.7rem;
			}
			@include xs {
				font-size: 16px;
				font-size: 1.6rem;
			}
		}
		.return {
			position: relative;
			img {
				position: absolute;
				width: 170px;
				top: -5rem;
				right: 2rem;
				@include lg {
					right: 1rem;
				}
				@include md {
					width: 150px;
					top: -6rem;
					right: -1rem;
				}
				@include sm {
					width: 130px;
					top: -4rem;
					right: -5rem;
				}
				@include xs {
					display: none;
				}
			}
		}
	}
	.parking {
		position: relative;
		background-color: $color-orange;
		text-align: center;
		border-radius: 5px;
		img {
			position: absolute;
			width: 140px;
			top: -2.5rem;
			left: 13.5rem;
			@include lg {
				left: 7rem;
			}
			@include md {
				width: 120px;
				left: 4rem;
			}
			@include sm {
				width: 110px;
				left: 3rem;
			}
			@include xs {
				width: 90px;
				left: -1.5rem;
				top: -5rem;
			}
		}
		p {
			display: inline-block;
			color: #fff;
			font-size: 25px;
			font-size: 2.5rem;
			font-weight: 600;
			text-align: left;
			margin-left: 10rem;
			margin-bottom: 0;
			line-height: 1.4;
			padding: 1rem 0;
			@include md {
				font-size: 22px;
				font-size: 2.2rem;
				margin-left: 12rem;
			}
			@include sm {
				font-size: 20px;
				font-size: 2rem;
				margin-left: 16rem;
			}
			@include xs {
				font-size: 16px;
				font-size: 1.6rem;
				margin-left: 6rem;
			}
		}
	}
}

//price
#price {
	background-color: #d1ece7;
	padding: 7rem 0;
	h2 {
		text-align: center;
		font-size: 40px;
		font-size: 4rem;
		color: #595757;
		margin-bottom: 2rem;
		@include xs {
			font-size: 28px;
			font-size: 2.8rem;
		}
		span {
			display: block;
			font-size: 16px;
			margin-top: 2rem;
			@include xs {
				margin-top: 1rem;
			}
		}
	}
	dl {
		width: 75%;
		margin: 0 auto 4rem;
		@include md {
			width: 90%;
		}
		@include sm {
			width: 100%;
		}
		dt {
			background-color: #036eb7;
			color: #faed00;
			font-size: 20px;
			font-size: 2rem;
			font-weight: 600;
			text-align: center;
			border-top-left-radius: 5px;
			border-top-right-radius: 5px;
			margin-bottom: 5px;
			padding: 1rem 0;
			@include xs {
				font-size: 17px;
				font-size: 1.7rem;
			}
		}
		dd {
			background-color: #fff;
			border-bottom-left-radius: 5px;
			border-bottom-right-radius: 5px;
			margin: 0 auto;
			ul {
				padding: 1.5rem 4rem;
				margin: 0;
				@include lg {
					padding: 1.5rem 2rem;
				}
				@include sm {
					padding: 1.5rem;
				}
				li {
					font-size: 17px;
					font-size: 1.7rem;
					font-weight: 500;
					color: #595757;
					text-indent: -1em;
					padding-left: 1em;
					@include sm {
						font-size: 16px;
						font-size: 1.6rem;
					}
					&::before {
						content: "笳�";
						color: $color-green;
					}
				}
			}
		}
	}
	.kino {
		align-items: center;
		justify-content: center;
		margin-bottom: 6rem;
		img {
			width: 70px;
			@include xs {
				width: 40px;
			}
		}
		h4 {
			font-size: 30px;
			font-size: 3rem;
			color: #2ca6e0;
			margin:0 1rem 0 3rem;
			@include xs {
				font-size: 20px;
				font-size: 2rem;
				margin: 0 0 0 1rem;
			}
			span {
				font-size: 40px;
				font-size: 4rem;
				color: #036eb7;
				@include xs {
					font-size: 28px;
					font-size: 2.8rem;
				}
			}
		}
		a {
			display: block;
			background-color: #036eb7;
			color: #fff;
			border: solid 2.5px #2ca6e0;
			border-radius: 7px;
			font-size: 17px;
			font-size: 1.7rem;
			font-weight: 600;
			text-align: center;
			padding: 0.5rem 2.5em;
			transition: 0.3s;
			@include md {
				padding: 1rem 2.5rem;
				margin-top: 1rem;
			}
			&:hover {
				background-color: #2ca6e0;
			}
			i {
				margin-left: 3px;
			}
		}
	}
	.price-list {
		width: 83%;
		margin: 0 auto;
		@include lg {
			width: 90%;
		}
		@include md {
			width: 100%;
		}
		@include sm {
			width: 90%;
		}
		@include xs {
			width: 100%;
		}
	}
	.price-box {
		margin-bottom: 3rem;
		.box-title {
			position: relative;
			padding: 1rem 2rem;
			h3 {
				color: #fff;
				font-size: 47px;
				font-size: 4.7rem;
				letter-spacing: -1px;
				@include md {
					font-size: 43px;
					font-size: 4.3rem;
				}
				span {
					font-size: 31px;
					font-size: 3.1rem;
					@include md {
						font-size: 28px;
						font-size: 2.8rem;
					}
				}
			}
			div {
				position: absolute;
				text-align: center;
				line-height: 1.25;
				top: 2rem;
				right: 2rem;
				background-color: #fff;
				padding: 5px 1.5em;
				@include md {
					font-size: 15px;
					font-size: 1.5rem;
					padding: 5px 1em; 
					top: 1.5rem;
					right: 1.5rem;
				}
			}
			p {
				color: #fff;
				font-weight: 500;
				margin-bottom: 0;
				@include md {
					line-height: 1;
				}
			}
		}
		.box-inner {
			background-color: #fff;
			padding: 2rem;
			img {
				margin-bottom: 1rem;
			}
			ul {
				li {
					color: #595757;
					&::before {
						content: "繝サ";
					}
				}
				.list-none {
					&::before {
						content: "";
					}
				}
			}
			table {
				width: 100%;
				color: #595757;
				tr {
					border-bottom: dashed 1px rgba(136,136,136,0.7);
						.ikou {
							&::before {
								content: "莉・ 髯�";
								background-color: #595757;
								color: #fff;
								padding: 2px 6px;
								border-radius: 5px;
								margin-right: 0.5rem;
								@include md {
									font-size: 15px;
									font-size: 1.5rem;
								}
							}
						}
						.encho {
							&::before {
								content: "蟒カ 髟キ";
								background-color: #595757;
								color: #fff;
								padding: 2px 6px;
								border-radius: 5px;
								margin-right: 0.5rem;
								@include md {
									font-size: 15px;
									font-size: 1.5rem;
								}
							}
						}
				}
				th {
					font-weight: 500;
					padding-left: 2rem;
					line-height: 1;
					width: 50%;
					padding: 0.75rem 0 0.75rem 2rem;
					@include md {
						font-size: 15px;
						font-size: 1.5rem;
						padding: 0.75rem 0 0.75rem 1.5rem;
						width: 52%;
					}
					@include sm {
						padding: 0.75rem 0 0.75rem 2rem;
						width: 50%;
					}
					@include xs {
						padding: 0.75rem 0 0.75rem 1rem;
						width: 53%;
					}
					span {
						font-size: 21px;
						font-size: 2.1rem;
						@include md {
							font-size: 20px;
							font-size: 2rem;
						}
					}
				}
				td {
					padding-left: 2rem;
					span {
						font-size: 21px;
						font-size: 2.1rem;
						margin-right: 0.5rem;
					}
				}
			}
		}
	}
	.class-k {
		.box-title {
			background-color: $color-k;
			div {
				color: $color-k;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(234,114,167,0.5);
				}
			}
		}
	}
	.class-j {
		.box-title {
			background-color: $color-j;
			div {
				color: $color-j;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(242,150,0,0.5);
				}
			}
		}
	}
	.class-h {
		.box-title {
			background-color: $color-h;
			div {
				color: $color-h;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(216,186,0,0.5);
				}
			}
		}
	}
	.class-r {
		.box-title {
			background-color: $color-r;
			div {
				color: $color-r;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(141,194,31,0.5);
				}
			}
		}
	}
	.class-w {
		.box-title {
			background-color: $color-w;
			div {
				color: $color-w;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(0,171,159,0.5);
				}
			}
		}
	}
	.class-v {
		.box-title {
			background-color: $color-v;
			div {
				color: $color-v;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(44,166,224,0.5);
				}
			}
		}
	}
	.class-t {
		.box-title {
			background-color: $color-t;
			div {
				color: $color-t;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(101,109,177,0.5);
				}
			}
		}
	}
	.class-b {
		.box-title {
			background-color: $color-b;
			div {
				color: $color-b;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(176,93,160,0.5);
				}
			}
		}
	}
	.class-kslide,.class-jslide {
		.box-title {
			background-color: $color-slide;
			div {
				color: $color-slide;
			}
		}
		.box-inner {
			table {
				th {
					background-color: rgba(198,156,109,0.5);
				}
			}
		}
	}
	.notes {
		dt {
			background-color: #c1272d;
		}
		dd {
			ul {
				li {
					font-size: 16px;
					font-size: 1.6rem;
					&:first-of-type {
						color: #c1272d;
					}
					&::before {
						content: "窶サ";
						color: #595757;
					}
				}
			}
		}
	}
	.safe-pack {
		background-color: #2ca6e0;
		width: 75%;
		margin: 0 auto;
		border-radius: 5px;
		padding: 2rem 4rem;
		@include md {
			width: 90%;
		}
		@include sm {
			width: 100%;
		}
		@include xs {
			padding: 2rem;
		}
		.row {
			align-items: center;
			&>div {
				&:last-of-type {
					@include lg {
						margin-top: 1rem;
					}
				}
			}
		}
		h4 {
			text-align: center;
			font-size: 25px;
			font-size: 2.5rem;
			font-weight: 600;
			color: #faed00;
			padding-bottom: 1.5rem;
			margin-bottom: 1rem;
			border-bottom: solid 1px #fff;
			@include xs {
				font-size: 23px;
				font-size: 2.3rem;
				padding-bottom: 1rem;
			}
			span {
				font-size: 16px;
				font-size: 1.6rem;
				font-weight: 400;
			}
		}
		h5 {
			display: inline-block;
			padding: 0 1em;
			font-size: 20px;
			font-size: 2rem;
			font-weight: 600;
			color: #2ca6e0;
			background-color: #fff;
			border-radius: 4.5px;
			margin-bottom: 1.5rem;
			&+p {
				font-weight: 500;
			}
		}
		p {
			color: #fff;
			margin-bottom: 0;
			.size-40 {
				font-size: 38px;
				font-size: 3.8rem;
				margin-right: 3px;
				@include xs {
					font-size: 33px;
					font-size: 3.3rem;
				}
			}
			.size-20 {
				font-size: 19px;
				font-size: 1.9rem;
				@include xs {
					font-size: 17px;
					font-size: 1.7rem;
				}
			}
		}
	}
}

//application
#application {
	background-color: #f18f35;
	h2 {
		text-align: center;
		font-size: 38px;
		font-size: 3.8rem;
		font-weight: 600;
		color: #fff;
		letter-spacing: 0.1em;
		padding: 4rem 0;
		margin-bottom: 0;
		@include md {
			font-size: 35px;
			font-size: 3.5rem;
			padding: 3rem 0;
		}
		@include sm {
			font-size: 32px;
			font-size: 3.2rem;
			padding: 2rem 0;
		}
		@include xs {
			font-size: 29px;
			font-size: 2.9rem;
			padding: 2rem 0;
		}
	}
	.bg-white {
		padding-top: 2rem;
		p {
			font-size: 19px;
			font-size: 1.9rem;
			@include md {
				font-size: 16px;
				font-size: 1.6rem;
			}
		}
		.row {
			&:first-of-type {
				border-bottom: solid 1px #000;
			}
			&:last-of-type {
				justify-content: space-between;
				align-items: center;
				@include sm {
					justify-content: center;
				}
			}
			&>div {
				&:first-of-type {
					a {
						background-color: #d12c25;
					}
				}
				&:last-of-type {
					a {
						background-color: #39b54a;
					}
				}
			}
			a {
				display: block;
				position: relative;
				text-align: center;
				color: #fff;
				font-size: 20px;
				font-size: 2rem;
				font-weight: 600;
				padding: 2.5rem 2rem 2rem;
				border-radius: 1rem;
				transition: 0.3s;
				margin-bottom: 2rem;
				@include md {
					width: 70%;
					margin: 0 auto 2rem;
				}
				@include sm {
					width: 75%;
					font-size: 18px;
					font-size: 1.8rem;
				}
				@include xs {
					width: 100%;
					font-size: 16px;
					font-size: 1.6rem;
				}
				span {
					font-size: 32px;
					font-size: 3.2rem;
					@include sm {
						font-size: 30px;
						font-size: 3rem;
					}
					@include xs {
						font-size: 25px;
						font-size: 2.5rem;
					}
				}
				&::after {
					content: "笆カ";
					position: absolute;
					top: 35%;
					right: 3%;
				}
				&:hover {
					opacity: 0.7;
				}
			}
			.inquiries {
				color: #2e3192;
				font-size: 56px;
				font-size: 5.6rem;
				font-weight: 600;
				margin: 2rem auto;
				@include sm {
					font-size: 46px;
					font-size: 4.6rem;
					margin-bottom: 0;
				}
				span {
					color: #000000;
					font-size: 19px;
					font-size: 1.9rem;
					margin-right: 1.5rem;
					vertical-align: middle;
					font-weight: 400;
					@include md {
						font-size: 16px;
						font-size: 1.6rem;
					}
					@include xs {
						display: block;
						text-align: center;
					}
				}
				img {
					margin-bottom: 1rem;
					@include sm {
						width: 45px;
					}
				}
			}
			.reception {
				border: 1px solid #2e3192;
				margin-top: 1.5rem;
				padding: 1rem 2.5rem;
				text-align: center;
				line-height: 1.6;
				font-size: 14px;
				font-size: 1.4rem;
				@include sm {
					margin: 1rem auto 2rem;
				}
				@include xs {
					line-height: 1.3;
				}
			}
		}
	}
}