@charset "utf-8";

.title_area {
	background: url('../images/location/title_location.jpg') no-repeat;
	background-size: 100%;
}

.lead_area {
	display: block;
	margin:1em auto 3em;
	width:100%;
}

.lead_area > div {
	box-sizing: border-box;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
}

.lead_area > div .lead_txt {
	display: block;
	padding:2em 0;
	width:86%;
	margin:0 auto;
}

.lead_area > div h4 {
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.08em;
	font-size: 1.4em;
	font-weight: 700;
	margin-bottom:1em;
}

.lead_area > div h4 span {
	display: inline-block;
	font-weight: 700;
}

.lead_area > div p {
	margin-bottom:2em;
	text-align: justify;
	line-height: 1.8;
}

.lead_area > div dl dt {
	font-family: "M PLUS 1p", "メイリオ", "Meiryo", sans-serif;
	font-weight:600;
	font-size: 1.1em;
	padding-bottom:0.4em;
}

section#location .container,
section#access .container {
	max-width: 1080px;
	padding-bottom:3em;
}

section#access .container {
	padding-top:1em;
}

section#location .container > ul,
section#access ul {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	gap:3vw;
}

section#location .container > ul li,
section#access ul li {
	width:calc((100% - 3vw)/2);
	padding-bottom:6px;
}

section#location .container > ul li figcaption,
section#access .container > div:nth-of-type(2) figcaption {
	font-family: "M PLUS 1p", "メイリオ", "Meiryo", sans-serif;
	font-weight:600;
	font-size:1em;
	line-height: 1.5;
	margin-top:0.6em;
	text-align: justify;
	color:#330;
}

section#location .container > ul li figcaption span,
section#access .container > div:nth-of-type(2) figcaption span {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	font-weight:400;
	display: block;
	font-size:0.9em;
	color:#000;
	padding-top:0.3em;
}

section#location ul + h4 {
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.08em;
	font-weight: 700;
	text-align: center;
	margin:3em 0 1em;
	color:#330;
	font-size: 1.3em;
}

section#location ul + h4 + p {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	margin-bottom:1.5em;
	color:#330;
}

.location_list {
	margin:2em auto 2.4em;
	max-width:420px;
}

.location_list > div {
	clear: both;
	margin:2.6em 0;
}

.location_list > div:nth-of-type(6) {
	margin-bottom:0.5em;
}

main section .location_list h3 {
	font-size: 3.6vw;
	font-family: "Sawarabi Mincho", serif;
	border-bottom:solid 2px #966;
	text-align: left;
	color:#966;
	letter-spacing: 0;
}

main section .location_list h3 span {
	font-size: 1.6em;
	letter-spacing: 0;
	font-family: "Bodoni Moda", serif;
	padding-right:0.5em;
}

.location_list dl {
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-weight:500;
	width:100%;
	clear: both;
	line-height: 1.4;
	padding:1em 0;
	border-bottom:solid 1px #966;
	display: block;
	overflow: hidden;
	font-size:3.3vw;
}

.location_list dl dt {
	float:left;
	font-weight:600;
}

.location_list dl dd {
	float:right;
	padding-left:0.6em;
	font-weight:400;
}

.location_list .note {
	font-size: 12px;
	text-align: left;
	margin-top:1em;
}

.map_area {
	display: block;
	max-width: 960px;
	margin:0 auto;
	text-align: center;
}

.map_area > a {
	font-family: "M PLUS 1p", "メイリオ", "Meiryo", sans-serif;
	background: #330;
	color:#FFF;
	font-size:4vw;
	padding:0.4em 2em;
	margin:1em 0;
	display: inline-block;
}

.map_area > a img {
	display: inline-block;
	vertical-align: middle;
	width:1.7em;
	height:auto;
	margin:0 0.5em 0.1em 0;
}

.map_area > a:hover {
	text-decoration: none;
}

.map_code {
	display: inline-block;
}

.map_code address,
.map_code p {
	font-family: "M PLUS 1p", "メイリオ", "Meiryo", sans-serif;
	color:#330;
	font-weight:700;
	text-align: left;
	line-height: 1.4;
}

.map_code address {
	font-size:4.5vw;
	margin-bottom:0.3em;
}

.map_code p {
	font-size:13px;
	margin-bottom:1em;
}

.map_code + p {
	font-size: 11px;
	margin-top:1em;
	text-align: left;
	display: inline-block;
}

/* access ------------------------------*/

section#access .container > div:nth-of-type(1) img {
	margin:0 0 1.5em;
}

section#access .container > div p {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	line-height: 1.8;
	margin-bottom:1em;
	color:#330;
}

section#access .container > div p strong {
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.08em;
	font-size: 1.2em;
	font-weight: 700;
	display: block;
	line-height: 1.6;
	margin-bottom:1em;
}

section#access .container > div p strong span {
	display: inline-block;
	font-weight: 700;
}

section#access .container > div.route_map p strong {
	display: inline;
	color:#966;
	font-size: 1.5em;
}

section#access .container > div {
	margin-bottom:3em;
}

section#access .container > div.route_map {
	margin:0 auto;
	max-width: 960px;
}

section#access .container > div:nth-of-type(1) {
	margin-top:1.5em;
	overflow: hidden;
}

section#access .container > div:nth-of-type(2) figure {
	margin-bottom:2em;
}

section#access .container > div.route_map p {
	font-family: "Noto Serif JP", serif;
	font-size:1.6em;
}

section#access .container > div.route_map > p {
	margin-top:1em;
}


section#access .container > div.route_map p span {
	font-size:0.8em;
}

section#access .container > div.route_map h4 {
	font-family: "Noto Serif JP", serif;
	background: #330;
	color:#FFF;
	text-align: center;
	font-size: 1.5em;
	display: block;
	padding:0.5em 0;
	line-height: 1.2;
}

section#access .container > div.route_map h4 span {
	font-size: 0.8em;
}

section#access .container > div.route_map dl {
	font-family: "Noto Serif JP", serif;
	font-size: 1.6em;
	position: relative;
	margin:1em 0;
}

section#access .container > div.route_map dl dt {
	font-size: 0.8em;
	color:#330;
	position: absolute;
	top:0;
	left:0;
}

section#access .container > div.route_map dl dd {
	font-family: "Noto Serif JP", serif;
	padding-top:0.6em;
	line-height: 1.3;
	color:#330;
}

section#access .container > div.route_map dl dd strong {
	font-size:1.5em;
	color:#966;
}

section#access .container > div.route_map p.note {
	font-size: 12px;
	line-height: 1.3;
	margin-bottom:0;
}

section#access .container > div.route_map p.note span {
	font-size: 1.0em;
	display: inline-block;
}


@media screen and (min-width: 480px) {

.lead_area > div h4 {
	font-size: 1.3em;
}

section#location ul + h4 + p {
	text-align: center;
}

section#location ul + h4 + p br.pc {
	display: block;
}

.location_list h3 {
	font-size: 17px;
}

.location_list dl {
	font-size: 13px;
}

.location_list dl dt {
	font-weight: normal;
}

.location_list dl dt,
.location_list dl dd {
	font-weight:500;
}

.map_area > a {
	font-size: 18px;
	padding:0.6em 3em;
	margin:2em 0;
}

.map_code address {
	font-size:1.6em;
}

/* access ------------------------------*/



}

@media screen and (min-width: 640px) {

/* access ------------------------------*/

section#access .container > div.route_map > p {
	margin-top:0;
}

section#access .container > div.route_map h4,
section#access .container > div.route_map dl {
	display: inline-block;
	vertical-align: top;
}

section#access .container > div.route_map h4 {
	font-size: 1.3em;
	padding:1em;
}

section#access .container > div.route_map h4 span {
	display: block;
}

section#access .container > div.route_map dl {
	margin:0;
}

section#access .container > div.route_map h4 + dl {
	margin-left:0.4em;
}

section#access .container > div.route_map .route_map_inner div {
	display: flex;
	margin:1.5em 0;
	gap:0 20px;
}

section#access .container > div.route_map .route_map_inner div dl {
	min-width: 12em;
}

section#access .container > div.route_map .route_map_inner div dl:nth-of-type(2) {
	width: 100%;
}

section#access .container > div.route_map .route_map_inner div dl dd br.pc {
	display: block;
}

}


@media screen and (min-width: 768px) {

.lead_area {
	display: flex;
	justify-content: space-between;
}

.lead_area > div {
	width: 50%;
}

.lead_area > div p {
	font-size: 15px;
}

.lead_area figure {
	position: relative;
	overflow: hidden;
	width: 50%;
}

.lead_area figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: auto;
	height: 100%;
}

section#location .container > ul {
	gap:14px;
}

section#location .container > ul li {
	width: calc((100% - 28px) / 3);
}

section#location .container > ul li figcaption {
	font-size: 14px;
}

section#location .container > ul li figcaption span {
	font-size: 13px;
}

.location_list {
	max-width: 960px;
	display: flex;
	align-items: flex-start;
	justify-content: left;
	flex-wrap: wrap;
	gap:0 20px;
}

.location_list > div {
	width:calc((100% - 20px)/2);
	margin:15px 0;
}

.location_list > div:nth-of-type(5),
.location_list > div:nth-of-type(6) {
	margin-bottom:4px;
}

main section .location_list h3 {
	font-size: 1.75vw;
}

#location .container > a {
    font-size: 23px;
    padding:0.3em 0.8em;
    gap:0;
}

#location .container > a i {
	width:1.3em;
}

.map_area > a {
	font-size: 23px;
	padding:;
}

.map_code {
	display: block;
	width:100%;
}

.map_code address,
.map_code p {
	text-align: center;
}

.map_code img {
	width: 466px;
}

/* access ------------------------------*/

section#access .container > div:nth-of-type(1) {
	margin-bottom:1em;
}

section#access .container > div:nth-of-type(1) img {
	float:right;
	margin:0 0 15px 30px;
	width:calc((100% - 30px)/2);
}

section#access .container > div p {
	font-size: 15px;
}

section#access .container > div:nth-of-type(2) > figure {
	float:left;
	width:calc((100% - 30px)/2);
	margin:0 30px 2em 0;
}

}


@media screen and (min-width: 1040px) {

section#location .container,
section#access .container {
	padding-bottom:4em;
}

section#access .container {
	padding-top:2em;
}

section#location .container > ul {
	gap:30px;
}

section#location .container > ul li {
	width: calc((100% - 90px) / 4);
}

section#location .container > ul li figcaption {
	font-size: 15px;
}

section#location .container > ul li figcaption span {
	font-size: 14px;
}

main section .location_list h3 {
	font-size: 19px;
}

.location_list {
	gap:0 30px;
}

.location_list > div {
	width:calc((100% - 30px)/2);
}

.map_code {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.map_code img {
	width:calc((100% - 30px)/2);
}

.map_code p {
	margin-bottom:0;
}

.map_code + p {
	margin-top:4px;
}

/* access ------------------------------*/

section#access .container > div:nth-of-type(2) {
	clear:both;
}

section#access .container > div:nth-of-type(2) > p {
	float:right;
	width:calc((100% - 30px)/2);
}

section#access .container > div:nth-of-type(2) ul {
	clear:right;
}

section#access .container > div.route_map {
	position: relative;
}

section#access .container > div.route_map > p {
	position: absolute;
	top:0;
	right:0;
	padding-top:0.5em;
	font-size: 23px;
}

section#access .container > div.route_map > p span {
	display: block;
	position: absolute;
	top:0;
	left:0;
}

section#access .container > div.route_map img {
	margin-bottom:3em;
}

section#access .container > div.route_map .route_map_inner {
	position: absolute;
	bottom:2em;
	left:0;
}

section#access .container > div.route_map > p.note {
	top:auto;
	bottom:0;
}
section#access .container > div.route_map > p.note span {
	position: relative;
}

section#access .container > div.route_map h4 {
	font-size: 15px;
	letter-spacing: 0.1em;
}

section#access .container > div.route_map .route_map_inner dl {
	font-size: 22px;
}

section#access .container > div.route_map .route_map_inner div dl {
	font-size: 19px;
}


}


@media screen and (min-width: 1116px) {

.lead_area > div .lead_txt {
	width:510px;
	margin:0 auto 0 30px;
}

/* access ------------------------------*/


}


@media screen and (min-width: 1240px) {

.lead_area figure img {
	width:100%;
	height:auto;
}

}
