@charset "utf-8";
/* CSS Document */

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

header,footer,nav,section,article,figure,aside {
  display:block;/* html5以降のタグをブロック要素に指定 */
}

/* link style
---------------------------------------------------------*/
a {
	position :relative;
	z-index :50;
	outline: none;/* リンクした要素をクリックした際の枠線を表示しない */
}

a:link {
	color: #0044cc;/* 青　最もクリック率の高い色らしい（背景色と合うかは微妙･･･） */
	text-decoration: none;
}
a:visited {
	color: #CC9900;/* オレンジ　訪問済みリンク色 */
	text-decoration: none;
}
a:hover {
	color: #FF0000;/* 赤　マウスオーバー時リンク色 */
	text-decoration: none;
}
a:active {
	color: #FF0000;/* 赤　クリック時リンク色 */
	text-decoration: none;
}
a img {
	border-style: none;/* 画像にリンクを貼った際のボーダーの削除 */
}

a.overwhite{
    background-color:#ffffff;
    display:block;
}

a.overwhite:hover img{
    cursor:pointer;
    filter: alpha(opacity=60);        /* ie lt 8 */
    -ms-filter: "alpha(opacity=60)";  /* ie 8 */
    -moz-opacity:0.6;                 /* FF lt 1.5, Netscape */
    -khtml-opacity: 0.6;              /* Safari 1.x */
    opacity:0.6;
    zoom:1;
}

.overbright:hover{
	-webkit-filter: brightness(120%);
	filter:brightness(120%);
}

img {
	vertical-align:bottom;
}

.screen_none {
	display :none;
}

/* clearfix
---------------------------------------------------------*/

.clearfix:after {
  content: "."; 
  display: block; 
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* z-index クリックしたいでも出来ない時に
---------------------------------------------------------*/

.z50,.z100,.z200 {
	position :relative;
}

.z50 {
	z-index :50;
}

.z100 {
	z-index :100;
}

.z200 {
	z-index :200;
}

/* widthテンプレート
---------------------------------------------------------*/

.w25 {
	width :25%;
}

.w50 {
	width :50%;
}

.w100 {
	width :100%;
}

.rs_img {/* 画像レスポンシブ対応*/
	max-width :100%;
	height :auto;
}

.rs_img_50 {/* 画像レスポンシブ対応50%*/
	max-width :50%;
	height :auto;
}

.rs_img_75 {/* 画像レスポンシブ対応50%*/
	max-width :50%;
	height :auto;
}

@media screen and (max-width: 800px) {
.rs_img_50,.rs_img_75 {
	max-width :100%;
}
}

/* フォントスタイル
---------------------------------------------------------*/

.big {
	font-size :200%;
}

.red {
  color:#CC0000;
}

.black {
  color: #333333;
}

.mincho {
	font-family: "ヒラギノ明朝 Pro W2","ヒラギノ明朝 Pro W2","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif !important;
}

/* 背景色(ここから)
---------------------------------------------------------*/

.bg_white {
	background :#fff !important;
}

.bg_brown {
	background :#7c6556 !important;
}

.bg-pink {
	background : #fba !important;
}

/* 背景色(ここまで)
---------------------------------------------------------*/


.center {
	text-align: center;
}

.right {
	text-align: right;
}

.floatL {
	float :left;
}

.floatR {
	float :right;
}

.floatC {
	clear :both;
}

@media screen and (max-width: 500px) {
.sp_none {
	display :none !important;
}
}

@media screen and (min-width: 500px) {
.pc_none {
	display :none !important;
}
}

/* 水平線デザインここから ▽▽
---------------------------------------------- */

hr {
	margin :0.5em 0 0.5em 0;
}

.hr01 {
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
}

.hr02 {
    border: 0;
    border-bottom: 1px dashed #ccc;
    background: #999;
}

.partition_n {
	display :none;
	clear :both;
}

/* 水平線デザインここまで △△
---------------------------------------------- */

/* 当分divここから ▽▽
---------------------------------------------- */

.divide_wrap {
	display :table;
	position :relative;
	width :100%;
	table-layout: fixed;
}

.divide02,.divide03,.divide04,.divide05,.divide06,.divide07 {
	display :table-cell;
	vertical-align:top;
}

.divide02 {
	width : 50% ; 
}

.divide03 {
	width : 33.33333% ; 
}

.divide04 {
	width : 25% ; 
}

.divide05 {
	width : 20% ; 
}

.divide06 {
	width : 16.66666% ; 
}

.divide07 {
	width : 14.28571% ; 
}

@media screen and (max-width: 800px) {
.divide02,.divide03,.divide04,.divide05,.divide06,.divide07 {
	display :block;
	width :100%;
}
}

/* 当分divここまで △△
---------------------------------------------- */


/* 本文枠ここから ▽▽
---------------------------------------------- */

.note {
	margin :0.5em;
	padding :1em;
	background :#FAFAD2;
}

.note01 {
	margin :0.5em;
	padding :1em;
	background :#fff;
}

/* 本文枠ここまで △△
---------------------------------------------- */

.none_list {
	padding-left :2em;
	list-style :none;
}

.text_list {/* ulの位置調整 */
	padding-left :2em;
	text-align :left !important;
}

.text_list01 {
	margin :1em 0 1em 0;
}

.text_list01 dt,.text_list01 dd {
	padding :0.5em 0.5em 0.5em 1em;
}

.text_list03 li {
	width :31%;
	padding :1em 3% 1em 3%;
	margin : 1%;
	font-size :120%;
	color : #fff;
	background :#00BFFF;
	float :left;
	list-style :none;
	text-align :center;
	border: #1E90FF solid 3px;
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

@media screen and (max-width: 800px) {
.text_list03 li {
	width :48%;
}
}

@media screen and (max-width: 600px) {
.text_list03 li {
	width :98%;
	font-size :100%;
	float :none;
}
}

.photo_list03 li {
	width :31%;
	padding :1em 3% 1em 3%;
	margin : 1%;
	float :left;
	list-style :none;
}

.form_list dt,.form_list dd {
	padding :0.5em 0.5em 0.5em 1em;
}

/* インプット要素のレスポンシブ対応クラス */
.input_s,.input_m,.input_l {
	font-size :150%;
	margin :2px 0;
	padding-left :5px;
}

.input_s {
	width :50%;
}

.input_m {
	width :80%;
}

.input_l {
	width :95%;
}

label {
	white-space :nowrap;
}

.pad01 {
	padding :1em;
}

.pad02 {
	padding :2em;
}

.pad03 {
	padding :3em;
}

.pad06 {
	padding :6em;
}

@media screen and (max-width: 500px) {
.pad02,.pad03,.pad06 {
	padding :1em;
}
}


/* リストテンプレート（ここから）
-------------------------------------------------- */
.grid_list {
	list-style :none;
}

.grid_list li {
	float :left;
}

.fl_list dt {
	font-size :90%;
	width :20%;
	float :left;
	clear:both;
	margin:1.2em 0;
	padding:0px 3px;
	text-align :center;
	font-weight :bold;
	background : #fff;
	border : #c0c0c0 solid 1px;
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

.fl_list dd {
	margin-left:24%;
	padding:1em 0 0.3em 0.5em;
	border-bottom : #808080 dotted 1px;
}

/* IE7以下以外用 */
.fl_list dd:after {
  content:'';
  display:block;
  clear:both;
}

.sum_list {
    width: 100%;
    padding: 0.5em 0;
    border-bottom : #808080 dotted 1px;
}

.sum_list dt {
    margin: 0.5em 0;
    font-size :90%;
    text-align: center;
    vertical-align: middle;
    font-weight :bold;
}

.sum_list dd {
    margin-left: 0.5em;
    font-size :90%;
    text-align: left;
    vertical-align: middle;
}

@media screen and (max-width: 480px) {
.fl_list dt {
	width :100%;
}

.fl_list dd {
	margin-left:0;
}
}

/* リストテンプレート（ここまで）
-------------------------------------------------- */


/* トップスライド(ここから)
---------------------------------------------------------*/
.top_gallery {
	max-width :1000px;
	margin :0 auto 0 auto;
	clear :both;
	background :#fff;
}

.flexslider ul {list-style:none;}
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides > li a {list-style: none;}
.flexslider .slides img {width: 100%; display: block;}
.flex-pauseplay span {text-transform: capitalize;}

/* Clearfix for the .slides element */
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {display: block;}

/* FlexSlider Default Theme
*********************************/
.flexslider { margin: 0; border: 0; position: relative;  zoom: 1; }
.flex-viewport { max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; }
.loading .flex-viewport { max-height: 300px; }
.flexslider .slides { zoom: 1; }
.carousel li { margin-right: 5px; }

/* Font-face Icons */
@font-face {
font-family: 'flexslider-icon';
src:url('flexslider-icon.eot');
src:url('flexslider-icon.eot?#iefix') format('embedded-opentype'),
url('flexslider-icon.woff') format('woff'),
url('flexslider-icon.ttf') format('truetype'),
url('flexslider-icon.svg#flexslider-icon') format('svg');
}
/* Direction Nav */
.flex-direction-nav {*height: 0;}
.flex-direction-nav a  { text-decoration:none; display: block; width: 40px; height: 40px; margin: -20px 0 0; position: absolute; top: 50%; z-index: 10; overflow: hidden; opacity: 0; cursor: pointer; color: rgba(0,0,0,0.8); text-shadow: 1px 1px 0 rgba(255,255,255,0.3); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }
.flex-direction-nav .flex-prev { left: -50px; }
.flex-direction-nav .flex-next { right: -50px; text-align: right; }
.flexslider:hover .flex-prev { opacity: 0.7; left: 10px; }
.flexslider:hover .flex-next { opacity: 0.7; right: 10px; }
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover { opacity: 1; }
.flex-direction-nav .flex-disabled { opacity: 0!important; filter:alpha(opacity=0); cursor: default; }
.flex-direction-nav a:before  { font-family: "flexslider-icon"; font-size: 40px; line-height:1; display: inline-block; content: '\f001'; }
.flex-direction-nav a.flex-next:before  { content: '\f002'; }

/* Pause/Play */
.flex-pauseplay a { display: block; width: 20px; height: 20px; position: absolute; bottom: 5px; left: 10px; opacity: 0.8; z-index: 10; overflow: hidden; cursor: pointer; color: #000; }
.flex-pauseplay a:before  { font-family: "flexslider-icon"; font-size: 20px; display: inline-block; content: '\f004'; }
.flex-pauseplay a:hover  { opacity: 1; }
.flex-pauseplay a.flex-play:before { content: '\f003'; }

/* Control Nav */
.flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); -moz-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); -o-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); box-shadow: inset 0 0 3px rgba(0,0,0,0.3); }
.flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }

.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}

@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev { opacity: 1; left: 10px;}
  .flex-direction-nav .flex-next { opacity: 1; right: 10px;}
}

/* トップスライド(ここまで)
---------------------------------------------------------*/

.lp_content {
	display :table;
	position :relative;
	width :100%;
	table-layout: fixed;
}

.lp {
	display :table-cell;
	vertical-align:top;
}

.content70 {
	width :70%;
}

.content60 {
	width :60%;
}

.content40 {
	width :40%;
}

.content30 {
	width :30%;
}

@media screen and (max-width: 500px) {
.content70,.content60,.content40,.content30 {
	display :block;
	width :100%;
}
}

.lp_content h1:not([class]) {
	font-size :200%;
	padding: 5px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.lp_content h2:not([class]) {
	font-size :150%;
	position: relative;
}

.lp_content article {
	padding : 1em;
}

@media screen and (max-width: 800px) {
header {
	display :none !important;
}
}

/*youtube埋め込みスタイル（リキッド）ここから*/

.ytg_player {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.ytg_player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.ytg_thumbnails img {
	cursor : pointer;
}

/*youtube埋め込みスタイル（リキッド）ここまで*/

/* 記事背景画像（ここから）
-------------------------------------------------- */
.article_bg01 {
	background :url(../img/article_bg01.jpg) repeat 0 0;
}

.article_bg02 {
	background :url(../img/article_bg02.jpg) repeat 0 0;
}

.article_bg03 {
	background :url(../img/article_bg03.jpg) repeat 0 0;
}

/* 記事背景画像（ここまで）
-------------------------------------------------- */

/*iframe埋め込みスタイル（リキッド）ここから*/

.rs_frame {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.rs_frame iframe,
.rs_frame object,
.rs_frame embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height:100%;
}

.g_map {
position: relative;
padding-bottom: 36.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.g_map iframe,
.g_map object,
.g_map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height:100%;
pointer-events:none;
}

.article_wrap {
	background: #FFFAF0;
	margin:10px 0px 10px 0px;
	padding: 0.5em 1em 0.5em 1em;
	border: #c0c0c0 solid 1px;
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

.text_wrap {
	background: #fff;
	margin:10px 0px 10px 0px;
	padding: 0.5em 1em 0.5em 1em;
	border: #c0c0c0 solid 1px;
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

table.company {
    width: auto;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 15px;
}
 
table.company th,
table.company td {
    padding: 5px;
}
 
table.company th {
    background: #369;
    vertical-align: middle;
    text-align: left;
    width: 100px;
    overflow: visible;
    position: relative;
    color: #fff;
    font-weight: normal;
    font-size: 15px;
}
 
table.company th:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-left-color: #369;
    border-width: 10px;
    margin-top: -10px;
}

table.company td {
    background: #f8f8f8;
    width: auto;
    padding-left: 20px;
}

address {
	width: 100%;
	padding :1em 0 1em 0;
	background: #1b1464;
	text-align: center;
	margin: 0;
	color: #fff;
}

#page_menu {
	position: fixed;
	right: 0px;
	bottom: 0px;
	z-index :9999;
}

[data-sr] { visibility: hidden; }

/* twitter（ここから）
-------------------------------------------------- */

.timeline {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing:border-box;
}

/* twitter（ここまで）
-------------------------------------------------- */

