@charset "utf-8";

/*------------------------------------------------------------
	RESET
------------------------------------------------------------*/
/** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http://cssreset.com */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
main, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*------------------------------------------------------------
	lib SLICK
------------------------------------------------------------*/
/* Slider */
.slick-slider{ position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list{ position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus{ outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track{ position: relative; top: 0; left: 0; display: block; }
.slick-track:before,.slick-track:after{ display: table; content: ''; }
.slick-track:after{ clear: both; }
.slick-loading .slick-track{ visibility: hidden; }
.slick-slide{display: none; float: left; height: 100%; min-height: 1px; }
[dir='rtl'] .slick-slide{ float: right; }
.slick-slide img{ display: block; }
.slick-slide.slick-loading img{ display: none; }
.slick-slide.dragging img{ pointer-events: none; }
.slick-initialized .slick-slide{ display: block; }
.slick-loading .slick-slide{ visibility: hidden; }
.slick-vertical .slick-slide{ display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden{ display: none; }


/*------------------------------------------------------------
	FONT
------------------------------------------------------------*/
/*! Yaku Han JP (Gothic - Small Amount) v2.0.0 SIL by Qrac / Based on Noto Sans CJK JP */
@font-face{font-family:"YakuHanJPs";font-style:normal;font-weight:100;src:url("../fonts/YakuHanJPs/YakuHanJPs-Thin.eot");src:url("../fonts/YakuHanJPs/YakuHanJPs-Thin.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Thin.woff") format("woff")}@font-face{font-family:"YakuHanJPs";font-style:normal;font-weight:200;src:url("../fonts/YakuHanJPs/YakuHanJPs-Light.eot");src:url("../fonts/YakuHanJPs/YakuHanJPs-Light.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Light.woff") format("woff")}@font-face{font-family:"YakuHanJPs";font-style:normal;font-weight:300;src:url("../fonts/YakuHanJPs/YakuHanJPs-DemiLight.eot");src:url("../fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff") format("woff")}@font-face{font-family:"YakuHanJPs";font-style:normal;font-weight:400;src:url("../fonts/YakuHanJPs/YakuHanJPs-Regular.eot");src:url("../fonts/YakuHanJPs/YakuHanJPs-Regular.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Regular.woff") format("woff")}@font-face{font-family:"YakuHanJPs";font-style:normal;font-weight:500;src:url("../fonts/YakuHanJPs/YakuHanJPs-Medium.eot");src:url("../fonts/YakuHanJPs/YakuHanJPs-Medium.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Medium.woff") format("woff")}@font-face{font-family:"YakuHanJPs";font-style:normal;font-weight:700;src:url("../fonts/YakuHanJPs/YakuHanJPs-Bold.eot");src:url("../fonts/YakuHanJPs/YakuHanJPs-Bold.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Bold.woff") format("woff")}@font-face{font-family:"YakuHanJPs";font-style:normal;font-weight:900;src:url("../fonts/YakuHanJPs/YakuHanJPs-Black.eot");src:url("../fonts/YakuHanJPs/YakuHanJPs-Black.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Black.woff") format("woff")}

@font-face {
	font-family: 'noto_sans_cjk_jp_r';
	src: url('../fonts/NotoSansJP-Regular-subset.woff2') format('woff2'),  url('../fonts/NotoSansJP-Regular-subset.woff') format('woff');
}
@font-face {
	font-family: 'noto_sans_cjk_jp_m';
	src: url('../fonts/NotoSansJP-Medium-subset.woff2') format('woff2'),  url('../fonts/NotoSansJP-Medium-subset.woff') format('woff');
}
@font-face {
	font-family: 'Panton-Bold';
	src: url('../fonts/panton-bold-webfont.woff2') format('woff2'), url('../fonts/panton-bold-webfont.woff') format('woff');
}
@font-face {
	font-family: 'Panton';
	src: url('../fonts/Panton-Regular.woff') format('woff');
}

.non-yakuhan{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo !important;
}

.font-en{
	font-family: 'Panton-Bold';
	vertical-align: middle;
}
.font-en-reg{
	font-family: 'Panton'!important;
	vertical-align: middle!important;
}
body.shift-en span.wfont-en{
	display: inline !important;
	font-family: 'Panton-Bold';
}

html, body, * {
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-text-rendering: geometricPrecision;
	-moz-text-rendering: geometricPrecision;
	-ms-text-rendering: geometricPrecision;
	-o-text-rendering: geometricPrecision;
	-moz-osx-font-smoothing: grayscale;
	box-sizing: border-box;
}
.sp_only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }
}

#requirements_page{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 90px;
  opacity: 0.4;
  border-radius: 50%;
  border: 1px solid #0b318f;
  transition:all 0.2s ease;
}
#requirements_page:hover {
	opacity: 0.8;
	background-color: #0b318f;
	color: #fff;
}
#requirements_page a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
  transition:all 0.2s ease;
  padding: 21px 13px 0px 13px;
   font-size: 10px;
}
#requirements_page a:hover {
	color: #fff;
}
#requirements_page a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #0b318f;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -46px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#requirements_page a:hover::before{
	color: #fff;
}
#requirements_page {
	display: none;
}
/* Cookie Link */
  .cookie-consent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 13px;
    color: #fff;
    background: rgba(0,0,0,.9);
    padding: 1.2em;
    box-sizing: border-box;
    visibility: hidden;
    z-index: 10000;
  }
  .cookie-consent.is-show {
    visibility: visible;
  }
  .cookie-consent a {
    color: #fff !important;
  }
  .cookie-text {
  	width: 80%;
  	padding: 10px;
  }
  .cookie-agree {
    color: #000;
    background: #fff;
    font-weight: bold;
    padding: .5em 1.5em;
  	min-width: 180px;
  	border-radius: 5px;
  	font-size: 16px;
  	margin-right: 40px;
  	text-align: center;
  }
  .cookie-agree:hover {
    cursor: pointer;
  }
  /* パッと消える */
  .cc-hide1 {
    display: none;
  }
  /* ゆっくり消える */
  .cc-hide2 {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
  }
	 #cookie_info {
	  padding-top: 100px;
	  margin-top:-100px;
	}
  @keyframes hide {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      visibility: hidden;
    }
  }
  /* メディアクエリ */
  @media screen and (max-width: 768px) {
    .cookie-consent {
      flex-direction: column;
    }
    .cookie-text {
      margin-bottom: 1em;
      width: 100%;
      font-size: 12px;
      padding: 0px;
    }
    .cookie-agree {
	  	font-size: 12px;
  		margin-right: 0px;
	  }
	 #cookie_info {
	  padding-top: 80px;
	  margin-top:-80px;
	}
  }
