@charset "utf-8";
html {
}
body {
  font-size:14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align:center;
  color:#333;
  line-height:1.7;
 }
 
@media screen and (max-width:768px){
  body {
    font-size:3.5vw;
  }
}

a {
  color:#333;
  -webkit-transition : opacity 0.4s;
  transition : opacity 0.4s;
  opacity:1;
  outline:none;
}
a:hover {
  opacity: 0.7;
}

.en{
  font-family: "Mulish", sans-serif;
}
a.en,
a .en{
  font-family: "Marcellus", serif;
}


img{
  max-width:100%;
}

.only_sp,
.only_sp_i,
.only_sp_f{
  display:none !important;
}
@media screen and (max-width:768px){
  .only_pc{
    display:none !important;
  }
  .only_sp{
    display:block !important;
  }
  .only_sp_i{
    display:inline-block !important;
  }
  .only_sp_f{
    display:flex !important;
  }
}


#wrapper{
  overflow:hidden;
}

.inner{
  max-width:940px;
  width:94%;
  margin:0 auto;
}

@media screen and (max-width:768px){
  .inner{
    width:90%;
  }
}


/* 色・書式関係 */
.blue{
  color:#3D68CE;
}
.bg_blue{
  color:#fff;
  background-color:#5886E3;
}
.navy{
  color:#1B4DB3;
}
.bg_navy{
  color:#fff;
  background-color:#1B4DB3;
}
.bg_white{
  background-color:#fff;
}



.bold{
  font-weight:bold;
}
.text_left{
  text-align:left;
}
.text_right{
  text-align:right;
}


/* .arrow_link */
.arrow_link{
  display:inline-block;
  font-size:14px;
  font-weight:bold;
  letter-spacing:0.1em;
  text-indent:0.1em;
}
.arrow_link img{
  display:inline-block;
  width:2.5em;
  margin-left:1em;
  -webkit-transition : transform 0.4s;  
  transition : transform 0.4s;
}
.arrow_link:hover{
  opacity:1;
}
.arrow_link:hover img{
  transform:scale(1.25);
}

@media screen and (max-width:768px){
  .arrow_link{
    font-size:3vw;
  }
  .arrow_link img{
    width:2em;
    margin-left:0.5em;
  }
}


/* .blue_btn */
.blue_btn{
  width:8em;
  height:8em;
  display:block;
  font-size:14px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  border-radius:50%;
  transition : transform 0.4s;
  -webkit-transition : transform 0.4s;
}
.blue_btn:hover{
  transform:scale(1.3);
  opacity:1;
}
.blue_btn .arrow{
  display:block;
  display:block;
  width:2.8em;
  height:1em;
  margin:0.3em auto 0;
  position:relative;
}
.blue_btn .arrow:before{
  content:'';
  display:block;
  width:100%;
  height:0.6em;
  border-right:2px solid;
  border-bottom:1px solid;
  transform:skewX(45deg);
  position:absolute;
  top:0;
  left:0;
}
.blue_btn .arrow:after{
  content:'';
  display:block;
  width:110%;
  height:0.8em;
  background-color:#5886E3;
  position:absolute;
  top:0;
  left:0;
  animation: curtain 1.6s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes curtain {
  0% {
    transform-origin: top right;
    transform:scaleX(1);
  }
  50% {
    transform-origin: top right;
    transform:scaleX(0);
  }
  51% {
    transform-origin: top left;
    transform:scaleX(0);
  }
  100% {
    transform-origin: top left;
    transform:scaleX(1);
  }
}

@media screen and (max-width:768px){
  .blue_btn{
    font-size:2.5vw;
  }
}


/* header */
header{
  width:100%;
  height:120px;
  padding:0 30px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  position:fixed;
  top:0;
  left:0;
  z-index:100;
  -webkit-transition : background-color 0.4s;
  transition : background-color 0.4s;
}
header.white{
  background-color:rgba(255,255,255,0.8);
}
header .head_logo{
  display:block;
  width:200px;
  position:absolute;
  left:30px;
  top:40px;
}

header nav{
  width:100%;
  position:fixed;
  top:0;
  right:0;
  display:none;
  box-shadow:0 0 5px rgba(0,0,0,0.5);
}
header nav > .only_pc{
  max-width:860px;
  padding:70px 0 20px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
header nav > .only_pc li{
  width:25%;
}
header nav > .only_pc li dl{
  text-align:left;
}
header nav > .only_pc li dl div{
  min-height:7em;
}
header nav > .only_pc li dl div dt{
  font-size:24px;
  font-weight:bold;
}
header nav > .only_pc li dl div dd{
  font-size:14px;
  letter-spacing:0.2em;
}
header nav > .only_pc li dl div dd a{
  color:#fff;
}
header nav > .only_pc li dl div dd a:before{
  content:'ー';
  margin-right:0.3em;
}

@media screen and (max-width:768px){
  header{
    width:100%;
    height:90px;
    padding:0 20px;
  }
  header .head_logo{
    width:170px;
    top:30px;
    left:20px;
  }
  
  header nav.bg_blue{
    width:280px;
    height:100vh;
    position:fixed;
    top:0;
    right:0;
    background-color:rgba(88,134,227,0.9);
  }
  header nav > .only_sp{
    padding:60px 0 0 50px;
    font-size:16px;
  }
  header nav > .only_sp li{
    margin-top:1em;
    text-align:left;
  }
  header nav > .only_sp li a{
    color:#fff;
  }
  header nav > .only_sp li a:before{
    content:'ー';
    margin-right:0.5em;
    display:inline-block;
    transform:scaleX(0.5);
  }
}


/* #btnmenu */
#btnmenu{
  width:50px;
  height:50px;
  margin:0;
  padding:0;
  background-color:#000;
  border-radius:50%;
  position:absolute;
  right:30px;
  top:35px;
  z-index:101;
  cursor:pointer;
}
#btnmenu span{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  border-radius:2px;
  margin: -1px 0 0 -3px;
  background: #fff;
  -webkit-transition: .2s;
  -moz-transition: .2s;
  -ms-transition: .2s;
  -o-transition: .2s;
  transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: -8px;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius:2px;
  -webkit-transition: .3s;
  transition: .3s;
}

#btnmenu span:before{
  margin-top: -10px;
}

#btnmenu span:after{
  margin-top: 7px;
}

#btnmenu.close{
  background-color:transparent;
  border:1px solid #fff;
}
#btnmenu.close span{
  width:50px;
  height:50px;
  margin-top:-25px;
  margin-left:-25px;
  box-shadow:none;
  background-color:transparent;
  border-radius:0;
}

#btnmenu.close span:before,
#btnmenu.close span:after{
  margin-top: 0;
  left: 0;
  background-color:#fff;
}

#btnmenu.close span:before{
  width: 22px;
  height: 2px;
  margin: 0 0 0 14px;
  border-radius:2px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#btnmenu.close span:after{
  width: 22px;
  height: 2px;
  margin: 0 0 0 14px;
  border-radius:2px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

@media screen and (max-width:768px){
  #btnmenu{
    right:20px;
    top:20px;
  }
}


/* main */
main{
}
main.low{
  padding-top:120px;
  background-color:#F7F7F7;
}

@media screen and (max-width:768px){
  main.low{
    padding-top:90px;
  }
}



/* .bread */
.bread{
  padding:0 30px;
  text-align:left;
  display: -webkit-flex;
  display: flex;
}
.bread li{
  font-size:12px;
  max-width:20em;
  white-space:nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bread li:nth-child(n+2):before{
  content:'\03009';
  margin-left:0.5em;
}

@media screen and (max-width:768px){
  .bread{
    padding:0 20px;
  }
  .bread li{
    max-width:12em;
    white-space:nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* .cont */
.cont{
  padding:90px 0;
}

.cont .tit1 .en{
  line-height:1.2;
  display:block;
  font-size:70px;
}
.cont .tit1 .jp{
  display:block;
  font-size:24px;
  font-weight:normal;
  letter-spacing:0.1em;
  text-indent:0.1em;
}

.cont .tit2 .en{
  line-height:1.2;
  display:block;
  font-size:60px;
}
.cont .tit2 .jp{
  display:block;
  font-size:24px;
  font-weight:normal;
  letter-spacing:0.1em;
  text-indent:0.1em;
}
.cont .tit2 .jp:before{
  content:'ー';
  margin-right:0.5em;
}
.cont .tit2 .jp:after{
  content:'ー';
  margin-left:0.5em;
}

.cont .tit3{
  font-size:36px;
  letter-spacing:0.2em;
  text-indent:0.2em;
}

@media screen and (max-width:768px){
  .cont{
    padding:9% 0;
  }
  
  .cont .tit1 .en{
    font-size:10.6vw;
  }
  .cont .tit1 .jp{
    font-size:3.7vw;
  }

  .cont .tit2 .en{
    font-size:9vw;
  }
  .cont .tit2 .jp{
    font-size:3.7vw;
  }
  
  .cont .tit3{
    font-size:6.6vw;
  }
}


/* .pager */
.pager{
  margin-top: 90px;
  padding:0 10px;
  font-size:14px;
  text-align:center
}
a.page-numbers,
.pager .current{
  display:inline-block;
  line-height:1;
  background-color: #edede3;
  border: solid 1px #aaaaaa;
  border-radius:5px;
  padding:4px 8px 5px;
  margin:3px 2px;
}
.pager .current{
  background-color: #3D68CE;
  border: solid 1px #3D68CE;
  color: #ffffff;
}
.pager a:hover{
  color: #ffffff;
  border: solid 1px #3D68CE;
  background-color: #3D68CE;
}

ul#pager{
  margin:90px auto 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
ul#pager li{
  margin:0 1em;
}
ul#pager li.previous{
  width:1em;
  font-size:21px;
}
ul#pager li.news_top{
  text-decoration:underline;
}
ul#pager li.next{
  width:1em;
  font-size:21px;
}

@media screen and (max-width:768px){
  .pager{
    margin-top: 20%;
  }
  
  ul#pager{
    margin:12% auto 0;
  }
  ul#pager li.previous{
    font-size:4vw;
  }
  ul#pager li.next{
    font-size:4vw;
  }
}

@media screen and (max-width:480px){
  .pager{
    font-size:12px;
  }
}


/* footer */
footer{
  padding:90px 0;
}
footer > .inner{
  max-width:100%;
  width:90%;
  text-align:left;
  color:#fff;
  position:relative;
}
footer > .inner a{
  color:#fff;
}

footer > .inner nav dl{
  display: -webkit-flex;
  display: flex;
}
footer > .inner nav dl dt{
  width:208px;
  margin-right:70px;
}
footer > .inner nav dl dd{
  width:430px;
}
footer > .inner nav dl dd ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
footer > .inner nav dl dd ul li{
  width:28%;
  letter-spacing:0.2em;
}
footer > .inner nav dl dd ul li:nth-child(3n+1){
  width:44%;
}
footer > .inner nav dl dd ul li:nth-child(n+4){
  margin-top:0.8em;
}
footer > .inner nav dl dd ul li a:before{
  content:'ー';
  margin-right:0.3eーm;
}

footer > .inner .flex{
  margin-top:50px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
footer > .inner .flex dl dt{
  font-size:16px;
  letter-spacing:0.2em;
}
footer > .inner .flex dl dt a{
  display:block;
  width:1.5em;
}
footer > .inner .flex dl dd{
  letter-spacing:0.1em;
}
footer > .inner .flex dl dd a{
  display:inline-block;
  margin-left:1em;
  text-decoration:underline;
}
footer > .inner .flex .copy{
  font-size:12px;
  letter-spacing:0.3em;
}
footer > .inner .flex .copy li a{
  font-size:14px;
  letter-spacing:0.1ems;
}

@media screen and (max-width:768px){
  footer{
    padding:12% 0;
  }
  footer > .inner{
    width:80%;
  }
  footer > .inner nav dl{
    display: block;
  }
  footer > .inner nav dl dt{
    width:50%;
    margin-right:0;
  }
  footer > .inner nav dl dd{
    width:auto;
    margin-top:0.5em;
  }
  footer > .inner nav dl dd ul li{
    width:55%;
    margin-top:1.6em;
  }
  footer > .inner nav dl dd ul li:nth-child(3n+1){
    width:55%;
  }
  footer > .inner nav dl dd ul li:nth-child(even){
    width:45%;
  }
  footer > .inner nav dl dd ul li:nth-child(n+4){
    margin-top:1.8em;
  }
  footer > .inner .flex{
    margin-top:18%;
    display: block;
  }
  footer > .inner .flex dl dt{
    font-size:3.8vw;
  }
  footer > .inner .flex dl dt a{
    display:block;
    width:1.5em;
  }
  footer > .inner .flex dl dd a{
    display:inline-block;
    margin-left:1em;
    text-decoration:underline;
  }
  footer > .inner .flex .copy{
    margin-top:12%;
    font-size:3.2vw;
  }
  footer > .inner .flex .copy li a{
    font-size:3.5vw;
  }
}


/* top_top */
#topbtn{
  width:60px;
  height:58px;
  font-size:12px;
  border-radius:50%;
  color:#fff;
  background-color:#5886E3;
  border:1px solid;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  align-items: center;
  position:absolute;
  right:0;
  top:0;
  transform:translate(20%,-90%);
}
#topbtn:before{
  content:'';
  display:block;
  width:0.3em;
  height:1.2em;
  transform: translateX(0.2em) skewY(45deg);
  border-top:2px solid;
  border-left:1px solid;
}
@media screen and (max-width:768px){
  #topbtn{
    display:none;
  }
}


/* fadein */
.fadein0 {
  opacity : 0.01;
  -webkit-transition-property: opacity;
  transition-property : opacity;
  -webkit-transition-duration: 1.5s;
  transition-duration : 1.5s;
}
.fadein {
  opacity : 0;
  -webkit-transform : translate(0, 70px);
  transform : translate(0, 70px);
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
}
.fadein_l {
  opacity : 0;
  -webkit-transform : translate(-100px, 0);
  transform : translate(-100px, 0);
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
}
.fadein_r {
  opacity : 0;
  -webkit-transform : translate(100px, 0);
  transform : translate(100px, 0);
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
}

.delay1 {
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
  -webkit-transition-delay: 0.2s;
  transition-delay : 0.2s;
}
.delay2 {
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
  -webkit-transition-delay: 0.4s;
  transition-delay : 0.4s;
}
.delay3 {
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
  -webkit-transition-delay: 0.6s;
  transition-delay : 0.6s;
}
.delay4 {
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
  -webkit-transition-delay: 0.8s;
  transition-delay : 0.8s;
}
.delay5 {
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
  -webkit-transition-delay: 1.0s;
  transition-delay : 1.0s;
}
.delay6 {
  -webkit-transition-property: transform,opacity;
  transition-property : transform,opacity;
  -webkit-transition-duration: 1s;
  transition-duration : 1s;
  -webkit-transition-delay: 1.2s;
  transition-delay : 1.2s;
}

.fadein0.scrollin{
  opacity : 1;
}
.fadein.scrollin,
.fadein_l.scrollin,
.fadein_r.scrollin{
  opacity : 1;
  -webkit-transform : translate(0, 0);
  transform : translate(0, 0);
}


/* popup */
.popup {
  -webkit-transform : scale(0);
  transform : scale(0);
  -webkit-transition-property: transform;
  transition-property : transform;
  -webkit-transition-duration: 0.4s;
  transition-duration : 0.4s;
  -webkit-transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
  transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
}
.popup.scrollin {
  -webkit-transform : scale(1);
  transform : scale(1);
}