/*共通要素*/
html {font-size:62.5%; background-color:transparent; background-image:none;}
body {
	font-size:14px; font-size:1.4rem; font-weight:300; color:#333;
	font-family: 'Roboto Condensed', "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Open Sans", sans-serif;
	-webkit-text-size-adjust: 100%;}
a {text-decoration:none; color:inherit; -webkit-transition:.35s ease-in-out; -moz-transition:.35s ease-in-out; -ms-transition:.35s ease-in-out; transition:.35s ease-in-out;}
a:hover {text-decoration:none; opacity:0.9; color:inherit;}
.caption {display:none;}
img {width:100%; display:block;}
.clearfix:before, .clearfix:after {content:""; display:table;}
.clearfix:after {clear:both;}
.if_sp {display:none;}

/*フォント*/
@font-face {
	font-family: 'ishinomaki';
	src:
    url('../fonts/ishinomaki.ttf?4lmhul') format('truetype'),
    url('../fonts/ishinomaki.woff?4lmhul') format('woff'),
    url('../fonts/ishinomaki.svg?4lmhul#ishinomaki') format('svg');
  font-weight: normal; font-style: normal;
}
[class^="ic-"], [class*=" ic-"] {
  font-family:'ishinomaki' !important;
  speak:none;
  font-style:normal; font-weight:normal; font-variant:normal; text-transform:none; line-height:1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.ic-access:before {content:"\e900";}
.ic-ballon:before {content:"\e901";}
.ic-caution:before {content:"\e902";}
.ic-check:before {content:"\e903";}
.ic-clock:before {content:"\e904";}
.ic-close:before {content:"\e905";}
.ic-cycle:before {content:"\e906";}
.ic-pdf:before {content:"\e907";}
.ic-plus:before {content:"\e908";}
.ic-point:before {content:"\e909";}
.ic-profile:before {content:"\e90a";}

/*Flex
.flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.flex-byside {display:-webkit-flex; display:flex; -webkit-flex-direction:row; flex-direction:row;}
.flex-tandem {display:-webkit-flex; display:flex; -webkit-flex-direction:column; flex-direction:column;}
.flex-byside-spacing {display:-webkit-flex; display:flex; -webkit-flex-direction:row; flex-direction:row; -webkit-justify-content:space-between; justify-content:space-between;}
.flex-justify-spacing {-webkit-justify-content:space-between; justify-content:space-between;}
.flex-justify-center {-webkit-justify-content:center; justify-content:center;}
.flex-align-center {-webkit-align-items:center; align-items:center;}
.flex-align-ends {-webkit-align-items:flex-end; align-items:flex-end;}
.flex-wrap-wrap {-ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;}*/

/*ヘッダー*/
#head {
	width:100%; height:71px; position:fixed; top:0; left:0; right:0; bottom:0; background-color:rgba(255,255,255,.85); z-index:999;
	border-bottom:1px solid #eee;
	box-shadow:0px 3px 5px 0 rgba(0,0,0,0.1); -webkit-box-shadow:0px 3px 5px 0 rgba(0,0,0,0.1); -moz-box-shadow:0px 3px 5px 0 rgba(0,0,0,0.1);
}
#header-holder {
	display:-webkit-flex; display:flex;
	-webkit-flex-direction:row; flex-direction:row;
	-webkit-align-items:center; align-items:center;
	-webkit-justify-content:space-between; justify-content:space-between;
	margin:0 auto;
	padding:1.2rem 2rem;
}
#head h1 a {width:180px; display:block;}
#head h1 a:hover {-webkit-transform:scale(1.1); transform:scale(1.1);}
/*ナビ*/
#g-navi {font-size:1.3rem; font-weight:bold; position: relative;}
#g-navi ul {
	display:-webkit-flex; display:flex;
	-webkit-flex-direction:row; flex-direction:row;
	-webkit-align-items:center; align-items:center;
	text-align:center;
}
#g-navi ul li {color:#12467b; letter-spacing:.18rem; margin:0 1.2rem;}
li.youtube {width:22px; margin:0 0 0 -1rem;}
#g-navi ul li img {width:30px;}

#g-navi ul li a {display:block;}
#g-navi ul li a:hover {-webkit-transform:scale(1.3); transform:scale(1.3);}
#g-navi ul li span {font-size:.8rem; display:block; line-height:1.2rem; letter-spacing:.1rem;}

@media screen and (max-width:1110px) {
	#g-navi {display:none;}
}
@media screen and (max-width:414px) {
	#head {height:52px;}
	#header-holder {padding:1rem 2rem;}
	#head h1 a {width:120px;}
}

/*@-webkit-keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
@keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
.hvr-pop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(2px) translateZ(0);
  transform: perspective(2px) translateZ(0);
  box-shadow: 0 0 2px transparent;
}
.hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
  -webkit-animation-name: hvr-pop;
  animation-name: hvr-pop;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}*/


/*ボディ*/
#main {display:block;}
#body {margin-top:71px;}
.wrapper {max-width:780px; margin:0 auto; padding:0 2rem;}
.wrapper900 {max-width:900px; margin:0 auto; padding:0 2rem;}
@media screen and (max-width:414px) {
	#body {margin-top:35px;}
}

/*コンテンツ*/
#page-title {
	font-size:2.2rem; text-align:center; font-weight:bold; letter-spacing:.5rem;
	margin:0 auto; padding:.5rem 2.5rem; border:5px solid #fff;
}
.page-intro {
	font-size:1.5rem; line-height:2.8rem; text-align:justify; letter-spacing:.1rem;
	margin:4rem auto 0;
}
@media screen and (max-width:414px) {
	#page-title {
		font-size:1.7rem; letter-spacing:.3rem;
		padding:.2rem 2rem;
	}
	.page-intro {
		font-size:1.3rem; line-height:2.1rem;
		margin:2rem auto 0;
	}
}

/*スポンサー*/
#sponcor {background-color:#ffffff; margin:8rem auto 0; padding:.5rem 0 1.5rem; border-top:1px solid #ddd;}
#sponcor-in {margin:3rem auto;}
#sponcor h1 {font-family: 'Roboto Condensed', font-size:1rem; letter-spacing:.2rem; color:#999; margin:0 auto; text-align:center;}
#sponcor ul {display:flex; margin:3rem 0; padding:0 2rem;}
#sponcor ul li { margin:0 auto; }

@media screen and (max-width:768px) {
#sponcor {background-color:#ffffff; margin:7rem auto 0; border-top:1px solid #ddd;}
#sponcor-in {margin:2.5rem auto 0;}
#sponcor h1 {font-family: 'Roboto Condensed', font-size:.8rem; letter-spacing:.2rem; color:#999; margin:0 auto; text-align:center;}
#sponcor ul {display:flex; margin:2rem 0 0; padding:0 .5rem;}
#sponcor ul li { margin:0 .5rem; }
}
@media screen and (max-width:414px) {
#sponcor {background-color:#ffffff; margin:5rem auto 0; border-top:1px solid #ddd;}
#sponcor-in {margin:2rem auto 0; padding:0 .2rem;}
#sponcor h1 {font-family: 'Roboto Condensed', font-size:.7rem; letter-spacing:.2rem; color:#999; margin:0 auto; text-align:center;}
#sponcor ul {display:flex; margin:2rem 0 0; padding:0 .3rem;}
#sponcor ul li { margin:0 .3rem; }
}


/*フッター*/
#footer {background-color:#12467b; margin:0rem; margin-top:10rem;}
#cp-holder {color:#fff; font-size:1rem; letter-spacing:.2rem; text-align:center; padding:3rem 0;}
@media screen and (max-width:414px) {
	#footer {margin-top:4rem;}
}

/*スマホメニュー*/
.global-nav-sp {
	font-size: 1.2rem;
	line-height: 1.2rem;
	letter-spacing: .1rem;
	display: none;
}
.global-nav-sp a {
	color: rgba(255,255,255,0.8);
	padding: .3rem 1.5rem .5rem;
	background-color: rgb(18, 70, 123);
	vertical-align: middle;
	border-radius: 3px;
}
.closebtn {
	position: absolute;
	right: 2rem;
	top: 2rem;
	z-index: 1000;
	cursor: pointer;
}
.closebtn span {
	font-size: 3rem;
	display: block;
}
#sp-menu ul {
	position: relative;
	text-align: center;
	padding-top: 3.5rem;
	font-size: 1.6rem;
	font-weight:bold;
	letter-spacing:.1rem;
}
#sp-menu ul li {padding: 1rem 0;}
#sp-menu ul li span {display:block; font-size: 1.2rem; letter-spacing:0; color:#12467b;}
#sp-menu ul li.fb, #sp-menu ul li.youtube {width:30px; margin:1rem auto 0;}


@media screen and (max-width:1110px) {
	.global-nav-sp {
		display: block;
	}
}


.pc-hidden {display:none;}
.sp-hidden {display:block;}
@media screen and (max-width:540px) {
	.pc-hidden {display:block;}
	.sp-hidden {display:none;}
}
@media screen and (max-width:440px) {
	.pc-hidden {display:block;}
	.sp-hidden {display:none;}
}