@charset "UTF-8";

/*リセット系*/
*{
margin:0;
padding:0;
border:none;
-webkit-tap-highlight-color:rgba(0,0,0,0);
}
img{
vertical-align:bottom;
pointer-events: none;
-ms-interpolation-mode: bicubic;
}
a img{
pointer-events: auto;
width:100%;
}
a:focus, *:focus {
outline:none;
}
html,body {
height: 100%;
}
a{
cursor: pointer;
position: relative;
}
body{
font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}
.SPhover{
opacity: 0.7;
}

.mincho{
font-family: "Sawarabi Mincho";
}

.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

/*ローダー*/
#loaderWrap{
position: fixed;
width: 100%;
height: 100%;
top:0;
left: 0;
z-index: 100;
background: rgb(255,255,255);
vertical-align: middle;
text-align: center;
}

.loading span {
font-size: 4vw;
display: inline-block;
margin: 44vh -0em;
animation: loading .5s infinite alternate;
}
.loading span:nth-of-type(1) {
color:#0068b6;
}
.loading span:nth-of-type(2) {
color:#e50012;
}
.loading span:nth-of-type(3) {
color:#ffe000;
}

.loading span:nth-child(2) {
animation-delay: .1s;
}
.loading span:nth-child(3) {
animation-delay: .2s;
}
@keyframes loading {
  0% {
    transform: scale(1);
	opacity: 1;
  }
  100% {
    transform: scale(0.5);
	opacity: 0.5;
  }
}
#ptWrap{
position:fixed;
width: 18%;
z-index: 2;
bottom: 5vw;
right: 5vw;
}
#ptWrap img{
width: 100%;
}
#sideL,#sideR{
position:fixed;
width: 4%;
z-index: 2;
top: 48vh;
}
#sideL{
left: 1.5vw;
}
#sideR{
right: 1.5vw;
}

#pageMoveFade{
position: fixed;
width: 100%;
height: 100%;
top:0;
left: 0;
z-index: 100;
background: rgb(255,255,255);
display: none;
}

/*スマホ*/
.pc{
display: none;
}
.pcInline{
display: none;
}

#ctsWrap{
overflow: hidden;
min-height: 100%;
padding: 0 7vw;
margin: 0 auto;
}

#menuSPicon{
position: fixed;
width: 12vw;
height: 12vw;
background: #0068b6;
top:0;
right: 0;
cursor: pointer;
z-index: 2;
}
#bou1,
#bou2{
position: absolute;
width: 6vw;
transition: .5s ;
}
.close #bou1{
transform: rotate( 0deg ) ;
top:4.2vw;
left: 3vw;
}
.close #bou2{
transform: rotate( 0deg ) ;
bottom:4.2vw;
left: 3vw;
}
.open #bou1{
transform: rotate( 395deg ) ;
top:5.5vw;
left: 4vw;
}
.open #bou2{
transform: rotate( -395deg ) ;
bottom:5.5vw;
left: 4vw;
}
#menuSPbg{
position: fixed;
background: #0068b6;
top:0;
right: 0;
transition: .3s ;
}
.close #menuSPbg{
width: 12vw;
height: 12vw;
}
.open #menuSPbg{
width: 120vw;
height: 120vh;
}
#menuSP{
position: fixed;
width: 86vw;
z-index: 2;
display: none;
}
.menuSPbtn{
position: relative;
display: block;
margin-bottom: 1vw;
}
.menuSPbtn:nth-last-of-type(1){
margin-bottom: 0;
}
.menuSPbtn .newC{
position: absolute;
width: 7vw;
top: 50%;
margin-top: -3.5vw;
left: -3vw;
z-index: 1;
}

#hdrLogo{
display: block;
margin: 4vw auto  4vw 0;
}
#hdrLogo img{
width: 75vw;
}
#menuPC{
display: none;
}
#ptHead,
#ptFoot{
width: 100%;
height: 8vw;
}
#ptHead{
background: url("pt_head.png") center center repeat-x;
background-size: auto 6vw;
}
#ptFoot{
margin-top: 10vw;
background: url("pt_foot.png") center center repeat-x;
background-size: auto 6vw;
}
h1 img{
display: block;
width: 90%;
margin: 0 0 2vw auto;
}
#cts{
font-size: 0;
position: relative;
}

#ftrLogo{
display: block;
width: 50vw;
margin: 5vw auto;
}
#ftrDate{
display: block;
width: 50vw;
margin: 0vw auto;
}
#cr{
display: block;
width: 50vw;
margin: 5vw auto;
}
#ftrGosite{
display: block;
width: 50vw;
margin: 5vw auto;
}


/*PC*/
@media screen and (min-width:835px){

#ptWrap{
max-width: 90px;
bottom: 20px;
right: 40px;
}
.sp{
display: none;
}
.pc{
display: block;
}
.pcInline{
display: inline;
}
#sideL,#sideR{
width: 25px;
top: 48vh;
}
#sideL{
left: 6px;
}
#sideR{
right: 6px;
}

.loading span {
font-size: 2.5vw;
margin: 44vh -0.1em;
}

#ctsWrap{
padding: 0 40px;
}
#menuSPicon,#menuSPbg,#menuSPwrap{
display: none;
}

#hdrLogo{
margin: 20px auto 10px auto;
width: 80%;
max-width: 520px;
}
#hdrLogo img{
width: 100%;
}
#menuPC{
display: block;
margin: 0 auto;
text-align: center;
width: 100%;
}
#menuPC a{
display: inline-block;
margin: 0 12px;
}
#menuPC a img{
height: 2.1vw;
max-height: 24px;
width: auto;
font-size: 0;
}
#ptHead,
#ptFoot{
height: 60px;
}
#ptHead{
background: url("pt_head.png") center center repeat-x;
background-size: auto 32px;
}
#ptFoot{
margin-top: 100px;
background: url("pt_foot.png") center center repeat-x;
background-size: auto 32px;
}
h1 img{
max-width: 520px;
margin: 0 0 10px auto;
}

#ftrLogo{
max-width: 270px;
margin: 20px auto;
}
#cr{
display: block;
max-width: 270px;
margin: 20px auto;
}

#ftrDate{
max-width: 270px;
margin: 0 auto;
}
#ftrGosite{
max-width: 270px;
margin: 40px auto;
}
}