/*********************************
				  Base Setting
**********************************/
body {
	background:none;
	border-top:3px solid #4acbd6;
}

#wrapper {
	width:100%;
	margin:0;
}

#footer {
	width:100%;
}

/*--------画像の設定--------*/
img {
	max-width:100%;
}

.postContent img.alignright {
	border:none;
	padding:0;
}

.postContent img.aligncenter {
	border:none;
	padding:0;
}



/*********************************
				  aタグ
**********************************/
.submenuBox a:link,.topList a:link,.singleList a:link {
	text-decoration:none;
	color:#444;
	font-weight:700;
}

.submenuBox a:visited,.topList a:visited,.singleList a:visited {
	text-decoration:none;
	color:#444;
	font-weight:700;
}

.submenuBox a:hover,.topList a:hover,.singleList a:hover {
	text-decoration:none;
	color:#444;
	font-weight:700;
}

.submenuBox a:active,.topList a:active,.singleList a:active {
	text-decoration:none;
	color:#444;
	font-weight:700;
}

/*********************************
				  Layout
**********************************/
/*--------Layout--------*/
#main {
	width:100%;
	margin-top:0;
}

.home #sideBar,.single #sideBar,.page #sideBar,.category #sideBar,.archive #sideBar {
	width:100%;
	float:none;
	padding:0;
}

.home #rightBox,.single #rightBox,.page #rightBox,.category #rightBox,.archive #rightBox {
	width:100%;
	float:none;
	padding:0;
}

.home #rightSide,.single #rightSide,.page #rightSide,.category #rightSide,.archive #rightSide {
	width:100%;
	float:none;
	padding:0;
}

.home #contents,.single #contents,.page #contents,.category #contents,.archive #contents {
	width:100%;
	float:none;
	padding:0;
}

#topBox {
	width:100%;
}

#topLeftBox {
	width:100%;
	float:none;
	padding:0;
}

#topRightBox {
	width:100%;
	float:none;
	padding:0;
}

#imgBox {
	margin-bottom: 0;
}

/*--------ヘッダー--------*/
.headerBox {
	padding-top: 0;
	
}

.headerBoxLeft {
	float:none;
	width:100%;
	padding-bottom:0;
}

.headerBoxRight {
	float:none;
	width:100%;
	padding-top:0;
	padding-bottom:20px;
	padding-right:0;
	padding-left:0;
}

#header p#topTitle,#header h1#topTitle  {
	margin:6px 0 8px 0;
	text-align: center;
}

#header p#topTitle img,#header h1#topTitle img {
	width: 200px;
	height: auto;
}


/*--------グローバルナビゲーション（モバイル版）--------*/
#gNav.gnav-mobile {
	width: 100%;
	height: auto;
	display: block;
	background: #4acbd6;
	position: relative;
	overflow: visible;
}

#gNav.gnav-mobile .menu-gnav-container {
	position: relative;
}

#gNav.gnav-mobile ul#menu-gnav {
	padding: 0;
	margin: 0;
	list-style: none;
	display: block;
	overflow: hidden;
}

/* 親メニュー項目 */
#gNav.gnav-mobile ul#menu-gnav > li {
	background: none;
	background: -webkit-linear-gradient(top, #C14F4F, #B21A19);
	background: -moz-linear-gradient(top, #C14F4F, #B21A19);
	background: -ms-linear-gradient(top, #C14F4F, #B21A19);
	background: -o-linear-gradient(top, #C14F4F, #B21A19);
	background: linear-gradient(to bottom, #C14F4F, #B21A19);
	display: block;
	float: left;
	width: 50%;
	margin: 0;
	text-align: center;
	border-bottom: 1px solid #FFF;
	border-left: 1px solid #FFF;
	box-sizing: border-box;
	position: relative;
	z-index: auto;
}

#gNav.gnav-mobile ul#menu-gnav > li > a {
	display: block;
	text-decoration: none;
	color: #FFF;
	font-size: 11px;
	font-weight: bold;
	border: none;
	padding: 8px 15px;
	position: relative;
}

/* サブメニューがある親メニューにアイコン追加 */
#gNav.gnav-mobile ul#menu-gnav > li.menu-item-has-children > a::after {
	content: "\f078";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 9px;
	margin-left: 6px;
	display: inline-block;
	transition: transform 300ms ease-in-out;
	vertical-align: middle;
}

#gNav.gnav-mobile ul#menu-gnav > li.menu-item-has-children.is-open > a::after {
	transform: rotate(180deg);
}

/* サブメニュー（アコーディオン） - デフォルトで非表示 */
#gNav.gnav-mobile ul.sub-menu {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
	background: #fff;
	border: 1px solid #ddd;
	border-top: none !important;
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
	z-index: 99999;
	transition: opacity 0.3s ease;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* サブメニュー非表示状態（明示的） */
#gNav.gnav-mobile ul.sub-menu.submenu-hidden {
	display: none !important;
	opacity: 0;
	max-height: 0;
	overflow: hidden;
}

/* サブメニュー表示状態 */
#gNav.gnav-mobile ul.sub-menu.submenu-visible {
	display: block !important;
	opacity: 1 !important;
	max-height: 1000px !important;
	overflow: visible !important;
}

/* サブメニュー項目 */
#gNav.gnav-mobile ul.sub-menu > li {
	width: 100%;
	float: none;
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
	border-left: none;
}

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

#gNav.gnav-mobile ul.sub-menu > li > a {
	color: #333;
	background: #fff;
	text-align: left;
	padding: 10px 20px;
	font-size: 12px;
	border: none;
}

#gNav.gnav-mobile ul.sub-menu > li > a::after {
	content: none;
}

#gNav.gnav-mobile ul.sub-menu > li > a:active {
	background: #f0f0f0;
}

/*--------パンくずリスト--------*/
div.kuzu {
	padding:3px 10px;
	padding-left:5px;
	font-size:12px;
	background:#fff;
	border-bottom: 1px dotted #ccc;

}

div.kuzu span {
	margin:0 0px;
}

div.kuzu ol li {
	font-size: 9px;
	line-height: 1.4;
}

/*--------サイドメニュー--------*/
.menuTitle {
	font-size:16px;
	background:#FCFCFC;
	border-top:none;
	border-left:4px solid #4acbd6;
	border-bottom:1px solid #e5e5e5;
	height:35px;
	line-height:35px;
	padding-left:10px;
	font-weight:700;
}

p#menuTitleParent {
	background:none;
	background:#F5F5F5;
	font-size:18px;
	padding:5px 10px;
	font-weight:700;
}

p#menuTitleParent span {
	background:url(../../../uploads/2020/07/bg_menulistmark.gif) no-repeat;
	background-position:left center;
	padding-left:10px;
}

#bottomMenu .submenuBox li {
	font-size:15px;
}

#bottomMenu .submenuBox ul.menu li {
	background:url(../../../uploads/2020/07/bg_menulistmark_sp.gif) no-repeat;
	background-position:right 1em center;
	background-size:7px;
	padding:0;
	border-bottom:1px solid #F0F0F0;
}

#bottomMenu .submenuBox ul.menu li.menu-title {
	background:#fbf4f4;
	padding:.8em 0 .8em 10px;
	border-bottom:1px solid #F0F0F0;
	font-size:120%;
	font-weight:700;
}

#bottomMenu .submenuBox ul.menu li.menu-title p {
	border: none;
}

#bottomMenu .submenuBox ul.menu li.menu-title span {
	border: none;
}

/*--------ランキングパーツ--------*/
#sideBar p.titleLink {
	font-size:120%;
	text-decoration:none;
}

/*********************************
				  個別設定
**********************************/
/*--------トップページ--------*/
.contentsTitle {
	font-size:120%;
}

#contents #partRankBlock {
	width:90%;
	padding:0 5%;
	overflow:scroll;
}

#contents #topRankBoxTop {
}

div.topListBlock {
	padding:0 10px;
}

a.pinkbg {
	padding:10px 0;
	margin:0 5px;
}

.topList ol li {
	font-size:14px;
	background:url(../../../uploads/2020/07/bg_menulistmark_sp.gif) no-repeat;
	background-position:right 1em center;
	padding:10px 30px 10px 10px;
	border-bottom:1px solid #F0F0F0;
}

.topList ol li:first-child {
	padding-top:0;
}

div.topNewsInline {
	margin-bottom:20px;
	border:1px solid #CCC;
	border-top:none;
	padding:0;
}

/*-------------カテゴリ紹介-------------*/
.topListTable {
	float:none;
	width:100%;
	margin-right:20px;
	margin-top:20px;
	border:1px solid red;
	background:red;
}

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



#contents .topListBox,#sideBar .topListBox {
	position:relative;
	width:100%;
	height:100%;
	margin-top:20px;
	margin-bottom:0;
}

#sideBar .topListBox {
	margin-top:10px;
	margin-bottom:0;
}

#contents .topListBox:last-child, #sideBar .topListBox:last-child {
	margin-bottom:20px;
}

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


#sideBar table.topListTable tr th a {
	font-size:120%;
	text-decoration: none;
	color: #333;
}

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

#contents .topListImageOnly .topListCard,
#contents .topListImageOnly .topListCard:link,
#contents .topListImageOnly .topListCard:visited,
#contents .topListImageOnly a.topListCard {
	display: block;
	position: static;
	width: calc(50% - 5px);
	box-sizing: border-box;
	height: auto;
	background: #fff;
	border: 1px solid #e5e5e5;
	overflow: hidden;
	text-decoration: none;
	float: 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__title {
	padding: 8px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #2355a5;
	background: #fff;
	text-decoration: underline;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-clamp: 2; /* 将来の標準化を見据えた指定（現在は実験的機能） */
	overflow: hidden;
	min-height: 40px;
}

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

/*-------------LiPro婚活について-------------*/
#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:none;
	border-bottom: none;
/* 	background:#FCFCFC; */

}

div.titleCatBox div {

	margin:10px;
}

p.modifiedDate{
	font-size: 12px;
	margin: 8px 0 0 0;
	color: #767676;
}

div.readLine {
	padding: 15px;
	border:none;
}

.category div.readLine {
	padding:20px;
	border:none;
}



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


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

}

h1.singleTitle {
	font-size:20px;
}

/*--------関連リンク--------*/
#similarpost {
}

#similarpost p.contentsTitle {
	font-size:16px;
}

#similarpost div {
	padding:10px 8px;
	
}


#similarpost ul.similar li {
	border-bottom: 1px dotted #ccc;
	margin-top: 0;
}

#similarpost ul.similar li a{
	display: block;
	padding: 0.5em 0;

}

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

}

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


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


.bottomRecomend tr td{
	font-size: 14px;
	line-height: 1.3;
	width: 70%;
}

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

}


.bottomRecomend tr th{
	width: 30%;
}



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

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

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

/*--------カテゴリーページ--------*/
h2.catListTitle,p.catListTitle {
	margin:0;
	padding:0;
	border:none;
	line-height:1.3;
	font-size:105%;
}

div.singleList {
	background:url(../../../uploads/2020/07/bg_menulistmark_sp.gif) no-repeat;
	background-position:right 1em center;
	padding:20px 6% 20px 0%;
	width: 90%;
}

.singleList .catLeft{
	width: 23%;
	
}

.spCat{
	padding: 0;
}

/*--------ランキングページ--------*/
div#rankingTitle {
	background:url(../../../uploads/2020/07/banner_ranking.jpg) no-repeat;
	height: 0;
	background-size: contain;
	padding:20px 0px 0px;
	text-align: center;
}

.single div#rankingTitle {
	padding:100px 0px 0px;
}


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

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

/*--------ランキングページ：タブ--------*/

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

ul.rankTab li {
	margin:0;
	padding:0;
	border:none;
	background:#F0F0F0;
	display:inline-block;
	width:49%;
}


ul.rankTab li a {
	font-size:11px;
	text-decoration:none;
	display:block;
	padding:0.2em 0.1em;
	text-align:center;
	font-weight:700;
	border:1px solid #CCC;
	border-top:1px solid #CCC;
}

ul.rankTab li:first-child a {
	border-top:1px solid #CCC;
}

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

div#rankTopMessage {
	background:none;
	background-position:10px 10px;
	padding:5px;
}

/*--------ランキングページ：コンテンツ--------*/
.category div.ranking{
	padding: 20px 10px;
	
}

a.rtbBuzzLink{
	font-size: 120%;

}

p.official a{
	font-size: 20px;
	text-align: center;
	display: block;
	padding: 7px 0;
	font-weight: bold;
	background: #fffcf8;		
}
/*--------口コミ一覧--------*/
div.btBox {
	width:100%;
}

div.btRight {
	width:100%;
	float:none;
	padding-left:0;
}

div.btLeft {
	width:100%;
	float:none;
	text-align:center;
}

p.btUrl {
	font-size:20px;
	font-weight:700;
	margin-top:20px;
	text-align:center;
}

.btRight table {
	width:95%;
}

#contents h1.buzzlistTitle {
	margin:0 0 20px;
}

#contents h3.buzzTitle {
	border:none;
}

p.btUrl {
	font-size:20px;
	font-weight:700;
	margin-top:30px;
	margin-bottom:10px;
	background:#FFC;
	padding:.5em 0;
}

.buzzContents p.rateText {
	font-size:11px;
	color:#666;
	padding:0 0 1em;
}

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

.buzzSubmit img {
	width:70%;
}

.buzzContents span.buzzDate {
	font-size:11px;
	color:#666;
	margin-left:0;
	display:block;
}

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

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


/*
h3#buzzFeature1,h3#buzzFeature2,h3#buzzFeature3 {
	font-size:14px;
	padding-top:7px;
	padding-bottom: 7px;
	padding-left:75px;
	border-bottom:dotted 1px #CCC;
	
  display: flex;
  align-items: center;
}



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

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

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



div.pointListSp p {
	display:none;
}

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


a.allRead {
	font-size:150%;
	border:1px solid #CCC;
	margin-top:20px;
	padding:10px 0;
	text-align:center;
	display:block;
	background:#F8F8F8;
	font-weight:700;
	color:#666;
}

#buzzlistBottomRank ol li {
	padding:5px 0;
	border-bottom:1px dotted #CCC;
	font-size:130%;
}

#buzzlistBottomRank table tr td {
	padding: 1px 0 ;	
}

#buzzlistBottomRank table tr td a{
	display: block;

}

/*--------画像レビュー--------*/
.photoReview ul li {
	width:180px;
	height: 100%;
	float:left;
	padding-left:0;
}

.photoReview ul li a.gallery:hover {
	border:none;
}

.photoReview ul li img {
	width:100%;
	height:100%;
}

.photoReview ul li p {
	font-size:15px;
	line-height:1.3;
	padding:1em 0.5em 0;
}

/*--------口コミ投票エリア--------*/
table#buzzformTable tr th {
	width:40%;
}

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

table.service-infomation tr th {
	width:5.5em;
	text-align: center;
}

table.service-infomation tr th,table.service-infomation tr td {
	padding:17px 5px;
	font-size:15px;
}

table.service-infomation tr th {
	background:#FFEAAB;
}

/*--------全国--------*/
table#zenkoku tr th,table#zenkoku tr td,table#zenkoku tr td ul li {
	font-size:16px;
}

table#zenkoku {
	border:1px solid #CCC;
	width:100%;
	margin:40px 0 0;
}

table#zenkoku tr th {
	width:25%;
	vertical-align:middle;
	text-align:center;
	background:#F3F3F3;
}

/*
table#zenkoku tr td ul li {
	padding:.5em;
}
*/

/*--------地域密着のフォーム--------*/

table#listform tr th,table#listform tr td{
	padding: 5px;
	
}

/*--------婚期占い--------*/
.single-konki-uranai #contents,.post-type-archive-konki-uranai #contents {
	min-height:inherit;
	height:auto!important;
	height:inherit;
}

.single #rightBox,.page #rightBox,.archive #rightBox {
	min-height:inherit;
	height:auto!important;
	height:inherit;
}

/*
div#inline-konki-single,div#inline-konki-top {
	background:url(images/bg_konkiuranai.jpg) repeat-y;
	border:3px solid #FFF;
	width:90%;
	padding:10px;
	margin:0 auto 50px;
	font-size:13px;
}

div#inline-konki-top {
	background:none;
	border:none;
	font-size:16px;
}

div#inline-konki-top div.inputArea {
	border:3px solid #BDB7A5;
	padding:20px 2px;
	font-size:12px;
	line-height:230%;
	background:#FFF;
}

div#konkiuranaiTitle {
	padding:20px 0 0;
	text-align:center;
}
*/

/*--------性格診断--------*/
.personality div.inlineBox {
	padding:0;
}

.personality div.qBox {
	background:#FFF;
	padding:5px;
}

.personality table.s tr td {
	font-size:80%;
}

.personality table.s tr td.s {
	width:10em;
	padding-right:2em;
}

input#btn_check {
	margin:20px 0 0;
	width:100%;
}

/*--------性格診断--------*/
input#pt_answer {
	margin:40px 0 0;
	width:100%;
}

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

div#pt_next img {
	width:100%;
}



/****************************************
			口コミリスト　ALL
*****************************************/


.buzzSearchList a {
width: 43%;
display: inline-block;
padding-left: 2%;
padding-right: 2%;
padding-bottom: 15px;
text-decoration: none;
	color: #111;

}

/****************************************
			口コミリスト　ALL
*****************************************/

#bottomMenu ul.regionBottom{
	padding: 0 10px;
	margin-bottom: 0;
}

#bottomMenu ul.regionBottom li {
	padding: 0;
}
#bottomMenu ul.regionBottom li a{
	padding: 3px 8px;
	font-size: 110%;
	
}
#bottomMenu ul.regionBottom li {
	padding: 0;
}

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

/*--------人気記事スライダー（モバイル）--------*/
@media screen and (max-width: 768px) {
    .popular-posts-slider {
        height: auto !important; /* 高さを自動調整 */
        padding-bottom: 40px !important; /* ドット用の余白 */
    }

    .popular-post-image {
        width: 100%;
        height: 250px !important;
        padding-top: 0 !important; /* PC版のpadding-topをリセット */
        overflow: hidden;
        position: relative;
        background: #f0f0f0;
    }

    .popular-post-image img {
        position: static !important; /* PC版のabsoluteをリセット */
        width: 100%;
        height: 100%;
        object-fit: cover !important; /* PC版のcontainをリセット */
    }

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

    .popular-post-title span {
        font-size: 14px;
        font-weight: bold; /* モバイルは太字のまま */
        display: block !important; /* PC版の-webkit-boxをリセット */
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        max-height: none !important;
        line-height: 1.6;
    }
}
