@charset "utf-8";

/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	/* layout */
	html{
		width: 1280px;
	}
	body {
		width: 1280px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 480px) {
	.sp_none{
		display: none!important;
	}
	html #wpadminbar {
		display: none;
	}
	/* スマホ用メニュー */
	.sp_header {
		display: flex;
		width: 100%;
		height: 50px;
		position: fixed;
		top: 0;
		z-index: 300;
		background: #fff;
		box-shadow: 0 0 4px rgb(0 0 0 / 50%);
	}
	/* .sp_header_contact {
		position: fixed;
		right: 50px;
		top: 0;
	}
	.sp_header_contact a {
		position: relative;
		font-size: 1rem;
		font-weight: 600;
		letter-spacing: -.1em;
		display: block;
		width: 55px;
		height: 50px;
		color: #46382E;
		background: #F5F5F5;
		text-align: center;
		padding-top: 29px;
	}
	.sp_header_contact a::before {
		position: absolute;
		content: "";
		width: 21px;
		height: 14px;
		left: 50%;
		top: 10px;
		transform: translateX(-50%);
		background: url(../images/icon_mail.svg) no-repeat center center / contain;
	} */
	/* スマホ用メニュー */
	.index .sp_hamburger {
		overflow: hidden;
		height: auto;
		padding: 0;
	}
	.drawer .contents {
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
	}
	.drawer #navTgl:checked~.contents {
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.index #navTgl {
		display: none;
		overflow: hidden;
	}
	.drawer label.pc_none {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
	}
	.drawer .open{
		z-index: 101;
		width: 50px;
		height: 50px;
		color: #fff;
		background-color: #46382E;
		font-size: 1.6em;
		line-height: 33px;
		text-align: center;
		-webkit-transition: background-color 0.6s,-webkit-transform 0.6s;
		transition: background-color 0.6s,transform 0.6s;
	}
	.index #navTgl:checked+.open {
		color: #46382E;
		background-color: #fff;
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.drawer .open span{
		position: relative;
		display: block;
		font-size: 1rem;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0;
	}
	.drawer .close {
		pointer-events: none;
		z-index: 1;
		width: 100%;
		height: 100%;
		transition: background-color 0.6s;
	}
	.drawer #navTgl:checked~.close {
		pointer-events: auto;
		background-color: rgba(0,0,0,.3);
		z-index: 2;
	}
	.fixed_btn{
		position: fixed;
		display: block;
		width: 55px;
		height: 50px;
		color: #46382E;
		font-size: 1.0rem;
		font-weight: 600;
		text-align: center;
		line-height: 1;
		letter-spacing: -.03em;
		top: 0;
		right: 50px;
		z-index: 30;
		padding: 35px 0 5px;
		box-sizing: border-box;
	}
	.menu{
		z-index: 3;
		position: fixed;
		overflow: auto;
		top: 0;
		right: 0;
		width: 250px;
		height: 100%;
		padding: 50px 10px 10px;
		background-color: #fff;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
		box-sizing: border-box;
		z-index: 200;
	}
	.index #navTgl:checked~.menu {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.dropdown {
		padding: 0;
	}
	.dropdown a {
		position: relative;
		color: #3C3C3C;
	}
	.dropdown_link {
		position: relative;
		border-bottom: 1px solid #46382E;
		font-size: 0.9em;
		line-height: 1.4;
	}
	.menu .dropdown_link a {
		display: block;
		padding: 1em 2em .9em;
		text-decoration: none;
		transition: background-color 0.6s;
	}
}
@media screen and (max-width: 360px) {
	.sp_header_logo a {
		width: 200px;
		height: 33px;
	}
}
/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	html{
		max-width: 480px;
		width: 100%;
		overflow-x: hidden;
		-webkit-text-size-adjust: 100%!important;
	}
	body {
		max-width: 480px;
		min-width: 320px;
		width: 100%;
		overflow-x: hidden!important;
		line-height: 1.7;
		letter-spacing: .05em;
		-webkit-text-size-adjust: 100%!important;
		top: 0!important;
	}
	/* layout
	------------------------------ */
	.wrapper{
		max-width: 480px;
		width: 100%;
		padding: 0 5%;
	}
	.wrapper_l {
		max-width: 480px;
		width: 100%;
	}
	.layout_flex{
		display: block;
	}
	/* Common
	------------------------------ */
	.caution{
		font-size: 1.4rem;
		line-height: 1.7;
	}
	.tel_title {
		margin-top: 8px;
	}
	a[href*="tel:"] {
		pointer-events: auto;
		cursor: pointer;
	}
	h2 {
		font-size: 2.2rem;
	}
	.btn_link::after {
		right: -42px;
		top: 63%;
		width: 35px;
		height: 35px;
	}

	/* Header
	------------------------------ */
	header{
		position: relative;
		display: block;
		width: 100%;
		height: auto;
	}
	header .flex,#gnav,
	header.is-show{
		display: none;
	}
	.header_logo {
		margin: 6px 0 0 10px;
	}
	.header_logo_mark {
		width: 65px;
		height: 38px;
	}

    /* concept
	------------------------------ */
	/* .concept_slide {
		height: 300px;
		margin-top: 50px;
	} */
	.concept_slides_wrapper {
		min-height: 300px;
		margin-top: 50px;
	}
	#concept_slides .concept_slide {
		height: 300px;
		min-height: auto;
	}
	.concept_content {
		padding: 0 5%;
		margin-top: 50px;
	}
	#concept .section_title_en {
		width: 120px;
		height: 39px;
	}
	.concept_title {
		font-size: 2rem;
		margin-top: 10px;
	}
	.concept_foot_pics {
		display: flex;
		margin-top: 30px;
	}
	.concept_foot_pic_left {
		width: 50%;
		margin-right: 0;
	}
	.concept_foot_pic_left img {
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
	.concept_foot_pic_right {
		width: 50%;
	}
	.concept_foot_pic_right img {
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
	.concept_btn {
		margin-top: 30px;
	}
	.concept_pic {
		position: relative;
		width: 100%;
		margin-top: 30px;
	}
	.concept_pic::before {
		content: "";
		display: block;
		padding-top: 60%;
	}
	.concept_pic img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* recommended
	------------------------------ */
	.recommended_inner {
		padding: 50px 0 50px;
		margin-top: 50px;
	}
	#recommended .section_title_en {
		width: 194px;
		height: 34px;
	}
	.recommended_flex {
		margin: 30px auto 0;
	}
	.recommended_item_title {
		font-size: 2rem;
		line-height: 1.2;
		margin-top: 10px;
	}
	.recommended_item_text {
		margin-top: 5px;
	}
	.recommended_item {
		width: 100%;
	}
	.recommended_item:nth-of-type(n + 2) {
		margin-top: 40px;
	}

	/* facility
	------------------------------ */
	.facility_inner {
		background: linear-gradient( to bottom, #fff 0 100px, transparent 100px 80%), 
					linear-gradient( to right, #F8F7F0 0 100%, #F8F7F0 100% 100%);
		margin-top: 50px;
	}
	.facility_pics {
		display: flex;
	}
	.facility_pic_left {
		width: 50%;
		margin-right: 0;
	}
	.facility_pic_left img {
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
	.facility_pic_right {
		width: 50%;
	}
	.facility_pic_right img {
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
	.facility_content {
		margin-top: 30px;
	}
	#facility .section_title_en {
		width: 176px;
		height: 42px;
	}
	.facility_title {
		font-size: 2rem;
		margin-top: 10px;
	}
	.facility_slider {
		margin-top: 30px;
	}
	.facility_slider .slick-slide {
		max-width: 270px;
	}

	/* information
	------------------------------ */
	.information_inner {
		background: #F8F7F0;
		padding: 50px 0 50px;
	}
	#information .section_title_en {
		width: 294px;
		height: 44px;
	}
	.information_table dt {
		width: 100%;
		border-bottom: none;
		padding: 10px 5px 10px;
		margin-right: 0;
	}
	.information_table dd {
		width: 100%;
		padding: 0 5px 10px;
	}
	.information_table dd:first-of-type {
		border-top: none;
	}
	.information_table .information_cancel,
	.information_table .information_fixtures,
	.information_table .information_attention {
		padding: 0 5px 10px;
	}
	.information_table .information_amenity {
		line-height: 1.7;
		padding: 0 5px 10px;
	}
	.information_fixtures_cooking {
		margin-top: 5px;
	}
	.information_pic {
		width: 100%;
		margin-top: 10px;
		margin-left: 5px;
	}

	/* option
	------------------------------ */
	#option_title.section_title_en {
		width: 94px;
		height: 39px;
		margin-top: 50px;
	}
	.option_head .camping_subtitle {
		font-size: 2.2rem;
	}

	/* camping
	------------------------------ */
	.camping_inner {
		margin-top: 50px;
	}
	.camping_content {
		width: 100%;
		padding: 0 5%;
	}
	#camping_title.section_title_en {
		width: 241px;
		height: 45px;
	}
	.camping_subtitle {
		font-size: 2rem;
		line-height: 1.2;
		margin-top: 10px;
	}
	.camping_text {
		line-height: 1.7;
		margin-top: 10px;
	}
	.camping_pic {
		width: 100%;
		margin-top: 20px;
	}
	.camping_slider {
		margin-top: 30px;
	}
	.camping_slider .slick-slide {
		max-width: 270px;
	}

	/* catering
	------------------------------ */
	.catering_inner {
		margin-top: 50px;
	}
	.catering_content {
		width: 100%;
		padding: 0 5%;
	}
	#catering_title.section_title_en {
		width: 132px;
		height: 44px;
	}
	.catering_subtitle {
		font-size: 2rem;
		line-height: 1.2;
		margin-top: 10px;
	}
	.catering_text {
		line-height: 1.7;
		margin-top: 10px;
	}
	.catering_pic {
		width: 49%;
		margin-top: 20px;
	}
	.catering_pic:first-of-type {
		margin-right: 2%;
	}
	.catering_slider {
		margin-top: 30px;
	}
	.catering_slider .slick-slide {
		max-width: 270px;
	}

	/* access
	------------------------------ */
	.access_inner {
		background:  #E5ECED;
		padding: 50px 0;
		margin-top: 50px;
	}
	.access_flex {
		margin-top: 0;
	}
	.access_content {
		width: 100%;
		padding: 0 5%;
		margin-top: 0;
		margin-left: 0;
	}
	#access .section_title_en {
		width: 97px;
		height: 36px;
	}
	.access_text {
		margin-top: 10px;
	}
	.access_btn {
		margin-top: 20px;
	}
	.access_map {
		margin-top: 40px;
	}
	.access_map iframe {
		width: 100%;
		height: 300px;
	}

	/* plan
	------------------------------ */
	.plan_inner {
		margin-top: 50px;
	}
	#plan .section_title_en {
		width: 78px;
		height: 35px;
	}
	.plan_head_title {
		padding: 0 5%;
		margin: 0;
	}
	.plan_head_content {
		padding: 0 5%;
		margin-top: 30px;
	}
	.plan_head_table {
		width: 550px;
	}
	.plan_head_table tr th {
		padding: 10px;
	}
	.plan_head_table tr td {
		padding: 10px;
	}
	.plan_head_table tr:first-of-type th:first-of-type {
		min-width: 130px;
	}
	.plan_head_table tr:first-of-type th:nth-of-type(2) {
		min-width: 95px;
	}
	.plan_head_table tr:first-of-type th:nth-of-type(3) {
		min-width: 95px;
	}
	.plan_head_table tr:first-of-type th:nth-of-type(4) {
		min-width: 130px;
	}
	.plan_foot_flex {
		margin-top: 30px;
	}
	.plan_foot_content {
		padding: 0 5%;
	}
	.plan_foot_table {
		width: 100%;
	}
	.plan_foot_table tr th {
		display: block;
		width: 100%;
		border-right: none;
		padding: 10px;
	}
	.plan_foot_table tr td {
		display: block;
		width: 100%;
		padding: 10px;
	}
	.plan_foot_table tr:first-of-type td {
		border-top: none;
	}
	.plan_foot_btn {
		margin-top: 30px;
		text-align: center;
	}
	.plan_foot_pic {
		position: relative;
		width: 100%;
		margin-top: 30px;
	}
	.plan_foot_pic::before {
		content: "";
		display: block;
		padding-top: 60%;
	}
	.plan_foot_pic img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* faq
	------------------------------ */
	.faq_inner {
		margin-top: 50px;
	}
	.faq_bg {
		padding: 50px 0;
	}
	#faq .section_title_en {
		width: 68px;
		height: 38px;
	}
	.faq_list {
		margin: 30px auto 0;
	}
	.faq_list dt {
		padding: 15px 58px 15px 45px;
	}
	.faq_list dt::before {
		width: 18px;
		height: 28px;
		top: 16px;
		transform: translateY(0)
	}
	.faq_list dt::after {
		width: 30px;
		height: 30px;
	}
	.faq_list dd {
		padding: 5px 20px 15px 79px;
		margin-top: 0;
	}
	.faq_list dd span::before {
		width: 21px;
		height: 30px;
		left: -35px;
		top: 3px;
		transform: translateY(0);
	}

	/* footer
	------------------------------ */
	.footer_inner {
		margin-top: 50px;
	}
	.footer_content {
		padding: 0 5%;
		margin: 30px 0 100px;
	}
	.footer_logo {
		margin-right: 20px;
	}
	.footer_logo a {
		width: 98px;
		height: 57px;
	}
	.footer_info {
		margin-top: 10px;
	}
	.footer_pic img {
		aspect-ratio: 2/1;
		object-fit: cover;
	}
	.footer_link {
		display: block;
		position: fixed;
		z-index: 100;
		font-weight: 700;
		width: 100%;
		left: 0;
		bottom: 0;
		color: #fff;
		background: #46382E;
		text-align: center;
		padding: 15px 0 30px;
		box-shadow: 0 -3px 10px rgba(191, 191, 191, 0.5);
	}
	.footer_link span {
		position: relative;
		display: inline-block;
		transform: translateX(13px);
	}
	.footer_link span::before {
		position: absolute;
		content: "";
		width: 25px;
		height: 28px;
		left: -30px;
		top: 50%;
		transform: translateY(-50%);
		background: url(../images/icon_day.svg) no-repeat center center / contain;
	}

	/* Page Top
	------------------------------ */
	.pagetop{
		position: fixed;
		-webkit-transition: all .4s;
		-moz-transition: all .4s;
		-ms-transition: all .4s;
		-o-transition: all .4s;
		transition: all .4s;
		opacity: 0;
		z-index: 10;
		box-sizing: border-box;
	}
	.pagetop.show{
		opacity: 1;
		bottom: 85px;
		right: 5%;
		width: 54px;
		height: 54px;
	}
	.pagetop span{
		position: relative;
		display: block;
		font-size: 0;
		line-height: 0;
	}
	.pagetop::before{
		content: "";
		position: absolute;
		width: 20px;
		height: 20px;
		transform: rotate(45deg);
		background: none;
		left: 0;
		right: 0;
		margin: 0 auto;
		top: 21px;
		transition: .25s;
	}
	.pagetop:hover::before{
		width: 20px;
	}
}

