@charset "utf-8";
/* CSS Document */
/* =====================
  r_style
===================== */
.mg_t-60px{margin-top: 60px;}
.mg_t-80px{margin-top: 80px;}
.mg_r-60px{margin-right: 60px;}
.mg_r-80px{margin-right: 80px;}
.mg_l-60px{margin-left: 60px;}
.mg_l-80px{margin-left: 80px;}
.mg_b-60px{margin-bottom: 60px;}
.mg_b-80px{margin-bottom: 80px;}

.pd_t-60px{padding-top: 60px;}
.pd_t-80px{padding-top: 80px;}
.pd_r-60px{padding-right: 60px;}
.pd_r-80px{padding-right: 80px;}
.pd_l-60px{padding-left: 60px;}
.pd_l-80px{padding-left: 80px;}
.pd_b-60px{padding-bottom: 60px;}
.pd_b-80px{padding-bottom: 80px;}

.font_13{font-size: 13px;letter-spacing: 3px}
.font_14{font-size: 14px;letter-spacing: 4px;}
.font_15{font-size: 15px;letter-spacing: 4.3px;}
.font_16{font-size: 16px;letter-spacing: 4.5px;}
.font_18{font-size: 18px;letter-spacing: 4.8px;}

.font_13_txt{font-size: 13px;line-height: 2.2;letter-spacing: 1.8px;}
.font_14_txt{font-size: 14px;line-height: 2.2;letter-spacing: 1.8px;}
.font_15_txt{font-size: 15px; line-height: 2.3;letter-spacing: 2px;}
.font_16_txt{font-size: 16px; line-height: 2.375;letter-spacing: 2.1px;}


/* ---------- 1280 ---------- */
@media screen and (max-width: 1280px){
.width_80per_1280{width: 80%; margin-right: auto; margin-left: auto;}
.width_90per_1280{width: 90%; margin-right: auto; margin-left: auto;}

}
/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
.font_13_txt_sp{font-size: 13px;line-height: 2.2;letter-spacing: 1.8px;}
.font_14_txt_sp{font-size: 14px;line-height: 2.2;letter-spacing: 1.8px;}
.font_15_txt_sp{font-size: 15px; line-height: 2.05;letter-spacing: 1.8px;}
.font_16_txt_sp{font-size: 16px; line-height: 2.05;letter-spacing: 1.8px;}
}
.ttl{ color: #e5e5e5; font-size: 19px; line-height: 1.76;font-weight: bold; letter-spacing: 6px;}

/* =====================
  base & reset
===================== */
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	letter-spacing: 2px;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* #default
   ----------------------------------------------------------------- */
body{
	color: #9c9c9c;
	background-color: #000019;
	font-size: 16px;
	font-family: "Noto Serif JP", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, sans-serif;
   line-height: 1.6;
  font-weight: 300;
  letter-spacing : 0.02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	 -webkit-overflow-scrolling: touch;
	overflow-scrolling:touch;
	 cursor: none;
}
a{
	color: #9c9c9c;
	 cursor: none;
}
.linkStyle{
	color: #9c9c9c;
}
.linkStyle:hover{
	color: #9c9c9c;
}
::selection {
    background: #15155B;
}
::-moz-selection {
    background: #15155B;
}
img{	vertical-align:top;}
em{	font-style: normal;}


/* #font
   ----------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css?family=Volkhov&display=swap');
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho&display=swap');
.Volkhov{font-family: 'Volkhov', serif; letter-spacing: 0.2em;}


/* #color
   ----------------------------------------------------------------- */
.txt_color1{color: #f0f0f0;}
.txt_color2{color: #4242bd;}
.txt_color3{color: #636373;}
.txt_color4{color: #e5e5e5;}

/* more +
   ----------------------------------------------------------------- */
.more{
width: 120px;
 position:relative;
 display:block;
 font-size:11px;
 text-transform:uppercase;
 letter-spacing:1px;
 padding:8px 10px 2px 2px;
	border-bottom: 1px solid #313159;
}
.more:after,
.more:before {
 content:"";
 position:absolute;
 background:#525263;
 display:block;
 -webkit-transition:all 0.15s ease;
 -moz-transition:all 0.15s ease;
 -o-transition:all 0.15s ease;
 -ms-transition:all 0.15s ease;
 transition:all 0.15s ease
}
.more:after {
 right:0;
 top:18px;
 width:9px;
 height:1px
}
.more:before {
 right:4px;
 top:14px;
 width:1px;
 height:9px
}
.more:hover:before {
 height:0
}
.more:hover:after {
 width:25px;
 right:-10px
}

/* effect-roxy 
   ----------------------------------------------------------------- */
figure.effect-roxy {
    position: relative;
/*    float: left;*/
    overflow: hidden;
    margin: 10px 1%;
    min-width: 320px;
    max-width: 520px;
    max-height: 360px;
    width: 50%;
    text-align: center;
    cursor: pointer;
	transition: background 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
}
figure.effect-roxy:hover{
    background: -webkit-linear-gradient(45deg, #a12e93 0%, #121235 100%);
	background: linear-gradient(45deg, #a12e93 0%,#121235 100%);
}
figure.effect-roxy img {
    max-width: none;
    width: -webkit-calc(100% + 60px);
    width: calc(100% + 60px);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-50px,0,0);
    transform: translate3d(-50px,0,0);
    position: relative;
    display: block;
    min-height: 100%;
}
figure.effect-roxy figcaption {
    text-align: left;
	padding: 2em;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	display: block;
	box-sizing: border-box;
}
figure.effect-roxy figcaption,figure.effect-roxy figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
figure.effect-roxy figcaption::before {
    position: absolute;
    top: 30px;
    right: 30px;
    bottom: 30px;
    left: 30px;
    content: '';
    opacity: 0;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-20px,0,0);
    transform: translate3d(-20px,0,0);
}
figure.effect-roxy figcaption > a {
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
}
figure.effect-roxy figcaption,figure.effect-roxy figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
figure.effect-roxy:hover img{
	opacity: 0.7;
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);}

/* =====================
  fade_up
===================== */
.fade_up{
    position: relative;
    overflow: hidden;
    z-index: 0;
    transform: translateY(15px);
    opacity: 0;
/*    transition: 1.5s cubic-bezier(0.5, 0.1, 0.2, 1) 0s; */
	transition: all 1.5s;
}

.fade_up.start{
    transform: translateY(0);
    opacity: 1;
}
.fade_up.delay{transition-delay: 250ms;}
/*====================================
  	IE環境の設定
====================================*/
@media all and (-ms-high-contrast:none){
/* =====================
  fade_up
===================== */
.fade_up{
	transition: 0s;
}
.fade_up.delay{transition-delay: 0ms;}
}
header.fade_up,header .fade_up{
	transition: all 1.5s;
}
/* =====================
  cursor
===================== */
.cursor,.follower{
	border-radius: 50%;
	position: fixed;
	top: 50%;
	left: 50%;
	pointer-events: none;
}
.cursor{
	/*background-color: #b5b5b5;*/
	background-color: #2424BC;
	height: 8px;
	width: 8px;
	z-index: 1001;
	opacity:1;
}
.follower{
	width: 40px;
	height: 40px;
	z-index: 1000;
	transition: 0.3s;
	opacity: 0.4;
	transition-property: transform,background
}
.follower.is-active{
	background-color: transparent;
	transform: scale(2);
	 background:rgba(205,205,230,0.2);
	
}

.cursor.is-active.more_move,.cursor.is-active.more_info{
	background-color: transparent;
}
.follower.is-active.more_move,.follower.is-active.more_info{
	background-color: transparent;
	border-radius: 0;
	border: none;
	transform: scale(1);
	transition-property: none;
	animation: rumble 0.2s linear infinite;
}
.follower.is-active.more_move::before{
	content: url("../img/more1.png");
	width: 100px;
	height: 100px;
	position: relative;
	top: -34px;
	left: -34px;
}
.follower.is-active.more_info::before{
	content: url("../img/more2.png");
	width: 100px;
	height: 100px;
	position: relative;
	top: -34px;
	left: -34px;
}

/* =====================
  header-change
===================== */
.header-change{
	display: flex;
    justify-content: space-between;
    padding: 39px;
    position: fixed;
	transform: translateY(-15px);
    width: 100%;
	z-index: 997;
    opacity: 0;
    transition: 1.5s cubic-bezier(0.5, 0.1, 0.2, 1) 0s;
 background: -moz-linear-gradient(top, #000019, transparent);
  background: -webkit-linear-gradient(top, #000019, transparent);
  background: linear-gradient(to bottom, #000019, transparent);
}
.header-change.show{
	transform: translateY(0);
    opacity: 1;

}
.header-change .gnav{	margin-left: auto;}
.header-change ul li a{
letter-spacing: .2em;
text-decoration: none;
color:rgba(255, 255, 255, 0.6);
transition: color 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
}
.header-change ul li a:hover{color:white;}


/* #header
   ----------------------------------------------------------------- */
h1 a img{width: 240px;}




/* footerLink
   ----------------------------------------------------------------- */
.footerLink .effect-roxy:last-of-type{top: 100px;}
.footerLink .more a{color: #bbc;}

/* #footer
   ----------------------------------------------------------------- */

.footerInfo{background: #121235; padding: 100px;}
.footerLogo{width: 250px;}
.footerBan{margin-left: 0px;}
.footerInfo ul li a::before{
	content: "■";
	color: #2e2e93;
	font-size: 5px;
padding-right: 5px;
vertical-align: middle;
}
.footerAdd{ padding: 100px;}


/* pageTop
   ----------------------------------------------------------------- */
#pageTop{
    bottom: 20px;
    right: 50px;
	position: fixed;
	z-index: 997;
}
#pageTop a img{
	width: 10px;
	height: 161px;
	transition: 0.6s;
}
#pageTop a:hover img{
	opacity: 0.6;
}
/*　otherpage
   ----------------------------------------------------------------- */
#cms_wrap{margin-bottom: 100px;}
.otherPage{
	background-image: url("../img/pageTitle.jpg");
	background-size: cover;
	background-position: center center;
	width: 100%;
	padding-bottom: 100px;
}

/*　cateLink
   ----------------------------------------------------------------- */
.cateLink ul{ border-bottom: 1px solid #525263;}
.cateLink ul li{width: 100%; text-align: center;}
.cateLink ul li a{ border-right: 1px solid #525263; width: 100%; text-align: center; display: block;padding: 20px 0px;}
.cateLink ul li:last-of-type a{ border-right: none;}

/* ---------- 1200px以下 ---------- */
@media screen and (max-width: 1200px){
	.header-change{padding: 29px 29px;}
}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
	.hero{display: none;}
	.header-change{display: none;}
#wrap,#page8 input[type="text"],#page8 textarea,#page8 #submit input{cursor: auto}
a{cursor: pointer}
.cursor,.follower{	display: none}
.follower.is-active.more_move,.follower.is-active.more_info,#footer .foot_page a:hover,#footer #sns a:hover,#menu_nav a:hover,#top_link a:hover span,#top_link a:hover span,#page8 #submit input:hover,#pager li.prev a:hover,#pager li.next a:hover,#page10 a:hover,#page5 .d_table:hover .arrow{animation: none}
.more{	animation: rumble 0.2s linear infinite;}
	h1 a img{width: 180px;}
	figure.effect-roxy{width: 40%;}
.footerAdd{padding: 30px;}
.footerInfo{padding: 60px;}
#pageTop{  right: 20px;  bottom: 20px!important;}
	.otherPage{padding-bottom: 50px;}
	#pateTitle{padding-top: 0px;}
}
/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
	h1 a img{width: 180px;}
	.footerInfo{padding: 30px;}
	figure.effect-roxy{width: 100%; margin: 0px;}
	.footerLink .effect-roxy:last-of-type{ top: 20px;;}
	#pateTitle h2{font-size: 28px;}

}
@media only screen and (max-device-width:768px ) and (orientation:landscape) {
	#global-nav {
	overflow: scroll;
	height: 80vh;
}
}
/*====================================
  	IE環境の設定
====================================*/
@media all and (-ms-high-contrast:none){
}