@charset "utf-8";

/* -------------------------------------
   font
------------------------------------- */
html,
body {
	/*font-size: 150%;  24px */
	/*font-size: 100%;  16px */
	/*font-size: 93.8%;  15px */
	/*font-size: 87.5%;  14px */
	/*font-size: 81.3%;  13px */
	/*font-size: 75%;  12px */
	/*font-size: 12px;*/
	/*font-size: 68%; 11px */
	/*font-size: 62.5%;  10px */
	font-size: 62.5%;
	line-height: 2rem;

	font-family: Arial,Roboto,"Droid Sans","游ゴシック体","游ゴシック","Yu Gothic",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ", Meiryo,sans-serif;
}

.f-min {
	font-family: "游明朝体","游明朝","Yu Mincho",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","Times New Roman","メイリオ",Meiryo,serif;
}
/* ---------- IEフォント対策 ---------- */
@media all and (-ms-high-contrast:none){
	html,body{
		font-family: Arial,Roboto,"Droid Sans","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN";

	}
	.f-min {
		font-family:"ＭＳ Ｐ明朝","MS PMincho",serif,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN";
	}
}

/* =================================================
   COMMON
================================================= */
html {
}

body {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	word-break: normal;
	word-wrap: break-word;
	color: #000;
	text-align: left;
	width: 100%;
	height: 100%;
	position: relative;
	margin: 0px;
	font-size: 1.6rem;
	line-height: 2rem;
}

a {
	font-size: 100%;
	font-weight: bold;
	vertical-align: baseline;
	margin: 0;
	padding: 0;
	background: transparent;
	color: #e60012;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

ul {
	list-style: none;
}

header, footer, .bottom {
	width:100%;
}

/* =================================================
   共通エフェクト
================================================= */
nav#fn_menu li,
h2 {
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
}
/*.thum_mask {
	box-shadow:2px 2px 0px 0px rgba(0,0,0,0.25);
	-moz-box-shadow:2px 2px 0px 0px rgba(0,0,0,0.25);
	-webkit-box-shadow:2px 2px 0px 0px rgba(0,0,0,0.25);
}*/
nav#fn_menu li {
	box-shadow:2px 2px 0px 0px rgba(0,0,0,0.5);
	-moz-box-shadow:2px 2px 0px 0px rgba(0,0,0,0.5);
	-webkit-box-shadow:2px 2px 0px 0px rgba(0,0,0,0.5);
}
/*#news,
#special {
	box-shadow:2px 2px 2px 0px rgba(0,0,0,0.5);
	-moz-box-shadow:2px 2px 2px 0px rgba(0,0,0,0.5);
	-webkit-box-shadow:2px 2px 2px 0px rgba(0,0,0,0.5);
}*/

.fn_box,
.closed_box{
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

/* =================================================
   640px以下 スマホ・タブレット用
================================================= */

body {
	min-width: 460px;
}
/* ---------- ヘッダー ---------- */
header {
	position: relative;
	width:100%;
}

#header_top {
	display: block;
	width:100%;
	min-height: 60px;
	background:repeat url(/img/bg_hf.png);
}

h1 {
	display: block;
	float: left;
	width: 100%;
	height: 45px;
	padding: 0px 10px 0px 10px;
	margin: 10px 0px;
	text-indent:0px;
	box-sizing:border-box;
}
h1 a {
}
h1 a img {
	width: auto;
	height: 100%;
}
h1 a:first-child {
	margin-right: 10px;
}
.s_banner img {
	width: auto;
	height: 100%;
}

.gsc-control-cse {
	background-color: transparent !important;
	border: none !important;
	width: 230px !important;
	float: right;
}

#___gcse_0 {
	clear:both;
}

/* ---------- メニュー ---------- */
nav#fn_menu {
	display: none;
	z-index:100;
}
nav#fn_menu ul {
	font-size: 0;
	width:auto;
}
nav#fn_menu li{
	display: inline-block;
	width: 90%;
	height: 40px;
	margin: 10px 5%;
	
	font-size: 1.4rem;
	line-height: 1.4rem;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
nav#fn_menu a{
	display: table-cell;
	vertical-align: middle;

	width:600px;
	height: 40px;
	padding-left:45px;

	color: #ffffff;
	text-decoration: none;
}
nav#fn_menu a:hover{
}


/* ハンバーガーメニュー */
nav#fn_menu {
	position: absolute;
	top: 100;
	transition: transform 0.5s linear 0s;
	z-index: 1000;
}
#menu-icon {
	display: block;
}

#menu-background {
	background-color: #333;
	height: 100%;
	opacity: 0;
	position: fixed;
	right: 0;
	top: -100%;
	transition: all 0.5s linear 0s;
	width: 100%;
	z-index: -1;
}

#menu-icon {
	background-color: #ff8888; /*アイコン部分背景色*/
	color: #ffffff; /*アイコン（フォント）色*/
	cursor: pointer;
	display: block;
	font-size: 40px; /*アイコン（フォント）サイズ*/
	height: 40px; /*アイコン縦高さ*/
	line-height: 40px; /*縦位置中央化*/
	position: absolute;
	right: 20px;
	text-align: center;
	top: 10px;
	width: 40px; /*アイコン横幅*/
	transition: all 0.5s linear 0s;
	z-index: 1000;
	border: 1px solid #ffffff;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

#menu-cb,
#menu-mag {
	display: none; /*チェックボックス本体は消しておく*/
}

#menu-cb:checked ~ nav#fn_menu,
#menu-cb:checked ~ #menu-icon {
	display: block;
	transform: translate(0); /*メニュー本体横幅 width と合わせる*/
}

#menu-cb:checked ~ #menu-background {
	top: 0;
	opacity: 0.2;
	z-index: 999;
}
/* ---------- プルダウンメニュー ---------- */
nav#fn_menu li ul{
	display: none;
	line-height: 0;
}


/* ---------- コンテンツ ---------- */
section {
	clear: both;

	margin: 0px;
	padding: 10px 0px;
	width: 100%;
}

.box {
	margin: 0px;
	width: auto;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.box .text {
	margin: 0px 10px 1em 10px;
}

h2 {
	background-color: #ff8888;
	color: #ffffff;
	padding: 0.25em;
	margin: 10px;
	height: 40px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 40px;
	vertical-align: middle;
}
.m_fnn {
	background: url(/img/icon_fnn.png) no-repeat 10px #ff8888 !important;
}
.m_cam {
	background: url(/img/icon_cam.png) no-repeat 10px center #55bbff !important;
}
.m_mag {
	background: url(/img/icon_mag.png) no-repeat 10px center #98db33 !important;
}
.m_spe {
	background: url(/img/icon_spe.png) no-repeat 10px center #ffd45c !important;
}
.m_lnk {
	background: url(/img/icon_lnk.png) no-repeat 10px center #9999ee !important;
}


/* ---------- コンテンツ2 ---------- */
.fn_box {
	border: solid 1px #cccccc;
	padding: 10px;
	margin:0px auto;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;

}
.closed_box {
	background: #ffeeee ;
	padding:20px 120px;
}
.closed_box h3 {
	font-size: 1.4em;
	line-height: 1.6em;
}


/* ---------- フッター ---------- */
footer {
	clear: both;
	text-align: center;
	background: repeat URL(/img/bg_hf.png);
	font-size: 1.2rem;
	color: #ffffff;
	padding: 10px 0px;
}
footer a {
	color:#ffffff !important;
}

/* ---------- PC・SP ---------- */
.pc {
	display: none;
}
.sp {
	display: block;
}


/* =================================================
   769px以上 PCサイト
================================================= */
@media screen and (min-width: 769px) {
body {
	min-width: 960px;
}

#header_top {
	display: block;
	width:100%;
	height: 95px;
	background:repeat url(/img/bg_hf.png);
}

h1 {
	width: 680px;
	height: 75px;
}
h1 a {
}
h1 a:first-child {
	margin-right: 20px;
}

nav#fn_menu {
	width:960px;
	position: relative;
	margin: 0px auto;
	display: block;
}
nav#fn_menu ul {
	float:left;
}
nav#fn_menu li{
	width: 180px;
	margin: 20px 5px;
}
nav#fn_menu .m_fnn {
	margin-left: 10px;
}
nav#fn_menu .m_lnk {
	margin-right: 10px;
}

#___gcse_0 {
	clear:none;
}

/* ハンバーガーメニュー */
#menu-icon {
	display: none;
}

/* ---------- プルダウンメニュー ---------- */
nav#fn_menu li ul{
	display: block;
	opacity: 0;
	top: 50%;
	visibility: hidden;
	transition: .5s;
	padding-top: 8px;
	margin-left: 10px;
}
nav#fn_menu li:hover ul{
	top: 100%;
	visibility: visible;
	opacity: 1;
}

nav#fn_menu li ul li{
	height: 34px;
	margin:2px auto;
	
	background-color:rgba(255,255,255,0.9);
}
nav#fn_menu li ul li a{
	height: 34px;
	padding-left: 10px;
	color:#ffffff;
}
nav#fn_menu li ul li a:hover{
	transition: .2s;
	background-color:rgba(255,255,255,0.6);
}

nav#fn_menu .m_mag ul li {
	background-color: #98db33;
}
nav#fn_menu .m_spe ul li {
	background-color: #ffd45c;
}
nav#fn_menu .m_lnk ul li {
	background-color: #9999ee;
}


/* ----------  ---------- */


.box {
	margin: 0px auto;
	width: 960px;
}

footer {
}

.pc {
	display: block;
}
.sp {
	display: none;
}

}


/* =================================== */
/* ========== 改変 Hover.css ========== */
/* =================================== */

/* Push */
@-webkit-keyframes hvr-push {
  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes hvr-push {
  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.hvr{
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.hvr:hover, .hvr-push:focus, .hvr-push:active {
  -webkit-animation-name: hvr-push;
  animation-name: hvr-push;
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
