@charset "utf-8";
/*
Theme Name: recto
Version: 1.0
Author: KeiStyle
*/

@import url("style02.css");
@import url("style-color.css");

/*-----------------------------------------------------------------
　　　レイアウト変更
*-----------------------------------------------------------------*/

#top-nav ul li {
	width: 16.4%;/*メニュー項目の幅　4分割：24.9%　5分割：19.9%　6分割：16.5%　7分割：14.1%*/
}
/*--- 右カラム ---*/
#main {
	margin: 0 50px 0 0;
	float: left;
}
#sidebar {
	float: right;
}


/*-----------------------------------------------------------------
　　　共通部分
*-----------------------------------------------------------------*/

* {
	margin: 0;
	padding: 0;
}
body {
	font: 14px "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}
#wrapper {
	margin: 30px auto 0;
	padding: 0;
	width: 100%;
	max-width: 1080px;
	min-width: 250px;
}
a {
	text-decoration: underline;
	-webkit-transition: .8s;
	-moz-transition: .8s;
	-o-transition: .8s;
	-ms-transition: .8s;
	transition: .8s;
	cursor: pointer;
}
a:active, a:focus {
	outline: 0;
}

img {
	border: 0;
	max-width: 100%;
	height: auto;
}
body a:hover img {/*画像を半透明化*/
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
.clear {
	margin: 0 0 15px 0;
	padding: 0;
	clear: both;
}

.photo-r, 
.photo-l {
	text-align: center;
	font-size: 0.9em;
	line-height: 1.3em;
}
.photo-l {
	margin: 0 15px 15px 0;
	padding: 0;
}
.photo-r {
	margin: 0 0 15px 15px;
	padding: 0;
}
.photo-r img, 
.photo-l img {
	margin: 0 0 5px 0;
}
.photo-r {
	float: right;
}
.photo-l {
	float: left;
}
.breadcrumbs {/*パンくずリスト*/
	margin: 0;
	padding: 0 5px;
	font-size: 12px;
	clear: both;
}

.form-res {/*フォームをレスポンシブ化*/
	position: relative;
	width: 100%;
	overflow: hidden;
	margin: 0 0 20px 0;
}
.form-res input,
.form-res textarea {/*フォームの入力欄を拡大*/
	padding: 5px;
}

/*-----------------------------------------------------------------
　　　ヘッダー
*-----------------------------------------------------------------*/

#header {
	margin: 0;
	padding: 0 0 15px;	
}
#header-logo {
	margin: 0 0 10px;
	padding: 60px 0 10px 50px;
	background: #fff;
	border-bottom: 1px solid #CCC;
}
#header-right {
	width: 50%;
	float: right;
	text-align: right;
	margin: 0;
	padding: 10px 0;
}
#header-right a {
	margin: 0;
	padding: 0;
	font-size: 24px;
	text-decoration: none;
	letter-spacing: 0.001em;
}
.nhk {
	width: 50px;
	margin: 0;
	padding: 0;
	z-index: 100;
	position: fixed;
	top: 5px;
	right: 20px;
}
.form-button {
	margin: -10px 0 0 15px!important;
	width: 90px;
	border-radius: 5px;
	display: inline-block;
	text-decoration: none;
	font-size: 16px!important;
	font-weight: normal!important;
	text-align: center;
	vertical-align: middle;
	overflow: hidden;
	transition: .4s;
}

/*-----------------------------------------------------------------
　　　グローバルナビゲーション
*-----------------------------------------------------------------*/

#top-nav {
	top: 0;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	z-index: 90;
	position: fixed;
}
#top-nav ul {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
}
#top-nav ul:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#top-nav ul li {
	margin: 0;
	padding: 0;
	font-size: 14px;
	text-align: center;
	float: left;
	line-height: 1em;
	list-style-type: none;
	background-image: none;
}
#top-nav ul li a span {
	font-size: 12px;
}
#top-nav ul li a {
	text-decoration: none;
}
.top-nav-L,
.top-nav-M, 
.top-nav-R {
	width: 100%;
	margin: 0;
	padding: 10px 0;
	text-align: center;
	transition: .4s;
	display: inline-block;
}

/*-----------------------------------------------------------------
　　　ハンバーガーメニュー
*-----------------------------------------------------------------*/
#menu-icon {
	margin: 0;
	padding: 5px 10px;
	top: 0;
	right: 0;
    border-radius: 0 0 0 10px;
    cursor: pointer;
    display: block;
    font-size: 14px; 
    position: fixed;
    text-align: center;
    transition: all 0.3s linear 0s;
    z-index: 1000;
}
#menu-cb {
    display: none;
}
#menu-cb:checked ~ #top-nav2,
#menu-cb:checked ~ #menu-icon {
    transform: translate(-250px); /*メニュー本体横幅*/
}
#menu-cb:checked ~ #menu-background {
    opacity: 0.5;
    z-index: 999;
}
#top-nav2 {
    background-color: #fff; /*メニュー背景色*/
    box-sizing: border-box;
    height: 100%;
    padding: 10px 40px; /*メニュー内左右上下余白*/
    position: fixed;
    right: -300px; /*メニュー横幅 width と合わせる*/
    top: 0;
    transition: transform 0.3s linear 0s; /*0.3s はアニメーションにかかる時間*/
    width: 300px; /*メニュー横幅*/
    z-index: 1000;
	overflow: scroll;
}
#top-nav2 ul li {
	margin: 5px 0;
}

#menu-background {
    background-color: #333; /*黒背景*/
    display: block;
    height: 100%;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: all 0.3s linear 0s; /*0.3s はアニメーションにかかる時間*/
    width: 100%;
    z-index: -1;
}

/*-----------------------------------------------------------------
　　　メインコンテンツ
*-----------------------------------------------------------------*/

#main {
	width: 100%;
	max-width: 800px;
	min-width: 250px;
	padding: 0 0 15px;
	display: inline;
}
#main .bannerM img {
	padding-right: 10px;
	padding-bottom: 15px;
}
#main .bannerM img.last {
	padding-right: 0;
}
#main h1,
#main-page h1 {
	margin: 0 0 50px;
	padding: 15px;
	font-size: 20px;
	font-weight: normal;
}
#main h1 a,
#main-page h1 a {
	text-decoration: none;
}
#main h2,
#main-page h2 {
	margin: 0 0 25px;
	padding: 0 0 10px;
	font-size: 30px;
	font-weight: normal;
	clear: both;
}
#main h2 a,
#main-page h2 a {
	text-decoration: none;
}
#main h3,
#main-page h3 {
	font-size: 20px;
	padding: 0;
	margin: 0 0 10px;
	clear: both;
}
#main h4,
#main-page h4  {
	font-size: 18px;
	padding: 0;
	margin: 0 0 10px;
	clear: both;
}
#main p,
#main-page p {
	padding: 0 15px 15px;
}
#date {
	margin: -30px 0 0;
	padding: 0 15px 10px 0;
	font-size: 12px;
	text-align: right;
}

/*-----------------------------------------------------------------
　　　サイドコンテンツ
*-----------------------------------------------------------------*/

#sidebar {
	width: 230px;
	padding: 0 0 15px;
}
#sidebar p {
	margin-bottom: 19px;
}
.widget {
margin: 0 0 20px;
padding: 10px 7px;
border:1px solid #f0f0e1;
background: #fff;
}
#sidebar h3 {
	margin: 5px 0 0;
	padding: 10px 0 7px;
	font-size: 16px;
	font-weight: normal;
}
#sidebar ul {
	margin: 0 0 0 5px;
	padding: 10px 0;
}
#sidebar li {
	margin: 0 10px 5px 0;
	padding: 0 0 0 15px;
	list-style: none;
	list-style-position: inside;
	background:url(images/arrow.png) no-repeat 0 50%;
}
#sidebar li a {
	padding: 0;
	text-decoration: none;
	display: block;
}
#sidebar li a:hover {
	background-position: 3px 50%;
}
#sidebar-ad {
	margin: 0;
	padding: 15px 0 5px;
	font-size: 14px;
	text-align: center;
	background: #fff;
}
#sidebar-ad span {
	font-size: 16px;
	font-weight: bold;
}

/*-----------------------------------------------------------------
　　　フッター
*-----------------------------------------------------------------*/
#footer-nav {
	margin: 0;
	padding: 5px 0;
	font-size: 14px;
	text-align: center;
}
#footer {
	clear: both;
	padding: 0;
}
#footer p {
	margin: 0;
	padding: 10px 0;
	font-size: 14px;
	text-align: center;
}
#scroll-to-top {/*トップに移動の▲位置*/
margin: 0 0 50px;
padding: 0;
}
/*-----------------------------------------------------------------
　　　投稿ページ
*-----------------------------------------------------------------*/

#next-single {
	margin: 30px 0 0 0;
	padding: 10px 0;
	clear: both;
}
#next-single:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#next-single-l {
	width: 50%;
	margin: 0;
	padding: 0;
	float: left;
	font-size: 0.8em;
	text-align: left;
}
#next-single-r {
	width: 50%;
	margin: 0;
	padding: 0;
	float: right;
	font-size: 0.8em;
	text-align: right;
}

/*-----------------------------------------------------------------
　　　アーカイブページ
*-----------------------------------------------------------------*/

.archive-title {
	margin: 0 0 15px;
	padding: 0 5px;
	font-size: 14px;
}

#wp_pagenavi {/*ページナビ*/
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
}

#next {
	margin: 30px 0 0 0;
	padding: 10px 0;
	clear: both;
}
#next:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#next-l {
	width: 50%;
	max-width: 300px;
	min-width: 150px;
	margin: 0;
	padding: 0;
	float: left;
	font-size: 0.8em;
	text-align: left;
}
#next-r {
	width: 50%;
	max-width: 300px;
	min-width: 150px;
	margin: 0;
	padding: 0;
	float: right;
	font-size: 0.8em;
	text-align: right;
}

/*-----------------------------------------------------------------
　　　お問合せ
*-----------------------------------------------------------------*/
.form-res input#submit_button {
	margin: 0 auto;
	padding: 5px 25px;
	cursor: pointer;
	cursor: hand;
	font-size: 16px;
	border-radius: 3px;
}
.form-res input#submit_button {
	margin: 0 auto;
	padding: 5px 25px;
	cursor: pointer;
	cursor: hand;
	font-size: 16px;
	text-align: center;
	border-radius: 3px;
}
.submit_button {
	margin: 0;
	padding: 0;
	text-align: center;
}

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

#container {
	margin: 0 10px!important;
}
#description {
	margin: 0 10px!important;
	text-align: left!important;
}
#header-logo {
	width: 100%!important;
	margin: 0 auto 10px!important;
	padding: 30px 0!important;
	text-align: center!important;
}
#main-photo h1 {
	padding: 0 5px!important;
	text-align: left!important;
}
.page-id-27 #header-logo,
.page-id-29 #header-logo,
.page-id-31 #header-logo,
.page-id-33 #header-logo {
	top: 20px!important;
	left: auto!important;
}
#top-nav {/*スマホでグローバルナビゲーションを隠す*/
	display: none!important;
}
.nhk {
	left: 20px!important;
	position: absolute!important;
}
#main-photo {
	margin: -20px 0 0!important;
}
#main h1 {
	font-size: 24px!important;
	font-weight: bold!important;
}
#main h2 {
	font-size: 20px!important;
}
#main h3 {
	font-size: 20px!important;
}
#main h4 {
	font-size: 18px!important;
}
#sidebar-ad {
	display: none !important;
}
#sidebar {
	width: 100% !important;
	max-width: 1080px !important;
	min-width: 250px !important;
}
.photo-r, .photo-l {
	margin: 0 auto 15px auto !important;
	text-align: center !important;
	float: none !important;
}
#side-av {
	display: none !important;
}
img.alignright {
	padding: 0 0 10px 0 !important;
	margin: 0 auto !important;
	display: block !important;
	}
 
img.alignleft {
	padding: 0 0 10px 0 !important;
	margin: 0 auto !important;
	display: block !important;
	}
.alignright {
	float: none !important;
	}
 .alignleft {
	float: none !important;
	}
.toppage01 p {
	width: 100%!important;
}
.company01 {
	width: 100%!important;
	margin: 0 0 30px!important;
	float: none!important;
}
.company02 {
	width: 100%!important;
	text-align: center!important;
	float: none!important;

}
.company01 dl {
	margin: 0 10px !important;
}
.company01 dl dt {
	width: 100% !important;
	margin: 10px 0 0 0 !important;
	padding: 5px 0 !important;
	font-weight: bold !important;
}
.company01 dl dd {
	width: 100% !important;
	margin: 0 !important;
	padding: 5px 0 !important;
	border-left: none !important;
}
.results01 {
	width: 100%!important;
	margin: 0 0 30px!important;
	float: none!important;
}
.results02 {
	width: 100%!important;
	text-align: center!important;
	float: none!important;

}
.profile01 {
	width: 100%!important;
	margin: 0 0 30px!important;
	float: none!important;
}
.profile02 {
	width: 100%!important;
	text-align: center!important;
	float: none!important;

}
}

@media screen and (min-width: 640px) {/*PCでハンバーガーメニューを隠す*/
#menu-icon {
	display: none;
}	
}