@charset "utf-8";

/*********** レスポンシブ用 ***********************************************/

@media screen and (max-width: 768px) {
	div {
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	::-moz-placeholder {
		font-size: 14px;
	}
	:-ms-input-placeholder {
		font-size: 14px;
	}
	::-webkit-input-placeholder {
		font-size: 14px;
	}
	input,
	textarea,
	select {
		font-size: 16px !important;
	}
	.select-box select {
		height: 48px;
		line-height: 1.0;
	}
	.select-box:after {
		margin-top: 20px;
	}
	input[type="submit"] {
		padding: 14px 22px;
		font-size: 13px !important;
	}
}

@media screen and (device-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2),
(device-width: 1366px) and (-webkit-min-device-pixel-ratio: 2) {
	/*** iPad ***/
	#entry .entry ul.link li.link-comment a:hover > i,
	#entry .entry ul.link li.link-trackback a:hover > i {
		opacity: 1.0;
	}
	#entry .entry ul.link li a:hover .count-n {
		opacity: 0;
	}
}

@media screen and (max-width: 580px) {
	/*** 基本の文字サイズ ***/
	body {
		font-size: 13px;
	}
	#main,
	.entry .content {
		font-size: 104%;
	}
	#information {
		font-size: 104%;
	}

	/*** 過去ログ ***/
	#archives {
		padding: 20px;
		font-size: 110%;
	}
	#archives-toggle:before {
		display: block !important;
		left: 18px;
	}
	#archives dl dt {
		float: none;
		width: 100%;
		padding: 10px 8px 4px;
	}
	#archives dl dd {
		padding: 0 0 6px;
		border-top: none;
	}
	#archives a {
		padding: 4px 8px;
	}

	/*** メニュー・検索 ***/
	#menu {
		overflow: hidden;
		border-bottom: none;
	}
	#menu ul {
		border-bottom: 1px solid #EEE;
	}
	#menu ul li {
		line-height: 50px;
	}
	#menu ul li.menu-icon,
	#menu ul li.search,
	#menu ul li.search label,
	#menu a:link,
	#menu a:visited {
		width: 50px;
		height: 48px;
		color: #CCC;
	}
	#menu a:hover,
	#menu a:active {
		color: #505050;
	}
	#menu ul li.menu-icon:after {
		height: 48px;
	}
	#menu ul li.menu-icon a:before,
	#menu ul li.menu-icon a:hover:before {
		display: none;
	}
	#menu ul li ::-webkit-input-placeholder {
		line-height: normal;
		font-size: 14px;
	}
	#menu ul li.search [type="text"] {
		overflow: hidden;
		left: 50px;
		width: 104vw;
		height: 49px;
		margin-left: -102vw;
		padding-right: 50px;
		padding-left: 6vw;
	}
	#menu ul li [type="text"]:focus {
		-webkit-transition-delay: 0.46s;
		        transition-delay: 0.46s;
	}
	#menu ul li.search [type="submit"] {
		width: 50px;
		height: 49px;
		margin-left: -25px;
		padding: 2px 0 0;
		border: none;
		color: #CCC;
		font-size: 12px !important;
	}
	#menu ul li.search [type="submit"]:hover,
	#menu ul li.search [type="submit"]:active {
		color: #505050;
	}
	#menu ul li.search label:hover ~ [type="submit"] {
		color: #CCC;
	}
	#menu ul li.menu-icon a:before,
	#menu ul li.current:before {
		width: 51px;
		margin-top: 48px;
	}
	/* IE */
	#menu ul li.menu-icon a:before,
	#menu ul li.current:before,
	#menu ul li.search [type="submit"] {
		margin-left: 0\0;
	}

	/*** 主要部分 ***/
	#header {
		padding: 86px 5% 30px;
	}
	#footer {
		padding: 30px 0;
	}
	#content-form {
		padding: 30px 20px;
		border-radius: 4px;
	}
	#content-form dl {
		width: 100%;
		margin: 0 auto;
		text-align: left;
	}
	#content-form [type="email"],
	#content-form [type="text"],
	#content-form [type="password"] {
		height: 52px;
	}
	#content-form [type="submit"] {
		padding: 12px 16px;
	}

	/*** インフォメーション ***/
	.information-content {
		padding-bottom: 30px !important;
	}
	.information-content-file {
		margin-top: 30px;
	}

	/*** エントリー ***/
	.entry {
		margin-top: 30px;
		margin-bottom: 0 !important;
	}
	#main h2,
	.entry h3 {
		font-size: 140%;
	}
	.entry .entry-view-title {
		padding: 0;
	}
	.entry-file + .content {
		padding-top: 20px !important;
	}
	#info {
		padding: 30px 5%;
	}

	.entry-restriction + .share {
		margin-top: 30px;
	}
	.share {
		margin-top: 30px;
	}
	.share .icon:before,
	.share .jp-icon:before {
		margin-right: 0;
		line-height: 20px;
	}
	.icon-alt-share {
		display: none;
	}
	.share li a {
		display: block;
		width: 36px;
		height: 20px;
		padding: 3px 8px;
		border: 1px solid #088DD9;
		border-radius: 2px;
		background-color: #088DD9;
		color: #FFF;
	}
	.link:before,
	.share:before {
		display: block;
		width: 30px;
		margin: 0 auto 20px;
		border-bottom: 1px solid #EEE;
		content: "";
	}
	.share:before {
		margin-bottom: 30px;
	}

	h3 + .link:before {
		margin-bottom: 25px;
	}
	h3 + .share {
		margin-top: 20px;
	}

	#entry_link ul.entry_link {
		text-align: center;
	}
	#entry_link ul.entry_link li {
		width: 48px;
		height: 48px;
		line-height: 49px;
	}
	#entry_link i {
		font-size: 16px;
	}
	#entry_link ul.entry_link li.prev {
		float: left;
		text-align: center;
	}
	#entry_link ul.entry_link li.next {
		float: right;
		text-align: center;
	}
	#entry_link ul.entry_link li.home {
		width: 48px;
		height: 48px;
		margin: 0 10px;
	}
	#entry_link ul.entry_link li.prev i,
	#entry_link ul.entry_link li.next i {
		margin: 0;
	}
	.entry-link-title {
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		border: 0;
	}
	#entry_link a:link,
	#entry_link a:visited {
		display: block;
		width: 46px;
		height: 46px;
		padding: 0;
	}

	#entry .entry ul.link {
		margin: 30px 0 0;
		padding-bottom: 25px;
		font-size: 15px;
	}
	#entry .entry ul.link li {
		margin: 0 4px;
	}
	#entry .entry ul.link li:before,
	#entry .entry ul.link li a:link,
	#entry .entry ul.link li a:visited {
		width: 48px;
		height: 48px;
		line-height: 48px;
		color: #CCC;
	}
	#entry .entry ul.link li,
	#entry .entry ul.link li a {
		border-radius: 3px !important;
	}
	#entry .entry ul.link li.link-comment a:hover > i,
	#entry .entry ul.link li.link-trackback a:hover > i {
		opacity: 1.0;
	}
	#entry .entry ul.link li:hover:before,
	#entry .entry ul.link li a:hover .count-n {
		opacity: 0;
	}
	ul.view {
		width: 100%;
	}
	ul.view .icon:before {
		background-color: #F9F9F9;
	}
	ul.view li.fa-chain {
		overflow-x: scroll;
		word-break: keep-all;

		-webkit-overflow-scrolling: touch;
	}

	.entry-restriction-single {
		padding-bottom: 40px;
	}
	.entry-restriction-title {
		margin: 0 0 20px;
		padding: 0;
		line-height: 1.0;
	}
	.entry-restriction form,
	.entry-restriction [type="text"],
	.entry-restriction [type="submit"] {
		height: 44px;
		line-height: 44px;
	}
	.entry-restriction [type="text"] {
		padding-right: 44px;
		border-radius: 4px;
	}
	.entry-restriction [type="submit"] {
		width: 44px;
		margin-left: -44px;
		line-height: 38px;
	}

	/*** ページ移動 ***/
	#gallery ~ #nav-page ul {
		margin-top: 30px;
	}
	#nav-page ul li a:link,
	#nav-page ul li a:visited,
	#nav-page ul li.current,
	#nav-page ul li a:before {
		width: 38px;
		height: 38px;
		line-height: 38px;
	}
	#entry + #comment,
	#entry + #comment_form,
	#entry + #trackback,
	#entry + #trackback_url,
	#entry_link + #comment,
	#entry_link + #comment_form,
	#entry_link + #trackback,
	#entry_link + #trackback_url,
	#info + #comment,
	#info + #comment_form,
	#info + #trackback,
	#info + #trackback_url {
		border-top: 1px dotted #EEE;
	}

	/*** 検索結果 ***/
	#search-content form {
		float: none;
		width: 100%;
		margin: 0;
	}
	#result-count {
		float: none;
		width: 100%;
		height: 24px;
		margin: 0;
		border-bottom: 1px solid #EEE;
		line-height: 24px;
	}
	#search-content .search-box [type="submit"] {
		font-size: 14px;
	}

	#main h2 {
		margin-bottom: 20px;
	}
	.page-file,
	.page-file-full {
		margin-top: 30px;
	}

	/*** ギャラリー ***/
	#gallery {
		margin: 0 auto;
		padding: 30px 0 0;
	}
	#gallery .gallery .image-title {
		visibility: visible;
		top: 0;
		opacity: 0;
		padding: 0;
		-webkit-transition: 0s;
		        transition: 0s;
	}
	#gallery .gallery .picture:hover > .image-title {
		top: 0;
		opacity: 0;
		padding: 0;
	}
}

@media screen and (max-width: 420px) {
	/*** メニュー ***/
	#menu ul li:last-child {
		border-right: none;
	}

	/*** 主要部分 ***/
	#footer,
	#content-form,
	#information,
	#entry_link,
	#main,
	#toc,
	#nav-page,
	#comment,
	#comment_form,
	#entry + #comment_form,
	#comment + #comment_form,
	#trackback,
	#trackback_url,
	#main {
		margin-top: 30px;
		margin-bottom: 30px;
	}

	#entry .entry ul.link {
		margin-top: 20px;
		padding-bottom: 15px;
	}
	#entry .entry h3 + ul.link {
		margin-top: 20px;
	}
	#entry .entry ul.link li:before,
	#entry .entry ul.link li a:link,
	#entry .entry ul.link li a:visited {
		width: 38px;
		height: 38px;
		line-height: 38px;
	}
	.link:before {
		margin: 0 auto 10px;
	}
	#entry .entry h3 + ul.link:before {
		margin-bottom: 15px;
	}

	/*** ページ移動 ***/
	#nav-page ul {
		font-size: 15px;
	}
	#gallery ~ #nav-page ul {
		padding-top: 35px;
	}
	#nav-page ul li {
		margin: 5px;
	}

	/*** ギャラリ－ ***/
	#gallery {
		width: 95%;
	}
}

@media screen and (max-width: 360px) {
	#menu ul li.menu-icon,
	#menu ul li.search,
	#menu ul li.search label,
	#menu a:link,
	#menu a:visited {
		width: 42px;
	}
	#menu ul li.menu-icon a:before,
	#menu ul li.current:before {
		width: 43px;
	}
}