@charset "UTF-8";


/*** RESET ***/

body, header, footer, nav, section, div, ol, ul, li, dt, dd, p, h1, h2, h3 {
	margin: 0;
	padding: 0;
}

article,aside,canvas,details,figcaption,figure,
header,footer,hgroup,menu,nav,section,summary {
	display: block
}

input::-ms-clear { display:none; }
input::-ms-reveal { display:none; }
input:-ms-input-placeholder {	color: #ccc!important;}

/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:block;
    overflow:hidden;
}

.cf:after {
    clear:both;
}

/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}

@media print, screen and (max-width: 919px) {
	.pc {display: none !important;}
}
@media print, screen and (min-width: 920px) {
	.sp {display: none !important;}
}

/************************************************************
　　　　全体
************************************************************/
body {
	font-size: 14px;
	font-family: YuGothic, '游ゴシック', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", arial, verdana, Meiryo, "ＭＳ Ｐゴシック", Osaka,  sans-serif;
	color: #000;
}

ul, li {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
}

article a {
	text-decoration: none;
	background-color: #ffed72;
	color:#000000 ;
	padding: 2px;
	-webkit-transition: all 0.1s linear;
       -moz-transition: all 0.1s linear;
        -ms-transition: all 0.1s linear;
         -o-transition: all 0.1s linear;
            transition: all 0.1s linear;
}

::selection {
	background: #fcd600; color: #000;
}

::-moz-selection {
	background: #fcd600; color: #000;
}

#wrapper {
	font-size: 100%;
	width: 100%;
	margin: 0 auto;
	line-height: 140%;
}

/*****************************************************************/
	@media print, screen and (min-width: 920px) {
		body {
			font-size: 16px;
			line-height: 1.6;
		}

		article a:hover {
			background-color: #fcf4c6;
	-webkit-transition: all 0.1s linear;
       -moz-transition: all 0.1s linear;
        -ms-transition: all 0.1s linear;
         -o-transition: all 0.1s linear;
            transition: all 0.1s linear;
		}

		#wrapper {
			overflow: hidden;
		}
	}

/************************************************************
　　　　ヘッダ
************************************************************/
header {
	padding: 10px;
}

#logo a {
	display: block;
	width: 61px;
	height: 77px;
	text-indent: -9999px;
	background: url('/common/images/logo.png') no-repeat center ;
	background-size: 61px;
	margin: 0 auto;
}

header #langMenu {
	position: absolute;
	top: 11px; right: 16px;
}

header #langMenu li {
	margin: 26px 23px 0 0;
}

header #langMenu li a {
	color: #000;
	text-decoration: none;
}

.JP header #langMenu li.JP a,
.EN header #langMenu li.EN a {
	display: none;
}

/*****************************************************************/
	@media print, screen and (min-width: 920px) {
		header {
			padding: 0;
		}

		header .inner {
			position: fixed;
			width: 100%;
			padding: 0;
			top:0;left: 0;
			z-index: 2;
			background-color: #fff;
			border-bottom: 1px solid #e5e5e5;
			height: 102px;
		}

/*		header .inner:before {
			content: "";
			width: 100%;
			height: 115px;
			background-color: rgba(255,255,255,0.8);
			position: absolute;
			top:0;
			z-index: -1;
			border-bottom: 1px solid #0ff;
		}*/

		#logo {
			display: none;
/*			width: 130px;
			margin: 0 auto;*/
		}

/*		#logo a {
			display: block;
			width: 130px;
			height: 166px;
			background-size: 130px;
			margin-top: 46px;
		}
*/
		header #langMenu {
			position: fixed;
			top: 0px; right: 16px;
			font-size: 12px;
			z-index: 9999;
		}

		.JP header #langMenu li.JP a,
		.EN header #langMenu li.EN a {
			display: inline;
		}

		header #langMenu li {
			float: left;
			margin-top: 10px;
		}

		header #langMenu li.EN:before {
			content: "/";
			margin: 0 20px 0 0;
		}

	}

/* ナビゲーション
************************************************************/
header #gNav {
	position: fixed;
}

/* グローバルナビゲーション
************************************************************/
header #gNav {
	position: relative;
	top: 0;
}

header #gNav #gNavInner {
	display: none;
	position: fixed;
	z-index: 1;
	width: 100%;
	height: 100%;
	overflow: scroll;
	top: 0;left: 0;
	z-index: 2;
}

header #gNav #gNavInner > ul {
	box-sizing:border-box;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	padding-top: 100px;
}

header #gNav #gNavInner > ul li {
}

header #gNav #gNavInner > ul li a {
	display: block;
	color: #000;
	padding: 14px 30px;
	text-decoration: none;
	text-align: center;
}

/*header #gNav #gNavInner > ul li:nth-child(4) a {
	color: #ccc;
	cursor: text;
	pointer-events: none;
}*/

header #navBtn {
	position: fixed;
	top: 28px;
	left: 30px;
	border-radius: 50%;
	z-index: 3;
	background-color: #fff;
	padding: 8px;
}

header #navBtn a {
	display: inline-block;
	width: 26px;
	height: 26px;
	text-indent: -9999px;
	position: relative;
	transition: all .4s;
}

header #navBtn a:before,
header #navBtn a:after,
header #navBtn a i:after {
	content: "";
	position: absolute;
	left: 4px;top: 6px;
	width: 20px;height: 2px;
	background-color: #000;
	border-radius: 1px;
	transition: all .4s;
}

header #navBtn a i:after {top: 12px;}
header #navBtn a:after {top: 18px;}
header .show a i:after {opacity: 0;}
header .show a:before {
	-webkit-transform: translateY(7px) rotate(-135deg);
	transform: translateY(7px) rotate(-135deg);
}
header .show a:after {
	-webkit-transform: translateY(-5px) rotate(135deg);
	transform: translateY(-5px) rotate(135deg);
}



/*****************************************************************/
	@media print, screen and (min-width: 920px) {

		header #gNav {
			height: 1px;
		}


		header #gNav #gNavInner {
			display: block;
			position: fixed;
			width: 1000px;
			height: auto;
			overflow: visible;
			top: 0;left: 50%;
			margin-left: -500px;
		}

		header #gNav #gNavInner > ul {
			box-sizing:content-box;
			height: auto;
			background-color: transparent;
			padding-top: 20px;
			position: relative;
			margin-top: -1px;
		}

		header #gNav #gNavInner > ul li {
			float: left;
			width: 188px;
		}

		header #gNav #gNavInner > ul li.home {
			position: absolute;
			left: 50%;top: -300px;
			margin-left: -230px;
			border: 1px solid #e5e5e5;
			width: 460px;height: 460px;
			border-radius: 50%;
			background-color: #fff;
		}

		header #gNav #gNavInner > ul li.home:before {
			content: "";
			width: 100%;height: 100%;
			background-color: #fff;
			position: absolute;
			bottom:120px;left: 0;
		}

		header #gNav #gNavInner > ul li.home a {
			text-indent: -9999px;
			width: 100px;height: 100px;
			padding: 0;
			background: url('/common/images/logo.png') no-repeat center bottom;
			background-size: 72px;
			margin: 0 auto 20px;
			position: absolute;
			left: 50%;bottom: 14px;
			margin-left: -50px;
		}

		header #gNav #gNavInner > ul li.competition {
			margin-left: 248px;
		}

		.EN header #gNav #gNavInner > ul li.competition {
			position: relative;
			top: -6px;
		}

		.EN header #gNav #gNavInner > ul li.competition a {
			padding: 22px 30px;
		}


		header #gNav #gNavInner > ul li a {
			padding: 30px;
			background-color: #fff;
			position: relative;
			z-index: 1;
			-webkit-transition: all 0.1s linear;
			-moz-transition: all 0.1s linear;
			-ms-transition: all 0.1s linear;
			-o-transition: all 0.1s linear;
			transition: all 0.1s linear;
		}

		header #gNav #gNavInner > ul li:not(.home) a:hover,
		.introduction header #gNav #gNavInner > ul li.introduction a,
		.competition header #gNav #gNavInner > ul li.competition a,
		.history header #gNav #gNavInner > ul li.history a,
		.contact header #gNav #gNavInner > ul li.contact a {
			color: #e4c10e;
		}

		header #navBtn {
			display: none;
		}
	}


/************************************************************
　　　　コンテンツ
************************************************************/
#contentArea {

}

#pageTitle {
	background-color: #FCD600;
}

#pageTitle h1 {
	font-family: YuMincho, '游明朝', "ヒラギノ明朝 ProN W3", "HiraMinProN-W3","ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	text-align: center;
	padding: 40px 0;
	font-size: 18px;
}

#contentArea .inBox {
	padding: 0 20px;
	margin-bottom: 50px;
}

#contentArea .wide {
	padding: 0;
}

#contentArea .h-01 {
	box-sizing: border-box;
	position: relative;
	padding: 30px 0;
}

#contentArea .h-01:before,
#contentArea .h-01:after {
	content: "";
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 16px;
	border: 2px solid #000;
}

#contentArea .h-01:before {border-bottom: none;}
#contentArea .h-01:after {border-top: none;position: absolute;bottom: 24px;}

#contentArea .h-01 .h-01Inner {
	padding: 0 6px;
	margin-top: -10px;
}

#contentArea .h-01 h1 {
	font-family: YuMincho, '游明朝', "ヒラギノ明朝 ProN W3", "HiraMinProN-W3","ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-weight: lighter;
	font-size: 16px;
	line-height: 1.8;
	text-align: center;
}

#contentArea .h-01 h1 span {
	font-size: 12px;
	margin: 0 6px;
}
#contentArea .h-01 h1 i {
	font-style: normal;
	letter-spacing: -0.1em;
}

#contentArea .h-01 h1:before,
#contentArea .h-01 h1:after {
	content: "";
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 10px;
	border: 1px solid #000;
}

#contentArea .h-01 h1:before {border-bottom: none;}
#contentArea .h-01 h1:after {border-top: none;margin-top: 8px;}

#contentArea .h-02 {
	font-family: YuMincho, '游明朝', "ヒラギノ明朝 ProN W3", "HiraMinProN-W3","ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-weight: lighter;
	font-size: 16px;
	line-height: 1.8;
	text-align: center;
	letter-spacing: 0.2em;
	padding: 10px 0 20px;
  margin: 10px 0 15px;
}

#contentArea .h-02 span {
	position: relative;
	max-width: 230px;
	padding-left: 0.1em;
	display: inline-block;
}

#contentArea .h-02 span:before,
#contentArea .h-02 span:after {
	content: "";
	display: block;
	height: 33px;
	width: 15px;
	background: url('/common/images/subtitle_l.png') no-repeat;
	background-size: 15px;
	position: absolute;
	top:50%;
	margin-top: -16px;
	left: -30px;
}

#contentArea .h-02 span:after {
	background-image:url('/common/images/subtitle_r.png');
	left: auto; right : -30px;
}

#contentArea .h-02 span i {
	font-style: normal;
	font-size: 12px;
}

#contentArea .h-03 {
  text-align: center;
  font-weight: normal;
  padding-bottom: 20px;
  margin-top: 50px;
  font-size: 16px;
}

#contentArea .h-03:after {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  background-color: #FCD600;
  position: relative;
  right: -50%;
  margin: 10px 0 0 -20px;
}

#contentArea .h-03 i.small {
	font-style: normal;
	font-size: 12px;
}

#contentArea .h-03:first-child {
  margin-top: 0;
}

#contentArea .buttom {
	text-align: center;
	position: relative;
}

#contentArea .buttom a {
	display: inline-block;
	padding: 10px 20px 8px 32px;
	background-color: #000;
	color: #fff;
	position: relative;
}
#contentArea .buttom a:after {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	position: absolute;
	top: 50%;
	left: 20px;
	margin-top: -3px;
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	     -ms-transform: rotate(45deg);
	        -o-transform: rotate(45deg);
	            transform: rotate(45deg);
}

#contentArea .buttom.yellow a {
	background-color: #FCD600;
	display: block;
	padding: 18px 0 16px ;
	color: #000;
}
#contentArea .buttom.yellow a:after {
	border-top-color: #000;
	border-right-color: #000;
}

#contentArea .buttom.yellow.none a {
	background-color: #eee;
	color: #999;
	cursor: text;
	pointer-events: none;
}

#contentArea .buttom.yellow.none a:after {
	border: none;
}

#contentArea .close {
	display: block;
	text-align: center;
	padding: 18px 0 16px ;
	background-color: rgba(0,0,0,0.7);
	color: #fff;
	position: absolute;
	width: 100%;
	top:0;
}

#contentArea .list > li {
  border-bottom: 1px solid #c5c5c5;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

#contentArea ol.list > li {
  padding-left: 30px;
  position: relative;
}


#contentArea ol.list > li:before {
  content: "1";
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  background-color: #FCD600;
  text-align: center;
  font-size: 12px;
}

#contentArea ol.list > li:nth-child(2):before {content:"2";}
#contentArea ol.list > li:nth-child(3):before {content:"3";}
#contentArea ol.list > li:nth-child(4):before {content:"4";}
#contentArea ol.list > li:nth-child(5):before {content:"5";}
#contentArea ol.list > li:nth-child(6):before {content:"6";}
#contentArea ol.list > li:nth-child(7):before {content:"7";}
#contentArea ol.list > li:nth-child(8):before {content:"8";}
#contentArea ol.list > li:nth-child(9):before {content:"9";}
#contentArea ol.list > li:nth-child(10):before {content:"10";}
#contentArea .internalLink {
	padding: 12px 20px 12px 0;
}

#contentArea .internalLink a {
	background-color: transparent;
	padding-left: 20px;
	position: relative;
}

#contentArea .internalLink a:before {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #FCD600;
	border-right: 2px solid #FCD600;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	     -ms-transform: rotate(45deg);
	        -o-transform: rotate(45deg);
	            transform: rotate(45deg);
}



/*****************************************************************/
	@media print, screen and (min-width: 920px) {
		#contentArea {
			margin-top: 102px;
		}

		#pageTitle {
			padding-top: 40px;
			margin-bottom: 40px;
		}

		#pageTitle h1 {
			padding: 60px 0 100px;
			font-size: 36px;
			font-weight: lighter;
			line-height: 1.1;
		}


		#contentArea .inBox {
			width: 1000px;
			margin: 0 auto 40px;
			padding: 0;
		}

		#contentArea .w750 {
			width: 750px;
			margin: 0 auto;
		}

		#contentArea #pageTitle {
			padding-top: 40px;
			letter-spacing: 0.2em;
		}

		#contentArea #pageTitle span {
			padding-left: 0.1em;
		}

		#contentArea section,
		#contentArea .wide .innner {
			width: 1000px;
			margin: 0 auto;
		}

		#contentArea .wide {
			width: 100%;
		}

		#contentArea .h-01 {
			box-sizing: content-box;
			width: 992px;
			margin-bottom: 60px;
		}

		#contentArea .h-01:before,
		#contentArea .h-01:after {
			box-sizing: content-box;
			width: 992px;
			height: 22px;
			border: 4px solid #000;
		}

		#contentArea .h-01:before {border-bottom: none;}
		#contentArea .h-01:after {border-top: none;bottom: 20px;}

		#contentArea .h-01 .h-01Inner {
			padding: 0 10px;
			margin-top: -16px;
		}

		#contentArea .h-01 h1 {
			font-size: 30px;
			width: 978px;
		}

		#contentArea .h-01 h1 span {
			font-size: 20px;
			margin: 0 10px;
		}

		#contentArea .h-01 h1:before,
		#contentArea .h-01 h1:after {
			box-sizing: content-box;
			width: 978px;
			height: 15px;
		}


		#contentArea .h-02 {
			font-size: 30px;
			padding: 20px 0 40px;
			margin-top: 100px;
		}

		#contentArea .h-02 span {
			max-width: 780px;
		}

		#contentArea .h-02 span:before,
		#contentArea .h-02 span:after {
			height: 62px;
			width: 30px;
			background-size: 30px;
			top:50%;
			left: -80px;
			margin-top: -31px;
		}

		#contentArea .h-02 span:after {
			left: auto;
			right : -80px;
		}

		#contentArea .h-02 span i {
			font-size: 20px;
		}

		#contentArea .h-03 {
			padding-bottom: 40px;
			margin-top: 100px;
			font-size: 24px;
		}

		#contentArea .h-03:after {
			width: 64px;
			margin: 17px 0 0 -32px;
		}

		#contentArea .h-03 i.small {
			font-size: 14px;
		}

		#contentArea .h-03:first-child {
			margin-top: 60px;
		}

		#contentArea .buttom a {
			padding: 16px 32px 16px 48px;
		}

		#contentArea .buttom a:after {
			width: 7px;
			height: 7px;
			left: 30px;
			margin-top: -5px;
		}

		#contentArea .buttom.yellow a {
			width: 600px;
			margin: 0 auto;
			padding: 24px 32px 22px 48px;
		}

		#contentArea .buttom.yellow a:hover {
			background-color: #000;
			color: #fff;
		}

		#contentArea .buttom.yellow a:hover:after {
			border-top-color: #fff;
			border-right-color: #fff;
		}

		#contentArea .close {
			width: 680px;
			padding: 24px 0 22px;
			left: 50%;
			margin-left: -340px;
		}

		#contentArea ol.list > li {
			padding-left: 64px;
		}


		#contentArea ol.list > li:before {
			display: table-cell;
			left: 20px;
			top: -2px;
			width: 24px;
			height: 22px;
			padding-top: 2px;
			font-size: 14px;
		}

	}



/************************************************************
　　　　フッタ
************************************************************/
footer {
	background-color: #000;
		padding: 42px 0 22px;
	position: relative;
}

footer #copyright {
	text-align: center;
	font-size: 12px;
	color:#ffffff;
	margin-top: 10px;
}

footer #tokutei {
	text-align: right;
	margin: 0 15px 20px 10px; 
}

footer #tokutei a {
	color: #fff;
	position: relative;
}

footer #tokutei a:before {
	content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    top: 50%;
    left: -20px;
    margin-top: -3px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*	ページトップボタン
------------------------------------------------------*/
#pageTop {
	margin: 0 auto;
	width: 78px;
	height: 50px;
	overflow: hidden;
	position: absolute;
	top:-30px; left: 50%;
	margin-left: -39px;
	z-index: 1;
}

#pageTop a {
	display: block;
	width: 78px;
	height: 78px;
	border-radius: 50%;
	text-indent: -99999px;
	background: url('/common/images/pagetop.gif') no-repeat center 16px #000;
	background-size: 30px;
}

/*****************************************************************/
	@media print, screen and (min-width: 920px) {
		footer {
			padding: 60px 0;
			margin-top: 100px;
		}

		footer #copyright {
			font-size: 14px;
		}

		footer #tokutei {
			width: 1000px;
			margin: 0 auto;
		}

/*	ページトップボタン
------------------------------------------------------*/
		#pageTop {
			width: 158px;
			height: 90px;
			top:-38px;
			margin-left: -79px;
		}

		#pageTop a {
			width: 158px;
			height: 158px;
			background-position: center 30px;
			background-size: 50px;
		}

	}



/****************************************************************
　印　刷　用
****************************************************************/
@media print {
	body,#wrapper {
		width: 110%;
	}
	#contentArea .inBox {
		width: 100%;
	}
	header .inner {
		position: absolute;
	}
	header #langMenu {
		position: absolute;
	}
	header #gNav #gNavInner {
		position: absolute;
	}

}
