@charset "UTF-8";
@font-face {
  font-family: "calisto";
  src: url("https://carrot.itembox.design/item/images/feature/light_weight/font/calisto-mt.ttf") format("opentype"); }
@font-face {
  font-family: "Sakkal";
  src: url("https://carrot.itembox.design/item/collection/legatolargo/23winter/font/Sakkal_Majalla_Bold.ttf") format("truetype"); }
/*--------------------
共通設定
----------------------*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none;
  color: #222222; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }

ul, ol {
  list-style: none; }

.pc {
  display: block; }
  @media screen and (max-width: 1200px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1200px) {
    .sp {
      display: block; } }

main {
  max-width: 100%; }

.mainBox {
  margin: 0 auto !important; }

footer {
  position: relative;
  z-index: 9999; }

/*--------------------------------------------*/
.lp_wrapper {
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0;
  letter-spacing: 0;
  color: #222222;
  font-size: 16px;
  text-align: center;
  font-family: "yu-gothic-pr6n", sans-serif;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-style: normal; }
  .lp_wrapper#lightweightBag {
    max-width: 650px; }
    .lp_wrapper#lightweightBag .mainvisual {
      margin: 5% auto;
      width: 90%; }
    .lp_wrapper#lightweightBag .lp_logo {
      text-align: right;
      margin-bottom: 1.0em; }
      @media screen and (max-width: 500px) {
        .lp_wrapper#lightweightBag .lp_logo img {
          max-width: 45px; } }
  .lp_wrapper h3 {
    background: #6e9fdd;
    color: #fff;
    line-height: 1.0;
    width: 100%;
    font-weight: 400;
    padding: 0.5em;
    font-size: 1.2em; }
    @media screen and (max-width: 500px) {
      .lp_wrapper h3 {
        font-size: 3.7vw;
        padding: 1.0em 0; } }
  .lp_wrapper .maintxt .icon {
    max-width: 35px;
    margin: 15% auto 10%; }
    @media screen and (max-width: 500px) {
      .lp_wrapper .maintxt .icon {
        max-width: 30px; } }
  .lp_wrapper .maintxt h1 {
    font-size: 1.5em;
    font-family: "source-han-sans-japanese", sans-serif;
    letter-spacing: 1.2em;
    font-weight: 300;
    line-height: 2.0; }
    @media screen and (max-width: 500px) {
      .lp_wrapper .maintxt h1 {
        font-size: 4.5vw;
        line-height: 2.2; } }
    .lp_wrapper .maintxt h1 span {
      font-weight: 400;
      font-family: "yu-gothic-pr6n", sans-serif;
      font-size: 53%;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 500px) {
        .lp_wrapper .maintxt h1 span {
          font-size: 70%; } }
  .lp_wrapper .maintxt h2 {
    font-size: 0.9em;
    margin-bottom: 2.0em;
    font-weight: 400; }
    @media screen and (max-width: 500px) {
      .lp_wrapper .maintxt h2 {
        font-size: 3.3vw;
        margin-bottom: 1.0em; } }
  .lp_wrapper .maintxt .txt {
    font-size: 0.9em;
    line-height: 2.5;
    margin: 10% auto; }
    @media screen and (max-width: 500px) {
      .lp_wrapper .maintxt .txt {
        font-size: 3.2vw; } }
  .lp_wrapper section {
    margin: 15% auto;
    padding: 15% 0; }
    .lp_wrapper section.anchorLink {
      border-top: 1px solid #666666;
      border-bottom: 1px solid #666666;
      width: 90%; }
    .lp_wrapper section h4 {
      font-weight: 400;
      font-family: "calisto";
      font-size: 1.3em;
      letter-spacing: 0.2em;
      margin-bottom: 5%;
      line-height: 1.8; }
      @media screen and (max-width: 500px) {
        .lp_wrapper section h4 {
          font-size: 4.2vw;
          letter-spacing: 0.1em; } }
      .lp_wrapper section h4 span {
        font-size: 70%; }
    .lp_wrapper section ul.anchor {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      width: 100%;
      margin: 0 auto; }
      @media screen and (max-width: 500px) {
        .lp_wrapper section ul.anchor {
          justify-content: space-between; } }
      .lp_wrapper section ul.anchor li {
        width: calc(100%/3 - 4%);
        margin: 2%; }
        @media screen and (max-width: 500px) {
          .lp_wrapper section ul.anchor li {
            width: calc(100%/2 - 8%);
            margin: 4%; } }
        .lp_wrapper section ul.anchor li a {
          display: block;
          border-radius: 50%;
          position: relative;
          overflow: hidden; }
          .lp_wrapper section ul.anchor li a::after {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            height: 100%;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            background: rgba(0, 0, 0, 0.3); }
          .lp_wrapper section ul.anchor li a p {
            position: absolute;
            font-size: 1.5em;
            letter-spacing: 0.1em;
            font-family: "Sakkal";
            color: #fff;
            top: 50%;
            left: 50%;
            width: 100%;
            padding: 0.5em 0;
            transform: translate(-50%, -50%);
            z-index: +1;
            line-height: 1.0; }
            @media screen and (max-width: 500px) {
              .lp_wrapper section ul.anchor li a p {
                font-size: 5.5vw;
                letter-spacing: 1px; } }
          .lp_wrapper section ul.anchor li a:hover::after {
            background: none;
            transition: .4s; }
          .lp_wrapper section ul.anchor li a:hover p {
            background: rgba(0, 0, 0, 0.3); }
    .lp_wrapper section .rankBtn {
      max-width: 400px;
      width: 85%;
      margin: 10% auto 0; }
      .lp_wrapper section .rankBtn a {
        font-size: 1.1em;
        letter-spacing: 0.2em;
        display: block;
        border: 1px solid #666666;
        padding: 1.0em 2.0em; }
        @media screen and (max-width: 500px) {
          .lp_wrapper section .rankBtn a {
            font-size: 3.7vw; } }
        .lp_wrapper section .rankBtn a:hover {
          background: rgba(110, 159, 221, 0.7);
          transition: .4s;
          color: #fff;
          border: 1px solid #6e9fdd; }
    .lp_wrapper section.category {
      padding-top: 60px;
      margin-top: -60px;
      border-bottom: 1px solid #666666; }
      @media screen and (max-width: 500px) {
        .lp_wrapper section.category {
          width: 95%; } }
      .lp_wrapper section.category:last-child {
        border-bottom: none; }
      .lp_wrapper section.category .categoryTxt {
        margin: 10% auto 5%;
        text-align: left;
        font-size: 0.9em;
        line-height: 2.0; }
        @media screen and (max-width: 500px) {
          .lp_wrapper section.category .categoryTxt {
            font-size: 3.2vw; } }
      .lp_wrapper section.category h5 {
        margin: 10% auto 5%;
        font-weight: 400;
        font-family: "calisto";
        font-size: 1.2em;
        letter-spacing: 0.2em;
        margin-bottom: 5%;
        line-height: 1.8; }
        @media screen and (max-width: 500px) {
          .lp_wrapper section.category h5 {
            font-size: 3.7vw; } }
        .lp_wrapper section.category h5 span {
          font-size: 80%; }
          @media screen and (max-width: 500px) {
            .lp_wrapper section.category h5 span {
              font-size: 75%; } }
      .lp_wrapper section.category ul.categoryList {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: wrap; }
        .lp_wrapper section.category ul.categoryList li {
          width: calc(100%/2 - 4%);
          margin-bottom: 3.0em; }
          @media screen and (max-width: 500px) {
            .lp_wrapper section.category ul.categoryList li {
              width: calc(100%/2 - 1%); } }
          .lp_wrapper section.category ul.categoryList li dl {
            margin: 1.0em;
            font-size: 0.9em; }
            @media screen and (max-width: 500px) {
              .lp_wrapper section.category ul.categoryList li dl {
                font-size: 2.8vw; } }
            .lp_wrapper section.category ul.categoryList li dl dd, .lp_wrapper section.category ul.categoryList li dl dt {
              font-size: 100%; }
          .lp_wrapper section.category ul.categoryList li a {
            background: #6e9fdd;
            color: #fff;
            border-radius: .4em;
            display: block;
            width: 85%;
            line-height: 1.0;
            font-size: 0.9em;
            padding: 0.9em;
            margin: 0 auto; }
            @media screen and (max-width: 500px) {
              .lp_wrapper section.category ul.categoryList li a {
                font-size: 2.8vw;
                width: 75%; } }
    .lp_wrapper section#ranking .rank ul {
      display: flex;
      align-items: flex-start;
      justify-content: center;
      flex-wrap: wrap;
      margin: 15% auto 0;
      counter-reset: rank; }
      .lp_wrapper section#ranking .rank ul li {
        width: calc(100%/3 - 1%);
        margin: 0.5% 0.5% 3.5em;
        position: relative; }
        @media screen and (max-width: 500px) {
          .lp_wrapper section#ranking .rank ul li {
            width: calc(100%/2 - 1%); } }
        .lp_wrapper section#ranking .rank ul li::before {
          counter-increment: rank;
          content: "No." counter(rank);
          position: absolute;
          font-size: 1.2em;
          letter-spacing: 1px;
          font-family: "calisto";
          left: 50%;
          top: -1.5em;
          transform: translateX(-50%);
          line-height: 1.0; }
          @media screen and (max-width: 500px) {
            .lp_wrapper section#ranking .rank ul li::before {
              font-size: 3.4vw; } }
        .lp_wrapper section#ranking .rank ul li dl {
          width: 95%;
          margin: 2% auto;
          font-size: 0.8em; }
          .lp_wrapper section#ranking .rank ul li dl dd, .lp_wrapper section#ranking .rank ul li dl dt {
            font-size: 100%;
            line-height: 1.5;
            text-align: left;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap; }
    .lp_wrapper section.feature {
      margin: 10% auto;
      padding: 0 5% 10%; }
      .lp_wrapper section.feature p {
        text-align: left;
        font-size: 0.9em; }
        @media screen and (max-width: 500px) {
          .lp_wrapper section.feature p {
            font-size: 3.0vw; } }
        .lp_wrapper section.feature p.feature_ttl {
          margin-bottom: .5em; }
      .lp_wrapper section.feature a.bnr_link {
        display: block;
        margin: 5% auto; }
      .lp_wrapper section.feature .btn {
        max-width: 200px;
        margin: 5% auto; }
        .lp_wrapper section.feature .btn a {
          display: block;
          color: #fff;
          background: #6e9fdd;
          line-height: 1.0;
          padding: 1.0em 2.0em;
          font-size: 0.9em; }
          @media screen and (max-width: 500px) {
            .lp_wrapper section.feature .btn a {
              font-size: 3.0vw; } }
          .lp_wrapper section.feature .btn a:hover {
            opacity: .7;
            transition: .4s; }
