@charset "UTF-8";

/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {

	/* mainvisual 
  ---------------------------------------------------------------------- */
	#mainvisual {
		height: 450px;
		min-height: auto;
		box-sizing: content-box;
		position: relative;
	}

	#mainvisual picture {
		width: 100%;
		height: 450px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	#mainvisual picture img {
		width: 100%;
		height: 450px;
		object-fit: cover;
		-o-object-fit: cover;
	}

	#mainvisual .catch {
		width: 100%;
		max-width: 1100px;
		height: 450px;
		margin: 0 auto;
		padding-top: 10px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		transform: none;
	}


	/* subPage
  ---------------------------------------------------------------------- */
	.subPage {
		padding:100px 0  135px;
		background-color: #F8F4F1;
	}

	.subPage__box {
		background-color: #fff;
		padding: 60px 60px 114px;
	}

	.subPage__ttl {
		font-size: 2.2rem;
		margin-bottom: 45px;
		letter-spacing: 0;
		text-align: center;
	}

	/* rsv
  ---------------------------------------------------------------------- */

	.rsv {
		width: 100%;
		color: #fff;
		background-color: #000;
		position: absolute;
		bottom: 0;
		z-index: 2000;
		padding: 0 0;
	}

	.rsv__inr  {
		display: flex;
		align-items: center;
		justify-content: center;
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 10px;
		height: 56px;
	}

	.rsv__ttl {
		letter-spacing: -0.01em;
		flex-shrink: 0;
		padding-right: 1%;
		margin-right: .8%;
		border-right: 1px solid #fff;
	}

	.rsv .search-widget-search-container-bf1818 {
		display: flex;
		background-color: transparent;
		padding: 0 0;
	}

	.rsv .input-container-input-container-da40af .input-container-slot-239963 {
		padding-left: 8px;
	}

	.rsv .search-widget-calendar-9fdfc9 {
		width: 215px !important;
		padding: 0 7px;
		background: url(../images/icon_calendar.svg) no-repeat 98% 50%,#fff!important;
	}

	.rsv .input-container-input-container-da40af {
		display: flex;
		align-items: center;
		margin-bottom: 0;
		height: 100%;
	}

	.rsv .search-widget-day-use-wrapper-fc1ff9 {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: row-reverse;
		padding-right: 6px;
	}

	.rsv .input-container-input-container-da40af .input-container-title-db81ec {
		color: #fff;
		margin-bottom: 0;
	}

	.rsv .search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf {
		display: flex;
		align-items: center;
	}

	.rsv .dropdown-selector-container-ef1ce2 .dropdown-selector-input-6d2b0e {
        width: 110px !important;
        min-width: 130px;
        padding: 0 7px;
		height: 32px;
	}

	.rsv .search-widget-search-container-bf1818 .search-widget-undated-block-f135c8 {
		line-height: 1.5;
	}

	.rsv .search-widget-input-34bba0.search-widget-select-75fb48 {
		width: 100px;
	}

	.rsv .search-widget-input-34bba0,
	.rsv .input-container-input-container-da40af .input-container-title-db81ec ,
	.rsv .search-widget-two-picker-wrapper-4ca735 {
		font-size: 1.5rem !important;
		letter-spacing: 0;
		font-feature-settings: "palt";
	}

	.rsv .search-widget-search-container-bf1818 .search-widget-button-wrapper-d2b715 {
		display: flex;
		align-items: center;
		order: 3;
	}

	.rsv .tooltip-p-tooltip-05ea2a {
		line-height: 1;
	}

	.rsv .search-widget-input-34bba0,
	.rsv .search-widget-two-picker-wrapper-4ca735 {
		height: 32px;
	}

	.rsv .button-btn-f51c1a {
		margin: 0;
		width: 80px;
		height: 32px;
		background: url(../images/icon_arrow.svg) no-repeat center right 9px !important;
        background-color: #00B374 !important;
        padding: 0px 20px 0 11px;
        border-radius: 4px;
        font-size: 1.5rem;
        line-height: 32px;
        text-align: left;
	}

	.rsv .switch-switch-e8f4ca {
		background-color: #FFFFFF;
		width: 52px;
		height: 27px;
		margin: 0;
	}

	.rsv .switch-switch-e8f4ca:after {
		background-color: #CBCBCB;
	}

	.rsv .switch-switch-e8f4ca {
		flex-direction: row-reverse;
		justify-content: center;
		gap: 4px;
	}

	.rsv .switch-checkbox-496f6c:checked+.switch-switch-e8f4ca{
		background: #FFFFFF;
	}

	.rsv .search-widget-undated-block-f135c8 label {
		display: flex;
		align-items: center;
		color: #fff;
		font-size: 1.5rem !important;
		gap: 9px;
		letter-spacing: 0;
		flex-direction: row-reverse;
	}

	.rsv .switch-switch-e8f4ca::before {
		border-radius: 50%;
		background: #CBCBCB;
		transition: left .2s ease;
		position: relative;
		display: block;
		content: "";
		width: 50%;
		height: 100%;
    	left: -5%;
		width: 18px;
		height: 18px;
	}

	.switch-checkbox-496f6c:checked+.switch-switch-e8f4ca:before {
		left: -52%;
	}

	.rsv .switch-switch-e8f4ca:after {
		width: 18px;
		height: 18px;
		left: 5%;
	}

	.switch-checkbox-496f6c:checked+.switch-switch-e8f4ca:after {
		left: -45%;
		background-color: #00B374;
	}

	.rsv__select {
		padding: 10px;
		height: 100%;
	}

	select.rsv__select {
		-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
		-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
		appearance: none; /* 標準のスタイルを無効にする */
	}

	.rsv__member {
		font-size: 1.3rem;
		letter-spacing: -0.01em;
		padding-left: 10px;
		line-height: 1.5;
		flex-shrink: 0;
	}

	.rsv .input-container-input-container-da40af:nth-of-type(2) .search-widget-input-34bba0.search-widget-select-75fb48 {
		width: 115px;
	}

	.rsv .input-container-input-container-da40af:first-child .search-widget-input-34bba0.search-widget-select-75fb48 {
		width: 75px;
	}

	@media (max-width: 1100px) {
		.rsv .search-widget-input-34bba0,
		.rsv .input-container-input-container-da40af .input-container-title-db81ec ,
		.rsv .search-widget-two-picker-wrapper-4ca735 {
			font-size: 1.4rem !important;
		}

		.rsv .input-container-input-container-da40af {
			margin-right: 5px;
		}

		.rsv .search-widget-undated-block-f135c8 > label {
			flex-direction: column;
			font-size: 1.2rem !important;
			text-align: center;
			line-height: 1.6;
			gap: 0;
		}

		.rsv .input-container-input-container-da40af:first-child .search-widget-input-34bba0.search-widget-select-75fb48 {
			width: 82px !important;
		}

		.rsv .input-container-input-container-da40af:last-child .search-widget-input-34bba0.search-widget-select-75fb48 {
			width: 91.5px !important;
		}

		.rsv .search-widget-search-container-bf1818 .search-widget-undated-block-f135c8 {
			display: flex;
		}

		.rsv .search-widget-calendar-9fdfc9 {
			width: 205px !important;
		}
	}

	/* pagetop
  ---------------------------------------------------------------------- */
	#page-top {
		width: 76px;
		position: fixed;
		bottom: 40px;
		right: 35px;
		z-index: 10;
		cursor: pointer;
		display: none;
	}

	#page-top.stop {
		position: absolute;
		top: 30px;
		bottom: initial;
	}

	#page-top:hover {
		opacity: 0.8;
	}


	/* title
---------------------------------------------------------------------- */
	.ctitle {
		font-size: 3.4rem;
		text-align: center;
		letter-spacing: 0.08em;
		font-weight: 600;
		line-height: 1.3;
		line-height: 1.7;
	}

	.ctitleEng {
		font-size: 1.4rem;
		display: block;
		color: var(--primary-color);
		font-family: "Marcellus", serif;
		font-weight: 400;
		letter-spacing: 0.2em;
	}


	/* btn
---------------------------------------------------------------------- */
	.cbtn {
		color: #fff;
		background: url(../images/icon_arrow.svg) no-repeat center right 9%;
		background-size: 10px;
		background-color: var(--primary-color);
		min-width: 263px;
		height: 59px;
		font-weight: 500;
		padding:0 40px;
		font-size: 1.4rem;
		letter-spacing: 0.14em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		cursor: pointer;
	}

	.cbtn:hover {
		background-position: center right 6%;
	}

	.cbtnRound {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 1.4rem;
		font-weight: bold;
		letter-spacing: 0.08em;
		background: var(--primary-color);
		min-width: 100px;
		padding: 2px 10px;
		border-radius: 12px;
	}

	.cbtnBoderArrow {
		display: inline-block;
		background: url(../images/icon_arrow_green.svg) no-repeat center right 6px;
		background-size: 10px;
		color: var(--primary-color);
		border-bottom: 1px solid var(--primary-color);
		padding: 0 34px 0 0;
		line-height: 2;
	}

	.cbtnRoundArrow {
		width: 100%;
		max-width: 640px;
		height: 62px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		background-color: #8A7F6C;
		border-radius: 4px;
		letter-spacing: 0.08em;
		gap: 25px;
        padding-left: 10px;
	}

	.cbtnRoundArrow::after {
		content: "";
		width: 26px;
		height: 26px;
		background: url(../images/icon_arrow_circle.svg) no-repeat;
		background-size: contain;
		transition: 0.3s;
	}

	.cbtnRoundArrow:hover::after {
		margin-left: 5px;
		margin-right: -5px;
	}

	.cbtnIcon {
		width: 410px;
		height: 91px;
		padding: 10px;
		font-size: 2rem;
		color: #fff;
		letter-spacing: 0.105em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		background: url(../images/icon_arrow.svg) no-repeat center right 34px;
		background-size: 12px;
		background-color: var(--primary-color);
		transition: background-position 0.3s opacity 0.3s;
	}

	.cbtnIcon:hover {
		background-position: center right 15px;
	}

	.cbtnIcon::before {
		content: "";
		background: url(../images/icon_nonSmoking_w.svg) no-repeat;
		background-size: contain;
		width: 29px;
		height: 29px;
		position: absolute;
		top: 50%;
		left: 28px;
		transform: translateY(-50%);
	}

	.cbtnIcon.cbtnIcon--smoking {
		background-color: var(--secondary-color);
	}

	.cbtnIcon.cbtnIcon--smoking::before {
		background: url(../images/icon_smoking_w.svg) no-repeat;
		background-size: contain;
	}

	.cbtnIcon.cbtnIcon--map {
		width: 280px;
		height: 60px;
		font-size: 1.8rem;
		letter-spacing: 0.04em;
		background: url(../images/icon_arrow.svg) no-repeat center right 22px;
		background-color: var(--secondary-color);
	}

	.cbtnIcon.cbtnIcon--map:hover {
		background-position: center right 15px;
	}

	.cbtnIcon.cbtnIcon--map::before {
		background: url(../images/icon_map.svg) no-repeat;
		background-size: contain;
		width: 17px;
		height: 23px;
		left: 18px;
	}

	.cbtnIcon.cbtnIcon--pdf {
		width: 280px;
		height: 60px;
		font-size: 1.6rem;
		letter-spacing: 0.04em;
		background: url(../images/icon_arrow.svg) no-repeat center right 22px;
		background-color: var(--secondary-color);
	}

	.cbtnIcon.cbtnIcon--pdf:hover {
		background-position: center right 15px;
	}

	.cbtnIcon.cbtnIcon--pdf::before {
		background: url(../images/icon_pdf.svg) no-repeat;
		background-size: contain;
		width: 20px;
		height: 24px;
		left: 18px;
	}

	.cbtnContact {
		width: 353px;
		height: 67px;
		display: inline-block;
		padding: 6px;
		letter-spacing: 0.14em;
		background-color: #38C196;
	}

	.cbtnContact > span {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		width: 100%;
		height: 100%;
		color: #fff;
		font-weight: bold;
		background: url(../images/icon_arrow.svg) no-repeat center right 19px;
		background-size: 10px;
		background-color: #00AF79;
		transition: background-position 0.3s;
	}

	.cbtnContact > span:hover {
		background-position: center right 15px;
	}

	.cbtnContact > span::before {
		content: "";
		background: url(../images/icon_pdf.svg) no-repeat;
		background-size: contain;
		width: 20px;
		height: 24px;
		position: absolute;
		top: 50%;
		left: 17px;
		transform: translateY(-50%);
	}

	.cbtnContact.cbtnContact--contact {
		background-color: #8C6239;
	}

	.cbtnContact.cbtnContact--contact > span {
		background-color: #754C24;
	}

	.cbtnContact.cbtnContact--contact > span::before {
		background: url(../images/icon_mail.svg) no-repeat;
		background-size: contain;
		width: 23px;
		height: 17px;
		left: 20px;
	}

	.mapBtn {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.8rem;
		letter-spacing: 0;
		height: 43px;
		padding: 0 50px;
		border-top: 1px solid var(--primary-color);
		border-bottom: 1px solid var(--primary-color);
		position: relative;
		background: url(../images/icon_car.svg) no-repeat center left 7px;
		background-size: 36px 28px;
		transition: background-size 0.3s;
	}

	.mapBtn:hover {
		background-size: 40px 32px;
	}

	.mapBtn::after {
		position: absolute;
		top: 50%;
		right: 4px;
		padding-right: 5px;
		transform: translateY(-50%);
		content: "MAP";
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.4rem;
		width: 52px;
		height: 24px;
		color: #fff;
		background: url(../images/bg_mapBtn.png) no-repeat;
		background-size: contain;
	}

	.mapBtn.mapBtn--walk {
		background: url(../images/icon_walk.svg) no-repeat center left 17px;
		background-size: 17px 32px;
		transition: background-size 0.3s;
	}

	.mapBtn.mapBtn--walk:hover {
		background-size: 21px 36px;
	}
}

/* End PC */
/* ---------------------------------------------------------------------- */

/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {

	#mainvisual {
		width: 100%;
		position: relative;
		overflow: hidden;
		height: calc(500 / 750 * 100vw);
	}

	#mainvisual picture {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	#mainvisual picture img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	#mainvisual .catch {
		width: 100%;
		height: calc(500 / 750 * 100vw);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		transform: none;
	}

		/* subPage
  ---------------------------------------------------------------------- */
  	.subPage {
		padding:10vw 0  15vw;
		background-color: #F8F4F1;
	}

	.subPage__box {
		background-color: #fff;
		padding: 10vw 4vw 10vw;
	}

	.subPage__ttl {
		font-size: calc(36 / 750 * 100vw);
		letter-spacing: 0;
		text-align: center;
	}

	/* pagetop
	  ---------------------------------------------------------------------- */
	#page-top {
		width: calc(100 / 750 * 100vw);
		position: fixed;
		right: 3vw;
		bottom: 20vw;
		z-index: 100;
		display: none;
		cursor: pointer;
	}

	#page-top img {
		width: 100%;
	}

	#page-top.stop {
		position: absolute;
		top: 3vw;
		bottom: initial;
	}

	/* title
---------------------------------------------------------------------- */
	.ctitle {
		font-size: calc(44 / 750 * 100vw);
		text-align: center;
		letter-spacing: 0.08em;
		font-weight: 600;
		line-height: 1.3;
		line-height: 1.6;
	}

	.ctitleEng {
		font-size: calc(22 / 750 * 100vw);
		display: block;
		color: var(--primary-color);
		font-family: "Marcellus", serif;
		font-weight: 400;
		letter-spacing: 0.2em;
	}


	/* btn
---------------------------------------------------------------------- */
	.cbtn {
		color: #fff;
		background: url(../images/icon_arrow.svg) no-repeat center right 9%;
		background-size: calc(20 / 750 * 100vw);
		background-color: var(--primary-color);
		min-width: calc(526 / 750 * 100vw);
		height: calc(118 / 750 * 100vw);
		font-weight: 500;
		padding:0 11vw 0 5vw;
		letter-spacing: 0.14em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		cursor: pointer;
	}

	.cbtn:hover {
		background-position: center right 6%;
	}

	.cbtnRound {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: calc(28 / 750 * 100vw);
		font-weight: bold;
		letter-spacing: 0.08em;
		background: var(--primary-color);
		min-width: calc(250 / 750 * 100vw);
		height: calc(70 / 750 * 100vw);
		padding: 1vw;
		border-radius: calc(34 / 750 * 100vw);
	}

	.cbtnBoderArrow {
		display: inline-block;
		font-size: calc(28 / 750 * 100vw);
		background: url(../images/icon_arrow_green.svg) no-repeat center right .4em;
		background-size:  calc(17 / 750 * 100vw);
		color: var(--primary-color);
		border-bottom: 1px solid var(--primary-color);
		padding: 0 2.7em 0 0;
		letter-spacing: 0;
		line-height: 2;
	}

	.cbtnRoundArrow {
		width: 100%;
		height: calc(124 / 750 * 100vw);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		background-color: #8A7F6C;
		border-radius: calc(6 / 750 * 100vw);
		letter-spacing: 0.08em;
        gap: 1.6em;
        padding-left: .5em;
	}

	.cbtnRoundArrow::after {
		content: "";
		width:  calc(52 / 750 * 100vw);
		height:  calc(52 / 750 * 100vw);
		background: url(../images/icon_arrow_circle.svg) no-repeat;
		background-size: contain;
		transition: 0.3s;
	}

	.cbtnRoundArrow:hover::after {
		margin-left: 5px;
		margin-right: -5px;
	}

	.cbtnIcon {
		width: 100%;
		height: calc(120 / 750 * 100vw);
		padding: 10px;
		font-size: calc(30 / 750 * 100vw);
		color: #fff;
		letter-spacing: 0.105em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		background: url(../images/icon_arrow.svg) no-repeat center right 5vw;
		background-size: calc(18 / 750 * 100vw);
		background-color: var(--primary-color);
		transition: background-position 0.3s;
	}

	.cbtnIcon:hover {
		background-position: center right 15px;
	}

	.cbtnIcon::before {
		content: "";
		background: url(../images/icon_nonSmoking_w.svg) no-repeat;
		background-size: contain;
		width: calc(43 / 750 * 100vw);
		height: calc(43 / 750 * 100vw);
		position: absolute;
		top: 50%;
		left: 5vw;
		transform: translateY(-50%);
	}

	.cbtnIcon.cbtnIcon--smoking {
		background-color: var(--secondary-color);
	}

	.cbtnIcon.cbtnIcon--smoking::before {
		background: url(../images/icon_smoking_w.svg) no-repeat;
		background-size: contain;
	}

	.cbtnIcon.cbtnIcon--map {
		letter-spacing: 0.04em;
		background-color: var(--secondary-color);
	}

	.cbtnIcon.cbtnIcon--map::before {
		background: url(../images/icon_map.svg) no-repeat;
		background-size: contain;
	}

	.cbtnIcon.cbtnIcon--pdf {
		letter-spacing: 0.04em;
		background-color: var(--secondary-color);
	}

	.cbtnIcon.cbtnIcon--pdf::before {
		background: url(../images/icon_pdf.svg) no-repeat;
		background-size: contain;
	}

	.cbtnContact {
		width: 100%;
		height: calc(94 / 750 * 100vw);
		display: inline-block;
		padding: 6px;
		letter-spacing: 0.14em;
		background-color: #38C196;
	}

	.cbtnContact > span {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		width: 100%;
		height: 100%;
		color: #fff;
		font-weight: bold;
		background: url(../images/icon_arrow.svg) no-repeat center right 6vw;
		background-size: calc(20 / 750 * 100vw);
		background-color: #00AF79;
		transition: background-position 0.3s;
	}

	.cbtnContact > span:hover {
		background-position: center right 15px;
	}

	.cbtnContact > span::before {
		content: "";
		background: url(../images/icon_pdf.svg) no-repeat;
		background-size: contain;
		width: calc(40 / 750 * 100vw);
		height: calc(48 / 750 * 100vw);
		position: absolute;
		top: 50%;
		left: 5vw;
		transform: translateY(-50%);
	}

	.cbtnContact.cbtnContact--contact {
		background-color: #8C6239;
	}

	.cbtnContact.cbtnContact--contact > span {
		background-color: #754C24;
	}

	.cbtnContact.cbtnContact--contact > span::before {
		background: url(../images/icon_mail.svg) no-repeat;
		background-size: contain;
		width: calc(46 / 750 * 100vw);
		height: calc(34 / 750 * 100vw);
		left: 6vw;
	}

	.mapBtn {
		display: flex;
		align-items: center;
		justify-content: center;
		letter-spacing: 0;
		height: calc(100 / 750 * 100vw);
		padding: 0 50px;
		border-top: 1px solid var(--primary-color);
		border-bottom: 1px solid var(--primary-color);
		position: relative;
		background: url(../images/icon_car.svg) no-repeat center left 2vw;
		background-size: calc(36 / 320 * 100vw) calc(28 / 320 * 100vw);
		transition: background-size 0.3s;
	}

	.mapBtn::after {
		position: absolute;
		top: 50%;
		right: 4px;
		transform: translateY(-50%);
		content: "MAP";
		padding-right: 1vw;
		display: flex;
		align-items: center;
		justify-content: center;
        font-size: calc(28 / 750* 100vw);
		width: calc(52 / 320 * 100vw);
		height: calc(24 / 320 * 100vw);
		color: #fff;
		background: url(../images/bg_mapBtn.png) no-repeat;
		background-size: contain;
	}

	.mapBtn.mapBtn--walk {
		background: url(../images/icon_walk.svg) no-repeat center left 17px;
		background-size: calc(17 / 320 * 100vw) calc(32 / 320 * 100vw);
		transition: background-size 0.3s;
	}

}

/* End @media (max-width:1000px) */