@charset "utf-8";
/* CSS Document */

/**********************************************************/
/* リセット */
/**********************************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
    overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
	height:100%;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

ol {
	margin: 0;
	padding: 0;
}

li {
	margin: 0;
	padding: 0;
}

dl, dt, dd {
	margin: 0;
	padding: 0;
}


table{
    border-collapse: collapse; 
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

.clearfix:after {
	content: ""; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.both{
	clear:both;
}

.center {
	text-align:center;
}

.inline_block {  
	display: inline-block;  
	*display: inline;  
	*zoom: 1;  
}

img {
	vertical-align:bottom;
}

a {
	text-decoration: none;
}



/**********************************************************/
/* PC */
/**********************************************************/

@media screen and (min-width: 768px) {
.pc_none, .hidden {
	display: none;
    }
	
	}	



	
header{
	width: 100%;
	max-height: 1030px;
}

#logo{
	background: url("../images/logo.png")no-repeat left bottom;
	width: 210px;
	height: 124px;
	overflow: hidden;
	white-space: nowrap;
	position: absolute;
	text-indent: 100%;
	opacity: 1;
	margin:2em 39px;
	}

.logo-link {
	z-index: 100;
	width: 280px;
	height: 180px;
	background-color: #1CB8CE;
	position: absolute;
	top: 0;
	left: 120px;
}

nav {
	margin-top: 40px;
	border-top: #707070 1px solid;
	border-bottom: #707070 1px solid;
	background-color: #FFF;
}

#menu {
	width: 1280px;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	border-right: #707070 1px solid;
	background-color: #fff;
}

#menu a{
	font-weight: 600;
	font-style: normal;
	font-size: 16px;
	color: #333333;
	border-left: #707070 1px solid;	
}

#menu li {
	margin-top: 20px;
	margin-bottom: 20px;
	width: 240px;
	text-align: center;
}

#main_img {
	width: 100vw;
	max-height: 965px;
	z-index: auto;

}

.main{
	width: 100vw;
	height: auto;
	max-height: 965px;
	z-index: auto;
	position: relative;
	box-sizing: border-box;
}

.sub01 {
	position: absolute;
	width: 25%;
	height: auto;
	top: 15%;
	left: 15%;
	z-index: auto;
	box-sizing: border-box;	
}


body{
	background-color: #F4F4F4;
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 13px;
	color: #333333;
}

.content_wrap{
	z-index: auto;
	}

section{
	clear: left;
	box-sizing: border-box;
	border-top: #707070 1px solid;
}


.section_title{
	display: flex;
	height: 82px;
	width: 1280px;
	margin: 0 auto;
}


h2 {
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-size: 40px;
	font-style: normal;
	margin: 15px 0 0 50px;
}

h2 span{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: 21px;
	font-style: normal;
	margin: 0px 16px 0 30px;
}

.news_all{
	font-size: 11px;
	width: 130px;
	height: 24px;
	border-radius: 100vh;
	border:solid #707070 1px;
	text-align: center;
	margin:30px 0 0 0;
}

.news_all a{
	margin: 0 auto;
	color: #333333;
}

ul.news_list{
	background-color: #fff;
}

ul.news_list li a{
	display: flex;
	border-top:  #707070 1px solid;
	padding: 24px 0 15px 56px;
	font-size: 11px;
	font-style: normal;
	color: #333333;
	width: 1280px;
	margin: 0 auto;
}



ul.news_list li a::after{
	content: url("../images/target01.svg");
	text-align: right;
	margin: 0 0 0 auto;
	padding-right: 30px;
}

.date,.news_category,.news_title{
	margin: 0 50px 5px 0;
	font-size: 0.8rem;
}

.servicelist{
	display: flex;
	flex-wrap: wrap;
	width: 1280px;
	margin: 0 auto;
}

.servicelist_item{
	width: 318px;
	height: auto;
	border-top: #707070 1px solid;
	border-left: #707070 1px solid;
	background-color: #FFF;
}

.servicelist_item_end{
	width: 318px;
	height: auto;
	border-top: #707070 1px solid;
	border-left: #707070 1px solid;
	border-right: #707070 1px solid;
	background-color: #FFF;
}

.servicelist_item img{
	width: 318px;
	height: 200px;
}

.servicelist_item_end img{
	width: 318px;
	height: 200px;
}


.servicelist_title{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-size: 18px;
	font-style: normal;
	margin: 10px 0 5px 10px;
}

.servicelist_txt{
	width: 300px;
	height: auto;
	margin: 0 0 20px 10px;
}

table{
	width: 100%;
}


.about{
	width: 1280px;
	margin:0 auto;
	border-top: #707070 1px solid;
	background-color: #FFF;
}

dl.about_list{
	background-color: #FFF;
}

.about tr{
	border-top: #707070 1px solid;
    border-left: #707070 1px solid;
    border-right: #707070 1px solid;
}


.about th{
 	font-weight: 600;
	margin: 15px 0;
	float: left;
	clear:left;
	width: 240px;
	text-align: center;
}

.about td{
	float: left;
	margin: 15px 0;
}

.map{
	border-top: #707070 1px solid;
	height: 640px;
	width: 100%;
	margin: 0 auto;
}

.access_txt{
	margin: 30px 0;
	display: flex;
	justify-content: center;
}

.access_txt dt{
	margin: 0 30px 0 0;
}

.access_txt dd{
}


footer{
	background-color: #286374;
	width: 100vw;
	height: 360px;
	color: #FFF;
}

.ft_logo{
	background: url("../images/logo.png")no-repeat left bottom;
	width: 210px;
	height: 124px;
	overflow: hidden;
	white-space: nowrap;
	position: relative;
	margin: 100px 50px 0 50px;
	}

.ft_innner{
	display: flex;
	justify-content: center;
}

.ft_nav{
	margin: 160px 30px 0 30px;
	position: relative;
}

.ft_nav ul{
	display: flex;
}

.ft_nav ul li a{
	font-size: 14px;
	font-weight: 600;
	margin:0 30px 0 0;
	color: #FFF;
}

.copyright{
	position: relative;
	font-size: 11px;
	text-align: center;
	color: #FFF;
	margin: 50px auto;
}


