@charset "utf-8";


/* Google fonts import */

@import url("https://fonts.googleapis.com/earlyaccess/sawarabimincho.css"); /* mincho [font-family: "Sawarabi Mincho";] */
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css"); /* gothic [font-family: "Noto Sans Japanese";] */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap&subset=japanese');
@import url("https://use.typekit.net/nnt8njw.css");



/*■reset----------------------------------------------*/
*{
	padding:0;
	margin:0;
}
h1,h2,h3,h4,h5,h6{
	font-size:14px;
	font-weight:normal;
}
ul,ol,li{
	list-style-type:none;
}
a{
	font-size:14px;
	transition:all 0.5s;
	text-decoration:none;
}
a:hover{
	opacity:0.68;
}
img{
	border:none;
	display:block;
	width:100%;
}
p{
	font-size:14px;
	line-height:140%;
}


/* Base
---------------------------------------------------------------------- */
* {
    box-sizing: border-box;
}
html {
    scroll-padding-top: 130px;
}
body {
    color: #292722;
    background: #fff;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    -webkit-text-size-adjust: 100%;
}
body > main, .Footer {
    max-width: 1920px;
    margin: auto;
}
.effect{
	opacity:0;
	top:40px;
	position:relative;
	transition:all 1s;
	filter: blur(3px);
}
.effect.move{
	opacity:1;
	top:0;
	filter: blur(0px);
}

br.sp{
	display:none;
}
@media (max-width: 767px){
	body{
		margin-top:68px;
	}
	br.sp{
		display:block !important;
	}
}


.Area {
    width: 88%;
    max-width: 1200px;
    margin: auto;
}
img {
    height: auto;
}
a {
    color: inherit;
}
a:focus-visible, button:focus-visible {
    outline: 2px solid #8b192d;
    outline-offset: 5px;
}
a[aria-disabled="true"] {
    cursor: default;
}
a[aria-disabled="true"]:hover {
    opacity: 1;
}
p {
    font-size: 16px;
    line-height: 2;
    letter-spacing: .09em;
}
.Sp, .MainVisualSp, .BusRouteSp {
    display: none;
}
.VisuallyHidden, .SkipLink:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.SkipLink:focus {
    position: fixed;
    top: 10px;
    left: 10px;
    padding: 12px 20px;
    background: white;
    z-index: 100;
}
.RequestBtn {
    position: relative;
    display: block;
    width: 350px;
    max-width: 100%;
    margin: auto;
    padding: 12px 30px;
    background: #7D6943;
    color: #fff;
    text-align: center;
    font-size: 22px;
    letter-spacing: .25em;
    line-height: 1.5;
}
.RequestBtn::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #bf1a22;
}
.PageCaption {
    margin-top: 38px;
    font-size: 12px;
    line-height: 1.8;
    letter-spacing: .05em;
}
.MainTit {
    display: flex;
    align-items: center;
    justify-content: center;
	padding:15px 0;
    background: #e6e0cb url(../img/texture.jpg) repeat;
}
.MainTit h2 {
    max-width: 480px;
}
.PickupTit {
    width: 76%;
    margin: 0 auto 22px;
    text-align: center;
}
.PickupTit p {
    color: #7d6943;
    font-size: 22px;
    line-height: 1.7;
}
.PickupTit h3 {
    padding-bottom: 14px;
    border-bottom: 7px solid #eee6d3;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .14em;
    line-height: 1.8;
}
.SectionText {
    width: 74%;
    margin: 32px auto 56px;
    line-height: 2.1;
}
.SubTit {
    margin: 32px 0;
    color: #7d6943;
    text-align: center;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.8;
	letter-spacing:2px;
}
.MapImage {
    display: block;
}
.MapImage:hover {
    opacity: .9;
}
@media (max-width: 678px){
	.RequestBtn {
		width: 280px;
		padding: 8px 0;
		font-size: 18px;
	}
	.RequestBtn::after {
		right: 8px;
		border-top: 11px solid transparent;
		border-bottom: 11px solid transparent;
		border-left: 11px solid #bf1a22;
	}
	.PageCaption {
		margin-top: 24px;
		font-size: 10px;
		line-height: 1.55;
	}
	.MainTit {
		padding:12px 0;
	}
	.PickupTit {
		width: 100%;
		margin: 0 auto 18px;
	}
	.PickupTit p {
		font-size: 18px;
	}
	.PickupTit h3 {
		padding-bottom: 12px;
		border-bottom: 5px solid #eee6d3;
		font-size: 22px;
	}
	.SectionText {
		width: 100%;
		margin: 20px auto 38px;
		line-height: 165%;
		font-size:14px;
	}
	.SubTit {
		margin: 20px 0;
		font-size: 20px;
		line-height: 1.65;
	}
}

.Anc{
	position:relative;
	top:-110px;
}
@media (max-width: 767px){
	.Anc{
		top:-68px;
	}
}





/* Header / Gnavi
---------------------------------------------------------------------- */
.Header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 30;
    background: rgba(255,255,255,.5);
    color: #6b6046;
	transition:all 0.5s;
}
.Header.Low{
    background: #fff;
    box-shadow: 0 1px 5px #0000000d;
}
.Header > .Area {
    display: flex;
    align-items: center;
    width: 97%;
    max-width: 1860px;
    height: 73px;
    gap: 22px;
}
.Logo {
    display: flex;
    align-items: center;
    gap: 22px;
    width: 370px;
    flex-shrink: 0;
}
.Logo img {
    width: 145px;
    max-height: 65px;
    object-fit: contain;
}
.Logo span {
    font-size: 14px;
    letter-spacing: .12em;
    line-height: 1.6;
}
.HeaderLinks {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    font-size: 11px;
    letter-spacing: .12em;
}
.HeaderLinks a {
    font-size: inherit;
	padding-right:15px;
	position:relative;
}
.HeaderLinks a::after{
	content:"";
	display: block;
	width:6px;
	height:6px;
	border-top:1px solid #333333;
	border-right:1px solid #333333;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	right:0px;
	top:50%;
}

.Header .RequestBtn {
    width: 200px;
    margin: 0;
    padding: 7px 22px;
    color: #6b5633;
    border: 1px solid #b3a88f;
    background: transparent;
    font-size: 15px;
}
.Header .RequestBtn::after {
    border-width: 9px 0 9px 9px;
}
.Gnavi ul {
    display: flex;
    justify-content: center;
    width: 88%;
    max-width: 1200px;
    margin: auto;
}
.Gnavi li {
    flex: 1;
    border-left: 1px solid #bcb39e;
    text-align: center;
}
.Gnavi li:last-child {
    border-right: 1px solid #bcb39e;
}
.Gnavi li.none a{
	opacity:0.3;
	cursor:default;
	pointer-events:none;
}
.Gnavi li.none a:hover{
	opacity:0.3;
}
.Gnavi a, .Gnavi span {
    display: block;
    padding: 10px 4px;
	letter-spacing:1px;
    font-size: 12px;
    white-space: nowrap;
}
.Gnavi span {
    color: #8e8676;
}
.MenuBtn {
    display: none;
}
@media (max-width: 678px){
	
	.Header > .Area {
		height:auto;
		gap:0;
		padding:12px 2px;
	}
	.Logo {
		gap: 10px;
		width: 260px;
	}
	.Logo img {
		width: 110px;
		max-height: 65px;
		object-fit: contain;
	}
	.Logo span {
		font-size: 11px;
		letter-spacing: .12em;
		line-height: 1.4;
	}
	.HeaderLinks {
		display:none;
	}
	
	.Header .RequestBtn {
		display:none;
	}
	.Gnavi{
		display:none;
	}
	.Gnavi ul {
		width:100%;
		padding:20px 5% 50px 5%;
		position:fixed;
		top:68px;
		left:0;
		justify-content: space-between;
		flex-wrap:wrap;
		background:rgba(242,236,226,0.75);
		backdrop-filter: blur(8px);
	}
	.Gnavi li {
		flex:none;
		width:46%;
		border:none !important;
		border-bottom:solid 1px #7d6943 !important;
	}
	.Gnavi a{
		padding: 16px 0;
		text-align:center;
		letter-spacing:1px;
		font-size: 14px;
	}
	
	#MenuBtn{
		display:block;
		position:fixed;
		top:13px;
		right:25px;
		width:40px;
		height:60px;
		text-decoration:none;
		color:#333333;
		cursor:pointer;
		z-index:101;
	}
	#MenuBtn span {
		position: absolute;
		left: 18px;
		width: 70%;
		height: 1px;
		background:#333333;
		border-radius: 1px;
		transition:all 0.5s;
	}
	#MenuBtn span:nth-of-type(1) {
	  top: 12px;
	}
	#MenuBtn span:nth-of-type(2) {
	  top: 20px;
	}
	#MenuBtn span:nth-of-type(3) {
	  bottom: 30px;
	}
	
	#MenuBtn.active span:nth-of-type(1) {
	  transform: translateY(9px) rotate(-45deg);
	}
	#MenuBtn.active span:nth-of-type(2) {
	  opacity: 0;
	}
	#MenuBtn.active span:nth-of-type(3) {
	  transform: translateY(-8px) rotate(45deg);
	}
	
	
	#MenuBtn i {
		font-style:normal;
		position: absolute;
		left: 0;
		bottom:5px;
		width: 100%;
		display:block;
		text-align:center;
		letter-spacing:1px;
		font-size:10px;
		transition:all 0.5s;
	}
	#MenuBtn i.c {
		opacity:0;
	}
	#MenuBtn.active i.o{
		opacity:0;
	}
	#MenuBtn.active i.c{
		opacity:1;
	}
	
}




/* MainVisual / Read
---------------------------------------------------------------------- */
.MainVisual {
	position:relative;
}
.MainVisual h1 img{
	width:100%;
	position:absolute;
	top:-40px;
	left:0;
	opacity:0;
	transition:all 1.25s;
}
.MainVisual h1 img.move{
	top:0;
	opacity:1;
}
.Read {
    padding: 38px 0 78px;
    background: #e6e0cb url(../img/texture.jpg) repeat;
}
.ReadLogo {
    width: 258px;
    margin: 0 auto 45px;
}
.Read h2 {
    text-align: center;
    color: #6b5633;
    font-size: 30px;
    line-height: 1.8;
    letter-spacing: .15em;
    margin-bottom: 42px;
}
.PointList {
    display: flex;
    flex-wrap: wrap;
    gap: 26px 2%;
    max-width: 1080px;
    margin: auto;
}
.PointList li {
    width: 23.5%;
}
@media (max-width: 678px){
	.Read {
		padding: 24px 0 38px;
	}
	.ReadLogo {
		width: 190px;
		margin: 0 auto 25px;
	}
	.Read h2 {
		font-size: 20px;
		line-height: 1.7;
		margin-bottom: 24px;
	}
	.PointList {
		gap: 12px 4%;
	}
	.PointList li {
		width: 48%;
	}
}




/* Information
---------------------------------------------------------------------- */
.Information {
    padding: 90px 0 100px;
}
.InformationRow {
    display: flex;
    justify-content: space-between;
    gap: 6%;
}
.InformationBox {
    border: 3px solid #e5dfce;
    padding: 30px 24px;
    width: 50%;
    min-height: 210px;
    text-align: center;
}
.InformationBox h2 {
    border-bottom: 1px solid #6b6046;
    color: #6b6046;
    font-size: 17px;
    line-height: 1.7;
}
.InformationBox p {
    color: #b5091f;
    font-size: 22px;
    margin-top: 18px;
    letter-spacing: .2em;
}
.InformationContact {
    flex: 1;
    min-width: 0;
}
.Contact {
    text-align: center;
}
.Contact > p:first-child {
    font-size: 13px;
    letter-spacing: .18em;
}
.Tel {
    display: block;
    max-width: 403px;
    margin: 15px auto 10px;
	cursor:default;
}
.Tel:hover{
	opacity:1;
}
.Contact .ContactHours {
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: .1em;
}
.InformationContact .RequestBtn {
    margin-top: 14px;
}
@media (max-width: 678px){
	.Information {
		padding: 40px 0 45px;
	}
	.InformationRow {
		gap: 0;
		display:block;
	}
	.InformationBox {
		padding: 24px 18px;
		width: 100%;
		margin-bottom:20px;
		min-height:auto;
	}
	.InformationBox h2 {
		font-size: 16px;
		letter-spacing:2px;
		line-height: 1.55;
	}
	.InformationBox p {
		font-size: 18px;
		margin-top: 12px;
		line-height:145%;
	}
	.Contact > p:first-child {
		font-size: 12px;
	}
	.Contact .ContactHours {
		font-size: 11px;
		line-height: 1.45;
	}
	.InformationContact .RequestBtn {
		margin-top: 12px;
	}
}






/* Concept
---------------------------------------------------------------------- */
.Concept > .Area {
    padding-top: 60px;
    padding-bottom: 100px;
}
.ConceptLead {
    color: #6b6046;
    text-align: center;
    font-size: 30px;
    letter-spacing: .13em;
    line-height: 1.9;
    margin-bottom: 50px;
}
.ConceptLead span {
    display: block;
    font-size: 23px;
}
figcaption {
    font-size: 12px;
    line-height: 1.8;
    letter-spacing: .05em;
}
.ConceptText {
    color: #6b6046;
    margin-top: 60px;
    text-align: center;
    line-height: 2.5;
    letter-spacing: .15em;
}
@media (max-width: 678px){
	.Concept > .Area {
		padding-top: 30px;
		padding-bottom: 60px;
	}
	.ConceptLead {
		font-size: 20px;
		line-height: 1.65;
		margin-bottom: 25px;
	}
	.ConceptLead span {
		font-size: 15px;
	}
	figcaption {
		font-size: 10px;
		line-height: 1.65;
	}
	.ConceptText {
		margin-top: 35px;
		line-height: 195%;
	}
}





/* Location / Shopping
---------------------------------------------------------------------- */
.Location > .Area {
    padding-top: 65px;
    padding-bottom: 110px;
}
.ShoppingList {
    display: flex;
    flex-wrap: wrap;
    gap: 55px 5%;
}
.ShoppingItem {
    width: 47.5%;
}
.ShoppingImage {
    position: relative;
}
.ShoppingImage img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.ShoppingBadge {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 104px;
    height: 104px;
    border-radius: 50%;
    background: #fff;
    color: #8c1a2c;
    text-align: center;
    line-height: 1.4;
    padding-top: 15px;
}
.ShoppingBadge strong {
    font-size: 35px;
    font-weight: 400;
}
.ShoppingName {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 12px 0 16px;
    color: #6b5633;
}
.ShoppingName h4 {
    font-size: 22px;
    line-height: 1.6;
    font-weight: 500;
}
.ShoppingName p {
    padding: 2px 15px;
    background: #6b5633;
    color: #fff;
    white-space: nowrap;
    font-size: 19px;
}
@media (max-width: 678px){
	.Location > .Area {
		padding-top: 35px;
		padding-bottom: 60px;
	}
	.ShoppingList {
		gap: 30px 0;
	}
	.ShoppingItem {
		width: 100%;
	}
	.ShoppingName {
		margin: 8px 0 12px;
	}
	.ShoppingName h4 {
		font-size: 18px;
		line-height: 1.6;
		font-weight: 500;
	}
	.ShoppingName p {
		padding: 1px 10px;
		font-size: 12px;
	}
	.ShoppingName + p {
		font-size:13px;
	}
}



/* Sports
---------------------------------------------------------------------- */
.Sports {
    margin: 80px -28px 65px;
    padding: 50px 80px 55px;
    background: #EEE4D2;
}
.Sports .PickupTit {
    width: 90%;
}
.Sports .PickupTit h3 {
    border-color: #fff;
}
.SportsMain {
    aspect-ratio: 1.55;
    object-fit: cover;
}
.Sports .SectionText {
    width: 84%;
}
.SportsRow {
    display: flex;
    align-items: flex-start;
    gap: 3%;
    margin-top: 45px;
}
.SportsRow > img, .SportsText {
    width: 48.5%;
}
.SportsRowReverse {
    flex-direction: row-reverse;
}
.SportsText h5 {
    padding: 5px 10px;
    color: #fff;
    background: #7D6943;
    text-align: center;
    letter-spacing: .07em;
    font-size: 18px;
    margin-bottom: 20px;
}
.SportsFacilities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 2%;
}
.SportsFacilities li {
    width: 49%;
    font-size: 16px;
    line-height: 150%;
	margin-bottom:3px;
}
.SportsFacilities li::before, .SportsPrograms li::before {
    content: "■";
    color: #7D6943;
}
.SportsPrograms li {
    font-size: 16px;
    line-height: 150%;
    padding-left: 1.3em;
    text-indent: -1.3em;
	margin-bottom:6px;
}
@media (max-width: 678px){
	.Sports {
		margin: 40px auto 30px;
		padding: 20px;
		background: #EEE4D2;
	}
	.Sports .PickupTit {
		width: 100%;
	}
	.Sports .SectionText {
		width: 90%;
		font-size:14px;
	}
	.SportsRow {
		gap: 0;
		margin-top: 25px;
		display:block;
	}
	.SportsRow > img, .SportsText {
		width: 100%;
		margin-bottom:20px;
	}
	.SportsText h5 {
		padding: 4px 8px;
		font-size: 15px;
		margin-bottom: 12px;
	}
	.SportsFacilities {
		display:block;
		gap: 0;
	}
	.SportsFacilities li {
		width: 100%;
		font-size: 13px;
	}
	.SportsPrograms li {
		font-size: 13px;
	}
}




/* Park / LifeInformation
---------------------------------------------------------------------- */
.ParkPhotos, .LifePhotos, .AccessPhotos {
    display: flex;
    justify-content: space-between;
    gap: 4%;
    margin-top: 40px;
}
.ParkPhotos img, .LifePhotos figure, .AccessPhotos figure {
    width: 30.666%;
}
.ParkPhotos img, .LifePhotos img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.ParkMain {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.Park > .MapImage {
    width: 96%;
    margin: auto;
}
.LifeInformation {
    padding-top: 85px;
}
.MapTit {
    margin-bottom: 22px;
    text-align: center;
    color: #6b6046;
	letter-spacing:2px;
    font-size: 30px;
}
.LifeLead {
    text-align: center;
    font-size: 27px;
    line-height: 1.8;
    letter-spacing: .15em;
    margin: 40px 0;
}
.LifeCategory {
    margin-bottom: 48px;
}
.LifeCategory h4, .LifeList h4 {
    background: #f1ebdf;
    color: #6b6046;
    text-align: center;
    padding: 6px 15px;
    letter-spacing: .13em;
}
.LifeCategory h4{
    font-size: 24px;
}
.LifeList h4 {
    font-size: 20px;
}
.LifePhotos {
    margin-top: 30px;
}
.LifePhotos figcaption {
    margin-top: 8px;
    font-size: 17px;
    line-height: 1.6;
}
.LifeLists {
    display: flex;
    gap: 6%;
    margin-top: 65px;
}
.LifeListColumn {
    width: 47%;
    min-width: 0;
}
.LifeList {
    margin-bottom: 34px;
}
.LifeList h4 {
    text-align: left;
    margin-bottom: 12px;
}
.LifeList dl > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 0;
    font-size: 13px;
    line-height: 1.8;
}
.LifeList dl{
	margin-top:12px;
}
.LifeList dl > div{
	display:flex;
	align-items:baseline;
	font-size:14px;
	line-height:165%;
}
.LifeList dt{
	display:flex;
	flex:1;
	align-items:baseline;
}
.LifeList dt::after{
	content:"";
	flex:1;
	border-bottom:2px dotted #7B7466;
	min-width:10px;
	margin:0 5px;
	position:relative;
	top:-5px;
}
.LifeList dd{
	white-space:nowrap;
}
@media (max-width: 678px){
	.ParkPhotos{
		display: flex;
		justify-content: space-between;
		gap: 4%;
		margin-top: 12px;
	}
	.ParkPhotos img{
		width: 30.666%;
	}
	
	.LifePhotos {
		display: block;
		gap: 0;
		margin-top: 20px;
	}
	.LifePhotos figure{
		width: 100%;
	}
	
	.AccessPhotos {
		display: block;
		gap: 0;
		margin-top: 20px;
	}
	.AccessPhotos figure {
		width: 100%;
	}
	
	.LifeInformation {
		padding-top: 85px;
	}
	.MapTit {
		margin-bottom: 22px;
		text-align: center;
		color: #6b6046;
		letter-spacing:2px;
		font-size: 26px;
	}
	.LifeLead {
		font-size: 20px;
		line-height: 1.7;
		margin: 25px 0;
	}
	.LifeCategory {
		margin-bottom: 48px;
	}
	.LifeCategory h4, .LifeList h4 {
		background: #f1ebdf;
		color: #6b6046;
		text-align: center;
		padding: 6px 15px;
		letter-spacing: .13em;
	}
	.LifeCategory h4{
		font-size: 18px;
	}
	.LifeList h4 {
		font-size: 16px;
	}
	.LifePhotos {
		margin-top: 30px;
	}
	.LifePhotos figcaption {
		margin-top: 6px;
		font-size: 14px;
		line-height: 1.6;
		margin-bottom:20px;
	}
	.LifeLists {
		display: block;
		gap: 0;
		margin-top: 32px;
	}
	.LifeListColumn {
		width: 100%;
		min-width: 0;
	}
	.LifeList {
		margin-bottom: 20px;
	}
	.LifeList h4 {
		margin-bottom: 10px;
	}
	.LifeList dl > div {
		gap:0 6px;
		padding: 2px 0;
		font-size: 12px;
		line-height: 1.6;
	}
	.LifeList dl{
		margin-top:8px;
	}
	.LifeList dl > div{
		display:flex;
		align-items:baseline;
		font-size:11px;
		line-height:165%;
	}
	.LifeList dt{
		display:flex;
		flex:1;
		align-items:baseline;
	}
	.LifeList dt::after{
		content:"";
		flex:1;
		border-bottom:2px dotted #7B7466;
		min-width:10px;
		margin:0 5px;
		position:relative;
		top:-5px;
	}
	.LifeList dd{
		white-space:nowrap;
	}
}





/* Access
---------------------------------------------------------------------- */
.Access > .Area {
    padding-top: 60px;
    padding-bottom: 125px;
}
.AccessLead {
    font-size: 24px;
    letter-spacing: .14em;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 65px;
}
.Access > .Area > .MapImage {
    width: 96%;
    margin: auto;
}
.AccessPhotos {
    margin: 65px 0;
    gap: 2.5%;
}
.AccessPhotos figure {
    width: 31.666%;
}
.AccessPhotos img {
    aspect-ratio: 1.42;
    object-fit: cover;
}
.AccessPhotos figcaption {
    background: #EEE4D2;
    color: #6b6046;
    font-size: 24px;
	font-weight:bold;
    text-align: center;
}
.AccessPhotos strong {
    font-size: 33px;
    font-weight: 400;
}
.AccessStation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #6b6046;
    margin-bottom: 30px;
}
.AccessStation h4 {
    font-size: 18px;
    letter-spacing: .13em;
}
.AccessStation strong {
    font-size: 25px;
    font-weight: 400;
}
.AccessStation p {
    background: #6b5633;
    padding: 4px 35px 4px 65px;
    clip-path: polygon(15% 0,100% 0,100% 100%,0 100%);
    color: white;
    font-size: 22px;
	font-weight:bold;
}
.AccessTimes {
    display: flex;
    flex-wrap: wrap;
    gap: 42px 3%;
}
.AccessTime {
    width: 31.333%;
}
.AccessTime h5 {
    font-size: 26px;
    line-height: 1.5;
    white-space: nowrap;
}
.AccessTime strong {
    color: #9a1932;
    font-size: 48px;
    font-weight: 400;
}
.AccessTime small {
    font-size: 15px;
}
.AccessTime p {
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: .03em;
}
@media (max-width: 678px){
	.Access > .Area {
		padding-top: 30px;
		padding-bottom: 75px;
	}
	.AccessLead {
		font-size: 18px;
		line-height: 1.6;
		margin-bottom: 35px;
	}
	.AccessPhotos {
		margin: 35px 0;
		gap: 0;
		display:block;
	}
	.AccessPhotos figure {
		width: 100%;
		margin-bottom:20px;
	}
	.AccessPhotos figcaption {
		font-size: 18px;
	}
	.AccessPhotos strong {
		font-size: 24px;
	}
	.AccessStation {
		margin-bottom: 15px;
	}
	.AccessStation h4 {
		font-size: 15px;
	}
	.AccessStation strong {
		font-size: 18px;
		font-weight: 400;
	}
	.AccessStation p {
		padding: 4px 7px 4px 0;
		width:115px;
		font-size: 13px;
		text-align: right;
	}
	.AccessTimes {
		gap: 20px 0;
	}
	.AccessTime {
		width: 100%;
	}
	.AccessTime h5 {
		font-size: 18px;
	}
	.AccessTime strong {
		font-size: 32px;
	}
	.AccessTime small {
		font-size: 12px;
	}
	.AccessTime p {
		font-size: 10px;
		line-height: 1.5;
	}
}


/* Bus
---------------------------------------------------------------------- */
.Bus {
    margin: 75px auto -28px auto;
    padding: 45px 60px 50px;
    background: #EEE4D2;
    max-width: 1200px;
}
.Bus h3 {
    font-size: 25px;
    text-align: center;
    letter-spacing: .1em;
    line-height: 1.8;
    margin-bottom: 35px;
}
.BusIntro {
    display: flex;
    align-items: center;
    gap: 7%;
    margin-bottom: 50px;
}
.BusIntro .MapImage {
    width: 53%;
    flex-shrink: 0;
}
.BusIntro p {
    font-size: 16px;
    line-height: 2.2;
}
@media (max-width: 678px){
	.Bus {
		margin: 40px auto 0 auto;
		padding: 20px;
	}
	.Bus h3 {
		font-size: 18px;
		line-height: 1.7;
		margin-bottom: 20px;
	}
	.BusIntro {
		display: block;
		gap: 0;
		margin-bottom: 30px;
	}
	.BusIntro p {
		font-size: 14px;
		line-height: 175%;
		margin-top:20px;
	}
}




/* Footer
---------------------------------------------------------------------- */
.Footer {
    text-align: center;
    padding-bottom: 70px;
    color: #6b6046;
}
.Footer > .Area {
    width: 100%;
    max-width: none;
}
.Footer .Gnavi {
    border-top: 1px solid #bcb39e;
    border-bottom: 1px solid #bcb39e;
}
.FooterLogo {
    display: block;
    width: 258px;
    margin: 42px auto;
}
.FooterLinks {
    display: flex;
    justify-content: center;
    gap: 28px;
    margin: 30px 0;
    font-size: 14px;
    letter-spacing: .12em;
}
.FooterLinks a{
	padding-right:8px;
	position:relative;
}
.FooterLinks a::after{
	content:"";
	display: block;
	width:6px;
	height:6px;
	border-top:1px solid #333333;
	border-right:1px solid #333333;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	right:0px;
	top:50%;
}
.Footer .Contact {
    color: #292722;
    width: 88%;
    margin: auto;
}
.CompanyLinks {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3%;
    width: 88%;
    max-width: 1200px;
    margin: 85px auto 0;
}
.CompanyLinks > div {
    width: 22.75%;
}
.CompanyLinks p {
    font-size: 11px;
    margin-bottom: 8px;
	text-align:left;
}
.CompanyLinks a {
    display: flex;
    height: 66px;
    align-items: center;
    justify-content: center;
}
.CompanyLinks img {
    max-height: 65px;
    object-fit: contain;
}
@media (max-width: 678px){
	.Footer {
		padding-bottom: 100px;
	}
	.FooterLogo {
		width: 180px;
		margin: 30px auto;
	}
	.FooterLinks {
		gap: 20px;
		margin: 20px 0;
		font-size: 13px;
	}
	.FooterLinks a{
		padding-right:12px;
		position:relative;
	}
	.CompanyLinks {
		display:block;
		gap: 0;
		width: 50%;
		margin: 55px auto 0;
	}
	.CompanyLinks > div {
		width: 100%;
		margin-bottom:5px;
	}
	.CompanyLinks p {
		font-size: 10px;
	}
	.CompanyLinks a {
		height: 48px;
	}
}










.SpSwipeTx{
	display:none;
}
@media (max-width: 678px){
	.SpSwipeImg{
		width:100%;
		overflow:scroll;
	}
	.SpSwipeImg img{
		width:700px;
	}
	.SpSwipeTx{
		display:block;
		margin-top:5px;
		font-size:10px;
		color:#AA0000;
		text-align:center;
	}
	.SpSwipeTx.w{
		color:#FFFFFF;
	}
}



#SPmenu{
	display:none;
}
@media (max-width: 678px){
	#SPmenu{
		display:block;
		position:fixed;
		width:100%;
		bottom:0;
		left:0;
		z-index:10;
	}
	#SPmenu ul{
		display:flex;
		flex-wrap: wrap;
		justify-content:space-between;
	}
	#SPmenu ul li{
		/*width:25%;*/
		width:33.3333%;
		position:relative;
		background:#FFFFFF;
	}
	#SPmenu ul li::after{
		content:"";
		display:block;
		width:1px;
		height:100%;
		background:#AFAFAF;
		position:absolute;
		top:0;
		right:0;
	}
	#SPmenu ul li:last-child::after{
		display:none;
	}
	#SPmenu ul li a{
		display:block;
	}
	#SPmenu ul li a img{
		width:60px;
		margin:auto;
	}
	#SPmenu ul li.req{
		background:#BF1424;
	}
	#SPmenu ul li.res{
		background:#BC5F24;
	}
}





.LowContents{
	width:100%;
	margin-top:80px;
	padding:90px 0 60px 0;
}
.LowContents .Area{
	width:88%;
	max-width:960px;
	margin:auto;
}
.LowContents .Area h2{
	font-size:24px;
	text-align:center;
	letter-spacing:4px;
	color:#333333;
	margin-bottom:25px;
}
.LowContents .Area .Img{
	width:100%;
	margin-bottom:40px;
}
.LowContents .Area .Img a{
	display:block;
	width:250px;
	margin:30px auto 0 auto;
	border:solid 1px #333333;
	border-radius:1000px;
	padding:12px 0;
	color:#333333;
	font-size:16px;
	font-weight:bold;
	text-align:center;
	letter-spacing:2px;
}
.LowContents .Area .MapAside{
	margin:auto;
	margin-bottom:60px;
	width:80%;
}
.LowContents .Area .MapAside h3{
	font-size:16px;
	text-align:center;
	letter-spacing:2px;
	margin-bottom:10px;
	color:#333333;
	font-weight:550;
}
.LowContents .Area .MapAside p{
	font-size:20px;
	font-weight:550;
	text-align:center;
	padding:15px 0;
	border-top:solid 1px #333333;
	border-bottom:solid 1px #333333;
	letter-spacing:2px;
	margin-bottom:10px;
	color:#333333;
}
.LowContents .Area .MapAside span{
	display:block;
	font-size:16px;
	font-weight:550;
	text-align:center;
	letter-spacing:2px;
	color:#333333;
}
.CtaLink{
	width:100%;
	text-align:center;
}
.CtaLink a{
	display:inline-block;
	width:35%;
	margin:0 2.5%;
	background:#686d71;
	color:#FFFFFF;
	text-align:center;
	font-size:20px;
	letter-spacing:3px;
	font-weight:500;
}
.CtaLink a span{
	padding:12px 0;
	position:relative;
	display:block;
	height:100%;
}
.CtaLink a span::after{
	content:"";
	width:15px;
	height:15px;
	background:url(../img/link_allow.svg) no-repeat center center;
	background-size:15px;
	position:absolute;
	bottom:4px;
	right:4px;
}
@media (max-width: 678px){
	.LowContents{
		padding:40px 0 60px 0;
	}
	.LowContents .Area h2{
		font-size:20px;
		letter-spacing:3px;
		margin-bottom:20px;
	}
	.LowContents .Area .Img{
		margin-bottom:35px;
	}
	.LowContents .Area .Img a{
		width:210px;
		margin:22px auto 0 auto;
		padding:10px 0;
		font-size:14px;
	}
	.LowContents .Area .MapAside{
		margin-bottom:40px;
		width:100%;
	}
	.LowContents .Area .MapAside h3{
		font-size:13px;
	}
	.LowContents .Area .MapAside p{
		font-size:16px;
		padding:12px 0;
	}
	.LowContents .Area .MapAside span{
		font-size:12px;
	}
	.CtaLink a{
		width:80%;
		margin:10px auto;
		font-size:17px;
		letter-spacing:2px;
	}
	.CtaLink a span{
		padding:14px 0;
	}
	.CtaLink a span::after{
		width:12px;
		height:12px;
		background:url(../img/link_allow.svg) no-repeat center center;
		background-size:12px;
		bottom:3px;
		right:3px;
	}
}


