@charset "utf-8";
/* ==== Google font Begin ==== */
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(../../fonts/google-fonts/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url(../../fonts/google-fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(../../fonts/google-fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'), local('OpenSans-Bold'), url(../../fonts/google-fonts/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* ==== Google font End ==== */

.clearfix:after{
	content: "."; 
	display: block; 
	height: 0; 
	font-size:0;	
	clear: both; 
	visibility:hidden;
}
.clearfix{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .clearfix{
	height: 1%;
}
.clearfix{
	display:block;
}

html, body {
	width: 100%;
	height: 100%;
	margin: 0;
}
body {
	text-align: center;
	background-color:#fff;
	font-family:'Open Sans', Arial, Helvetica, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, '游ゴシック Medium', 'Yu Gothic Medium', sans-serif;
	font-size:13px;
	line-height:150%;
	color:#333333;
	
	position: relative;
	/* コンテンツの高さと画面の高さの、大きいほうに合わせる */
	height: auto !important;
	min-height: 100%;
}

a:link {text-decoration:none;color:#82002a;} 
a:visited {text-decoration:none;color:#82002a;}  
a:active {text-decoration:none;color:#82002a;}  
a:hover {text-decoration:underline;color:#82002a;opacity:0.7;}  
button:hover, input[type=image]:hover {opacity: 0.7;}
h1 a:link {color:#f9f9f9;text-decoration:none;} 
h1 a:visited {color:#f9f9f9;text-decoration:none;}  
h1 a:active {color:#f9f9f9;text-decoration:none;}
h1 a:hover {color:#c38539;text-decoration:none;}  
#g_menu a:link {color:#555;text-decoration:none;} 
#g_menu a:visited {color:#555;text-decoration:none;}  
#g_menu a:active {color:#555;text-decoration:none;}
#g_menu a:hover {color:#c38539;text-decoration:none;}  
.box li a:link {color:#333333;text-decoration:none;} 
.box li a:visited {color:#333333;text-decoration:none;}  
.box li a:active {color:#82002a;text-decoration:underline;}  
.box li a:hover {color:#82002a;text-decoration:underline;}    
select {height: 25px;}

/*floatの解除*/
.clearfloat {
	clear:both;
}

h1,h2,h3 {
	margin:0px;
	padding:0px;
	font-weight:normal;
}

/*pタグの空白除去*/
p {
	margin:0px;
	padding:0px;
}

p, span, h1, h2, h3 {
	word-wrap: break-word;
}

img  {
	border: none;
	vertical-align:top;
}

table  {
	border:none;
}

td  {
	vertical-align:top;
}

/*IE--BRバグ回避*/
br  {
	letter-spacing:normal;
}

ul,ol,li  {
	margin:0px;
	padding:0px;
	list-style:none;
}

.center8{
	text-align:center;
	padding-bottom:8px;
}

#pagebody{
	width:100%;
	height: auto;
	margin:0 auto;
	text-align:left;
	padding-bottom: 50px; /* フッターがかぶらないよう、フッターの高さ分、開ける */
}

/*ヘッダ*/
#header_block{
	background-color:#fff;
	width: 100%;
	margin: 0px;
	padding:5px 0 0 0;
}
#header_wrapper{
	width:95%;
	min-width:1024px;
	margin:0 auto;
	position:relative;
}
#header{
	margin:0 auto 0 7px;
	position:relative;
}
#header .logo{
	background-image: url(/static/img/common/pictruct.png);
	background-repeat: no-repeat;
	width: 233px;
	height: 60px;
	display: block;
}
#header .welcome {
	color: #555;
	font-size: 17px;
	font-style: oblique;
	position:absolute;
	bottom:0px;
	right:40px;
}
#header .welcome a {
	color: #555;
}

/*ヘッダーの下*/
#g_menu{
	display:block;
	text-align:right;
	/*background:#bb55ee;*/
	/*background:-webkit-linear-gradient(top, #9900cc, #bb55ee);*/
	/*background:-moz-linear-gradient(top, #9900cc, #bb55ee);*/
	/*background:-o-linear-gradient(top, #9900cc, #bb55ee);*/
	/*background:-ms-linear-gradient(top, #9900cc, #bb55ee);*/
	/*background:linear-gradient(to bottom, #9900cc, #bb55ee);*/
	/*border-top:#999999 solid 1px;*/
	line-height:100%;
	/*width: 100%;*/
	margin:0 10px;
	padding: 12px 0px;
	font-weight:bold;
	font-size:14px;
}

#g_menu_box{
	width:100%;
	text-align:left;
	margin:0 auto;
	padding:0px 5px;
}
#g_menu_box a{
	margin-left: 10px;
	margin-right: 10px;
}

h1{
	font-size:26px;
	font-weight:bold;
	line-height:100%;
	text-align: left;
	margin: 0 auto;
	padding-bottom: 4px;
} 

h2{
	font-size:13px;
	color: #555;
	text-align: left;
	margin: 0 auto;
}

h3{
	padding:10px 2px 1px 2px;
	color:#4d2100;
	font-weight:bold;
	font-size: 18px;
	margin-bottom:20px;
}

.iframe-content {
	position: relative;
	width: 100%;
	padding: 75% 0 0 0;
}

.iframe-content iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#contents{
	margin:0;
}

/* ボタン */
#contents button {
	font-size: 1.4em;
	padding: 10px 30px;
	cursor: pointer;
	border: none;
	background-color: #1e90ff;
	color: #fff;
}
#contents button.btn-s {
	font-size: 1.2em;
	padding: 5px 10px;
}
#contents button.btn-ss {
	font-size: 1em;
	padding: 3px 7px;
}
#contents button.btn-red {
	background-color: #F26964;
	color: #fff;
}
#contents button.btn-green {
	background-color: #4CAF50;
	color: #fff;
}
#contents button.btn-yellow {
	background-color: #ECB935;
	color: #fff;
}

/*トップページコンテンツエリア*/
div.l_block {
	background-color:#fff;
}
#main_area{
	margin:8px 10px 0px 10px;
	background-color:#fff;
}

/*サブページのコンテンツエリア*/
#sub_main_area{
	margin:8px 30px 0px 10px;
	background-color:#fff;
}

/*サイドナビエリア*/
div.l_block {
	background-color:#fff;
}

div.r_block {
	background-color:#fff;
}

#navi_area{
	margin:8px 0px 0px 10px;
	font-size:13px;
}

/*パンくず*/
#breadcrumbs {
	text-align:right;
	margin-bottom: 2px;
	font-size: 11px;
}
#breadcrumbs li {
	float: left;
	background-image: url(img/cts_path_bck_01.gif);
	background-repeat: no-repeat;
	background-position: left 3px;
	margin-right: 5px;
	padding-right: 5px;
	padding-left: 12px;
}
#breadcrumbs li.first {
	float: left;
	background: none;
	padding-left: 0px;
}

/*ページング*/
.paging * {
	font-size: 14px;
	font-weight: bold;
	margin: 10px 5px 5px 5px;
}
.paging a {
	text-decoration:none;
}
.paging .pageNo {
	margin:2px 2px;
	border:1px solid #999;
	display:inline-block;
	padding:2px 5px;
}

/*エラーリスト表示*/
.errorlist, .errorlist *{
	margin:0px;
	font-size:12px;
	font-weight:bold;
	color:#ff0000;
}

/*サイドリストボックス*/
.box{
	margin-bottom:20px;
}

/*サイドリスト　小見出し*/
.box_title{
	padding:2px 4px 2px 8px;
	text-align:left;
	font-weight:bold;
	background-color: #fff;
	border-left: solid 4px #82002a;
}

/*スクエアマーク*/
.mark_sq{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color:#838383;
}

.box ul{
	padding:12px 4px;
}

/*サイドリスト下点線*/
.box li{
	margin-bottom:6px;
	border-bottom:dotted 1px #999999;
	padding-bottom:4px;
}

/*バー*/
.bar{
	margin-bottom:10px;
	border-bottom:#999999 solid 1px;
	padding:0px 2px 6px 2px;
	color:#4d2100;
	font-weight:bold;
	font-size:18px;
}

/*右サイドのバー*/
.side_bar{
	background-color:#fff;
	padding:0px;
	text-align:center;
	font-weight:bold;
	margin-bottom:1px;
}

/*本文テキスト*/
.text{
	margin-bottom:15px;
	overflow: hidden;
}

/*TOPICS-----------------*/
.topics{
	margin-bottom:20px;
}

.topics li{
	margin-bottom:6px;
	border-bottom:dotted 1px #999999;
	padding-bottom:4px;
}

.topics dl {
	overflow: hidden;
	zoom: 1;
	margin: 0px;
}
.topics dt {
	width: 105px;
	float: left;
	clear: both;
	margin-bottom: 5px;
	font-weight: bold;
}
.topics dd {
	margin: 2px 0px 5px 105px;
}
.news{
	width: 100%;
	max-height: 400px;
	overflow: auto;
}

/*一覧表示*/
.item_table{
	font-size:12px;
	line-height:130%;
	margin-bottom:5px;
}
.item_table li{
	word-break:break-all;
	padding:2px 1px;
}

/* 画像＋説明文のサムネイル */
/*外側ボックス*/
.thumbnail-l_180 {
	float:left;
	margin-left:14px;
	margin-bottom:4px;
	width:180px;
}
/*外側ボックス 215px*/
.thumbnail_215 {
	float:left;
	margin-left:14px;
	width:215px;
}
/*外側ボックス 140px*/
.thumbnail_140 {
	float:left;
	margin-left:10px;
	width:140px;
}
/*外側ボックス 250px*/
.thumbnail_250 {
	float:left;
	margin-left:14px;
	width:250px;
}
/*外側ボックス Masonry*/
.thumbnail_masonry {
	/*width:252px;*/
	margin:0px 3px 15px 3px;
	overflow:hidden;
	border:1px solid #BBBBBB;
	
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.thumbnail_masonry li {
	margin: 5px 3px;
	padding: 0px;
}
.thumbnail_masonry li.thum_photoli {
	margin: 0px;
	padding: 0px;
}
/* 画像配置用のボックス */
.thum_photobox {
	overflow:hidden;
	border:none;
	width;100%;
	max-height:500px;
}
.thum_photobox img {
	width:100%;
}
/* 画像配置用のボックス(センタリング&トリミング配置する場合) */
.thum_photobox_centering {
	overflow:hidden;
	border:none;
	width;100%;
	max-height:500px;
	position:relative;
	z-index:1;
}
.thum_photobox_centering img {
	width:100%;
	position:absolute;
}
.thum_photobox_centering .figure {
	background-color: #ddd;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
}
/*投稿タイトル*/
/*
.post_title {
	color: #879b00;
}
*/


/*汎用テーブル*/
.table_block{
	background-color:#dddddd;
	font-size:12px;
	margin-bottom:30px;
}

/*汎用テーブル背景色左セル*/
.table_item{
	background-color:#FDF5E8;
}


/*汎用テーブル背景色右セル*/
.table_cell{
	background-color:#f5f5f5;
}

/*box_aタイプ*/
.box_a{
	padding:15px;
	background-color:#fdf3f6;
	margin-bottom:25px;
}

/*box_bタイプ*/
.box_b{
	padding:15px;
	background-color:#f5f5f5;
	margin-bottom:25px;
}

/*見出しスタイル*/
.caption{
	padding:2px;
	font-size:17px;
	font-weight:bold;
	margin-top:8px;
	margin-bottom:2px;
}

.item_text{
	padding:0px 4px 20px 4px;
}

#pagetop{
	text-align:right;
	font-size:10px;
	padding:5px;
}

/*ガイド・規約欄*/
#guide{
	margin-bottom:15px;

}

#guide_bar{
	background-color:#383838;
	color:#f9f9f9;
	padding:4px 6px;
	font-size:14px;
	margin-bottom:15px;
}

#guide_left{
	float:left;
	width:290px;
	padding-right:10px;
}

#guide_right{
	float:right;
	width:290px;
}

/*ガイド内の見出し*/
.guide_caption{
	border-left: solid 4px #82002a;
	padding:4px;
	margin-bottom:10px;
}

/*カテゴリー表示*/
.mega-menu a, .mega-menu li{
	word-break:break-all;
}

/*ユーザページ　プロファイル欄*/
.user_profile .name{
	font-weight:bold;
	margin:0px;
}
.user_profile img.avatar{
	width:80px;
}
.user_profile .message{
	width:95%;
}
.user_profile dl {
	overflow: hidden;
	zoom: 1;
	margin: 0px;
}
.user_profile dt {
	width: 95px;
	float: left;
	clear: both;
	margin-bottom: 1px;
	font-weight: bold;
}
.user_profile dd {
	margin: 2px 0px 5px 95px;
}

/*コメントセクション*/
#leave_comment #id_honeypot {
	display: none;
}
#leave_comment #id_comment {
	width: 100%;
	height: 100px;
	line-height: 1.3;
}
#comments .avatar {
	float:left;
	width: 50px;
}
#comments ul {
	float:left;
	width:550px;
	margin-left:7px;
}
#comments span.submit_date{
	margin-left:35px;
}
#comments li {
	word-break:break-all;
}
.comment_loader_wrapper {
	cursor:pointer;
	background-color:#ccc;
	border:1px solid #999;
	width:350px;
	height:30px;
	text-align:center;
}
.comment_loader_wrapper p {
	line-height: 30px;
}

/*コンテンツ内フッターエリア*/
div.f_block {
	width:95%;
	min-width:1024px;
	margin:0 auto;
	overflow:hidden;
	background-color:#fff;
}
#foot_area{
	margin:20px 10px 20px 10px;
	font-size:13px;
}
.footer_links_wrapper {
	margin: 0 auto; 
	padding:0;
}
.footer_links .footer_content_title {
	font-size: 110%;
	font-weight: bold;
	display: block;
	width: 100px;
	float: left;
	color: #4d2100; 
}
.footer_links .footer_content_list li { 
	display: block;
	padding-right: 15px;
	float: left; 
}
.footer_links .footer_content_list { 
	font-size: 100%; 
	float: left; 
	width: 550px; 
	margin-bottom: 5px; 
}
.footer_links .footer_content_list li { 
	margin-bottom: 5px; 
}
.footer_links .footer_content_list li.last { 
	margin-bottom: 0; 
}

#footer_wrapper{
	box-sizing: border-box;
	background-color:#ddd;
	margin: 0px;
	padding: 15px 0px;
	width: 100%;
	height: 50px;
	position: absolute;
	bottom: 0;
	left: 0;
}
#footer{
	clear:both;
	overflow: hidden;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

#copyright{
	color:#444;
	font-size:13px;
}

/*■margin bottom*/
.mb_0, #contents .mb_0 {
	margin-bottom: 0px;
}
.mb_2, #contents p.mb_2 {
	margin-bottom: 2px;
}
.mb_5, #contents p.mb_5 {
	margin-bottom: 5px;
}
.mb_8, #contents p.mb_8 {
	margin-bottom: 8px;
}
.mb_10, #contents p.mb_10 {
	margin-bottom: 10px;
}
.mb_15, #contents p.mb_15 {
	margin-bottom: 15px;
}
.mb_20, #contents p.mb_20 {
	margin-bottom: 20px;
}
.mb_25, #contents p.mb_25 {
	margin-bottom: 25px;
}
.mb_30, #contents p.mb_30 {
	margin-bottom: 30px;
}
.mb_45, #contents p.mb_45 {
	margin-bottom: 45px;
}
.mb_60, #contents p.mb_60 {
	margin-bottom: 60px;
}
/*■margin top*/
.mt_0 {
	margin-top: 0px;
}
.mt_5 {
	margin-top: 5px;
}
.mt_10 {
	margin-top: 10px;
}
.mt_15 {
	margin-top: 15px;
}
.mt_20 {
	margin-top: 20px;
}
.mt_25 {
	margin-top: 25px;
}
.mt_30 {
	margin-top: 30px;
}
.mt_45 {
	margin-top: 45px;
}
/*■margin right*/
.mr_0 {
	margin-right: 0px;
}
.mr_5 {
	margin-right: 5px;
}
.mr_10 {
	margin-right: 10px;
}
.mr_12 {
	margin-right: 12px;
}
.mr_15 {
	margin-right: 15px;
}
.mr_20 {
	margin-right: 20px;
}
.mr_30 {
	margin-right: 30px;
}
/*■margin left*/
.ml_2 {
	margin-left: 2px;
}
.ml_5 {
	margin-left: 5px;
}
.ml_10 {
	margin-left: 10px;
}
.ml_15 {
	margin-left: 15px;
}
.ml_25 {
	margin-left: 25px;
}
.ml_30 {
	margin-left: 30px;
}
.ml_35 {
	margin-left: 35px;
}
.ml_40 {
	margin-left: 40px;
}
.ml_45 {
	margin-left: 45px;
}
.ml_50 {
	margin-left: 50px;
}
.ml_55 {
	margin-left: 55px;
}
.ml_60 {
	margin-left: 60px;
}
.ml_65 {
	margin-left: 65px;
}
/*■text-align*/
.ta_r {
	text-align: right;
}
.ta_l {
	text-align: left;
}
.ta_c {
	text-align: center;
}
/*■font*/
.td-lt {
	text-decoration: line-through;
}
.fs_11 {
	font-size: 11px;
}
.fs_13 {
	font-size: 13px;
}
.fs_15 {
	font-size: 15px;
}
.fs_120 {
	font-size: 120%;
}
.fs_150 {
	font-size: 150%;
}
.fs_180 {
	font-size: 180%;
}
/*■color*/
.fc_red {
	color: #990000;
}
.fc_org {
	color: #FF0000;
}
.fc_grn {
	color: #007A00;
}
.fc_slv {
	color: #999;
}
.fc_gry {
	color: #666;
}
.fc_wht {
	color: #fff;
}
.fc_pnk {
	color: #ff1493;
}

/*動画等コンテンツの表示*/
.video {
	margin:5px auto 15px auto;
	width:100%;
	background:#fefefe;
	border:1px solid #ccc;
	padding:5px;
	display:block;
}
.video .video-thumbnail {
	float:left;
	position:relative;
	width:120px;
	border:solid 1px #dedede;
	padding:5px;
	cursor:pointer;
}
.video .video-thumbnail:hover {
	opacity:0.7;
}
.video .video-thumbnail img {
	box-shadow:inset 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
}
.video .video-thumbnail img.videoplay {
	position:absolute;
	top:50%;
	left:50%;
	margin-top:-16px;
	margin-left:-16px;
	width:32px;
	height:32px;
	box-shadow:none;
}
.video .video-thumbnail img.videoplay:hover {
	opacity:1;
}
.details {
	margin-left:130px;
	min-height:93px;
	word-wrap:break-word;
    overflow:hidden;
	padding:5px;
	display:block;
}
.details a {
	color:#3f5f9c;
	text-decoration: none;
}
.details a:hover {
	opacity: 0.70;
	filter: alpha(opacity=70);
}
.video h6 {
	padding:0;
	margin:0;
	font-size:11px;
	font-weight:bold;
}
.video p.link, .video p.desc {
	color:#999;
	margin:0;
	font-size:11px;
	padding:3px;
}
