@charset "utf-8";

/* CSS Document */


/* ------------ 汎用 ------------ */
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.left {
  float: left;
}

.right {
  float: right;
}

img{
	vertical-align: bottom;
}

/* ------------ 全体 ------------ */

html,
body {
	width: 100%;
	background-color: #FFF;
	font-family: 'Noto Serif JP', serif;
}

#wrapper {
	width: 960px;
	margin: 0 auto;
	overflow: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

/* ------------ ヘッダー部分のデザイン用 ------------ */

header {
	width: 100%;
	margin-top: 5%;
	padding-bottom: 20px;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #666;
}

/* h1設定 */

header #logo {
	width: 35%;
}

header h1 span {
	vertical-align: middle;
}

header h1 span:first-child {
	font-size: 1.2em;
}

header h1 span:nth-child(2) {
	padding-left: 10px;
	font-size: 2.5em;
}


/* ------------ gmenuメニュー ------------ */

nav #globalMenu {
	width: 360px;
	display: flex;
	font-size: 1.1em;
}

nav #globalMenu li {
	width: 50px;
	margin-left: 10px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 50px;
}

nav #globalMenu li a {
	padding-top: 80px;
}

#gmenu00 a:hover {
	background-image: url(../images/bg_gmenu00_home_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;

}

#gmenu01 a:hover {
	background-image: url(../images/bg_gmenu01_info_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

#gmenu02 a:hover {
	background-image: url(../images/bg_gmenu02_about_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

#gmenu03 a:hover {
	background-image: url(../images/bg_gmenu03_works_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

#gmenu04 a:hover {
	background-image: url(../images/bg_gmenu04_memo_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

#gmenu05 a:hover {
	background-image: url(../images/bg_gmenu05_contact_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

/* ------------ gmenu リンクないところ ------------ */

#index #gmenu00 {
	padding-top: 80px;
	background-image: url(../images/bg_gmenu00_home_icon.svg);
	background-repeat: no-repeat;
	background-position: top left;
}

#info #gmenu01 {
	padding-top: 80px;
	background-image: url(../images/bg_gmenu01_info_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

#about #gmenu02 {
	padding-top: 80px;
	background-image: url(../images/bg_gmenu02_about_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

#works #gmenu03 {
	padding-top: 80px;
	background-image: url(../images/bg_gmenu03_works_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

#memo #gmenu04 {
	padding-top: 80px;
	background-image: url(../images/bg_gmenu05_contact_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

#contact #gmenu05 {
	padding-top: 80px;
	background-image: url(../images/bg_gmenu05_contact_icon.svg);
	background-repeat: no-repeat;
	background-position: top center;
}

/* ------------ ハンバーガーメニュー ------------ */

#nav-toggle {
	display: none;
	position: absolute;
	right: 12px;
	top: 14px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}

#nav-toggle div {
	position: relative;
}

#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #999;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
	top: 0;
}

#nav-toggle span:nth-child(2) {
	top: 11px;
}

#nav-toggle span:nth-child(3) {
	top: 22px;
}

#nav-toggle::after {
	position: absolute;
	left: 0;
	bottom: -10px;
	content: 'MENU';
	display: block;
	width: 100%;
	color: #999;
	font-size: 0.7em;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}

/* ------------ ぱんくずリスト ------------ */

div#topic {
	width: 500px;
	height: 20px;
	margin-top: 20px;
	margin-left: 40px;
}

div#topic ol.topic-path {
	margin: 0;
	/* マージン（上下左右） */
	list-style-type: none;
	/* リストマーク非表示 */
	font-size: 85%;
	/* 文字サイズ */
}

div#topic ol.topic-path li {
	padding-left: 5px;
	/* 左パディング */
	display: inline;
	/* 項目を横並び */
}

div#topic ol.topic-path li.first {
	padding-left: 25px;
	/* 左パディング */
}

div#topic ol.topic-path li a {
	display: inline;
	padding-right: 18px;
	/* 右パディング */
	background: url(../images/topic-path-gray.gif) no-repeat right;
	/* 矢印記号（※） */
}

/* リンク色 */

div#topic ol.topic-path li a {
	color: #4682b4;
}

/* リンク色（マウスオーバー） */

div#topic ol.topic-path li a:hover {
	color: #79a7cc;
}

/*文字選択*/

header #textSelect {
	width: 60px;
	height: 20px;
	float: right;
	margin-right: 15px;
}

/* ------------ main部分のデザイン用 ------------ */

div#main {
	margin: 50px auto 0;
}

#main h2 {
	margin-bottom: 20px;
	padding-top: 15px;
	padding-left: 15px;
	font-size: 1.2rem;
	font-weight: 900;
	color: #005566;
}

/*
#about article h2 {
  margin-bottom: 50px;
  padding-top: 15px;
  padding-left: 15px;
  font-size: 1.2rem;
  font-weight: 900;
  color: #005566;
}
#works article h2 {
  margin-bottom: 50px;
  padding-top: 15px;
  padding-left: 15px;
  font-size: 1.2rem;
  font-weight: 900;
  color: #005566;
}

#memo #main h2 {
  margin-bottom: 50px;
  padding-top: 15px;
  padding-left: 15px;
  font-size: 1.2rem;
  font-weight: 900;
  color: #005566;
}

#contact article h2 {
  margin-bottom: 50px;
  padding-top: 15px;
  padding-left: 15px;
  font-size: 1.2rem;
  font-weight: 900;
  color: #005566;
}
*/
/* ------------ フッター部分のデザイン用 ------------ */

footer {
	margin-top: 30px;
	padding-bottom: 10px;
}

footer p {
	text-align: center;
}

footer #logomark {
	padding-bottom: 10px;
	border-bottom: 1px solid #666;
}

footer #siteMap {
	width: 90%;
	margin: 15px auto 0;
}

footer #siteMap ul.sm {
	width: 100%;
	margin: 0 auto;
	line-height: 1.5;
	display: flex;
	justify-content: space-between;
}

footer #siteMap ul.dm {
	margin-left: 10px;
}

footer #siteMap ul.dm li {
	width: 100%;
	font-size: 0.9em;
}

footer p#copyright {
	margin-top: 20px;
}

/* リンク部分(テキスト)のデザイン用 */

a {
	display: block;
	color: #333;
}

a:hover {
	color: #C00;
	opacity: 0.7;
}


/* メディアクエリ　ここから　*/

/* 640px以上960px未満 */

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

	#wrapper {
		width: 90%;
		margin: 0 auto;
	}

	footer #siteMap {
		width: 100%;
	}
}

/* 640px 未満 */

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

	/* ハンバーガーメニュー */
	#wrapper {
		position: relative;
	}

	nav {
		position: absolute;
		/* 開いてないときは画面外に配置 */
		top: -500px;
		width: 100%;
		background-color: rgba(120, 120, 120, 0.7);
		padding: 20px 0;
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		z-index: 999;
	}

	nav ul#globalMenu {
		float: none;
		margin: 0 auto;
	}

	nav ul#globalMenu li,
	nav ul#globalMenu li a {
		color: rgb(255, 255, 255);
	}

	/* display:noneだったボタンを display:blockにして表示 */
	#nav-toggle {
		display: block;
	}

	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}

	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	/* #globalMenu スライドアニメーション */
	.open nav {
		-moz-transform: translateY(600px);
		-webkit-transform: translateY(600px);
		transform: translateY(600px);
	}

	/* パンくずリスト */
	div#topic {
		margin-left: 0;
	}

	footer #siteMap ul.sm {
		flex-wrap: wrap;
	}

	footer #siteMap ul.sm li {
		width: 33%;
	}

	footer #siteMap ul.dm {
		display: none;
	}
}

/* 380px未満 */

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

	nav ul#globalMenu li {
		margin-left: 3px;
	}

}
