@charset "utf-8";

.sp_size{display:none !important;}

/*#content_wrap{border-bottom:1px solid #ccc;}*/


/*---------- h1 ----------*/
.ttl_wrap.parent{background:url(/img/common/bg.jpg) no-repeat center/cover;}
.parent .ttl_area{margin-bottom:90px;}
.parent .parent_name,
.parent .page_ttl{
	color:#fff;
}

/*.ttl_wrap.child{border-top:1px solid #E6E6E6;}*/
.ttl_area{
	max-width:1140px;
	padding:79px 20px 76px;
	margin:auto;
}
.child .ttl_area{padding:50px 20px 80px;}

.parent_name{
	margin-bottom:0;
	color:#626262;
	font-size:1.4rem;
	letter-spacing:1.4px;
}
.page_ttl{
	font-size:3.1rem;
	font-weight:bold;
	letter-spacing:3.1px;
}


/*---------- pankuzu ----------*/
#pankuzu{
	max-width:1140px;
	padding:0 20px;
	margin:0 auto 30px;
}
#pankuzu ol{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	margin:0;
}
#pankuzu li{
	position:relative;
	list-style:none;
	padding-top:10px;
	margin:0 35px 0 0;
	color:#999;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:1.5;
}
#pankuzu li:last-child{margin-right:0;}
#pankuzu li:not(:last-child)::after{
	content:'';
	display:block;
	position:absolute;
	right:-18px;
	bottom:5px;
	margin:auto;
	width:6px;
	height:6px;
	border-top:1px solid #999;
	border-right:1px solid #999;
	transform:rotate(45deg);
}
#pankuzu a{color:#999;}
#pankuzu li:last-child a{
	margin-right:0;
	color:#333;
	text-decoration:none;
	pointer-events:none;
}
#pankuzu a:hover{text-decoration:none;}


/*---------- common ----------*/
.content_area{
	max-width:1140px;
	padding:0 20px 90px;
	margin:auto;
}
.content_area.child{padding-bottom:70px;}
.content_area > *:first-child{margin-top:0;}

/*a, a:visited{
	color:#333;
	text-decoration:underline;
}*/
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-right:20px;
	background:url(/img/common/icon_popup.svg) no-repeat center right;
}
a.non[target="_blank"]{
	padding-right:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-right:30px;
	background:url(/img/common/icon_word.svg) no-repeat center right;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-right:30px;
	background:url(/img/common/icon_excel.svg) no-repeat center right;
}
a[href$=".pdf"]{
	padding-right:30px;
	background:url(/img/common/icon_pdf.svg) no-repeat center right;
}
a[href$=".zip"]{
	padding-right:30px;
	background:url(/img/common/icon_zip.svg) no-repeat center right;
}
a.none[href$=".pdf"]{
	padding-right:0;
	background:none;
}
[href^="tel:"]{
	color:#333 !important;
	text-decoration:none;
	pointer-events:none;
}

h2{
	position:relative;
	padding-top:20px;
	margin:80px 0 45px;
	font-size:2.5rem;
	font-weight:bold;
	letter-spacing:2.5px;
}
h2::before,
h2::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	height:3px;
}
h2::before{
	width:100%;
	background:#BEBEBE;
}
h2::after{
	width:50px;
	background:#BF1834;
}
h3{
	position:relative;
	padding-top:20px;
	margin:50px 0 30px;
	font-size:2.1rem;
	font-weight:bold;
	letter-spacing:2.1px;
}
h3::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	height:3px;
	width:30px;
	background:#BF1834;
}
h4{
	padding-top:10px;
	margin:45px 0 20px;
	border-top:1px solid #BEBEBE;
	font-size:1.9rem;
	font-weight:bold;
	letter-spacing:1.9px;
}
h5{
	margin:30px 0 10px;
	font-weight:bold;
}

img{
	display:block;
	max-width:100%;
	height:auto;
	border-radius:10px;
}
p{
	margin-bottom:20px;
	line-height:2.9rem;
}
ul, ol{
	padding-left:20px;
	margin-bottom:20px;
}
ul li{list-style:disc;}
ol li{list-style:decimal;}
ul li:last-child,
ol li:last-child{
	margin-bottom:0;
}
li{
	margin-bottom:10px;
	line-height:2.9rem;
}
* + dl{margin-top:15px;}
dl{
	margin-bottom:20px;
	line-height:2.9rem;
}
dl dd:not(:last-child){margin-bottom:15px;}

table{
	width:100%;
	margin:0 0 20px;
	border-top:1px solid #ccc;
}
th, td{
	padding:15px 20px 16px;
	border-bottom:1px solid #ccc;
	line-height:2.9rem;
	vertical-align:top;
}
th{
	width:220px;
	background:#F8F6F4;
	border-right:1px solid #ccc;
	font-weight:bold;
	text-align:left;
}
td{width:calc(100% - 220px);}
td *:last-child{margin-bottom:0;}
table img{margin:auto;}

/* カラム型テーブル */
.col_table{
	table-layout:fixed;
	border-left:1px solid #ccc;
}
.col_table thead th{
	width:auto;
	text-align:center;
}
.col_table td{border-right:1px solid #ccc;}
.table{overflow-x:auto;}
.table::-webkit-scrollbar{height:5px;}
.table::-webkit-scrollbar-track{
	background:#eee;
	border-radius:5px;
}
.table::-webkit-scrollbar-thumb{
	background:#666;
	border-radius:5px;
}
.table th, .table td{min-width:150px;}

.page_link{
	padding:0;
	overflow:hidden;
}
.page_link li{
	float:left;
	list-style:none;
	margin:0 50px 10px 0;
}
.page_link a{
	position:relative;
	padding-right:20px;
	color:#333;
	font-size:1.4rem;
	letter-spacing:1.4px;
}
.page_link a:hover{text-decoration:none;}
.page_link a::after{
	content:'';
	display:block;
	position:absolute;
	top:2px;
	bottom:0;
	right:0;
	margin:auto;
	width:8px;
	height:8px;
	border-right:2px solid #BF1834;
	border-bottom:2px solid #BF1834;
	transform:rotate(45deg);
}

.column_2, .column_3, .column_4{
	display:grid;
	grid-row-gap:40px;
	margin-bottom:20px;
}
.column_2{
	grid-template-columns:repeat(auto-fit, 49.090%);
	grid-column-gap:1.818%;
}
.column_3{
	grid-template-columns:repeat(auto-fit, 32.181%);
	grid-column-gap:1.727%;
}
.column_4{
	grid-template-columns:repeat(auto-fit, 23.636%);
	grid-column-gap:1.818%;
}
.column_2 h2{margin-top:0;}

.map, .movie_wrap{
	position:relative;
	width:auto;
	height:0;
	padding-bottom:56.25%;
	margin:0 auto;
	overflow:hidden;
}
.map iframe, .map object, .map embed, .movie_wrap iframe, .movie_wrap object, .movie_wrap embed{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
}


/*---------- localnav ----------*/
.ln_list{
	display:flex;
	flex-wrap:wrap;
	padding:40px 30px 15px;
	margin:120px auto 30px;
	background:#F8F6F4;
	border-radius:10px;
}
.ln_item{
	position:relative;
	list-style:none;
	width:25%;
	margin-bottom:30px !important;
	border-left:1px solid #ccc;
}
.ln_item:nth-child(4n), .ln_item:last-child{border-right:1px solid #ccc;}
.ln_link{
	display:flex;
	align-items:center;
	justify-content:center;
	height:100%;
	padding:0 20px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2rem;
	text-decoration:none;
	transition:color 0.3s;
}
.ln_link:hover,
.on .ln_link{
	color:#BF1834;
	text-decoration:underline;
}

.back_btn{text-align:center;}
.back_btn a{
	display:block;
	max-width:240px;
	padding:17px 0 16px;
	margin:auto;
	border:2px solid #707070;
	border-radius:30px;
	color:#707070;
	text-align:center;
	text-decoration:none;
	overflow:hidden;
	transition:background 0.3s, color 0.3s;
}
.back_btn a:hover{
	background:#707070;
	color:#fff;
}


/*---------- CTA ----------*/
.cta_btn{
	display:block;
	width:240px;
	padding:18px 0;
	background:#BF1834;
	border:1px solid #BF1834;
	border-radius:30px !important;
	color:#fff !important;
	text-align:center;
	text-decoration:none;
	transition:background 0.3s, color 0.3s;
}
.cta_btn:hover{
	background:#fff;
	color:#BF1834 !important;
}


@media screen and (min-width:768px) and (max-width:999px){

.parent .ttl_area{margin-bottom:70px;}

.ttl_area{padding:58px 20px;}
.child .ttl_area{padding:40px 20px 65px;}
.page_ttl{
	font-size:2.8rem;
	letter-spacing:2.8px;
}

.content_area{padding-bottom:100px;}
.content_area.child{padding-bottom:110px;}

a[target="_blank"],
a[href$=".doc"], a[href$=".docx"],
a[href$=".xls"], a[href$=".xlsx"],
a[href$=".pdf"]
a[href$=".zip"]{
	padding-right:25px;
	background-size:18px;
}
h2 {
	padding-top: 18px;
	margin: 77px 0 35px;
	font-size:2.2rem;
	letter-spacing:2.2px;
}
h3 {
	padding-top:16px;
	margin:42px 0 27px;
	font-size:1.9rem;
	letter-spacing:1.9px;
}
h4{
	font-size:1.7rem;
	letter-spacing:1.7px;
}
h5{
	font-size:1.5rem;
	letter-spacing:1.5px;
}

p {
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height: 2.7rem;
}
ul, ol {
	font-size:1.4rem;
	letter-spacing:1.4px;
}
li{line-height: 2.7rem;}
th, td{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.7rem;
}
.column_2, .column_3, .column_4 {
	grid-row-gap: 35px;
}

#pankuzu{margin-bottom:25px;}
#pankuzu li{
	font-size:1.2rem;
	letter-spacing:1.2px;
}

.page_link li {
	margin: 0 40px 8px 0;
}
.page_link a{
	font-size:1.3rem;
	letter-spacing:1.3px;
}

.back_btn a {
	max-width: 220px;
	padding: 14px 0 13px;
	border-radius: 28px;
	font-size: 1.4rem;
	letter-spacing: 1.4px;
}

.cta_btn {
	width: 225px;
	padding: 16px 0;
	font-size: 1.4rem;
	letter-spacing: 1.4px;
}
.parent_name {
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	line-height: 2.2rem;
}
.ln_list{
	padding:40px 20px 15px;
	margin-top:105px;
}
.ln_link{
	padding:0 15px;
	font-size:1.2rem;
	letter-spacing:1.2px;
}

}


@media screen and (max-width:767px){

.pc_size{display:none !important;}
.sp_size{display:block !important;}

#pankuzu{margin-bottom:20px;}
#pankuzu li{
	margin-right:23px;
	font-size:1rem;
	letter-spacing:1px;
}
#pankuzu li:not(:last-child)::after{
	right:-13px;
	bottom:4px;
}

.parent .ttl_area{margin-bottom:50px;}

.ttl_area{padding:38px 20px 40px;}
.child .ttl_area{padding:30px 20px 55px;}
.parent_name{
	margin-bottom:2px;
	font-size:1.1rem;
	letter-spacing:1.1px;
	line-height:2;
}
.page_ttl{
	font-size:2.4rem;
	letter-spacing:2.4px;
}

.content_area{padding-bottom:100px !important;}

a[target="_blank"],
a[href$=".doc"], a[href$=".docx"],
a[href$=".xls"], a[href$=".xlsx"],
a[href$=".pdf"]
a[href$=".zip"]{
	padding-right:20px;
	background-size:15px;
}
[href^="tel:"]{
	pointer-events:auto;
	text-decoration:underline;
}

h2{
	padding-top:15px;
	margin:75px 0 25px;
	font-size:2rem;
	letter-spacing:2px;
}
h2::after{width:30px;}
h3{
	padding-top:13px;
	margin:35px 0 25px;
	font-size:1.8rem;
	letter-spacing:1.8px;
}
h3::before{width:20px;}
h4{
	font-size:1.6rem;
	letter-spacing:1.6px;
}
h5{
	font-size:1.4rem;
	letter-spacing:1.4px;
}

img{margin:auto;}
p, ul, ol{
	margin-bottom:15px;
	font-size:1.3rem;
	letter-spacing:1.3px;
}
p{line-height:2.4rem;}
li{line-height:2.4rem;}
* + dl{margin-top:10px;}
dl{
	margin-bottom:15px;
	line-height:2.4rem;
}
dl dd:not(:last-child){margin-bottom:10px;}

th, td{
	padding:12px 16px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2.4rem;
}
table:not(.col_table) th, table:not(.col_table) td{
	display:list-item;
	list-style:none;
	width:100%;
}
table:not(.col_table) th{
	padding:14px;
	border-right:none;
	width: auto !important;
}
table:not(.col_table) td{padding:10px 10px 35px;}

.page_link li{margin:0 30px 5px 0;}
.page_link a{
	padding-right:15px;
	font-size:1.1rem;
	letter-spacing:1.65px;
}
.page_link a::after{top:0;}

.col_table{table-layout:auto;}

.column_4{grid-template-columns:repeat(auto-fit, 48.181%);}

.ln_list{
	padding:40px 0 15px;
	margin-top:90px;
}
.ln_item{
	margin-bottom:20px !important;
	border-right:1px solid #ccc;
	border-left:none;
}
.ln_item:nth-child(4n), .ln_item:last-child{border-right:none;}
.ln_link{
	font-size:1.1rem;
	letter-spacing:1.1px;
}

.back_btn a{
	max-width:200px;
	padding:11px 0;
	border-width:1px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2;
}

.cta_btn{
	width:210px;
	padding:14px;
	font-size:1.3rem;
	letter-spacing:1.3px;
}

}


@media screen and (max-width:599px){

.column_2, .column_3, .column_4{
	grid-template-columns:repeat(auto-fit, 100%);
	grid-row-gap:20px;
}
.column_2 h2{margin-top:75px;}

.ln_item{width:50%;}
.ln_item:nth-child(2n){border-right:none;}
.ln_link{justify-content:flex-start;}

}