/*リセット*/
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;
	font-weight:300;
	font-size: 100%;
	vertical-align: baseline;
}
ol, ul, dl{
    list-style:none;
}

html{
	margin:0;
	padding:0;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.8;
}

.pc{
	display:block;
}
.sp{
	display:none;
}

a:link,a:visited {
    color: #231815;
	text-decoration: none;
	cursor:pointer;
}

a:hover img, a:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.wrapper{
	background:#efefef;
}

h1 {
	margin:20px 0 0 0;
	font-size:50px;
	line-height:1.2;
}
h1 span{
	font-size:38px;
}

/*ヘッダー*/
.head{
	display:flex;
	flex-wrap:wrap;
	padding:10px 50px;
	background:#fff;
}
.logo{
	width:calc(100% - 672px);
	min-width:380px;
	margin:20px auto 0 0;
}
.navi{
	width:672px;
	text-align:right;
}
.breadcrumb{
	color:#ccc;
	font-size:11px;
}
#spGnaviBtn{
	display:none;
}
.gnavi{
	display:flex;
	justify-content: space-between;
	margin:30px 0 40px 0;
}
.gnavi li{
	width:24%;
	padding:0 0 15px 0;
	text-align:center;
	letter-spacing:-1px;
	border-bottom:2px solid #3f7085;
}
.gnavi li span{
	font-size:11px;
	margin:0 1px;
}

.visual{
	margin:0 0 20px 0;
	text-align:right;
}

/*main*/
.main{
	position:relative;
	margin:0 20px 40px;
	background:#fff;
	font-size:16px;
}
.photo {
	margin:-20px 0 0;
	padding:0 0 60px 0;
	text-align:center;
}
.photo img {
	width:950px;
}
.photo p {
	font-size:14px;
	text-align:left;
	width:950px;
	margin:0 auto;
}
.main .inner{
	width:950px;
	margin:40px auto;
	padding:40px 0;
}
.main .inner p{
	font-size:24px;
	font-weight:400;
	margin:10px auto 10px;
	text-align:center;
}
.main .inner p span.new{
	margin:0 auto 24px;
	font-size:18px;
	font-weight:600;
	text-align:center;
	color:#FF0000;
}
.main .inner h2{
	margin:0 auto 20px;
	font-size:28px;
	font-weight:600;
	text-align:center;
}
.main .inner h2 span{
	margin:0 auto 20px;
	font-size:18px;
	font-weight:200;
	text-align:center;
}
.main h3{
	margin:20px auto 5px;
	padding:5px 0 5px 10px;
	background:#ccc;
	line-height:1;
	font-weight:600;
}
.main .contact{
	font-size:20px;
	line-height:1.8;
	text-align:center;
}
.footer{
	background:#fff;
	padding:40px;
	text-align:right;
	color:#ccc;
}

@media screen and (max-width:900px){

	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	.breadcrumb{
		display:none;
	}

	h1 {
		position:relative;
		margin:10px 0 0 0;
		width:150%;
		font-size:22px;
		letter-spacing:-1px;
	}
	h1 span{
		font-size:16px;
	}
	
	/*ヘッダー*/
	.head{
		padding:10px 3%;
		margin:0 auto;
	}
	.logo{
		width:55%;
		min-width:55%;
		margin:10px auto 0 0;
	}
	.logo img{
		width:100%;
	}
	.navi{
		width:12%;
		margin:15px 0 0 auto;
	}
	#spGnaviBtn{
		display:block;
		width:100%;
		height:100%;
		background:url(../img/gnavi.png) top right / 100% no-repeat;
	}
	#spGnaviBtn.on{
		position:fixed;
		width:12%;
		height:12%;
		right:4%;
		z-index:10;
		background:url(../img/gnavi_close.png) top right / 70% no-repeat;
	}
	.gnavi{
		display:block!important;
		position:fixed;
		top:0;
		left:100%;
		width:60%;
		height:100vh;
		margin:0;
		padding:100px 0 0 4%;
		background:#3e6e82;
		font-size:18px;
		z-index:2;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
	}
	.gnavi li{
		width:100%;
		text-align:left;
	}
	.gnavi li a{
		color:#fff;
	}
	.visual{
		width:100%;
		margin:15px 0 0 0;
	}
	.visual img{
		width:100%;
	}
	
	/*main*/
	.main{
		width:96%;
		margin:0 auto;
	}
	.photo {
		width:96%;
		margin:0 auto;
		padding:0 0 20px 0;
	}
	.photo img {
		width:100%;
	}
	.photo p {
	font-size:12px;
	text-align:left;
	}
	.main .inner{
		width:94%;
		margin:10px auto;
		padding:10px 0 20px;
	}
	.main .inner h2{
		margin:0 auto 10px;
		font-size:20px;
	}
	
	.main .contact{
		font-size:14px;
		line-height:1.6;
	}
	
	.footer{
		padding:40px 3% 20px;
		font-size:10px;
		color:#999;
	}

}