/*
	Theme Name:poimame_v4
	Theme URI: 
	Author: poimame
	Author URI: poimame.comx
	Description: 
*/

*{
	box-sizing:border-box;
	padding:0;
	margin:0;
	font-family: 'Rubik', sans-serif;
	color:#222;
}
body{
	margin:0;
	font-size:18px;
	background:#f4f4f4;
}
a{ 
	color:#1558d6;
	text-underline-offset:3px;
}
input { font-size:20px; }


/* -- contents width -------------------------------- */

#wrap { }
#contents { max-width:480px; width:100%; margin:0 auto; padding:85px 10px 0; }
#header { }
#navi { max-width:480px; width:100%; z-index:99; }
#footer { }


@media screen and ( min-width:1024px ){
	body{
		background-image:url(/wp-content/themes/poimame_v4/pic_bg.png);
		background-size:contain;
		background-repeat:no-repeat;
		background-position:center top;
		background-attachment:fixed;
	}
}

/* -- adnote -------------------------------- */
#adnote{
	margin-top:30px;
	padding:10px;
	border-radius:7px;
	background:#eaeaea;
}

#adnote li{
	margin:5px 0 0;
	font-size:0.7em;
	line-height:1.2;
	margin-left:20px;
	
}


/* -- header -------------------------------- */
#header{
}
#header .logo{ 
	width:120px;
	margin:15px auto 0;
}
#header .logo img{ 
	width:100%;
	border-radius:50%;
	border:7px solid #fff;
}

/* -- navi -------------------------------- */
#navi {
	margin:15px 0 0;
	position:fixed;
	top:0;
	left:50%;
	transform:translateX(-50%);
}


#navi .navi_logo{
	text-align:center;
}
#navi .navi_logo img{
	width:100%;
	max-width:80px;
	min-height:80px;
	border-radius:40px;
	border:3px solid #fff;
	box-shadow: 0 0 8px #ccc;
	background:#f4f4f4;
}


/* -- adblock -------------------------------- */
.adblock{
	margin:30px 0 0;
}


/* -- footer -------------------------------- */
#footer{ 
	padding:30px 0 100px;
}
#footer .navi{ 
	text-align:center;
}
#footer .navi li{
	display:inline-block;
	list-style:none;
	margin: 5px;
}
#footer .navi li a{
	font-size:0.8em;
	padding: 4px;
}
#footer .navi a{
	color:#222;
}
#footer .desc{ 
	margin-top:30px;
	text-align:center; 
	font-size:0.7em; 
}
#footer .copy{ 
	text-align:center; 
	margin-top:10px;
}


/* -- post_list ------------------------------- */

.post_list{ 
	z-index:2;
}
.post_list h1{ 
	text-align:center; 
	font-weight:bold; 
	margin:30px 0 0;
	font-size:1.3em;
}
.post_list a{
	position:relative;
	display:flex;
	padding:20px 40px 20px 20px;
	margin:25px 0 0 0;
	background:#fff;
	border-radius:20px;
	align-items:center;
	text-decoration:none;
	box-shadow: 0 0 5px #ccc;
}

.post_list a::after{
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 2px #222;
	border-right: solid 2px #222;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -4px;
}

.post_list p.thum{
	width:120px; 
}
.post_list p.thum img{
	border-radius:7px;
	width:100px;
}
.post_list p.title{
	width:calc( 100% - 120px );
	margin-top:5px;
	color:#000; 
	font-size:0.95em;
	line-height:1.6;
}


/* -- post_navi ------------------------------- */
.post_navi { 
	margin:40px auto 0;
	padding-bottom:10px;
}
.post_navi .wp-pagenavi{
	text-align:center;
}
.post_navi a:link{ text-decoration:none; }

.post_navi .current,
.post_navi .first,
.post_navi .extend,
.post_navi .page,
.post_navi .last{ padding:12px; margin:0 5px; }

.post_navi .page{ 
	background:#222;
	border-radius:5px;
	color:#fff;
}
.post_navi .current{ 
	background:none; 
	border-radius:5px;
}


/* -- post_redirect ------------------------------- */
.post_redirect{ 
	width:100%;
	height:100vh;
	background:#fff;
	padding:50px 10px;
	text-align:center;
}

/* -- post_single ------------------------------- */
.post_single{ 
	margin-top:30px;
	padding:20px;
	border-radius:20px;
	background:#fff;
	box-shadow: 0 0 5px #ccc;
}
@media screen and ( max-width:480px ){
	.post_single { padding:20px 15px; }
}

.post_single h1{
	line-height:1.4;
	font-size:1.3em;
	font-weight:bold;
	padding:5px 0 20px;
}
@media screen and ( max-width:480px ){
	.post_single h1{ font-size:1.25em; }
}

.post_single h2{
	margin:3.5em 0 1em 0;
	font-size:1.3em;
	font-weight:bold;
	line-height:1.2;
	padding:0 0 17px;
	border-bottom:5px solid #222;
}

.post_single h2 span.sub{
	font-size:70%;
}

.post_single h3{
	display:inline-block;
	padding:2px 0 2px 15px;
	border-left:7px solid #222;
	margin:2.8em 0 0.4em;
	font-size:1.1em;
	line-height:1.3;
	font-weight:bold;
}
.post_single h2 + h3{
	margin-top:1.4em;
}
.post_single h4{ 
	font-weight:bold;
	margin-top:1.3em; 
	line-height:1.3;
}

.post_single strong{
	background: linear-gradient(#fff 30%, #ffff66 70%); 
	font-weight:bold;
}
.post_single em{ 
	font-style:normal;
	color:#d00;
	font-weight:bold;
}
.post_single code{ 
	font-family:Consolas;
	font-style:normal;
	font-weight:bold;
	border:1px solid #222;
	border-radius:5px;
	padding:2px 4px;
	margin-left:2px;
	margin-right:2px;
}
.post_single p{
	line-height:2.0;
	margin:1em auto 0;
}
.post_single p.date{
	font-size:0.8em;
	line-height:1.0;
	color:#999;
	margin-top:10px;
	padding-bottom:10px;
	text-align:right;
}
.post_single p.cate{
	font-size:0.75em;
	line-height:1.0;
	margin:0 0 20px 0;
	color:#999; 
}
.post_single p.cate a{
	display:inline-block;
	padding:5px 12px;
	background:#f4f4f4;
	border-radius:20px;
	text-decoration:none;
	line-height:1.0;
	color:#999; 
}
.post_single p.cate span{
	display:inline-block;
	margin:4px 5px 0 0;
}

.post_single p.kome{
	margin-top:1.2em;
	text-indent:-1em; 
	padding-left:1em;
	line-height:1.7;
	font-size:0.8em;
}
.post_single table td p.kome{
	margin-top:0.8em;
}
.post_single p.arrow{
	margin:1em auto 0;
 	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 15px solid #222;
}
.post_single ol{
	margin:15px 0 0 0;
}
.post_single ol li{
	line-height:2.0;
	margin-top:8px;
	margin-left:30px;
}
.post_single ul{
	margin:15px 0 0 0;
}
.post_single ul li{
	position:relative;
	list-style:none;
	line-height:1.8;
	margin-top:8px;
	margin-left:8px;
	padding-left:20px;
}
.post_single ul li:before {
  content: "";
  position: absolute;
top: .6em;
left: 0; 
width:8px;
height:8px;
background-color:#222;
  border-radius: 50%;
}
.post_single ul li ul{
	margin-top:0;
}

.post_single .movie {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.post_single .movie iframe {
  width: 100%;
  height: 100%;
}


/* アイキャッチ画像 */
.post_single p.thum{
	text-align:center; 
	margin:0 auto 0 auto;
}
.post_single p.thum img{ 
	width:40%;
	height:auto;
	border-radius:7px;
}

/* 記事内の画像 */
.post_single p.pic_yoko,
.post_single p.pic_tate{
	text-align:center;
	margin-left:auto;
	margin-right:auto;
	line-height:0;
}
.post_single p.pic_yoko{
	width:100%;  
}
.post_single p.pic_tate{ 
	max-width:300px;
}
.post_single p.pic_yoko img,
.post_single p.pic_tate img{ 
	width:100%;
	border-radius:7px;
	border:1px solid #ddd;
}


/* -- password -- */
.post-password-form input[type=password]{
    flex-grow: 1;
    min-width: 3em;
	border:1px solid #222;
	border-radius:5px; 
	padding:11px; 
	font-size:1.0em; 
	width:150px;
}
.post-password-form input[type=submit]{ 
    flex-grow: 1;
	width:50px;
	font-size:0.9em;
	padding:10px 0;
	background:#222;
	border:1px solid #222;
	border-radius:5px; 
	text-align:center; 
	color:#fff;
}


/* 引用 */
.post_single blockquote{
	margin:1.2em auto 0; 
	padding:0 20px 15px; 
	border:1px dashed #222;
	border-radius:7px;
	font-size:0.9em;
	font-style:italic;
	color:#666;
	line-height:1.8;
}
.post_single blockquote p.pic_tate img,
.post_single blockquote p.pic_yoko img{ 
	border:none;
}
.post_single cite{ 
	font-size:0.8em;
	text-align:right;
	display:block;
}
.post_single cite::before{ 
	content:'-';
	padding-right:5px;
}



/* テーブル */
.post_single table{
	width:100%;
	border-top:1px solid #ddd;
	border-right:1px solid #ddd;
	border-spacing:0;
	max-width:100%;
	margin:1.5em 0 0 0;
	padding:0;
}
.post_single table th{ 
	border-bottom:1px solid #ddd;
	border-left:1px solid #ddd;
	padding:10px;
	background:#f4f4f4;
	margin:0;
	line-height:1.6;
	font-size:0.9em;
	font-weight:normal;
}
.post_single table td{
	border-bottom:1px solid #ddd;
	border-left:1px solid #ddd;
	padding:10px;
	margin:0;
	line-height:1.6;
	font-size:0.9em;
}
.post_single table.logo th{
	width:120px;
}
.post_single table.logo th img{
	max-width:100%;
}



/* 免責 */
.post_single .notice{
	margin-top:1.2em;
	padding:15px;
	border:1px dotted #f44;
	border-radius:7px;
	color:#f44;
	font-size:0.8em;
}

/* ブログカード */
.post_single .blogcard{
	margin-top:1.5em;
	border:1px dotted #222;
	border-radius:7px;
}
.post_single .blogcard a{
	position:relative;
	padding:20px 30px 10px 20px;
	display:flex;
	align-items:center;
	text-decoration:none;
}
.post_single .blogcard a::after{
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 2px #222;
	border-right: solid 2px #222;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -4px;
}
.post_single .blogcard p.pic{
	width:105px;
	margin:0;
}
.post_single .blogcard p.pic img{
	width:90px;
	border-radius:7px;
}
.post_single .blogcard p.tit{
	margin:-2px 0 0 0;
	line-height:1.8;
	font-size:0.8em;
	font-weight:bold;
	width:calc( 100% - 105px );
}
.post_single .blogcard span{
	display:inline-block;
	padding:3px 10px;
	margin-right:5px;
	border:1px solid #222;
	border-radius:1px;
	line-height:1.0;
	color:#222; 
	font-weight:normal;
	font-size:0.9em;
}

.post_single .cardlist #toc_container{
	display:none;
}
.post_single .cardlist h2{ 
	margin-top:2em;
}
.post_single .cardlist h2:first-of-type{ 
	margin-top:0;
}

.post_single .cardlist .blogcard{
	margin:0;
	border-radius:0;
	border:none;
	border-bottom:1px dotted #222;
}
.post_single .cardlist .blogcard a{
	padding:0 30px 10px 0;
}

.post_single .cardlist .blogcard p.pic{
	width:80px;
	margin:0;
}
.post_single .cardlist .blogcard p.pic img{
	width:70px;
	border-radius:7px;
}
.post_single .cardlist .blogcard p.tit{
	margin:-2px 0 0 0;
	line-height:1.7;
	font-size:0.9em;
	font-weight:normal;
	width:calc( 100% - 80px );
}
.post_single .cardlist .blogcard span{
	display:none;
}







/* 申し込み */
.post_single .apply{
	margin-top:1.5em;
	/* border:1px dotted #222; */
	padding:5px 25px 25px;
	background:#ffffef;
	border-radius:7px;
}
@media screen and ( max-width:480px ){
	.post_single .apply{ padding:3px 15px 20px; }
}

/* おすすめ */
.post_single .recommend{
	margin-top:2em;
	border:1px solid #222;
	padding:0 25px 25px;
	border-radius:7px;
}
.post_single .recommend .rec_tit{
	display:inline-block;
	margin:-15px 0 0 -10px;
	background:#222;
	padding:5px 15px;
	border-radius:2px;
	color:#fff;
	font-size:0.9em;
	font-weight:bold;
}

/* 限定タイアップ */
.post_single .tieup{
	margin-top:10px;
	text-align:center;
}
.post_single .tieup span{
	position: relative;
    padding: 0 18px;
	font-weight:bold;
	font-size:0.8em;
}
.post_single .tieup span::before,
.post_single .tieup span::after{
	content: "";
	display: inline-block;
	background: #000;
	width: 2px;
	position: absolute;
	height: 30px;
    bottom: -5px
}
.post_single .tieup span::before{
	left: 0;
    transform: rotate(-30deg);
}
.post_single .tieup span::after{
	right: 0;
    transform: rotate(30deg);
}

/* ボタン吹き出し */
@keyframes move_y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(10px);
  }
}
.post_single .btn_fuki {
 	animation: move_y .5s infinite alternate ease-in-out;
 	display: block;
	text-align:center;
	margin-top:0.7em;
}
.post_single .btn_fuki span{ 
	position: relative;
	display: inline-block;
	padding: 8px 20px;
	border-radius:30px;
	min-width: 180px;
	max-width: 100%;
	font-size: 0.8em;
	background: #FFF;
	border: solid 1px #222;
	box-sizing: border-box;
}
.post_single .btn_fuki span:before {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	margin-left: -10px;
	border: 10px solid transparent;
	border-top: 10px solid #FFF;
	z-index: 2;
}
.post_single .btn_fuki span:after {
 	content: "";
	position: absolute;
	bottom: -24px;
	left: 50%;
	margin-left: -12px;
	border: 12px solid transparent;
	border-top: 12px solid #222;
	z-index: 1;
}

/* 横並び */
.btn_row{ 
	display:flex;
}
.btn_row p{ 
	width:50%;
}
.btn_row p:nth-child(odd){
	margin-right:7px;
}
.btn_row p:nth-child(even){
	margin-left:7px;
}
.btn_row p a{ 
	padding:7px;
}

/* コード */
.post_single .code{
	margin:1.2em auto 0;
	width:100%;
	max-width:400px;
	display:block;
	padding:12px;
	border-radius:50px; 
	border:1px dashed #222;
	text-align:center;
	font-size:1.1em;
	font-family:Consolas;
	line-height:1.1;
	font-weight:bold;
	letter-spacing:1.2;
}
.post_single li .code{
	margin:0 auto 10px;
}


/* 外部リンクボタン */
.post_single .btn{
	margin-top:1em;
}
.post_single li .btn{
	margin:0 auto 10px;
}
.post_single .btn a{
	position:relative;
	max-width:400px;
	width:100%;
	display:block;
	margin:0 auto;
	padding:18px 12px;
	border-radius:50px;
	background:#0063ac;
	border:2px solid #0063ac;
	text-decoration:none;
	text-align:center;
	color:#fff;
	font-weight:bold;
	font-size:0.9em;
	line-height:1.3;
    /* box-shadow: 0 5px 15px rgba(0,0,0,.15); */
}
.post_single .btn a::after{
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -4px;
}

/* 内部リンクボタン */
.post_single .anc{
	margin-top:1em;
}
.post_single li .anc{
	margin:0 auto 10px;
}
.post_single .anc a{
	position:relative;
	max-width:400px;
	width:100%;
	display:block;
	margin:0 auto;
	padding:16px 10px;
	border-radius:50px;
	background:#fff;
	border:2px solid #222;
	text-decoration:none;
	text-align:center;
	color:#222;
	font-size:0.9em;
	line-height:1.3;
}
.post_single .anc a::after{
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 2px #222;
	border-right: solid 2px #222;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -4px;
}

/* テーブル内のボタンは小さく */
.post_single table .btn,
.post_single table .anc{
margin-top:0;
}
.post_single table .btn a,
.post_single table .anc a{
	font-size:0.8em;
	padding:5px;
	max-width:200px;
}
.post_single table .btn a::after,
.post_single table .anc a::after{
	right: 15px;
}

/* メッセージ吹き出し */
.post_single .messe {
	margin:1.5em auto 1.5em;
	overflow:hidden;	
}
.post_single .messe p{
	margin:0;
}
.post_single .messe p.fuki{
float:left;
width: calc( 100% - 80px );
position: relative;
display: inline-block;
padding: 15px;
border: solid 1px #222;
background:#fff;
border-radius:7px;
line-height:1.7em;
font-size:0.9em;
}
.post_single .messe p.fuki:before {
content: "";
position: absolute;
top: 25px;
left: -20px;
margin-top: -10px;
border: 10px solid transparent;
	border-right: 12px solid #fff;
z-index:11;
}
.post_single .messe p.fuki:after {
content: "";
position: absolute;
top: 25px;
left: -22px;
margin-top: -10px;
border: 10px solid transparent;
	border-right: 13px solid #222;
z-index:10;
}

.post_single .messe p.icon {
float:left;
display:inline-block;
width:80px;
}
.post_single .messe p.icon:before {
content: '';
width: 55px;
height: 55px;
display:inline-block;
border-radius:55px;
background-image: url(/wp-content/themes/poimame_v4/pic_fuki.png);
background-size: contain; 
vertical-align: middle; 
}


/* -- post_widget ------------------------------- */

.post_widget{
}
.post_widget li.widget{
	list-style:none;
	margin-top:30px;
	padding:30px 20px;
	border-radius:20px;
	background:#fff;
	box-shadow: 0 0 5px #ccc;
}
.post_widget li.widget li{
	list-style:none;
}	
.post_widget h2{ 
	padding-bottom:10px; 
	font-size:1.1em;
}
.post_widget li{ 
	padding:5px 0;
	font-size:1.0em;
	line-height:1.3;
}
.post_widget li a{ 
	text-decoration:none;
}
.rpwwt-widget ul li span{ color:#222; line-height:1.5; }
.rpwwt-widget ul li{ margin-bottom:0; }
.rpwwt-widget img{ border-radius:7px; } 


/* -- search -- */
.search{ 
	margin:25px auto 0;
	text-align:center;
	max-width:400px;
	width:100%;
}
.search input[type=text]{
    flex-grow: 1;
    min-width: 3em;
	border:1px solid #222; 
	border-radius:5px; 
	padding:11px; 
	font-size:1.0em; 
	width:calc( 100% - 80px );
}
.search button{ 
    flex-grow: 1;
	width:70px;
	font-size:0.9em;
	padding:10px 0;
	background:#000; 
	border:1px solid #222;
	border-radius:5px; 
	text-align:center; 
	color:#fff;
}

/* -- profile -- */
.profile{ 
	margin-top:30px;
	padding:20px;
	border-radius:20px;
	border:1px solid #ccc;
}
@media screen and ( max-width:480px ){
	.profile{
		border:none;
		padding:20px 10px;
	}
}

.profile .icon{ 
	text-align:center;
}
.profile .icon img{ 
	width:80px;
	border-radius:50%; 
	border:2px solid #fff;
}
.profile .name{ 
	text-align:center;
	margin-top:5px;
	font-size:0.8em;
	font-weight:bold;
}
.profile .text{ 
	margin-top:15px;
	font-size:0.9em;
	line-height:1.7;
}
.profile .link{ 
	margin-top:20px;
	font-size:0.9em;
	line-height:1.7;
	text-align:center;
}
.profile .btn_ig,
.profile .btn_x{ 
	margin:15px auto 0;
}
.profile .btn_ig a,
.profile .btn_x a{
	position:relative;
	max-width:250px;
	width:100%;
	display:block;
	margin:0 auto;
	padding:15px 12px;
	border-radius:50px;
	text-decoration:none;
	text-align:center;
	color:#fff;
	font-size:0.9em;
    box-shadow: 0 5px 15px rgba(0,0,0,.15);
    transition: all .2s linear;
}
.profile .btn_ig a{	
	background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
}
.profile .btn_x a{	
	background: linear-gradient(45deg, rgba(120, 169, 182, 1), rgba(13, 31, 30, 1));
}

.profile .btn_ig a::after,
.profile .btn_x a::after{
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -4px;
}

/* -- index ------------------------------- */
#toc_container{
	margin:3.5em 0 0;
	padding:25px;
	background:#f4f4f4;
	border-radius:7px;
	font-size:0.9em;
}
/* タイトル直下に目次がある場合 */
h1+#toc_container{
	margin-top:1em;
}
#toc_container p.toc_title{ 
	margin-top:0;
}
#toc_container ul li:before {
	background-color:#999;
}


