@charset "UTF-8";


/*--------------------------------------------------------
1、サイト全体の背景設定
------------------------------------------------------*/

#container{ background-color: #fff; }


/*--------------------------------------------------------
2、サイト全体の共通設定
-------------------------------------------------------*/

body{ color: #333; }

/*●リンク文字*/
a{ text-decoration: underline; }

a:link,
a:visited{ color: #39f; }
a:hover,
a:active{ color: #f60; }

.bold{
	font-weight:bold;
}

p.blue_btn{
	clear:both;
	margin-right:25px;
	margin-bottom:5px !important;
	padding:0 !important;

}
p.blue_btn a {
    text-decoration:none;
	background-color: #0074cc;
    background-image: -moz-linear-gradient(center top , #08c, #05c);
    background-repeat: repeat-x;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	border-radius: 4px;
    border-style: solid;
    border-width: 1px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
	cursor: pointer;
    display: inline-block;
    font-size: 13px;
    line-height: 18px;
    padding: 4px 10px;
    text-align: center;
}
p.blue_btn a:hover {
	opacity:0.65;
}
	

h1,h2,h3,h4{
	clear:both;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
}
#sidebar{
	display:none;
}
/*--------------------------------------------------------
3、エリアの設定
--------------------------------------------------------*/

#container{
	position: relative;
}


/*--------------------------------------------------------
トップ
--------------------------------------------------------*/

/*#top{
	position: absolute;
	top: 0;
	background-color: #fff;
	font-size: 1.2em;
}

#top-in{
	position: relative;
	padding: 5px 0;
}

#top-menu{ text-align: right; }

#top-menu li{
	display: inline;
	margin-left: 1em;
	list-style: none;
}

#top-menu li a{
	padding-left: 12px;
	background: url(./images/icon/icon-arrow01.png) left center no-repeat;
}*/
#pr p{
	width:980px;
	margin:auto;
}
#pr{
	border-bottom:#2447a0 10px solid;
}
.home .article ul{
	margin-bottom:1.5em!important;
}
#list_gp_1 li,
#list_gp_2 li,
#list_gp_3 li{
	box-sizing: border-box;
	list-style:none;
}


#list_gp_1,
#list_gp_2,
#list_gp_3{
	margin:0;
	padding:0;
	overflow:hidden;
}

#list_gp_1 li{
	float:left;
	min-width:33%;
	padding:5px;
}

#main-contents #list_gp_1 p{
	margin:0 !important;
}
#list_gp_1 img{
	float:left;
}

#list_gp_1 p.blue_btn{
    text-align: right;
}
#list_gp_1 p{
	float:right;
	width:50%;
	box-sizing: border-box;
	padding:20px 0 0 3px;
	line-height:1.8em;
}
#list_gp_1 span{
	font-size:150%;
}

.root{
	border:#CCC 1px solid;
	padding-bottom:10px;
	margin-bottom:15px;
}

 #main-contents .root .contents {
	margin-bottom:0;
}
p.arrow{
	font-size:120%;
	margin:10px 25px;
	font-weight:bold;
}
p.arrow:before{
	font-size:150%;
	color:#F00;
	content: "⇩"
}

#list_gp_2 li{
	float:left;
	width:32%;
	margin-left:10px;
	border:#CCC 1px solid;
	min-height:330px;
}
#list_gp_2 p,
#list_gp_2 ol{
	margin:0 10px 10px;
}
#list_gp_2 li li{
	border:none;
	float:none;
	width:auto;
	min-height:inherit;
	margin-left:0 !important;
	margin-bottom:10px !important;
	font-size:14px !important;
}

#list_gp_2 img{
	margin:10px 0 15px 10px;
}
#list_gp_3{
	margin:0 10px !important;
}
#list_gp_3 li{
	float:left;
	width:20%;
	
}
#list_gp_3 li div{
	border:#2447a0 2px solid;
	padding:5px;
	min-height:87px;
	overflow:hidden;
}
#list_gp_3 li div span{
	float:left;
	width:60%;
	text-align:center;
}
#list_gp_3 li div span.s1{
	font-size:120%;
	padding-top:2em;
}
#list_gp_3 li div span.s2{
	font-size:100%;
	padding-top:2em;
}
#list_gp_3 li div span.s3{
	font-size:90%;
	padding-top:1em;
}
#list_gp_3 li div img{
	float:right;
}

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

#header{
	background-color: #fff;
	font-size: 1.2em;
}

#header-in{ padding: 1em 0; }

/*●ヘッダーロゴ（メインタイトル）*/
#header #header-title{
	float: left;
	width: 59.5%; /*ロゴ（メインタイトル）下の<h1>の1行の幅はこちらのwidthの値を変更*/
}

#header #header-text{
	background-color:#2447a0;
}
#header #header-text h1{
	color:#FFF;
	font-size: 1em;
}

/*●ヘッダーロゴテキスト*/
.header-logo a{ text-decoration: none; }

.header-logo a:link,
.header-logo a:visited{ color: #333; }
.header-logo a:hover,
.header-logo a:active{ color: #f60; }


/*●ヘッダーテキスト・右上の文章*/
#header-in #tel{
	float: right;
	width: 40%; /*・1行の幅はwidthの値を変更*/
}

/*●ヘッダーテキスト・右上の文章*/
#header-in #job{
	float: right;
	width: 5%; /*・1行の幅はwidthの値を変更*/
}

/*--------------------------------------------------------
グローバルナビ
--------------------------------------------------------*/

#global-nav{
	background:url(images/common/blue_white_bg.png);
	border-bottom: 5px solid #ffa801;
} /*メニュー下のラインの設定*/

#global-nav dl{
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

#global-nav dt,
#global-nav dd{ 
	margin: 0;
	padding: 0;
}


/*●メニューボタンを非表示*/
#global-nav .btn-gnav{ display:none; }


/*●グローバルメニュー*/
#global-nav .menu-wrap{ display: block; }

#menu{
	padding: 5px;
	font-size: 14px;
}

#global-nav #menu li{
	position: relative;
	float: left;
	margin: 0;
	width:14%;
	border-right: solid 1px #fff; /*右側のボーダーの色*/
	list-style: none;
	font-weight: bold;
}

#global-nav #menu li.first{ border-left: solid 1px #fff; } /*一番左のメニューだけに追加指示*/

#global-nav #menu li{ white-space: nowrap; }

/*メニューのデザイン*/
#global-nav #menu li a{
	display: block;
	line-height:3;
	text-align:center;
	
	color: #fff; /* メニューのフォントの色*/
	text-decoration: none;
}

#global-nav #menu li a:hover,
#global-nav #menu li a:active{ background-color: #4767B7; } /*マウスカーソルを乗せた時の背景色*/

#global-nav #menu li ul{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 12em;
}

/*ドロップダウンメニューのデザイン*/
#global-nav #menu li ul li{
	margin: 0;
	padding: 0;
	width: 12em;
	background-color: #4767B7;
	border-top: 0;
	border-right: 0;
	white-space: normal;
}

#global-nav #menu li ul li a{
	display: block;
	padding: 0.8em 2em;
}

#global-nav #menu li ul ul{
	top: 0;
	left: 100%;
}

#global-nav .showMenu{ display: block!important; }


/*--------------------------------------------------------
コンテンツ全体
--------------------------------------------------------*/


/*●メイン画像*/
#main-image{
	padding-top: 1.5em;
}

#main-image-in{
	position: relative;
	padding-bottom: 1.5em;
}

#main-image img{
	width: 100%;
	height: auto;
}

#main-image .catch-copy{
	position: absolute;
	top: 1em;
	left: 1em;
	color: #fff;
	font-size: 3em;
}


/*●パン屑ナビ*/
#breadcrumbs{
	clear: both;
	margin-bottom: 1.5em;
	font-size: 1.2em;
}

#breadcrumbs li{
	display: inline;
	margin-right: 0.5em;
	line-height: 1.8;
	text-align: right;
	list-style: none;
	font-size:11px;
}

#breadcrumbs li a{
	padding-right: 15px;
	background: url(./images/icon/icon-brc.gif) center right no-repeat;
}


/*--------------------------------------------------------
メインコンテンツ（本文）
--------------------------------------------------------*/




.contents{
	margin:0 10px 20px;
	padding:0;
}

.article{
	margin: 0 15px 15px;
	padding: 20px 25px 110px;
	border-radius: 30px;        /* CSS3草案 */  
    -webkit-border-radius: 30px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 30px;   /* Firefox用 */
	border:#2447a0 5px solid;
	background:url(images/common/content_bg.png) center bottom no-repeat;
	overflow:hidden;
	
}
.home .article{
	margin:0;
	padding:0;
	border:none;
	background:none;
}

/*●H2タグ*/

#main-contents h2{
	font-size:250%;
	padding:0 25px;
	line-height:1.2;
	margin-bottom:20px;
}


#main-contents h2 a:link,
#main-contents h2 a:visited{ color: #333; }

#main-contents h2 a:hover,
#main-contents h2 a:active{ color: #f60; }

.home #main-contents .root h2{
	background: #f2f5f6; /* Old browsers */
background: -moz-linear-gradient(top, #f2f5f6 0%, #e3eaed 37%, #c8d7dc 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f2f5f6), color-stop(37%,#e3eaed), color-stop(100%,#c8d7dc)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #f2f5f6 0%,#e3eaed 37%,#c8d7dc 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #f2f5f6 0%,#e3eaed 37%,#c8d7dc 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #f2f5f6 0%,#e3eaed 37%,#c8d7dc 100%); /* IE10+ */
background: linear-gradient(to bottom, #f2f5f6 0%,#e3eaed 37%,#c8d7dc 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f5f6', endColorstr='#c8d7dc',GradientType=0 ); /* IE6-9 */
	color:#2447a0;
	font-size:150%;
	padding-left:1.2em;
	line-height:40px;
	margin-bottom:15px;
}


/*●H3タグ*/

#main-contents h3{
	color:#2447a0;
	font-size:170%;
	border-bottom:#2447a0 2px dotted;
	margin-bottom:1em;
	padding:10px 1em 0;
}

#main-contents h3 a:link,
#main-contents h3 a:visited{ color: #333; }

#main-contents h3 a:hover,
#main-contents h3 a:active{ color: #f60; }

.home #main-contents #list_gp_1 h3 {
	color:#2447a0;
	border-bottom:#2447a0 2px solid;
	font-size:150%;
	padding-left:0.5em;
	
	margin-bottom:1em;
}
.home #main-contents #list_gp_2 li h3{
	text-align:center;
	font-size:120%;
	color:#FFF;
	font-weight:normal;
	background-color:#2447a0;
	line-height:2em;
	padding-top:0;
}



/*●H4タグ*/

#main-contents h4{
	font-size:140%;
	margin-bottom:0.8em;
}
#main-contents h4 a:link,
#main-contents h4 a:visited{ color: #333; }

#main-contents h4 a:hover,
#main-contents h4 a:active{ color: #f60; }




/*●H5タグ*/
#main-contents h5{
	font-size:120%;
	margin-bottom:0.8em;
}

#main-contents h5 a:link,
#main-contents h5 a:visited{ color: #333; }

#main-contents h5 a:hover,
#main-contents h5 a:active{ color: #f60; }


/*●段落タグ*/
#main-contents p{ margin:0 1em 1em; }


/*●リストタグ*/
#main-contents ul,
#main-contents ol{
	margin:0 10px 10px;
	padding: 0;
}
#main-contents ul{
	margin-left:25px;
}
#main-contents ol{
counter-reset:number;/* 名前を付けたカウンターをリセット */
list-style:none;/* olが数字を付けることをキャンセル */
/*font-size:120%;*/
margin-left:35px;
}

#main-contents ol li{
	margin-bottom:1em;
}
#main-contents ol li dt{
	color:#390;
	font-weight:bold;
	font-size:130%;
}
#main-contents ol li:before{
/* カウンタ（数字になる部分） */
counter-increment: number;/* 任意の名前を付けて！ */
content: counter(number);/* 名前を付けたカウンターを呼び出し */
/* 色を変えたり、背景画像を敷いたり！自由自在！ */
float: left;
background: #2447a0;
width: 1.5em;
height: 1.5em;
border-radius: 50%;
color: #fff;
text-align: center;
line-height: 1.5;
margin-right:5px;
margin-left:-2em;
}


/*●引用タグ*/
#main-contents q{
	margin: 0 2px;
	padding: 0 8px;
	background: #efefef;
}

#main-contents blockquote{
	overflow: auto;
	margin: 0 1em 1.5em;
	padding: 1em;
	border: 3px solid #ddd;
	background: #efefef;
	color: #444;
}

/*●dlタグ*/
#main-contents dt{
	font-weight:bold;
	color:#06C;
	font-size:120%;
}
#main-contents dt:before{
	font-size:130%;
	content:"■"
}
#main-contents li dt:before,
#main-contents dl.news02 dt:before {
	content:""
}
	
#main-contents dd{
	margin:0 1em 1em;
}
	


/*●テーブルタグ*/
#main-contents table{
	margin-bottom: 1.5em;
	padding: 0;
	border-top: 1px solid #959595;
	border-left: 1px solid #959595;
}

/*「table」の1行目に「colspan」を利用する場合は「auto」を指定する*/
/*#main-contents table{ table-layout: auto; }*/

#main-contents th,
#main-contents td{
	padding: 0.5em;
	border-right: 1px solid #959595;
	border-bottom: 1px solid #959595;
}

#main-contents th{
	background-color: #f0f0f0;
	font-weight: bold;
	text-align: left;
}


/*●テーブルタグ スタイル01*/
#main-contents table.table-style01 th,
#main-contents table.table-style01 td{
	text-align: left;
	vertical-align: top;
}
/*●料金表 スタイル01*/
.price_boxs{
	overflow:hidden;
}
.price_boxs li{
	float:left;
	width:48%;
	list-style:none;
	border:#ccc 1px solid;
	box-sizing: border-box;
	padding:0 10px;
	margin:0 10px 10px 0;
}
.page-id-61 .price_boxs li{
	min-height:360px;
}
.page-id-63 .price_boxs li{
	min-height:370px;
}
.page-id-61 .price_boxs li li,
.page-id-63 .price_boxs li li{
min-height:inherit;
}
.price_boxs li .title{
	background:#A7CCEF;
	color:#2447a0;
	font-weight:bold;
	font-size:120%;
	padding:10px;
	margin:0 -10px 10px!important;
}
.price_boxs li .title span{
	font-size:80%!important;
	font-weight:normal;
}
.price_boxs li ul{
	clear:both;
	margin:0 !important;
}
.price_boxs li li{
	
	background:url(images/common/list.png) top left no-repeat;
	list-style:none;
	padding-left:1.2em;
	width:100%;
	float:none;
	border:none;
	margin-bottom:5px;
}
.price_boxs .price{
	font-size:150%;
	color:#b81c22;
	font-weight:bold;
	padding-top:30px;
}

/*●よくある質問*/
#main-contents dl.question{
	margin:30px 45px;
}
#main-contents dl.question dt{
	color:#096;
	margin-bottom:10px;
	font-weight:normal;
	margin-left:1em;
}
#main-contents dl.question dt::before{
	margin-left:-1em;
	margin-right:5px;
	content:"Q"
}
#main-contents dl.question dd{
	color:#F60;
	font-size:120%;
	border-bottom:#CCC 2px dotted;
	padding-bottom:10px;
}
#main-contents dl.question dd::before{
	margin-left:-1em;
	margin-right:5px;
	font-size:130%;
	content:"A"
}
/*●お問合せ*/
div.form{
	width:570px;
	margin:20px auto;
	padding:20px 0;
	background:url(images/common/form_bg.png);
	box-shadow:0px 0px 2px 3px rgba(0, 0, 0, 0.2);
}
div.form dl{	
	overflow:hidden;
}
#main-contents div.form dt{
	clear:both;
	float:left;
	width:35%;
	text-align:right;
	margin-right:1em;
	font-size:14px;
	font-weight:normal;
	color:#333;
}
#main-contents  div.form dt::before{
	content:""
}
#main-contents div.form p input{
	padding:5px 10px;
background: -moz-linear-gradient(top, #fff, #F1F1F1 1%, #F1F1F1 50%, #DFDFDF 99%, #ccc);  
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(0.01, #F1F1F1), color-stop(0.5, #F1F1F1), color-stop(0.99, #DFDFDF), to(#ccc));  
}
#main-contents div.form p input:hover{
	background: -moz-linear-gradient(top, #fff, #e1e1e1 1%, #e1e1e1 50%, #cfcfcf 99%, #ccc);  
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(0.01, #e1e1e1), color-stop(0.5, #e1e1e1), color-stop(0.99, #cfcfcf), to(#ccc)); 
}

/*●最新情報（リストタグ）*/
#main-contents ul.news{
	margin: 0 0 3.5em;
	padding: 0;
	padding-bottom: 0;
}

#main-contents ul.news li{
	margin-bottom: 1em;
	padding: 0 1em 1em;
	border-bottom: 1px dotted #414141;
	line-height: 1.4em;
	list-style: none;
}


/*●最新情報（定義タグ）*/
#main-contents dl.news{
	margin: 0;
	padding: 0;
}

#main-contents dl.news dt{
	float: left;
	width: 9em;
	margin: 0;
	padding: 0;
	padding-left: 1em;
}

/*最新情報のアイコン設定*/
#main-contents dl.news dd.cat{
	float: left;
	overflow: hidden;
	width: 6em;
	height: 1.5em;
	padding: 0.1em 0.3em 0;
	border-bottom: none;
	background: #333;
	color: #fff;
	font-size: 0.858em;
	text-align: center;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}

#main-contents dl.news dd{
	margin: 0 0 10px 0;
	padding: 0 1em 0.8em 16.5em;
	border-bottom: 1px dotted #414141;
}

/*カテゴリの文字数が多い場合はコメントアウトを解除*/
/*#main-contents dl.news dd.cat{
	clear: none;
	width: auto;
}

#main-contents dl.news dd{
	clear: both;
	padding: 0 1em 0.8em 1em;
}*/
/*●最新情報2（定義タグ）*/
#main-contents dl.news02{
	margin: 0 !important;
	padding: 0;
}

#main-contents dl.news02 dt{
	display: block;
	margin: 0 0 0.5em 0;
	padding: 0;
	padding-left: 1em;
	font-weight: bold;
	float:left;
	width:120px;
	font-size:14px;
}

#main-contents dl.news02 dd{
	margin: 0 0 0.5em 0;
	padding: 0 1em 0.8em 1em;
	border-bottom: 1px dotted #414141;
}

#main-contents dl.news02 dd.cat{
	margin: 0;
	padding: 0 1em 0.5em 0;
	border: 0;
	float:left;
}

#main-contents dl.news02 dd.cat ul{
	margin: 0 !important;
	padding: 0;
	/zoom : 1;
}

#main-contents dl.news02 dd.cat ul:after{ content : ''; display : block; clear : both; height:0; }

#main-contents dl.news02 dd.cat li{
	clear: none;
	overflow: hidden;
	float: left;
	height: 1.5em;
	margin-right: 0.5em;
	padding: 0.1em 0.3em 0;
	background: #333;
	color: #fff;
	font-size: 0.858em;
	text-align: center;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}


#main-contents dl.news dd.cat{ font-weight: bold; }
#main-contents dl.news dd.cat.color01{ background: #4784bf; }
#main-contents dl.news dd.cat.color02{ background: #dd6673; }
#main-contents dl.news dd.cat.color03{ background: #39a869; }
#main-contents dl.news dd.cat.color04{ background: #e8ac51; }
#main-contents dl.news dd.cat.color05{ background: #a55b9a; }
#main-contents dl.news dd.cat.color06{ background: #aac863; }


/*●定義タグ スタイル01*/
#main-contents dl.dl-style01{
	margin: 0 0 3.5em;
	padding: 0;
}

#main-contents dl.dl-style01 dt{
	float: left;
	width: 9em;
	margin: 0;
	padding: 0 0 0 1em;
}

#main-contents dl.dl-style01 dd{
	margin: 0 0 10px 0;
	padding: 0 1em 0.8em 10em;
	border-bottom: 1px dotted #414141;
}


/*●定義タグ スタイル02*/
#main-contents  dl.dl-style02{
	margin-bottom: 1.2em;
	padding: 0;
	border: 1px solid #777;
	border-top: 0;
	background-color: #ddd;
}

#main-contents dl.dl-style02 dt{
	margin: 0;
	padding: 0.5em;
	border-top: 1px solid #777;
	border-bottom: 1px solid #777;
	font-weight: bold;
}

#main-contents dl.dl-style02 dd{
	margin: 0;
	padding: 0.8em 1.0em;
	background-color: #fff;
}


/*●チェックリスト（リストタグ）*/
#main-contents ul.checklist{
	margin: 0 0 1.5em;
	padding: 1em;
	padding-bottom: 0;
	border: 1px solid #414141;
}

#main-contents ul.checklist li{
	margin-bottom: 1.5em;
	padding-top: 5px;
	padding-left: 24px;
	background: url(./images/icon/icon-check01-red.png) left top no-repeat;
	list-style-type: none;
}


/*●戻る＆進むリンク*/
.link-next,
.link-back,
.link-next02,
.link-back02{ clear: both; }

.link-next,
.link-next02{ text-align: right; }

.link-back,
.link-back02{ text-align: left; }

.link-next a{
	padding: 3px 0 3px 15px;
	background: url(./images/icon/icon-arrow_r.png) 0 5px no-repeat;
}
.link-back a{
	padding: 3px 0 3px 15px;
	background: url(./images/icon/icon-arrow_l.png) 0 5px no-repeat;
}

.link-next02 a{
	padding: 3px 0 3px 15px;
	background: url(./images/icon/icon-arrow_r-red.png) 0 5px no-repeat;
}
.link-back02 a{
	padding: 3px 0 3px 15px;
	background: url(./images/icon/icon-arrow_l-red.png) 0 5px no-repeat;
}


/*●段組み*/
.box-wrap .box-l{
	float: left;
	width: 48%;
	margin: 0 0 1.5em;
	border: 1px solid #aaa; /*boxの枠線の指示*/
}

.box-wrap .box-r{
	float: right;
	width: 48%;
	margin: 0 0 1.5em;
	border: 1px solid #aaa;
}

#main-contents .box-wrap .title{
	margin-bottom: 1.5em;
	background-color: #999; /*boxのタイトルの背景色*/
}

#main-contents .box-wrap .title p{
	margin: 0 10px;
	padding: 5px 0;
	color: #fff;
	font-weight: bold;
}


/*●ランキング（リストタグ）*/
#main-contents .box-wrap .ranking{
	margin: 0 0 15px;
}

#main-contents .ranking li{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #aaa; /*区切り線の指示*/
	background: none;
	list-style: none;
}

#main-contents .ranking li.end{
	padding-bottom: 0;
	border-bottom: none;
}

#main-contents .ranking p{ margin: 0 0 10px; }


/*●ページネーション スタイル01*/
#main-contents .cont-menu01{
	position: relative;
	overflow: hidden;
	width: 100%;
}

#main-contents .cont-menu01 ul{
	position: relative;
	left: 50%;
	float: left;
	margin-left: 10px;
}

#main-contents .cont-menu01 li{
	position: relative;
	left: -50%;
	float: left;
	margin-right: 10px;
	list-style: none;
}

#main-contents .cont-menu01 li:last-child{ margin-right: 0; }

#main-contents .cont-menu01 li.cur{
	padding: 3px 10px;
	border: 1px solid #ccc;
	background-color: #959595;
	color: #fff;
	font-weight: bold;
}

#main-contents .cont-menu01 li a{
	display: block;
	padding: 3px 10px;
	border: 1px solid #ccc;
}

#main-contents .cont-menu01 li a:link,
#main-contents .cont-menu01 li a:visited{ background-color: transparent; }

#main-contents .cont-menu01 li a:hover,
#main-contents .cont-menu01 li a:active{
	background-color: #959595;
	color: #fff;
}

#main-contents .text-field{ width: 90%; }


/*●ページネーション スタイル02*/
#main-contents .cont-menu02{
	position: relative;
	overflow: hidden;
	width: 100%;
}

#main-contents .cont-menu02 ul{
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 0;
}

#main-contents .cont-menu02 li{
	max-width: 50%;
	list-style: none;
}

* html #main-contents .cont-menu02 li{ white-space: nowrap; } /* IE6 */

#main-contents .cont-menu02 li.prev{ float: left; }

#main-contents .cont-menu02 li.next{ float: right; }

#main-contents .cont-menu02 li a{
	display: block;
	padding: 3px 10px;
	border: 1px solid #ccc;
}

#main-contents .cont-menu02 li a:link,
#main-contents .cont-menu02 li a:visited{ background-color: transparent; }

#main-contents .cont-menu02 li a:hover,
#main-contents .cont-menu02 li a:active{
	background-color: #959595;
	color: #fff;
}


/*●サイトマップ*/
#main-contents .sitemap li{ list-style: none; }

#main-contents .sitemap li a{
	display: block;
	padding: 3px 0 3px 20px;
	background: url(./images/icon/icon-arrow_r.png) 0 5px no-repeat;
}

#main-contents .sitemap ul{ margin-top: 1em; }

#main-contents .sitemap li li a{
	padding: 0 0 0 15px;
	border-left: none;
	background: url(./images/icon/icon-menu02.png) 0 6px no-repeat;
}



/*--------------------------------------------------------
サブコンテンツ / サイドバー
--------------------------------------------------------*/

#sub-contents,
#sidebar,
#sidebar-in,
#sub-contents-in{
	margin: 0;
	padding: 0;
}

* html #sub-contents,
* html #sidebar{ overflow: hidden; }

#sub-contents .sub-contents-btn,
#sidebar .sidebar-btn{ display: none; }

.sub-column{ font-size: 1.2em; }

.sub-column li{ list-style: none; }


/*●コンテンツ*/
.sub-column .contents{
	margin-bottom: 1.5em;
	padding: 0.5em;
}

.sub-column hr{ clear: both; }

.sub-column h3{
	padding: 0.7em;
	border: 1px solid #959595; /*サイドバー見出しの枠線*/
	border-top: 3px solid #414141; /*見出しの上部の太線*/
	color: #454545; /*見出し文字の色*/
	font-weight: bold;
}

.sub-column .contents h3{
	margin: -0.5em;
	margin-bottom: 0.8em;
}


/*●プロフィール*/
.sub-column .profile-img img{
	display: block;
	margin: auto;
	margin-bottom: 10px;
}

.sub-column .profile-txt p{ margin-bottom: 1em; }

.col1 .sub-column .profile-img,
.col2 #sub-contents .profile-img,
.col2r #sub-contents .profile-img{
	float: left;
	padding-right: 20px;
}


/*●テーブルタグ*/
.sub-column table caption{
	font-weight: bold;
	text-align: center;
}

.sub-column table{
	width: 90%;
	margin: auto;
	margin-bottom: 1.5em;
	padding: 0;
	border-top: 1px solid #959595;
	border-left: 1px solid #959595;
}

.sub-column table th,
.sub-column table td{
	padding: 0.5em 0.2em;
	border-right: 1px solid #959595;
	border-bottom: 1px solid #959595;
}

.sub-column table th{
	background: #f0f0f0;
	font-weight: bold;
	text-align: center;
}


/*●カレンダー*/
.sub-column table#wp-calendar tbody td{ text-align: center; }

.sub-column table#wp-calendar tfoot td{ border-right: none; }

.sub-column table#wp-calendar tfoot td#next{
	border-right: 1px solid #959595;
	text-align: right;
}

.sub-column table#wp-calendar tbody td a{ display: block; }


/*●検索ボックス*/
.sub-column dl.search-box{
	margin: 0 0 16px;
	width: 100%;
}

.sub-column dl.search-box dt{
	display: block;
	float: left;
	width: 63%;
	margin: 0;
	padding: 0;
	padding-right: 5px;
}

.sub-column dl.search-box dt input{
	width: 95%;
	height: 1.4em;
	padding: 2px;
	border: 1px solid #aaa;
	color: #aaa;
	line-height: 1.4em;
}

.sub-column dl.search-box dt input.onfocus{ color: #333; }

.sub-column dl.search-box dd{
	float: left;
	margin: 0;
	padding: 0;
}

.sub-column dl.search-box dd input{
	height: 2em;
	padding: 0.1em 1em;
	line-height: 1.4em;
}


/*●お問い合わせ*/
.sub-column .contact .icon-contact{
	float: left;
	padding: 0 10px 10px 0;
}

.sub-column .contact .text-contact{ overflow: hidden; }


/*●サイドメニュー*/
.sub-column .side-menu{ margin: 0; }

.sub-column .side-menu li{ list-style: none; }

.sub-column .side-menu li a{
	display: block;
	padding: 12px 10px 12px 20px;
	background: url(./images/icon/icon-arrow_r.png) 2px 15px no-repeat;
}

.sub-column .side-menu li a:active,
.sub-column .side-menu li a:hover{
	background-color: #fc6;
	color: #fff;
}

.sub-column .side-menu ul{
	padding: 0;
	margin: 0;
}

.sub-column .side-menu ul ul{ padding: 0; }

.sub-column .side-menu li li{
	width: 95%;
	margin-bottom: 0;
	padding-left: 5%;
	border: 0;
}

.sub-column .side-menu li li a:link,
.sub-column .side-menu li li a:visited{
	padding: 6px 10px 6px 15px;
	border-left: none;
	background: url(./images/icon/icon-menu02.png) 2px 12px no-repeat;
}

.sub-column .side-menu li li a:active,
.sub-column .side-menu li li a:hover{ background: url(./images/icon/icon-menu02.png) 2px 12px no-repeat #fc6; }


/*●ランキング*/
.ranking{
	margin: 0;
	padding: 5px 8px;
}

.ranking li{
	margin-bottom: 10px;
	padding: 0;
	border-bottom: 1px dotted #7070ba;
	background: none;
	font-weight: normal;
}

.ranking li p{ margin-bottom: 10px; }
.ranking li.end{ border-bottom: none; }

.ranking .no01 .item-name,
.ranking .no02 .item-name,
.ranking .no03 .item-name{
	color: #fe8528;
	font-size: 1.167em;
}

.ranking .no01 .item-name, .ranking .no02 .item-name,
.ranking .no03 .item-name, .ranking .no04 .item-name,
.ranking .no05 .item-name, .ranking .no06 .item-name,
.ranking .no07 .item-name, .ranking .no08 .item-name,
.ranking .no09 .item-name, .ranking .no10 .item-name{
	padding: 4px 0 4px 30px;
	font-weight: bold;
}

.no01 .item-name{ background: url(./images/icon/icon-rank01-01.png) left top no-repeat; }
.no02 .item-name{ background: url(./images/icon/icon-rank01-02.png) left top no-repeat; }
.no03 .item-name{ background: url(./images/icon/icon-rank01-03.png) left top no-repeat; }
.no04 .item-name{ background: url(./images/icon/icon-rank01-04.png) left top no-repeat; }
.no05 .item-name{ background: url(./images/icon/icon-rank01-05.png) left top no-repeat; }
.no06 .item-name{ background: url(./images/icon/icon-rank01-06.png) left top no-repeat; }
.no07 .item-name{ background: url(./images/icon/icon-rank01-07.png) left top no-repeat; }
.no08 .item-name{ background: url(./images/icon/icon-rank01-08.png) left top no-repeat; }
.no09 .item-name{ background: url(./images/icon/icon-rank01-09.png) left top no-repeat; }
.no10 .item-name{ background: url(./images/icon/icon-rank01-10.png) left top no-repeat; }

.ranking .no01 .item-name{ background: url(./images/icon/icon-rank01-01.png) left top no-repeat; }
.ranking .no02 .item-name{ background: url(./images/icon/icon-rank01-02.png) left top no-repeat; }
.ranking .no03 .item-name{ background: url(./images/icon/icon-rank01-03.png) left top no-repeat; }
.ranking .no04 .item-name{ background: url(./images/icon/icon-rank01-04.png) left top no-repeat; }
.ranking .no05 .item-name{ background: url(./images/icon/icon-rank01-05.png) left top no-repeat; }
.ranking .no06 .item-name{ background: url(./images/icon/icon-rank01-06.png) left top no-repeat; }
.ranking .no07 .item-name{ background: url(./images/icon/icon-rank01-07.png) left top no-repeat; }
.ranking .no08 .item-name{ background: url(./images/icon/icon-rank01-08.png) left top no-repeat; }
.ranking .no09 .item-name{ background: url(./images/icon/icon-rank01-09.png) left top no-repeat; }
.ranking .no10 .item-name{ background: url(./images/icon/icon-rank01-10.png) left top no-repeat; }

.ranking .item-img{ text-align: center; }


.col1 .ranking .item-img,
.col2 #sub-contents .ranking .item-img,
.col2r #sub-contents .ranking .item-img{
	float: left;
	padding-right: 20px;
}


/*●バナーエリア*/
.sub-column .banner{ margin-bottom: 10px; }

.sub-column .banner li{
	margin-bottom: 18px;
	list-style: none;
	text-align: center;
}

.col1 .sub-column .banner li,
.col2 #sub-contents .banner li,
.col2r #sub-contents .banner li{
	display: inline;
	margin-right: 8px;
}


/*--------------------------------------------------------
フッター
--------------------------------------------------------*/

#footer{
	clear: both;
	padding-top: 30px;
	padding-bottom: 10px;
	background:url(images/common/blue_white_bg.png); /*フッター全体の背景色を指定*/
	color: #fff;
}
#footer a{
	text-decoration:none;
}

#footer a:link,
#footer a:visited{ color: #fff; }
#footer a:hover,
#footer a:active{ color: #f60; }

#footer h3{
	margin-bottom: 1em;
	padding: 0.8em;
	background-color: #fff;
	color: #333;
	font-weight: bold;
}

#footer-in li{ list-style: none; }

#footer .area01{
	float: left;
	width: 35%;
	padding-bottom: 20px;
}

#footer .area02{
	float: right;
	width: 64%;
	padding-bottom: 20px;
}

/*●アクセス情報*/
#footer .access{ padding: 0 1em; }

#footer .access p{ margin:0 0 1em 1em; float:right; }

p.accessmap{
	padding: 0px 0 3px;
	padding-left: 25px;
	background: url(./images/icon/icon-arrow02.png) left center no-repeat;
}


/*●フッターメニュー*/
#footer .footer-menu{
	overflow: hidden;
	width: 100%;
	padding: 0;
}

#footer .footer-menu ul{
	float: left;
	width: 42%;
	margin-right: 5%;
	padding: 1%;
}

#footer .footer-menu ul ul{
	float: none;
	width: auto;
	margin-top: 1em;
	margin-right: 0;
}

.footer-menu li{
	margin-bottom: 5px;
	padding: 0px 0 3px;
}

.footer-menu li li{
	padding-left: 15px;
	padding-top: 0;
	background: url(./images/icon/icon-arrow03.png) left 5px no-repeat;
}


/*●フッターバナー*/
#footer-banner{
	clear: both;
	padding: 20px 0;
	border-top: 1px solid #ccc;
}

#footer-banner li{
	display: inline;
	list-style: none;
}


/*●コピーライト*/
.copyright{
	padding: 15px 0;
	background:url(images/common/blue_white_bg.png);
	text-align: center;
	color:#FFF;
}



/*--------------------------------------------------------
ページトップ
--------------------------------------------------------*/

.page-top{
	position: fixed;
	right: 0;
	bottom: 20px;
	z-index: 99;
	width: 182px;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
}

* html .page-top{ display: none; }

.page-top a{
	display: block;
	padding: 10px;
	padding-left: 42px;
	border: 1px solid #fff;
	border-right: 0;
	text-decoration: none;
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
	-webkit-border-top-left-radius: 8px;
	-webkit-border-bottom-left-radius: 8px;
	-moz-border-radius-topleft: 8px;
	-moz-border-radius-bottomleft: 8px;
}

.page-top a:link,
.page-top a:visited{
	background: url(./images/common/bg-pagetop.gif) 14px center no-repeat #999;
	color: #fff;
}

.page-top a:hover,
.page-top a:active{
	background: url(./images/common/bg-pagetop.gif) 14px center no-repeat #fc6;
	color: #f60;
}


/*------------------------------------------------------------
ソーシャルボタン
-------------------------------------------------------------*/

#main-contents .sb{
	width:100%;
	margin: 0;
	padding: 0;
}

#main-contents .sb li{
	display: inline-block;
	margin-right: 5px;
	vertical-align: top;
	list-style: none;
}

* html #main-contents .sb li{
	float: left;
	width: 130px;
	list-style: none;
} /* IE6 */

*+html #main-contents .sb li{
	display: inline;
	list-style: none;
} /* IE7 */

#main iframe.twitter-share-button{ width: 100px!important; }


/*------------------------------------------------------------
WordPress用
-------------------------------------------------------------*/
.archive #main-contents p.archive-title{
	font-weight:bold;
	margin-left:0;
	font-size:250%;
	padding:0;
	line-height:1.2;
	margin-bottom:20px;
}

.archive .article{
	border:none;
	background:none;
	padding:0;
	margin:0;
}
.archive .post{
	border-bottom: #CCC 1px dotted;
	margin-bottom:10px;

	
}
.archive #main-contents .post h2.post-title{
	padding:15px;
	font-size:140%;
	margin:0 !important;
}
.archive .post .contents{
	margin-bottom:0;
}
#main-contents .post p.post-meta{
	margin-bottom:5px;
}
/*●ウィジェットメニュー*/
.sub-column .widget-conts ul{ margin: 0; }

.sub-column .widget-conts ul li{
	padding: 3px 10px 3px 20px;
	background: url(./images/icon/icon-arrow_r.png) 2px 6px no-repeat;
}

.sub-column .widget-conts ul li li{
	padding: 6px 10px 6px 15px;
	background: url(./images/icon/icon-menu02.png) 2px 12px no-repeat;
}

.sub-column .widget_recent_entries ul li,
.sub-column .widget_recent_entries ul li li,
.sub-column .widget_pages ul li,
.sub-column .widget_pages ul li li,
.sub-column .widget_nav_menu ul li,
.sub-column .widget_nav_menu ul li li,
.sub-column .widget-conts .ranking li,
.sub-column .widget-conts .ranking li li,
.sub-column .widget-conts .banner li,
.sub-column .widget-conts .banner li li{
	padding: 0;
	background: none;
	list-style: none;
}

.sub-column .widget_recent_entries ul li a,
.sub-column .widget_pages ul li a,
.sub-column .widget_nav_menu ul li a{
	display: block;
	padding: 12px 10px 12px 20px;
	background: url(./images/icon/icon-arrow_r.png) 2px 15px no-repeat;
}

.sub-column .widget_recent_entries ul li a:active,
.sub-column .widget_recent_entries ul li a:hover,
.sub-column .widget_pages ul li a:active,
.sub-column .widget_pages ul li a:hover,
.sub-column .widget_nav_menu ul li a:active,
.sub-column .widget_nav_menu ul li a:hover{
	background-color: #fc6;
	color: #fff;
}

.sub-column .widget_recent_entries ul ul,
.sub-column .widget_pages ul ul,
.sub-column .widget_nav_menu ul ul{
	padding: 0;
	margin: 0;
}

.sub-column .widget_recent_entries ul ul ul,
.sub-column .widget_pages ul ul ul,
.sub-column .widget_nav_menu ul ul ul{ padding: 0; }

.sub-column .widget_recent_entries ul li li,
.sub-column .widget_pages ul li li,
.sub-column .widget_nav_menu ul li li{
	width: 95%;
	margin-bottom: 0;
	padding-left: 5%;
	border: 0;
}

.sub-column .widget_recent_entries ul li li a:link,
.sub-column .widget_recent_entries ul li li a:visited,
.sub-column .widget_pages ul li li a:link,
.sub-column .widget_pages ul li li a:visited,
.sub-column .widget_nav_menu ul li li a:link,
.sub-column .widget_nav_menu ul li li a:visited{
	padding: 6px 10px 6px 15px;
	border-left: none;
	background: url(./images/icon/icon-menu02.png) 2px 12px no-repeat;
}

.sub-column .widget_recent_entries ul li li a:active,
.sub-column .widget_recent_entries ul li li a:hover,
.sub-column .widget_pages ul li li a:active,
.sub-column .widget_pages ul li li a:hover,
.sub-column .widget_nav_menu ul li li a:active,
.sub-column .widget_nav_menu ul li li a:hover{ background: url(./images/icon/icon-menu02.png) 2px 12px no-repeat #fc6; }

.sub-column .rss-date,
.sub-column cite{
	display: block;
	margin: 0.5em 0;
}

.sub-column .widget_links li{ overflow: hidden; }

.sub-column .widget_links li img{
	display: block;
}

.sub-column .banner{ margin-bottom: 10px; }

.sub-column .banner li{
	margin-bottom: 18px;
	list-style: none;
	text-align: center;
}

.col1 .sub-column .banner li,
.col2 #sub-contents .banner li,
.col2r #sub-contents .banner li{
	display: inline;
	margin-right: 8px;
}

#main .sub-column ul.banner li a{
	display: inline;
	padding-left: 0;
	background: none;
}

#main .sub-column ul.banner li a:link,
#main .sub-column ul.banner li a:visited{ color: #39f; }
#main .sub-column ul.banner li a:hover,
#main .sub-column ul.banner li a:active{ color: #f60; }


/*●メインコンテンツ内での検索*/
#main-contents dl.search-box{
	margin: 0 0 16px;
	width: 100%;
}

#main-contents dl.search-box dt{
	display: block;
	float: left;
	width: 63%;
	margin: 0;
	padding: 0;
	padding-right: 5px;
}

#main-contents dl.search-box dt input{
	width: 95%;
	height: 1.4em;
	padding: 2px;
	border: 1px solid #aaa;
	color: #aaa;
	line-height: 1.4em;
}

#main-contents dl.search-box dt input.onfocus{ color: #333; }

#main-contents dl.search-box dd{
	float: left;
	margin: 0;
	padding: 0;
}

#main-contents dl.search-box dd input{
	height: 2em;
	padding: 0.1em 1em;
	line-height: 1.4em;
}

#main-contents .post-tag{
	padding: 1em;
	background-color: #f3f3f3;
}

#main-contents .post-tag p{
	margin-bottom: 0;
}

#main-contents .sb{
	text-align: right;
}


/*コメントフォーム*/
#main-contents .trackback-url{ width: 70%; }

#main-contents p textarea{ width: 70%; }

#main-contents #submit{ padding: 0.3em 1em; }

#main-contents #author,
#main-contents #email,
#main-contents #url{
	width: 50%;
	padding: 0.3em;
}

#main-contents .comment-body em{
	font-weight: bold;
}

#main-contents .commentlist,
#main-contents .commentlist ul{
	margin-right: 0!important;
	margin-left: 0!important;
	padding: 0;
}

#main-contents .commentlist{ padding: 10px; }

#main-contents .commentlist li{
	margin-bottom: 2.5em;
	padding-bottom: 1em;
	border-bottom: 1px solid #ccc;
	list-style: none;
}

#main-contents .commentlist li li{
	margin-top: 10px;
	margin-bottom: 0;
	padding-top: 10px;
	padding-bottom: 0;
	border-top: 1px solid #ccc;
	border-bottom: none;
}

#main-contents .comment-author,
#main-contents .comment-meta{ margin-bottom: 1em; }

#main-contents .reply{ clear: both; }

#main-contents .reply a{
	padding-left: 17px;
	background: url(./images/icon/icon-arrow_r.png) 0 4px no-repeat;
}


/*画像の回り込み*/
img.alignleft{
	float: left;
	padding:0 30px 10px 0px;
}

img.alignright{
	float: right;
	padding: 0 0 10px 30px;
}

img.aligncenter{
	display: block;
	margin: auto;
}


/*PS Auto Sitemap基本デザイン*/
ul#sitemap_list,
ul#sitemap_list ul{ margin: 0; }

#sitemap_list li{
	list-style: none;
	padding: 3px 10px 3px 20px;
	background: url(./images/icon/icon-arrow_r.png) 2px 8px no-repeat;
}

#sitemap_list li ul{
	margin-top: 0.5em;
	margin-bottom: 0;
}

#sitemap_list li li{
	padding: 6px 10px 6px 15px;
	border-left: none;
	background: url(./images/icon/icon-menu02.png) 2px 12px no-repeat;
}



/*●ページネーション WP用*/
#main-contents .cont-menu-wp{
	position: relative;
	overflow: hidden;
	width: 100%;
	/zoom : 1;
}

#main-contents .cont-menu-wp:after{ content : ''; display : block; clear : both; height:0; }

#main-contents .cont-menu-wp ul{
	overflow: hidden;
	width: 100%;
	margin: 0;
	margin-bottom: 1.5em;
	padding: 0;
}

#main-contents .cont-menu-wp li{
	max-width: 50%;
	list-style: none;
}

* html #main-contents .cont-menu-wp li{ white-space: nowrap; } /* IE6 */

#main-contents .cont-menu-wp li.nav-prev{ float: right; }

#main-contents .cont-menu-wp li.nav-next{ float: left; }

#main-contents .cont-menu-wp li.nav-next a{
	padding: 3px 0 3px 15px;
	background: url(./images/icon/icon-arrow_l.png) left 7px no-repeat;
}

#main-contents .cont-menu-wp li.nav-prev a{
	padding: 3px 15px 3px 0;
	background: url(./images/icon/icon-arrow_r.png) right 7px no-repeat;
}


/*コメントナビ*/
.navigation .alignright{
	float: right;
}
.navigation .alignleft{
	float: left;
}

.navigation:after{ content : ''; display : block; clear : both; height:0; }
.navigation{
	margin-bottom: 30px;
	/zoom : 1;
}


/*------------------------------------------------------------
floatの回り込みを解除
-------------------------------------------------------------*/

#top-in:after,
#header-in:after,
#global-nav-in #menu:after,
#main-in:after,
#main-and-sub:after,
.contents:after,
#main-contents dl.dl-style01:after,
.box-wrap:after,
dl.search-box:after,
#footer-in:after,
#main-contents .sb:after,
.contact:after,
#main-contents .cont-menu01:after,
#main-contents .cont-menu02:after,
.clearfix:after{ content : ''; display : block; clear : both; height:0; }

#top-in,
#header-in,
#global-nav-in #menu,
#main-in,
#main-and-sub,
.contents,
#main-contents dl.dl-style01,
.box-wrap,
dl.search-box,
#footer-in,
#main-contents .sb,
.contact,
#main-contents .cont-menu01,
#main-contents .cont-menu02,
.clearfix{ /zoom : 1; }


/*------------------------------------------------------------
　template created by web-rider
-------------------------------------------------------------*/

/*------------------------------------------------------------
　下記はコンタクトフォーム送信ボタンの装飾
-------------------------------------------------------------*/

/*------------------------------------------------------------
コンタクトフォーム７　送信ボタン　デザイン
-------------------------------------------------------------*/
.wpcf7-form input[type=submit]{
width:100px;
height:30px;
}


/* ============================================
   n8n自動生成記事用CSS
   ============================================ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   1. 専門家相談ボックス
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.expert-consultation {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  margin: 30px 0;
  background: linear-gradient(135deg, #fff8e1 0%, #fff3cd 100%);
  border: 2px solid #ff9800;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(255, 152, 0, 0.15);
}

.expert-icon {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid #ff9800;
  object-fit: cover;
  background: white;
}

.expert-consultation p {
  margin: 0;
  line-height: 1.8;
  font-size: 15px;
  color: #333;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .expert-consultation {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }
  
  .expert-icon {
    width: 40px;
    height: 40px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   2. BOX要素（ポイント・注意・メモ）
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.box-point,
.box-caution,
.box-memo {
  padding: 20px;
  margin: 25px 0;
  border-radius: 8px;
  position: relative;
}

.box-point::before,
.box-caution::before,
.box-memo::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  border-radius: 8px 0 0 8px;
}

/* ポイント・要点 */
.box-point {
  background: #e3f2fd;
  border: 2px solid #2196f3;
}

.box-point::before {
  background: #2196f3;
}

/* 注意・デメリット */
.box-caution {
  background: #fff3e0;
  border: 2px solid #ff9800;
}

.box-caution::before {
  background: #ff9800;
}

/* 補足・豆知識 */
.box-memo {
  background: #f1f8e9;
  border: 2px solid #8bc34a;
}

.box-memo::before {
  background: #8bc34a;
}

/* 横スクロール対応 */
.scroll-box {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 25px 0;
}

.scroll-box::-webkit-scrollbar {
  height: 8px;
}

.scroll-box::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.scroll-box::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* BOX内のテーブル */
.box-point table,
.box-caution table,
.box-memo table {
  width: 100%;
  min-width: 500px;
  border-collapse: collapse;
  margin: 10px 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   3. 会話風吹き出し
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.conversation-box {
  padding: 20px;
  margin: 25px 0;
  background: #f5f5f5;
  border-left: 5px solid #2196f3;
  border-radius: 0 8px 8px 0;
  font-style: italic;
  position: relative;
}

.conversation-box::before {
  content: '💬';
  position: absolute;
  left: -25px;
  top: 15px;
  font-size: 24px;
}

.conversation-box p {
  margin: 0;
  line-height: 1.8;
  color: #333;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   4. STEPブロック（手順ガイド）
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.swell-block-step {
  margin: 30px 0;
  padding: 0;
}

.step-item {
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  margin-bottom: 20px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.step-item:hover {
  border-color: #2196f3;
  box-shadow: 0 4px 12px rgba(33, 150, 243, 0.15);
}

.step-item-title {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: linear-gradient(135deg, #2196f3 0%, #1976d2 100%);
  color: white;
}

.step-item-number {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 20px;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.5px;
}

.step-item-ttl {
  font-weight: bold;
  font-size: 16px;
  flex: 1;
}

.step-item-content {
  padding: 20px;
  line-height: 1.8;
}

.step-item-content p {
  margin: 0 0 10px 0;
  color: #333;
}

.step-item-content p:last-child {
  margin-bottom: 0;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .step-item-title {
    padding: 14px 16px;
  }
  
  .step-item-ttl {
    font-size: 15px;
  }
  
  .step-item-content {
    padding: 16px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   5. 著者プロフィール
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.author-profile {
  border-radius: 12px;
  padding: 24px;
  margin: 40px 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* 執筆者 */
.author-profile.writer {
  background: linear-gradient(135deg, #f9f9f9 0%, #ffffff 100%);
  border: 2px solid #4caf50;
}

/* 監修者 */
.author-profile.supervisor {
  background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
  border: 2px solid #ff9800;
}

.author-profile > div {
  display: flex;
  align-items: center;
  gap: 24px;
}

.author-avatar {
  flex-shrink: 0;
}

.author-avatar img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid;
}

.author-profile.writer .author-avatar img {
  border-color: #4caf50;
}

.author-profile.supervisor .author-avatar img {
  border-color: #ff9800;
}

.author-info {
  flex: 1;
}

.author-info > div:first-child {
  margin-bottom: 10px;
}

.author-info span[style*="background"] {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.5px;
}

.author-info h4 {
  margin: 0 0 12px 0;
  font-size: 20px;
  color: #333;
  font-weight: bold;
}

.author-info h4 a {
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
}

.author-info h4 a:hover {
  color: #2196f3;
}

.author-info p {
  margin: 0;
  color: #666;
  font-size: 15px;
  line-height: 1.8;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .author-profile {
    padding: 20px;
  }
  
  .author-profile > div {
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }
  
  .author-avatar img {
    width: 100px;
    height: 100px;
  }
  
  .author-info h4 {
    font-size: 18px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   6. 参考文献リスト
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.references-list {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.references-list li {
  padding: 12px 16px;
  margin-bottom: 10px;
  background: #f9f9f9;
  border-left: 4px solid #2196f3;
  border-radius: 0 4px 4px 0;
  transition: all 0.3s ease;
}

.references-list li:hover {
  background: #e3f2fd;
  transform: translateX(4px);
}

.references-list li a {
  color: #2196f3;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.references-list li a:hover {
  color: #1976d2;
  text-decoration: underline;
}

/* 外部リンクアイコン */
.references-list li a::after {
  content: ' ↗';
  font-size: 12px;
  opacity: 0.7;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   7. 画像ブロック
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.wp-block-image {
  margin: 30px 0;
  text-align: center;
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.wp-block-image.size-large img {
  width: 100%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   8. マーカー線（蛍光ペン風）
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.marker-yellow {
  background: linear-gradient(transparent 60%, #fff59d 60%);
  font-weight: 500;
  padding: 0 2px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   9. テーブルスタイル（BOX内含む）
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 15px;
}

table th {
  background: #2196f3;
  color: white;
  padding: 12px;
  text-align: left;
  font-weight: bold;
}

table td {
  padding: 12px;
  border-bottom: 1px solid #e0e0e0;
}

table tr:hover {
  background: #f5f5f5;
}

table tr:last-child td {
  border-bottom: none;
}

/* スマホでテーブルをスクロール可能に */
@media (max-width: 768px) {
  table {
    font-size: 14px;
  }
  
  table th,
  table td {
    padding: 10px 8px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   10. 共通スタイル
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* 段落の基本スタイル */
p {
  line-height: 1.8;
  margin: 0 0 1em 0;
}

/* 見出しの基本スタイル */
h2 {
  font-size: 24px;
  font-weight: bold;
  margin: 40px 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 3px solid #2196f3;
}

h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 30px 0 15px 0;
  padding-left: 12px;
  border-left: 4px solid #2196f3;
}

h4 {
  font-size: 18px;
  font-weight: bold;
  margin: 25px 0 12px 0;
  color: #333;
}

/* リストの基本スタイル */
ul, ol {
  margin: 15px 0;
  padding-left: 25px;
}

li {
  margin-bottom: 8px;
  line-height: 1.8;
}

/* スマホ対応（共通） */
@media (max-width: 768px) {
  h2 {
    font-size: 20px;
    margin: 30px 0 15px 0;
  }
  
  h3 {
    font-size: 18px;
    margin: 25px 0 12px 0;
  }
  
  h4 {
    font-size: 16px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   11. 印刷用スタイル
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media print {
  .expert-consultation,
  .box-point,
  .box-caution,
  .box-memo,
  .author-profile {
    border: 1px solid #ccc !important;
    box-shadow: none !important;
  }
  
  .step-item {
    page-break-inside: avoid;
  }
}
```

## 専門家アイコン画像の準備方法

### 1. **アイコン画像のアップロード**

WordPress管理画面から以下の画像をアップロードしてください：

- **医師アイコン**: `expert-icon-doctor.png` (50px × 50px)
- **弁護士アイコン**: `expert-icon-lawyer.png` (50px × 50px)
- **FPアイコン**: `expert-icon-financial.png` (50px × 50px)
- **汎用アイコン**: `expert-icon-general.png` (50px × 50px)

### 2. **アップロード先**
```
/wp-content/uploads/icon/