/*
Theme Name: セルフテーマ
*/

@charset "UTF-8";
/* リセット */
@import url(reset.css);
@import url(./css/test.css);

:root {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

body, p {
	padding: 0;
	margin: 0;
}

a,
a:hover,
a:visited {
	text-decoration: none;
	color: #000;
}
a:hover {
	color: #888;
}

h1, h2, h3 {
	font-family: "Mplus 1p", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

h4, h5, h6 {
	font-family: "Sawarabi Gothic", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

h2 {
	padding: 0;
	margin: 0;
	font-size: x-large;
	font-weight: bold;
}

h3 {
	padding: 0;
	margin: 0;
	font-size: small;
	font-weight: normal;
	line-height: 1.5em;
}

ul {
	padding: 0 0 0 2em;
	margin: 0;
}

br.sp_only {
	display: none;
}

#wrap {
	width: 100%;
	/* background-color: #ffdddd; */
}

/**************************************************
ヘッダー定義
**************************************************/

/** ナビゲーションバー ***************************/

#web_nav {
	position: fixed;
	/* display: flex; */
	z-index: 99;
	margin: 0;
	padding: 0;
	width: 100%;
	background-color: #ffffff;
}
#web_nav {
	height: 49px;
	font-size: normal;
	vertical-align: middle;
	line-height: 49px;
}

div.nav_bar {
	width: 100%;
	margin: 0;
	background-color: #ffffff;
	border-bottom: solid 1px #888888;
}
div.nav_bar .nav_left {
	display: inline-block;
}
div.nav_bar .nav_right {
	display: inline-block;
	float: right;
	text-align: right;
}
.site_nav {
	top: 51px;
	display: none;
}

.site_nav div.menu-site-list-container {
	width: 100%;
}
.site_nav ul {
	padding-left: 0;
}
.site_nav li {
	height: 50px;
	line-height: 50px;
	text-align: center;
	border-bottom: solid 1px #888888;
	background-color: #ffffff;
}

.member_menu,
.main_menu {
	display: inline-block;
	position: relative;
	height: 100%;
	margin: 0 1em;
	cursor :pointer;
}
.main_menu .site_logo {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 270px;
}

/** トップバナー *********************************/

#header {
	display: block;
	margin: 0;
	width: 100%;
	/* background-color: #ff0000; */
}

#header_img_sp {
	display: none;
}

.wp-custom-header {
	text-align: center;
}
.wp-custom-header img {
	margin: 50px auto 0 ;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}

#header_menu_pc,
#header_menu_sp {
	display: block;
	padding: 1em 0;
	background-color: #ffffff;
/*	border-bottom: solid 1px #888888; */
}

#header_menu_pc nav {
	text-align: center;
}
#header_menu_pc ul,
#header_menu_sp ul {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	/* background-color: #8888ff; */
}

#header_menu_pc li {
	display: inline-block;
	padding: 0 2em;
	font-size: large;
	font-weight: bold;
	text-align: center;
}

#header_menu_sp li {
	display: block;
	padding: 0.5em 0;
	font-size: x-large;
	font-weight: bold;
	text-align: center;
	border-top: solid 1px #888888;
}
#header_menu_sp label.menu_sp_name {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0.8em 0;
	font-size: large;
	cursor :pointer;
/*	background-color: #f00; */
}

#header_menu_sp .menu_sp_list {
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.5s;
}
#header_menu_sp .sp_chk:checked + .menu_sp_list {
	height: auto;
	opacity: 1;
}
#header_menu_sp .sp_chk:checked + span.hg1 {
	border-top: solid 1px #ff0000;
}
#header_menu_sp {
	display: none;
}


/**************************************************
記事投稿定義
**************************************************/

#contents {
	display: block;
	margin: 0;
	border-top: solid 1px #888888;
/*	background-color: #eeeeee; */
}

#main_contents {
	max-width: 1000px;
	margin: auto;
}

#about {
	display: block;
	width: 100%;
	margin: 0;
	/* background-color: #00ffff; */
}

#about span.item_a {
	display: block;
	margin: 2em 1em 0.5em 1em;
	padding: 0.5em;
	width: auto;
	border-radius: 15px;
	background-color: #f7b2f0;
	font-size: x-large;
	font-weight: bold;
	text-align: center;
}

#about span.item_b {
	display: block;
	margin: 2em 1em 0.5em 1em;
	padding: 0.5em;
	width: auto;
	max-width: 480px;
	border-radius: 15px;
	background-color: #fcfcd2;
	font-size: large;
	font-weight: bold;
	text-align: center;
}

#about p {
	margin: 2em 1em 1em 1em;
	line-height: 1.5;
}

#articles {
	display: block;
	float: left;
	width: 75%;
	margin: 0;
	/* background-color: #00ffff; */
}

div.post {
	display: block;
	margin: 2em 1em;
	border: solid 1px #888888;
	border-radius: 5px;
	background-color: #ffffff;
}

div.post_top_bar {
	font-size: small;
	font-weight: normal;
	line-height: 1.5em;
}

h2.post_title {
	margin: 1em 0;
}
h3.post_detail {
	margin: 1em 0;
}
h4.post_text {
	font-weight: normal;
	line-height: 2em;
}
h4.post_text img {
	max-width: 100%;
	height: auto;
}
h4.post_text iframe {
	max-width: 100%;
}

.post_eye_catch {
/*	padding: 0;
	margin: 0; */
	width: 100%;
	height: auto;
}

div.post_desc {
	display: block;
	padding: 10px 10px;
	/* background-color: #004444; */
}
h4.post_text a:link,
h4.post_text a:visited {
	color: #00f;
	text-decoration: underline;
}
h4.post_text a:hover {
	color: #008;
	text-decoration: underline;
}

p.post_single_time {
	font-size: small;
}
p.post_more_read {
	margin: 0.5em 0;
	font-size: small;
}
span.post_category {
	margin: 0 0 1em 0;
}
p.post_comment,
p.post_remark {
	margin: 0.5em 0 0 0;
	font-size: small;
}

.post_function {
	margin-top: 0.5em;
	height: 48px;
}
.post_wulike {
	float: left;
	margin: 9px 5px;
}
.post_author_avatar {
	height: 48px;
	float: left;
	margin: 0 5px;
}
.post_author_avatar img {
	height: 48px;
	width: 48px;
	border-radius: 24px;
}
.post_author_name {
	height: 48px;
	float: left;
	margin: auto 5px;
	line-height: 48px;
}

/* SNS定義 ***************************************/

.sns_border {
	display: block;
	clear: both;
	padding: 0.5em 1em;
/*	background-color: #ff0000; */
}

.sns_twitter {
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: large;
	font-weight: bold;
	border: 1px solid #1b95e0;
	border-radius: 15px;
	background-color: #1b95e0;
}

/* コメント定義 **********************************/

#comments {
	display: block;
	padding: 10px 10px;
}

.comment_author_avatar {
	display: block;
	float: left;
	padding: 8px;
}
.comment_author_avatar img {
	height: 48px;
	width: 48px;
	border-radius: 24px;
}
.comment_block {
	margin: 0;
}

.comment_count,
.comment_author_name,
.comment_remark {
	display: block;
	margin: 1em 0;
	font-size: small;
}
.comment_remark {
	margin-left: 48px;
}

textarea {
	margin: 0 0 0 48px;
	width: 80%;
}
.comment_memo {
	/* 「絵文字は使用できます」 */
	margin: 0.5em 0 0 48px;
	font-size: small;
}
h3.comment-reply-title {
	margin: 1em 0 0.5em 48px;
}
a.comment-reply-login {
	/* ログインして返信する */
	display: none;
}
input[type="submit"] {
	/* 送信ボタン */
	width: 120px;
	height: 30px;
	margin: 1em 0 0 48px;
	border: 1px solid #aaaaaa;
	border-radius: 15px;
	background-color: #aaaaaa;
	color: #000;
	font-size: normal;
	font-weight: bold;
	cursor :pointer;
}
/** ページネーション *****************************/

.pagination {
	margin: 2em 1em;
}
.pagination .nav-links {
	margin: 0 auto;
	text-align: center;
}
.pagination .nav-links .page-numbers {
	display: inline-block;
	padding: 0.5em;
	line-height: 1em;
}
.pagination .nav-links .current {
	width: 25px;
	border: 1px solid #888888;
	border-radius: 5px;
	font-weight: bold;
	color: #fff;
	background-color: #888;
}
.pagination .nav-links .dots {
	font-weight: bold;
}
.pagination .nav-links a.page-numbers {
	width: 25px;
	border: 1px solid #888888;
	border-radius: 5px;
	background-color: #fff;
}
.pagination .nav-links a.prev.page-numbers,
.pagination .nav-links a.next.page-numbers {
	width: 40px;
	border: 1px solid #888888;
	border-radius: 5px;
	background-color: #fff;
}
.pagination .nav-links a.page-numbers:hover ,
.pagination .nav-links a.prev.page-numbers:hover,
.pagination .nav-links a.next.page-numbers:hover {
	color: #fff;
	background-color: #888;
}


/** 最新投稿一覧 *********************************/

ul.post_news_all {
	margin: 0;
	padding: 0;
	list-style: none;
}

li.post_news_one {
/*	background-color: #ffdddd; */
	overflow: hidden;
	margin: 1em 0;
}
div.post_news_author {
/*	background-color: #ddffdd; */
	float: left;
	height: 48px;
	width: 48px;
	margin: 0 8px;
}
.post_news_all .post_news_one img {
	height: 48px;
	width: 48px;
	border-radius: 24px;
}

div.post_news_detail {
/*	background-color: #ddddff; */
	margin: 0 0 0 64px;
	vertical-align: middle;
}

.post_news_from {
	margin: 0.5em 0;
	font-size: small;

}
.all_post_title {
	display: block;
	max-width: 100%;
	padding: 0.5em 1em;
	background-color: #eeeeee;
	border-radius: 15px;
	font-size: large;
	font-weight: bold;
	vertical-align: middle;
}


/**************************************************
固定ページ定義
**************************************************/

/* 退会ページ定義 ********************************/

p.reason_data {
	margin: 1em 0;
	line-height: 1.5em;
	white-space: pre-wrap;
}


/* 会員情報ページ定義 ****************************/

.member_item {
	margin: 0;
}
.member_item .item_name {
	font-size: large;
	font-weight: bold;
}
.min_remark,
.red_remark {
	font-size: small;
}
.red_remark {
	color: #f00;
}
.error_msg {
	font-size: large;
	font-weight: bold;
	color: #f00;
}
form div.member_item input {
	font-size: large;
	width: 80%;
}
form div.member_item input.read_only {
	background-color: #bbbbbb;
}
span.member_result {
	display: block;
	width: 80%;
	margin-bottom: 1em;
	font-size: large;
	font-weight: bold;
	border: 1px solid #000;
	background-color: #000;
	border-radius: 5px;
	color: #fff;
	text-align: center;
}

button[type="submit"] {
	
}
.member_link_button {
	display: block;
	width: 250px;
	margin: 2em 0;
	padding: 0;
	font-size: normal;
	font-weight: bold;
	border: 1px solid #ddd;
	background-color: #ddd;
	border-radius: 20px;
	text-align: center;
}
h4.post_text a.member_link_button,
h4.post_text a.member_link_button:hover,
h4.post_text a.member_link_button:visited {
	text-decoration: none;
	color: #000;
}
h4.post_text a.member_link_button:hover {
	color: #888;
}

div.member_item img,
#wpua-preview-existing img,
#wpua-thumbnail-existing img {
	height: 96px;
	width: 96px;
	border-radius: 48px;
}

/* 会員情報ページ定義 ****************************/

table.plan-table {
	width: 80%;
	border: 1px solid #000;
}
table.plan-table tr,
table.plan-table td {
	border: 1px solid #000;
	text-align: center;
}
table.plan-table thead {
	background-color: #000;
	color: #fff;
}
table.plan-table .blog-name {
	width: 40%;
}
table.plan-table .unit-qty {
	width: 10%;
}
table.plan-table .plan-name {
	width: 50%;
}

/**************************************************
サイドバー定義
**************************************************/

#side {
	display: block;
	float: left;
	width: 25%;
	margin: 0;
	/* background-color: #ffff00; */
}

.sidebar_category {
	display: block;
	margin:  2em 1em;
	padding: 5px;
	border: solid 1px #888;
	border-radius: 5px;
	background-color: #ffffff;
}
.sidebar_category section {
	font-size: small;
	line-height: 1.5;
}
.sidebar_category ul {
	list-style-type: disc;
}

.side_title {
	margin: 1em 0 0.5em 0;
	text-align: center;
	font-size: small;
	font-weight: bold;
}
#side li {
	margin: 0.5em 0;
}

.sidebar_category .side_memberlink ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.sidebar_category .side_memberlink li {
	display: inline;
	padding: 0;
}
.sidebar_category .side_memberlink li img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}

.plan_link_button {
	display: block;
	width: 90%;
	margin: 0.5em 5%;
	padding: 0;
	font-size: large;
	font-weight: bold;
	border: 1px solid #f7b2f0;
	background-color: #f7b2f0;
	border-radius: 20px;
	text-align: center;
}

/**************************************************
フッター定義
**************************************************/

#footer_contents {
	clear: both;
}

#footer {
	display: block;
	padding: 1em 0;
	margin: 0;
	border-top: solid 1px #888888;
	background-color: #eeeeee;
}

#footer a {
	color: #444;
}

#footer nav {
	margin: 1em 0;
	text-align: center;
}
#footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
	/* background-color: #8888ff; */
}
#footer li {
	display: inline-block;
	padding: 0 3em;
	font-size: small;
	font-weight: bold;
	text-align: center;
}

#totop {
	display: block;
	position: fixed;
	background-color: #aaaaaa;
	opacity: 0.8;
	bottom:3.5%;
	right:3.5%;
	height: 35px;
	width: 45px;
	border-radius: 30px;
	padding: 5px 0;
	text-align: center;
	vertical-align: text-bottom;
}
#totop a {
	font-size: xx-large;
}


/**************************************************
スマホ定義
**************************************************/

@media screen and (max-width: 760px) {
/* iPadまでは普通 */

	br.sp_only {
		display: block;
	}
	.ground_nav {
		font-size: small;
	}

	.member_menu,
	.main_menu {
		margin: 0 0.2em;
	}

	#header li {
		font-size: large;
	}

	#header_menu_pc,
	#header_img_pc {
		display: none;
	}

	#header_menu_sp,
	#header_img_sp {
		display: block;
		padding: 0;
	}

	#header_menu_sp li {
		font-size: large;
	}

	#articles {
		width: 100%;
	}

	#side {
		width: 100%;
		clear: both;
	}

	div.post {
		margin: 2em 1em;
	}

	.post_category {
		margin: 3%;
	}

	h4 img.size-full {
		width: 100%;
		height: auto;
	}

	.pagination .nav-links .page-numbers {
		padding: 0.5em 0.1em;
	}

	.sidebar_category {
/*		width: 100%; */
/*		max-width: 500px; */
		margin:  2em 8em;
	}

	.side_title {
		font-size: large;
	}

	#footer div.under_menu ul {
		list-style-type: disc;
	}
	#footer div.under_menu li {
		display: block;
		margin-bottom: 0.5em;
	}

	table.plan-table {
		width: 100%;
	}
}

@media screen and (max-width: 420px) {
	.sidebar_category {
/* 横の空白が目立つのでスマホサイズでは横幅広げる */
		margin:  2em 4em;
	}
}


/**************************************************
トグルスイッチ
**************************************************/

#header_menu_sp .menu_toggle {
	display: block;
	float: left;
	margin: 0.5em;
	width: 30px;
	height: 26px;
	cursor: pointer;
	text-align: center;
	z-index: -10;
}

#header_menu_sp .menu_toggle span {
	display: block;
	position: relative;
	width: 100%;
	border-bottom: solid 3px #000;
	transition: all .5s;
}

#header_menu_sp .menu_toggle span.hg1 {
	top: 0px;
}
 
#header_menu_sp .menu_toggle span.hg2 {
	top: 10px;
}
 
#header_menu_sp .menu_toggle span.hg3 {
	top: 20px;
}
 
.sp_chk:checked .menu_toggle {
	display: none;
}



/**************************************************
メンバーメニュー用ハンバーガーメニュースイッチ
**************************************************/

nav.globalMenuSp {
/*    position: fixed; */
	z-index: 2;
	top: 0;
	left: 0;
	background: #fff;
	color: #000;
	text-align: center;
/*    transform: translateY(-100%); */
	width: 100%;

	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.7s;
}
 
nav.globalMenuSp ul {
	background: #fff;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
 
nav.globalMenuSp ul li {
	font-size: 1.1em;
	list-style-type: none;
	padding: 0;
	width: 100%;
/*    border-bottom: 1px solid #888; */
}
 
/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}
 
nav.globalMenuSp ul li a {
	display: block;
	color: #000;
	padding: 0;
}
 
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
	height: auto;
	opacity: 1;
}


.navToggle {
	display: block;
/*    position: fixed;    /* bodyに対しての絶対位置指定 */
	margin: 0 5px 0 auto;
	right: 13px;
	top: 12px;
	width: 42px;
	height: 51px;
	cursor: pointer;
/*    z-index: 0; */
	background: #fff;
	text-align: center;
}
 
.navToggle span {
	display: block;
	position: relative;    /* .navToggleに対して */
	width: 35px;
	border-bottom: solid 3px #000;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 6px;
}

.navToggle span:nth-child(1) {
	top: 9px;
}
.navToggle span:nth-child(2) {
	top: 18px;
}
.navToggle span:nth-child(3) {
	top: 27px;
}

/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
	top: 21px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2) {
	top: 18px;
	opacity: 0;
}
.navToggle.active span:nth-child(3) {
	top: 15px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

