@charset "UTF-8";

/*
Theme Name: konnavi
Theme URI:
Description: LiPro婚活用のテーマ
Version: 2026.02.17.1
Author: somali
Author URI:
*/
/*------------------ Browser Default Initialization */
html {
	overflow-y:scroll;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
	margin:0;
	padding:0;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style:normal;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

caption,th {
	text-align:left;
}

q:before,q:after {
	content:'';
}

object,embed {
	vertical-align:top;
}

hr,legend {
	display:none;
}

h1,h2,h3,h4,h5,h6 {
	font-size:100%;
}

img,abbr,acronym,fieldset {
	border:0;
}

/* wp-block-library CSS削除時の補完ルール
   メディアライブラリ経由の画像にmax-width制約を維持する */
img[class*="wp-image-"] {
	max-width: 100%;
	height: auto;
}

li {
	list-style-type:none;
}

p,dd,blockquote {
	text-align:justify;
	text-justify:inter-ideograph;
}

/*------------------ Basic Style */
/* ------------ Font Style */
body {
	background:#FFF;
	color:#111;
	font-size:75%;
	line-height:150%;
	font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

html>/**/body {
	font-size:15px;
}

/* ------------ Table Style */
table tr th,table tr td {
	vertical-align:top;
}

/* ------------ clearfix */
.clearfix:after {
	content:".";
	display:block;
	height:0;
	font-size:0;
	clear:both;
	visibility:hidden;
}

.clearfix {
	display:inline-block;
}


/****************************************
				 引用
*****************************************/
blockquote {
    position: relative;
    padding: 40px 15px 8px 15px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
}
blockquote:before{
    display: inline-block;
    position: absolute;
    top: 5px;
    left: 3px;
    vertical-align: middle;
    content: "“";
    font-family: sans-serif;
    color: #cfcfcf;
    font-size: 90px;
    line-height: 1;
}
blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

/************************************
文字設定
*************************************/
li,th,td,dt,dd {
	font-size:12px;
}

.centerText {
	text-align: center;
}


.boldText {
	font-weight:bold;
}


.veryBigText {
	font-size:135%;
}

.bigText {
	font-size:115%;
}

.smallText {
	font-size:85%;
}

.verySmallText {
	font-size:65%;
}

p#smallText {
	font-size:85%;
}

.post p {
	margin-bottom:1.6em;
	font-size:15px;
	line-height:165%;
}

span.strongText {
background: linear-gradient(transparent 70%,#FFF9C4 0%);
font-weight: bold;
}

.red {
	color:#d10000;
	font-weight: bold;
}

.black {
	color:#111;
}

.blue {
	color:#2355a5;
}

p.attention {
	color:red;
	background:#f7f7f7;
	border:1px solid #ccc;
	padding:10px;
}

.quote {
	padding-left:2em;
	padding-right:2em;
}

.borderimg{
	border: 1px solid #ebebeb;

}

.borderTable,.borderTable tr th,.borderTable tr td{
	border: 1px solid #ccc;
	padding: 5px 10px;
}

.borderTable tr th{
	background:#eaeaea;

}

.bottomSpace{
	margin-bottom: 1em;
}

.mt20{
	margin-top: 20px;
}

/*--------H1タグの設定--------*/
h1.singleTitle {
	font-size:24px;
	color:#000000;
	line-height:1.25em;
	padding-top:5px;
}


.single-konki-uranai #contents h1.konkiSingle {
	border:none;
	padding:0;
	margin:0 0 20px;
	font-size:40px;
	font-family:"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","Hiragino Mincho ProN",serif;
	border-bottom:2px solid #4acbd6;
	color:#222;
	line-height:1.25;
}



h1.pt-answer {
	font-size:20px;
	font-weight:700;
	margin:0 0 10px;
	padding:10px 0 20px 60px;
	border-bottom:1px solid #CCC;
	background:url(images/bg-qaroom-answer.png) no-repeat;
}

h3.head {
	border-left:5px solid #4acbd6;
	border-bottom:1px dotted #4acbd6;
	padding-left:.5em;
	margin:1.5em 0 .5em;
	font-size:14px;
}

/************************************
共通指定
*************************************/
.fourcorners {
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	-khtml-border-radius:5px;
	border-radius:5px;
}

img.border-image {
	border:1px solid #CCC;
}

.center {
	text-align:center;
}



p.bottomAttention {
	font-size:12px;
	margin:30px 0 0;
	background:#fcf0f0;
	border:1px solid #ccc;
	padding:10px;
}

p#bottomShinsei {
	font-size:12px;
	margin:20px 0;
	background:#f0f0f0;
	border:1px solid #ccc;
	padding:10px;
}

/*--------口コミレーティング--------*/
div.rate {
	font-weight:700;
	color:#4acbd6;
	font-size:30px;
	margin:5px 0;
	padding-left:100px;
}

.buzzlist div.title,.buzzlist div.rate,.buzzlist div.count {
	display:block;
	padding:2px 0;
}

.ranking div.title,.ranking div.rate,.ranking div.count,.ranking div.link {
	display:inline;
}

.ranking div.rate {
	font-size:16px;
	margin:3px 0;
}

/*--------セレクト--------*/

.select-css {
	display: block;
	font-size: 16px;
	font-family: sans-serif;
	font-weight: 700;
	color: #444;
	line-height: 1.3;
	padding: .6em 1.4em .5em .8em;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #aaa;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
	border-radius: .5em;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
	  linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
	background-repeat: no-repeat, repeat;
	background-position: right .7em top 50%, 0 0;
	background-size: .65em auto, 100%;
}
.select-css::-ms-expand {
	display: none;
}
.select-css:hover {
	border-color: #888;
}
.select-css:focus {
	border-color: #aaa;
	box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
	box-shadow: 0 0 0 3px -moz-mac-focusring;
	color: #222;
	outline: none;
}
.select-css option {
	font-weight:normal;
}

.mb-10{
	margin-bottom: 10px;
}

/************************************
リストマークのデザイン
*************************************/

ul.cp_list {
	padding:0.5em;
	list-style-type:none;
	border: 1px dotted #CCC;
	padding: 15px;
}
ul.cp_list li {
	position:relative;
	padding: 0em 0.3em 0em 1.3em;
	margin-bottom: 0.8em;
	border-bottom: 1px dotted #FFC107;
	font-weight: bold;
	font-size: 14px;

}
ul.cp_list li:after,ul.cp_list li:before {
	position:absolute;
	content:'';
	display:block;
	background: #FFC107;
	top: 0.43em;
	left: 0.5em;
	height: 11px;
	width: 4px;
	border-radius: 10px;
	transform: rotate(45deg);
}
ul.cp_list li:before {
	top: 0.6em;
	left: 0.2em;
	height:8px;
	transform:rotate(-45deg);
}




/************************************
A style
*************************************/
a:link {
	text-decoration:underline;
	color:#2355a5;
}

a:visited {
	text-decoration:underline;
	color:#2355a5;
}

a:hover {
	text-decoration:none;
	color:#900;
}

a:active {
	text-decoration:underline;
	color:#900;
}

.submenuBox a:link,#ranking a:link {
	display:block;
}

/************************************
レイアウト設定
*************************************/
#wrapper {
	width:980px;
	margin:0 auto;
}

#main {
	width:980px;
	margin-top:10px;
}

#footer {
	width:980px;
	margin:0 auto;
}

/*--------トップページ--------*/
#sideBar {
	width:280px;
	float:right;
}

#contents {
	width:660px;
	float:left;
	padding-right:40px;
}

#imgBox {
	position: relative;
	margin-bottom: 40px;
}

#topBox {
	width:660px;
}

#topLeftBox {
	float:left;
	width:320px;
	padding-right:20px;
}

#topRightBox {
	float:right;
	width:320px;
}

/************************************
Header
*************************************/
.headerBox {
	width:100%;
	padding-top:20px;
}

.headerBoxLeft {
	float:left;
	padding-bottom:20px;
}

.headerBoxRight {
	float:right;
	width:35%;
	padding-top:20px;
}

#topMessage {
	font-weight:400;
	font-size:11px;
	padding-top:6px;
	color:#666;
}

/*--------ぱんくずリスト--------*/
div.kuzu {
	padding-top:10px;
	padding-left:5px;
	font-size:12px;
}

div.kuzu span {
	margin:0 5px;
	color:#999;
}

div.kuzu ol li {
	display:inline;
}

div.kuzu ol li a{
	color: #474747;
}

/************************************
グローバルナビゲーション
*************************************/
#gNav {
	width:980px;
	background:#4acbd6;
	position:relative;
}

#gNav .menu-gnav-container {
	width:100%;
}

#gNav ul {
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
}

#gNav ul li {
	display:block;
	flex:1;
	position:relative;
}

#gNav ul li a {
	text-decoration:none;
	color:#FFF;
	font-size:15px;
	background:#4acbd6;
	border-right:solid #FFF 1px;
	display:block;
	text-align:center;
	border-top:8px solid #4acbd6;
	border-bottom:8px solid #4acbd6;
}

#gNav ul li:last-child a {
	border-right:none;
}

#gNav ul li a:hover {
	background:#C34C4C;
	border-top:8px solid #C34C4C;
	border-bottom:8px solid #C34C4C;
}

/* ドロップダウンメニュー */
#gNav ul li ul.sub-menu {
	display:none;
	position:absolute;
	top:100%;
	left:0;
	width:100%;
	z-index:1000;
	margin:0;
	padding:0;
	background:#fff;
	border:1px solid #4acbd6;
	border-top:none;
	box-shadow:0 2px 5px rgba(0,0,0,0.1);
}

#gNav ul li:hover > ul.sub-menu {
	display:block;
}

#gNav ul li ul.sub-menu li {
	float:none;
	width:100%;
	border-bottom:1px solid #e5e5e5;
}

#gNav ul li ul.sub-menu li:last-child {
	border-bottom:none;
}

#gNav ul li ul.sub-menu li a {
	color:#333;
	background:#fff;
	border:none;
	text-align:left;
	padding:10px 15px;
	font-size:13px;
	border-top:0;
	border-bottom:0;
}

#gNav ul li ul.sub-menu li a:hover {
	background:#f0f0f0;
	color:#4acbd6;
	border-top:0;
	border-bottom:0;
}

/************************************
サイドバー
*************************************/
/*--------タイトル--------*/
.menuTitle {
	font-size:13px;
	background:#FCFCFC;
	border-top:4px solid #4acbd6;
	border-bottom:1px solid #e5e5e5;
	height:35px;
	line-height:35px;
	padding-left:10px;
	font-weight:700;
}



/*--------レイアウト--------*/
div.submenuBox {
	border:1px solid #e5e5e5;
	background:#FFF;
}

.submenuBox ul.menu li {
	background:url(../../uploads/2020/07/list-sidemenu.gif) no-repeat;
	background-position:20px 8px;
	padding:4px 0 4px 30px;
	border-bottom:1px solid #F0F0F0;
}

/*--------ランキングバナー--------*/
.rankBanner {
	margin-bottom:20px;
}

.rankBanner ul {
	padding:10px;
}

.rankBanner ul li {
	padding:5px 0;
}



/************************************
TOPページの設定
*************************************/
.contentsTitle {
	border:1px solid #e5e5e5;
	border-bottom:none;
}

.contentsTitle span {
	display:block;
	font-size:14px;
	background:#FCFCFC;
	border-left:4px solid #4acbd6;
	height:35px;
	line-height:35px;
	padding-left:10px;
	font-weight:700;
}

/*--------新着記事一覧--------*/
div.topNews {
	border:1px solid #e5e5e5;
	margin-bottom:20px;
}

div.topNewsInline {
	padding:10px;
	padding-top:0;
}

.topNews .catRight p {
	font-size:12px;
	line-height:1.4;
}

/*--------ランキング--------*/
div.topList {
	border:1px solid #e5e5e5;
	margin-bottom:20px;
	padding:20px;

}

.rankNumTop {
	display:inline;
	margin:0 15px 0 0;
	padding:7px 10px;
	background:#F3F3F3;
	font-size:15px;
	font-weight:700;
}

.rankClass1 {
	background:#fea41c;
	color:#FFF;
}

.rankClass2 {
	background:#aaa;
	color:#FFF;
}

.rankClass3 {
	background:#b05e38;
	color:#FFF;
}

/*-------------カテゴリ紹介-------------*/
table.topListTable,table.topListTable tr,table.topListTable tr th,table.topListTable tr td {
	border:none;
	background:none;
	text-align:left;
	padding:0;
}

#contents .topListBox {
	float:left;
	width:299px;
	margin-right:20px;
	margin-bottom:20px;
}

#contents .tltRight {
	margin-right:0;
	width: 298px;
}

#sideBar .topListBlock {
	padding:10px;
}

#sideBar .topListBox {
	padding:10px 0;
	border-bottom:1px solid #E5E5E5;
}

#sideBar .topListBox:first-child {
	padding-top:0;
}

table.topListTable tr th a {
	font-size:110%;
	font-weight:700;
}

#sideBar table.topListTable tr th a {
	font-size:100%;
}

table.topListTable tr td.textR {
	padding-left:1em;
	line-height:1.4;
	font-size:11.5px;
}

#contents table.topListTable tr td.imgL img {
	width:130px;
}

#sideBar table.topListTable tr td.imgL img {
	width:80px;
}

/*-------------画像＋タイトルのみのカードリスト-------------*/
#contents .topListImageOnly {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 20px;
	margin-top: 0;
	margin-bottom: 30px;
	border: 1px solid #e5e5e5;
	padding: 15px;
	background: #fff;
}

#contents .topListImageOnly .topListCard,
#contents .topListImageOnly .topListCard:link,
#contents .topListImageOnly .topListCard:visited,
#contents .topListImageOnly a.topListCard {
	display: block;
	width: calc(50% - 10px);
	box-sizing: border-box;
	float: none;
	position: static;
	background: #fff;
	border: 1px solid #e5e5e5;
	overflow: hidden;
	text-decoration: none;
}

#contents .topListImageOnly .topListCard:hover,
#contents .topListImageOnly .topListCard:active {
	text-decoration: none;
}

#contents .topListImageOnly .topListCard__img {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid #e5e5e5;
}

#contents .topListImageOnly .topListCard__img img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

#contents .topListImageOnly .topListCard:hover .topListCard__img img {
	opacity: 0.8;
}

#contents .topListImageOnly .topListCard__title {
	padding: 10px 12px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: #2355a5;
	background: #fff;
	text-decoration: underline;
}

#contents .topListImageOnly .topListCard:hover .topListCard__title {
	color: #900;
	text-decoration: none;
}

/*-------------LiPro婚活について-------------*/
#topKonnavi {
	border:1px solid #E5E5E5;
	padding:20px;
}

#topKonnavi h3 {
	font-size:110%;
	font-weight:700;
	margin-top:20px;
	margin-bottom:10px;
	border-bottom:2px dotted #E5E5E5;
}

#topKonnavi h3:first-child {
	margin-top:0;
}

#topKonnavi h3 span {
	font-size:160%;
	font-weight:400;
	padding-right:10px;
}

#topKonnavi p {
	font-size:90%;
}

/************************************
下層ページの設定
*************************************/
/*--------タイトルボックス--------*/
div.titleCatBox {
	border:1px solid #e5e5e5;
	border-bottom: none;
/* 	background:#FCFCFC; */
}

div.titleCatBox div {
/* 	border-left:3px solid #4acbd6; */
	margin:20px;
	margin-bottom: 0;
	padding-bottom: 15px;
	border-bottom:3px solid #4acbd6;
}

.titleCatBox i.fas{
	position: relative;
	top: 23px;
	left: 3px;
}

.titleCatBox ul li a ,.titleCatBox p.catNames {
	font-size:13px;
	text-decoration:none;
	background: #a6a6a6;
	color: #fff;
	padding: 2px 8px;
	border-radius: 2px;
	margin: 0;
	margin-bottom: 7px;
	display: inline-block;
}

.titleCatBox ul.tagList{
	padding-left: 23px;
}

.titleCatBox ul.tagList li{
	display: inline;
}

.titleCatBox ul.tagList li a {
	font-size:14px;
	text-decoration:none;
	background: #fff;
	color: #555;
	padding: 5px 3px;
	border-radius: 2px;
	margin: 0;
	margin-bottom: 7px;
	display: inline-block;
}


p.modifiedDate{
	font-size: 90%;
	margin: 10px 0 0 0;
	color: #767676;
}

/*----------記事--------*/
div.readLine {
	padding:20px;
	border:1px solid #e5e5e5;
	border-top:none;
}

.post h2 {
	font-size:20px;
	margin:60px 0 20px;
	padding:.3em 0 .3em 1px;
	border-bottom:3px solid #4acbd6;
}


.post h3.article,.imgset h3,.reviewSet h3{
	font-size:15px;
	margin:40px 0 20px;
	padding:.4em 0 .4em .5em;
	border-left:3px solid #4acbd6;
	border-bottom: 1px dotted #ccc;
}

.post h4.article,.imgset h4{
	font-size:15px;
	margin:40px 0 20px;
	padding:.4em 0 .4em .5em;
/* 	border-left:3px solid #4acbd6; */
	border-bottom: 2px dotted #ccc;
}

.imgset img.alignnone,.reviewSet img {
	max-width:100%;
	height:auto;
}

.column p .size-full img{
	width:100%;
	height:100%;
}



.imgset img.halfimg,.reviewSet img.halfimg {
	width:65%;
	height:65%;
}

.imgset a img.spimg,.reviewSet a img.spimg {
	width:100%;
	height:100%;
}


.post h2.nospace {
	margin-top: 20px;

}

.post img.alignright {
	border:1px solid #CCC;
	padding:5px;
	margin-left:10px;
	margin-bottom:10px;
}

.post img.aligncenter {
	border:1px solid #E6E6E6;
	padding:1px;
}

.post img.pic-right {
	padding:5px;
	float:right;
}

.post div#backPageTop {
	text-align:right;
	padding-top:3em;
	padding-bottom: 2em;
	padding-right: 20px;
	font-size: 100%;

}

.post div#backPageTop a{
	background: #1964b3;
	color: #fff;
	padding: 5px 15px;
	text-decoration: none;
	border-radius: 3px;
	font-weight: bold;
}



.post img.half {
	width:70%;
	height:70%;
}

/*--------ソーシャルブックマーク--------*/
div.wsbBox {
	padding-top:20px;
}

ul.social li {
	list-style-type:none;
	float:left!important;
	margin-bottom:15px;
}

li.facebook {
	width:200px;
}

li.twitter {
	width:120px;
}

li.hatena-bookmark {
	width:80px;
}

li.google-plusone {
	width:80px;
}

/*--------関連リンク--------*/
#similarpost {
	margin-top:20px;
	font-weight:700;
}

#similarpost div#similarBox {
	border:1px solid #e5e5e5;
	padding:10px 20px;
}



#similarpost p.contentsTitle {
	margin:0;
	font-size: 17px;
}

#similarpost ul.similar li {
	background:url(../../uploads/2020/07/list-sidemenu.gif) no-repeat;
	background-position:center left;
	padding-left:15px;
	margin-top:10px;
	font-size:15px;
	font-weight:400;
	margin-bottom:.5em;
}

#similarpost ul.brList li {
	width: 49.5%;
	display: inline-block;

}

/*--------オススメ記事--------*/


table.bottomRecomend{
	margin-bottom: 10px;
}


.bottomRecomend tr td{
	font-size: 15px;
	font-weight:normal;
	padding: 0 0 5px 5px;
	width: 80%;
}

.bottomRecomend tr td.brtext{
	font-size: 14px;
}


.bottomRecomend tr th{
	width: 20%;
}

/*--------記事下広告--------*/
div.bottomPr {
	margin-top:20px;
	border:2px solid #CCC;
	background:#FCF0F0;
	padding:10px;
	text-align:center;
}

.bottomPr p {
	font-size:110%;
	text-align:center;
}

.bottomPr ul li {
	font-size:120%;
	margin-bottom:.5em;
}

/************************************
 ボトムメニュー
*************************************/
#bottomMenu {
	border-top:2px solid #4acbd6;
	padding-top:20px;
	margin-top:40px;
	margin-bottom:20px;
	font-size:85%;
}

#bottomMenu ul li {
	display:inline;
	padding:0 .5em;
	border-right:1px solid #CCC;
}

#bottomMenu ul li a {
	text-decoration:none;
}

#bottomMenu ul li a:hover {
	text-decoration:underline;
}

#bottomMenu ul li.menu-first {
	padding-left:0;
}

#bottomMenu ul li.menu-title {
	display:block;
	border-right:none;
	padding-left:0;
	margin-top:10px;
}

#bottomMenu ul li.menu-title:first-child {
	margin-top:0;
}

#bottomMenu ul li.menu-title p {
	font-weight:700;
	border-bottom:1px dotted #CCC;
}

#bottomMenu ul li.menu-title span {
	border-left:3px solid #4acbd6;
	padding-left:2px;
}

#bottomMenu ul li.menu-title p:first-child {
	margin-top:0;
}

.regionBottom{
	margin-bottom: 20px;
}
/************************************
フッター
*************************************/
#footer div.footerLink {
	width:100%;
	text-align:center;
	padding:10px 0;
	border-top:2px solid #4acbd6;
}

.footerLink{
	font-size: 85%;
}

#footer address {
	text-align:center;
}

/************************************
個別記事
*************************************/
/*--------サービス詳細情報--------*/
table.service-infomation {
	width:100%;
	margin-top:0;
	margin-bottom: 50px;
	border:#CCC 1px solid;
}

table.service-infomation tr th,table.service-infomation tr td {
	padding:10px 5px;
	border:#CCC 1px solid;
	font-size:14px;
}

table.service-infomation tr th {
	vertical-align:center;
	background:#F0F0F0;
	width:100px;
	font-weight: normal;
}

table.service-infomation tr td.hpLink a{
	font-size: 125%;
}

.service-detail a.btn_request img {
	padding-top:30px;
	padding-left:120px;
}

/*--------パーティーの流れ--------*/
table.party-flow tr td.text {
	padding:0 0 20px;
	font-size:14px;
}

table.party-flow tr td.img {
	padding:0 0 20px 5px;
}

table.party-flow tr td.point {
	padding:10px;
	background:#F8E7E7;
}

div.adArea1 {
	border:solid 1px #CCC;
}

/*--------婚活相談室--------*/
h1#qaroomquestion,#contents h2#qaroomanswer {
	font-size:16px;
	padding:0 0 0 60px;
	margin:0 0 30px;
	border:none;
}

div.qaroom-question {
	background:url(images/bg-qaroom-question.png) no-repeat;
	border:2px solid #9FCEF4;
}

div.qaroom-answer {
	background:url(images/bg-qaroom-answer.png) no-repeat;
	border:2px solid #DCBD98;
}

div.qaroom-question,div.qaroom-answer {
	padding:25px;
	background-position:20px 20px;
	margin:20px 0 10px;
}

div.qaroom-answer {
	margin:0;
}

div#qaroomMesse {
	border:2px solid #e8e5e5;
	padding:10px;
	margin-top:10px;
}

div#qaroomMesse p {
	margin:0;
}

#qaAd {
	text-align:center;
	margin-top:10px;
}

#qaAd p {
	text-align:center;
	font-size:140%;
}

/*--------体験談--------*/
.contribution-message {
	border:1px solid #CCC;
	padding:10px;
	font-size:12px;
	margin-top:20px;
	background:#F1F1F1;
}

.contribution-message-inlineBox {
	background:#FFF;
	border:1px solid #CCC;
	padding:10px;
}

.contribution-message span.title {
	font-size:14px;
	font-weight:700;
}

div.bottomBuzzList {
	margin-top:20px;
}

.bottomBuzzList ul li {
	text-decoration:underline;
	color:#0D5482;
	font-size:14px;
	margin-bottom:2px;
	list-style:disc inside;
}

.linkArea {
	position:relative;
	width:100%;
	height:100%;
}

.linkArea a {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.linkArea a:hover {
}

/*--------自分の性格の書き方--------*/
table#character-list {
	border:1px solid #CCC;
}

table#character-list tr {
	border:1px solid #CCC;
}

table#character-list th {
	background-color:#fdf5dc;
	font-weight:700;
	text-align:center;
}

table#character-list td {
	padding:2px;
}



/*--------結婚相談所の比較--------*/
div.compareTableBox {
	border:1px solid #CCC;
	padding:10px;
}

table.compareTable {
}

table.compareTable tr td {
	border:5px solid #FFF;
	font-weight:700;
}

table.compareTable tr td.title {
	text-align:right;
}

table.compareTable tr td.rateBar {
	background:#FDD8D9;
	width:30%;
}

table.basic {
	border:1px solid #CCC;
}

table.basic tr th {
	background:#F9F9F9;
}

table.basic tr th,table.basic tr td {
	border:1px solid #CCC;
	padding:.5em;
}

/************************************
お問い合わせ
*************************************/
.wpcf7 table {
	margin-top:10px;
	border:1px solid #CCC;
	width:100%;
}

.wpcf7 table tr th {
	background:#F7F7F7;
}

.wpcf7 table tr th,.wpcf7 table tr td {
	padding:10px 15px;
	font-size:14px;
	border:1px solid #CCC;
}

.wpcf7 table tr td span {
	margin-right:5px;
}

input.wpcf7-submit {
	background:#F7F7F7;
	margin:30px 0 0;
	text-align:center;
	font-size:16px;
	padding:10px 30px;
}

.captchaBox {
	border:2px solid #CCC;
	padding:10px 20px;
	margin-top:20px;
	width:50%;
}


.wpcf7-text{
	height: 20px;
	font-size: 14px;
	padding: 3px;
}

.wpcf7-textarea{
	font-size: 14px;
	padding: 3px;
	height: 25em;
}

.wpcf7-captchar{
	width: 6em;
	height: 20px;
	font-size: 14px;
	padding: 3px;
}

/************************************
　　404 not found
*************************************/
div#notFoundPage {
	border:solid 1px #CCC;
	padding:100px;
	font-size:20px;
}

/************************************
　全国の結婚相談所
*************************************/
table#zenkoku {
	border:1px solid #CCC;
	width:100%;
	margin:40px 0 0;
}

#region table#zenkoku tr td {
	border:1px solid #CCC;
	padding:5px 5px;
	font-size:14px;
}

table#zenkoku tr td.areaHead {
	width:6em;
	vertical-align:middle;
	text-align:center;
	background:#F3F3F3;
}

table#zenkoku tr td ul li {
/* 	width:2.6em; */
	display: inline-block;
	margin:0;
	text-align:center;
	font-size:14px;
}

table#zenkoku tr td ul li a{
	float:left;
	padding:2px 10px;
	margin:0;
	text-align:center;
	font-size:14px;
}

.regionDlList dl {
	border-bottom:dotted 1px #CCC;
	padding:.5em 2px;
}

.consultation_link {
	display: inline-block;
	margin-top: 20px;
}

/*--------地域密着のフォーム--------*/
table#listform tr th {
	width:30%;
	padding:0;
	padding: 10px;

}


p.listform{
	background: #f4e2e2;
	padding: 2px 5px;
	font-weight: bold;
	margin-top: 30px;
}

/************************************
婚期占い
*************************************/

h1#konkiKyusei{
	font-size: 30px;
	margin: 0;
	padding: 0;
	text-align: center;
}

.konkiTitle{
	font-size: 20px;
	margin:40px 0 20px;
	padding:.3em 0 .3em 1px;
	border-bottom:3px solid #4acbd6;
}

.konki-input {
	border:5px solid #bbbbbb;
	padding:20px;
	font-size:16px;
	line-height:230%;
	background:#e8e8e8;
	text-align: center;
}


input#btn_pt_uranai {
	margin:20px 0 0;
	width:70%;
	background: #cb3d3d;
	color: #fff;
	padding: 15px 0;
	font-size: 35px;
	font-weight: bold;
}

.konkiResult{
	font-weight: bold;
	font-size: 18px;
	text-align: center;
	background: #fbf6e1;
	padding: 20px;
	border: #ede09c;
}

.konkiResultBox{
	margin-top: 20px;
	border: 2px solid #ccc;
	padding: 20px;
}

.konkiResultBox p{
	text-align: center;
}

/************************************
心理テスト
*************************************/
div.ptBox {
	margin:20px 0 0;
	border:1px solid #A2AEBA;
	background:#EBEBEB;
	padding:10px;
}

div.ptBoxInline {
	border:1px solid #D9D9D9;
	background:#FFF;
	padding:20px;
}

input#pt_answer {
	margin:40px 0 0 130px;
}

div#pt_next {
	margin:40px 0 20px 115px;
}

p.pt-question-title {
	font-size:20px;
	font-weight:700;
	margin:0 0 10px;
	padding:5px 0 20px 60px;
	border-bottom:1px solid #CCC;
	background:url(images/bg-qaroom-question.png) no-repeat;
}

p.pt-question-text {
	font-size:16px;
}

div.pagenation {
	text-align:center;
	width:100%;
}

.pagenation ul li {
	display:inline;
	font-size:14px;
	margin:0 10px 0 0;
}

/************************************
性格診断
*************************************/
input#btn_check {
	margin:20px 0 0 115px;
}

div.personality {
/*
	background:url(images/bg_personality.jpg);
	padding:20px;
	margin-top: 20px;
*/
}


h1#personalityTopMessege {
	background:#FFF;
	padding:10px 15px;
	margin-top:20px;
	margin-bottom:10px;
	font-size:140%;
}

div.personalityqBox {
	background:#FFF;
	padding:20px;
}

.personality table {
	width:100%;
	border-top:1px dotted #CCC;
}

.personality table tr {
	border-bottom:1px dotted #CCC;
}

.personality table tr th {
	padding:10px 5px;
	font-size:13px;
	background:#FFF;
	text-align:center;
}

.personality table tr td {
	padding:10px 0;
	font-size:13px;
	background:#FFF;
}

/************************************
カテゴリーページ
*************************************/
div.catTopMessage {
	padding:10px;
}

h2.catListTitle,p.catListTitle {
	margin:0;
	padding:0;
	border:none;
	font-weight:700;
	font-size: 15px;
}

.home h2.catListTitle,p.catListTitle {
	font-size: 13px;
}

h2.catListTitleBorder {
	margin:0;
	font-weight:700;

}

div.singleList {
	margin:0;
	border-bottom:1px solid #CCC;
	padding:20px 5px;
}

.singleList .catLeft {
	float:left;
	width:25%;
	padding-right:4%;
	padding-top:10px;
}

.singleList .catRight {
	float:right;
	width:70%;
	padding-top:10px;
}

.singleList img {
	width:100%;
	height:100%;
	border:1px solid #F3F3F3;
}

/*--------カテゴリー：口コミ一覧　アーカイブ--------*/
h2.buzzlistAll a {
	text-decoration:none;
	color:#333;
}

ul.buzzlistAll li {
	font-size:16px;
	margin-bottom:.5em;
}

/************************************
口コミ一覧
*************************************/
/*
h3#buzzFeature1,h3#buzzFeature2,h3#buzzFeature3 {
	margin: 0;
	padding: 0;
	border-left: none;
	font-size:15px;
	padding-top:10px;
	padding-left:77px;
	border-bottom:dotted 1px #CCC;
	display: block;
	height: 2em;
	line-height: 1.4;
}

h3#buzzFeature1 {
	background:url(images/bg_feature_1.jpg) no-repeat;
	background-position:left center;
	background-size:110%;
}

h3#buzzFeature2 {
	background:url(images/bg_feature_2.jpg) no-repeat;
	background-position:left center;
	background-size:110%;
}

h3#buzzFeature3 {
	background:url(images/bg_feature_3.jpg) no-repeat;
	background-position:left center;
	background-size:110%;
}
*/


h3#buzzFeature1,h3#buzzFeature2,h3#buzzFeature3,h3#buzzFeature4 {
	margin-bottom: 5px;
	padding: 5px 5px 0px 78px;
	border-left: none;
	border-bottom:dotted 1px #CCC;
	display: block;
	background: #fceeee;
	text-indent: -78px;
}

h3#buzzFeature1::before,h3#buzzFeature2::before,h3#buzzFeature3::before,h3#buzzFeature4::before{
	font-size: 130%;
	padding-right: 8px;
	margin-left: 5px;

}

h3#buzzFeature1::before {
	content: 'Point1';
	color: #df4747;
}

h3#buzzFeature2::before {
	content: 'Point2';
	color: #df4747;
}

h3#buzzFeature3::before {
	content: 'Point3';
	color: #df4747;
}
h3#buzzFeature4::before {
        content: 'Point4';
        color: #df4747;
}





.pointList p {
/*	padding:5px 5px 10px; */
/* 	font-size:13px; */
}



h2.buzzListHeader {
	display: block;
	background:#EC7C7C;
	color:#FFF;
	border:none;
	font-size:17px;
	padding:13px 7px;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	-khtml-border-radius:2px;
	border-radius:2px;
	margin-top:40px;
	font-weight: bold;
	padding-left: 2.0em;
	text-indent: -0.75em;

}

h2.buzzListHeader span{
	padding-left: 0.3em;


}




h2#checkIcon span {
position: relative;/*相対位置*/
padding: 0.5em 0.5em 0.5em 1.5em;/*アイコン分のスペース*/
}

h2#checkIcon span:before{ font-family: "FontAwesome";/*忘れずに*/
content: "\f138";/*アイコンのユニコード*/
position: absolute;/*絶対位置*/
font-size: 1em;/*サイズ*/
left: 0.25em;/*アイコンの位置*/
top: 0.5em;/*アイコンの位置*/
color: #fff; /*アイコン色*/
}


/*--------画像レビュー--------*/
div.photoReview {
	padding:0 0 5px;
}

.photoReview ul li {
	width:180px;
	height: 280px;
	float:left;
	padding-left:19px;
}

.photoReview ul li:first-child {
	padding-left:0;
}

.photoReview ul li:nth-child(4){
	padding-left:0;
}

.photoReview ul li a.gallery {
	display:block;
	border:1px solid #E6E6E6;
}

.photoReview ul li a.gallery:hover {
	border:1px solid #EC7C7C;
}

.photoReview ul li img {
	width:178px;
	height:178px;
}

.photoReview ul li p {
	font-size:12px;
	line-height:1.3;
	padding-top:.5em;
}

p#reviewAttention {
	clear:both;
	border:2px solid #CCC;
	font-size:11px;
	padding:3px;
	margin-bottom:10px;
}

/*--------ヘッダー--------*/
div.btBox {
	width:580px;
}

div.btRight {
	width:275px;
	float:right;
	padding-left:20px;
}

div.btLeft {
	width:285px;
	float:left;
}

p.btUrl {
	font-size:16px;
	font-weight:700;
	margin-top:10px;
}

table.buzzRate {
	border-collapse:separate;
	border-spacing:10px 3px;
}

table.buzzRate tr th {
	font-weight:400;
	width:3em;
}

table.buzzRate tr td.rateBar {
	background:#f4f4cf;
	width:80px;
	border-bottom:5px solid #FFF;
	vertical-align:middle;
	padding:0;
}

.buzzlist div.totalRate {
	width:100%;
	padding:20px 0;
	border:4px solid #CCC;
	text-align:center;
	margin:0 0 10px;
}

.btLeft img {
	border:1px solid #F3F3F3;
}

/*--------タブ--------*/
ul.rankTab {
	list-style:none;
	margin:30px 0 0;
	padding:0;
	line-height:24px;
	position:relative;
	border-bottom:3px solid #EC7C7C;
	margin-bottom:20px;
}

ul.rankTab:after {
	position:absolute;
	content:"";
	width:100%;
	bottom:0;
	left:0;
	border-bottom:1px solid #EC7C7C;
	z-index:1;

	border-width:0 0 1px 1px;
}

ul.rankTab:before {

	border-width:0 1px 1px 0;
}

ul.rankTab li {
	margin:0 10px 0 0;
	padding:0;
	border:1px solid #CCC;
	background:#F0F0F0;
	display:inline-block;

}

ul.rankTab li.on {
	background:#EC7C7C;
	color:#FFF;
	border:none;
}

ul.rankTab li a {
	font-size:13px;
	text-decoration:none;
	display:block;
	padding:5px 16px 3px;

	font-weight:700;
}

ul.rankTab li a:hover {
	font-size:13px;
	text-decoration:none;
	background:#EC7C7C;
	color:#FFF;
}

h2.tabHeader {
	padding:0;
	margin:0;
	border:none;
}

/*--------コンテンツ--------*/
div.buzzContents {
	padding:25px 0;
	border-bottom:1px dotted #CCC;
}

.post .buzzTitle {
	display:inline;
	border:none;
	padding:2px 0 0 100px;
	margin:0;
	margin-bottom: 5px;
	font-size:14px;
	font-weight: bold;
	line-height: 140%;
}

.post .buzzage{
	padding: 5px 0 5px;
	display: block;
}

.buzzTitle a {
	text-decoration:none;
	color:#111;
}

span.buzzDate {
	font-size:80%;
	color:#666;
	margin-left:10px;
}

p.rateText {
	font-size:12px;
	color:#666;
	margin:0 0 1em;
}

div.buzzlistAdBox {
	margin:30px 0 20px;
	width: 100%;
	text-align: center;
}



div.campaigncode{
	font-size: 150%;
	background: #fff1cb;
	text-align: center;
	padding: 10px 0;
}


a.nextText{
	display: block;
	text-align: right;
	font-size: 120%;
	padding: 0;
	position: relative;
	top: -50px;
}

.a-expander-content-fade {
	display: block;
	box-sizing: border-box;
height: 50px;
width: 100%;
position: relative;
top: -50px;
left: 0;
background: -webkit-linear-gradient(top,rgba(255,255,255,0),#fff);
background: linear-gradient(to bottom,rgba(255,255,255,0),#fff);
}


/*--------その他の口コミ--------*/
p.nextBuzzLink,p.nextSimilarLink {
	color:#2355a5;
	cursor:pointer;
	text-decoration:underline;
	text-align:right;
	margin-bottom: 0;
}


div.buzzBottomArea {
	padding:10px 0;
	border-bottom:1px dotted #CCC;
}

div.nextBuzz {
	display:none;
}

ul.nextSimilar {
	display:none;
	border: none;
}

/*--------口コミ情報投稿フォーム--------*/
div.buzzform {
	margin:20px 0 0;
	padding:0;
}

.buzzform p.buzzformAttentin {
	border:1px dotted #CCC;
	font-size:12px;
	padding:10px;
	margin:10px 0 20px;
}

.buzzSubmit span.countBig {
	font-weight:700;
	color:#e55050;
	font-size:140%;
}

.buzzSubmit img {
	width:50%;
}

div.buzzSubmit {
	margin:0 0 20px;
	border-bottom:2px solid #fcf0f0;
	padding:10px 0;
	width:100%;
}

div.buzzSubmitLeft {
	float:left;
	width:55%;
}

div.buzzSubmitRight {
	float:right;
	width:40%;
	text-align:right;
}

.buzzSubmit span.buzzSubmitTitle {
	font-weight:700;
	margin:0;
	padding:0;
	display:block;
}

a#buzzformLink {
	padding:15px;
	font-size:120%;
	background:#F0F0F0;
	color:#333;
	border:1px solid #CCC;
	display:block;
	margin-top:20px;
	text-align:center;
	text-decoration:none;
	font-weight:700;
}

/*-------投票エリア---------*/
div.userVoteTop {
	font-size:80%;
	color:#888;
}

div.userVoteBottom {
	margin-top:.75em;
	font-size:80%;
	font-weight:700;
}

.userVoteBottom span.ratedMessage {
	color:#093;
}

.userVoteBottom img {
	position:relative;
	top:5px;
}


#buzzlistBottomRank table tr td{
	font-size: 16px;
	vertical-align: middle;
	padding: 8px 0 ;

}


#buzzlistBottomRank table tr td a{
	padding: 8px 0 ;
	display: inline;
	font-weight: bold;
	width: 100%;
	margin-right: 1em;


}

#buzzlistBottomRank ol li span {
	font-size:90%;

}


#buzzlistBottomSimilar ol li{
	display: inline-block;
	font-size: 100%;
	padding: 2px 0;
}

#buzzlistBottomSimilar ol li:after{
	content: " / "
}


p.regionMidashi{
	margin: 1em 0 0;
}

.blanchiTd p.regionMidashi:first-child{
	margin: 0;
}

ul.blanchTag{
	font-size:0;
}
ul.blanchTag li.On,ul.blanchTag li.Off{
	padding: 2px 6px;
	font-size: 12px;
	margin-right: 4px;
	margin-bottom: 4px;
	display: inline-block;
}

ul.blanchTag li.On{
	border: 1px solid #6d6d6d;
/* 	background: #fafafa */
	color: #fff;
	background: #919191;
}

ul.blanchTag li.Off{
	border: 1px solid #ccc;
	color: #e6e6e6;
}

/************************************
ランキングページ
*************************************/
/*--------タイトル--------*/
div#rankingTitle {
	background:url(images/banner_ranking.jpg) no-repeat;
	background-size: 100%;
	padding:20px 0 20px;
	min-height:100px;
	text-align:center;
}

h1.rankingTitle {
	font-size:36px;
	color:#E55050;
	line-height:1.2;
	text-align:center;
}

#rankingTitle p {
	font-size:12px;
	text-align:center;
	padding-top:10px;
}

/*--------ランキングページ：メッセージ--------*/
div#rankTopMessage {
	margin-top: 20px;
padding: 5px;
}

div#regionSelect {
	background:#f8f0f0;
	padding:20px 30px;
	margin-bottom:20px;
}

#regionSelect p {
	font-size:90%;
	color:#f13d3d;
}

#rankTopMessage h3{
	margin-bottom: 5px;
}

/*--------ランキングページ：コンテンツ--------*/
div.rankConTitleBox {
	padding:10px;
	border:solid 1px #CCC;
	background:#FBF9FA;
}

p.rankNum {
	display:inline;
	font-size:21px;
	margin:0 10px 0 0;
}

h2.rank {
	border:none;
	margin:0;
	padding:0;
	display:inline;
}

.rankConTitleBox p.branch {
	margin:.5em 0 0;
}

.rankConTitleBox p.branchParty {
	margin:.5em 0 0;
	text-align:right;
}

div.rankConBox {
	margin:0 0 20px;
	width:576px;
	padding:15px;
	border:solid 1px #CCC;
	border-top:none;
}


.single #contents p.rankServiceHeader,.category #contents p.rankServiceHeader{
	background: #fff4f4;
	font-weight: bold;
	text-align: left;
	padding: 5px;
	margin: 10px 0 10px;
}


.rankingAdBox a{
	display: block;
	font-size: 110%;
	text-align: left;
	font-weight: bold;
	padding: 5px 0 10px;

}


.ranBuzzBox{
	background: red;
}



/*--------ランキングタブ：新バージョン--------*/

table#rankBotton{
	width: 100%;
	border: 1px solid #ccc;
	border-left: none;
}

table#rankBotton tr td{
	width: 25%;
	border-bottom: 1px solid #ccc;
}

table#rankBotton tr td a{
	background: #f1f1f1;
	width: 100%;
	display: block;
	padding: 8px 0;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	border-left:  1px solid #ccc;
	font-size: 10px;
	color: #424242;
}

table#rankBotton tr td a:hover{
	background: #EC7C7C;
	color: #fff;

}


table#rankBotton tr td a.on{
	background: #EC7C7C;
	color: #fff;

}


/*--------ランキングページ：新バージョン--------*/

.category div.ranking{
/* 	padding: 20px 10px; */

}

.rankTableBox{
	border: 1px solid #ccc;
	margin: 0 0 40px 0;
}

.rankTableBox p,.rankTableBox h3,.rankTableBox ul li,.rankTableBox tr td{
	font-size: 14px;
}

.rankTableBox p{
	margin: 0;

}

.rankTableBox p.rankNum{
	font-size: 23px;
	font-weight: bold;
	padding-right: 8px;

}

td.rtbTitle{
	padding:10px;
	border-bottom:solid 1px #CCC;
	background:#FBF9FA;
	width: 680px;

}



td.rtbImg {
	padding: 10px;
	text-align: center;
}

td.rtbRate{
	padding: 10px;
	text-align: center;
}


#planTable tr th,#planTable tr td{
	border: 1px solid #ccc;
	padding: 5px;
	vertical-align: middle;
}

#planTable tr th{
	background: #616161;
	color: #fff;
	text-align: center;
}


.ptName{
	width: 32%;

}

.ptPlan{
	width: 22%;

}

/*----地域密着のみだから注意---*/
td.rtbAddress{
	padding: 10px;
}

td.rtbDes{
	padding: 10px;
}

td.rtbBlanch{
	padding: 10px;
}

td.rtbPrice{
	padding: 5px 10px 10px;

}
td.rtbBuzz{
	padding: 0 10px 10px;
}

td.rtbComment{
	padding: 0 10px 10px;

}

td.rtbComment div{
	background: #f4f4f4;
	padding: 10px;
	margin:  0 0 10px 0;
}

td.rtbLink{
	padding: 0 10px 20px;

}

td.rtbRate div.rate{
	padding-left: 100px;
}


td.rtbRate div.rate p{
	display: inline;
	color: #d10000;
	font-weight: bold;
	font-size: 120%;
	position: relative;
	top: 2px;
}

td.rtbRate div.rate span{
	display: inline;
	color: #404040;
	font-weight: normal;
	font-size: 70%;
}

td.rtbImg img{
	width: 50.8%;
	height: auto;
	}


td.rtbPrice p{
	padding-left: 5px;
}
td.rtbBuzz ul{
	padding: 0 0 0 5px;
	margin: 0;

}

td.rtbBuzz ul li{
	margin-bottom: 15px;
}

a.rtbBuzzLink{
	text-align: center;
	display: block;
	font-size: 130%;
	text-decoration: none;
	font-weight: bold;
	background: #ff9224;
	color: #fff;
	padding: 15px 0;

}

a.rtbBuzzLink:hover{
	background: #ffc07f;
}


.rtbBuzz .buzzTitle{
	margin: 0;
		font-size: 93%;
		padding-left: 0;
}

.rtbBuzz .buzzTitle span{
	color: #8e8e8e;
	font-size: 93%;
	font-weight: normal;

}

.rtbBuzz .rateText{
	margin: 0;
		font-size: 93%;
}


.post .rtbBuzz .collapserMore,.post .rtbBuzz .buzzText,.post .rtbBuzz .buzzTextSmall{
	line-height: 150%;
	font-size: 93%;
}


td.rtbDes p.btbMidashi,td.rtbPrice p.btbMidashi,td.rtbBuzz p.btbMidashi,td.rtbComment p.btbMidashi,td.rtbAddress p.btbMidashi,td.rtbBlanch p.btbMidashi,td.rtbLink p.btbMidashi{
	background: #fff7e3;
	font-weight: bold;
	padding: 2px 7px;
	margin-bottom: 10px;
}

td.rtbComment p.btbMidashi{
	background: none;
}

p.goBuzzLink{
	text-align: right;
;
}

p.goBuzzLink a{
	display: block;
	padding: 5px 0;
}

p.official a{
	font-size: 18px;
	font-weight: bold;
	text-align: left;
	display: block;
	padding-left: 5px;

}


/*--------ランキングページ：固定費コンテンツ--------*/
div.rankingPickupTitle {
	border:solid 1px #C30;
	border-bottom:solid 1px #CCC;
}

div.rankingPickupCon {
	border:solid 1px #C30;
	border-top:none;
}

.rankingPickupTitle p.rankNum {
	padding:5px 0 5px 100px;
	background:url(../../uploads/2020/07/pickup.jpg) no-repeat;
}

/*----------------------------------------------------*/
.ranking div.totalRate {
	width:376px;
	float:right;
	padding-left:10px;
}

div.hpImageBox {
	width:180px;
	float:left;
}

p.rankBottomText {
	border-top:2px solid #CCC;
	padding:1em 0 0;
	margin-top:.5em;
	font-size: 13px;
	line-height: 140%;
}

p.rankBottomText .red{
	font-weight: bold;
}

p.detailLink {
	text-align:right;
}

/*--------レートの背景画像設定--------*/
td.rate {
	width:110px;
}

/*--------取材記事--------*/
span.interviewer {
	font-weight:700;
	color:#2281c1;
}

img.interviewerImgRight {
	margin:10px 0 20px 20px;
	border:1px solid #dddcdc;
}

img.interviewerImgLeft {
	margin:10px 20px 20px 0;
	border:1px solid #dddcdc;
}

/*--------脱毛--------*/
div.adMysite {
	border:2px solid #dddcdc;
	padding:10px;
	margin:20px 0;
}

/****************************************
　　ランキングパーツ
*****************************************/
/* サイドバー */
.sideRanking {
	border:1px solid #e5e5e5;
	margin-bottom:20px;
}

.sideRanking #topRankBox {
	padding:10px;
}

.partRank a {
	text-decoration:none;
}

p.titleLink {
	text-decoration:underline;
}

#sideBar p.titleLink {
	font-size:110%;
}

p.sideTitle {
	font-size:100%;
	font-weight:700;
	padding:5px 0 5px 45px;
	margin:40px 0 0;
	border-bottom:4px solid #FF8DB1;
}

#sideBar p.sideTitle:first-child {
	margin-top:0;
}

#sideBar #partRankBlock li {
	padding:10px 0;
	border-bottom:1px dotted #ccc;
}

#sideBar #partRankBlock li:first-child {
	padding-top:0;
}

#sideBar #partRankBlock li:last-child {
	border-bottom:none;
}

#sideBar #partRankBlockUnder li {
	padding:0 0 5px;
	border-bottom:1px dotted #ccc;
}

#sideBar #partRankBlockUnder li:last-child {
	border-bottom:none;
}

#partRankBlock div.rankImgLeft {
	float:left;
	width:40%;
}

#partRankBlock div.blockRate {
	float:right;
	width:55%;
	padding-left:5%;
	padding-top:0;
}

#topRankBoxTop li p.tBuzz {
	color:#333;
}

#partRankBlock li p.tRate {
	color:#d10000;
	font-weight:700;
	padding-left:100px;
	font-size:100%;
}

/* 4位〜6位 */
#partRankBlockUnder li {
	width:100%;
	padding-left:0;
	float:left;
	margin-bottom:10px;
}

#partRankBlockUnder li:first-child {
	width:100%;
	padding-left:0;
}

#partRankBlockUnder {
	border-top:1px dotted #CCC;
	padding:10px 0 0;
}

#partRankBlockUnder li p.titleLink,#partRankBlockUnder li p.tRate,#partRankBlockUnder li p.tBuzz {
	padding:0;
	margin:0;
	display:block;
}

#partRankBlockUnder li p.rank1,#partRankBlockUnder li p.rank2,#partRankBlockUnder li p.rank3 {
	padding:3px 5px 10px 35px;
	font-weight:700;
	color:red;
}

#partRankBlockUnder li a {
	text-decoration:none;
}

#partRankBlockUnder li p.titleLink {
	font-weight:700;
	padding:3px 10px 3px 35px;
}

#partRankBlockUnder li p.tRate {
	color:#d10000;
	font-weight:700;
	padding:3px 0 3px 100px;
	display:inline;
	font-size:90%;
}

#partRankBlockUnder li p.tBuzz {
	padding-left:10px;
	display:inline;
	color:#333;
	font-size: 95%;
}

#partRankBlockUnder div.rankImgLeft {
}

#partRankBlockUnder div.blockRate {
	padding-left:32px;
}

/* TOP */
#contents p.titleLink {
	font-size:100%;
}

#contents #partRankBlock {
	width:618px;
	padding-bottom:20px;
}

#contents #partRankBlock li {
	width:193px;
	padding-left:15px;
	float:left;
}

#contents #partRankBlock li:first-child {
	width:194px;
	padding-left:0;
}

#contents div.rankMainBox {
	width:100%;
}

#contents div.rankImgLeft {
	float:none;
	width:100%;
	padding-bottom:10px;
}

#contents div.blockRate {
	float:none;
	width:100%;
	padding-left:0;
	padding-top:0;
	display:inline;
}

#contents #partRankBlockUnder li p.titleLink {
	display:inline;
	padding:6px 10px 6px 35px;
}

#contents .partRanking {
}

#contents .partRanking li p.tRate {
	color:#d10000;
	font-weight:700;
	padding-left:100px;
	margin-left:40px;
}

.partRanking span.tBuzz {
	color:#333;
	font-size:85%;
	padding:0;
	display:inline;
	font-weight:400;
}

.partRanking li {
	margin-bottom:10px;
}

.partRanking li p.tBuzz span.count {
	font-size:105%;
	font-weight:700;
}

.partRank li p.rank1,.partRank li p.rank2,.partRank li p.rank3 {
	padding:5px 5px 10px 40px;
	font-size:120%;
	font-weight:700;
}

.partRanking li p.rank1,.partRanking li p.rank2,.partRanking li p.rank3,.partRanking li p.rank4,.partRanking li p.rank5,.partRanking li p.rank6 {
	padding:5px 5px 3px 40px;
	font-size:120%;
	font-weight:700;
}

.partRanking li p.rank1 {
	background:url(../../uploads/2020/07/rank-1.png) no-repeat;
	background-size:30px;
}

.partRanking li p.rank2 {
	background:url(../../uploads/2020/07/rank-2.png) no-repeat;
	background-size:30px;
}

.partRanking li p.rank3 {
	background:url(../../uploads/2020/07/rank-3.png) no-repeat;
	background-size:30px;
}

.partRanking li p.rank4 {
	background:url(../../uploads/2020/07/rank-4.png) no-repeat;
	background-size:30px;
}

.partRanking li p.rank5 {
	background:url(../../uploads/2020/07/rank-5.png) no-repeat;
	background-size:30px;
}

.partRanking li p.rank6 {
	background:url(../../uploads/2020/07/rank-6.png) no-repeat;
	background-size:30px;
}

.partRank li p.rank1 {
	background:url(../../uploads/2020/07/rank-1.png) no-repeat;
	background-size:35px;
}

.partRank li p.rank2 {
	background:url(../../uploads/2020/07/rank-2.png) no-repeat;
	background-size:35px;
}

.partRank li p.rank3 {
	background:url(../../uploads/2020/07/rank-3.png) no-repeat;
	background-size:35px;
}

.partRank li p.rank4 {
	background:url(../../uploads/2020/07/rank-4.png) no-repeat;
	background-size:35px;
}

.partRank li p.rank5 {
	background:url(../../uploads/2020/07/rank-5.png) no-repeat;
	background-size:35px;
}

.partRank li p.rank6 {
	background:url(../../uploads/2020/07/rank-6.png) no-repeat;
	background-size:35px;
}

p.commentRank {
	margin:0 0 20px;
	padding:0;
	font-size:12px;
	line-height:1.3;
}



.SideFixAd{
	padding: 4%;
	width: 92%;

	text-align: center;

}


.SideFixAd a img{
	width: 100%;
	max-width: 300px;
}

a.yellowbg {
	background:url(../../uploads/2020/07/bg_yellow_stripe.jpg) repeat;
	display:block;
	padding:5px 0;
	text-align:center;
	font-weight:700;
}

a.pinkbg:hover {
	background:#FFE1EA;
}

/* Outline In */
.hvr-outline-in {
	display:inline-block;
	vertical-align:middle;
	-webkit-transform:translateZ(0);
	transform:translateZ(0);
	box-shadow:0 0 1px rgba(0,0,0,0);
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	-moz-osx-font-smoothing:grayscale;
	position:relative;
}

.hvr-outline-in:before {
	pointer-events:none;
	content:'';
	position:absolute;
	border:#e1e1e1 solid 4px;
	top:-16px;
	right:-16px;
	bottom:-16px;
	left:-16px;
	opacity:0;
	-webkit-transition-duration:.3s;
	transition-duration:.3s;
	-webkit-transition-property:top,right,bottom,left;
	transition-property:top,right,bottom,left;
}

.hvr-outline-in:hover:before,.hvr-outline-in:focus:before,.hvr-outline-in:active:before {
	top:-8px;
	right:-8px;
	bottom:-8px;
	left:-8px;
	opacity:1;
}

/****************************************
			レート
*****************************************/
.rate-1,.rate-1h,.rate-2,.rate-2h,.rate-3,.rate-3h,.rate-4,.rate-4h,.rate-5 {
}

.rate-1 {
	background:url(../../uploads/2020/07/rate-1.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

.rate-1h {
	background:url(../../uploads/2020/07/rate-1h.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

.rate-2 {
	background:url(../../uploads/2020/07/rate-2.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

.rate-2h {
	background:url(../../uploads/2020/07/rate-2h.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

.rate-3 {
	background:url(../../uploads/2020/07/rate-3.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

.rate-3h {
	background:url(../../uploads/2020/07/rate-3h.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

.rate-4 {
	background:url(../../uploads/2020/07/rate-4.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

.rate-4h {
	background:url(../../uploads/2020/07/rate-4h.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

.rate-5 {
	background:url(../../uploads/2020/07/rate-5.png) no-repeat;
	background-size:95px;
	background-position:0 0;
}

/****************************************
			口コミ一覧用レート
*****************************************/
/*--------カテゴリー：口コミ一覧--------*/
div.buzzBlockBox {
	width:100%;
}

ul.buzzBlock {
	margin:10px 0;
	padding:10px;
	background:#fffdf3;
}

.rankConBox ul.buzzBlock {
	padding-top:5px;
}

ul.buzzBlock li {
	padding-left:100px;
}

p.toBuzzlist {
	text-align:right;
}

/****************************************
			レート
*****************************************/
div.zexyExperienceMesse {
	border:2px solid #CCC;
	padding:10px;
	margin:20px 0 0;
}

div.zexyExperienceMesse p,div.zexyExperienceMesse span {
	font-size:90%;
	margin:0;
}

dl.zexyExperienceList {
	border-top:1px dotted #CCC;
	border-bottom:1px dotted #CCC;
	padding:10px 0;
}

dl.zexyExperienceList dt {
	font-size:100%;
}

dl.zexyExperienceList dd {
	font-size:85%;
	color: #656565;
	line-height:1.3;
	padding-top: 5px;
}

/****************************************
			口コミリスト　ALL
*****************************************/
.buzzSearchListBox {
	width:100%;
	font-size:0;
}



.buzzSearchList a {
	width:190px;
	display:inline-block;
	padding-right:15px;
	padding-bottom:15px;
	text-decoration:none;
	color:#111;
}

.buzzSearchList a:nth-child(3n) {
	padding-right:0;
}

.buzzSearchList dl dt p {
	font-size:16px;
	padding:3px 6px;
	position:relative;
	top:22px;
}

.buzzSearchList dl dd img {
	border:1px solid #ebebeb;
	margin-bottom:5px;
}

.buzzSearchList dl dd {
	padding-top:0;
	font-size:13px;
}

.buzzSearchList dl dd p.tRate {
	color:#d10000;
	font-weight:700;
	padding-left:100px;
	font-size:100%;
}

.buzzSearchList ul li p {
}

/************************************
地域密着の個別記事
*************************************/

p#companyTopPr{
	margin-top: 20px;
	background:#fffbef;
	border: 2px solid #fbd561;
	padding: 10px;

}



.single-company #contents ul li{
	font-size: 15px;
}

.single-company h3{
	font-size:14px;
	margin:40px 0 20px;
	padding:.3em 0 .3em .5em;
	border-left:3px solid #4acbd6;
	border-bottom: 1px dotted #ccc;
}


dl.companyRss{
	padding: 10px 0;
	border-bottom: 1px dotted #ccc;
}


dl.companyRss dt,dl.companyRss dd{
	font-size: 110%;
}

ul#otherConsulList li{
	margin-bottom: 0.5em;
	list-style: disc inside;
}

ul#renmeiList li{
	list-style: none;
	font-size: 16px;
}

ul#consulList{

}

ul#consulList li{
	font-size: 110%;
	display: inline;
}

ul#consulList li::after{
	content: " / ";
}

ul#consulList li a{

}

ul#companyBlanchList li{
	list-style: none;
	line-height: 1.5;
	margin-bottom: 0;

}

/************************************
目次
*************************************/

div#toc_container ul li{
	margin-bottom: 0.7em;
	text-decoration: underline;
}

div#toc_container ul li ul li{
	margin-top: 0.5em;


}

div#toc_container ul li a{
	font-weight: bold;
}


div#toc_container ul li ul li a:before{
	content: "\0bb";

}

div#toc_container ul li ul li a{
	font-weight: normal;
	font-size: 95%;


}

/************************************
記事の装飾
*************************************/


.decoBase {
    position: relative;
    margin: 4em 0 2em;
    padding: 0.8em 1em;
    border: solid 2px #EC7C7C;
    border-radius: 3px;

}

.box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -2px;
    padding: 1px 5px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 110%;
    background: #EC7C7C;
    color: #ffffff;
    font-weight: bold;
    border-radius: 3px 3px 0 0;
}
.decoBase p,.decoBase ul,.decoBase ol {
    margin: 0;
    padding: 0;
}



.decoChecklist {
  padding-left: 2.3em;
  position: relative;
}

.decoChecklist li {
	font-size: 15px;
  line-height: 1.3;
  padding: 0.3em 0;
  list-style-type: none!important;/*ポチ消す*/
}

.decoChecklist li:before {/*疑似要素*/
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #EC7C7C; /*アイコン色*/
}


.decoOrderlist{
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
}

.decoOrderlist li{
	font-size: 15px;
  position: relative;
  padding-left: 30px;
  line-height: 1.3em;
  padding: 0.5em 0.5em 0.5em 30px;
}

.decoOrderlist li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*以下数字のデザイン変える*/
  display:inline-block;
  background: #EC7C7C;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align:center;
  /*以下 上下中央寄せのため*/
  top: 50%;
  -moz-transform: translateY(-50%);
  	-webkit-transform: translateY(-50%);
  	-o-transform: translateY(-50%);
  	-ms-transform: translateY(-50%);
  	transform: translateY(-50%);

}


blockquote {
    position: relative;
    padding: 40px 15px 8px 15px;
    box-sizing: border-box;
    font-style: italic;
    background: #f7f7f7;
    color: #555;
    margin-bottom: 2em;
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: 13px;
    left: 15px;
    vertical-align: middle;
    content: "\f10d";
  font-family: "Font Awesome 5 Free";
    color: #cfcfcf;
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
}

blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

p.bqLink{
	text-align: right;
	font-size: 0.70em;
	margin: 0;
	position: relative;
	top: -1.6em;
	color: #6e6e6e;
}

p.bqLink a{
	color: #6e6e6e;

}

p.bqImgLink{
	text-align: right;
	font-size: 0.80em;
	font-style: italic;
    position: relative;
    top: -10px;
}


.bgRange {
	padding:1.5em;
	border:dashed 1px #EC7C7C;
	background:#fffafa;
	margin:30px 0;
	font-size: 15px;
	line-height: 165%;
	border-radius: 3px;
}


ul.bgRange{
	border:2px solid #EC7C7C;
	background: #fff;
}

ul.bgRange li,ul.bgPoint li{
	list-style:none;
	padding-left: 0.3em;
    text-indent: -.7em;
    font-size: 15px;
    font-weight: bold;
	}

ul.bgRange li:before,ul.bgPoint li:before{
	content: "・ ";
	color: #747373;
	}


ul.pointList {
	background:#F9F9F9;
	padding:10px 20px;
	line-height:160%;
	border:2px dotted #CCC;
}

ul.pointList li {
	list-style:none;
}


/************************************
　　　　　ページネーション
*************************************/

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0;
    position: relative;
    font-size: 14px;
}

.pagination span, .pagination a {
    display: block;
    width: auto;
    margin: 4px;
    padding: 4px;
    border: 1px solid #ccc;
    background-color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 16px;
}

/* ページ番号 */
.pagination .pager{
    width: 32px;
}

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current  {
    color: #fff;
    border-color: #005982;
    background-color: #005982;
}

/* 前へ */
.pagination a.prev {
    margin-right: 16px;
}
/* 次へ */
.pagination a.next {
    margin-left: 16px;
}
/* 最初へ */
.pagination a.first {}
/* 最後へ */
.pagination a.last {}

/************************************
　　　　　比較一覧　ランキング
*************************************/

table.hikakuTable {
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}


.hikakuTable tr th,.hikakuTable tr td{
	border: 1px solid #CCC;
	padding: 5px 7px;
	font-size: 11px;
	vertical-align: middle;
}

.hikakuTable tr th{
	background: #ededed;
	width: 6em;
}

.hikakuTable tr td{
	width: 6em;
}

.hikakuTable tr td.dateimg{
	text-align: center;
}

.hikakuTable tr td.dateimg img{
	width: 116px;
	height:auto;

}


.hikakuRankBox{
	position: relative;
}

.hikakuRankBox p {
	width: 1em;
	height: 1em;
	text-align: center;
	vertical-align: middle;
	padding: 2px 8px 8px 8px;
  position: absolute;/*絶対配置*/
  top: 0;
  left: 0;
  }

.hikakuRankBox img {
  width: 100%;
  }


.hikakuTable tr td.datetitle{
	font-weight: bold;
}

.hikakuTable tr td.datead{
	padding-top: 15px;
	padding-bottom: 15px;
}

.hikakuTable tr td.datead a{
	padding-top: 15px;
	padding-bottom: 15px;
}

.hikakuTable tr td.datead{
	font-size: 10px;
}

/************************************
追加ボタンデザイン
*************************************/

a.link_btn_01 {
  margin: auto;
  max-width: 300px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  height: auto;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  -moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
  background-image: linear-gradient(to right, #fc6076, #ff9a44, #ef9d43, #e75516);
  box-shadow: 0 4px 15px 0 rgba(252, 104, 110, 0.75);
  padding: 1rem;
  display: block;
  text-decoration: none;
  line-height: 1.3;
}
a.link_btn_01:hover {
  background-position: 100% 0;
  -moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
a.link_btn_01:focus {
  outline: none;
}

a.link_btn_02 {
  max-width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  position: relative;
  background: #F78181;
  border: 1px solid #F78181;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 1rem;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: auto;
}
a.link_btn_02:before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
a.link_btn_02:hover {
  background: #fff;
  color: #F78181;
}
a.link_btn_02:hover:before {
  border-top: 2px solid #F78181;
  border-right: 2px solid #F78181;
}

a.link_btn_03 {
  max-width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #F78181;
  box-sizing: border-box;
  height: 50px;
  padding: 1rem;
  color: #F78181;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
  margin: auto;
  line-height: 1.3;
}
a.link_btn_03:hover {
  background: #F78181;
  color: #fff;
}
a.link_btn_03:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #F78181;
  position: absolute;
  top: 50%;
  left: 6%;
  margin-top: -7px;
}
a.link_btn_03:hover:before {
  border-color: transparent transparent transparent #fff;
}

a.table_link_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F78181;
  margin: auto;
  color: #FFFFFF;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  text-decoration: none;
  max-width: 130px;
  height: 32px;
}
a.table_link_btn:hover {
  border: 2px solid #F78181;
  box-sizing: border-box;
  color:#F78181;
  background: #FFFFFF;
}

a.table_link_btn_03 {
  max-width: 130px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #F78181;
  box-sizing: border-box;
  height: 32px;
  color: #F78181;
  font-size: 12px;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
  margin: auto;
}
a.table_link_btn_03:hover {
  background: #F78181;
  color: #fff;
}
a.table_link_btn_03:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 6px;
  border-color: transparent transparent transparent #F78181;
  position: absolute;
  top: 50%;
  left: 7%;
  margin-top: -6px;
}
a.table_link_btn_03:hover:before {
  border-color: transparent transparent transparent #fff;
}





#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 52px;
	height: 52px;
	background-color: #fff;
	color: #4acbd6;
	border: 1px solid #4acbd6;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}

#pagetop.show {
	opacity: .75;
	visibility: visible;
	transform: translateY(0);
}

#pagetop:hover {
	color: #fff;
	background-color: #4acbd6;
}

#pagetop svg {
	fill: #4acbd6;
	width: 20px;
}

#pagetop:hover svg {
	fill: #fff;
}

/* TOPページ検索フォーム */
.top-search-container {
    width: 90%;
    max-width: 800px;
    height: 50px;
    background: #fff;
    border-radius: 50px;
    padding: 0 20px;
    border: 2px solid #eee;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.top-search-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
}

.search-select-wrapper {
    flex: 1;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.search-select-wrapper::after {
    content: '\f078'; /* Font Awesome下向き矢印 */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    pointer-events: none;
    font-size: 12px;
}

.search-select {
    width: 100%;
    border: none;
    font-size: 13px; /* フォントサイズを少し縮小 */
    color: #666;
    background: transparent;
    padding: 0 25px 0 8px; /* 右側に矢印用のスペースを確保 */
    height: 100%;
    appearance: none; /* デフォルトの矢印を消す */
    -webkit-appearance: none;
    cursor: pointer;
    font-weight: bold;
    text-align: center;
}

.search-select:hover {
    color: #333;
}

.search-select-wrapper:hover::after {
    color: #666;
}

.search-select:focus {
    outline: none;
}

.search-separator {
    color: #ccc;
    font-size: 20px;
    margin: 0 15px;
}

.search-btn {
    width: 40px; /* ボタンサイズを縮小 */
    height: 40px;
    background: #ff5a5f; /* デザイン案に近い赤色 */
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 16px; /* アイコンサイズも少し縮小 */
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: background 0.3s;
    position: relative;
    right: -10px; /* コンテナからはみ出させる調整 */
}

.search-btn:hover {
    background: #ff7b7f;
}

/* モバイル用調整 */
@media screen and (max-width: 768px) {
    .top-search-container {
        width: 95%;
        height: auto;
        padding: 10px 15px;
        display: block;
        bottom: 25px;
    }
    
    .top-search-inner {
        flex-wrap: wrap;
        height: auto;
        display: flex;
    }
    
    .search-select-wrapper {
        width: 100%;
        flex: none;
        margin-bottom: 5px;
        height: auto;
        display: block;
    }
    
    .search-select {
        padding: 12px 25px 12px 8px;
        height: auto;
    }
    
    .search-separator {
        display: none;
    }
    
    .search-btn {
        width: 100%;
        border-radius: 30px;
        height: 40px;
        right: 0;
        margin-left: 0;
        margin-top: 10px;
    }
}

/*--------人気記事スライダー（Slick Slider）--------*/
.popular-posts-section h2.contentsTitle {
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e5e5; /* 下部にもボーダーを追加 */
}

.popular-posts-slider {
    margin-bottom: 30px !important;
    position: relative;
}

/* ローディング中のプレースホルダー */
.popular-posts-slider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid #f0f0f0;
    border-top-color: #4acbd6;
    border-radius: 50%;
    animation: spinner 0.8s linear infinite;
    z-index: 1;
}

.popular-posts-slider.slick-ready::before {
    display: none;
}

@keyframes spinner {
    to { transform: rotate(360deg); }
}

/* Slick Sliderのドットナビゲーション調整 */
.popular-posts-slider .slick-dots {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
    padding: 10px 0;
}

.popular-posts-slider .slick-dots li button:before {
    font-size: 12px;
    color: #666;
}

.popular-posts-slider .slick-dots li.slick-active button:before {
    color: #4acbd6;
}

/* スライド共通スタイル */
.popular-post-slide {
    background: #fff;
    outline: none; /* フォーカス時のアウトライン除去 */
}

.popular-post-slide a {
    display: block;
    text-decoration: none;
}

.popular-post-slide a:hover .popular-post-title {
    background: #fff;
}

.popular-post-slide a:hover .popular-post-title span {
    color: #4acbd6;
}

/* Slick Sliderのスライド表示を確実にする */
.popular-posts-slider .slick-slide {
    display: block !important;
}

.popular-posts-slider .slick-slide img {
    display: block !important;
}

/* 複製されたスライド（無限ループ用）の画像も強制表示 */
.popular-posts-slider .slick-cloned img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.popular-posts-slider .slick-cloned .popular-post-image {
    display: block !important;
    visibility: visible !important;
}

.popular-post-image img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 画像全体を表示 */
    display: block;
}

.popular-post-title {
    background: #f9f9f9;
    padding: 15px 20px;
    border: 1px solid #e5e5e5;
    border-top: none;
}

.popular-post-title span {
    display: block;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
    color: #333;
}

/* PC版: カルーセルモード（3枚横並び） */
/* モバイル版はmobile.cssで制御されるため、メディアクエリ不要 */
.popular-posts-slider {
    padding-bottom: 50px; /* ドットナビゲーション分のスペースを確保 */
    max-width: 100%;
    min-height: 210px; /* 画像130px + タイトル約80px = 最小高さでCLS防止 */
}

/* Slick初期化前のスライドを非表示にしてCLS防止 */
.popular-posts-slider:not(.slick-initialized) .popular-post-slide {
    display: none;
}

.popular-posts-slider:not(.slick-initialized) .popular-post-slide:first-child,
.popular-posts-slider:not(.slick-initialized) .popular-post-slide:nth-child(2),
.popular-posts-slider:not(.slick-initialized) .popular-post-slide:nth-child(3) {
    display: block;
    float: left;
    width: calc(33.333% - 20px);
    margin: 0 10px;
}

.popular-post-slide {
    margin: 0 10px;
    box-sizing: border-box;
}

.popular-post-image {
    width: 100%;
    height: 130px; /* 縦横比100:65に合わせた高さ */
    overflow: hidden;
    position: relative;
    background: #f0f0f0;
}

.popular-post-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.popular-post-title {
    padding: 10px 12px;
}

.popular-post-title span {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 2行に制限 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.5;
    max-height: 3em; /* 1.5 × 2行 = 3em */
    font-size: 14px;
    font-weight: normal;
}
