/*----------------------------------------------------------
 *      Initialize
 *----------------------------------------------------------*/
html {
  height: 100%;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px; }
  @media only screen and (max-width: 767px) {
    html {
      min-width: 100%;
      font-size: 10px !important; } }

body {
  display: block;
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  background: #ffffff;
  font-size: 10px;
  font-family: "Noto Sans JP", sans-serif !important;
  color: #000000; }
  @media only screen and (max-width: 767px) {
    body {
      min-width: 100%;
      font-size: 10px !important; } }

p {
  margin: 0; }

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1; }

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  line-height: 1; }

strong {
  font-weight: bold; }

a {
  color: #000000;
  text-decoration: none;
  transition: all 0.3s; }
  @media only screen and (max-width: 767px) {
    a {
      transition: none; } }
  a:hover {
    color: #4ad118;
    text-decoration: none; }
  a:focus {
    color: #4ad118; }

/*----------------------------------------------------------
 *      Common
 *----------------------------------------------------------*/
.contents--wrap {
  width: 1024px;
  min-width: 1024px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .contents--wrap {
      width: 750px;
      min-width: 750px;
      margin: 0 auto; } }

.visible-xs {
  display: none !important; }
  @media only screen and (max-width: 767px) {
    .visible-xs {
      display: block !important; } }

.visible__inline-xs {
  display: none; }
  @media only screen and (max-width: 767px) {
    .visible__inline-xs {
      display: inline; } }

@media only screen and (max-width: 767px) {
  .hidden-xs {
    display: none !important; } }

/*----------------------------------------------------------
 *      Head
 *----------------------------------------------------------*/
header {
  height: 90px;
  width: 100%;
  min-width: 1024px;
  position: fixed;
  top: 0;
  left: 0;
  background: #ffffff;
  z-index: 100; }
  @media only screen and (max-width: 767px) {
    header {
      height: 140px;
      width: 100%;
      min-width: 750px; } }
  header nav {
    position: absolute;
    top: 0;
    right: 0; }
    header nav ul {
      display: flex;
      flex-wrap: wrap; }
    header nav li {
      margin: 30px 25px 0 25px;
      font-size: 2rem;
      font-weight: 500;
      letter-spacing: 0;
      line-height: 1;
      text-align: center; }
      header nav li a:hover {
        color: #4ad118; }

.head__logo {
  position: absolute;
  top: 51px;
  left: 43px;
  width: 103px;
  height: 52px; }
  .head__logo a {
    display: block;
    width: 100%;
    height: 100%; }
  .head__logo a:hover {
    opacity: 0.6; }
  .head__logo img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 767px) {
    .head__logo {
      position: absolute;
      top: 49px;
      left: calc(50% - 53px);
      width: 106px;
      height: 54px; }
      .head__logo a {
        display: block;
        width: 100%;
        height: 100%; }
      .head__logo a:hover {
        opacity: 0.6; }
      .head__logo img {
        width: 100%;
        height: auto; } }

.head__nav__jp {
  display: block;
  margin: 9px 0 0 0;
  color: #cccccc;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1; }

.head__tool__entry {
  margin: 0 0 0 41px; }
  .head__tool__entry a {
    display: block;
    position: relative;
    padding: 0 10px 0 0;
    height: 90px;
    width: 234px;
    background: #000000;
    color: #ffffff;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 90px; }
    .head__tool__entry a:hover {
      color: #ffffff;
      background: #4ad118; }
    .head__tool__entry a::before {
      content: '';
      display: block;
      position: absolute;
      top: 34px;
      right: 20px;
      width: 14.5px;
      height: 23px;
      background: url("../images/head__entry__arrow.png") no-repeat;
      background-size: 14.5px 23px; }

.head__menuBtn {
  position: absolute;
  top: 24px;
  right: 17px;
  width: 90px;
  height: 90px; }
  .head__menuBtn a {
    display: block;
    width: 100%;
    height: 100%; }
  .head__menuBtn a:hover {
    opacity: 0.6; }
  .head__menuBtn img {
    width: 100%;
    height: auto; }

/*----------------------------------------------------------
 *      Side
 *----------------------------------------------------------*/
.side__head--wrap {
  position: absolute;
  top: 205px;
  left: 60px;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  display: block;
  width: 106px;
  height: 1033.5px;
  background: url("../images/side__cname.png") no-repeat;
  background-size: 106px 1033.5px;
  transition: all 0.3s;
  z-index: 50; }

.side__head__disable {
  left: -110px; }

.side__head--wrap--sp {
  position: absolute;
  top: 37px;
  left: 30px;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  display: block;
  width: 64px;
  height: 628px;
  background: url("../images/side__cname--sp.png") no-repeat;
  background-size: 64px 628px;
  z-index: 200; }

/*----------------------------------------------------------
 *      SP Menu
 *----------------------------------------------------------*/
.spMenu__head--wrap {
  position: relative;
  height: 140px;
  width: 100%; }

.head__closeBtn {
  position: absolute;
  top: 24px;
  right: 17px;
  width: 90px;
  height: 90px;
  z-index: 550; }
  .head__closeBtn a {
    display: block;
    width: 100%;
    height: 100%; }
  .head__closeBtn a:hover {
    opacity: 0.6; }
  .head__closeBtn img {
    width: 100%;
    height: auto; }

.head__logo__w {
  position: absolute;
  top: 49px;
  left: calc(50% - 53px);
  width: 106px;
  height: 54px; }
  .head__logo__w a {
    display: block;
    width: 100%;
    height: 100%; }
  .head__logo__w a:hover {
    opacity: 0.6; }
  .head__logo__w img {
    width: 100%;
    height: auto; }

.spMenu--area {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 750px;
  background: #000000;
  z-index: 500;
  transition: all 0.3s; }

.spMenuList--wrap {
  width: 600px;
  margin: calc(50vh - 450px) auto 0 auto;
  color: #ffffff;
  font-size: 4.8rem;
  font-weight: 500;
  letter-spacing: 0.1em; }
  .spMenuList--wrap li {
    margin: 36px 0; }
  .spMenuList--wrap a {
    color: #ffffff; }

/*----------------------------------------------------------
 *      Foot Contact
 *----------------------------------------------------------*/
.foot__contact--area {
  margin: 0 0 25px 0; }
  .foot__contact--area .foot__contactBtn {
    width: 719px;
    height: 180px;
    margin: 0 auto; }
    .foot__contact--area .foot__contactBtn a {
      display: block;
      width: 100%;
      height: 100%; }
    .foot__contact--area .foot__contactBtn a:hover {
      opacity: 0.6; }
    .foot__contact--area .foot__contactBtn img {
      width: 100%;
      height: auto; }

/*----------------------------------------------------------
 *      Footer
 *----------------------------------------------------------*/
footer {
  padding: 52px 0 36px 0;
  background: #000000; }
  footer .contents--wrap {
    width: 100%; }

.foot__logo {
  width: 75px;
  height: 38px;
  margin: 0 auto 38px auto; }
  .foot__logo a {
    display: block;
    width: 100%;
    height: 100%; }
  .foot__logo a:hover {
    opacity: 0.6; }
  .foot__logo img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 767px) {
    .foot__logo {
      width: 100px;
      height: 51px; }
      .foot__logo a {
        display: block;
        width: 100%;
        height: 100%; }
      .foot__logo a:hover {
        opacity: 0.6; }
      .foot__logo img {
        width: 100%;
        height: auto; } }

.foot__copyright {
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .foot__copyright {
      color: #ffffff;
      font-size: 2rem;
      font-weight: 300;
      letter-spacing: 0.1em; } }

.top--page main {
  padding: 810px 0 30px 0; }

.common__title {
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1; }
  @media only screen and (max-width: 767px) {
    .common__title {
      padding: 0 0 55px 0;
      border-bottom: 2px solid #dddddd;
      font-size: 3.8rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      line-height: 1;
      text-align: center; } }

.common__title__jp {
  margin: 0 0 0 10px;
  color: #999999;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1; }
  @media only screen and (max-width: 767px) {
    .common__title__jp {
      display: block;
      margin: 14px 0 0 0;
      color: #999999;
      font-size: 1.8rem;
      font-weight: 300;
      letter-spacing: 0.05em;
      line-height: 1;
      text-align: center; } }

/*----------------------------------------------------------
 *      MainVisual
 *----------------------------------------------------------*/
.mainVisual--area {
  position: absolute;
  top: 90px;
  position: absolute;
  margin: 0 0 0 0;
  width: 100%;
  min-width: 1024px;
  z-index: 20; }
  @media only screen and (max-width: 767px) {
    .mainVisual--area {
      position: absolute;
      top: 140px;
      min-width: 750px;
      height: auto;
      margin: 0 0 78px 0; } }
  .mainVisual--area .contents--wrap {
    position: relative;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      .mainVisual--area .contents--wrap {
        height: auto; } }

.mainVisual--wrap {
  width: 100%;
  height: 720px;
  background: url("../images/top__mainVisual__image--1.jpg") no-repeat;
  background-size: cover;
  background-position: center center; }
  @media only screen and (max-width: 767px) {
    .mainVisual--wrap {
      height: 710px;
      background: url("../images/top__mainVisual__image--1--sp.jpg") no-repeat;
      background-size: cover;
      background-position: center center; } }

.mainVisual__copy {
  position: absolute;
  top: 177px;
  left: calc(50% - 407px);
  width: 670px;
  height: 280px; }
  .mainVisual__copy img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 767px) {
    .mainVisual__copy {
      position: absolute;
      top: 150px;
      left: 148px;
      width: 526px;
      height: 231px; }
      .mainVisual__copy img {
        width: 100%;
        height: auto; } }

/*----------------------------------------------------------
 *      Pickup
 *----------------------------------------------------------*/
.pickup--area {
  margin: 203px 0 50px 0; }
  @media only screen and (max-width: 767px) {
    .pickup--area {
      margin: 193px 0 65px 0; } }
  .pickup--area .contents--wrap {
    padding: 0 42px; }
    @media only screen and (max-width: 767px) {
      .pickup--area .contents--wrap {
        padding: 0 25px; } }

.pickup__list--wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 58px 0 0 0; }
  @media only screen and (max-width: 767px) {
    .pickup__list--wrap {
      display: block;
      margin: 58px 15px 0 15px;
      border-bottom: 2px solid #dddddd; } }

.pickup__list--element {
  flex-basis: 450px;
  margin: 0 40px 40px 0; }
  @media only screen and (max-width: 767px) {
    .pickup__list--element {
      margin: 0 0 85px 0; } }
  .pickup__list--element:nth-child(2n) {
    margin: 0 0 85px 0; }

.pickup__list__image {
  float: left;
  width: 120px;
  height: 120px;
  margin: 0 20px 0 0; }
  .pickup__list__image img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 767px) {
    .pickup__list__image {
      width: 180px;
      height: 180px; }
      .pickup__list__image img {
        width: 100%;
        height: auto; } }

.pickup__list__info--wrap {
  margin: 0 0 0 140px; }
  @media only screen and (max-width: 767px) {
    .pickup__list__info--wrap {
      margin: 0 0 0 210px; } }

.pickup__list__artist, .pickup__list__title {
  margin: 0 0 9px 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1; }
  @media only screen and (max-width: 767px) {
    .pickup__list__artist, .pickup__list__title {
      margin: 0 0 15px 0;
      font-size: 3rem;
      font-weight: 500;
      line-height: 1; } }

.pickup__list__title {
  margin: 0 0 11px 0; }

.pickup__list__description, .pickup__list__price {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.75; }
  @media only screen and (max-width: 767px) {
    .pickup__list__description, .pickup__list__price {
      font-size: 2.4rem;
      font-weight: 300;
      line-height: 1.75; } }

/*----------------------------------------------------------
 *      Blog
 *----------------------------------------------------------*/
.blog--area {
  margin: 0 0 50px 0; }
  .blog--area .contents--wrap {
    padding: 0 42px; }
  .blog--area .common__title {
    margin: 0 0 48px 0;
    padding: 0 0 28px 0;
    border-bottom: 1px solid #000000; }
    @media only screen and (max-width: 767px) {
      .blog--area .common__title {
        margin: 0 0 58px 0;
        padding: 0 0 56px 0;
        border-bottom: 2px solid #dddddd; } }

.blog__list--wrap {
  font-size: 2.2rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1; }
  @media only screen and (max-width: 767px) {
    .blog__list--wrap {
      font-size: 2.8rem;
      font-weight: 300;
      letter-spacing: 0.1em;
      line-height: 1; } }
  .blog__list--wrap dt {
    float: left;
    width: 160px;
    margin: 0 0 28px 0;
    font-weight: 300; }
    @media only screen and (max-width: 767px) {
      .blog__list--wrap dt {
        width: 200px; } }
  .blog__list--wrap dd {
    margin: 0 0 28px 160px; }
    @media only screen and (max-width: 767px) {
      .blog__list--wrap dd {
        margin: 0 0 28px 200px; } }

/*----------------------------------------------------------
 *      Contents Menu
 *----------------------------------------------------------*/
.contents__menu--area {
  position: absolute;
  top: 800px;
  left: calc(50% - 547px);
  height: 190px;
  width: 1094px;
  margin: -30px auto 0 auto;
  background: url("../images/top__contents__menu__bg.png") no-repeat;
  background-size: 1094px, 190px;
  z-index: 30; }
  @media only screen and (max-width: 767px) {
    .contents__menu--area {
      height: 190px;
      width: 719px;
      position: absolute;
      top: 800px;
      left: calc(50% - 360px);
      margin: -35px auto 0 auto;
      background: url("../images/top__contents__menu__bg--sp.png") no-repeat;
      background-size: 719px, 190px; } }
  .contents__menu--area ul {
    display: flex;
    flex-wrap: wrap;
    padding: 15px 15px 0 15px; }
  .contents__menu--area a {
    display: block;
    position: relative; }
    .contents__menu--area a::after {
      content: '';
      display: block;
      position: absolute;
      top: 72px;
      right: 20px;
      width: 21.5px;
      height: 11.5px;
      background: url("../images/top__contents__menu__arrow.png") no-repeat;
      background-size: 21.5px 11.5px; }
      @media only screen and (max-width: 767px) {
        .contents__menu--area a::after {
          display: none; } }
    .contents__menu--area a:hover::after {
      right: 15px;
      transition: all .1s; }

.contents__menu__catalog {
  flex-basis: 364px;
  width: 364px;
  height: 160px; }
  .contents__menu__catalog img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 767px) {
    .contents__menu__catalog {
      flex-basis: 345px;
      width: 345px;
      height: 160px; }
      .contents__menu__catalog img {
        width: 100%;
        height: auto; } }

.contents__menu__entry {
  flex-basis: 339px;
  width: 339px;
  height: 160px; }
  .contents__menu__entry img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 767px) {
    .contents__menu__entry {
      flex-basis: 344px;
      width: 344px;
      height: 160px; }
      .contents__menu__entry img {
        width: 100%;
        height: auto; } }

.contents__menu__information {
  flex-basis: 361px;
  width: 361px;
  height: 160px; }
  .contents__menu__information img {
    width: 100%;
    height: auto; }
