@charset "UTF-8";

html,html * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Noto Serif JP', serif;
}

body {
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400; /* Regular */
	color: #474747;
	background: #ffffff;
}

a {
	color: #474747;
	text-decoration: none;
}

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

p:last-child {
	margin-bottom: 0 !important;
}

/* --- 見出し ---*/
h2 {
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 1em;
	text-align: center;
	margin-bottom: 40px;
}

/* --- ヒーローエリア ---*/
section#hero {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 760px;
	background-size: cover;	
}

section#hero h1 img {
	width: 100%;
	height: auto;
}


/* --- ヘッダー --- */
header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background: #434343;
}

header a.logo {
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

/* トグルボタン */
#nav_toggle {
	display: block;
	position: relative;
	right: 10px;
	width: 42px;
	height: 40px;
	cursor: pointer;
	border-radius: 6px;
	border: 1px solid #ffffff;
	text-align: center
}
#nav_toggle span {
	display: block;
	position: absolute;
	left: 6px;
	width: 30px;
	border-bottom: 3px solid #fff;
	transition: 0.35s ease-in-out;
}

#nav_toggle span:nth-child(1) {
	top: 9px;
}
#nav_toggle span:nth-child(2) {
	top: 18px;
}
#nav_toggle span:nth-child(3) {
	top: 27px;
}
.open #nav_toggle span:nth-child(1) {
	top: 18px;
	left: 6px;
	transform: rotate(-45deg);
}
.open #nav_toggle span:nth-child(2),
.open #nav_toggle span:nth-child(3) {
	top: 18px;
	transform: rotate(45deg);
}

/* グローバルナビゲーション */
header nav ul li a {
	display: block;
	font-size: 22px;
	color: #ffffff;
	background: #434343;
	text-align: center;
	padding: 20px 0;
	border-bottom: 1px solid #999999;
}

header nav ul li:first-child a {
	border-top: 1px solid #999999;
}

/* --- フッター --- */
footer {
	background: #434343;
	padding-top: 30px;
}

footer section.navi nav.sns {
	margin-bottom: 50px;
}

footer section.navi nav.sns ul {
	display: flex;
	align-items: center;
}

footer section.navi nav.sns ul li {
	flex: 0 0 70px;
	padding: 0px 10px;
}

footer section.navi nav.sns ul li img {
	display: block;
	width: 70px;
	height: auto;
}

footer section.navi div.box div.add {
	padding: 0px 30px 75px;
	color: #ffffff;
	border-bottom: 1px solid #999999;
}

footer section.navi div.box div.add h2 {
	font-size: 22px;
	letter-spacing: normal;
	text-align: left;
	margin-bottom: 15px;
}

footer section.navi div.box div.add p {
	font-size: 18px;
}

footer section.navi div.box nav.footerMenu ul li a {
	display: block;
	font-size: 22px;
	color: #ffffff;
	background: #434343;
	text-align: center;
	padding: 20px 0;
	border-bottom: 1px solid #999999;
}

footer section.copy {
	background: #313131;
	color: #ffffff;
	padding: 25px 30px 30px;
	font-size: 16px;
}

footer section.copy p.site_url {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

footer section.copy p.site_url span {
	display: block;
	padding-left: 10px;
}

footer section.copy p.site_url img {
	display: block;
	width: 25px;
	height: auto;
}

/* デスクトップ用 */
@media(min-width:1067px) {
	/* --- 共通 --- */
	div.container {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	}
	/* --- 見出し ---*/
	h2 {
	font-size: 18px;
	}
	/* --- ヒーローエリア ---*/
	section#hero {
	height: 525px;
	}
	section#hero h1 img {
	width: 606px;
	height: auto;
	}
	/* --- ヘッダー --- */
	header div.container {
	max-width: 770px;
	display: flex;
	align-items: center;
	}
	header a.logo {
	padding: 0px;
	}
	/* トグルボタン */
	#nav_toggle { display: none; }
	/* グローバルナビゲーション */
	.globalMenu {
	display: block !important ;
	width: 100%;
	}
	header nav ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
	}
	header nav ul li:first-child {
	margin-left: 20px;
	}
	header nav ul li a {
	display: block;
	font-size: 14px;
	line-height: 65px;
	padding: 0 20px;
	border-bottom: none;
	}
	header nav ul li:first-child a {
	border-top: none;
	}
	/* --- フッター --- */
	footer section.navi nav.sns {
	margin-bottom: 40px;
	}
	footer section.navi nav.sns ul li {
	flex: 0 0 70px;
	padding-right: 20px;
	padding-left: 0px;
	}
	footer section.navi nav.sns ul li:last-child {
	padding-right: 0px;
	}
	footer section.navi nav.sns ul li img {
	width: 70px;
	}
	footer section.navi div.box{
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
	}
	footer section.navi div.box div.add {
	padding: 0px;
	border-bottom: none;
	}
	footer section.navi div.box div.add h2 {
	font-size: 18px;
	margin-bottom: 30px;
	}
	footer section.navi div.box div.add p {
	font-size: 14px;
	}
	footer section.navi div.box nav.footerMenu ul li a {
	font-size: 16px;
	text-align: left;
	padding: 0px;
	margin-bottom: 10px;
	border-bottom: none;
	}
	footer section.copy {
	padding: 20px 0px;
	font-size: 14px;
	}
	footer section.copy div.container {
	display: flex;
	align-items: center;
	}
	footer section.copy p.site_url {
	margin-bottom: 0px;
	}
	footer section.copy p.site_url img {
	width: 30px;
	}
	footer section.copy p.copyright {
	padding-left: 40px;
	}
}

/* スマートフォン用 */
@media(max-width:1066px) {
	.globalMenu {
	display: none;
	}
	.container_small {
	display: flex;
	align-items: center;
	justify-content: space-between;
	}
}

@media(max-width:400px) {
	footer section.navi nav.sns ul li {
	flex: 0 0 25%;
	}
	footer section.navi nav.sns ul li img {
	width: 100%;
	}
}
