@font-face {
	font-family: Noto Sans JP Black;
	src: url('../font/NotoSansCJKjp-Black.woff') format('woff'),
         url('../font/NotoSansCJKjp-Black.ttf') format('truetype'),
         url('../font/NotoSansCJKjp-Black.eot') format('embedded-opentype');
}


/*==================================================
  body 
==================================================*/
html,
body {
  position: relative;
  margin: 0;
  background-color: #ffff00;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-weight: bold;
  line-height: 2;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

@media (min-width:751px) {
  .forSP {display: none;}
}
@media (max-width:750px) {
  html,
  body {
    font-size: 3.6vw;
    line-height: 2.074;
  }
  .forPC {display: none;}
}


/*==================================================
  header / title
==================================================*/
header {
  position: relative;
  text-align: center;
  width: 100%;
  overflow: hidden;
}

.nv_scroll {
  position: absolute;
  top: 592px;
  left: 50%;
}
.nv_scroll:after {
  content: '';
  position: absolute;
  left: calc(50% - 1px);
  width: 1px;
  height: 25px;
  background-color: #000;
  animation: anime_down 2s ease infinite;
}
@keyframes anime_down {
  0% { bottom: 5px; height: 0;}
  40% { bottom: -20px; height: 25px;}
  90% { bottom: -20px; height: 0;}
  100% { bottom: -20px; height: 0;}
}

@media (min-width:751px) {
  header h1 img {
    width: 420px;
  }
  #top header .wrap {
    position: relative;
    padding-top: 58px;
    padding-bottom: 226px;
    background: linear-gradient(to bottom, #fffc00, #fdf300);

    /* 円弧 */
    border-bottom-right-radius: 2000px 400px;
    border-bottom-left-radius: 2000px 400px;
    margin-left: -200px;
    margin-right: -200px;
    padding-left: 200px;
    padding-right: 200px;
    overflow: hidden;
  }
  #top header .mv {
    position: absolute;
    left: 0;
    bottom: -20px;
    width: 100%;
    height: 652px;
    background: url(../img/mv_pc.png) center bottom no-repeat;
  }
  .nv_scroll {
    margin-left: -24px;
    width: 47px;
  }
}
@media (max-width:750px) {
  header h1 img {
    width: 84.27vw;
  }
  #top header {
    box-sizing: border-box;
    padding-top: 14.8vw;
    height: 164vw;
    background: url(../img/mv_sp.png) no-repeat;
    background-size: 100%;
  }
  .nv_scroll {
    top: 141vw;
    margin-left: -6vw;
    width: 12vw;
  }
  @keyframes anime_down {
    0% { bottom: 1.2vw; height: 0;}
    40% { bottom: -6vw; height: 7.2vw;}
    90% { bottom: -6vw; height: 0;}
    100% { bottom: -6vw; height: 0;}
  }
}


@media (min-width:751px) {
  #research header .wrap {
    position: relative;
    box-sizing: border-box;
    margin: 20px 20px 0;
    padding: 50px 0 0 0;
    height: 618px;
    background: url(../img/kv_hakusho_pc_bg.png) center bottom no-repeat;
    background-size: cover;
    border-radius: 80px;
  }
  #research header h1 img {
    margin-bottom: 12px;
    width: 397px;
  }
  #research header .mv {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0;
    width: 100%;
    height: 619px;
    background: url(../img/kv_hakusho_pc.png) center bottom no-repeat;
  }
}
@media (max-width:750px) {
  #research header {
    box-sizing: border-box;
    background: url(../img/kv_hakusho_sp.png) center bottom no-repeat;
    background-size: 100vw;
    margin: 0;
    padding: 13.33vw 0 50vw;
    
  }
  #research header h1 {
    margin: 0;
  }
  #research header h1 img {
    width: 72.93vw;
  }
  #research header .txt {
    margin: 6vw auto;
    width: 86vw;
  }
}

  
@media (min-width:751px) {
  #interview header .wrap {
    position: relative;
    box-sizing: border-box;
    margin: 20px 20px 0;
    padding: 50px 0 240px 0;
    background: url(../img/kv_iroha_pc_bg.png) center bottom no-repeat;
    background-size: cover;
    border-radius: 80px;
  }
  #interview header h1 img {
    margin-bottom: 12px;
    width: 553px;
  }
  #interview header .mv {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0;
    width: 100%;
    height: 619px;
    background: url(../img/kv_iroha_pc.png) center bottom no-repeat;
  }
}
@media (max-width:750px) {
  #interview header {
    box-sizing: border-box;
    background: url(../img/kv_iroha_sp.png) center bottom no-repeat;
    background-size: 100vw;
    margin: 0;
    padding: 13.33vw 0 66vw;
  }
  #interview header h1 {
    margin: 0;
  }
  #interview header h1 img {
    width: 88.93vw;
  }
  #interview header .txt {
    margin: 6vw auto;
    width: 86vw;
  }
}


/*==================================================
  contents
==================================================*/
/**/
.contents h2 {
  font-family: Noto Sans JP Black;
  font-weight: normal;
}
@media (max-width:750px) {
  .contents h2,
  .contents h3,
  .contents p,
  .contents ul {
    padding: 0 5.2vw;
  }
}


.col1 { color: #00b7ee;}
.col2 { color: #eb6877;}
.col3 { color: #22ac38;}

h3.col1,
h3.col2,
h3.col3 { margin-top: 2em !important;}
.mt1em { margin-top: 1em !important;}


/**/
.nv-search,
.nv-dl {
  display: block;
  box-sizing: border-box;
}

@media (min-width:751px) {
  #top .lead {
    position: relative;
    margin: -95px 0 -35px;
    padding-right: 20px;
    text-align: center;
    z-index: 10;
  }
  #top .contents {
    padding-top: 40px;
    background:
      url(../img/exclamation1.png) calc(50% - 295px) 40px no-repeat,
      url(../img/exclamation6.png) calc(50% + 550px) 498px no-repeat,
      url(../img/exclamation6.png) calc(50% - 110px) 700px no-repeat,
      url(../img/exclamation12.png) calc(50% - 520px) 964px no-repeat,
      url(../img/exclamation12.png) calc(50% + 500px) 1320px no-repeat;
    background-size:
      209px,
      545px,
      375px,
      468px,
      331px;
  }
  #top .contents h2 {
    box-sizing: border-box;
    margin: 48px auto 0;
    padding: 200px 0 0 100px;
    width: 950px;
    background: url(../img/whats_pc.png) left top no-repeat;
    background-size: 940px;
    line-height: 1.478;
    letter-spacing: 1px;
  }
  #top .contents p {
    box-sizing: border-box;
    margin: 40px auto;
    padding-left: 400px;
    width: 950px;
  }
  #top .contents p.adjust {
    margin-top: 15px;
  }
  .contents nav,
  .content-navi {
    margin: 70px auto;
    width: 1000px;
    text-align: center;
  }
  #top .contents nav img,
  .content-navi img {
    transform-origin: center bottom;
    transition: .1s;
  }
  #top .contents nav a:hover img,
  .content-navi a:hover img {
    transform: scale(1.1);
  }
  .contents .nv-search {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2vw auto;
    padding: 0;
    width: 700px;
    height: 236px;
    background: 
      url(../img/icon_blank.png) no-repeat,
      url(../img/nv_link_pc.png) no-repeat;
    background-size: 50px, 100%;
    background-position: right 44px center, left top;
    color: #fff;
    font-size: 1.4848rem;
    font-weight: 900;
    text-decoration: none;
    letter-spacing: 2px;
    line-height: 1.65;
    transition: .1s;
  }
  .contents .nv-search:hover {
    transform: scale(1.05);
  }
  .contents .nv-dl {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 280px;
    height: 80px;
    background: #fff100 url(../img/icon_dl.png) right 18px center no-repeat;
    background-size: 14px;
    border: 6px solid #fff;
    border-radius: 40px;
    color: #000;
    letter-spacing: 1px;
    text-decoration: none;
    box-shadow: 0 0 25px rgba(0,0,0,0.15);
    transition: .1s;
  }
  .contents .nv-dl:hover {
    background: #000 url(../img/icon_dl_yellow.png) right 18px center no-repeat;
    background-size: 14px;
    color: #fff100;
    transform: scale(1.1);
  }
  .nv-dl_circle {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 572px;
    right: 130px;
    box-sizing: border-box;
    padding-bottom: 30px;
    width: 150px;
    height: 150px;
    background: #fff100 url(../img/icon_dl.png) center 84px no-repeat;
    background-size: 14px;
    border: 6px solid #fff;
    border-radius: 50%;
    color: #000;
    letter-spacing: 1px;
    line-height: 1.4;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 0 25px rgba(0,0,0,0.15);
    transition: .1s;
    z-index: 2;
  }
  .nv-dl_circle:hover {
    background: #000 url(../img/icon_dl_yellow.png) center 84px no-repeat;
    background-size: 14px;
    color: #fff100;
    transform: scale(1.1);
  }
}


@media (max-width:750px) {
  #top .lead {
    margin: -12vw 0 6vw
  }
  #top .contents {
    background: url(../img/sp_exclamation.png) left 40px no-repeat;
    background-size: 100%;
  }
  #top .contents h2 {
    box-sizing: border-box;
    padding: 44vw 0 0 56vw;
    background: url(../img/whats_sp.png) 3.6vw top no-repeat;
    background-size: 92vw;
    font-family: Noto Sans JP Black;
    font-size: 1.185rem;
    font-weight: normal;
    line-height: 1.53;
  }
  #top .contents p {
    margin: 8vw 0;
  }
  #top .contents nav {
    margin-top: 12vw;
  }
  .contents nav img {
    width: 100vw;
  }
  .nv-search {
    margin-top: 12vw;
    padding: 10vw 7.6vw;
    background: 
      url(../img/icon_blank.png) left top no-repeat,
      url(../img/nv_link_sp.png) left top no-repeat;
    background-size: 11vw, 100vw;
    background-position: 84vw center, left top;
    color: #fff;
    font-size: 1.4848rem;
    font-weight: 900;
    text-decoration: none;
    line-height: 1.65;
  }
  .contents .nv-dl {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 8vw auto;
    width: 78.67vw;
    height: 13.33vw;
    background: #fff100 url(../img/icon_dl.png) right 18px center no-repeat;
    background-size: 14px;
    border: 0.8vw solid #fff;
    border-radius: 40px;
    color: #000;
    letter-spacing: 1px;
    text-decoration: none;
    box-shadow: 0 0 25px rgba(0,0,0,0.15)
  }
  .nv-dl_circle {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 128vw;
    right: 3vw;
    box-sizing: border-box;
    padding-bottom: 30px;
    width: 29.2vw;
    height: 29.2vw;
    background: #fff100 url(../img/icon_dl.png) center 17.2vw no-repeat;
    background-size: 14px;
    border: 0.8vw solid #fff;
    border-radius: 50%;
    color: #000;
    font-size: 3.2vw;
    letter-spacing: 1px;
    line-height: 1.4;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 0 25px rgba(0,0,0,0.15);
    z-index: 2
  }
  .content-navi {
    margin-top: 16vw;
  }
}


/*--------------------------------------------------*/
#research .contents .data {
  position: relative;
  border: 2px solid #000;
  border-radius: 20px;
  text-align: left;
}
#research .contents .data:after {
  content: '';
  position: absolute;
  right: 4px;
  bottom: -8px;
  width: 2px;
  height: 24px;
  background-color: #000;
  transform: rotate(-45deg);
}
#research .contents ul {
  padding: 0;
}
#research .contents ul li {
  list-style: none;
  padding-left: 1em;
  text-indent: -1em;
}
#research .contents .lead {
  position: relative;
}
#research .contents .lead:before {
  content: '';
  position: absolute;
  top: -20px;
  left: -6px;
  width: calc(100% + 12px);
  height: 6px;
  background-color: #fff
}
#research .contents .lead:after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: -6px;
  width: calc(100% + 12px);
  height: 6px;
  background-color: #fff
}
#research .contents .lead p {
  font-family: Noto Sans JP Black;
  font-weight: normal;
}
#research .contents .lead li {
  background: url(../img/icon_check.png) left center no-repeat;
}
@media (min-width:751px) {
  #research .contents .lead {
    box-sizing: border-box;
    margin: 75px auto 55px;
    padding: 2px 40px;
    width: 590px;
    border-left: 6px solid #fff;
    border-right: 6px solid #fff;
    font-size: 125%;
  }
  #research .contents .lead p {
    margin: 5px 0;
    font-size: 20px;
  }
  #research .contents .lead li {
    font-size: 18px;
    padding-left: 50px;
    background-size: 22px;
  }
  #research .contents .data {
    display: block;
    box-sizing: border-box;
    margin: 85px auto 40px;
    padding: 10px 55px 20px;
    width: 510px;
  }
  #research .contents .data h2 {
    margin-top: 20px;
    line-height: 1.85;
    font-size: 14px;
    font-family: Noto Sans JP Black;
    font-weight: normal;
  }
  #research .contents ul {
    margin-top: 0;
  }
  #research .contents ul li {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.85;
  }
  #research .contents > div.flex-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 940px;
  }
  #research .contents > div div {
    position: relative;
    box-sizing: border-box;
    margin: 32px 0 0;
    padding: 10px 35px 60px;
    width: calc(50% - 16px);
    background-color: #fff;
    border-radius: 80px;
    overflow: hidden;
    box-shadow: 0 0 25px rgba(0,0,0,0.15)
  }
  #research .contents > div div:after {
    content: '';
    position: absolute;
    top: 0;
    left: -6px;
    width: 90px;
    height: 90px;
    background-color: #fff54c;
    border-radius: 45px;
    z-index: 1;
  }
  #research .contents p.num {
    position: relative;
    z-index: 2;
  }
  #research .contents p.num img {
    width: 18px;
  }
  #research .contents p.num:after {
    content: '';
    position: absolute;
    top: 24px;
    left: 32px;
    width: 50px;
    height: 2px;
    background-color: #000;
  }
  #research .contents h2 {
    position: relative;
    z-index: 2;
    font-size: 25px;
    line-height: 38px;
  }
  #research .contents p.img {
    margin: 0 auto;
    padding: 0;
    width: 90%;
    height: 305px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #research .contents div:nth-child(1) p.img { height: 267px;}
  #research .contents div:nth-child(7) p.img { width: 100%; height: 335px; justify-content: flex-start;}
  #research .contents div:nth-child(7) p.img img { width: 358px;}
  #research .contents p.txt {
    font-size: 14px;
  }
}

@media (max-width:750px) {
  #research .contents .lead {
    margin: 40px auto calc(11.2vw + 20px);
    padding: 1px 6vw;
    width: 74vw;
    border-left: 1.2vw solid #fff;
    border-right: 1.2vw solid #fff;
    font-size: 125%;
  }
  #research .contents .lead p {
    padding: 0;
    font-size: 4.8vw;
    line-height: 1.5;
  }
  #research .contents .lead li {
    margin-top: 2.5vw;
    padding-left: 7vw;
    text-indent: 0;
    font-size: 3.87vw;
    background-size: 4vw;
  }
  #research .contents .data {
    box-sizing: border-box;
    margin: 10vw auto 12vw;
    padding: 0 5.6vw 3vw;
    width: 80vw !important;
  }
  #research .contents .data h2 {
    margin: 7vw 0 0;
    padding: 0;
    font-size: 3.47vw;
    line-height: 1.77;
  }
  #research .contents ul {
    margin-top: 3vw;
    padding: 0;
  }
  #research .contents ul li {
    list-style: none;
    margin-top: 1vw;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 3.2vw;
    line-height: 1.75;
  }
  #research .contents {
  }
  #research .contents > div {
    margin: 0 auto;
    width: 94.67vw;
  }
  #research .contents > div div {
    position: relative;
    box-sizing: border-box;
    margin: 6.4vw 0;
    padding: 4vw 2vw 8vw;
    width: 100%;
    background-color: #fff;
    border-radius: 16vw;
    overflow: hidden;
    box-shadow: 0 0 25px rgba(0,0,0,0.15)
  }
  #research .contents > div div:after {
    content: '';
    position: absolute;
    top: 0;
    left: -6px;
    width: 25.87vw;;
    height: 25.87vw;;
    background-color: #fff54c;
    border-radius: 50%;
    z-index: 1;
  }
  #research .contents p.num {
    position: relative;
    z-index: 2;
  }
  #research .contents p.num img {
    width: 4.8vw;
  }
  #research .contents h2 {
    position: relative;
    z-index: 2;
    font-size: 6.67vw;
    font-feature-settings: 'palt';
    line-height: 1.4;
  }
  #research .contents p.img {
    margin: 0 auto;
    padding: 0;
    width: 70%;
    height: 72.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #research .contents div:nth-child(1) p.img { height: 50vw;}
  #research .contents div:nth-child(2) p.img { height: 50vw;}
  #research .contents p.txt {
    font-size: 3.33vw;
  }
}


/*--------------------------------------------------*/
@media (min-width:751px) {
  #interview .contents .prof {
    box-sizing: border-box;
    margin: 80px auto 60px;
    padding: 35px 45px;
    width: 835px;
    background-color: #fff;
    border-radius: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
  }
  #interview .contents > p.lead {
    margin-bottom: 75px;
    font-weight: bold;
  }
  #interview .contents > h2 {
    font-size: 24px;
    letter-spacing: 2px;
    line-height: 1.66;
  }
  #interview .contents > h2.underline {
    margin-top: 60px;
    font-size: 20px;
    text-decoration: underline;
  }
  #interview .contents > h2,
  #interview .contents > h3,
  #interview .contents > p,
  #interview .contents > ul {
    margin: 30px auto 0;
    width: 660px;
  }
  #interview .contents > ul {
    margin-top: 10px;
    margin-bottom: -15px;
  }
  #interview .contents > h3 {
    margin-bottom: -15px;
  }
  #interview .contents .prof-img img {
    width: 130px;
  }
  #interview .contents .prof-name img {
    width: 160px;
  }
  #interview .contents .prof-txt {
    width: 552px;
  }
}
@media (max-width:750px) {
  #interview .contents .prof {
    box-sizing: border-box;
    margin: 0 auto 15vw;
    padding: 8vw 3vw;
    width: 78.67vw;
    background-color: #fff;
    border-radius: 16vw;
    font-size: 3.2vw;
    box-shadow: 0 0 25px rgba(0,0,0,0.15);
  }
  #interview .contents > p.lead {
    margin-bottom: 15vw;
    font-weight: bold;
  }
  #interview .contents > h2,
  #interview .contents > h3,
  #interview .contents > p,
  #interview .contents > ul {
    margin: 15.2vw auto 0;
    width: 78.67vw;
    line-height: 1.72;
  }
  #interview .contents > ul {
    margin-top: 5vw;
    margin-left: 11vw;
    margin-bottom: -2vw;
    width: 67.67vw;
  }
  #interview .contents > h2 {
    margin-top: 0;
  }
  #interview .contents > h2.underline {
    margin-top: 15vw;
    font-size: 1.185rem;
    text-decoration: underline;
  }
  #interview .contents > p {
    margin-top: 8vw;
  }
  #interview .contents .prof-img {
    margin: 0 auto 6vw auto;
    text-align: center;
  }
  #interview .contents .prof-img img {
    width: 34vw;
  }
  #interview .contents .prof-name img {
    width: 41.07vw;
  }
}


#interview .contents > p.bubble-img {
  position: relative;
  margin: 0 auto;
  padding: 60px 0;
  width: 660px;
  text-align: center;
}
#interview .contents > p.bubble-img img {
  width: 460px;
}
#interview .contents > p.bubble-img:after {
  content: '';
  top: 0;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bubble1.png) center center no-repeat;
  background-size: 580px;
}
#interview .contents > p.bubble-img.bubble2:after { background-image: url(../img/bubble2.png)}
#interview .contents > p.bubble-img.bubble3:after { background-image: url(../img/bubble3.png)}
@media (max-width:750px) {
  #interview .contents > p.bubble-img {
    margin: 8vw 0;
    width: 100vw;
  }
  #interview .contents > p.bubble-img img {
    width: 78.67vw;
  }
  #interview .contents > p.bubble-img:after {
    background-size: 96%;
  }
}


/*==================================================
  footer
==================================================*/
footer {
  text-align: center;
  width: 100%;
  overflow: hidden;
}
footer .wrap {
  background-color: #fff;
}
footer nav.share {
  background: url(../img/txt_share.png) center top no-repeat;
}
footer .nv_pagetop {
  position: relative;
}
footer .nv_pagetop:after {
  content: '';
  position: absolute;
  top: -15px;
  left: calc(50% - 1px);
  width: 2px;
  height: 20px;
  background-color: #000;
  animation: anime_up 2s ease infinite;
}
@keyframes anime_up {
  0% { top: 10px; height: 0;}
  40% { top: -10px; height: 20px;}
  90% { top: -10px; height: 0;}
  100% { top: -10px; height: 0;}
}

@media (min-width:751px) {
  footer .wrap {
    position: relative;
    margin-top: 60px;
    padding-top: 58px;
    padding-bottom: 44px;

    /* 円弧 */
    border-top-right-radius: 2000px 400px;
    border-top-left-radius: 2000px 400px;
    margin-left: -200px;
    margin-right: -200px;
    padding-left: 200px;
    padding-right: 200px;
    overflow: hidden;
  }
  footer nav.share {
    padding-top: 28px;
    background-size: 64px;
  }
  footer nav.share a {
    margin: 0 8px;
  }
  footer nav.share a img {
    width: 52px;
    transition: .1s;
  }
  footer nav.share a:hover img {
    transform: scale(1.1);
  }
  footer .powered {
    margin-top: 30px;
  }
  footer .powered img {
    width: 214px;
  }
  footer .copyright {
    margin-top: 8px;
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 1px;
  }
  footer .nv_pagetop {
    position: relative;
    display: block;
    margin-top: 40px;
  }
  footer .nv_pagetop img {
    width: 62px;
  }
  footer .nv_pagetop:hover {
    opacity: 0.6;
  }
}

@media (max-width:750px) {
  footer {
    overflow: hidden;
  }
  footer .wrap {
    margin-top: 16vw;
    padding-top: 10vw;
    padding-bottom: 10vw; 
    
    /* 円弧 */
    border-top-right-radius: 1000px 400px;
    border-top-left-radius: 1000px 400px;
    margin-left: -200px;
    margin-right: -200px;
    padding-left: 200px;
    padding-right: 200px;
  }
  footer nav.share {
    padding-top: 8vw;
    background-size: 16.67vw;
  }
  footer nav.share a {
    margin: 0 3vw;
  }
  footer nav.share a img {
    width: 17.33vw;
  }
  footer .powered {
    margin-top: 8vw;
  }
  footer .powered img {
    width: 51.47vw;
  }
  footer .copyright {
    margin-bottom: 8vw;
    font-size: 2.93vw;
    font-weight: normal;
  }
  footer .nv_pagetop img {
    width: 16vw;
  }
  footer .nv_pagetop:after {
    width: 1px;
  }
  @keyframes anime_up {
    0% { top: 1.2vw; height: 0;}
    40% { top: -7vw; height: 7.2vw;}
    90% { top: -7vw; height: 0;}
    100% { top: -7vw; height: 0;}
  }
}


/*==================================================
  global navigation
==================================================*/
.nv-gnv {
  position: fixed;
  z-index: 10;
}
.nv-gnv a {
  display: inline-block;
  background: url(../img/nv_menu.png) no-repeat;
}
.nv-gnv._on a {
  background-image: url(../img/nv_close.png);
}

.gnv {
  position: fixed;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background-color: #ffff00;
  z-index: 5;
  transition-duration: 0.5s;
  transform: scaleY(0);
  transform-origin: center top;
}
.gnv h1,
.gnv div,
.gnv p {
  transition-delay: 0.55s;
  transition-duration: 0.25s;
  opacity: 0;
}
.gnv._on {
  transform: scaleY(1);
}
.gnv._on h1,
.gnv._on div,
.gnv._on p {
  opacity: 1;
}
.gnv .nv-main a {
  display: block;
  border-top: 1px solid #000;
}
.gnv .nv-main a:last-child {
  border-bottom: 1px solid #000;
}
@media (min-width:751px) {
  .nv-gnv {
    top: 50px;
    right: 50px;
  }
  .nv-gnv a {
    width: 66px;
    height: 66px;
    background-size: 66px;
    transition: .1s;
  }
  .nv-gnv a:hover {
    transform: scale(1.1);
  }
  
  .gnv {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding-top: 134px;
  }
  .gnv h1 {
    padding: 0 98px;
  }
  .gnv h1 img {
    width: 220px;
  }
  .gnv .nv-main a {
    width: 327px;
    padding: 23px 0;
    background: url(../img/icon_arrow.png) right center no-repeat;
    background-size: 26px;
    line-height: 1
  }
  .gnv .nv-main a:hover {
    opacity: .6;
  }
  .gnv .nv-main a:nth-child(1) img { width:38px;}
  .gnv .nv-main a:nth-child(2) img { width:112px;}
  .gnv .nv-main a:nth-child(3) img { width:137px;}
  .gnv .powered {
    flex-basis: 100%;
    text-align: center;
  }
  .gnv .nv-share {
    padding: 35px 0 25px 70px;
    text-align: center;
    background: url(../img/txt_share.png) 55px center no-repeat;
    background-size: 63px;
  }
  .gnv .nv-share a {
    margin-left: 15px;
  }
  .gnv .nv-share a img {
    width: 52px;
    transition: .1s;
  }
  .gnv .nv-share a:hover img {
    transform: scale(1.1);
  }
  .gnv .powered img {
    width: 214px;
  }
}
@media (max-width:750px) {
  .nv-gnv {
    top: 2vw;
    right: 1.2vw;
  }
  .nv-gnv a {
    width: 16.8vw;
    height: 16.8vw;
    background-size: 16.8vw;
  }
  
  .gnv {
    padding-top: 10vw;
  }
  .gnv h1 {
    flex-basis: 100%;
    text-align: center;
  }
  .gnv h1 img {
    width: 32.67vw;
  }
  .gnv .nv-main {
    margin: 10vw auto;
    width: 78.67vw;
  }
  .gnv .nv-main a {
    padding: 5vw 0;
    background: url(../img/icon_arrow.png) right 1px center no-repeat;
    background-size: 7.6vw;
    line-height: 1
  }
  .gnv .nv-main a:nth-child(1) img { width: 8.93vw;}
  .gnv .nv-main a:nth-child(2) img { width: 26.13vw;}
  .gnv .nv-main a:nth-child(3) img { width: 32.27vw;}
  .gnv .powered {
    flex-basis: 100%;
    text-align: center;
  }
  .gnv .nv-share {
    padding: 6vw 0 6vw 20vw;
    text-align: center;
    background: url(../img/txt_share.png) 19vw center no-repeat;
    background-size: 16.67vw;
  }
  .gnv .nv-share a {
    margin-left: 3vw;
  }
  .gnv .nv-share img {
    width: 17.6vw;
  }
  .gnv .powered {
    margin-top: 8vw;
  }
  .gnv .powered img {
    width: 51.47vw;
  }
}


/*==================================================
  share
==================================================*/
.share-block {
  position: relative;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}
.share-block:after {
  content: '';
  position: absolute;
  top: -7px;
  left: 50%;
  margin-left: -50px;
  width: 100px;
  height: 12px;  
  background: #ffff00 url(../img/txt_share.png) center center no-repeat;
  background-size: 76px;
}
@media (min-width:751px) {
  .share-block {
    padding: 28px 0;
    width: 595px !important;
  }
  .share-block a {
    margin: 0 12px;
  }
  .share-block a img {
    width: 52px;
    transition: .1s;
  }
  .share-block a:hover img {
    transform: scale(1.1);
  }
}
@media (max-width:750px) {
  .share-block {
    margin: 0 auto;
    padding: 7.2vw 0 6vw;
    width: 86.4vw;
    background-size: 16.67vw;
    text-align: center;
  }
  .share-block a {
    margin: 0 3vw;
  }
  .share-block a img {
    width: 17.33vw;
  }
  .share-block:after {
    top: -2vw;
    margin-left: -13.07vw;
    width: 26.13vw;
    height: 4vw;
    background-size: 18.93vw;
  }
}