@charset "UTF-8";
/*------------------------
スタイルの初期化
------------------------*/
body,div,pre,p,blockquote,
form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
table,th,td,embed,object,figure { margin:0; padding:0; }
html {
	font-size: 62.5%;
}
body {
	font-family: 'Noto Sans JP', 'sans-serif','メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	font-size:4vw;
	color: var(--black);
	line-height: 1.65;
	letter-spacing: .025em;
	text-autospace:ideograph-alpha;
	font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
	padding-top: 64px;
	position: relative;
}
main {
	display: block;
}
a {
	text-decoration: none;
	color: var(--black);
	display: block;
	transition: all 0.5s ease 0s;
}
a img {
	border:0;
}
img{
	vertical-align:top;
	max-width: 100%;
}
ul, ol { list-style-type:none; }
sup { position: relative; vertical-align: baseline; top: -0.9em; font-size: 0.5em; }
hr { display: none; }
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: normal;}
th, caption{ text-align: left; font-weight: normal; }
th,td { empty-cells:show; }
*{
	box-sizing: border-box;
	}
input[type="text"] , 
input[type="email"] , 
input[type="tel"] , 
input[type="password"] { padding:0 2px; margin-right:0.4em; }
input[type="submit"] { display:inline; margin:0; }
input[type="radio"] { margin-right:0.1em; }
textarea { padding:2px; }
optgroup { font-style:normal; }
option { padding-right:10px; }
*:focus {
outline: none;
}
.flex-box {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.red {
	color: #eb1c1c;
}
.pc {
	display: none;
}
.sp {
	display: block;
}
.wf {
	font-family: "Quicksand", sans-serif;
}

:root{
	--black: #121212;
	--gray: #627877;
	--green: #6fb92c;
	--green02: #d2e9bd;
	--yellow: #fcc800;
	--yellow02: #feeba6;
	--bg_green:#f7fbf3;
}
.image img{
	width: 100%;
	height: 100%;
}
.textarea{
	text-align: justify;
}
/*ボタンデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"],button {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
	font-family: 'Noto Sans JP', sans-serif;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}
input[type="text"] , 
input[type="email"] , 
input[type="tel"] , 
input[type="password"] ,
textarea {
	-webkit-appearance : none;
	appearance: none;
	border-radius:0;
	padding:8px;
	border:1px solid #c9c9c9;
	width: 90%;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
}
area{
	border:none;
	outline:none;
}
input, select, textarea {
	font-size: 3.74vw;
}
textarea {
	width: 90%;
	height: 10em;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 2vw 5vw 2vw 2vw;
	border-radius: 3px;
	max-width: 6em;
	color: var(--block);
	border: 1px solid #c9c9c9;
	font-size: 3.73vw;
	font-family: 'Noto Sans JP', sans-serif;
	background: #fff url(/nishi-ogi/pc/img/common/s_arrow.svg) no-repeat right 1.5vw center;
	background-size: auto 4px;
}
label{
	display: block;    
	margin-bottom: 1vw;
}
::placeholder {
  color: #c9c9c9;
}
/*チェックボックスのスタイル*/
input[type="checkbox"]{
	border: 1px solid #c9c9c9;
	vertical-align: -6px;
	-webkit-appearance: none;
	position: relative;
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	background: #fff;
	margin-right: 4px;
}
input[type="checkbox"]:checked {
	background: var(--yellow);
	border: 1px solid #c9c9c9;
}
input[type="checkbox"]:checked:before {
	position: absolute;
	left: 4px;
	top: 13px;
	display: block;
	content: "";
	width: 5px;
	height: 1px;
	background: #fff;
	-webkit-transform: rotate(45deg);
	-webkit-transform-origin: right center;
}
input[type="checkbox"]:checked:after {
	display: block;
	position: absolute;
	left: 9px;
	top: 13px;
	content: "";
	width: 10px;
	height: 1px;
	background: #fff;
	-webkit-transform: rotate(-53deg);
	-webkit-transform-origin: left center;
}
@media screen and (min-width:580px) {
	input[type="checkbox"]{
		width: 30px;
		height: 30px;
	}
	input[type="checkbox"]:checked:before {
		left: 6px;
		top: 18px;
		width: 7px;
		height: 2px;
	}
	input[type="checkbox"]:checked:after {
		left: 13px;
		top: 18px;
		width: 13px;
		height: 2px;
	}
}
/*ラジオボタンのスタイル*/
input[type="radio"]{
	border: 1px solid #c9c9c9;
	-webkit-appearance: none;
	position: relative;
	margin-right: 7px;
	border-radius: 50vw;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	background: #fff;
}
input[type="radio"]:checked{
	background:#627877;
	border: 1px solid #c9c9c9;
}
input[type="radio"]:checked:after {
	display: block;
	position: absolute;
	left: 4px;
	top: 4px;
	content: '';
	width: 10px;
	height: 10px;
	background: #fff;
	border-radius: 50vw;
}
input[type="submit"] {
	display: block;
	width: 100%;
	margin: auto;
	padding: 4.5%;
	font-size: 3.74vw;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .002em;
	text-align: center;
	background: var(--black);
	color: #fff;
	font-weight: bold;
}
table {
	width: 100%;
	border-collapse: collapse;
	box-sizing: border-box;
}
/*ボタンデザイン*/
.btn a {
	display: flex;
	align-items: center;
	font-size: 4.27vw;
	font-weight: 500;
	letter-spacing: .1em;
	color: #fff;
	background: var(--green);
	position: relative;
	width: 100%;
	height: 16vw;
	border-radius: 50px;
	padding-left: 5.33vw;
}
.btn a::after{
	content: "";
	background: url(/campass/pc/img/common/arrow_w.svg) no-repeat;
	background-size: contain;
	width: 13.33vw;
	height: 13.33vw;
	position: absolute;
	right: 1.33vw;
	transition: all 0.5s ease 0s;
}
/*------------------------
header
------------------------*/
header .flex-box {
	justify-content: space-between;
}
header .inner {
	padding: 0 4vw;
	height: 17.07vw;
	align-items: stretch;
	position: relative;
	z-index: 200;
	position: fixed;
	width: 100%;
	box-sizing: border-box;
	top: 0;
	background: #fff;
}
header .inner .logo a{
	width: 35.2vw;
	height: 100%;
	display: block;
}

/* メニュー */
header .menu-wrap{
	display: flex;
	align-items: stretch;
}
/* CONTACT */
header .menu-wrap .c-btn{
	background: var(--green);
	width: 22.67vw;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: #fff;
	font-size: 2.6vw;
	font-weight: bold;
	letter-spacing: .04em;
	margin-right: 2vw;
}
header .menu-wrap .c-btn::before {
	content: "";
	width: 25px;
	height: 25px;
	background: url(/campass/pc/img/common/icon_calendar.svg) no-repeat;
	background-size: contain;
	display: block;
	margin: 6px;
}

/* OPEN MENU */
header .menu-wrap #open-menu{
	display: none;
}
header .menu-wrap #open-menu li a{
	width: 100%;
	height: 9.33vw;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 2px solid var(--green);
	position: relative;
	font-size: 3.43vw;
}
header .menu-wrap #open-menu li a::after{
	content: '';
	width: 4px;
	height: 4px;
	border-bottom: 1px solid var(--green);
	border-left: 1px solid var(--green);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2vw;
	margin: auto;
	transition: all .3s ease 0s;
}
header .menu-wrap #open-menu li:first-child a{
	border-bottom: 0;
}

header .inner .menu {
	width: 10.67vw;
	height: 100%;
	position: relative;
}
header .inner .menu > div{
	position: absolute;
	background: var(--black);
	border-radius: 50px;
	transition: .35s ease-in-out;
	width: 8vw;
	height: 2px;
	right: 0;
} 
header .inner .menu .menu1 {
	bottom: 12.33vw;
}
header .inner .menu .menu2 {
	bottom: 10vw;
}
header .inner .menu .menu3 {
	bottom: 7.33vw;
}
header .inner .menu .text {
	display: block;
	text-align: center;
	font-size: 2.67vw;
	font-weight: bold;
	color: var(--black);
	letter-spacing: 0;
	position: absolute;
	right: 0;
	bottom: 8px;
}
header .inner .menu.active .menu1 {
	bottom: 36px;
	left: 2.07vw;
	right: 0;
	margin: auto;
	width: 8vw;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
header .inner .menu.active .menu2 {
	display: none;
}
header .inner .menu.active .menu3 {
	bottom: 36px;
	right: 0;
	margin: auto;
	width: 8vw;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*------------------------
ハンバーガーメニュー
------------------------*/
#menu_list {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	position: fixed;
	z-index: 150;
	top: 0;
	left: 0;
	transform: translateY(-200%);
	transition: all .6s;
	background: #fff;
	margin-top: 17.07vw;
	background: var(--bg_green);
	padding: 4vw 4vw 6vw;
}
#menu_list.active {
	transform: translateY(0);
}
#menu_list .main_menu{
	margin-bottom: 10%;
}
#menu_list .main_menu li a{
	font-size: 3.74vw;
	padding: 4vw 0;
	border-bottom: 1px solid var(--green);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#menu_list .main_menu li a:after {
	content: '';
	vertical-align: middle;
	width: 1.6vw;
	height: 1.6vw;
	border-top: 2px solid var(--green);
	border-right: 2px solid var(--green);
	transform: rotate(45deg);
}
#overlay {
	z-index: 3;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	position: fixed;
	background: rgba(0,0,0,.3);
	transition: all .6s;
	top: 0;
	left: 0;
	opacity: 0;
}

/* 問い合わせ */
#menu_list .c-btn.contact a{
	width: 100%;
	height: 16vw;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--yellow);
	font-size: 4.8vw;
	border-radius: 10px;
	margin-bottom: 4vw;
}
#menu_list .c-btn.contact a::before {
	content: "";
	height: 4vw;
	width: 5.87vw;
	background: url(/campass/pc/img/common/icon_mail.svg) no-repeat;
	background-size: contain;
	display: block;
	margin-right: 2.67vw;
	transition: all 0.5s ease 0s;
}

/* 予約 */
#menu_list .reserve-wrap,
#menu_list .insta-wrap {
	background: var(--green);
	padding: 4vw 4vw 5vw;
	border-radius: 12px;
}
#menu_list .insta-wrap {
    background: #fff;
    margin-top: 2.67vw;
}
#menu_list .reserve-wrap .ttl,
#menu_list .insta-wrap .ttl {
	font-size: 4.43vw;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 3vw;
}
#menu_list .reserve-wrap .ttl {
	color: #fff;
}
#menu_list .reserve-wrap .ttl::before,
#menu_list .insta-wrap .ttl::before {
	content: "";
	height: 5.33vw;
	width: 5.33vw;
	background: url(/campass/pc/img/common/icon_calendar.svg) no-repeat;
	background-size: contain;
	display: block;
	margin-right: 2vw;
}
#menu_list .insta-wrap .ttl::before {
	background: url(/campass/pc/img/common/icn_insta-g.svg) no-repeat;
	background-size: contain;
}
#menu_list .reserve-wrap .btn-wrap,
#menu_list .insta-wrap .btn-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
}
#menu_list .reserve-wrap .btn-wrap a,
#menu_list .insta-wrap .btn-wrap a {
	background: #fff;
	font-weight: 500;
	width: 41.33vw;
	height: 13.33vw;
	font-size: 4.27vw;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
#menu_list .insta-wrap .btn-wrap a {
	background: var(--yellow);
}
#menu_list .reserve-wrap .btn-wrap a::after,
#menu_list .insta-wrap .btn-wrap a:after {
	content: '';
	width: 1.6vw;
	height: 1.6vw;
	border-bottom: 1px solid var(--green);
	border-left: 1px solid var(--green);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2vw;
	margin: auto;
}
#menu_list .insta-wrap .btn-wrap a:after {
	border-bottom: 1px solid var(--black);
	border-left: 1px solid var(--black);
}
/*------------------------
section共通
------------------------*/
section .inner{
	margin: 0 4vw;
	padding: 8vw 0 13.33vw;
}
section .inner .ttl-wrap{
	margin-bottom: 10vw;
	text-align: center;
	position: relative;
}
section .inner .ttl-wrap::before {
	content: "";
	width: 13.33vw;
	height: 5px;
	background: var(--green);
	border-radius: 50px;
	position: absolute;
	bottom: -5.87vw;
	left: 44%;
}
section .inner .ttl-wrap::after {
	content: "";
	width: 6.67vw;
	height: 5px;
	background: var(--yellow);
	border-radius: 50px 0 0 50px;
	position: absolute;
	bottom: -5.87vw;
	left: 44%;
}

section .inner .ttl-wrap .sub{
	height: 3.73vw;
	width: 100%;
	margin-bottom: 2vw;
}
section .inner .ttl-wrap .sub img{
	object-fit: contain;
}
section .inner .ttl-wrap h2{
	font-size: 5.87vw;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1;
	position: relative;
}
section .inner .ttl-wrap h2.image{
	height: 5.87vw;
}
section .inner .ttl-wrap h2.image img{
	width: auto;
}
section .inner .sub-text{
	font-size: 4vw;
	font-weight: 500;
	margin-bottom: 3vw;
}
/*------------------------
facility
------------------------*/
/* 施設ブロック */
#facility .map-wrap{
	margin-bottom: 4vw;
	position: relative;
}
#facility .map-wrap .image {
	width: 100%;
	height: auto;
}
#facility .map-wrap .image img{
	object-fit: contain;
}
#facility .map-wrap .icon a {
	position: absolute;
	width: 37.33vw;
	transition: all 0.5s ease 0s;
}
#facility .map-wrap .icon.oomiya a {
	top: 5vw;
	left: 36.33vw;
}
#facility .map-wrap .icon.akihabara a {
	top: 14.67vw;
	left: 41.33vw;
}

#facility .block-wrap .block{
	border-radius: 12px;
	border: 2px solid var(--green);
	padding: 5.33vw 4vw 4vw;
	margin-bottom: 5.33vw;
	position: relative;
}
#facility .block-wrap .block .text{
	margin-bottom: 4vw;
}
#facility .block-wrap .block .catch{
	font-size: 4.27vw;
	font-weight: bold;
	line-height: 1.5;
	color: var(--green);
	letter-spacing: .06em;
	margin-bottom: 2vw;
}
#facility .block-wrap .block .ttl h3{
	font-size: 5.33vw;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 2vw;
}
#facility .block-wrap .block .ttl h3 .map a{
	background: var(--yellow);
	font-weight: 600;
	border-radius: 50px;
	display: inline-flex;
	font-size: 3.43vw;
	padding: 0 2vw;
	align-items: center;
	height: 5.6vw;
	margin-left: 1.33vw;
}
#facility .block-wrap .block .ttl h3 .map a:hover{
	opacity: .8;
}
#facility .block-wrap .block .ttl .sub{
	margin-bottom: 4vw;
	line-height: 1.3;
}
#facility .block-wrap .block .ttl .sub span{
	font-size: 4.8vw;
	font-weight: bold;
}

#facility .block-wrap .block .instagram a {
	width: 10.67vw;
	height: 10.67vw;
	margin: 2.67vw 0 0 auto;
	position: absolute;
	top: 13.33vw;
	right: 4vw;
}
#facility .block-wrap .block .image-wrap{
	position: relative;
}
#facility .block-wrap .block .hukidasi, #facility .block-wrap .block .hukidasi02{
	position: absolute;
	top: -5.33vw;
	right: -4vw;
	background: var(--yellow);
	border-radius: 50%;
	font-size: 3.2vw;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0;
	width: 16vw;
	height: 16vw;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}
#facility .block-wrap .block .hukidasi02{
	right: 12vw;
}
#facility .block-wrap .block .image-wrap {
	margin-bottom: 1vw;
}
#facility .block-wrap .block .image-wrap .image{
	width: 100%;
	height: 50vw;
}
#facility .block-wrap .block .image-wrap .image img{
	object-fit: cover;
	border-radius: 15px;
}
/* slick */
#facility .block-wrap .slick-arrow {
	cursor: pointer;
	background: #fff;
	border-radius: 50%;
	width: 10.67vw;
	height: 10.67vw;
	border: 2px solid var(--yellow);
	z-index: 10;
	position: absolute;
	transition: all .3s ease 0s;
	left: -4vw;
}
#facility .block-wrap .slick-arrow.slick-next {
	left: auto;
	right: -4vw;
}
#facility .block-wrap .slick-arrow:after {
	content: '';
	width: 2.13vw;
	height: 2.13vw;
	border-bottom: 2px solid var(--yellow);
	border-left: 2px solid var(--yellow);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30%;
	transform: rotate(45deg);
	margin: auto;
	transition: all .3s ease 0s;
}
#facility .block-wrap .slick-arrow.slick-next:after {
	transform: rotate(-135deg);
	right: auto;
	left: 30%;
}
.slick-prev:before, .slick-next:before {
	content: '';
}
#facility .slick-prev:hover:before,
#facility .slick-prev:focus:before,
#facility .slick-next:hover:before, 
#facility .slick-next:focus:before{
	opacity: 0;
}
/* ボタン */
#facility .btn-wrap{
	margin-top: 8vw;
}
#facility .btn-wrap .ttl{
	font-size: 4.8vw;
	font-weight: 600;
	text-align: center;
	margin-bottom: 2.33vw;
	position: relative;
}
#facility .btn-wrap .ttl::after{
	content: "";
	width: 9.6vw;
	height: 3.73vw;
	background: url(/campass/pc/img/index/ashirai_sen.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: -3.2vw;
	right: 0;
	left: 0;
	margin: auto;
}
#facility .block-wrap .block .instagram_list{
	padding-top: 12vw;
}
#facility .block-wrap .block .instagram_list li{
	position: relative;
}
#facility .block-wrap .block .instagram_list li::before{
	content: "";
	width: 6.93vw;
	height: 6.93vw;
	background: url(/campass/pc/img/common/icon_insta_company.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -8.53vw;
	left: 20vw;
	border: 1px solid #c9c9c9;
	border-radius: 50%;
}
#facility .block-wrap .block .instagram_list li::after{
	content: "campass_akihabara";
	color: var(--black);
	position: absolute;
	top: -8vw;
	left: 29.33vw;
	font-size: 3.2vw;
	letter-spacing: 0;
	font-weight: bold;
}
#facility .block-wrap .block .instagram_list li .head{
	display: none;
}
#facility .block-wrap .block .instagram_list li a{
	width: 42.67vw;
	height: 40vw;
	background: #f8f8f8;
	border: 2px solid var(--yellow);
	border-radius: 10px;
	margin: 0 auto;
}
#facility .block-wrap .block .instagram_list li a img,
#facility .block-wrap .block .instagram_list li a video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}
/*------------------------
corporate
------------------------*/
#corporate{
	position: relative;
    background: var(--yellow02);
    margin-bottom: 16vw;
}
#corporate::after{
	content: "";
	width: 100%;
	height: 8vw;
	background: url(/campass/sp/img/index/corporate_nami01.png) no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: -8vw;
	left: 0;
}
#corporate::before{
	content: "";
	width: 80.53vw;
	height: 18.67vw;
	background: url(/campass/pc/img/index/en_corporate.svg) no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .4;
	z-index: 1;
}
#corporate .inner .ttl-wrap::after{
	background: #fff;
}
#corporate .block {
	position: relative;
	background: #fff;
	border-radius: 12px;
	padding: 4vw;
	margin-bottom: 4vw;
}
#corporate .block .image{
	width: 100%;
	height: 54.4vw;
	margin-bottom: 2vw;
}
#corporate .block .image img{
	object-fit: cover;
	border-radius: 12px;
}

#corporate .block .text-wrap{
	position: relative;
}
#corporate .block .text-wrap::after{
	content: "";
	width: 7.47vw;
	height: 10.67vw;
	background: url(/campass/pc/img/index/corporate_ttl_ashi.svg) no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
}
#corporate .block .text-wrap h3{
	font-size: 4.8vw;
	color: var(--green);
	font-weight: 500;
	margin-bottom: 4vw;
	position: relative;
}
#corporate .block .text-wrap h3::after{
	content: "";
	width: 100%;
	height: 4px;
	background: url(/campass/pc/img/index/corporate_ttl_sen.png) no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	bottom: -2vw;
}
#corporate .image.bottom {
	height: 8vw;
	width: 100%;
	position: absolute;
	bottom: -8vw;
	left: 0;
	transform: rotate(180deg);
}
#corporate .image.bottom img{
	object-fit: cover;
}

/*------------------------
後続ページタイトル
------------------------*/
#top-ttl {
	background: url(/campass/pc/img/index/pattern_green.png);
	position: relative;
	border-top: 2px solid #fff;
}
#top-ttl::before {
	content: "";
	width: 54.4vw;
	height: 18.67vw;
	background: url(/campass/pc/img/index/en_facility_w.svg) no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: .4;
}
#top-ttl .page-ttl{
	padding: 8vw 0 16vw;
	text-align: center;
}
#top-ttl .page-ttl .sub{
	height: 4vw;
	width: 100%;
	margin-bottom: 1.33vw;
}
#top-ttl .page-ttl .sub img{
	object-fit: contain;
}
#top-ttl .page-ttl h1 {
	font-size: 6.93vw;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.2;
	position: relative;
}

/*------------------------
パンくず
------------------------*/
#breadcrumb {
	padding: 2% 0;
	overflow: hidden;
	z-index: 100;
	position: relative;
	margin: 0 4%;
	overflow-x: scroll;
	white-space: nowrap;
}
#breadcrumb li {
	display: inline-block;
}
#breadcrumb li a {
	font-size: 3.43vw;
	font-weight: 500;
	display: inline-block;
}
#breadcrumb li::before {
	content: '';
	width: 1.6vw;
	height: 1.6vw;
	display: inline-block;
	border-bottom: 1px solid var(--black);
	border-right: 1px solid var(--black);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin: auto 2.2vw 0 .2vw;
	vertical-align: 1px;
}
#breadcrumb li:first-child::before{
	content: none;
}


/*------------------------
page_top
------------------------*/
#page-top {
	position: sticky;
	bottom: 4%;
	width: 12vw;
	text-align: right;
	height: 12vw;
	margin: 0vw 4% -4% auto;
	z-index: 30;
}
#page-top.show {
	opacity: 1;
	visibility: visible;
}
#page-top a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	background: #fff;
	border: 2px solid var(--green);
	border-radius: 50%;
	box-sizing: content-box;
}
#page-top a:after {
	content: "";
	background: url(/campass/pc/img/common/arrow_w.svg) no-repeat;
	background-size: contain;
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
	width: 12vw;
	height: 12vw;
	transform: rotate(-90deg);
}

/*------------------------
共通CONTACT
------------------------*/
#bottom-contact {
	margin-bottom: 18.67vw;
}
#bottom-contact .inner{
	background: var(--bg_green);
	position: relative;
	padding: 8vw 0 8vw;
}
#bottom-contact .inner::before{
	content: "";
	width: 8vw;
	height: 8vw;
	background: url(/campass/pc/img/common/ashirai_kakko.png) no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 0;
}
#bottom-contact .inner::after{
	content: "";
	width: 8vw;
	height: 8vw;
	background: url(/campass/pc/img/common/ashirai_kakko.png) no-repeat;
	background-size: contain;
	position: absolute;
	right: 0;
	bottom: 0;
	transform: rotate(-180deg);
}
#bottom-contact .inner .ttl-wrap::after{
	background: var(--yellow);
}

#bottom-contact .block{
    background: #fff;
    border: 1px solid var(--gray);
    border-radius: 12px;
    padding: 4vw;
    margin: 0 4vw 3vw;
}
#bottom-contact .text{
	font-size: 4vw;
	font-weight: 600;
	margin-bottom: 3vw;
}
#bottom-contact .c-btn a{
	background: var(--yellow);
	border-radius: 50px;
	height: 14.67vw;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4.27vw;
	font-weight: 600;
}
#bottom-contact .contact .c-btn a::before {
	content: "";
	height: 4vw;
	width: 5.87vw;
	background: url(/campass/pc/img/common/icon_mail.svg) no-repeat;
	background-size: contain;
	display: block;
	margin-right: 2vw;
}

/* 予約 */
#bottom-contact .reserve .c-btn a{
	background: var(--green);
	color: #fff;
}
#bottom-contact .reserve .c-btn:first-child a{
	margin-bottom: 2vw;
}
#bottom-contact .reserve .c-btn a::before{
	content: "";
	height: 5.33vw;
	width: 5.33vw;
	background: url(/campass/pc/img/common/icon_calendar.svg) no-repeat;
	background-size: contain;
	display: block;
	margin-right: 2vw;
}

/*------------------------
footer
------------------------*/
footer .inner{
	margin: 0 4vw;
}

/* nav */
footer .n-area{
	background: #f8f8f8;
}
footer .n-area .inner{
	padding: 9.33vw 0 10.33vw;
}

footer .n-area .logo a{
	width: 48vw;
	margin-bottom: 4vw;
	display: block;
}
footer .n-area nav ul{
	margin-bottom: 6vw;
	flex-direction: column;
}
footer .n-area nav ul li a {
	display: block;
	padding: 1vw 0;
	letter-spacing: .06em;
}

/* 予約 */
footer .n-area .reserve-wrap,
footer .n-area .insta-wrap{
	background: var(--green);
	padding: 4vw 4vw 5vw;
	border-radius: 12px;
}
footer .n-area .insta-wrap{
    background: #fff;
    margin-top: 2.67vw;
}
footer .n-area .reserve-wrap .ttl,
footer .n-area .insta-wrap .ttl{
	font-size: 4.43vw;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 3vw;
}
footer .n-area .reserve-wrap .ttl {
	color: #fff;
}
footer .n-area .reserve-wrap .ttl::before ,
footer .n-area .insta-wrap .ttl::before{
	content: "";
	height: 5.33vw;
	width: 5.33vw;
	background: url(/campass/pc/img/common/icon_calendar.svg) no-repeat;
	background-size: contain;
	display: block;
	margin-right: 2vw;
}
footer .n-area .insta-wrap .ttl::before{
	background: url(/campass/pc/img/common/icn_insta-g.svg) no-repeat;
	background-size: contain;
}
footer .n-area .reserve-wrap .btn-wrap,
footer .n-area .insta-wrap .btn-wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .n-area .reserve-wrap .btn-wrap a,
footer .n-area .insta-wrap .btn-wrap a{
	background: #fff;
	font-weight: 500;
	width: 41.33vw;
	height: 13.33vw;
	font-size: 4.27vw;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
footer .n-area .insta-wrap .btn-wrap a {
	background: var(--yellow);
}
footer .n-area .reserve-wrap .btn-wrap a::after ,
footer .n-area .insta-wrap .btn-wrap a::before{
	content: '';
	width: 1.6vw;
	height: 1.6vw;
	border-bottom: 1px solid var(--green);
	border-left: 1px solid var(--green);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2vw;
	margin: auto;
}
footer .n-area .insta-wrap .btn-wrap a::before {
	border-bottom: 1px solid var(--black);
	border-left: 1px solid var(--black);
}
/* copy */
footer .c-area .left {
	font-size: 3.73vw;
	line-height: 1.4;
	margin-bottom: 4%;
}

/* 個人情報 */
footer .c-area{
	padding: 5.33vw 0;
	flex-direction: column;
}
footer .c-area .privacy {
	display: block;
	margin-bottom: 3%;
}
footer .c-area .privacy a {
	display: inline-block;
	padding-left: 4vw;
	position: relative;
}
footer .c-area .privacy a::before {
	content: '';
	width: 4px;
	height: 4px;
	border-bottom: 1px solid var(--green);
	border-right: 1px solid var(--green);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
footer .c-area .logo {
	width: 40vw;
}

/*------------------------
error
------------------------*/
#error .inner{
	padding: 8vw 0 13.33vw;
}
#error .inner .ttl-wrap h2{
	line-height: 1.2;
}
#error .contents li{
	font-size: 4.27vw;
	font-weight: 500;
	margin-bottom: 3vw;
}

