*{
	word-wrap: break-word;
	overflow-wrap:break-word;
	box-sizing:border-box;
	/*word-break: break-all;*/
}

/*
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside,
dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video {
*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr,article, aside,
dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

sup,
sub {
    height: 0;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative;

}

sup {
    bottom: 1ex;
}

sub {
    top: .5ex;
}


input[type=submit],button{
	display:inline-block;
	line-height:1.2;
	vertical-align:middle;
	padding:2px 3px;
	margin:0px;
	font-size:100%;
}

/*
.fa{
	vertical-align:middle;
}
*/
article, aside, dialog, figure, footer, header,hgroup, nav, section {
	display:block
}

ul, ol {
	list-style:none
}

blockquote, q {
	quotes:none;
}

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

a{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
/*	background:transparent;*/
	text-decoration:none;
	outline:none;
}

a.uline{
	text-decoration:underline;
}

a:hover{

}
a:active{
}
a:focus{
}

a:link{
	/*color:#333;*/
}
a:visited {
	/*color:#333;*/
}

a.anker-link{
	display: block;
	font-size: 0px !important;
	height:0px !important;
	line-height: 0 !important;
	width:0px !important;
	padding:0px !important;
	margin:0px !important;
	visibility: hidden !important;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold
}

del {
	text-decoration: line-through
}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

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

th,td{
	vertical-align: middle;
}

hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}


/*form*/
input,select,textarea {
  margin: 0;
  font-size: 100%;
  vertical-align: middle;
}

select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"] {
  cursor: pointer;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

input,button,select,textarea {

}

input[type="radio"],input[type="checkbox"] {
  line-height: normal;
}

input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"] {
  width: auto;
}

textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input {
  background-color: #ffffff;
  border: 1px solid #cccccc;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
       -o-transition: border linear 0.2s, box-shadow linear 0.2s;
          transition: border linear 0.2s, box-shadow linear 0.2s;
}

/*float*/
.fl-right{
	float:right;
}
.fl-left{
	float:left;
}

/*floatクリア*/
.clearfix{
	zoom: 100%;
}

.clearfix:after{
	content : '';
	display : block;
	clear : both;
	height: 0;
	overflow: hidden;
}

.instclearfix{
	clear: both;
}

/* 横幅 */
.w50per {
	width : 50%;
}
.w100px {
	width : 100px;
}
.w120px {
	width : 120px;
}
.w200px {
	width : 200px;
}
/*マージンリセット*/
.m-top-0{
	margin-top: 0px !important;
}

.m-bottom-0{
	margin-bottom: 0px !important;
}

.m-reset-block{
	margin-bottom: 20px !important;
}

.pc-one-column .m-reset-block{
	margin-bottom: 30px !important;
}

/*.m-block-reset:last-child{
	margin-bottom:0px;
}*/

/*マージン*/
.minus-m-top-21 {
	margin-top : -21px;
}

.minus-m-top-1 {
	margin-top : -1px;
}

.m-top-5 {
	margin-top : 5px;
}

.m-top-8 {
	margin-top: 8px;
}

.m-top-10 {
	margin-top : 10px;
}

.m-top-15 {
	margin-top : 15px;
}

.m-top-20 {
	margin-top : 20px;
}

.m-top-25{
	margin-top : 25px;
}

.m-top-30{
	margin-top : 30px;
}

.m-bottom-0{
	margin-bottom: 0px;
}

.m-bottom-5 {
	margin-bottom : 5px;
}

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

.m-bottom-15 {
	margin-bottom : 15px;
}
.m-bottom-20 {
	margin-bottom : 20px;
}

.m-topbottom-5 {
	margin-top : 5px;
	margin-bottom : 5px;
}

.m-topbottom-10 {
	margin-top : 10px;
	margin-bottom : 10px;
}

.m-topbottom-15{
	margin-top : 15px;
	margin-bottom : 15px;
}


.m-topbottom-20{
	margin-top : 20px;
	margin-bottom : 20px;
}

.m-side-5 {
	margin-left : 5px;
	margin-right : 5px;
}

.m-side-10 {
	margin-left : 10px;
	margin-right : 10px;
}
.m-side-20 {
	margin-left : 20px;
	margin-right : 20px;
}

.m-left-5 {
	margin-left : 5px;
}

.m-left-10 {
	margin-left : 10px;
}
.m-left-15 {
	margin-left : 15px;
}

.m-right-2 {
	margin-right : 2px;
}

.m-right-5 {
	margin-right : 5px !important;
}

.m-right-10 {
	margin-right : 10px !important;
}

.m-right-15 {
	margin-right : 15px !important;
}

.m-right-20 {
	margin-right : 20px !important;
}
.m-right-25 {
	margin-right : 25px !important;
}
.m-right-30 {
	margin-right : 30px !important;
}

/* 変動マージン */
/* top */
.m-top-10-5{
	margin-top: 5px;
}

.pc-one-column .m-top-10-5{
	margin-top: 10px;
}

.m-top-15-10{
	margin-top: 10px;
}

.pc-one-column .m-top-15-10{
	margin-top: 15px;
}

.m-top-16-11{
	margin-top: 11px;
}

.pc-one-column .m-top-16-11{
	margin-top: 16px;
}

.m-top-20-15{
	margin-top: 15px;
}

.pc-one-column .m-top-20-15{
	margin-top: 20px;
}

.m-top-25-20{
	margin-top: 20px;
}

.pc-one-column .m-top-25-20{
	margin-top: 25px;
}

.m-top-30-15{
	margin-top: 15px;
}

.pc-one-column .m-top-30-15{
	margin-top: 30px;
}

.m-top-30-20{
	margin-top: 20px;
}

.pc-one-column .m-top-30-20{
	margin-top: 30px;
}

.m-top-30-25{
	margin-top: 25px;
}

.pc-one-column .m-top-30-25{
	margin-top: 30px;
}

.m-top-40-30{
	margin-top: 30px;
}

.pc-one-column .m-top-40-30{
	margin-top: 40px;
}

/* bottom */
.m-bottom-10-5{
	margin-bottom: 5px;
}

.pc-one-column .m-bottom-10-5{
	margin-bottom: 10px;
}

.m-bottom-15-10{
	margin-bottom: 10px;
}

.pc-one-column .m-bottom-15-10{
	margin-bottom: 15px;
}

.m-bottom-20-15{
	margin-bottom: 15px;
}

.pc-one-column .m-bottom-20-15{
	margin-bottom: 20px;
}

.m-bottom-30-20{
	margin-bottom: 20px;
}

.pc-one-column .m-bottom-30-20{
	margin-bottom: 30px;
}

.m-bottom-40-30{
	margin-bottom: 30px;
}

.pc-one-column .m-bottom-40-30{
	margin-bottom: 40px;
}

/* right */
.m-right-5-0{
	margin-right : 0px;
}

.pc-one-column .m-right-5-0{
	margin-right : 5px;
}

.m-right-15-10{
	margin-right : 10px;
}

.pc-one-column .m-right-15-10{
	margin-right : 15px;
}


.m-right-20-15{
	margin-right : 15px;
}

.pc-one-column .m-right-20-15{
	margin-right : 20px;
}

.m-right-30-20{
	margin-right : 20px;
}

.pc-one-column .m-right-30-20{
	margin-right : 30px;
}

/* left */

.m-left-20-15{
	margin-left : 15px;
}

.pc-one-column .m-left-20-15{
	margin-left : 20px;
}

/* レコードリストボトムリセット用マージン */
/*.m-reset-10 {
	margin-bottom:-10px;
}*/

.m-reset-20-15 {
	margin-bottom: -15px;
}

.pc-one-column .m-reset-20-15 {
	margin-bottom: -20px;
}

.m-reset-30-20 {
	margin-bottom: -20px;
}

.pc-one-column .m-reset-30-20 {
	margin-bottom: -30px;
}

.m-reset-block {
	margin-bottom:-30px;
}

.m-reset-parts {
	margin-bottom:-30px;
}

.m-reset-record {
	margin-bottom:-20px;
}

/* パディングクラス 見直し */
/* 変動上下共通値 */
.p-top-bottom-10-5{
	padding-top:5px;
	padding-bottom:5px;
}

.pc-one-column .p-top-bottom-10-5{
	padding-top:10px;
	padding-bottom:10px;
}

.p-top-bottom-10-8{
	padding-top:8px;
	padding-bottom:8px;
}

.pc-one-column .p-top-bottom-10-8{
	padding-top:10px;
	padding-bottom:10px;
}

.p-top-bottom-15-10{
	padding-top:10px;
	padding-bottom:10px;
}

.pc-one-column .p-top-bottom-15-10{
	padding-top:15px;
	padding-bottom:15px;
}

.p-top-bottom-20-15{
	padding-top:15px;
	padding-bottom:15px;
}

.pc-one-column .p-top-bottom-20-15{
	padding-top:20px;
	padding-bottom:20px;
}

.p-top-bottom-30-20{
	padding-top:20px;
	padding-bottom:20px;
}

.pc-one-column .p-top-bottom-30-20{
	padding-top:30px;
	padding-bottom:30px;
}

/*固定上下共通値*/
.p-top-bottom-5{
	padding-top:5px;
	padding-bottom:5px;
}

.p-top-bottom-10{
	padding-top:10px;
	padding-bottom:10px;
}

.p-top-bottom-15{
	padding-top:15px;
	padding-bottom:15px;
}

.p-top-bottom-20{
	padding-top:20px;
	padding-bottom:20px;
}

/*パディング*/
.p-bottom-10 {
	padding-bottom: 10px;
}

.p-bottom-15 {
	padding-bottom: 15px;
}

.p-bottom-20 {
	padding-bottom: 20px;
}

.p-bottom-30 {
	padding-bottom : 30px;
}

.p-top-0{
	padding-top: 0px !important;
}

.p-top-5{
	padding-top: 5px;
}

.p-top-10{
	padding-top: 10px;
}

.p-top-15{
	padding-top: 15px;
}

.p-top-20{
	padding-top: 20px;
}

.p-right-10{
	padding-right: 10px;
}

.p-right-20{
	padding-right: 20px;
}

.p-left-5{
	padding-left: 5px;
}

.p-left-10{
	padding-left: 10px;
}

.p-left-20{
	padding-left: 20px;
}

.p-left-15{
	padding-left: 15px;
}

.p-all-20 {
	padding : 20px;
}

/*変動パディング*/

/*top*/
.p-top-10-5 {
	padding-top: 5px;
}

.pc-one-column .p-top-10-5 {
	padding-top: 10px;
}

.p-top-10-8 {
	padding-top: 8px;
}

.pc-one-column .p-top-10-8 {
	padding-top: 10px;
}

.p-top-15-10 {
	padding-top: 10px;
}

.pc-one-column .p-top-15-10 {
	padding-top: 15px;
}

.p-top-20-15 {
	padding-top: 15px;
}

.pc-one-column .p-top-20-15 {
	padding-top: 20px;
}

.p-top-30-20 {
	padding-top: 20px;
}

.pc-one-column .p-top-30-20 {
	padding-top: 30px;
}

/*bottom*/
.p-bottom-10-5 {
	padding-bottom: 5px;
}

.pc-one-column .p-bottom-10-5 {
	padding-bottom: 10px;
}

.p-bottom-10-8 {
	padding-bottom: 8px;
}

.pc-one-column .p-bottom-10-8 {
	padding-bottom: 10px;
}

.p-bottom-15-10 {
	padding-bottom: 10px;
}

.pc-one-column .p-bottom-15-10 {
	padding-bottom: 15px;
}

.p-bottom-20-15 {
	padding-bottom: 15px;
}

.pc-one-column .p-bottom-20-15 {
	padding-bottom: 20px;
}

/*left*/
.p-left-15-10 {
	padding-left: 10px;
}

.pc-one-column .p-left-15-10 {
	padding-left: 15px;
}

.p-left-20-15 {
	padding-left: 15px;
}

.pc-one-column .p-left-20-15 {
	padding-left: 20px;
}

.p-left-30-20 {
	padding-left: 20px;
}

.pc-one-column .p-left-30-20 {
	padding-left: 30px;
}

.p-left-35-25 {
	padding-left: 25px;
}

.pc-one-column .p-left-35-25 {
	padding-left: 35px;
}

/*rigth*/
.p-right-10-5 {
	padding-right: 5px;
}

.pc-one-column .p-right-10-5 {
	padding-right: 10px;
}

.p-right-15-10 {
	padding-right: 10px;
}

.pc-one-column .p-right-15-10 {
	padding-right: 15px;
}


.p-right-20-15 {
	padding-right: 15px;
}

.pc-one-column .p-right-20-15 {
	padding-right: 20px;
}

.p-right-35-25 {
	padding-right: 25px;
}

.pc-one-column .p-right-35-25 {
	padding-right: 35px;
}

/*配置*/

.align-center {
	text-align : center;
}

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

/*非表示*/
.display-none {
	display : none;
}

/* インライン要素 */
.display-inline {
	display	: inline;
}

/* テーブル */
.display-table-cell {
	display : table-cell;
}

/*文字サイズ*/

.font8 {
	font-size : 8px;
}

.font10 {
	font-size : 10px;
}

.font11 {
	font-size : 10px;
}

.font12 {
	font-size : 12px;
}


/* 文字サイズCLASS共通化 */
/* -3px */
.font-77per {
	font-size: 77%;
}

.font-74per {
	font-size: 74%;
}

/* -2px */
.font-88per {
	font-size: 88%;
}

.font-93per {
	font-size: 93%;
}

/* 標準 */
.font-100per {
	font-size: 100%;
}

.font-114per {
	font-size:114%;
}

.font-124per {
	font-size: 124%;
}

.font-126per {
	font-size: 126%;
}

.font-129per {
	font-size: 129%;
}

.font-130per {
	font-size: 130%;
}


.dotted-top{
    border-top : 1px dotted #666;
}

.dotted-bottom{
    border-bottom : 1px dotted #666;
}

/* 86% == 12px */
.font-86per {
	font-size : 86%;
}

.bold {
	font-weight : bold;
}

.white-space-nowrap {
	white-space:nowrap;
}

.line-through{
	text-decoration:line-through;
}


/*文字色*/
.red {
	color : #D80000;
}
.initial{
	color:#333333;
}
.color888 {
	color:#888;
}
.color999 {
	color:#999;
}
/*透明*/
.opacity50 {
    ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* internet explorer 8 */
    filter: alpha(opacity=50); /* internet explorer 5~7 */
    -khtml-opacity: 0.5;      /* khtml, old safari */
    -moz-opacity: 0.5;       /* mozilla, netscape */
    opacity: 0.5;           /* fx, safari, opera */
}

/*ナビゲーション※管理画面・閲覧画面共に利用している為修正する際注意*/
.nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
}

.nav-bar > li {
  float: left;
}

.nav-bar{
	zoom: 100%;
}
.nav-bar:after{
	content: " ";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

.nav li > ul{
	display:none;
	position:absolute;
	width:120px;
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
	z-index:999;
}

.nav li ul li ul{
	display:none;
	width:120px;
	position:absolute;
	top:0px;
	left:120px;
}

.nav li:hover > ul,.nav li.rollover > ul{
	display:block;
}
/* 画像表示関連---------------------------------------------------------------------------------- */
.block-media{
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    text-align: center;
}

.block-media.ratio-1-1{
       padding-bottom: 100%;
}
.block-media.ratio-3-2{
    padding-bottom: 66.66%;
}
.block-media.ratio-4-3{
    padding-bottom: 75%;
}
.block-media.ratio-16-9{
    padding-bottom: 56.25%;
}

.block-media .media_box{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-width:100%;
    min-height:100%;
    z-index:0;
}
.block-media .media_box img{
	line-height: 0px;
}
.block-media iframe,
.block-media object,
.block-media video,
.block-media embed{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-width:100%;
    height: 100%;
    min-height:100%;
}

.block-media video{
    background-color:#000;
}

/* #3774 */
.block-media video::-webkit-media-controls-enclosure {
    overflow:hidden;
}

.block-media video::-webkit-media-controls-panel {
    width: calc(100% + 30px);
}

.block-media.no-height{
	padding:0px;
}

.block-media.no-height .media_box {
    position: relative;
}

.block-media.all-media{
	border:solid 1px #ccc;
}

.block-media.all-media.border-none{
	border:none;
}

.block-media .media-icon{
	display:none;
	width:38px;
	height:38px;
	position:absolute;
	top:50%;
	left:50%;
	margin-top:-19px;
	margin-left:-19px;


    color: #fff;
    font-size: 28px;
    line-height: 38px;
    text-align: center;
    text-shadow: 2px 2px 4px #555;
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
}
.block-media .media-icon-b{
	display:none;
	width:38px;
	height:38px;
	position:absolute;
	top:50%;
	left:25%;
	margin-top:-19px;
	margin-left:-19px;


    color: #fff;
    font-size: 28px;
    line-height: 38px;
    text-align: center;
    text-shadow: 2px 2px 4px #555;
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
}
.block-media:hover .media-icon-b{
	display:block;
}

.block-media .media-icon-a{
	display:none;
	width:38px;
	height:38px;
	position:absolute;
	top:50%;
	left:75%;
	margin-top:-19px;
	margin-left:-19px;


    color: #fff;
    font-size: 28px;
    line-height: 38px;
    text-align: center;
    text-shadow: 2px 2px 4px #555;
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
}
.block-media:hover .media-icon-a{
	display:block;
}

.block-media:hover .media-icon{
	display:block;
}

.block-media a[href].media-link{
	display:block;
}

/*ricoh theta*/
/*
.block-media .media-icon.theta_pano_btn{
position: absolute;
top: 50%;
left: 50%;
margin-top: -23px;
margin-left: -23px;
width: 46px;
height: 46px;
background-image: url("./public/images/theta_btn.png");
background-repeat: no-repeat;
background-position: center center;
cursor: pointer;

}
*/
/* サムネイル（仮） */
.media-thumb {
	width:100%;
	height:100%;
	line-height:100%;
	background:#DDDDDD;
	color: #FFFFFF;
	text-align:center;
	font-size:200%;
	vertical-align:middle;
	display:table;
}
.media-thumb i{
	vertical-align:middle;
	display:table-cell;
}


/*sns---------------------------------------------------------------------------------------------- */
div.sns-btn-area{
	position: relative;
	display	: block;
/*	margin	: 10px 0 0 0;*/
	z-index	: 2;
}

div.sns-btn-area ul{
	display	: block;
	float	: right;

/*
	position:absolute;
	right	: 5px;
	top	: 0px;
*/
}
div.sns-btn-area ul li{
	float	: left;
	width	: 105px;
	height	: 30px;
}
div.sns-btn-area ul li *{
	vertical-align: middle;
}


/*rss---------------------------------------------------------------------------------------------- */

a.rss-btn {
	font-size : 16px !important;
	color : #FF9226 !important;
}

a.rss-btn:link {
	color : #FF9226 !important;
	text-decoration : none !important;
}

a.rss-btn:active {
	color : #FF9226 !important;
	text-decoration : none !important;
}

a.rss-btn:visited {
	color : #FF9226 !important;
	text-decoration : none !important;
}

a.rss-btn:hover {
	color : #FF9226 !important;
	text-decoration : none !important;
}

/* ぺーじめくり */
.paginator {
	text-align: center;
}

.paginator span {
	display : inline-block;
	height:30px;
	min-width:30px;
	line-height: 2.0;
	vertical-align: middle;
	margin-left:10px;
	padding: 2px 4px;
	border: 2px solid #999;
	background: #fff;
}

#bg .paginator span{
	background : none;
}

.paginator span.first,
.paginator span.last {
	height:30px;
	min-width:36px;
	padding:0px 5px;
}

.paginator span.first{
	margin-left:0px;
}


.paginator a:link,.paginator a:active,.paginator a:visited {
	/*color : #005FBD !important;*/
	text-decoration : none !important;
}

.paginator a[href]:hover {
	text-decoration : none !important;
}




/*blockskip---------------------------------------------------------------------------------------------- */

#block_sk{
    max-height: 1px;
    font-size: 1px;
}


#block_sk a{
	top:-50px;
	position: absolute;
	display: block;
}

#block_sk a.show{
	font-size: 14px;
	padding: 5px;
	height: 30px;
	width: 100%;
	display: block;
	background-color: #000;
	text-align: center;
	color: #FFF;
	z-index: 100;
	position: relative;
	top:0px;
}


/*WEBアクセシビリティ設定時---------------------------------------------------------------------------------------------- */

#totop-btn .icon_caption_box icon_caption{
	position: absolute;
	top: 0;
	margin-top: 20px;
	font-size: 11px;
	left: 0;
	right: 0;
}

/*文字色*/
.webac .red {
	color : #b20000;
}
