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

:root {
	--tit-font-size: 30px;
}
@media screen and (max-width: 600px) {
	:root {
		--tit-font-size: 22px;
	}
}

section:nth-child(odd) { background: url(../img/bg_w.gif); }
section:nth-child(even) { background: url(../img/bg_y.gif); }
.link_run::before { height: 2px; background-color: #c4bcaa; }
@media screen and (max-width: 600px) {
	.cmn_tit.v_rl { margin-bottom: 30px;; }
}


/* ---------------------------------------------------
	#sec01
------------------------------------------------------ */
#sec01 { padding: 145px 0 155px; }
#sec01 .add_col .txt p:last-child { text-align: right; margin-top: 20px; }
#sec01 .add_col .map_link { margin-top: 15px; font-size: 18px; }
#sec01 .add_col .map_link::before { content: ''; display: inline-block; width: 23px; height: 33px; margin-right: 12px; background: url(../../access/img/ico_pin.svg)no-repeat center/contain; vertical-align: bottom; }
#sec01 .add_col h3 { margin-bottom: 10px; font-size: var(--tit-font-size); }
#sec01 .add_col dl { display: flex; flex-wrap: wrap; }
#sec01 .add_col dt,
#sec01 .add_col dd { box-sizing: border-box; padding: 18px 5px; border-bottom: 1px solid #c4bcaa; }
#sec01 .add_col dt { width: 145px; }
#sec01 .add_col dd { width: calc(100% - 145px); }
#sec01 .add_col dd span:not([class]) { display: inline-block; }
#sec01 .add_col dd li { padding-left: 0.5em; text-indent: -0.5em; }
#sec01 .add_col dd li::before { content: '・'; }

@media screen and (hover: hover) {}
@media screen and (min-width: 601px) {
	#sec01 .add_col { display: flex; margin-top: 85px; }
	#sec01 .add_col .img { flex-shrink: 0; width: 45.8%; }
	#sec01 .add_col .txt { padding: 15px 0 0 5.8%; }
}
@media screen and (max-width: 600px) {
	#sec01 { padding: 13vw 0 14vw; }
	#sec01 .googlemap iframe { height: max(240px,60vw); }
	#sec01 .add_col { margin-top: 8vw; }
	#sec01 .add_col .txt { margin-top: 1.5em; }
	#sec01 .add_col .map_link::before { width: 18px; height: 25px; }
	#sec01 .add_col dt { width: 110px; }
	#sec01 .add_col dd { width: calc(100% - 110px); }
}


/* ---------------------------------------------------
	#sec02
------------------------------------------------------ */
.red { color: #ae0000; }
.cmn_table_03 { border-top: 1px solid #c4bcaa; }
.cmn_table_03>dt,
.cmn_table_03>dd { box-sizing: border-box; }
.cmn_table_03>dt { display: flex; justify-content: center; align-items: center; background: #e9e4d5; text-align: center; }
.cmn_table_03>dt span { display: inline-block; margin-left: .5em; }
.cmn_table_03>dd dt { color: #847752; }
.cmn_table_03>dd dd:not(:last-of-type) { margin-bottom: 35px; }

#sec02 { padding: 130px 0; }
.route_col:not(:last-of-type) { margin-bottom: 70px; }
.route_col h3 { margin-bottom: 25px; font-size: var(--tit-font-size); }
.route_col h3+.note { margin-bottom: 1.5em; }
.info { padding: 30px 40px; background: rgba(255 255 255/50%); }
.info:not(:last-of-type) { margin-bottom: 12px; }
.info .txt { padding-right: 2.5%; }
.info .tit { margin-bottom: .75em; font-weight: bold; font-size: 18px; }
.info .txt p:not([class])+p { margin-top: 1em; }
.info .img { flex-shrink: 0; display: flex; gap: 4px; }
.info .img>p { position: relative; }
.info .img>p span { position: absolute; background: #000; color: #fff; font-size: 14px; padding: 3px 6px; }
.info .red { text-decoration: underline; }
.route_col .link_col { display: flex; justify-content: flex-end; margin-top: 30px; }
.route_col .link_col a { position: relative; display: block; padding-right: 35px; }
.route_col .link_col a::after { position: absolute; top: calc(50% - 10px); right: 0; content: ''; display: block; width: 20px; height: 20px; background: url(../../access/img/ico_link.svg)no-repeat center/contain; }

@media screen and (hover: hover) {
	.route_col .link_col a:hover .link_run::before { width: 100%; }
}
@media screen and (min-width: 601px) {
	.cmn_table_03 { display: flex; flex-wrap: wrap; }
	.cmn_table_03>dt, .cmn_table_03>dd { padding: 30px 0; border-bottom: 1px solid #c4bcaa; }
	.cmn_table_03>dt { width: 180px; padding: 30px 15px; }
	.cmn_table_03>dt span { display: block; margin: 0; }
	.cmn_table_03>dd { width: calc(100% - 180px); padding: 30px; }
	.info.flex { display: flex; align-items: flex-start; margin-top: 45px; }
	.route_col .link_col li:not(:last-child) { margin-right: 45px; }
}
@media screen and (max-width: 600px) {
	.cmn_table_03 { border-bottom: 1px solid #c4bcaa; }
	.cmn_table_03>dt { padding: 12px 3%; }
	.cmn_table_03>dd { padding: 18px 3%; }
	.cmn_table_03>dd dd:not(:last-of-type) { margin-bottom: 20px; }
	#sec02 { padding: 12vw 0 16vw; }
	.route_col h3 { margin-bottom: 15px; }
	.info { padding: 20px 6%; }
	.info.flex { margin-top: 6vw; }
	.info .tit { font-size: 16px; }
	.info .img { margin-top: 1.5em; }
	.route_col .link_col { flex-wrap: wrap; justify-content: stretch; line-height: 2;}
	.route_col .link_col li { margin-right: 4%; }
	.route_col .link_col a { padding-right: 25px; }
	.route_col .link_col a::after { top: calc(50% - 8px); width: 16px; height: 16px; }
}
