@charset "utf-8";
/* ===================================================
	Access CSS
====================================================== */

#sec01 { padding-top: 120px;  position: relative; }
#sec01::before { content: ''; background: url(../img/lead_bg01.png) no-repeat left top/contain; width: 674px; height: 746px; position: absolute; top: -230px; left: -220px; z-index: -1; }

.gmap_col { padding-bottom: 500px; position: relative; }
.gmap_col iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

@media screen and (max-width: 600px){
	#sec01 { padding-top: 60px; }
	#sec01::before { width: 90vw; height: 95vw; top: -25vw; left: -25vw; }
	.gmap_col { width: 100%; padding-bottom: 300px; }
}

/* ---------------------------------------------------
	address
------------------------------------------------------ */

.address_layout { display: flex; justify-content: space-between; align-items: center; padding: 60px 0 85px; }
.address_layout > div { position: relative; }
.address_layout .tit_address { font-size: 26px; padding: 5px 0 30px; letter-spacing: 0.1em; }
.address_layout > div dl div { display: flex; flex-wrap: wrap; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #d1ccc7; letter-spacing: 0.1em; }
.address_layout > div dl div:last-child { margin-bottom: 0; }
.address_layout > div dl dt { width: 145px; }
.address_layout > div dl dd { flex-grow: 1; }
.address_layout .googlemap_link { display: flex; justify-content: flex-end; }
.address_layout .googlemap_link a { display: flex; justify-content: center; align-items: center; margin-top: 20px; letter-spacing: 0.1em; }
.address_layout .googlemap_link a::before { content: ''; background: url(../img/icon_map.svg) no-repeat center left; width: 14px; height: 21px; background-size: contain; margin-right: 5px; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
.address_layout > p { width: 380px; }
.address_layout > div { width: 550px; }
}

@media screen and (max-width: 600px){
	.address_layout { flex-direction: column; padding: 40px 0 60px; }
	.address_layout > div { padding-top: 15px;}
	.address_layout .tit_address { font-size: 20px; padding-bottom: 15px; }
	.address_layout > div dl div { padding: 0 2% 10px; margin-bottom: 10px;  }
	.address_layout > div dl dt,
	.address_layout > div dl dd { width: 100%; }
	.address_layout > div dl dt { margin-bottom: 0; padding: 0 0 5px; }
	.address_layout .googlemap_link a { margin-top: 20px; }
	.address_layout .googlemap_link a::before { width: 12px; height: 19px; }
}


/* ---------------------------------------------------
	access
------------------------------------------------------ */
section:has(.access_layout) { background: url(../img/bg02.jpg);}
section:has(.access_layout) .cmn_tit01 { margin-bottom: 75px; }
.access_layout { padding-bottom: 180px; }
.access_layout > div { padding-bottom: 30px; }
.access_layout > div:last-child { padding-bottom: 0; }
.access_layout > div dt { padding: 0 0 15px 10px; letter-spacing: 0.1em; }
.access_layout > div dd { line-height: 2.2; }
.access_layout > div .table_layout { display: flex; flex-wrap: wrap; border-bottom: 1px solid #aeaeae; }
.access_layout > div .table_layout:not(:has(+ .table_layout)) { margin-bottom: 40px;  }
.access_layout > div .table_layout dt { width: 210px; text-align: center; padding: 30px 0; background: #faf6eb; display: flex; align-items: center; justify-content: center; }
.access_layout > div .table_layout dd { padding: 20px 10px 20px 40px; width: calc(100% - 210px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; line-height: 1.8; letter-spacing: 0.1em; }
.access_layout > div .table_layout dd div:not(:first-child) { border-top: 1px dashed #aeaeae; margin-top: 12px; padding-top: 12px; }
.access_layout > div .table_layout dd ul li:last-child { padding-bottom: 0; }
.access_layout > div dd .note_col { background: #faf6eb; padding: 30px; margin-top: 25px; }
.access_layout > div dd .note_col > span { margin-left: 30px; letter-spacing: 0.1em;  }
.access_layout .bottom_link { margin-top: 45px; display: flex; flex-wrap: wrap; gap: 70px 45px; }
.access_layout .bottom_link li a { display: flex; align-items: center; }
.access_layout .bottom_link li:not(.googlemap_link) a:after { content: ''; margin-left: 5px; width: 17px; height: 17px; border-radius: 50px; border: 0.8px solid #636361; background: url(../img/arrow01_bk.svg) no-repeat center/7px; transform: rotate(-90deg); }
.access_layout .bottom_link .googlemap_link { width: 100%; display: flex; justify-content: center; }
.access_layout .bottom_link .googlemap_link a { font-size: 16px; background: var(--color04); color: #fff; justify-content: center; text-align: left; width: 300px; height: 60px; letter-spacing: 0.1em; }
.access_layout .bottom_link .googlemap_link a::before { content: ''; width: 14px; height: 21px; background: url(../img/icon_map.svg) no-repeat center/contain; margin-right: 15px; display: block; }
.access_layout .bus_icon::before { right: calc(50% - 48px); }
.access_layout .train_icon::after { right: calc(50% + 2px); }

#sec02 { padding-top: 100px;}
#sec04 { margin-bottom: 25px; position: relative; overflow: hidden; }
#sec04 > * { position: relative; z-index: 1; }
#sec04::before { content: ''; background: url(../../access/img/sec_bg01.png) no-repeat left top/contain; width: 674px; height: 590px; position: absolute; bottom: -220px; right: -125px; z-index: 0; }


@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
	.access_layout > div .table_layout dd ul { display: flex; flex-wrap: wrap; }
}
@media screen and (max-width: 600px){
	section:has(.access_layout) .cmn_tit01 { margin-bottom: 30px; }
	.access_layout { padding-bottom: 80px; }
	.access_layout > div { padding-bottom: 40px; }
	.access_layout > div dt { padding: 0 0 10px; }
	.access_layout > div dd { line-height: 1.8; }
	.access_layout > div .table_layout { border-bottom: none; }
	.access_layout > div .table_layout dt { width: 100%; padding: 8px 2%; }
	.access_layout > div .table_layout dd div:not(:first-child) { margin-top: 10px; padding-top: 10px; }
	.access_layout > div .table_layout dd { padding: 10px 2% 25px; width: 100%; }
	.access_layout > div .table_layout dd ul li { display: inline; }
	.access_layout > div .table_layout:not(:has(+ .table_layout)) { margin-bottom: 30px; border-bottom: 1px solid #aeaeae; }
	.access_layout > div dd .note_col { padding: 20px 6%; margin-top: 20px; }
	.access_layout > div dd .note_col > span { display: block; margin: 5px 0 0; }
	.access_layout .bottom_link { margin-top: 30px; gap: 15px 25px; }
	.access_layout .bottom_link .googlemap_link { font-size: 14px; margin-top: 20px; }
	.access_layout .bottom_link:has(> li:not(.googlemap_link)) .googlemap_link { margin-top: 15px; }
	.access_layout .bottom_link .googlemap_link a { width: min(300px, 100%); font-size: 14px; height: 50px; }
	.access_layout .bottom_link .googlemap_link a::before { width: 12px; height: 19px; padding-right: 10px; }

	#sec02 { padding-top: 60px;}
	#sec04 { margin-bottom: 10px; }
	#sec04::before { width: 90vw; height: 95vw; bottom: -40vw; right: -35vw; }
	#sec04 dl dd { filter: drop-shadow(0 0 3px var(--color01)) drop-shadow(0 0 3px var(--color01)); }
}
