@charset "utf-8";

.page_ttl{
	padding:78px 20px 77px;
	background:url(/img/about/h1_about.jpg) no-repeat center/cover;
	color:#fff;
	font-size:3.8rem;
	font-weight:500;
	letter-spacing:3.8px;
	line-height:5.5rem;
	text-align:center;
}

.content_area{
	max-width:1140px;
	padding:90px 20px 0;
	margin:auto;
}
.content_area > *:first-child{margin-top:0;}

a{
	color:#003984;
	text-decoration:underline;
}
a:visited{color:#6B0084;}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-right:20px;
	background:url(/img/common/popup.svg) no-repeat center right;
}
a.non[target="_blank"]{
	padding-right:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-right:20px;
	background:url(/img/common/icon_word.svg) no-repeat center right;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-right:20px;
	background:url(/img/common/icon_excel.svg) no-repeat center right;
}
a[href$=".pdf"]{
	padding-right:20px;
	background:url(/img/common/icon_pdf.svg) no-repeat center right;
}
a.none[href$=".pdf"]{
	padding-right:0;
	background:none;
}
[href^="tel:"]{
	color:#333 !important;
	text-decoration:none !important;
	pointer-events:none;
}

h2{
	padding-bottom:18px;
	margin:85px 0 20px;
	border-bottom:1px solid #008284;
	font-size:3rem;
	font-weight:500;
	letter-spacing:3px;
	line-height:4.4rem;
}
h3{
	position:relative;
	margin:50px 0 20px;
	color:#008284;
	font-size:2.4rem;
	font-weight:500;
	letter-spacing:2.4px;
	line-height:3.5rem;
}
h4{
	position:relative;
	padding-left:20px;
	margin:30px 0 15px;
	font-size:2rem;
	font-weight:500;
	letter-spacing:2px;
	line-height:2.9rem;
}
h4::before{
	content:'';
	position:absolute;
	top:14px;
	left:0;
	width:12px;
	height:2px;
	background:#008284;
}

img{
	display:block;
	max-width:100%;
	height:auto;
}
p{
	margin-bottom:10px;
	line-height:2.9rem;
}
ul, ol{
	padding-left:20px;
	margin-bottom:10px;
}
ol li{list-style:decimal;}
ul li{position:relative;}
ul li::before{
	content:'';
	position:absolute;
	top:10px;
	left:-20px;
	width:10px;
	height:10px;
	background:#008284;
	border-radius:50%;
}
li{line-height:2.9rem;}

table{
	table-layout:fixed;
	width:100%;
	margin-bottom:10px;
	border-top:1px solid #ccc;
}
th, td{
	padding:16px 20px 17px;
	border-bottom:1px solid #ccc;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	vertical-align:top;
}
th{
	width:220px;
	background:#F5F5F5;
	font-weight:bold;
	text-align:left;
}

#pankuzu ol{
	display:flex;
	max-width:1100px;
	padding:0;
	margin:95px auto 10px;
}
#pankuzu li{
	position:relative;
	list-style:none;
	margin-right:27px;
	line-height:1.6rem;
}
#pankuzu li::after{
	content:'';
	position:absolute;
	top:0;
	right:-14px;
	bottom:0;
	margin:auto;
	width:6px;
	height:6px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	transform:rotate(45deg);
}
#pankuzu li:last-child::after{display:none;}
#pankuzu a{
	display:block;
	color:#333;
	font-size:1.1rem;
	letter-spacing:1.1px;
	text-decoration:none;
}
#pankuzu li:last-child a{
	color:#008284;
	text-decoration:none;
	pointer-events:none;
}
#pankuzu a:hover{text-decoration:underline;}
#pankuzu span{display:block;}

.page_link{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	margin-top:40px;
}
.page_link li{
	list-style:none;
	width:48.181%;
	margin:0 3.636% 20px 0;
}
.page_link li:nth-child(even){margin-right:0;}
.page_link a{
	display:block;
	padding:18px 60px 19px 40px;
	background:url(/img/common/arrow_b.svg) no-repeat center right 30px;
	border:2px solid #008284;
	border-radius:35px;
	color:#333;
	font-size:2rem;
	font-weight:500;
	letter-spacing:2px;
	text-decoration:none !important;
	transition:background 0.2s;
}
.page_link a:hover{
	background-color:#008284;
	background-image:url(/img/common/arrow_b_white.svg);
	color:#fff;
}


/*----- error -----*/
.page_ttl br{display:none;}


@media screen and (min-width:768px) and (max-width:1024px){

.page_ttl{
	font-size:3.2rem;
	letter-spacing:3.2px;
	line-height:4.6rem;
	padding:62px 20px;
}
.content_area{padding-top:75px;}

h2{
	font-size:2.7rem;
	letter-spacing:2.7px;
	line-height:4rem;
	margin-top:70px;
	padding-bottom:15px;
}
h3{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3.2rem;
}
h4{
	font-size:1.8rem;
	letter-spacing:1.8px;
}

p{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.7rem;
}
ul, ol{
	font-size:1.5rem;
	letter-spacing:1.5px;
}
li{line-height:2.4rem;}
ul li::before{top:8px;}

.page_link{margin-top:25px;}
.page_link a{
	background-position:center right 25px;
	font-size:1.8rem;
	letter-spacing:1.8px;
	padding:16px 50px 16px 30px;
}

}


@media screen and (max-width:767px){

.page_ttl{
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:3.7rem;
	padding:52px 20px 51px;
}
.content_area{padding-top:60px;}

[href^="tel:"]{
	color:#003984 !important;
	text-decoration:underline !important;
	pointer-events:auto;
}
[href^="tel:"]:hover{text-decoration:none !important;}

h2{
	font-size:2.4rem;
	letter-spacing:2.4px;
	line-height:3.5rem;
	margin:60px 0 15px;
	padding-bottom:13px;
}
h3{
	font-size:2rem;
	letter-spacing:2px;
	line-height:2.9rem;
	margin:40px 0 15px;
}
h4{
	font-size:1.6rem;
	letter-spacing:1.6px;
	margin-bottom:10px;
}

p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.4rem;
}
ul, ol{
	font-size:1.4rem;
	letter-spacing:1.4px;
}
li{
	line-height:2rem;
	margin-bottom:10px;
}
ul li::before{top:6px;}

th{width:100%;}
th, td{
	display:list-item;
	list-style:none;
	padding:14px 20px 16px;
}

#pankuzu{
	position:relative;
	padding-top:10px;
	margin-top:85px;
}
#pankuzu::before{
	content:'';
	position:absolute;
	top:0;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
	height:1px;
	background:#EAF3F3;
}
#pankuzu ol{margin:auto;}

.page_link{margin-top:15px;}
.page_link a{
	background-position:center right 18px;
	font-size:1.6rem;
	letter-spacing:1.6px;
	padding:13px 40px 13px 20px;
}

}


@media screen and (max-width:600px){

/*----- error -----*/
.page_ttl br{display:block;}

}