@charset "UTF-8";
@media all and (max-width: 1000px) {
/*headerはここから*/
.pc{
	display:none !important;
}
.sp{
	display:block;
}
header{
	width: 100%;
	height: 70px;
	transition: .3s;
	overflow: visible;
	position:relative;
	position: fixed;
	z-index:100;
}
.is-animation{
	width: 100%;
	height: 70px;
	transition: .3s;
	background-color:white;
}
.logo{
	overflow: hidden;
	width:135px;
	display: inline-block;
	float:left;
	transition: .3s;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	left:5%;
}

.logo img{
	width:100%;
}
.is-animation .logo-img {
  content: url("image/logo-b.png");
}
header ul{
	list-style: none;
	padding-inline-start:0px;
	padding:150px 0 0 0;
	display: block;
	width:70%;
	text-align:left;
}
.menu li {
	 text-transform: uppercase;
	 transition: .3s;
	 margin: 15px 0;
	 padding:0 0 0 40px;
}
.is-animation .menu li{
	 padding:0 0 0 30px;
	 margin: 5% 0;
}

li a{
	 color:white;
	 font-size:16px;
	 font-weight: 600;
}
.menu li a span:nth-child(2){
	display:none;
}
.ham {
	display:none;
	position: relative;
/*クリックできる範囲*/
	width: 1.5rem;
	height:1rem;
	cursor: pointer;
	z-index: 9999;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	right:5%;
	margin:0;
}
.ham_line {
	position: absolute;
	left: 0;
/*	線の長さと太さ*/
	width: 100%;
	height: 2px;
	background-color: black;
	transition: all 0.3s;
}
/*線と線の間*/
.ham_line1 {
	top: 0;
}
.ham_line2 {
	top:0.5rem;
}
.ham_line3 {
	top: 1rem;
}
/*クリック後の動作*/
.clicked .ham_line1 {
	transform: rotate(45deg);
	top: 0.5rem;
	background-color: white;
}
.clicked .ham_line2 {
	width: 0px;
}
.clicked .ham_line3 {
	transform: rotate(-45deg);
	top: 0.5rem;
	background-color: white;
}
.menu {
	position: fixed;
	width: 60%;
	height: 100%;
	right: -100%;
	background-color:#FF6A47;
	transition: all 0.4s;
	z-index: 100;
	/* filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.6)); */
	margin:0 0 0 0;
	display: block;
}
.clicked .menu {
	right:0;
	z-index: 100;
}
.main-2{
	 width:100%;
	 height: 100vh;
	 background-color: black;
	 opacity: 0;
	 z-index: 0;
	 position: absolute;
	 top:0;
	 left:0;
	 transition: all 0.4s;
}
.clicked .main-2{
	 opacity: .6;
}
.blackback{
	background-color: black;
	opacity: .3;
	height:100vh;
	width:100%;
	transition:.3s;
	display:none;
}
.clicked .blackback{
	height:100vh;
	width:100%;
	display:block;
	z-index: 10;
}
.shop-btn{
	width:100px;
	display:block;
	position: absolute;
	top:22px;
	right:17px;
}
.ge-reservation{
	display:block;
	background-color: #4c510c;
	color:white;
	font-size:11px;
	padding:7px 0;
	width:87px;
	text-align: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right:3%;
}
/* 共通 */
.common-width-b{
	max-width:1150px;
	width:86%;
	margin:0 auto;
}
.common-width-m{
	max-width:1024px;
	width:86%;
	margin:0 auto;
}
.common-width-s{
	max-width:840px;
	width:86%;
	margin:0 auto;
}
.common-title-parts{
    display: flex;
    align-items: center;
    gap:10px; /* 線と文字の間隔 */
    font-family: serif;
    font-size: 2rem;
    color: #000;
	width:auto !important;
}
.line {
    flex: 0 0 20px; /* 線の長さを調整 */
    height: 1px;
    background-color: #000;
}
.common-title-parts h3{
	font-size:16px;
	font-weight:400;
	font-family: "Lusitana", serif;
	letter-spacing: 0.075em;
}
.common-title-h2{
	margin-top:15px;
	color:#002742;
	font-size:24px;
	font-weight:400;
	letter-spacing: 0.095em;
}
/* メインはここから */
.top{
	position: relative;
}
.top-img{
	position: relative;
}
.top-img h1{
	position: absolute;
	bottom:70px;
	left:40px;
	font-size:17px;
	font-weight:500;
	color: white;
}
.top-line{
	display:flex;
	flex-direction: column;
	align-items: center;
	gap:30px;
	position:absolute;
	right:0;
	bottom:0;
}
.top-line p{
	font-size:16px;
	color:white;
	transform: rotate(90deg);
}
.top-line div{
	height: 78px;
    width: 1px;
    background-color:white;
	margin:0 3px 0 0;
}
.concept{
	padding:33px 0 76px 0;
	position: relative;
}
.concept-line{
	display:flex;
	align-items: end;
	gap:30px;
	position:absolute;
	right:30px;
	top:0;
}
.concept-line p{
	font-size:16px;
	color:black;
	transform: rotate(90deg);
	padding:0 0 40px 0;
}
.concept-line div{
	height: 178px;
    width: 1px;
    background-color:black;
	margin:0 3px 0 0;
}
.concept h3{
	font-size:11px;
	font-weight:500;
	margin-bottom:10px;
}
.concept h2{
	font-size:19px;
	font-weight:500;
}
.concept-txt{
	display:flex;
	justify-content: space-between;
	margin-top:60px;
}
.cocnept-line{
    height: 1px;
	width:19px;
    background-color: #000;
}
.concept-txt p{
	writing-mode: vertical-rl;
	font-size:11px;
	line-height: 1.8;
}
.ge-content-list{
	display:flex;
	flex-direction: column;
	gap:120px;
}
.ge-content-detail{
	display:flex;
	flex-direction: column;
	gap:70px;
}
.ge-content-detail-img{
	margin: calc(50% - 50vw);
	width:100vw;
	position: relative;
}
.row .ge-content-detail-img{
	margin: calc(50% - 50vw);
	width:100vw;
}
.slider img{
	display:block;
	width:100%;
}
.prev-arrow{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left:10px;
	z-index: 1;
	width:15px !important;
}
.next-arrow{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right:10px;
	z-index: 1;
	width:15px !important;
}
.ge-content-detail-txt{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
}
.ge-content-detail-txt-top{
	display:flex;
	gap:8px;
	flex-direction:column-reverse;
}
.ge-content-detail-txt-top h3{
	font-size:19px;
	letter-spacing: -0.02em;
	font-weight:500;
	position: relative;
	top:-7px;
}
.gcd-line{
	display:none;
}
.ge-content-detail-txt-top p{
	font-size:11px;
}
.ge-content-detail-txt-bottom{
	display:flex;
	flex-direction: column;
	gap:25px;
	margin-top:43px;
}
.ge-content-detail-txt-bottom h4{
	font-size:25px;
	letter-spacing: -0.02em;
	font-weight:500;
	text-align: justify;
}
.ge-content-detail-txt-bottom p{
	font-size:18px;
	letter-spacing: -0.02em;
	text-align: justify;
	line-height: 1.8;
}
.ge-news{
	margin-top:92px;
}
.ge-news-content{
	display:flex;
	flex-direction: column;
}
.ge-news-list-content{
	display:flex;
	flex-direction: column;
	gap:35px;
}
.ge-news-list-content a{
	display:flex;
	flex-direction: column;
	gap:16px;
	padding:0 0 23px 0;
	border-bottom:1px solid black;
	color:black;
}
.ge-news-list-content a span{
	font-size:10px;
}
.ge-news-list-content a .top-news-title{
	font-size:12px;
}
.ge-news-list-content a .top-news-read{
	font-size:9px;
}
.news-all{
	margin-top:40px;
	color:black;
	justify-content: flex-end;
	align-items: center;
	display:flex;
	gap:15px;
	font-size:11px;
}
.na-img{
	width:10px;
}
.na-img img{
	vertical-align: middle;
}
.ge-access-info{
	margin-top:80px;
	overflow: hidden;
}
.gai-div{
	display:flex;
	flex-direction: column;
}
.gai-div .ge-access-info-width{
	width:100%;
}
.ge-access-info-title{
	display:flex;
	justify-content: space-between;
	align-items: baseline;
}
.ge-access-info-title h2{
	font-size:44px;
	font-weight:500;
	color: #002742;
}
.ge-access-info-title p{
	display:flex;
	align-items: center;
	font-size:18px;
	font-weight:300;
}
.arrow-img{
	width:14px;
	margin:0 0 0 10px;
}
.arrow-img img{
	vertical-align: middle;
}
.gaiw-ca{
	display:flex;
	justify-content: center;
	border:1px solid black;
	color:black;
	gap:15px;
	margin-top:26px;
	padding:18px 0;
	font-size:11px;
}
.gaiw-ca span{
	width:7px;
}
.gaiw-ca span img{
	vertical-align: middle;
}
.ge-title-line-sub{
    height: 1px;
	width:19px;
    background-color: #000;
	margin-top:24px;
	margin-bottom:55px;
}
.ge-access-info-content{
	background-color: #cccccc;
    margin-right: calc(50% - 50vw);
	display:grid;
	grid-template-columns: repeat(1, 1fr);
}
.ge-access-info-content>div{
	border:solid 1px white;
	margin-right: -1px;
	position: relative;
	height:86px;
}
.ge-access-info-content>div p{
	/* writing-mode: vertical-rl; */
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left:20px;
	/* height:285px; */
	font-size:13px;
	color:white;
}
.ge-access-map{
	margin-top:50px;
	display:flex;
	flex-direction: column-reverse;
}
.ge-access-map-info-back{
	padding:20px 0 40px;
	/* margin-bottom:-170px; */
	position: relative;
	z-index: 1;
}
.ge-access-map-info-back h3{
	font-size:12px;
	font-weight:500;
	margin:0 0 15px 0;
}
.ge-access-map-info-back h3 span{
	font-size:12px;
	margin:0 5px 0 0;
}
.ge-access-map-info-back p{
	font-size:12px;
	font-weight:400;
	line-height: 1.6;
}
footer{
	background-color: #4c510c;
	padding:50px 0 14px 0;
}
small{
	font-size:9px;
	color:white;
	width:88%;
	margin:0 auto;
	display:block;
}
small p{
	/* text-align: center; */
}
.footer-top{
	display:flex;
	flex-direction: column;
	/* justify-content: space-between; */
}
.footer-top>div{
	padding:20px 0;
	/* border-right:1px solid white;
	border-left:1px solid white; */
}
.footer-top>div:nth-child(1){
	padding:20px 30px 20px 0;
	border:none;
	border-bottom:1px solid white;
}
.footer-top>div:nth-child(3){
	border-left:none;
}
.footer-top>div:nth-child(4){
	padding:0 0 0 0;
	border:none;
}
.sp-border{
	border-bottom:1px solid white;
	padding:0 0 20px 0;
}
.footer-top p{
	color:white;
}
.footer-top a{
	color:white;
}
.f-title{
	font-size:14px;
}
.footer-top-column{
	display:flex;
	flex-direction: column;
	gap:7px;
}
.ffc-bottom-border{
	border-bottom:1px solid white;
	padding:0 0 20px 0;
}
.footer-top-column p{
	font-size:14px;
	margin-bottom:2px;
	font-weight:400;
}
.footer-top-column a{
	font-size:11px;
	font-weight:400;
	padding:0 0 0 110px;
}
.ffc-fc-sp{
	width:65%;
}
.ft-flex{
	display:flex;
	justify-content: space-between;
	gap:45px;
	/* padding:0 0 !important; */
	border-bottom:1px solid white;
}
.ft-flex a{
	padding-left:0 !important;
}
.ft-flex-title{
	font-size:14px;
}
.ft-flex-column{
	display:flex;
	flex-direction: column;
	gap:20px;
}
.ffc-sp-flex{
	flex-direction: row;
}
.ffc-sp-flex a{
	padding:0 0 0 50px;
}
.footer-bottom{
	border-top:1px solid white;
	margin-top:30px;
	margin-bottom:40px;
	padding:40px 0 0 0;
}
.footer-bottom-content{
	display:flex;
	flex-direction: column;
	/* align-items: center; */
	width:100%;
}
.fb-line {
    height: 120px;
	width:1px;
    background-color:white;
	display:none;
}
.footer-bottom a{
	color:white;
}
.footer-bottom p{
	color:white;
}
.fb-tel-title{
	font-size:13px;
}
.fb-tel{
	/* text-align: center; */
	padding:0 0 30px 0;
	border-bottom:1px solid white;
	margin-bottom:40px;
}
.fb-tel a{
	font-size:26px;
	padding:10px 0;
	display:block;
}
.fb-tel a span{
	font-size:16px;
}
.fb-tel-info{
	font-size:12px;
}
.fb-plan{
	margin-bottom:10px;
}
.fb-plan div{
	display:flex;
	justify-content: space-between;
	/* text-align: center; */
	padding:12px;
	border:solid 1px white;
	align-items: center;
}
.fb-plan p{
	font-size:14px;
}
.fb-plan div a{
	display:flex;
	text-align: center;
	gap:10px;
	font-size:10px;
}
.fb-arrow img{
	width:6px;
	vertical-align: middle;
}
.fb-l-title{
	font-size:14px;
	padding:12px;
	border:solid 1px white;
}
}