@charset "utf-8";
/**********************************
Theme Name: onecolum
Theme URI: http://inc88.com/
Description: レスポンシブデザイン無料テーマ
Version: 1.1.1
Author: Tommy
Author URI: http://inc88.com/

■全体定義
■クラス定義
■動画レスポンシブ
■画像系
■リンク・カテゴリーリンク
■ヘッダー
■コンテンツ
■各サイト個別CSSエリア
■見出し
■カテゴリーリンクボタン
■フッター
■widht 768px以上
**********************************/
/*--- リセット ------------------*/
* {margin: 0;padding: 0;}
a {text-decoration: none;}
ul, ol {list-style: none;list-style-position:inside;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*--- 全体定義 ------------------*/
html {
	font-family: '游ゴシック  Medium','メイリオ', Meiryo,'-apple-system', 'BlinkMacSystemFont','Hiragino Sans','Hiragino Kaku Gothic ProN',"segoe ui",'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	font-size : 95%;
	line-height : 1.7;
	color: #fff;
}

body {
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
	width:100%;
	background:#010028 url(./images/bg.jpg);
	background-repeat: repeat-y; /* 縦方向のみ繰り返し */
	background-size: 100% auto;
	background-position: top left;
}

header, nav, main, article, section{
	display:block;
}
/*--- クラス定義 ----------------*/
.clearfix:after {
	visibility: hidden;
	height: 0;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
}
* html .clearfix {zoom: 1;}
*:first-child+html .clearfix {zoom: 1;}
.clear {clear: both;}
.center {
	text-align: center;
	clear: both;
}
p{
	margin:0 0 1em;
}
.wp-caption {text-align: center;}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.yellow{
	background: rgba(0,0,0,0) linear-gradient(transparent 60%,#ff0 0) repeat scroll 0 0;
	font-weight:bold;
	color: #595959;
}
.red{
	color:#ff0000;
	font-size:110%;
}
.bold{font-weight: bold;}
table{
	border-collapse: collapse;
	border-top:1px solid #333;
	border-left:1px solid #333;
}
th,td{
	border-bottom:1px solid #333;
	border-right:1px solid #333;
	padding:7px;
}
th{font-weight:normal;}
caption{
	border-top:1px solid #333;
	border-right:1px solid #333;
	border-left:1px solid #333;
	padding: 7px;
	background:#afeeee;
	color: #191970
}
i{margin-right:5px;}

/*--- 動画レスポンシブ --------*/
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin: 0 auto 24px 0;
}
.video-container iframe,
.video-container object,
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*--- 画像系 --------------------*/
img {
	max-width: 100%!important;
	height: auto;
	vertical-align: middle;
	border: 0;
	;-webkit-backface-visibility: hidden;
}
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
.single-thum{
	text-align:center;
	margin:0 0 2em;
}
/*--- リンク・パンくず --------------------*/
a {
	color: #1122cc;
	text-decoration:none;
}
/*--- カテゴリーリンク ----*/
.cat_tag {
	margin-bottom: 24px;
	padding: 0 0 12px 0;
	text-align: left;
	border-bottom: 1px dashed #ccc;
	word-break: keep-all;
	line-height: 2em;
}
.cat_tag a {
	color: #fff;
	background-color: #444;
	margin: 0 0.2em 0 0;
	padding: 3px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	text-decoration: none;
}
.cat_tag a:hover {color: #ffd700;}

/*--- ヘッダー --------------------*/
header{
	position: relative;
	text-align: center;
	width: 100%;
	box-sizing: border-box;
}
header .rogo{
	text-align:center;
	margin:4em auto;
	width:80%;
}
header .rogo p{
	margin: 2em 0 5em;
}
/* --- 追加：上部固定バーの設定 --- */
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;          /* バーの高さ */
  background-color: #000; /* バーの背景色 */
  display: flex;         /* 横並びにする */
  justify-content: space-between; /* SNSは左、ボタンは右へ */
  align-items: center;    /* 垂直中央揃え */
  padding: 0 20px;       /* 左右の余白 */
  box-sizing: border-box;
  z-index: 1001;         /* 最前面に固定 */
}

/* SNSエリアの配置 */
.sns {
  display: flex;
  align-items: center;
  gap: 5px; /* アイコン同士の隙間 */
}
.sns a {
  display: block;
  width: 45px;
}
.sns-title{
  display: none;
  color: #fff;
  font-size: 150%;
  font-weight: bold;
  text-transform: uppercase;
  /* ネオンの発光（初期状態） */
  text-shadow:
    0 0 7px #fff,
    0 0 10px #fff,
    0 0 21px #fff,
    0 0 42px #0fa,
    0 0 82px #0fa;
  
  /* 3秒かけてゆっくり、往復するように明滅させる */
  animation: neon-glow 3s infinite alternate ease-in-out;
}
/* --- 修正：ボタンのデザイン --- */
.menu-trigger {
  /* position: fixed; を削除（親のflexで位置が決まるため） */
  display: flex;
  align-items: center;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 15px;
  /* z-index は親の .fixed が持っているので不要 */
}

/* --- 維持：ナビゲーション本体 --- */
.side-menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 45%; 
  height: 100vh;
  background-color: #000000;
  z-index: 1000; /* バー(1001)より下に配置し、バーの下から出てくるようにする */
  transform: translateX(100%);
  transition: transform 0.4s ease;
  padding-top: 80px; /* バーの高さ＋余白分を確保 */
}

.side-menu.active {
  transform: translateX(0);
}

/* --- 維持：暗幕（背景） --- */
.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s;
}

.menu-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* ハンバーガーアイコンの線 */
.hamburger span {
  display: block;
  width: 25px;
  height: 2px;
  background: #fff;
  margin: 5px 0;
}

.hamburger {
  margin-right: 8px;
}
nav.side-menu li{

}
nav.side-menu li a{
	color:#fff;
	display: block;
	padding: 1em 0;
}

/*--- コンテンツ ------------------------------------------------------------------------*/
article, section{
    width: 100%;
    margin: 0 auto;
    padding: 3em 0 6em;
    box-sizing: border-box;
}
.sub-bg {
	background:#010028 url(./images/bg2.jpg);
	background-repeat: repeat-y; /* 縦方向のみ繰り返し */
	background-size: 100% auto;
	background-position: top left;
}
.inner{
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1em;
}
h1,h2{
	text-align:center;
	margin: 0 0 1em;
}
.neonText {
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  text-transform: uppercase;
  /* ネオンの発光（初期状態） */
  text-shadow:
    0 0 7px #fff,
    0 0 10px #fff,
    0 0 21px #fff,
    0 0 42px #0fa,
    0 0 82px #0fa;
  
  /* 3秒かけてゆっくり、往復するように明滅させる */
  animation: neon-glow 3s infinite alternate ease-in-out;
}

/* マイルドな明滅（グロウ）の定義 */
@keyframes neon-glow {
  0% {
    /* 最も暗い状態（光を絞るが、消さない） */
    opacity: 0.7;
    text-shadow:
      0 0 4px #fff,
      0 0 10px #0fa;
  }
  100% {
    /* 最も明るい状態 */
    opacity: 1;
    text-shadow:
      0 0 7px #fff,
      0 0 15px #fff,
      0 0 30px #fff,
      0 0 50px #0fa,
      0 0 80px #0fa;
  }
}
.text-box{
	margin:0 0 3em;
}
.news li{
	margin:0 0 1em;
}
.news li span{
	display: block;
    font-size: 85%;
    color: #ccc;
}
/*--- ギャラリー --------------------*/
.gallery-list{
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	align-items: center;
}
.gallery-list li{
	width: calc(100% / 2 - 5px);
	margin:0 0 10px;
}
/*--- メニュー表 --------------------*/
.main-menu{
	text-align:center;
	font-size:150%;
}
.main-menu h3{
	color: #ffc0cb;
}
.main-menu p{
	font-size:90%;
	margin:0 0 3em;
}
.sub-menu{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 120%;
}
.sub-menu h3{
	color: #f0e68c;
    border-bottom: 1px dotted;
    margin: 0 0 1em;
}
.sub-menu .left, .sub-menu .right{
	width:100%;
}
.menu-inner{
	margin:0 0 2em;
}

ul.box3{
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
    margin: 0 auto 2em;
}
ul.box3 li{
	width: calc(100% / 3);
	padding: 5px;
    box-sizing: border-box;
}
.bt, .bt2{
	text-align: center;
	margin: 10px 0;
}
.bt a{
	display: inline-block;
	width: 200px;
    border: 2px solid #fff;
    color: #fff;
    padding: 10px 20px;
    font-weight: bold;
}
.bt2 a{
	display: inline-block;
    border: 2px solid #ffd700;
    color: #ffd700;
    padding: 10px 20px;
    font-weight: bold;
}



/*--- スタッフ設定 --------------------*/

ul.staff-flame{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1000px;
    margin: 0 auto 2em;
}
ul.staff-flame li{
	width: calc(100% / 2);
	padding: 5px;
    box-sizing: border-box;
}
ul.staff-flame li .staff{
	position: relative;
}
ul.staff-flame img{
    border-radius: 6px;
}
ul.staff-flame .name{
    text-align: center;
    padding: 5px 0;
    color:#fff;
}

/* スタッフ個別
--------------------------- */
.staff-single{
	margin:0 0 16px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around ;
}
.staff-pic .staff-comment{
	width:100%;
	margin:0 0 16px;
	text-align:center;
}
#flickscroll {
    margin: 0 auto;
    width: 330px;
    height: 440px;
    text-align: left;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
#flickscroll ul {
    top: 0;
    left: 0;
    height: 440px;
    position: absolute;
    overflow: hidden;
}
#flickscroll ul li {
    width: 330px;
    height: 440px;
    float: left;
    display: inline;
    overflow: hidden;
}
 
/* #flickthumb
--------------------------- */
#flickthumb {
    margin: 10px auto;
    width: 330px;
    height: 147px;
    text-align: center;
}
#flickthumb ul {
    width: 330px;
    height: 147px;
}
#flickthumb ul li {
    width: 110px;
    height: 147px;
    float: left;
    cursor: pointer;
    display: inline;
}
#flickthumb ul li.active {
    filter:alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
}

/* =======================================
    ClearFixElements
======================================= */
#flickscroll ul:after,
#flickthumb ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
 
#flickscroll ul,
#flickthumb ul {
    display: inline-block;
    overflow: hidden;
}
.staff-comment{
	width:100%;
}
.staff-comment .staff-title{
	text-align: center;
    border-bottom: 1px solid #fff;
    font-weight: bold;
    font-size: 150%;
    padding: 0 0 0.5em;
}
.staff-comment li{
	margin:0 0 2em;
}
.staff-comment li table{
	width:100%;
}
.staff-comment li table th{
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
.staff-comment li table td{
	border-bottom: 1px solid #000;
}
/*--- ページ送り ----------------*/
#page_pn {margin: 0 0 20px 0;}
#page_pn dl {text-align: left;}

.pager{text-align: center;}
a.page-numbers,.pager .current{
	background: #eee;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px 8px;
	margin: 10px 2px 0 2px;
}
.pager .current{
	background: #444;
	border: 0;
	color: #fff;
}
/*--- フッター ------------------*/
footer{

}
.map{
	margin:0 auto 2em;
}
.footer-end{
	background: #000;
    color: #fff;
}
.footer-flex{
	display: flex;
	flex-flow: wrap;
	align-items: center;
	padding:3em 0;
}
.footer-flex .footer-rogo{
	width:100%;
	max-width: 420px;
	margin: 0 auto 1em;
}
.footer-flex .footer-add{
	width:100%;
}
small{
	text-align:center;
	display: block;
}
/********** widht 768px以上 *********************************/

@media screen and (min-width : 768px){

/*--- ヘッダー ------------------*/
.side-menu {
  width: 30%; /* 横幅30% */
}
/*--- コンテンツ ----------------*/
.inner{
    padding: 0 3em;
}
.sub-menu .left, .sub-menu .right{
	width:45%;
}
.sns a {
  width: 55px;
}
.sns-title{
  display: block;
}
/*--- スタッフ設定 --------------------*/

ul.staff-flame li{
	width: calc(100% / 3);
	padding: 5px;
    box-sizing: border-box;
}
.staff-pic{
	width:40%;
}
.staff-comment{
	width:55%;
}
/*--- フッター ------------------*/
.footer-flex .footer-rogo{
	width:40%;
}
.footer-flex .footer-add{
	width:60%;
}

/********** widht 768px end *********************************/

}

/********** widht 770px以上 *********************************/

@media screen and (min-width : 770px){
.staff-comment{
	width:50%;
}

/********** widht 768px end *********************************/

}