@charset "utf-8";
/* ------------------------------------------------------------ common */
body {
  width: 100%;
  color: #2e2d2d;
  font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", "Arial", sans-serif !important;
}
.discount_btn {
  text-align: center;
}
.discount_btn a {
  display: block;
  padding: 19px 0;
}
.underline {
  border-bottom: solid 4px #00188a;
  line-height: 100%;
  padding: 0 0 10px;
}
.title {
  padding: 50px 0 42px;
  border-bottom: 4px solid #fff;
  background-size: cover;
  font-size: 34px;
  text-align: center;
  color: #fff;
  line-height: 100%;
}
.title span {
  border-bottom: 4px solid #fff;
  padding: 0 0 10px;
}
.PC {
  display: block;
}
.SP {
  display: none;
}
/* ------------------------------------------------------------ header */
#header {
  background: #fff;
  position: relative;
  z-index: 999;
  padding: 10px 0;
}
#header .logo {
  text-align: left;
}
#header .search {
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
}
#header .search a {
  background: url(https://campaign.nikon-lenswear.jp/transitions/202004/images/btnbg_00.png) no-repeat center center;
  display: block;
  width: 281px;
  padding: 17px 0;
  font-size: 20px;
  color: #fff;
}
#header .search a span {
  display: block;
  font-size: 14px;
}
header {
  background: #fff !important;
  position: fixed;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  background: #000;
  border-bottom: 1px solid #000;
  z-index: 100;
}
header .container {
  background: #fff;
}
.hinner {
  background: #fff;
}
.htop {
  width: 85%;
}
.htop img {
  float: left;
  margin-top: 12px;
  margin-left: 12px;
}
.nikon_logo {
  height: 40px;
}
.hmenu {
  width: 15%;
  /*      float: right;
        margin-top: 6px; */
  position: absolute;
  right: 0;
  top: 8px;
}
.hmenu img {
  width: 50px;
  height: 50px;
}
.hlink {
  text-align: left;
  margin-left: 12px;
  font-size: 10px;
}
.hlink a {
  text-decoration: none;
  margin-right: 2px;
}
.spmenu {
  top: 67px;
}
.spmenu nav ul {
  padding: 0;
  margin: 0;
  text-align: left;
}
.spmenu nav ul a {
  text-decoration: none;
  border: none;
}
.spmenu nav ul li {
  padding-left: 35px;
  border-bottom: 1px solid #999;
}
.home .entry-content > div > div {
  margin-bottom: 0 !important;
}
.home .entry-content > div > div > div {
  padding: 0;
}
/* ===== Header Nikon ===== */
h1 {
  margin: 0;
}
#header_nikon {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 108px;
  background: #fff;
}
#header_nikon {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 108px;
  background: #fff;
}
#header_nikon h1 {
  font-size: 0px;
  overflow: hidden;
}
#header_nikon h1 img {
  position: absolute;
  top: 20px;
  left: 20px;
}
#header_nikon p {
  font-size: 0px;
  overflow: hidden;
}
#header_nikon p img {
  position: absolute;
  top: 20px;
  right: 20px;
}
#header_nikon form {
  position: absolute;
  top: 38px;
  right: 20px;
  width: 215px;
  height: 31px;
}
#header_nikon fieldset {
  border: 0;
}
#header_nikon legend {
  visibility: hidden;
  height: 0;
  font-size: 0;
  line-height: 0;
}
#header_nikon form .query {
  position: absolute;
  top: 6px;
  left: 6px;
  margin: 0;
  padding: 1px;
  border: 1px #ccc solid;
  width: 163px;
  height: 16px;
  vertical-align: bottom;
  line-height: 1.1;
  background: #f7f7f7;
  font-size: 12px !important;
}
#header_nikon form .query:focus {
  background: #fff;
}
#header_nikon form .searchBtn {
  position: absolute;
  top: 6px;
  right: 5px;
}
#header_nikon .list-link-frame {
  position: absolute;
  right: 18px;
  top: 72px;
  bottom: -18px;
  list-style-type: none;
}
#header_nikon .list-link-frame li {
  display: inline;
  font-size: 76%;
}
#header_nikon .list-link-frame a {
  padding-left: 8px;
  background-color: transparent;
  background-image: url(../images/utility_icon_02.png);
  background-repeat: no-repeat;
  background-position: left center;
  color: #333;
  margin-right: 6px;
  overflow: hidden;
  font-size: 12px;
  text-decoration: underline;
}
section {
  display: block;
}
#wrapper {
  width: 1180px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
/* ------------------------------------------------------------ brand */
#brand {
  width: 100%;
  height: auto;
  text-align: center;
}
#brand .inner {
  width: 1180px;
  max-width: 100%;
  max-height: 1517px;
  position: relative;
}
#brand img {
  max-width: 100%;
  height: auto;
  width: 1180px;
}
#brand .inner .tvcm_btn {
  width: 13.68%;
  position: absolute;
  top: 44%;
  left: 9%;
}
#brand .inner .tvcm_btn img {
  width: 100%;
}
#brand .inner .animation {
  position: absolute;
  top: 60%;
  left: 0%;
  width: 1180px;
  max-width: 100%;
}
#brand .inner .animation video {
  width: 1180px;
  max-width: 100%;
}
#brand .inner .store_btn {
  width: 50%;
  position: absolute;
  top: 86%;
  left: 25%;
  max-width: 50%;
}
#brand .inner .store_btn img {
  width: 100%;
}
/* ------------------------------------------------------------ what */
#what {
  width: 100%;
  height: auto;
  text-align: center;
}
#what .inner {
  width: 1180px;
  max-width: 100%;
  position: relative;
}
#what .inner h2 img {
  height: auto;
  width: 1180px;
  max-width: 100%;
}
#what .inner p {
  text-align: left;
  position: absolute;
  left: 9.6%;
  top: 12.5%;
  font-size: 24px;
  width: 59%;
  line-height: 1.6em;
}
#what .inner .img_01 {
  position: absolute;
  left: 24.6%;
  top: 42%;
  max-width: 39.2%;
}
#what .inner .img_01 img {
  width: 501px;
  max-width: 100%;
}
#what .inner .img_02 {
  position: absolute;
  left: 65%;
  top: 42%;
  max-width: 22.8%;
}
#what .inner .img_02 img {
  width: 291px;
  max-width: 100%;
}
/* ------------------------------------------------------------ plan */
#plan {
  width: 100%;
  height: auto;
  text-align: center;
  background-color: #FFFFFF;
}
#plan .inner {
  width: 1180px;
  max-width: 100%;
  position: relative;
}
#plan .inner h2 img {
  height: auto;
  width: 1180px;
  max-width: 100%;
}
#plan .inner p {
  text-align: left;
  position: absolute;
  left: 10%;
  top: 2%;
  font-size: 26px;
  width: 80%;
  line-height: 1.9em;
}
#plan .inner .img_01 {
  position: absolute;
  left: 10%;
  top: 68.8%;
  max-width: 78.6%;
}
#plan .inner .img_01 img {
  width: 1006px;
  max-width: 100%;
}
/* ------------------------------------------------------------ athlete */
#athlete {
  width: 100%;
  height: auto;
  text-align: center;
  background-color: #FFFFFF;
}
#athlete .inner {
  width: 1180px;
  max-width: 100%;
  position: relative;
}
#athlete .inner h2 img {
  height: auto;
  width: 1180px;
  max-width: 100%;
}
#athlete .inner .img_01 {
  position: absolute;
  left: 40%;
  top: 3.4%;
  max-width: 50.5%;
}
#athlete .inner .img_01 img {
  width: 646px;
  max-width: 100%;
}
#athlete .inner .img_02 {
  position: absolute;
  left: 8.6%;
  top: 52%;
  max-width: 46.4%;
}
#athlete .inner .img_02 img {
  width: 593px;
  max-width: 100%;
}
#athlete .inner .img_03 {
  position: absolute;
  left: 9%;
  top: 8.6%;
  max-width: 38%;
}
#athlete .inner .img_03 img {
  width: 483px;
  max-width: 100%;
}
#athlete .inner .txt1 {
  text-align: left;
  position: absolute;
  left: 10%;
  top: 37%;
  font-size: 24px;
  width: 80%;
  line-height: 1.9em;
}
#athlete .inner .txt2 {
  text-align: left;
  position: absolute;
  left: 56%;
  top: 63%;
  font-size: 24px;
  width: 34%;
  line-height: 1.9em;
}
#athlete .inner .store_btn {
  width: 50%;
  position: absolute;
  top: 85%;
  left: 25%;
  max-width: 50%;
}
#athlete .inner .store_btn img {
  width: 100%;
}
/* ------------------------------------------------------------ about */
#about {
  width: 100%;
  height: auto;
  text-align: center;
}
#about .inner {
  width: 1180px;
  max-width: 100%;
  position: relative;
}
#about .inner h2 img {
  height: auto;
  width: 1180px;
  max-width: 100%;
}
#about .inner .txt1 {
  text-align: left;
  position: absolute;
  left: 9%;
  top: 14%;
  font-size: 24px;
  width: 46%;
  line-height: 1.8em;
}
#about .inner .txt2 {
  text-align: left;
  position: absolute;
  left: 9.4%;
  top: 92%;
  font-size: 17px;
  line-height: 1.6em;
}
#about .inner .txt3 {
  text-align: left;
  position: absolute;
  left: 72%;
  top: 80%;
  font-size: 20px;
  width: 20%;
  line-height: 1.6em;
}
#about .inner .txt4 {
  text-align: right;
  position: absolute;
  right: 8%;
  top: 96%;
  font-size: 17px;
  line-height: 1.6em;
}
#about .inner .img_01 {
  position: absolute;
  left: 57%;
  top: 7%;
  max-width: 78.6%;
}
#about .inner .img_01 img {
  width: 431px;
  max-width: 100%;
}
#about .inner .img_02 {
  position: absolute;
  max-width: 100%;
  top: 36%;
}
#about .inner .img_02 img {
  width: 1180px;
  max-width: 100%;
}
#about .inner .img_03 {
  position: absolute;
  top: 56.5%;
  max-width: 42%;
  left: 29%;
}
#about .inner .img_03 img {
  width: 537px;
  max-width: 100%;
}
#about .inner .img_04 {
  position: absolute;
  top: 81%;
  max-width: 38.2%;
  left: 9.4%;
}
#about .inner .img_04 img {
  width: 488px;
  max-width: 100%;
}
#about .inner .img_05 {
  position: absolute;
  top: 80.3%;
  max-width: 39.1%;
  left: 51.8%;
}
#about .inner .img_05 img {
  width: 500px;
  max-width: 100%;
}
/* ------------------------------------------------------------ vto */
#vto {
  width: 100%;
  height: auto;
  text-align: center;
}
#vto .inner {
  width: 1180px;
  max-width: 100%;
  position: relative;
}
#vto .inner h2 img {
  height: auto;
  width: 1180px;
  max-width: 100%;
}
#vto .inner p {
  text-align: left;
  position: absolute;
  left: 9.6%;
  top: 12.5%;
  font-size: 24px;
  width: 59%;
  line-height: 1.6em;
}

#vto .inner .store_btn {
  width: 50%;
  position: absolute;
  top: 75%;
  left: 25%;
  max-width: 70%;
}
#vto .inner .store_btn img {
  width: 100%;
}
#vto .inner .store_btn2 {
  width: 50%;
  position: absolute;
  top: 75%;
  left: 14%;
  max-width: 70%;
}
#vto .inner .store_btn2 img {
  width: 150%;
}

/* ------------------------------------------------------------ experience */
#experience {
  padding-top: 0;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 48px;
}
#experience .inner {
  text-align: center;
  background-image: url(https://campaign.nikon-lenswear.jp/transitions/202004/images/store_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 1180px;
  max-width: 100%;
}
#experience .ttl {
  max-width: 100%;
  padding-top: 40px;
  padding-bottom: 30px;
}
#experience .ttl img {
  max-width: 100%;
}
#experience p img {
  min-height: 30px;
}
#experience .map iframe {
  width: 90%;
  height: 48vh;
}
/* ------------------------------------------------------------ footer */
#footer {
  padding-top: 48px;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 10px;
}
#footer .inner {
  /* [disabled]width: 1180px; */
  max-width: 100%;
}
#footer .homelink {
  border-bottom: 1px solid #000;
  display: block;
  padding: 0 0 10px;
}
#footer .footerlink {
  padding: 18px 0 0 18px;
}
#footer .footerlink li {
  float: left;
  padding: 0 0 0 10px;
}
#footer .footerlink li a {
  display: block;
  background: url(https://campaign.nikon-lenswear.jp/transitions/202004/images/point_footer.gif) no-repeat left center;
  padding: 0 0 0 10px;
  font-size: 12px;
}
#footer p {
  padding-top: 30px;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 0;
  text-align: right;
  font-size: 12px;
  color: #666;
  margin-right: 18px;
}
/* ------------------------------------------------------------ youtube */
.youtube {
  padding-top: 25px;
  padding-bottom: 15px;
  width: 100%;
  height: auto;
  text-align: center;
}
/********* page top *********/
#page_top {
  position: fixed;
  bottom: 60px;
  text-align: right;
  width: 180px;
  right: 20px;
}
.bound {
  animation: bound 3s infinite;
}
@keyframes bound {
  0% {
    transform: translateY(0)
  }
  5% {
    transform: translateY(0)
  }
  10% {
    transform: translateY(0)
  }
  20% {
    transform: translateY(-25px)
  }
  25% {
    transform: translateY(0)
  }
  30% {
    transform: translateY(-15px)
  }
  50% {
    transform: translateY(0)
  }
  100% {
    transform: translateY(0)
  }
}
/* --------------------------------------------------------------------- mobile ------------------------------------------------------------ */
@media only screen and (max-width:640px) {
  body {
    min-width: inherit;
  }
  .discount_btn {
    width: 100%;
  }
  .discount_btn a img {
    width: 94%;
    height: auto;
  }
  .underline {
    border-bottom: solid 3px #00188a;
    line-height: 100%;
    padding: 0 0 5px;
  }
  .title {
    padding: 6% 3%;
    font-size: 18px;
    border-bottom: 2px solid #fff;
  }
  .title span {
    padding: 0 0 3px;
    border-bottom: 2px solid #fff;
  }
  .SP {
    display: block;
  }
  .PC {
    display: none;
  }
  /* ------------------------------------------------------------ header */
  #header {
    margin-bottom: 12px;
  }
  #header img {
    width: 80%;
  }
  #header .search {}
  #header .search a {}
  #header .search a span {}
  .hlink {
    text-align: left;
    margin-left: 12px;
    font-size: 10px;
  }
  .header {
    padding-top: 12px;
    padding-left: 12px;
  }
  .header img {
    width: 40px;
    height: 40px;
  }
  /* ------------------------------------------------------------ brand */
  #brand {
    margin-top: 8px;
  }
  #brand .inner .animation {
    position: absolute;
    top: 56%;
  }
  #brand .inner .tvcm_btn {
    width: 16%;
    position: absolute;
    top: 40%;
    left: 9%;
  }
  #brand .inner .tvcm_btn img {
    width: 100%;
  }
  #brand .inner .store_btn {
    width: 72%;
    top: 82%;
    left: 14%;
    max-width: 80%;
  }
  /* ------------------------------------------------------------ what */
  #what .inner .txt_01 {
    text-align: left;
    position: absolute;
    left: 5%;
    top: 8%;
    width: 61%;
    font-size: 15px;
    line-height: 1.8em;
  }
  #what .inner .txt_02 {
    text-align: left;
    position: absolute;
    left: 5%;
    top: 29%;
    width: 90%;
    font-size: 15px;
    line-height: 1.8em;
  }
  #what .inner .img_01 {
    position: absolute;
    left: 24.6%;
    top: 53%;
    max-width: 66%;
  }
  #what .inner .img_01 img {
    width: 466px;
    max-width: 100%;
  }
  /* ------------------------------------------------------------ plan */
  #plan .inner p {
    top: 1.8%;
    width: 90%;
    left: 5%;
    font-size: 14px;
    line-height: 2em;
  }
  .txt_decoration {
    font-weight: bold;
    color: #00007c;
  }
  #plan .inner .img_01 {
    left: 5%;
    top: 75%;
    max-width: 86%;
  }
  /* ------------------------------------------------------------ #athlete */
  #athlete .inner .img_01 {
    top: 13.5%;
    max-width: 62%;
    left: 34.5%;
  }
  #athlete .inner .img_02 {
    top: 53%;
    max-width: 60%;
    left: 4%;
  }
  #athlete .inner .txt1 {
    width: 90%;
    left: 5%;
    top: 34%;
    font-size: 14px;
  }
  #athlete .inner .txt2 {
    width: 90%;
    left: 5%;
    top: 72%;
    font-size: 14px;
  }
  #athlete .inner .store_btn {
    width: 72%;
    top: 90%;
    left: 14%;
    max-width: 80%;
  }
  /* ------------------------------------------------------------ about */
  #about .inner .txt1 {
    text-align: left;
    position: absolute;
    left: 5%;
    top: 6%;
    width: 90%;
    font-size: 14px;
  }
  #about .inner .txt2 {
    text-align: left;
    position: absolute;
    left: 6%;
    top: 67.5%;
    font-size: 12px;
  }
  #about .inner .txt3 {
    text-align: left;
    position: absolute;
    left: 50.5%;
    top: 77.5%;
    width: 48%;
    font-size: 14px;
  }
  #about .inner .txt4 {
    text-align: left;
    position: absolute;
    left: 5%;
    top: 92%;
    font-size: 13px;
    width: 90%;
  }
  #about .inner .img_01 {
    max-width: 90%;
    top: 20.2%;
    left: 5%;
    width: 90%;
  }
  #about .inner .img_02 {
    max-width: 70%;
    top: 29.5%;
    margin-left: 15%;
  }
  #about .inner .img_03 {
    position: absolute;
    top: 40.5%;
    max-width: 60%;
    left: 20%;
  }
  #about .inner .img_04 {
    position: absolute;
    top: 57.5%;
    max-width: 90%;
    left: 5%;
  }
  #about .inner .img_05 {
    position: absolute;
    top: 77.5%;
    max-width: 90%;
    left: 5%;
  }
  /* ------------------------------------------------------------ experience */
  #experience {
    padding: 0 0 5%;
  }
  #experience .inner {
    background-image: url(https://campaign.nikon-lenswear.jp/transitions/202004/images/store_bg_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  #experience .map {
    width: 100%;
  }
  #experience .map iframe {
    height: 70vh;
    padding-top: 32%;
  }
  /* ------------------------------------------------------------ footer */
  #footer {
    padding: 30px 0 60px;
  }
  #footer img {
    width: 203px;
    max-width: 50%;
  }
  #footer .footerlink {
    padding: 16px 0 0 10px;
  }
  #footer .footerlink li {
    float: none;
    padding: 0 0 8px 10px;
  }
  #footer p {
    padding: 30px 0 0;
  }
  /********* page top *********/
  #page_top {
    right: 10px;
    bottom: 20px;
  }
  #page_top img {
    width: 90px;
    height: auto;
  }
  /********* Mobile Small *********/
  @media only screen and (max-width:320px) {
    /* ------------------------------------------------------------ what */
    #what .inner .txt_01 {
      font-size: 13px;
      line-height: 1.6em;
    }
    #what .inner .txt_02 {
      font-size: 13px;
      line-height: 1.6em;
    }
    /* ------------------------------------------------------------ plan */
    #plan .inner p {
      font-size: 13px;
      line-height: 1.5em;
    }
    /* ------------------------------------------------------------ #athlete */
    #athlete .inner .txt1 {
      font-size: 13px;
      line-height: 1.5em;
    }
    #athlete .inner .txt2 {
      font-size: 13px;
      line-height: 1.5em;
    }
    /* ------------------------------------------------------------ about */
    #about .inner .txt1 {
      font-size: 13px;
      line-height: 1.5em;
    }
    #about .inner .txt2 {
      font-size: 10px;
      line-height: 1.5em;
    }
    #about .inner .txt3 {
      font-size: 12px;
      line-height: 1.5em;
    }
    #about .inner .txt4 {
      font-size: 11px;
      line-height: 1.5em;
    }
  }
  @media print {
    #header, #fv, #no_use, #transitions, #experience, #merit, #footer, #introduce, #btnarea {
      display: none;
    }
    #popdown-opacity {
      width: auto !important;
      height: auto !important;
      position: static !important;
    }
    #popdown-dialog {
      top: 0 !important;
    }
  }