@charset "utf-8";
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form, label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,summary,time,mark,audio,video,a,input,textarea,section{ margin:0;padding:0; border:0; font-size:100%; background:transparent; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{ display:block;}
nav ul{ list-style:none;}
ul{ list-style:none; }
blockquote,q{ quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{ content:''; content:none;}
pre,code,kbd,samp{ font-family:monospace,monospace; font-size:inherit;}
table{ border-collapse:collapse; border-spacing:0;}
img{ border:0;}
address,caption,cite,code,dfn,em,th,var{ font-style:normal; font-weight:normal;}
caption,th{ text-align:left;}
h1,h2,h3,h4,h5,h6{ font-size:100%; font-weight:normal}
sup{ vertical-align:text-top; font-size:75%;}
sub{ vertical-align:text-bottom; font-size:75%;}
input,textarea,select{ z-index:auto; font-family:inherit; font-size:inherit; font-weight:inherit; vertical-align:middle;}
a{ outline:none;}
audio:not([controls]){ display:none;}
time{ display:inline;}
[hidden]{ display:none;}
input::-ms-clear,input::-ms-reveal,input:focus::-ms-clear,input:focus::-ms-reveal{visibility:hidden; display:none;}
button::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="file"]>input[type="button"]::-moz-focus-inner{ padding:0; border:0; outline:none;}
/*==================================================== */
body{-webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased; font-family:'Droid Sans',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif; line-height:1.8;}
button{font-family:'Roboto','Droid Sans',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif; cursor:pointer;}

a{cursor:pointer; color: #000; text-decoration: none;}
a:hover {text-decoration: underline;}
*{-webkit-tap-highlight-color:rgba(0,0,0,0);}
.clr{clear:both;}
.hide{position:absolute !important; left:-9999px !important; top:-9999px !important;}
section {clear:both; zoom:1;}
article:after,section:after,.clrFx:after{content:''; clear:both; display:block;}
img{-ms-interpolation-mode:bicubic;}

/* chrome bug fix*/
*{max-height:999999px; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt";}
*,*::before,*::after {will-change:all;}
textarea,input[type="email"],input[type="password"],input[type="text"],input[type="button"],input[type="submit"]{-webkit-appearance:none;}
textarea{resize:vertical;}
input:-webkit-autofill {-webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,1) inset; outline:none;}
input,button{outline:none;}
area{border:none;outline:none;}

/*
	BASE SET
__________________________________________________*/
html{overflow:visible;}
html,body {margin:0; padding:0;}
body {position:static; overflow:auto; width:auto; *overflow-y:hidden; color:#000; font-size:15px; line-height:1.5; z-index:0;}
body.menuopen {overflow: hidden; height: 100%;}

.over-section{margin:0 -410px; zoom:1; position:relative; *overflow-y:hidden; clear:both; padding:0;}
.over-section:after{content:''; clear:both; display:block;}
main {width:100%; min-height: 380px;}
section {width:100%; margin:0 auto; clear:both; zoom:1; position:relative; z-index:100; padding:0;}
.wrap   {margin:0 auto; clear:both; zoom:1; position:relative; z-index:100; padding:0;}
article   {margin:0 auto; clear:both; zoom:1; position:relative; z-index:10; padding:0;}
article:after,section:after,.wrap:after{content:''; clear:both; display:block;}
*,*::before,*::after {box-sizing:border-box;}

/*

	PC/SP STYLE

**************************************************************/
body,#wrapper  {}

main {font-size:0; line-height:1; position:relative; opacity:1; transition:opacity 0.6s ease; margin-bottom: 0; z-index: 10; padding-bottom: 0;}
#contents {position:relative; opacity:1; transition:opacity 0.6s ease; min-width: 1100px; overflow: hidden;}
#wrapper {position: relative;}

/* spmenu */
.toggle {width: 11.71875vw; height: 11.71875vw; position: fixed; right: 1.71875vw; top: 1.71875vw; z-index: 1010; display: block; background: #0b7fc6; font-size: 0; line-height: 1; transition: 0.3s; display: none; font-size: 0; line-height: 1;}
.toggle a{display: block; width: 11.71875vw; height: 11.71875vw; position: relative; z-index: 100;}
.toggle a::after,
.toggle a::before,
.toggle::before{content: ''; width:6.40625vw; height: 0.46875vw; position: absolute; left: 50%; top: 50%; margin: -0.23437vw 0 0 -3.2vw; background: #fff; transition: 0.3s;}
.toggle a::before{margin: 0 0 0 -3.2vw; transform: translate3d(0,-1.71875vw,0);}
.toggle::before{margin: 0 0 0 -3.2vw; transform: translate3d(0,1.2vw,0);}
#navmask {width: 100%; height: 100%; position: fixed; left:0; z-index: 1004; top: 0;  background: rgba(0,0,0,0.4); transition:left 0.5s; display: none;}
.menuopen aside {transform: translate3d(0,0,0);}
.menuopen aside ul li a{transform: translate3d(0,0,0); opacity: 1;}
.menuopen .toggle {background-color: #949494; border-radius: 100%;}
.menuopen .toggle {width: 9.375vw; height: 9.375vw; right: 3.125vw; top: 3.125vw;}
.menuopen .toggle a{width: 9.375vw; height: 9.375vw;}
.menuopen .toggle a::after,
.menuopen .toggle a::before,
.menuopen .toggle::before{content: ''; width:6.25vw; height: 0.3125vw; position: absolute; left: 50%; top: 50%; margin: -0.15625vw 0 0 -3.125vw;}
.menuopen .toggle a::after {opacity: 0;}
.menuopen .toggle a::before {transform: rotate(135deg) translate3d(0,0,0); transition: 0.3s;}
.menuopen .toggle::before {transform: rotate(-135deg) translate3d(0,0,0); transition: 0.3s;}


/* aside */
aside {position: fixed; right: 0; top: 0; transform: translate3d(100%,0,0); transition: 0.5s; height: 100%; background: #fff; z-index: 1005; width: 100%;}
aside nav {height: 100%; overflow: auto; padding: 100px 20px;}
::-webkit-scrollbar {width: 4px;}
::-webkit-scrollbar-track {border-radius: 4px; box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);}
::-webkit-scrollbar-thumb {
  background-color: #0b7fc6;
  border-radius: 6px;
  box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}
aside {display: none;}


/* siteHeader */
#siteHeader {position: absolute; left: 0; top: 0; height: 90px; width:100%; z-index: 100; background: none; min-width: 1100px; font-size: 0;}
#siteHeader .wrap {max-width: 1400px; position: relative; margin: 0 auto;}
#siteHeader #logo {position: absolute; left: 2px; top: 12px; z-index: 10;}
#siteHeader #logo a {transition: 0.3s; display: block;}
#siteHeader #logo a:hover {opacity: 0.7;}
#siteHeader nav {position: absolute; left: 206px; top:0 ; color: #111; width: 700px; height: 90px; display: flex;}
#siteHeader nav a {transition:opacity 0.3s; display: block; width: 100px; height: 90px; transform: translate(-29px,0); position: relative; background: url(../images/nav.png) 29px top no-repeat;}
#siteHeader nav a:nth-child(2) {width: 217px; background-position: -71px top;}
#siteHeader nav a:nth-child(3) {width: 132px; background-position: -289px top;}
#siteHeader nav a:nth-child(4) {width: 115px; background-position: -421px top;}
#siteHeader nav a:nth-child(5) {width: 112px; background-position: -536px top;}
/*#siteHeader nav a::after{content: ''; background: #515151; width: 0; height: 1px; position: absolute; left: 50%; top: 50%; margin: 5px 0 0 -0; z-index: 10; transition: 0.2s ease-out;}
#siteHeader nav a:hover::after{width: 43px; margin-left: -21px;}
#siteHeader nav a:nth-child(2):hover::after {width: 70px; margin-left: -34px;}
#siteHeader nav a:nth-child(3):hover::after {width: 74px; margin-left: -35px;}
#siteHeader nav a:nth-child(4):hover::after {width: 60px; margin-left: -28px;}
#siteHeader nav a:nth-child(5):hover::after {width: 64px; margin-left: -33px;}*/
#siteHeader a:hover{text-decoration: none !important;}

#language {background: url(../images/lang.png) center center no-repeat; position: absolute; right: 8px; top: 36px; width: 124px; height: 23px;}
#language a{display: block; width: 50px; height: 18px; background: rgba(255,255,255,0.5); opacity: 0; transition: 0.3s; position: relative; top: 2px!important;}
#language a:hover{opacity: 1;}
html[lang*='en'] #language a {position: absolute; right: 0; top: 0; width: 58px;}

/* #siteFooter */
#siteFooter {background: #fff; text-align: center; color: #575757; font-size: 12px; line-height: 25px; width: 100%; padding: 54px 0 0; position: relative; z-index: 100;}
#siteFooter a{color: #575757;}
#siteFooter nav {display: table; margin: 0 auto 57px;}
#siteFooter nav div {text-align: left; display: table-cell; padding: 0 25px;}
#siteFooter h2 {font-size: 16px; line-height: 1; font-weight: normal; margin-bottom: 7px; white-space: nowrap;}
#siteFooter h2 b {padding: 0 0.4em 0 0; display: inline-block; font-weight: bold;}
#siteFooter nav ul li {padding: 0 0 0 1em; position: relative; white-space: nowrap; transform: translate(0.2em,0)}
#siteFooter nav ul li::after{content: '・'; position: absolute; left: 0; top: 0;}
#siteFooter .bnrs {font-size: 0; line-height: 1;}
#siteFooter .bnrs li {display: inline-block; padding: 0 10px;}
#siteFooter .bnrs li a{position: relative; display: block; transition: opacity 0.3s;}
#siteFooter .bnrs li a::after{content: ''; width: 100%; height: 100%; background: rgba(255,255,255,0.4); opacity: 0; position: absolute; left: 0; top: 0; z-index: 10;}
#siteFooter .bnrs li a:hover {opacity: 0.7;}
#siteFooter .copyright {font-size: 10px; line-height:1; padding: 40px 0 36px; letter-spacing: 0.05em;}
#siteFooter .sns {display: flex; margin: 0 auto;align-content: center; align-items: center; justify-content: center; padding: 0 0 60px; font-size: 0; line-height: 1;}
#siteFooter .sns a {display: block; width: 52px; height: 52px; background-position: center center; background-repeat: no-repeat; margin: 0 10px; transition:filter 0.3s;}
#siteFooter .sns a:hover {filter: brightness(1.2); text-decoration: none;}
#siteFooter .sns a[href*='twitter']{background-image: url(../images/btn-twitter.png);}
#siteFooter .sns a[href*='facebook']{background-image: url(../images/btn-facebook.png);}


@media screen and (min-width:641px){
/*

	PC STYLE

**************************************************************/
#contents {min-width:1100px; padding-bottom:0; font-size: 0; line-height: 1; padding: 90px 0 0;}
#contents main { margin:0 auto 0; position:relative; padding:0 0 74px; z-index:10; font-size:0; line-height:1; text-align:center;}

.sp-item{display: none;}
.pc-item{display: inline-block;}

}
@media screen and (min-width:1100px){}
@media screen and (min-width:1920px){}
@media screen and (max-width:640px){

/*

	SP STYLE

**************************************************************/
body{font-family:'Roboto','Droid Sans',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

a:hover{text-decoration: none !important;}

/* siteHeader */
#siteHeader {height: 15.15625vw; width:100%; z-index: 100; background: #fff; min-width: inherit;}
#siteHeader #logo {width: 100%; height: 15.15625vw; left: 0; top: 0; z-index: 0;}
#siteHeader #logo a{background: url(../images/logo-sp.png) center top no-repeat; background-size: auto 100%; width: 100vw; height: 100%; display: block;}
#siteHeader #logo img {display: none;}
#siteHeader nav {display: none;}
#language {background: url(../images/lang-sp.png) center center no-repeat; background-size: cover; right: inherit; left: 0; top:0; width: 23.4375vw; height: 15.15625vw;}
#language a{display: block; width: 23.4375vw!important; height: 15.15625vw!important; background: rgba(255,255,255,0.5); opacity: 0; transition: 0.3s;}

/* spmenu */
.toggle {width:11.71875vw; height: 11.71875vw; z-index: 1010; display: block; right: 1.71875vw; top: 1.71875vw;}
.toggle a{display: block; width: 11.71875vw; height: 11.71875vw; position: relative; z-index: 100;}


/* aside */
aside {width: 100%; display: block;}
aside nav {height: 100%; padding: 12.8125vw 0;}
aside a{height: 17.96875vw; font-size:0; display: block; background-image: url(../images/nav-sp.png); background-position: left 3.28125vw; background-repeat: no-repeat; background-size: 200vw auto;}
aside a + a {margin-top: 7.8125vw; }
aside a:nth-child(2){background-position: 0 -20.3125vw;}
aside a:nth-child(3){background-position: 0 -45.625vw;}
aside a:nth-child(4){background-position: 0 -71.71875vw;}
aside a:nth-child(5){background-position: 0 -97.34375vw;}
aside a + a {margin-top: 7.8125vw; }
aside a.active:nth-child(1){background-position: -100vw 5.625vw;}
aside a.active:nth-child(2){background-position: -100vw -20.3125vw;}
aside a.active:nth-child(3){background-position: -100vw -45.625vw;}
aside a.active:nth-child(4){background-position: -100vw -71.71875vw;}
aside a.active:nth-child(5){background-position: -100vw -97.34375vw;}
aside a:hover{text-decoration: none;}

main {margin-bottom:26.25vw;}
#contents {width:100%; width:100vw; overflow:hidden; position:relative; font-size:0; line-height:1; min-width: inherit; padding: 15.15625vw 0 0;}
#contents main {position:relative; z-index:10; font-size:0; line-height:1; text-align:center;}
#contents main img {width: 100%; height: auto;}

#contents .sp-item {display:inline-block;}
#contents .pc-item {display:none;}

/* #siteFooter */
#siteFooter {font-size: 2.5vw; line-height: 1; padding: 14.0625vw 0 0;}
#siteFooter nav {display: block; margin: 0 auto 0;}
#siteFooter nav div {text-align: center; display: block; padding: 0 0 5.9375vw;}
#siteFooter h2 { line-height: 2.96875vw; margin-bottom: 0; width: 100%; text-align: left;}
#siteFooter h2 b {font-size: 2.96875vw; width: 100vw; text-align: center; padding: 0 3.125vw 0 0; transform: translate(1.5625vw,0); position: relative; top: 0.2vw;}
#siteFooter nav ul{display: none;}

#siteFooter .bnrs {padding: 3.4375vw 0 0;}
#siteFooter .bnrs li {display:block; padding: 0; width: 54.0625vw; margin: 0 auto;}
#siteFooter .bnrs li + li {margin-top: 5vw;}
#siteFooter .bnrs li img {width: 100%; height: auto;}
#siteFooter .copyright {font-size: 2.1875vw; line-height:1.75; padding: 9.375vw 3.125vw 6.25vw;}
#siteFooter .sns {padding: 0 0 9.375vw;}
#siteFooter .sns a {width: 8.125vw; height: 8.125vw; margin: 0 1.5625vw; background-size: 100% auto;}


.pc-item{display: none;}
.sp-item{display: inline-block;}
}


/*
    css animation
**********************/
@keyframes kira {  0%  {opacity: 1;}  100% {opacity: 0;}}
@-webkit-keyframes kira {  0%  {opacity: 1;}  100% {opacity: 0;}}

/* 
	loader
*********************/
#loader {background: rgba(255,255,255,0.3); width: 100%; height: 100%; z-index: 100000; position: fixed; left: 0; top: 0;}
.ie11 #loader  {background: rgba(255,255,255,1.00);}
.loader{width: 4.6rem; height: 4.6rem; position: fixed; right: 50%; top: 50%; margin: -2.3rem -2.3rem 0 0;}
.loader span,
.loader span:after {border-radius: 50%; width: 4.6rem; height: 4.6rem;}
.loader span{display: block; font-size: 1rem; position: relative; text-indent: -9999em;border-top: .1em solid rgba(11,127,198,0.2); border-right: .1em solid rgba(11,127,198,0.2); border-bottom: .1em solid rgba(11,127,198,0.2); border-left: .1em solid rgba(11,127,198,0.8);-webkit-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); -webkit-animation: load8 1.1s infinite linear; animation: load8 1.1s infinite linear;}
@-webkit-keyframes load8 {  0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}
@keyframes load8 {0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}

/*
	js styles
******************************/
#baseVW {position: fixed; left: 0; bottom: 0; width: 100%; width: 100vw; height: 100%; height: 100vh; z-index: -1111; opacity: 0;}
#imageloaded {position: fixed; left: -9999px; font-size: 0; line-height: 1; height: 1px; width: 1px; overflow: hidden;}
.analytics {position:fixed; left:-9999px; top:-9999px; height:0; width:0; overflow:hidden;}
.animation-up ,
.animation ,
.animation.itemshow ,
.animation-trigger,
.uatablet .animation {}


#ascrail2000,
div[class='nicescroll-rails'],
div[class='nicescroll-rails'] div  {z-index: 999999 !important; cursor: pointer;}
.modalopen #ascrail2000 {opacity: 0 !important;}
.modalopen {overflow: hidden;}
#gridJSSW {z-index:1000000000 !important;}

