/*
Theme Name: Responsive Test
Theme URI: http://www.web-s.biz/
Author: WEB-S
Author URI: http://www.web-s.biz/
Description: レスポンシブwebデザイン
Version: 0.1
*/

/* リセットここから*/
*{ margin: 0;padding: 0;}

a:link { color:#1840CC;}
a:visited { color:#01307E;}
a:hover { color:#FF7F00;}

ul { list-style : none;}
img { vertical-align : middle;}

.imgL { float:left; margin:0; padding:0 15px 10px 0;}
.imgR { float:right; margin:0; padding:0 0 10px 15px;}

/* リセットここまで */

/* フルードイメージ */
img{ max-width : 100%; border:0px;}

/* タイポグラフィ */
html {
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-size:62.5%;/* 10pxベース */ line-height:1.5;}

/* 見出し */
h1,h2,h3,h4,h5,h6 { margin-bottom : 24px}
h1 { font-size:2.4rem; line-height:1} /* 48px */
h2 { font-size:1.8rem; line-height:1.3333} /* 48px */
h3{ font-size:1.6rem; line-height : 1} /* 24px */
hgroup h2,h4,h5,h6 { font-size:1.6rem; line-height:1.5} /* 24px */

.clear { clear:both;}
/* 調整ここから */



/* body 
========================================================================================================= */

body { width:100%; color:#111; font-size:1.4rem; line-height:1.4rem; background:#FFF;}

/* スマホの場合、mainのみ左右にマージン */
#main { margin-left:12px; margin-right:12px; margin-top:70px;}

/*タブレットの場合、mainのみ左にマージン*/
@media screen and (min-width : 641px) {
#main { margin-left:12px; margin-right:0px; margin-top:70px;}
}

@media screen and (min-width : 801px) {
body { background:#FFF url("../parts/bg_side.gif") repeat-y 0 0;}
#main { margin-top:0px;}
}



/* ヘッダ 
========================================================================================================= */
.site-header { display:none;}
.site-header p { display:none;}
.tel { display:none;}
.telSp { display:none;}

@media screen and (max-width : 800px) {
.telSp { display:block;}
.telSp img { width:30px; float:right; margin-right:70px; padding:10px;}
}

@media screen and (min-width : 801px) {
.site-header { width:100%; padding:12px 0; text-align:left; display:block; color:#FFF; background:#02407E; overflow:hidden;}
.site-header p { display:block; float:left; width:55%; margin:0; padding:4px 0 0 20px; font-size:1.2rem; line-height:110%;}

.site-header .tel { display:block; float:right; padding-right:15px; font-size:1.3rem;}
.site-header .tel img { float:left; height:20px; padding-right:7px;}
.site-header span.call { padding-right:7px; line-height:120%; font-size:1.8rem; font-weight:bold;}
}


/* サイドバー 
========================================================================================================= */
.widget-area { text-align: center;}
#sideBn ul { display: none;}

/* ロゴ表示（ベース指定） */
h1.site-title { text-align: left;}
h1.site-title img { width: 180px; padding: 30px 10px 0;}
h1.site-title .sp-only { display: none;}

/* メニュー全体・共通制御 */
#sideMenu { width: 100%;}
#sideMenu .menu-header { display: none;}
.pc-only { display: block;}

/* スマホ・タブレット縦（折りたたみメニュー） */
@media screen and (max-width: 800px) {
  .site-header { display: block; position: absolute; top: 80px; left: 0; width: 100%; background: #02407E; overflow: hidden;}
  .site-header p { display: none;}

  h1.site-title { width: 240px; margin: 15px auto 0; text-align: center;}
  h1.site-title img { width: 100%; padding: 0;}
  h1.site-title .pc-only { display: none;}
  h1.site-title .sp-only { display: block; width: 100%; height: auto;}

  #main { margin-top: 80px;}
  .pc-only { display: none;}

  /* ハンバーガーアイコン基本構造 */
  #sideMenu { position: absolute; top: 78px; right: 12px; z-index: 100; width: auto; margin: 0 0 12px 12px;}
  #sideMenu .menu-header { display: block; position: relative; width: 50px; height: 50px; cursor: pointer;}
  #sideMenu .menu-icon { display: block; position: absolute; top: 50%; left: 50%; width: 28px; height: 3px; background: #FFF; transform: translate(-50%, -50%); transition: background 0.3s;}
  #sideMenu .menu-icon::before,
  #sideMenu .menu-icon::after { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: #FFF; content: ""; transition: transform 0.3s;}
  #sideMenu .menu-icon::before { transform: translateY(-10px);}
  #sideMenu .menu-icon::after { transform: translateY(10px);}

  /* メニュー開く時（.is-active 付与時）の × 変形 */
  #sideMenu .menu-header.is-active .menu-icon { background: transparent;}
  #sideMenu .menu-header.is-active .menu-icon::before { transform: translateX(4px) translateY(0) rotate(45deg);}
  #sideMenu .menu-header.is-active .menu-icon::after { transform: translateX(4px) translateY(0) rotate(-45deg);}

/* メニュー展開領域（ヘッダー直下・全幅ゆったり展開） */
  #sideMenu .menu-body { display: none; position: absolute; top: 47px; right: -12px; z-index: 99; width: 100vw; background: #02407E;}
  #sideMenu .menu-body ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, 0.15);}
  #sideMenu .menu-body li { line-height: 1.35em; border-bottom: 1px solid rgba(255, 255, 255, 0.15);}
  #sideMenu .menu-body li a { display: block; padding: 16px 20px; font-size: 1.5rem; font-weight: bold; color: #FFF; text-decoration: none;}
  #sideMenu .menu-body li a:hover { background: #003366;}

  .banner { display: none;}
}

/* タブレット横以上（サイドメニュー固定） */
@media screen and (min-width: 801px) {
  .widget-area { clear: both; float: left; width: 200px; height: 100%; border-right: 1px solid #01307E; text-align: left; overflow: hidden;}

  #sideMenu .menu-body { display: block !important;}
  #sideMenu .widget-title { margin: 0; padding: 0;}
  #sideMenu .menu-body ul { margin: 0; padding: 0; font-size: 1.4rem; list-style: none;}
  #sideMenu .menu-body li a { display: block; padding: 12px 15px 10px 22px; color: #111; font-size: 1.4rem; text-decoration: none; background: url("../parts/ico_side.png") no-repeat 7px center; border-bottom: 1px solid #DDD;}
  #sideMenu .menu-body li a:hover { color: #1841CD; background-color: #9CF;}
  #sideMenu .menu-body li.current_page_item a,
  #sideMenu .menu-body li.current_page_parent a { color: #FFF; background: #2A62B8 url("../parts/ico_side_act.png") no-repeat 7px 12px; border-bottom: none;}

  #sideBn ul { display: block; margin: 15px 0 20px 20px; padding: 0; background-color: #FFF; overflow: hidden;}
  #sideBn ul li { float: left; margin: 0; padding: 0;}

  .banner { margin: 25px auto; text-align: center;}
  .banner img { margin-bottom: 5px; border: 1px solid #CCC;}
  .banner a { font-size: 85%;}
}

/* 印刷
========================================================================================================= */
@media print {
.site-header { width:100%; padding:12px 0; text-align:left; display:block; color:#FFF; background:#02407E; overflow:hidden;}
.site-header p { display:block; float:left; width:55%; margin:0; padding:4px 0 0 20px; font-size:1.2rem; line-height:110%;}

.site-header .tel { display:block; float:right; padding-right:15px; font-size:1.3rem;}
.site-header .tel img { float:left; height:20px; padding-right:7px;}
.site-header span.call { padding-right:7px; line-height:120%; font-size:1.8rem; font-weight:bold;}

.logo,
#pcMenu,
#mobileMenu ul,
#mobileMenu img,
#footMenu,
.subpages ul,
.subpages .subp-title,
.tsd { display:none;}
#mobileMenu { border-bottom:1px solid #02407E;}
}



/* トップページ 
========================================================================================================= */
.topctbox { margin-top:12px;}
.topctmain { margin-bottom:12px;}
.topctwrap { margin-bottom:12px; overflow:hidden;}

.slider img {width: 100%; display: block;}


/* facebook */
div.fb-like-box,
div.fb-like-box iframe[style],
div.fb-like-box span {
    width: 100% !important;
}
div.fb-like .gourpBox { border:1px solid #CCC; border-right:1px solid #333; border-bottom:1px solid #333;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	height:100%;
}

@media screen and (min-width : 641px) {
div.fb-like-box,
div.fb-like-box iframe[style],
div.fb-like-box span {
	height: 99% !important;
}
}

@media screen and (max-width : 640px) {
div.fb-like .gourpBox { height:auto; padding-bottom:20px; border:none;}
}

/* スマホ */
@media screen and (max-width : 640px) {
.gourpBox { clear:both; margin-bottom:12px; overflow:hidden;}
.gourpBox dl { margin-top:10px;}
.gourpBox dt { padding-bottom:5px; font-size:1.4rem; line-height:110%;}
.gourpBox dd { padding-bottom:15px; font-size:1.5rem; line-height:110%;}
.gourpBox dd a { text-decoration:underline;}
.gourpBox .column dt { padding:5px 0 10px 0;}
.gourpBox .column dd { line-height:150%;}
.gourpBox img { float:left; margin-right:12px;}
.gourpBox h2 { margin:7px auto 0 auto; padding:0 0 0.5em 0; font-size:1.5rem; font-weight:bold;}
.gourpBox h2 a { color:#333;}
.gourpBox h2.topm01 { margin-top:35px;}
.gourpBox p { font-size:1.2rem; line-height:135%;}
.gourpBox p a { color:#333;}

.news { margin:10px auto;}
.column { margin:0 auto 10px auto;}
.news h2 a,
.column h2 a { padding:0 0 5px 0; display:block;}
.news img.timg { display:none;}
.column img.timg { display:none;}
.news h2 { font-size:1.6rem; padding-bottom:0; border-bottom:1px dotted #999; overflow:hidden;}
.column h2 { font-size:1.6rem; padding-bottom:0; border-bottom:1px dotted #999; background:url("../parts/ico_column.png") no-repeat right center; overflow:hidden;}
.news h2 span.rssBt { float:right;}

.gtext { margin-left:112px;}/* アイコン画像の右テキスト回り込み対策 */
}

/* タブレット・PC */
@media screen and (max-width: 800px) { ... } /* 既存省略 */

@media screen and (min-width : 641px) {
  /* 親ボックスをコンテナ計測の基準に指定 */
  .topctbox { display: block; float: left; margin-right: 12px; container-type: inline-size;}
  .topctmain { margin-bottom: 0;}

  .gourpBox { position: relative;}
  /* dlを見出し下の可変領域で縦位置中央に配置 */
  .gourpBox dl { display: flex; position: absolute; top: 25px; bottom: 0; left: 10px; right: 10px; flex-direction: column; justify-content: center; margin: 0; padding: 0;}
  .gourpBox dt { padding-bottom: 3px; font-size: clamp(11px, 4.5cqw, 16px); line-height: 110%;}
  .gourpBox dd { padding-bottom: 4%; font-size: clamp(11px, 5.2cqw, 18px); line-height: 120%;}
  .gourpBox dd a { text-decoration: none;}
  .gourpBox dd a:hover { text-decoration: underline;}
  .gourpBox .column dt { padding: 5px 0 10px 0;}
  .gourpBox .column dd { line-height: 150%;}
  .gourpBox img { float: none; margin: auto;}

  .gourpBox h2 { float: left; width: 223px; height: 25px; text-indent: -9999px;}
  .gourpBox h2 a { color: #FFF !important;}
  .gourpBox h2.findB a { color: #444 !important; font-weight: bold; text-shadow: 1px 1px 3px #FFF;}
  .gourpBox p { position: absolute; bottom: 5%; left: 10px; padding-right: 5%; color: #FFF; line-height: 1.5rem; font-size: clamp(10px, 4cqw, 15px);}
  .gourpBox p a { color: #FFF;}
  .gourpBox p a:hover { text-decoration: underline;}
  .gourpBox p.about { color: #000;}

  .groupBox a:hover { cursor: pointer; opacity: 0.8;}
  .groupBox a:hover img { opacity: 0.8;}

  .news { padding: 0; border: none; background: none;}
  .news img.timg { display: block;}

}

.topctnews { overflow:hidden; background-color:lightgreen;}

.topimage img { max-width:40%;}
.topcontents .topimage img { max-width:100%;}

@media screen and (min-width: 400px){
.topimage img { max-width:100%;}
}

@media screen and (min-width : 801px) {
#topct { margin-left:211px;}
}


/* フッタ 
========================================================================================================= */

footer { clear:both; overflow:hidden; background:#FFF; border-top:1px solid #01307E;}
.site-info { overflow:hidden; background:#FFF; margin-left:200px; padding-left:20px; border-left:1px solid #01307E;}
#footBt { margin-top:12px;}
#footBt img.footLogo { float:left; padding-right:15px;}
address { margin-left:15px; font-style:normal;}
address h3 { margin:15px auto 10px auto; color:#111; text-shadow:0 #FFF;}
address p { font-size:1.3rem; line-height:120%;}
.bannerFoot { margin:15px auto 0 10px;}
.bannerFoot img { margin-bottom:5px; border:1px solid #CCC;}
.bannerFoot a { font-size:85%;}
#copy { padding:20px 70px 10px 15px; font-size:1rem;}

@media screen and (max-width : 640px) {
#footBt img.footLogo { float:none;}
#footBt img.inquiry { margin:10px 0 0 10px;}
}
@media screen and (max-width : 800px) {
address h3 { clear:both; padding-top:10px;}
#footMenu ul { margin-top:15px; border-top:1px solid #CECECE;}
#footMenu ul li a {	display:block; padding:12px 0 10px 20px; font-size:1.2rem; color:#4d4d4d; text-decoration:none;
 border-bottom:1px solid #CECECE; background:url("../parts/ico_side.png") no-repeat 4px 14px;}
#footMenu ul a:after { background-color:#e5e5e5;}
.site-info { overflow:hidden; background:#FFF; margin-left:0; padding-left:0; border-left:none;}
}

@media screen and (min-width : 801px) {
#footBt { float:left;}
#footBt img.footLogo { padding:0 2px 3px 2px;}
address { float:left; width:275px; padding-top:25px; font-style:normal;}
address h3 { padding-bottom:5px; color:#111;}
#footMenu { float:left; overflow:hidden;}
#footMenu ul { width:420px; padding:30px 50px 0 30px;}
#footMenu ul li { float:left; margin:10px 30px 0 0; font-size:1.3rem;}
.bannerFoot { display:none;}
#copy { clear:both; padding:20px 50px 10px 0;}
}
@media screen and (min-width : 1401px) {
#footMenu ul { width:650px; padding:30px 50px 0 0;}
#footMenu ul li a {	padding:12px 0 8px 20px;}
}
@media screen and (min-width : 1601px) {
#footMenu ul { width:850px; padding:30px 50px 0 0;}
}

/* ページ先頭へ */
#pagetop { position:fixed; bottom:20px; right:15px;}
#pagetop a { width:40px; height:40px;}
#pagetop a img{ opacity:0.3; filter: alpha(opacity=30);}
#pagetop a:hover img{ opacity:0.5; filter: alpha(opacity=50);}


@media screen and (min-width : 801px) {
#pagetop { position:fixed; bottom:34px; right: 30px;}
#pagetop a { width:46px; height:46px;}
#pagetop a img{ opacity:0.3; filter: alpha(opacity=30);}
#pagetop a:hover img{ opacity:0.5; filter: alpha(opacity=50);}
}


/* 内部ページ 
========================================================================================================= */
.pankuzu { display:none;}

#naibu h1 { clear:both; margin:10px auto 10px auto;padding:2px 0 0 10px; font-size:2.4rem; line-height:100%; color:#333; border-left:10px solid #1841CD;
text-shadow: 2px 2px 1px #FFF;/* 横方向 縦方向 ぼかし 影の色 */
}
#naibu h2 { margin:5px auto 15px auto!important; font-size:2rem; color:#00307E;}
#naibu h3 { margin:1em auto; padding:3px 0 5px 8px; font-size:1.8rem; border-left:7px solid #1E56EC; border-bottom:1px solid #CCC;}
#naibu h3.intro { padding:3px 0 0 0; border:none;}
#naibu h4 { margin:1em auto; padding:2px 0 1px 0; color:#00307E; line-height:110%;}
#naibu h5 { color:#006EE3; font-weight:bold; margin:10px 0 5px 0; }
#naibu p { padding-bottom:1em; font-size:1.5rem; line-height:165%;}
#naibu a { color:#000000;}
#naibu a:hover { text-decoration:underline;}
#naibu .clear { clear:both;}
#naibu .topspace30 { margin-top:30px;}
#naibu .center { text-align:center; margin-left:auto; margin-right:auto; padding-right:30px;}
#naibu img { margin-bottom:1em;}
#naibu img.mainimage { float:none; width:100%; padding:0 0 20px 0;}

#naibu .note01 { margin-bottom:20px; padding:10px; background:#ACD6FF; overflow:hidden;}
#naibu .note02 { margin-bottom:20px; padding:10px; background:#EEE; overflow:hidden;}
#naibu .note03 { width:530px; margin-bottom:20px; padding:10px 10px 0 10px; border: 1px solid #069; overflow:hidden;}
#naibu .note03 h5 { margin:0; padding:2px 0 1em 0; line-height:110%; color:#AD2254;}
#naibu .note03 .left { clear:both; float:left; width:160px; margin:0 1em 0 0;}
#naibu .note03 .right { float:left; width:350px; margin:0; padding:0 0 1em 0; line-height:110%;}
#naibu .note04 { margin:0 0 1em 0; padding:10px; background:#EEE; overflow:hidden;}

#naibu .note05L{ float:left; width:400px; margin:0 15px 0 0; overflow:hidden;}
#naibu .note05R { float:left; width:400px; margin:0 0 0 0; overflow:hidden;}
#naibu .note05 { margin:3px 0 15px 0; padding:10px; line-height:110%; border: 1px solid #069; overflow:hidden;}
#naibu .note05 h4 { margin:0; padding:2px 0 0.25em 0; line-height:110%; color:#AD2254; background:none;}
#naibu .note05 img { float:right;}
#naibu .note05 ol li { padding-bottom:0; font-size:1.4rem;}

#naibu .note06 { margin-bottom:20px; padding:10px; background:#ACD6FF; font-size:1.8rem; line-height:175%!important; overflow:hidden;}

@media screen and (max-width : 800px) {
#naibu .note03 { width:auto;}
}
@media screen and (max-width : 640px) {
#naibu .note03 .left { float:none; width:auto;}
#naibu .note03 .right { float:none; width:auto;}
#naibu .note05L { float:none; width:100%;}
#naibu .note05R { float:none; width:100%;}
}


.photobox { clear:both; padding-bottom:15px; overflow:hidden;}
.photobox .photo { float:left; width:300px; margin:0 10px 10px 0; padding:15px 10px 0 10px; border:1px #DDD solid; overflow:hidden;}
.photobox .photo img { margin:0 auto; display:block;}
.photobox .photo2 { float:left; width:396px; margin:0 20px 20px 0; padding:20px 20px 0 20px; border:1px #DDD solid; overflow:hidden;}
.photobox .photo2 img { margin:0 auto; display:block;}
.photobox .phototitle { padding:0; width:280px; font-size:14px; font-weight:bold; text-align:center;}
.photobox .phototitle img { display:inline; width:13px;}
.photobox .phototitle2 { padding:0; width:396px; font-size:14px; font-weight:bold; text-align:center;}
.photobox .phototitle2 img { display:inline; width:13px;}

@media screen and (max-width : 640px) {
.photobox .photo,
.photobox .photo2 { float:left; width:94%; margin:10px auto ; padding:10px 0 0 0; margin-right:auto; padding:10px; border:1px #DDD solid; overflow:hidden;}
.photobox .photo img,
.photobox .photo2 img { width:100%; display:block; margin-left:auto; margin-right:auto;}
.photobox .phototitle,
.photobox .phototitle2 { width:100%; font-size:14px; font-weight:bold; text-align:center;}
.photobox .phototitle img,
.photobox .phototitle2 img { display:inline; width:13px;}
}




.tb-01 td { font-size: 14px; border-bottom: 1px solid #CCC;}
.tb-02 { width: 100%; margin: 0 0 15px 0; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
.tb-02 thead th,.tb-02 th,.tb-02 td { padding: 5px;	border-top: 1px solid #CCC;	border-left: 1px solid #CCC;}
.tb-02 thead th { background-color: #AAE3FF; font-weight: normal; text-align: center;}
.tb-02 tbody th { background-color: #CCC;}
.tb-02 td { background-color: #FFC; text-align: center;}
.tb-03 { width: 100%; margin: 0 0 15px 0; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
.tb-03 th,.tb-03 td { padding: 5px; border-top: 1px solid #CCC; border-left: 1px solid #CCC;}
.tb-03 th { background-color: #CCC;}
.tb-03 td { background-color: #CFF; text-align: center;}
.tb-04 { width: 100%; margin: 0 0 15px 0; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
.tb-04 th,.tb-04 td { padding: 5px;	border-top: 1px solid #CCC; border-left: 1px solid #CCC;}
.tb-04 th { background-color: #CCC;}
.tb-04 td { background-color: #FCC; text-align: center;}
.tb-05 { width: 100%; margin: 0 0 15px 0; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
.tb-05 th,.tb-05 td { padding: 5px; border-top: 1px solid #CCC; border-left: 1px solid #CCC;}
.tb-05 th { background-color: #CCC;}
.tb-05 td { background-color: #CCF; text-align: center;}
.tb-02 td a,.tb-03 td a,.tb-04 td a,.tb-05 td a { font-weight: bold;}
.tb-06 { margin: 0 0 15px 0; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
.tb-06 th,.tb-06 td { padding: 5px 9px; border-top: 1px solid #CCC; border-left: 1px solid #CCC;}
.tb-06 th { background-color: #AAE3FF; text-align: center;}



.subpages { font-size:1.4rem; margin-bottom:20px;}
.subpages .subp-title { float:left; margin:0 12px 0 auto; padding:7px 5px 5px 0;}
.subpages span.mark { padding-right:3px; color:#2A62B8;}
.subpages ul { clear:both; border-top:1px solid #DDD;}
.subpages ul li a { display:block; padding:13px 15px 9px 17px; color:#006CD8; text-decoratnion:none; border-bottom:1px solid #DDD; background:#EEE url("../parts/ico_foot.png") no-repeat 5px 17px;}
.subpages ul li a:hover { background-color:#FFF;}


/* スマホ */
@media screen and (min-width : 480px) {
#naibu h2 { min-width:auto;}
#naibu h2.findBd { padding-top:1em; border-bottom:1px solid #AAA;}
#naibu img.alignleft { width:100%;}
}
/* タブレット以上*/
@media screen and (min-width : 641px) {
#naibu img.alignleft { width:auto;}
.pankuzu { display:block; padding:15px 0; font-size:1.2rem;}
#naibu h2 { min-width:480px; margin-bottom:0;}
#naibu img.mainimage { float:left; width:42%; padding:0 0 20px 0;}
}
/* 800px以上*/
@media screen and (min-width : 801px) {
#naibu { float:left; margin-left:20px;}
#naibu h1 { clear:both; margin:10px auto 10px auto;padding:2px 250px 0 10px; font-size:3.2rem; line-height:110%; color:#333; border-left:10px solid #1841CD;
text-shadow: 0px 1px 2px #FFF;/* 横方向 縦方向 ぼかし 影の色 */
}

#naibu h2 { }
.subpages { display:none;}
#naibu img.alignleft { float:left; padding:0 0 1em 0; border-right:20px solid #FFF;}
#naibu img.alignright { float:right; padding:0 0 0.5em 1em;}
#naibu div.alignleft { float:left; padding:0 0 1em 0; border-right:20px solid #FFF;}
#naibu div.alignright { float:right; padding:0 0 0.5em 1em;}
}
/* 印刷 */
@media print {
#naibu img.mainimage { float:left; width:42%; padding:0 0 20px 0;}
}

/* カテゴリー 一覧 ---------------------------------------------------- */
.post header.entry-header,
header#category { min-height:50px; margin:-10px 0 20px 0!important; padding:25px 0 20px 0!important; background:url("../parts/category_image.jpg") no-repeat center;}

@media screen and (max-width : 640px) {
.post header.entry-header,
header#category { min-height:50px; margin:-15px -12px 20px -12px!important; padding:25px 0 20px 0!important; background:url("../parts/category_image.jpg") no-repeat center;}
}

ul#index { width:100%; margin:10px auto; text-align:left; line-height:120%; border-top:1px dotted #AAA; overflow:hidden;}
ul#index a { display:block; color:#333; text-decoration:none;}
ul#index a:hover { color:#006CD8; text-decoration:underline;}
ul#index li { padding:10px 0; border-bottom:1px dotted #AAA; overflow:hidden;}
ul#index span.date { clear:both; float:left; width:120px; padding:5px 5px 3px 35px; color:#AD2254; }
ul#index span.title { float:left; width:77%; padding:5px 0 3px 35px;}

#nav-below { line-height:110%; margin:25px auto 35px auto; font-size:1.5rem; overflow:hidden;}
.nav-previous { float:left; padding-top:10px;}
.nav-next { float:right; padding-top:10px;}


/* カテゴリー 詳細 ---------------------------------------------------- */
.entry-content { padding:20px 0 30px;}
.entry-content h2.entry-title {}
.entry-meta { padding-top:20px; font-size:1.25rem; background:#FFF;}
.nav-single { line-height:110%; margin:20px auto 20px auto; font-size:1.25rem; overflow:hidden;}




/* ページ内装飾・レイアウト
------------------------------------------------------------------------------------------------ */

/* 囲み 吹き出し */
.textinner{ padding:15px 15px 0 15px; background:#02407E; overflow:hidden;}
 
.textinner p { color:#fff;}
.textinner i,.textinner em { color:#fff!important; font-style:normal!important;}
#textarea .textinner p a { color:#FFF; font-weight:bold;}
#textarea { margin:auto; margin-bottom:40px; position:relative;}
.triangle{ position:absolute; width:0; height:0; left:50%; bottom:-40px;
    border-top: 20px solid #02407E;/*下向き三角*/
    border-right: 20px solid  transparent;/*左向き三角*/
    border-left: 20px solid transparent;/*右向き三角*/
    border-bottom: 20px solid transparent;/*上向き三角*/
}

/* ITをグッドサポート */
#service h2 { margin-bottom:30px!important; padding-left:12px; border-left:7px solid #1E56EC; border-bottom:1px solid #CCC;}
#service .box { display:block; float:left; width:48%; margin:0 0 30px 2%; overflow:hidden;}
#service .box:nth-child(2n) { clear:both;} /* 奇数boxのfloat解除 */
/* #service .box:nth-child(2n+1) { clear:both;} 奇数boxのfloat解除 */
#service .box img { float:left; width:38%;}
#service .box .desc { float:left; width:57%;}
#service .box h3 { margin:0 auto; padding:0; font-size:1.8rem; line-height:120%; color:#AD2254; border:none;}
#service .box p { margin:0 auto; padding:0; font-size:1.2rem; line-height:110%; color:#999;}
#service .box ul { padding-top:15px; font-size:1.3rem;}
#service .box ul li { display:block; padding:0 0 7px 13px; line-height:110%; background:url("../parts/ico_01.png") no-repeat 0 2px;}


#service .box-slist { display:block; float:left; width:48%; margin:0 0 30px 2%; overflow:hidden;}
#service .box-slist:nth-child(2n+1) { clear:both;} /* 奇数boxのfloat解除 */
#service .box-slist img { float:left; width:32%;}
#service .box-slist .slist { float:left; width:58%; margin-left:3%;}
#service .box-slist h3 { margin:3px auto 0 auto; padding:0 0 1em 23px; font-size:1.8rem; line-height:120%; color:#AD2254; border:none; background:url("../parts/ico_04.png") no-repeat 0 0;}
#service .box-slist h3 a { display:block;}
#service .box-slist h4 { margin:0; padding:0 0 0.25em 0; color:#AC2052; font-weight:normal; line-height:110%;}
#service .box-slist p { padding:0 0 1em 0; font-size:1.4rem;}
#service .box-slist .detail a { float:right; display:block; padding:5px 20px 4px 20px; color:#FFF; font-size:1.2rem; text-decoration:none; background:#AC2153;
 border-radius:5px; -webkit-border-radius:5px; -mozborder-radius:5px;}
#service .box-slist .detail a:hover { background:#C56386;}


@media screen and (max-width : 800px) {
#service .box,
#service .box-slist { clear:both; width:98%; margin:0 0 30px 2%; overflow:hidden;}
#service .box img,
#service .box-slist img { width:30%;}
#service .box .desc,
#service .box-slist .slist { width:65%;}
}

/* リスト */
ul.linkPDF {margin:15px 0 30px 20px;font-size:110%;text-align:left;}

ul.linkPDF li {margin-bottom: 20px;padding-left: 20px;background: url("../parts/ico_list.gif") no-repeat left center;}

ul.linkPDF a { background: url("../parts/ico_pdf.gif") no-repeat right; padding-right: 30px;}

ol.list01 { counter-reset:li;	margin:0 0 1.5em 0; padding:5px 5px 0 5px; list-style:none;	background:#EEE;}
ol.list01 li { position:relative; margin:0 0 0 1.5em; padding:9px 0 10px 15px;}
ol.list01 li:before { content:counter(li); counter-increment:li; position:absolute; top:2px; left:-1.5em; width:20px; height:20px; padding:6px 3px 0; color:#fff; font-size:1.2rem; background:#AD2254; text-align:center; border-radius:20px;}

ul.list01 { padding:0.25em 1em 0 0;}/* 紺・丸 */
ul.list01 li { padding:0 0 5px 15px; background:url("../parts/ico_01.png") no-repeat 0 0;}

ul.list02 { margin-bottom:2em; padding:1em 0 0 1em; background:#EEE;}/* ピンク・丸 */
ul.list02 li { padding:0 0 0.75em 20px; background:url("../parts/ico_02.png") no-repeat 0 0;}

ul.list03 { margin-bottom:1em; padding:0.75em 1em 0.5em 1em; background:#EEE;}/* グレー・丸 */
ul.list03 li { padding:0 0 5px 15px; background:url("../parts/ico_03.png") no-repeat 0 6px;}

ul.list04 { margin-bottom:1em; padding:0.75em 1em 0.5em 1em; background:#EEE;}/*  */
ul.list04 li { padding:0 0 5px 20px; background:url("../parts/ico_04.png") no-repeat 0 4px;}

ul.list05 { margin-top:-0.5em; padding:0 1em;}/* 段落内など・シンプル */
ul.list05 li { margin:0; padding:0 0 0 14px; background:url("../parts/ico_05.png") no-repeat 0 4px;}

ul.list06 { margin-bottom:1em; padding:0.25em 1em 0.5em 1em; background:#EEE;}/* ・ボーダー */
ul.list06 li { padding:8px 0 8px 15px; border-bottom:1px dotted #CCC; background:url("../parts/ico_03.png") no-repeat 0 13px;}

dl.dl01 {}
dl.dl01 dt { padding-bottom:5px; font-weight:bold;}
dl.dl01 dd { padding:0 0 1em 1em;}

dl.dl02 { margin:0 auto 1em auto; text-align:left; line-height:120%;}
dl.dl02 dt { clear:both; float:left; width:60px; padding:0 5px 0 8px; color:#00307E; font-weight:bold; letter-spacing:5px;}
dl.dl02 dd { float:left; width:88%; padding:0 0 10px 8px;}
dl.dl02 dd p { padding-bottom:0.5em!important;}

dl.dl03 {}
dl.dl03 dt { padding:1em 0 10px 0; font-weight:bold; color:#AC2153;}
dl.dl03 dd { padding:2px 0 1em 30px; font-size:1.6rem; line-height:150%; border-bottom:1px solid #DDD;}
dl.dl03 dd ol { padding-top:0.75em; font-size:1.5rem;}
dl.dl03 dd ol li { padding-bottom:5px; line-height:135%;}

/* テーブル */
.boxtable01 { clear:both; float:left; padding-right:12px; margin-bottom:1em; position:relative; z-index:100;}/* テーブルbox */
.boxtable01 p { margin:0 auto!important; padding:0!important;}

table.table01 { width:700px; margin-bottom:5px; line-height:110%; border:1px solid #999; border-collapse:collapse;}
table.table01 th { padding:8px 1%; font-weight:bold; text-align:left; border:1px solid #999; background:#FFFFBF;}
table.table01 td { padding:8px 1%; border:1px solid #999; background:#FFF;}
table.table01 .find { text-align:center; color:#FFF; background:#00307E;}
table.table01 .sub { font-size:0.8rem; padding:0.5em 1em 0 1em;}
table.table01 .note { padding-top:0.75em;}
table.table01 .addLine { border-top:3px solid #999;}
@media screen and (max-width : 960px) {
table.table01 { width:100%;}
}

table.table02 { float:left; margin-bottom:5px; line-height:110%; border:1px solid #999; border-collapse:collapse;}
table.table02 th { padding:4px 1%; text-align:center; border:1px solid #999; background:#FFCC00;}
table.table02 td { padding:4px 30px 4px 3px; border:1px solid #999; background:#FFF;}

table.table03 { margin-bottom:5px; line-height:110%; border:1px solid #999; border-collapse:collapse;}
table.table03 th { padding:6px 1%; font-weight:bold; text-align:left; border:1px solid #999; background:#AAE3FF;}
table.table03 td { padding:6px 1%; border:1px solid #999; background:#FFF;}


/* 他装飾・レイアウト */
#main hr { clear:both; height:1px; margin:10px auto; border:none; color:#FFF; background-color:#FFF;}
#main hr.separate { height:50px;}
#main i,#main em { color:#AC2153; font-size:1.8rem!important; font-style:normal;}
#main .topspace01 { padding-top:1em;}
#main .floatleft { float:left;}
#main  .fontS { font-size:1.2rem;}
#main .fontL { font-size:2rem;}
#main p.alignright { text-align:right;}
#main p.light { margin:0; padding:15px 0 15px 40px; background:url("../images/smc2_25.gif") no-repeat 0 0;}
#main img.ghaph { margin-right:20px;}

/* ボタン */
.button01 {
	display:block;
	overflow:hidden;
	float:left;width:380px; margin-right:15px; margin-bottom:15px; padding:15px 10px 0 10px;
	text-align:left; font-size:0.9rem; color:#333!important;
	border:7px solid #FFA64D;
}
.buttom01 p { margin:0!important; padding:0!important;}
.button01 p.find { font-size:1.8rem!important; margin:0; padding:0 0 0 30px!important; background:url("../parts/ico_arrow01.png") no-repeat 5px 3px;}

@media screen and (max-width : 480px) {
.button01 a { width:88%;}
.button01 p.find { font-size:1.4rem!important;}
}


/* box01 */
@media screen and (max-width : 1280px) {
.box01 { clear:both;}
.box01 div.imageleft { float:left; width:30%; text-align:center;}
.box01 div.imageleft img {}
.box01 div.textright { float:left; width:68%; margin-left:2%;}
}
@media screen and (min-width : 1281px) {
.box01 { clear:both;}
.box01 div.imageleft { float:left; width:210px; text-align:center;}
.box01 div.imageleft img {}
.box01 div.textright { float:left; width:520px;}
}

@media screen and (max-width : 800px) {
#service .box { clear:both; width:98%; margin:0 0 30px 2%; overflow:hidden;}
#service .box img { width:30%;}
#service .box .desc { width:65%;}
}


/* マジックハンド */

#lineup	{ clear:both; margin:20px auto; overflow:hidden;}
#mhmovie { float:right; margin:0 0 10px 10px;  position:relative; width:50%; padding-top:56.25%;}
#mhmovie iframe { position:absolute; top:0; right:0; width:100%!important; height: 100%!important;}

@media screen and (max-width : 480px) {
#mhmovie { float:none; margin:0 0 10px 0; width:100%; padding-top: 100%;}
}



/* セキュリティ機器レイアウト */
div.seculeft { float:left; width:800px;}
@media screen and (max-width : 1280px) {
div.seculeft { width:72%;}
}
@media screen and (max-width : 1100px) {
div.seculeft { width:70%;}
}
@media screen and (max-width : 980px) {
div.seculeft { width:60%;}
}
@media screen and (max-width : 800px) {
div.seculeft { width:100%;}
}

/* 地図 */
.map { width:700px; margin-bottom:2em;}
@media screen and (max-width : 960px) {
.map { width:100%;}
}
@media screen and (max-width : 800px) {
.map { width:93%; margin-left:3%;}
}


/* 会社紹介 */
#find-about,
#find-philosophy { width:100%; height:90px; padding-top:50px; text-align:right;}
#find-about { background:url("../images/company01.jpg") no-repeat left center;}
#find-philosophy { background:url("../images/company02.jpg") no-repeat left center;}
#naibu #find-about h2,
#naibu #find-philosophy h2 { float:right; margin:0; padding:0 15px 0 200px!important; text-shadow: 0px 1px 2px #FFF;}
@media screen and (max-width : 640px) {
#find-about,#find-philosophy { width:100%; height:auto; padding:10px 0; text-align:left; background:none;}
#naibu #find-about h2 ,#naibu #find-philosophy h2 { float:none; font-size:1.6rem; padding:0!important;}
}


/* 問い合わせ */
#contact iframe { width:100%!important; height:400px!important; border:none;}

/* 〇周年 */
.anniversary { clear: both; display: block; margin: 20px auto 50px auto; padding:20px 20px 0 20px; border:2px solid #1C4F58;}



/* お知らせアコーディオン */
.news-item { border-bottom: 0.5px solid #DDD;}
.news-header { display: flex; align-items: center; gap: 30px; padding: 10px 30px; list-style: none; cursor: pointer;}
.news-header::-webkit-details-marker { display: none;}
.news-header .date { flex-shrink: 0; width: 130px; font-size: 1.5rem; color: #950A0A; white-space: nowrap;}
.news-header .title,
.news-header .title a { flex: 1; padding: 10px 20px 10px 0; font-size: 18px; font-weight: bold; color: #000; line-height: 1.5; text-decoration: none; writing-mode: horizontal-tb;}
.news-header .title a:hover { color: #000; text-decoration: none;}
.news-header::after { margin-left: auto; font-size: 30px; color: #00307E; content: "＋";}
details[open] .news-header::after { content: "－";}
.news-content { display: flow-root; gap: 14px; padding: 0 30px 0 190px; background: #FFF; overflow: hidden; box-sizing: border-box;}
.news-content p { margin: 10px 0; color: #444; line-height: 1.6;}
.news-content p:first-child { margin-top: 10px;}
.news-content p:last-child { margin-bottom: 10px;}
.news-content img.imageM { width:47%; margin-right:1.5%;}


@media only screen and (max-width: 768px) {
  .news-header { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; position: relative; padding: 12px 48px 12px 16px;}
  .news-header .date { width: auto; font-size: 1.4rem;}
  .news-header .title,
  .news-header .title a { padding: 0; font-size: 16px;}
  .news-header::after { position: absolute; top: 50%; right: 16px; margin-left: 0; font-size: 28px; transform: translateY(-50%);}
  .news-content { padding: 0 16px;}
}

@media screen and (max-width : 480px) {
  .news-content img.imageM { width:100%; margin-right:0;}
}
