/*
*/

/* ==== Google font ==== */
@import url('https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900,100italic,300italic,400italic,700italic,900italic|Montserrat:700|Merriweather:400italic');

/* 中国語・日本語対応のフォント */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC&display=swap');

/* === prettify === */
@import url('../assets/js/google-code-prettify/prettify.css');
/* === fontawesome === */
@import url('../assets/css/font-awesome.css');
/* === custom icon === */
@import url('../assets/css/custom-fonts.css');
/* ==== overwrite bootstrap standard ==== */
@import url('../assets/css/theme.css');
@import url('../assets/css/animate.css');


html {
  scroll-behavior: auto !important; /* CSSのスムーズスクロールを無効化してjQuery優先に */
}



/* ===================================
お知らせ
==================================== */
.news-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #ddd;
}

.align-left h2 {
  text-align: left;
}

@media screen and (min-width: 769px) {
  .news-list {
    max-width: 960px;
    margin: 0 auto;

  }
}
.news-list li {
  border-bottom: 1px solid #ddd;
  padding: 12px 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  font-size: 14px;
}

.news-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 160px;
  color: #666;
  font-weight: 500;
}

.category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100px; /* ← 幅を固定 */
    height: 26px; /* 任意の高さを指定（推奨） */
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    border-radius: 12px;
    white-space: nowrap;
    margin-right: 12px;
    padding: 0 8px; /* 必要なら調整可能 */
}

/* カテゴリごとの色分け */
.category-prode {
    background-color: #cb1103; /* 赤 製品*/
}

.category-exhibition {
    background-color: #0069AD; /* 青 イベント*/
}

.category-topics {
    background-color: #1E9C00; /* 緑 お知らせ*/
}

.category-other {
    background-color: #D79302; /* 橙（その他） */
}


.news-date {
    font-size: 15px;
    color: #4B4949;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
}

.news-title {
  flex: 1;
text-align: left;
}

.news-title a {
  color: #333;
  text-decoration: none;
}

.news-title a:hover {
  text-decoration: underline;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .news-list li {
    flex-direction: column;
    align-items: flex-start;
  }

  .news-meta {
    flex-direction: row; /* ← 横並びにする */
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
  }

  .news-title {
    width: 100%;
  }
}


.news-title a {
  display: block;
  color: #333;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .news-title {
    width: 100%;
    text-align: left;
    word-break: break-word;
    white-space: normal;
  }
}

.blockquote-reverse {
  margin-top: 20px;
}


.anchor-offset {
  display: block;
  position: relative;
  top: -160px; 
  visibility: hidden;
}
/* ===================================
1. General
==================================== */


body {
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
	font-size:14px;
	font-weight:300;
	line-height:1.6em;
	color:#656565;
    /* 横スクロール防止 */
    max-width: 100%;
    overflow-x: hidden;
   margin: 0;
  padding: 0;
}


a:active {
    outline: 0;
    color: #cb1103;
}

.clear {
	clear:both;
}
h1{
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: 500;
    line-height: 1.4em;
    margin-bottom: 10px;
    margin-left: 3px;
    font-style: normal;
    margin-right: 3px;
    font-size: 32px;/* デフォルトはPCサイズ */
}

/* スマホ向けフォントサイズ調整 */
@media (max-width: 768px) {
  h1 {
    font-size: 24px; /* スマホ用サイズに変更 */
  }
}

h2 {
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: 400;
    margin-bottom: 10px;
    font-size: 22px;
}

h2.same-size {
  font-size: 1em !important;
  font-weight: normal;
  line-height: 1.5!important;  
  margin-top: 1em;
  margin-bottom: 0.5em;
}


.pricing-heading h2 {
  font-size: 1.1em; /* 例：元が2emなら少し小さく */
}

h3 {
	font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: 400;
    line-height: 1.4em;
    margin-bottom: 10px;
    margin-left: 3px;
    font-style: normal;
    margin-right: 3px;
    font-size: 20px;
}
h4 {
	font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: 400;
    line-height: 1.4em;
    margin-bottom: 10px;
    margin-left: 3px;
    font-style: normal;
    margin-right: 3px;
    font-size: 16px;
}
h5 {
	font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: 500;
    line-height: 1.4em;
    margin-bottom: 10px;
    margin-left: 3px;
    font-style: normal;
    margin-right: 3px;
    font-size: 14.5px;
}

h6 {
	font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    margin-bottom: 0px;
    font-size: 13px;
    text-align: left;
}
h7 {
	font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    line-height: 1.3em;
    margin-bottom: 0px;
    color: #cb1103;
    font-size: 16px;
}
h8 {
	font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: normal;
    line-height: 1.3em;
    margin-bottom: 10px;
    font-size: 16px;
    font-variant: normal;
}
h9 {
	font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: normal;
    line-height: 1.3em;
    margin-bottom: 10px;
    font-size: 16px;
    color: #6C6A6A;
}

.highlight {
	color: #fff !important;
	padding: 0 8px;
	-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
			border-radius: 2px;
}

.color-white {
	color: #fff;
}

.row-eq-height {
    display: flex;
    flex-wrap: wrap;
}
.underline-text {
  text-decoration: underline;
}

a {
  color: #cb1103;
  text-decoration: none;
}

a:hover,
a:focus,
a:active {
  color: #cb1103;
  text-decoration: none;
}
/* ===================================
2. layout
==================================== */

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
    font-family: 
    'Noto Sans JP',         /* 日本語 */
    'Noto Sans SC',         /* 中国語（簡体字） */
    'Noto Sans TC',         /* 中国語（繁体字） */
    'Roboto',               /* 英語・汎用欧文 */
    'Helvetica Neue', 
    'Helvetica', 
    'Arial', 
    sans-serif;  
}


/* デフォルト（高さ80pxのヘッダー） */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fff;
  height: 10px;
}



#wrapper {
  width: 100%;
  margin: 0;
  padding: 50px 0 0 0;
}

.slider-page #wrapper {
  padding-top: 0;
}

/* 高さ180pxのページ用：bodyに .layout-large を付与 */
body.layout-large header {
  height: 180px;
}

body.layout-large #wrapper {
  padding: 180px 0 0 0;
}
/* お問い合わせ */
#about.section {
  padding-top: 200px; /* ヘッダー高さ + 余白 */
  padding-bottom: 60px;    
}

#wrapper.boxed {
	width:1230px;
	overflow:hidden;
	margin:0 auto;	
	padding:0;
	background:#fff;
}

@media screen and (max-width: 1230px) {
  #wrapper.boxed {
    width: 100%;
    overflow-x: hidden;
  }
}

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

.image-wrapper img {
  display: inline-block;
  margin: 10px;  
  max-width: 100%;
  height: auto;
}
/*ラップ用のマージンをつける*/

.image-section {
  margin-top: 40px;
  margin-bottom: 40px;
}

.row,.row-fluid {
    margin-bottom: 0px;
    padding-right: 0px;
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 0px;
}

.row .row,.row-fluid .row-fluid{
    margin-bottom: 10px;
    margin-right: 5px;
    margin-top: 10px;
}

.row.nomargin,.row-fluid.nomargin {
	margin-bottom:0;
}

/* センター配置*/
.center-box {
  display: flex;
  justify-content: center;  
  align-items: center; 
  margin-bottom: 30px;
}

.center-box img {
  display: block;
  margin: 0;
  padding: 0;
}

/* マージン大きめ*/
.row.margin-lg, .row-fluid.margin-lg {
    margin-top: 25px;
    margin-bottom: 25px;
    margin-left: 15px;
    margin-right: 15px;
}
/* マージンなし*/
.row.margin-md, .row-fluid.margin-md {
    margin: 10px;
}
/* マージン小さめ*/
.row.margin-sm, .row-fluid.margin-sm {
    margin: 5px;
}

/* フッターの前に余白 */
.row:last-of-type {
  margin-bottom: 20px;
}
.container:last-of-type {
  margin-bottom: 20px;
}

/* スマホ（画面幅768px以下） */
@media screen and (max-width: 768px) {
  .row:last-of-type {
    margin-bottom: 10px;  /* スマホは少し余白を小さく */
  }
  .container:last-of-type {
    margin-bottom: 10px;
  }
}

/* ===== ページ別調整 ===== */
body.slider-page header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ===== 検索フォーム ===== */
#cse-search-box {
  position: fixed;
  top: 100px;          /* ヘッダー高さ＋少し余裕 */
  right: 0;
  margin: 0;
  width: auto;
    background-color: #f0f0f0; 
  padding: 10px 20px;
  box-shadow: none;    /* 影なしでスッキリ */
  backdrop-filter: blur(5px); /* 背景ぼかし効果（対応ブラウザで有効） */
  -webkit-backdrop-filter: blur(5px);
  border-radius: 4px;  /* 少し角丸 */
  z-index: 900;
  display: flex;
  gap: 10px;
  align-items: center;
}

/* 以下、元のスタイルはそのまま */
#cse-search-box input[type="text"] {
  padding: 6px 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 200px;
  max-width: 100%;
}

#search_btn {
  padding: 6px 14px;
  font-size: 14px;
  background-color: #d9534f;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
/* ===== パンくずリストの次にくる===== */
.after-breadcrumb {
  margin-top: 60px;
}

/* ===== パンくずリストスタイル ===== */
.breadcrumb {
  background-color: #f0f0f0; /* グレー背景 */
  padding: 20px;
  margin: 0;
  list-style: none;

  position: fixed;
  top: 100px;               /* ← ヘッダーの高さ分下げる */
  left: 0;
  width: 100%;
  z-index: 900;             /* 検索フォームよりも背面にする */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  margin-bottom: 50px;
}

/* パンくずの中身 */
.breadcrumb li {
  display: inline;
  font-size: 14px;
  color: #555;
}

.breadcrumb li a {
  color: #d9534f;
  text-decoration: none;
}

.breadcrumb li a:hover {
  text-decoration: underline;
}

.breadcrumb li i,
.breadcrumb li em {
  margin: 0 6px;
  color: #999;
  font-style: normal;
}

/* 現在ページのタイトル調整 */
.breadcrumb li.active h1 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  display: inline;
}

/* パンくず分、下にスペース確保 */
body {
  padding-top: 65px; /* ヘッダー+パンくずの合計分調整 */
}

/* SNS */

.sns-icons {
  display: flex;        /* 横並び */
  gap: 24px;            /* ← マーク同士の間隔をここで調整 */
  align-items: center;
}

.sns-icons a {
  color: #cb1103;
  font-size: 20px;
  text-decoration: none;
  transition: color 0.3s;
}

.sns-icons a:hover {
  color: #006da1;
}

/* ===================================
3. Responsive media
==================================== */

.video-container,
.map-container,
.embed-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9アスペクト比 */
    overflow: hidden;
    margin: 0;
    border: none;
}

.video-container iframe,
.video-container object,
.video-container embed,
.map-container iframe,
.map-container object,
.map-container embed,
.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* iframeの共通設定（重複しないよう整理） */
iframe {
    border: none;
    display: block;
    width: 100%;
}

/* その他のスタイル */
img.img-polaroid {
    margin: 0 0 20px 0;
}

.img-box {
    max-width: 100%;
}
@media screen and (max-width: 768px) {
  .tbl-r05 {
    display: block;
    width: 100%;
  }

  .tbl-r05 thead {
    display: none; /* スマホではtheadを非表示 */
  }

  .tbl-r05 tr {
    display: block;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 20px;
    padding: 10px;
    background-color: #f9f9f9;
  }

  .tbl-r05 td {
    display: block;
    width: 100%;
    padding: 8px 0;
    box-sizing: border-box;
  }

  .tbl-r05 td::before {
    content: attr(data-label);
    display: block;
    font-weight: bold;
    color: #333;
    margin-bottom: 5px;
  }
}

.recruit-card {
  border: 1px solid #ccc;
  padding: 15px;
  margin-bottom: 30px;
  background-color: #f9f9f9;
  border-radius: 8px;
}

.recruit-item {
  margin-top: 15px;
}

.recruit-item h5 {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: bold;
}

.video-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* 16:9 */
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

@media screen and (max-width: 768px) {
  .recruit-item h5 {
    font-size: 12px;
  }
}

/* ===================================
4. Header
==================================== */

/* === header === */

/* top area */

header .top .row {
	margin-bottom: 0;
}


header .top {
    padding: 20px 0;
    margin: 0;
    /* [disabled]background: #f2f2f2; */
}

header .top {
	border-bottom: 1px solid #ddd;
}

header .top ul.topleft-info {
	list-style: none;
	margin: 10px 0 0;
	padding-left: 0;
		float:left;
}

header .top ul.topleft-info li {
	display: inline;
	margin: 0 20px 0 0;
	padding:0;
	font-weight: 600;
}


header .top ul.topleft-info li a:hover {
	text-decoration: none;
	outline: 0;
}

ul.social-network {

	list-style:none;
	margin:0;
	padding:0;
}

ul.social-network li {
	display:inline;
	margin:0 5px;
}
ul.social-network li a:hover {
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}

header .top ul.social-network li a {
	color: #fff;
}

.sb-search {
	position: relative;
	width: 0%;
	min-width: 36px;
	height: 36px;
	float: right;
	overflow: hidden;
	-webkit-transition: width 0.3s;
	-moz-transition: width 0.3s;
	transition: width 0.3s;
	-webkit-backface-visibility: hidden;
}

.sb-search-input {
    position: absolute;
    top: 0;
    right: 0;
    border: 1px solid #8F8F8F;
    outline: none;
    /* [disabled]background: #fff; */
    width: 100%;
    height: 36px;
    margin: 0;
    z-index: 10;
    padding: 2px 41px 2px 10px;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;    font-size: 14px;
    color: #2c3e50;
    background-color: #FFFFFF;
}

.sb-search-input::-webkit-input-placeholder {
	color: #efb480;
}

.sb-search-input:-moz-placeholder {
	color: #efb480;
}

.sb-search-input::-moz-placeholder {
	color: #efb480;
}

.sb-search-input:-ms-input-placeholder {
	color: #efb480;
}

.sb-icon-search,
.sb-search-submit  {
	width: 36px;
	height: 36px;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	padding: 0;
	margin: 0;
	line-height: 36px;
	text-align: center;
	cursor: pointer;
}

.sb-search-submit {
	background: #fff; /* IE needs this */
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; /* IE 8 */
    filter: alpha(opacity=0); /* IE 5-7 */
    opacity: 0;
	color: transparent;
	border: none;
	outline: none;
	z-index: -1;
}

.sb-icon-search {
	color: #fff;
	z-index: 90;
	font-size: 14px;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;   
    font-size: 14px;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-webkit-border-radius: 2px 2px 2px 2px;
		-moz-border-radius: 2px 2px 2px 2px;
			border-radius: 2px 2px 2px 2px;
}

.sb-icon-search:before {
	content: "\f002";
}

/* Open state */
.sb-search.sb-search-open,
.no-js .sb-search {
	width: 100%;
}

.sb-search.sb-search-open .sb-icon-search,
.no-js .sb-search .sb-icon-search {
	background: #666;
	color: #fff;
	z-index: 11;
}

.sb-search.sb-search-open .sb-search-submit,
.no-js .sb-search .sb-search-submit {
	z-index: 90;
}


/* -- end top area */

header .navbar {
    margin-bottom: 5px;
    padding-right: 20px;
}

.navbar-default {
    border: none;
}

.navbar-brand {
    padding: 10px 20px;
    height: 100px;
    display: flex;
    align-items: center;
    line-height: 1.5;
}


header .navbar-collapse  ul.navbar-nav {
    float: right;
    margin-right: 0;
}

header .navbar-default{
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    margin-bottom: 0px;
}

header .navbar-nav > li > a,
header .navbar-nav > li > a:hover,
header .navbar-nav > li.active > a,
header .navbar-nav > li.active > a:hover,
header .navbar-nav > li.open > a,
header .navbar-nav > li.open > a:hover,
header .nav li a,
header .nav li a:hover,
header .nav li a:focus,
header .nav li.active a,
header .nav li.active a:hover {
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif !important;
}

header .nav li a:hover,
header .nav li a:focus,
header .nav li.active a,
header .nav li.active a:hover,
header .nav li a.dropdown-toggle:hover,
header .nav li a.dropdown-toggle:focus,
header .nav li.active ul.dropdown-menu li a:hover,
header .nav li.active ul.dropdown-menu li.active a{
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

header .navbar-nav > li > a:hover,
header .nav li a:hover {
    text-decoration: none !important;
}

header .navbar-default .navbar-nav > .open > a,
header .navbar-default .navbar-nav > .open > a:hover,
header .navbar-default .navbar-nav > .open > a:focus {
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}


header .navbar {
    min-height: 100px;
}

header .navbar-nav > li  {
    padding-bottom: 0px;
    padding-top: 45px;
}

header  .navbar-nav > li > a {
    padding-bottom: 6px;
    padding-top: 5px;
    margin-left: 2px;
    line-height: 30px;
    font-weight: normal;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    font-size: medium;
}


header .nav .caret {
    border-bottom-color: #f5f5f5;
    border-top-color: #f5f5f5;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  background-color: #fff;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color:  #fff;
}	
	
header .nav li a:hover {
    color: #cb1103 !important;
}
.dropdown-menu  {
    box-shadow: none;
    border-radius: 0;
	border: 1px solid #eee;
}

header .navbar-nav > li > ul > li {
	border-bottom: 1px solid #eee;
}

header .navbar-nav > li > ul > li.dropdown-submenu > ul > li {
	border-bottom: 1px solid #eee;
}


.dropdown-menu li:last-child  {
	padding-bottom: 0 !important;
	margin-bottom: 0;
}

header .nav li .dropdown-menu  {
   padding: 0;
}

header .nav li .dropdown-menu li a {
   line-height: 30px;
   padding: 3px 12px;
}

@media (max-width: 768px) {
  .navbar-header {
    text-align: left;
  }

  .navbar-brand {
    position: absolute;
    top: 0px;
    left: 0px;
}

  .navbar-brand img {
    max-width: 200px;
    height: auto;
  }
}



/* パンくずメニューの左側に余白を追加 */
header ul.breadcrumb {
  margin-left: 30px !important;
  padding-left: 0;
  list-style: none;
}
/* --- menu --- */

header .navigation {
	float:right;
}

header ul.nav li {
    border: none;
    margin: 0;
    font-weight: 600;
    
}

header ul.nav li a {
    font-size: 16px;
    border: none;
    font-weight: normal;
    text-transform: uppercase;
}

header ul.nav li ul li a {
    font-size: 16px;
    border: none;
    font-weight: normal;
    text-transform: none;
}


.navbar .nav > li > a,.navbar .nav > li.active > .dropdown-menu > li > a {
  color: #444;
  text-shadow: none;
}


.dropdown-menu li:hover,
.dropdown-menu li a:hover,
.dropdown-menu li > a:focus,
.dropdown-submenu:hover > a, 
.dropdown-menu .active > a,
.dropdown-menu .active > a:hover {
	background: #f5f5f5;
}
.navbar .nav a:hover {
    background: none;
    font-size: 16px;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
}


.navbar .nav > .active > a,.navbar .nav > .active > a:hover {
	background:none;
   color: #cb1103;
}

.navbar .nav > .active > a:active,.navbar .nav > .active > a:focus {
    background: none;
    outline: 0;
    color: #cb1103;
}

.navbar .nav li .dropdown-menu {
	z-index:2000;
}

header ul.nav li ul {
	margin-top:1px;
}
header ul.nav li ul li ul {
	margin:1px 0 0 1px;
}
.dropdown-menu .dropdown i {
	position:absolute;
	right:0;
	margin-top:3px;
	padding-left:20px;
}

.navbar .nav > li > .dropdown-menu:before {
  display: inline-block;
  border-right: none;
  border-bottom: none;
  border-left: none;
  border-bottom-color: none;
  content:none;
}



ul.nav li.dropdown a {
	z-index:1000;
	display:block;
}

header .nav .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
}

/* sub menu */

header ul.nav li ul li.dropdown-submenu li a {	
	color: #444;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
    margin-left: 1px;
    -webkit-border-radius: 0 0 0 0;
    -moz-border-radius: 0 0 0;
    border-radius: 0 0 0 0;
}

.dropdown-submenu:hover>.dropdown-menu {
    display: block;
}

.dropdown-submenu>a:after {
    display: block;
    content: "\f105";
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    float: right;
    width: 0;
    height: 0;

    margin-top: 0;
    margin-right: 0px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.dropdown-submenu:hover>a:after {
    border-left-color: #fff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}


/* ===================================
5. Section: Featured
==================================== */

#featured{
    width: 100%;
    background: #fcfcfc;
    position: relative;
    margin: 0;
    padding: 0;
    background-color: #fcfcfc;
}


/* ===================================
6. Sliders
==================================== */

/* rev slider */
.tp-caption a.btn {
	color: #fff;
}

/* flexslider */
/* ドット（ナビゲーション）を非表示 */
.flex-control-nav {
  display: none !important;
}

/* 矢印（左右のナビゲーション）を非表示にしたい場合はこちらも追加 */
.flex-direction-nav {
  display: none !important;
}

/* ▼ 全ページ共通：スライダーのデフォルトスタイル */
.slider-wrapper .main-slider.flexslider {
  margin-bottom: 50px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.slider-wrapper .flexslider img,
.slider-page .flexslider img {
  display: block;
}

/* ▼ 特定ページ（例：トップページ）でスライダー上部余白を完全になくす */
.slider-page body,
.slider-page .slider-wrapper,
.slider-page #main-slider,
.slider-page #main-slider .flexslider,
.slider-page .main-slider.flexslider,
.slider-page .row,
.slider-page .col-lg-12,
.slider-page .flexslider .slides {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


.slider-wrapper > .row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.slider-wrapper,
.slider-wrapper > .row,
.slider-wrapper > .row > .col-lg-12,
#main-slider,
#main-slider .flexslider {
  margin: 0 !important;
  padding: 0 !important;
}

/* ▼ スライダーが .content の中にある場合、その上下余白も除去 */
.slider-page .content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ▼ spaced クラスで余白を持たせる（下層ページなど） */
.main-slider.flexslider.spaced {
  margin-top: 80px;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .main-slider.flexslider.spaced {
    margin-top: 40px;
    margin-bottom: 30px;
  }
}

/* ▼ キャプションとナビ（共通） */
.main-slider .flex-caption {
  bottom: 35px;
  background-color: rgba(0, 0, 0, 0.0);
  color: #fff;
  margin: 0;
  padding: 25px 25px 25px 30px;
  position: absolute;
  right: 0;
  width: 295px;
}
.main-slider .flex-caption h3 {
  color: #fff;
  letter-spacing: 1px;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.main-slider .flex-caption p {
  margin: 0 0 15px;
}
.main-slider .flex-direction-nav a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: '\f001';
}
.main-slider .flex-direction-nav a.flex-next:before {
  content: '\f002';
}



/* ===================================
7. Section: call action
==================================== */
section.callaction {
    /* [disabled]background: #fafafa; */
    padding-top: 0px;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 15px;
}
.cta-text {
	margin-top:10px;
	text-align: left;
}

.cta-text h2 {
    font-weight: 500;
    line-height: 1.1em;
    font-size: 23px;
	  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;}
.cta-btn {
    float: right;
    padding-top: 10px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
    margin-top: 10px;
}

/* ===================================
8. Section: Content
==================================== */

#content {
	position:relative;
	background:#fff;
	padding:60px 0 0px 0;
}

#content img {
    margin-bottom: 15px;
    height: auto;
}

/* --- box --- */

.box {
	width: 100%;
}
.box-gray  {
	background: #f8f8f8;
	padding: 20px 20px 30px;
}

.box-gray  h4,.box-gray  i {
	margin-bottom: 20px;
}

.box h4 {
	font-weight: 300;
}

.box .icon {
	margin-bottom: 20px;
}

/* ---- parallax ---- */

.parallax {
    padding-top: 110px;
    padding-bottom: 110px;
	display:block;
    position:relative;
    z-index:120;
}

#parallax1 {
  background-image: url(../img/parallax/1.jpg);
  background-position: center;
  background-size: cover;     
  background-repeat: no-repeat;
  display: block;
  position: relative;
  z-index: 120;
  margin-top: 0;            
}

#inner-headline .container,
#inner-headline .row,
#parallax1 .container {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

#parallax2{
    background-image: url(../img/parallax/3.jpg);
    background-position: center;
    display: block;
    position: relative;
    z-index: 120;
}

#parallax3{
    background-image: url(../img/parallax/2.jpg);
    background-position: center;
    display: block;
    position: relative;
    z-index: 120;
}

#parallax4{
    background-image: url(../img/parallax/4.jpg);
    background-position: center;
    display: block;
    position: relative;
    z-index: 120;
       
    margin-bottom: 0;
    padding-bottom: 20;
}
#parallax1:after {	
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWNgYGD4z0AswK4SAFXuAf8EPy+xAAAAAElFTkSuQmCC);
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	opacity: 0.9;
	z-index: -1;
}

#parallax5{
    background-image: url(../img/cop/snd_works_head.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; /* ←これでフル表示 */
      width: 100vw; /* ←画面幅いっぱいに */
    min-height: 600px; 
    display: block;
    position: relative;
    z-index: 120;
}

#parallax6 {
  background-image: url(../img/cop/about_horizon.jpg);
  background-position: left center; /* ← 左基準に変更 */
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 600px;
  display: block;
  position: relative;
  z-index: 120;
  margin: 0;
}


/* ===================================
9. Section: Bottom
==================================== */

#bottom {
	background:#fcfcfc;
	padding:50px 0 0;

}
/* twitter */
#twitter-wrapper {
    text-align: center;
    width: 70%;
    margin: 0 auto;
}
#twitter em {
    font-style: normal;
    font-size: 13px;
}

#twitter em.twitterTime a {
	font-weight:600;
}

#twitter ul {
    padding: 0;
	list-style:none;
}
#twitter ul li {
    font-size: 20px;
    line-height: 1.6em;
    font-weight: 300;
    margin-bottom: 20px;
    position: relative;
    word-break: break-word;
}


/* ===================================
10. Inner - Section: page headline
==================================== */

#inner-headline {
  background-color: #686D71;
  position: relative;
  color: #fefefe;
  margin-top: 0px;
  min-height: 40px;
  padding-top: 15px;
 margin-bottom: 0;
  padding-bottom: 0;
}

#inner-headline .row {
  display: flex;
  align-items: center;
}

#inner-headline h2 {
  display: flex;
  justify-content: center;  /* ← 横方向の中央寄せ */
  align-items: center;  
  color: #fff;
  font-size: 21px;
  line-height: 1.2;
  width: 100%;
  padding-left: 0px; /* ← 左に20pxの余白を追加 */
 text-align: center;  
}

/* ▼ スマホ用（画面幅が768px以下） */
@media screen and (max-width: 768px) {
  #inner-headline .row {
    height: 100px;
    align-items: center;
  }

  #inner-headline h2 {
    font-size: 16px;
  }

  .breadcrumb {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    gap: 8px;
    margin-bottom: 4px;
  }
}



#inner-headline ul.breadcrumb {

    float: left;
}

#inner-headline ul.breadcrumb li {
	margin-bottom:0;
	padding-bottom:0;
}
#inner-headline ul.breadcrumb li {
	font-size:13px;
	color:#fff;
	font-weight: 600;
}

#inner-headline ul.breadcrumb li i{
	color:#fff;
	
}

#inner-headline ul.breadcrumb li a {
	color:#fff;
	
}

ul.breadcrumb li a:hover {
	text-decoration:none;
}

@media screen and (max-width: 767px) {
  .breadcrumb li {
    padding-top: 40px;
     min-height: 60px;  
  }
}
/* ============================
11. Forms
============================= */

/* --- contact form  ---- */
form#contactform input[type="text"] {
  width: 100%;
  border: 1px solid #f5f5f5;
  min-height: 40px;
  padding-left:20px;
  font-size:13px;
  padding-right:20px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;

}

form#contactform textarea {
border: 1px solid #f5f5f5;
  width: 100%;
  padding-left:20px;
  padding-top:10px;
  font-size:13px;
  padding-right:20px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;

}

.validation {
    color: red;
    display:none;
    margin: 0 0 20px;
    font-weight:400;
    font-size:13px;
}

#sendmessage {
    color: green;
    border:1px solid green;
    display:none;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#errormessage {
    color: red;
    display:none;
    border:1px solid red;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#sendmessage.show, #errormessage.show, .show {
	display:block;
}

/* --- comment form ---- */
form#commentform input[type="text"] {
  width: 100%;
  min-height: 40px;
  padding-left:20px;
  font-size:13px;
  padding-right:20px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
	-webkit-border-radius: 2px 2px 2px 2px;
		-moz-border-radius: 2px 2px 2px 2px;
			border-radius: 2px 2px 2px 2px;

}

form#commentform textarea {
  width: 100%;
  padding-left:20px;
  padding-top:10px;
  font-size:13px;
  padding-right:20px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
	-webkit-border-radius: 2px 2px 2px 2px;
		-moz-border-radius: 2px 2px 2px 2px;
			border-radius: 2px 2px 2px 2px;
}


/* --- search form --- */
.search{
	float:right;
	margin:35px 0 0;
	padding-bottom:0;
}

#inner-headline form.input-append {
	margin:0;
	padding:0;
}



/* ===============================
12. Portfolio
================================ */

.cbp-popup-singlePage-counter {
    color: #f8f8f8;
}

.cbp-l-grid-team-name:hover {
    color: #666;
}
.cbp-popup-singlePage .cbp-l-project-details-visit:hover {
    color: #fff;
}

.cbp-l-caption-buttonLeft:hover,
.cbp-l-caption-buttonRight:hover {
    background-color: #666;
}

/* ===============================
13. Elements
================================ */

/* countdown */
#countdown {
    font-size: 25px;
    line-height: 1.1em;
    margin: 40px 0 60px;
    font-weight: 300;
}


/* register */
/* Credit to bootsnipp.com for the css for the color graph */
.colorgraph {
    height: 5px;
    border-top: 0;
    background: #c4e17f;
    border-radius: 5px;
    background-image: -webkit-linear-gradient(0deg,rgba(152,192,56,1.00) 0%,rgba(196,225,127,1.00) 7.77%,rgba(196,225,127,1.00) 12.50%,rgba(247,253,202,1.00) 12.50%,rgba(247,253,202,1.00) 25%,rgba(254,207,113,1.00) 25%,rgba(254,207,113,1.00) 37.50%,rgba(240,119,108,1.00) 37.50%,rgba(240,119,108,1.00) 50%,rgba(219,157,190,1.00) 50%,rgba(219,157,190,1.00) 62.50%,rgba(196,156,222,1.00) 62.50%,rgba(196,156,222,1.00) 75%,rgba(102,154,225,1.00) 75%,rgba(102,154,225,1.00) 82.90%,rgba(102,154,225,1.00) 87.50%,rgba(98,194,228,1.00) 87.50%,rgba(98,194,228,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(152,192,56,1.00) 0%,rgba(196,225,127,1.00) 7.77%,rgba(196,225,127,1.00) 12.50%,rgba(247,253,202,1.00) 12.50%,rgba(247,253,202,1.00) 25%,rgba(254,207,113,1.00) 25%,rgba(254,207,113,1.00) 37.50%,rgba(240,119,108,1.00) 37.50%,rgba(240,119,108,1.00) 50%,rgba(219,157,190,1.00) 50%,rgba(219,157,190,1.00) 62.50%,rgba(196,156,222,1.00) 62.50%,rgba(196,156,222,1.00) 75%,rgba(102,154,225,1.00) 75%,rgba(102,154,225,1.00) 82.90%,rgba(102,154,225,1.00) 87.50%,rgba(98,194,228,1.00) 87.50%,rgba(98,194,228,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(152,192,56,1.00) 0%,rgba(196,225,127,1.00) 7.77%,rgba(196,225,127,1.00) 12.50%,rgba(247,253,202,1.00) 12.50%,rgba(247,253,202,1.00) 25%,rgba(254,207,113,1.00) 25%,rgba(254,207,113,1.00) 37.50%,rgba(240,119,108,1.00) 37.50%,rgba(240,119,108,1.00) 50%,rgba(219,157,190,1.00) 50%,rgba(219,157,190,1.00) 62.50%,rgba(196,156,222,1.00) 62.50%,rgba(196,156,222,1.00) 75%,rgba(102,154,225,1.00) 75%,rgba(102,154,225,1.00) 82.90%,rgba(102,154,225,1.00) 87.50%,rgba(98,194,228,1.00) 87.50%,rgba(98,194,228,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(152,192,56,1.00) 0%,rgba(196,225,127,1.00) 7.77%,rgba(196,225,127,1.00) 12.50%,rgba(247,253,202,1.00) 12.50%,rgba(247,253,202,1.00) 25%,rgba(254,207,113,1.00) 25%,rgba(254,207,113,1.00) 37.50%,rgba(240,119,108,1.00) 37.50%,rgba(240,119,108,1.00) 50%,rgba(219,157,190,1.00) 50%,rgba(219,157,190,1.00) 62.50%,rgba(196,156,222,1.00) 62.50%,rgba(196,156,222,1.00) 75%,rgba(102,154,225,1.00) 75%,rgba(102,154,225,1.00) 82.90%,rgba(102,154,225,1.00) 87.50%,rgba(98,194,228,1.00) 87.50%,rgba(98,194,228,1.00) 100%);
}

form.register-form .row {
	margin-bottom:0;
}

/* clients */
.client img {
    opacity: 1;
}

.client img:hover {
    opacity: 0.7;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    transition: all .3s ease;
    /* [disabled]background: glay; */
}


/* testimonial slide */
.testimonialslide {
	margin-top:0;
	padding-top: 0;
}

.testimonialslide.flexslider { background: transparent; border: none;
-webkit-border-radius: 0; -moz-border-radius: 0; -o-border-radius: 0; border-radius: 0; -webkit-box-shadow: none; -moz-box-shadow: none; 
-o-box-shadow: none;
box-shadow: none;
}

.testimonialslide ul li blockquote {
	border-left: none;
}

.testimonialslide ul li h4 {
	font-weight: 900;
}
.testimonialslide ul li h4 span {
	font-weight: 400;
}

/* -- counter --- */
/* stats */
.stats .icon {
	margin: 0 0 20px 0;
}

.stats strong.number {
	font-size: 38px;
}

.stats span.text {
	font-weight: 700;
	font-size: 30px;
}

.parallax .stats strong.number {
    text-shadow: 1px 1px 0 #444;
    color: #0000000;
}

.parallax .stats span.text {
	text-shadow: 1px 1px 0 #444;
}


/* --- blockquote --- */
blockquote {
	font-size:16px;
	font-weight:400;
	  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-style:italic;
	padding-left:0;
	color:#a2a2a2;
	line-height:1.6em;
	border:none;
}

blockquote cite 							{ display:block; font-size:12px; color:#666; margin-top:10px; }
blockquote cite:before 					{ content:"\2014 \0020"; }
blockquote cite a,
blockquote cite a:visited,
blockquote cite a:visited 				{ color:#555; }

/* --- pullquotes --- */

.pullquote-left {
    display: block;
    color: #333;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-size: 13px;
    text-align:left;
    line-height: 1.6em;
    padding-left: 20px;
    font-weight: 600;
}

.pullquote-right {
	display:block;
	color:#333;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
	font-size:14px;
	line-height:1.6em;
	padding-right:20px;
}

/* --- button --- */
.btn-theme {
  background-color: #cb1103;
  color: #fff;        
  border: none;      
  padding: 0.5em 1em;    
  display: inline-block;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;   
}

.btn-theme:hover,
.btn-theme:focus,
.btn-theme:active {
  background-color: #a00; /* ホバー・フォーカス・アクティブ時の濃い赤 */
  color: #fff;            /* 白文字のまま */
  outline: none;          /* 必要に応じてフォーカス枠を消す */
}

/* --- list style --- */

ul.general {
	list-style:none;
	margin-left:0;
}

ul.link-list{
	margin:0;
	padding:0;
	list-style:none;
	float: none;
}

ul.link-list li{
	float: none;
	margin:0;
	list-style:none;
}

footer ul.link-list li a{
	color:#777;
}
footer ul.link-list li a:hover {
	color:#333;
}
/* --- Heading style --- */

h2.error {
	font-size: 40px;
}

h4.heading {
    
	font-weight:700;
}

.heading { margin-bottom: 30px; }

.heading {
	position: relative;
	
}


.widgetheading {
	width:100%;

	padding:0;
}

h5.widgetheading {
	font-size: 20px;
}

#bottom .widgetheading {
	position: relative;
	border-bottom: #e6e6e6 1px solid;
	padding-bottom: 9px;
}

aside .widgetheading {
	position: relative;
	border-bottom: #e9e9e9 1px solid;
	padding-bottom: 9px;
}

footer .widgetheading {
	position: relative;
}

footer .widget .social-network {
	position:relative;
}


#bottom .widget .widgetheading span, aside .widget .widgetheading span, footer .widget .widgetheading span {	
	position: absolute;
	width: 60px;
	height: 1px;
	bottom: -1px;
	right:0;

}

/* --- Map --- */
.map{
	position:relative;
	margin-top:-50px;
	margin-bottom:40px;
}

/* google map */
#google-map{
    position:relative;
    margin-top:10px;
    height: 400px;
}

/* --- our team --- */

ul.team-detail{
	margin:-10px 0 0 0;
	padding:0;
	list-style:none;
}

ul.team-detail li{
	border-bottom:1px dotted #e9e9e9;
	margin:0 0 15px 0;
	padding:0 0 15px 0;
	list-style:none;
}

ul.team-detail li label {
	font-size:13px;
}

ul.team-detail li h4, ul.team-detail li label{
	margin-bottom:0;
}

ul.team-detail li ul.social-network {
	border:none;
	margin:0;
	padding:0;
}

ul.team-detail li ul.social-network li {
	border:none;	
	margin:0;
}
ul.team-detail li ul.social-network li i {
	margin:0;
}

/* --- Pricing box --- */


.pricing-title{
	background:#fff;
	text-align:center;
	padding:10px 0 10px 0;
}

.pricing-title h3{
	font-weight:600;
	margin-bottom:0;
}

.pricing-offer{
	background: #fcfcfc;
	text-align: center;
	padding:40px 0 40px 0;
	font-size:18px;
	border-top:1px solid #e6e6e6;
	border-bottom:1px solid #e6e6e6;
}

.pricing-box.special .pricing-offer{
	color:#fff;
}

.pricing-offer strong{
	font-size:78px;
	line-height:89px;
}

.pricing-offer sup{
	font-size:28px;
}

.pricing-content{
    background: #fff;
    text-align: left;
    font-size: 14px;
    font-weight: 500;
}

.pricing-content strong{
color:#353535;
}

.pricing-content ul{
	list-style:none;
	padding:0;
	margin:0;
}

.pricing-content ul li{
    border-bottom: 1px solid #e9e9e9;
    list-style: none;
    padding-top: 15px;
    padding-right: 5px;
    padding-bottom: 15px;
    color: #777;
    padding-left: 5px;
}

.pricing-action{
	margin:0;
	background: #fcfcfc;
	text-align:center;
	padding:20px 0 30px 0;
}

.pricing-wrapp{
	margin:0 auto;
	width:100%;
	background:#fd0000;
}

/* --- pricing box alt 1 --- */
.pricing-box-alt {
    border: 1px solid #e6e6e6;
    background: #fcfcfc;
    position: relative;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 10px;
    padding: 0;
    -webkit-box-shadow: 0 2px 0 rgba(0,0,0,0.03);
    -moz-box-shadow: 0 2px 0 rgba(0,0,0,0.03);
    box-shadow: 0 2px 0 rgba(0,0,0,0.03);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.pricing-box-alt-line-na {
    background: #fcfcfc;
    position: relative;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 10px;
    padding: 0;
    -webkit-box-shadow: 0 2px 0 rgba(0,0,0,0.03);
    -moz-box-shadow: 0 2px 0 rgba(0,0,0,0.03);
    box-shadow: 0 2px 0 rgba(0,0,0,0.03);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.pricing-box-alt .pricing-heading {
    background: #cb1103;
    text-align: center;
    padding-top: 20px;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 0px;
    display: block;
}
.pricing-box-alt.special .pricing-heading {
    background: #fcfcfc;
    text-align: center;
    padding-top: 10px;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 1px;
    border-bottom: none;
    display: block;
    color: #fff;
}
.pricing-box-alt.special .pricing-heading h3 {
	color:#fff;
}

.pricing-box-alt .pricing-heading h3 strong {
	font-size:32px;
	font-weight:700;
	letter-spacing:-1px;
}
.pricing-box-alt .pricing-heading h3 {
	font-size:32px;
	font-weight:300;
	letter-spacing:-1px;
}

.pricing-box-alt .pricing-terms {
    text-align: center;
    background: #686d71;
    display: block;
    overflow: hidden;
    padding-top: 5px;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 1px;
    font-size: medium;
}

.pricing-box-alt .pricing-terms  h6 {
    font-style: normal;
    margin-top: 10px;
    color: #fff;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    margin-bottom: 5px;
    margin-left: 10px;
}

.pricing-box-alt .icon .price-circled {
    margin: 10px 10px 10px 0;
    display: inline-block !important;
    text-align: center !important;
    color: #fff;
    width: 68px;
    height: 68px;
	padding:12px;
    font-size: 16px;
	font-weight:700;
    line-height: 68px;
    text-shadow:none;
    cursor: pointer;
    background-color: #888;
    border-radius: 64px;
    -moz-border-radius: 64px;
    -webkit-border-radius: 64px;
}

.pricing-box-alt  .pricing-action{
    margin: 0;
    text-align: center;
    padding-top: 15px;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 15px;
}


/* ===============================
14. Blog & article
================================ */

article{
    margin-bottom: 50px;
    border-bottom-color: #eee;
    border-bottom-style: solid;
    padding-bottom: 30px;
}

article .post-heading h3 {
	margin-bottom:20px;
}

article .post-heading h3 a {
	font-weight:700;
	color:#353535;
}

article .post-heading h3 a:hover {
	text-decoration:none;
}

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


/* --- post meta --- */
.post-meta {
	background:#fcfcfc;
	border-top:none;
	text-align:center;
}

.post-meta .format {
	padding:10px 0 10px;
}

.post-meta i{
	margin:0;
}

.post-meta .date {
	padding:10px 0 10px;
}

.post-meta .date span {
	text-align:center;
	color:#999;
	font-size:12px;
	font-weight:600;
}

.post-meta .comments {
	padding:10px 0 10px;
}

.post-meta .comments a {
	color:#999;
	font-size:12px;
	font-weight:700;
}

.post-meta .comments a:hover {
	text-decoration:none;
}

a.readmore {
	font-weight: 600;
	font-size: 13px;
}

/* --- post format --- */

.post-image {
	margin-bottom:20px;
}

.post-quote {
	margin-bottom:20px;
}

.post-video {
	margin-bottom:20px;
}

.post-heading {
    font-size: 24px; 
    font-weight: bold; 
    margin-top: 30px;        /* 上の余白 */
    margin-bottom: 20px;     /* 下の余白 */
}
 /* レスポンシブ対応 */
.post-heading {
    font-size: 20px;
}

@media (min-width: 768px) {
    .post-heading {
        font-size: 28px;
    }
}

.post-audio {
	margin-bottom:20px;
}

.post-link {
	margin-bottom:20px;
}

.post-slider {
	margin-bottom:20px;
}

/* post-slider */

.postslider {
	margin-bottom: 50px;
}

.postslider.flexslider { margin: 0 0 60px; background: #fff; border: none;
-webkit-border-radius: 0; -moz-border-radius: 0; -o-border-radius: 0; border-radius: 0; -webkit-box-shadow: none; -moz-box-shadow: none; 
-o-box-shadow: none;
box-shadow: none;
}
.postslider  .flex-direction-nav a:before  { 
	font-family: "flexslider-icon"; 
	font-size: 20px; 
	display: inline-block; 
	content: '\f001'; 
}
.postslider  .flex-direction-nav a.flex-next:before  { content: '\f002'; }

/* quote post */
.post-quote blockquote {
	font-size:16px;
	color:#999;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
	font-style:italic;
	line-height:1.6em;
}

.post-quote blockquote i {
	font-size: 40px;
	margin:0 20px 10px 0;
	float: left;
	color: #eee;
}

.post-image img:hover {
  -webkit-box-shadow: 0 0 2px #979797;
     -moz-box-shadow: 0 0 2px #979797;
          box-shadow: 0 0 2px #979797;	
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}

ul.meta-post{
	margin: 0;
	padding:0;
	list-style:none;
}

ul.meta-post li{
	display: inline-block;
	margin:0 10px 0 10px;
	padding:0;
	list-style:none;
	padding-right:10px;
}

ul.meta-post li i {
	float:left;
	font-size:12px;
	margin:6px 5px 0 0;
}

ul.meta-post li a{
	color:#999;
	font-size:12px;
	font-weight:600;
}

/* --- single post --- */
.bottom-article{
	overflow: hidden;
	padding:10px 0 10px 0;
	margin-top:20px;
}

/* --- author info --- */

.about-author {
	border:1px solid #f5f5f5;
	padding:20px;
	float:left;
	margin-bottom:5px;
}

.about-author h5 {
	margin-bottom:10px;
}



/* --- Comment --- */

.comment-area {
	float:left;
	width:100%;
	margin-top:30px;	
}

.comment-area:after {
	  display: table;
  content: " ";

}

.media-content{
	overflow:hidden;
	margin-left:12px;
	border-bottom:1px dotted #d5d5d5;
	padding-bottom:20px;
}

.media-content h6 {
	font-size:14px;
	font-weight:700;
}

.media-content span{
	color:#a9a9a9;
	font-size:14px;
	font-weight:300;
}

.comment-area .thumbnail > img {
  display: block;
	width:60px;
	height:60px;
}
.filter-list{
	margin-top:20px;
}

.comment-area .media a.reply {
	font-weight: 600;
}

/* --- pagination --- */

#pagination a,
#pagination span {
    display: block;
    float: left;
    margin: 0 7px 0 0;
    padding: 7px 10px 6px 10px;
    font-size: 12px;
    line-height:12px;
    color: #888;
	font-weight:600;
-webkit-border-radius: 2px;
			 -moz-border-radius: 2px;
				  border-radius:  2px;
}

#pagination a:hover {
    color: #fff;
	text-decoration:none;
}

#pagination span.current {
    background: #333;
    color: #fff;
    font-weight: bold;
}


/* ===============================
15. Aside, sidebar
================================ */

aside{
	position:relative;
	margin-bottom:40px;
}

.sidebar-nav{
	float:left;
	width:100%;
}

.right-sidebar{
	border-left:1px solid #f5f5f5;
	padding:0 0 0 30px;
}


.left-sidebar{
	border-right:1px solid #f5f5f5;
	padding:0 30px 0 0;
}


.left-sidebar .widget h3, .left-sidebar .widget .widget-content{
	padding-right:20px;
}



aside .widget {
	margin-bottom:40px;
}


ul.cat, ul.recent, ul.folio-detail, ul.contact-info{
	margin:0;
	padding:0;
	list-style:none;
}

ul.cat li, ul.recent li, ul.folio-detail li, ul.contact-info li{
	margin:0 0 15px 0;
	list-style:none;
}

ul.cat li a, ul.folio-detail li a{
	color:#656565;
}

ul.cat li i {
	margin-right: 10px;
}

ul.folio-detail li label{
	display:inline;
	cursor:default;
	color:#353535;
	font-weight:bold;
}

.widget ul.recent li  {
	display:inline-block;
}

.widget ul.recent li {
	margin-bottom:20px;
}

ul.recent li h6 {
	margin:0 0 10px 0;
}

ul.recent li h6 a{
	color:#353535;
	font-size:16px;
	font-weight:600;
}


.widget ul.tags {
	list-style:none;
	margin:0;
	margin-left: 0;
	padding-left:0;
}

.widget ul.tags li {
	margin:0 5px 15px 0;
	display:inline-block;
}


.widget ul.tags li a {
	background:#e6e6e6;
	color:#333;
	padding:5px 10px;
-webkit-border-radius: 3px;
	-moz-border-radius: 3px;	
	border-radius:  3px;

}

.widget ul.tags li a:hover {
	text-decoration:none;
	color:#fff;
}

/* ===== Widgets ===== */


/* --- latest tweet widget --- */

.twitter ul{
	margin-left:0;
	list-style:none;
}

.twitter  img{
    float: left;
    margin-right: 15px;
}
.twitter span.tweet_time{
    display: block;
    padding-bottom: 5px;

}
.twitter li{    
    border-bottom: 1px dashed #efefef;    
    padding-bottom: 20px;
    margin-bottom: 20px;
    list-style: none;
}
.twitter li:last-child{border: none;}

/* --- Recent post widget --- */

.recent-post{
	margin:20px 0 0 0;
	padding:0;
	line-height:18px;
}

.recent-post h5 a:hover {
	text-decoration:none;
}

.recent-post .text h5 a {
	color:#353535;
}


ul.time-post{
	float:left;
	width:120px;
	padding:0;
	list-style:none;
	margin:0 20px 0 0;
	text-align:center;
	color: #0e0f0f;
}

ul.time-post li{
	float:none;
	background:#f8f8f8;
	list-style:none;
	margin:0 0 2px 0;
	padding:0;
}

ul.time-post li a img:hover{
	opacity: 0.8; 
	/* For IE 5-7 */
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
	/* For IE 8 8 */
	-MS-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";	
}
 	
ul.time-post li.time{
	float:none;
	padding:5px 0 5px 0;
	text-shadow: none;	
}

.recent-post ul.time-post li.time{
	color:#121214;
}

.post-meta{
	margin-bottom:20px;
}

.post-meta span{
	padding:0 10px 0 10px;
	margin-bottom:10px;
}

.post-meta span a{
	color:#919191;
}

.post-meta strong{
	font-weight:200px;
	color:#c7c7c7;
}

.item .text {
	margin-left:140px;
	margin-bottom:20px;
}

/* ===============================
16. Footer
================================ */

footer{
	background:#f2f2f2;
}
#sub-footer{
	border-top: 1px solid #ddd;
	background:#f7f7f7;
}


footer{
    padding-top: 10px;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 10;
}

footer a {
	color:#666;
        font-weight: 400;

}

footer a:hover {
	color:#444;
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6{
    color: #666;
    font-weight: 600;
}

footer address {
	line-height:1.6em;
}

footer p{
	color:#666;
   font-weight:400;
}

footer h5{
	color:#666;
        font-weight:bolder;
}
footer h5 a:hover, footer a:hover {
    text-decoration: none;
}

ul.social-network {
	list-style:none;
	margin:0;
}

ul.social-network li {
	display:inline;
	margin: 0 5px;
}

footer ul.social-network li i {
	font-size: 1.3em;
}

#sub-footer {
    border-top: 1px solid #ddd;
    background: #222;
    color: #fff;
    padding: 30px 20px 20px 20px;
    margin: 20px 0 0 0;
    text-shadow: none;
    overflow-x: hidden; /* はみ出し防止 */
}

#sub-footer .copyright,
#sub-footer p,
#sub-footer span {
    color: #fff;
    white-space: nowrap;
    margin: 0;
    padding: 0;
    font-size: 14px;
    white-space: normal; /* 折り返し許可 */
}

#sub-footer a {
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    font-size: 14px;
}

#sub-footer a:hover {
    color: #fff;
    text-decoration: underline;
        font-size: 14px;
    white-space: normal; /* 各リンクは折り返さない */
}

#sub-footer ul.social-network {
    display: flex;
    justify-content: flex-end;
    padding: 0;
    margin: 0;
    list-style: none;
    flex-wrap: wrap; /* 折り返しを許可 */
    gap: 12px;
}

#sub-footer ul.social-network li {
    flex-shrink: 0;
}

#sub-footer ul.social-network li i {
    font-size: 1.3em;
    color: #fff;
}
/* スマホ対応 */
@media screen and (max-width: 768px) {
    #sub-footer {
        text-align: center;
        padding-left: 10px;
        padding-right: 10px;
        overflow-x: hidden; /* 横スクロール防止 */
    }  }

    #sub-footer ul.social-network {
        flex-wrap: wrap;     /* 横に収める or */
        justify-content: center;
        overflow-x: hidden;  /* 必要に応じて scroll に切り替えも可 */
    }

    #sub-footer ul.social-network li {
        white-space: nowrap;
        margin-bottom: 8px; /* スマホでは上下に分けて */
    }

    #sub-footer a {
        font-size: 14px;
    }
}
/* --- buttons --- */

.bs-docs-example {
	margin:0 0 10px 0;
}

.demobtn a.btn {
	margin:0 10px 10px 0;
}

section.demogrid .col-lg-1,section.demogrid .col-lg-2,section.demogrid .col-lg-3,section.demogrid .col-lg-4,section.demogrid .col-lg-5,section.demogrid .col-lg-6,section.demogrid .col-lg-7,section.demogrid .col-lg-8,section.demogrid .col-lg-9,section.demogrid .col-lg-10,section.demogrid .col-lg-11 {
	background:#f6f6f6;
	text-align:center;
	padding:20px 0 20px;
}

section.demogrid .show-grid .row,section.demogrid .show-grid .row-fluid {
	margin-bottom:0;
}

section.demogrid .show-grid .nest {
	background:#ddd;
	text-align:center;
	padding:20px 0 20px;
}

section.demogrid .col-lg-12.nest {
	background:#f6f6f6;
	text-align:center;
	padding:20px 0 0;
}

.demoinline p {
	display:inline;
	margin-right:20px;
}


/* ===============================
17. Divider, Line & Misc
================================ */

.solidline {
	border-top:1px solid #f5f5f5;
	margin:0 0 30px;
}

.dottedline {
	border-top:1px dotted #f5f5f5;
	margin:0 0 30px;
}

.dashedline {
	border-top:1px dashed #f5f5f5;
	margin:0 0 30px;
}

.blankline {
	height:1px;
	margin:0 0 30px;
}


/* scroll to top */
.scrollup{
    position:fixed;
	width:60px;
	height:60px;
    bottom: 20px;
    right:20px;
	background: #222;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    z-index: 999;	
}

a.scrollup {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    outline: 0;
    text-decoration: none;
}

a.scrollup i {
    font-size: 28px;
    color: #fff;
    transition: transform 0.2s ease;
}

a.scrollup:hover i {
    transform: scale(1.2);
    color: #fff;
    text-decoration: none;
}



/* =============================
18. Position & alignment
============================= */

.absolute{
	position:absolute;
}

.relative{
	position:relative;
}

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

.aligncenter span{
	margin-left:0;
}

.floatright {
	float:right;
}

.floatleft {
	float:left;
}

.floatnone {
	float:none;
}

.aligncenter {
  text-align: center !important;
  color: #4B4949;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6; 
  margin-top: 10px;    
  margin-bottom: 10px; 
}


h4.aligncenter {
  font-size: 18px !important;
}

.aligncenter p {
  font-size: 18px; 
  font-weight: normal; 
  text-align: left !important;
    line-height: 1.6;   
}



/* スマホ（画面幅768px以下）用のスタイル */
@media screen and (max-width: 768px) {
  .aligncenter {
    font-size: 18px;  /* スマホ用に小さめ */
    margin-top: 5px;    /* スマホは少し控えめに */
    margin-bottom: 5px;
  }
}

  .aligncenter p {
    font-size: 14px;   /* スマホ用の段落サイズ */
    font-weight: normal;
    text-align: left;
    line-height: 1.6;
  }


.aligncenter_event {
    text-align: center;
    color: #605F5F;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-size: 25px;
    font-weight: 800;
}

@media screen and (max-width: 768px) {
  .aligncenter-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto;
  }
}

/* --- Image allignment style --- */

img.pull-left, .align-left{
    float: left;
    margin: 0 15px 15px 0;
    text-align: left;
}

.widget img.pull-left {
	float:left;
	margin:0 15px 15px 0;
}

img.pull-right, .align-right {
    float: right;
    clear: right;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 15px;
    margin-left: 15px;
    text-align: right;
}
img.pull-right, .align-right-center {
    float: right;
    clear: right;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 15px;
    margin-left: 15px;
}
img.pull-right, .fa-align-center {
    float: right;
    clear: right;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 15px;
    margin-left: 15px;
    text-align: right;
}

article img.pull-right, article .align-right{
	float:right;
	margin:5px 0 15px 15px;
}

/* =============================
20. Spacer, margin
============================= */

.clear-marginbot{
	margin-bottom:0;
}

.marginbot10{
	margin-bottom:10px;
}
.marginbot20{
	margin-bottom:20px;
}
.marginbot30{
	margin-bottom:30px;
}
.marginbot40{
	margin-bottom:40px;
}
.marginbot50{
	margin-bottom:50px;
}
.clear-margintop{
	margin-top:0;
}

.margintop10{
	margin-top:10px;
}

.margintop20{
	margin-top:20px;
}

.margintop30{
	margin-top:30px;
}

.margintop40{
	margin-top:40px;
}
.margintop50{
	margin-top:50px;
}

/* =============================
21. Media queries 
============================= */

@media (min-width: 979px) and (max-width: 1200px) {
	#wrapper.boxed{
		width:1000px;
		margin:0 auto;	
	}
}

@media ( min-width : 768px ) and (max-width : 993px ){
	#wrapper.boxed{
		width:784px;
		margin:0 auto;	
	}

	a.detail{
		background:none;
		width:100%;
	}


	
	footer .widget form  input#appendedInputButton {
		  display: block;
		  width: 91%;
		  -webkit-border-radius: 4px 4px 4px 4px;
			 -moz-border-radius: 4px 4px 4px 4px;
				  border-radius: 4px 4px 4px 4px;
	}
	
	footer .widget form  .input-append .btn {
		  display: block;
		  width: 100%;
		  padding-right: 0;
		  padding-left: 0;
		  -webkit-box-sizing: border-box;
			 -moz-box-sizing: border-box;
				  box-sizing: border-box;
				  margin-top:10px;
	}

	ul.related-folio li{
		width:156px;
		margin:0 20px 0 0;
	}	
}

@media (max-width: 767px) {

  body {
    padding-right: 0;
    padding-left: 0;
  }
  
 	#wrapper.boxed{
		width:90%;
		margin:0 auto;	
	}
	.navbar-brand {
		margin-top: 10px;
		border-bottom: none;
	}
	.navbar-header {
		margin-top: 20px;
		border-bottom: none;
	}
	
	.navbar-nav {
		border-top: none;
		padding-top: 30px;
		float: none;
		width: 100%;
	}

	header .navbar-nav > li  {
		padding-bottom: 0;
		padding-top: 0;
	}
	
	header .nav li .dropdown-menu  {
		margin-top: 0;
	}
	
	.stats > div {
		margin-bottom: 30px;
	}

	.dropdown-menu {
	  position: absolute;
	  top: 0;
	  left: 40px;
	  z-index: 1000;
	  display: none;
	  float: left;
	  min-width: 160px;
	  padding: 5px 0;
	  margin: 2px 0 0;
	  font-size: 13px;
	  list-style: none;
	  background-color: #fff;
	  background-clip: padding-box;
	  border: 1px solid #f5f5f5;
	  border: 1px solid rgba(0, 0, 0, .15);
	  border-radius: 0;
	  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
			  box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
	}
	

	
	.navbar-collapse.collapse  {
		border: none;
		overflow: hidden;
	}

	
	.box {
		padding:20px 0;
		margin-bottom: 20px;
	}

		


	#inner-headline .breadcrumb {
		float:left;
		clear:both;
		width:100%;
	}

	.breadcrumb > li {
		font-size:13px;
	}

	
	ul.portfolio li article a i.icon-48{
		width:20px;
		height:20px;
		font-size:16px;
		line-height:20px;
	}


	.left-sidebar{
		border-right:none;
		padding:0 0 0 0;
		border-bottom: 1px dotted #e6e6e6;
		padding-bottom:10px;
		margin-bottom:40px;
	}
	
	.right-sidebar{
		margin-top:50px;
		border-left:none;
		padding:0 0 0 0;
	}
	
	
	footer .col-lg-1, footer .col-lg-2, footer .col-lg-3, footer .col-lg-4, footer .col-lg-5, footer .col-lg-6, 
	footer .col-lg-7, footer .col-lg-8, footer .col-lg-9, footer .col-lg-10, footer .col-lg-11, footer .col-lg-12{
		margin-bottom:20px;
	}

	#sub-footer ul.social-network {
		float:left;
	}
	

	
  [class*="span"] {
		margin-bottom:20px;
  }

}

@media (max-width: 480px) {
	.bottom-article a.pull-right {
		float:left;
		margin-top:20px;
	}


	.search{
		float:left;
	}


	.cta-text {
		margin:0 auto;
		text-align:left;	
	}
	
	ul.portfolio li article a i{
		width:20px;
		height:20px;
		font-size:14px;
	}
	.main-slider .flex-caption {
		bottom: 0;
		text-align: center;
	}
	.main-slider .flex-caption p {
		display: none;
	}
	
	.cta-btn {
		float: none;
		text-align: center;
	}

}

@media (max-width: 360px) {

}
/* ============== options panel for live preview ======================= */		
			
#t_options {
	position:fixed;
	top: 40px;
	left:-230px;
	width: 230px;
	background: #fefefe;
	color:#666;
	box-shadow: 0 0 3px rgba(0,0,0,0.12);
	box-shadow: 0 1px 6px rgba(0,0,0,.2); 
	-webkit-box-shadow: 0 1px 6px rgba(0,0,0,.2); 
	-moz-box-shadow: 0 1px 6px rgba(0,0,0,.2); 
	-o-box-shadow: 0 1px 6px rgba(0,0,0,.2); 
    z-index: 5000;
    font-size: 11px;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
}

#t_options hr {
  margin: 20px 0;
  border: 0;
  border-top: none;
  border-bottom: 1px dotted #999;	
}

#t_options h6 {
	color:#666;
	font-size:14px;
}

#t_options input{
	width:60px;
}

#t_options .col {
	width:50px;
	margin:0 10px 0;
}

.colorpicker {
    z-index: 5001;	
}
.options_inner {
	position: relative;
	width: 100%;
	height: 100%;
}
.options_box {
	margin: 0 14px;
	padding: 10px 0 20px;
	overflow:hidden;
}

.options_box .solidline {
	margin-bottom:10px;
}

.options_box h6 {
	text-align:center;
	font-weight:bold;
}

.options_box .full {
	width:100%;
	overflow:hidden;
	padding-bottom:10px;
}
.options_box .halfcol {
	width:90px;
	float:left;
	margin:0 5px;
}

.options_box .fourcol {
	width:30px;
	float:left;
	margin:0 5px;
}

.options_box .fourcol.color a{
	width:30px;
	height:30px;
	display:block;
	margin-bottom:5px;
}

.options_box .halfcol .wideboxed h6 {
	font-size:11px;
	font-weight:600;
}

.options_toggle_holder {
	position:absolute;
	right:-40px;
}

.options_toggle  {
	margin: 6px 0 0 4px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	border:1px solid #f63306;
	border-left:none;
	display:block;
		background:#f63306;
	
}

a.btn.btn-box {
	border-radius: 0;
	background: #fff;
	font-weight: 600;
	color: #666;
	border: 1px solid #ddd;

}

a.btn.btn-wide {
	border-radius: 0;
	background: #fff;
	font-weight: 600;
	color: #666;
	border: 1px solid #ddd;
}

.options_toggle span .icon {
	margin:10px 0 0 7px;
	display:block;
	color: #fff;
}

.options_toggle:hover,.options_toggle:focus,.options_toggle:active{
	outline:0;
	text-decoration:none;
}

.options_heading {
	color: #666;
	margin-top: 5px;
	margin-bottom: 20px;
	font-size: 14px;
	text-transform: uppercase;	
	font-weight: bold; 
	letter-spacing: 2px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #888;	
}

/* colors */

.options_box a.t_default {
	background:#d9232d;
}
.options_box a.t_kissme {
	background:#6D0C1F;
}
.options_box a.t_lime {
	background:#C6DF45;
}
.options_box a.t_rose {
	background:#9E001D;
}
.options_box a.t_amethyst {
	background:#9b59b6;
}
.options_box a.t_asphalt {
	background:#34495e;
}
.options_box a.t_pomegranate {
	background:#c0392b;
}
.options_box a.t_pumpkin {
	background:#d35400;
}
.options_box a.t_lightorange {
	background:#f39c12;
}
.options_box a.t_red {
	background:#cb1103;
}

.options_box a.t_green {
	background:#9AC43C;
}

.options_box a.t_sand {
	background:#BFB372;
}

.options_box a.t_purple {
	background:#c81dbe;
}
.options_box a.t_yellow {
	background:#FFD053;
}
.options_box a.t_blue {
	background:#5C9CC7;
}
.options_box a.t_pink {
	background:#FF439E;
}

.bgr .bg {
	width:28px;
	height:28px;
	border:1px solid #e6e6e6;
}

.bgr .bg.bg1 {
	background: url(../img/bodybg/bg1.png) repeat left top;
}	
.bgr .bg.bg2 {
	background: url(../img/bodybg/bg2.png) repeat left top;
}	
.bgr .bg.bg3 {
	background: url(../img/bodybg/bg3.jpg) repeat left top;
}	
.bgr .bg.bg4 {
	background: url(../img/bodybg/bg4.png) repeat left top;
}	
.bgr .bg.bg5 {
	background: url(../img/bodybg/bg5.png) repeat left top;
}	
.bgr .bg.bg6 {
	background: url(../img/bodybg/bg6.png) repeat left top;
}	
.bgr .bg.bg7 {
	background: url(../img/bodybg/bg7.png) repeat left top;
}	
.bgr .bg.bg8 {
	background: url(../img/bodybg/bg8.jpg) repeat left top;
}	
.bgr .bg.bg9 {
	background: url(../img/bodybg/bg9.png) repeat left top;
}	
.bgr .bg.bg10 {
	background: url(../img/bodybg/bg10.png) repeat left top;
}	

#accent_color{
    color: #fff;
    background: #eb191a;
    border: none;
    text-transform: capitalize;
    margin-left: 0px;
    text-align: center;
    outline: 0;
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: 600;
}

#bodybg_color {
    color: #fff;
    background: #eb191a;
    border: none;
    margin-left: 2px;
    text-align: center;
    outline: 0;
    margin-right: 2px;
    margin-top: 10px;
}

/*  キーワード  */


.keybox {
    padding: 30px;
    border: 5px solid #686D71;
    background: #888E92;
    text-emphasis-color: white;
}

.keybox h3{ margin: 0;padding: 0;}
.keybox p {
    margin: 0;
    padding: 10px 0;
    color: #FFFFFF;
}


.snd_content {
	width: 100%;
}

.snd_honbun {
	color: #686D71

}

.snd_honbun p{
    padding: 10px 8px 20px;
    text-align: left;
}

.snd_honbun h2{
    text-align: center;
    padding-top: 10px;
    padding-right: 8px;
    padding-left: 8px;
    padding-bottom: 10px;
}

.snd_honbun h3{
	color: #DE1B1E;
	padding: 10px 8px;
}

.snd_honbun table {
	margin: 0 auto 20px;
	width: 100%;
}
.snd_honbun img,.snd_honbun_w img{/*
max-width: 100%;
height: auto;*/
}

.snd_honbun table th,.snd_honbun table td {
    padding: 15px;
    border-bottom: 2px solid #888E92;
    font-weight: normal;
}



.snd_honbun h4 {
	font-size: 1.1em;
}

.snd_honbun_w {
	background: #fff;
	color: #000;
	padding: 20px 8px;
}

.snd_honbun_w p{
    padding-top: 5px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 5px;
}

.snd_honbun_w h2{
	text-align: center;
	padding: 20px 8px;
}

.snd_honbun_w h3{
	color: #DE1B1E;
	padding: 20px 8px;
}

.snd_comlist { 
	padding: 40px 0;}

.snd_comlist p{
		padding: 25px 0 0 !important;
}

.snd_comlist img{
		padding: 13px 0 0 !important;
}

/* ｺﾝﾃﾅｰ( ´∀｀) */

.container_small, .container_large {
    max-width: 100%;
	margin: 0 auto;
}

@media (min-width: 769px) {
    .container_small {
        width: 800px;
    }
    .container_large {
        width: 1000px;
    }
	header #site_rogo img {
	width: 55%;
	margin: 0 auto;
	}
	#top_mov_bg {
	max-height: 750px;
	background: url(../recruit/img/top/mov_stop_01.jpg) no-repeat center 115px  ;
	background-size: contain;
	}
	.top_nav .navbar{
	max-width: 1000px;
	margin: 0 auto;
	border: none;
	background: none;
	
	min-height: 490px;
	}
	.top_nav .navbar a{		color: #fff !important;}
	/*ul.top_subm { margin-top:0px !important;}*/
	
	
}
@media (min-width: 990px) {
    .container_small {
        width: 980px;
    }
    .container_large {
        width: 1000px;
    }
	/* ul.top_subm { margin-top:0px !important;}*/
}
@media (min-width: 1200px) {
    .container_small {
    width: 1170px;
    }
    .container_large {
    width: 1170px;
    }
	header #site_rogo img {
	width: 50%;
	margin: 0 auto;
	}
	#top_mov_bg {
	max-height: 750px;
	background: url(../recruit/img/top/mov_stop_01.jpg) no-repeat center 115px    ;
	background-size: contain;
	}
	.top_nav .navbar{
	max-width: 1000px;
	margin: 0 auto;
	border: none;
	background: none;
	color: #fff;
	min-height: 600px;
}
}

/* Theme Styler :: End */

/* topmov */


video {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    min-width: 320px;
    width: 100%;
    z-index: -21;

    max-width: 1200px;
    text-align: center;
}

/* top */
.top_nav {
	position: static;
	top:10px;
}

.top_nav h1{
	margin: 0;
	padding: 0;
	width: 50%;
}

.top_nav .top_mov_t {
	background: url(../recruit/img/top/mov_txt.png) no-repeat center ;
	background-size: auto;
}

.top_nav .navbar {
	margin: 0!important;
	padding-top: 30px;
}
.top_nav .navbar .navbar-collapse{
	padding:0px;
}

.top_nav .navbar a{
	/*color: #fff !important;*/
	margin: 0!important;
	padding: 0 !important;
}

.top_nav .navbar li{
	background: url(../recruit/img/top/ya_a.png) no-repeat ;
	background-position: 5px 13px;
	background-size: 7px;
	padding:10px 0 10px 18px !important;
	float: none;
	font-size: 1.1em;
	/*font-weight: bold;*/
}
.top_nav .navbar li ul.sub_gmenu {
	margin-top: 10px;
	padding: 0!important;
}

.top_nav .navbar li ul.sub_gmenu li{
	list-style:none;
	background: url(../recruit/img/top/ya_b.png) no-repeat;
	background-position: 5px 5px;
	background-size: 7px;
	padding: 3px 20px !important;
	font-size: 0.95em;
}

.top_nav button .navbar-toggle {
	z-index: 200;
}

#head_menu {position: relative;
}

 ul.top_subm {
	 position: absolute;
	bottom: 0px;
	 right: 0px;
	 margin: 0 !important;
}

.top_subm li{
    background: url(../recruit/img/top/ya_a.png) no-repeat;
    background-size: 7px;
    background-position: top 6px right 22px;
    padding-top: 3px;
    padding-right: 40px;
    padding-left: 2px;
    padding-bottom: 3px;
}

#site_rogo,#head_menu {
    padding-top: 0;
    padding-right: 0;
    /* [disabled]padding-left: 5px; */
    padding-bottom: 0;
}


.nav > li > a:hover {
    color: #28568C;

}
	
.topnews img{
	margin: 25px 0 0 50px;
	
}

/*   works   */

.work_block {
    border-radius: 8px;
    background: #fff;
    padding-top: 30px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 30px;
    color: #333;
    margin-top: 0;
    margin-right: 40px;
    margin-left: 40px;
    margin-bottom: 40px;
}
.work_block p{
	padding: 0 0 15px;
}

.work_block h4.wb_dev{
    color: #4B4949;
    text-align: left;
}
.work_block h4.wb_sale{
    color: #4B4949;
    text-align: left;
}

.work_block h4 {
	text-align: center;
	font-size: 2em !important;
	line-height: 1.1;
	margin: 0;
}
.work_block p.h_subd{
    color: #4B4949;
    text-align: left;
    font-weight: bold;
}
.work_block p.h_subs{
    color: #4B4949;
    text-align: left;
    font-weight: bold;
}

.work_block .wb_read {
    font-weight: normal;
    text-align: left;
    font-size: 1.8em;
    color: #e81917;
}

/* --- イベント　table style --- */
.event-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ccc; 
  font-size: 14px;
  margin-top: 20px; 
  margin-bottom: 30px; 
}

.event-table td {
  border: 1px solid #ccc; 
  padding: 8px;
}

.event-table td.left {
 font-weight: 600;
  font-size: 16px;
  width: 25%;
  vertical-align: top;  
}


/* --- お知らせ　イベントなど追加したスタイル --- */


.alert-success_event_table{
    color: #3c763d;
    background-color: #dff0d8;
    font-weight: 700;
    border-top: 1px solid #5F5F5F;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-right-color: #5F5F5F;
    border-bottom-color: #5F5F5F;
    border-left-color: #5F5F5F;
}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info_event{
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
    font-weight: 700;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
}.alert-gray_event{
    color: #606060;
    background-color: #DCDCDC;
    border-color: #D0D2D3;
    font-weight: 700;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
}.alert-info_event_table{
    color: #31708f;
    background-color: #d9edf7;
    font-weight: 700;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    border: 1px solid #5F5F5F;
}.alert-info_glay_table{
    color: #414141;
    background-color: #E0E0E0;
    font-weight: 700;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    border: 1px solid #5F5F5F;
}.alert-info_event_table2{
    color: #7026A0;
    background-color: #F0CFFF;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    border: 0px none #5F5F5F;
}.option-info{
    color: #6E6E6E;
    background-color: #E3E4E5;
    border-color: #4F8793;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: 600;
    padding-top: 2px;
    padding-right: 2px;
    padding-bottom: 2px;
    padding-left: 0px;
    font-size: medium;
}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
    padding-right: 5px;
    padding-left: 5px;
}.alert-danger_event {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
    padding-right: 5px;
    padding-left: 5px;
    font-weight: 700;
}.alert-danger_Cop {
    color: #FFFFFF;
    background-color: #DD0000;
    border-color: #ebccd1;
    padding-right: 10px;
    padding-left: 10px;
    font-weight: 700;
    font-family:'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    padding-top: 2px;
    padding-bottom: 2px;
    width: auto;
    display: inline-block;
}.alert-danger_event_table {
    color: #a94442;
    background-color: #f2dede;
    padding-right: 5px;
    padding-left: 5px;
    font-weight: 700;
    border-bottom: 1px solid #5F5F5F;
    border-top: 1px solid #5F5F5F;
    border-right: 1px solid #5F5F5F;
    border-left: 1px solid #5F5F5F;
}.a-prod{
    color: #a94442;
    background-color: #FFFFFF;
    border-color: #ebccd1;
    font-family:'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
}.a-prod2{
    color: #727272;
    background-color: #FFFFFF;
    border-color: #ebccd1;
    font-family:'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
}.a-prod3{
    color: #4D889A;
    background-color: #FFFFFF;
    border-color: #ebccd1;
    font-family:'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
}.a-title{
    color: #a94442;
    background-color: #FFFFFF;
    font-family:'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-bottom: none #E3BDC3;
    border-top-color: #E3BDC3;
    border-right-color: #E3BDC3;
    border-left-color: #E3BDC3;
}.a-title-2{
    color: #7232C1;
    background-color: #FFFFFF;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-bottom: none #E3BDC3;
    border-top-color: #E3BDC3;
    border-right-color: #E3BDC3;
    border-left-color: #E3BDC3;
}.a-title-1{
    color: #474649;
    background-color: #FFFFFF;
    font-family:'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-bottom: none #E3BDC3;
    border-top-color: #E3BDC3;
    border-right-color: #E3BDC3;
    border-left-color: #E3BDC3;
}.a-title-1_Line{
    color: #474649;
    background-color: #FFFFFF;
    font-family:'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-bottom: 2px solid #474649;
    border-top-color: #474649;
    border-right-color: #474649;
    border-left: 10px solid #474649;
    border-top-style: none;
    border-right-style: none;
    
}.a-title_office {
  color: #e72418;
  background-color: #ffffff;
  font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
  font-weight: bold;
  font-size: 1.8em; /* 少し大きめに */
  padding-bottom: 10px;
  margin-bottom: 20px;
  position: relative;
}  

/* タイトル下にコラム幅の赤ラインを追加 */
.a-title_office::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;  /* ラインの長さ：任意。100%にすると全幅 */
  height: 5px;  /* ラインの太さ */
  background-color: #e72418;
  border-radius: 2px;
}
    
    
.a-title-3{
    color: #1F6A26;
    background-color: #FFFFFF;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-bottom: none #E3BDC3;
    border-top-color: #E3BDC3;
    border-right-color: #E3BDC3;
    border-left-color: #E3BDC3;
}.a-title-4{
    color: #1A6A77;
    background-color: #FFFFFF;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-bottom: none #E3BDC3;
    border-top-color: #E3BDC3;
    border-right-color: #E3BDC3;
    border-left-color: #E3BDC3;
}.a-title-5{
    color: #006da1;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-top: 2px none #006da1;
    border-right: 2px none #006da1;
    border-bottom: 2px solid #006da1;
    border-left: 10px solid #006da1;
}.a-title-6{
    color: #00783d;
    background-color: #FFFFFF;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-bottom: 2px solid #00783d;
    border-top-color: #00783d;
    border-right-color: #00783d;
    border-left: 10px dashed #00783d;
    border-top-style: none;
    border-right-style: none;
}.a-title-7{
    color: #e72418;
    font-family: 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Roboto', sans-serif;
    font-weight: bold;
    font-size: x-large;
    border-top: 2px none #e72418;
    border-right: 2px none #e72418;
    border-bottom: 2px solid #e72418;
    border-left: 10px solid #e72418;
} 
