@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
/*--------------------------------------------------
  mixin
--------------------------------------------------*/
/*--------------------------------------------------
responsive
--------------------------------------------------*/
@media screen and (max-width: 900px), print {
  .u-is-sp-inline {
    display: inline-block; }
  .u-is-pc-inline {
    display: none; }
  .u-is-sp {
    display: block; }
  .u-is-pc {
    display: none; } }

@media screen and (min-width: 901px), print {
  .u-is-sp-inline {
    display: none; }
  .u-is-pc-inline {
    display: inline-block; }
  .u-is-sp {
    display: none; }
  .u-is-pc {
    display: block; } }

/*--------------------------------------------------
reset
--------------------------------------------------*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  font-size: 0;
  line-height: 0; }

/*--------------------------------------------------
  contents
--------------------------------------------------*/
body {
  color: #373b3e; }

.l-main {
  display: block;
  overflow: visible; }

.l-content-kansou a {
  transition: .5s; }
  .l-content-kansou a:hover {
    opacity: 0.7;
    text-decoration: none !important; }

.font-noto {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  color: #535454; }

.block-kanso {
  /*--------------------------------------------------
  hero
--------------------------------------------------*/
  /*--------------------------------------------------
  campaign
--------------------------------------------------*/
  /*--------------------------------------------------
  prodcts
--------------------------------------------------*/
  /*--------------------------------------------------
  links
--------------------------------------------------*/ }
  .block-kanso__hero {
    display: block;
    position: relative;
    background: url(/img/freepage/feature_210112/images/hero_bg.png) no-repeat center;
    background-size: cover; }
    .block-kanso__hero-inner {
      display: block;
      position: relative;
      max-width: 930px;
      margin: 0 auto;
      padding: 67px 0 75px; }
      @media (max-width: 900px) {
        .block-kanso__hero-inner {
          padding: 9vw 8vw 10vw; } }
    .block-kanso__hero--ttl {
      width: 100%; }
    .block-kanso__hero-txt {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 130px;
      margin: auto;
      font-size: 24px;
      text-align: center;
      line-height: 1.8; }
      @media (max-width: 900px) {
        .block-kanso__hero-txt {
          bottom: 19vw;
          font-size: 3.3vw; } }
    .block-kanso__hero-item01 {
      position: absolute;
      top: 110px;
      left: -115px; }
      @media (max-width: 900px) {
        .block-kanso__hero-item01 {
          top: 29.6vw;
          left: 0;
          width: 23.46vw; } }
    .block-kanso__hero-item02 {
      position: absolute;
      top: 180px;
      right: -145px; }
      @media (max-width: 900px) {
        .block-kanso__hero-item02 {
          top: 39vw;
          right: 0;
          width: 21vw; } }
  .block-kanso__campaign {
    display: block;
    position: relative;
    width: 1164px;
    margin: 96px auto 110px;
    background: #f4f3fc;
    border: 4px solid #fff; }
    @media (max-width: 900px) {
      .block-kanso__campaign {
        width: 80vw;
        margin: 11.4vw auto 10.6vw; } }
    .block-kanso__campaign-flame {
      position: absolute; }
      @media (max-width: 900px) {
        .block-kanso__campaign-flame {
          width: 10.6vw; } }
      .block-kanso__campaign-flame:nth-of-type(1) {
        top: -12px;
        left: -12px; }
        @media (max-width: 900px) {
          .block-kanso__campaign-flame:nth-of-type(1) {
            top: -1.6vw;
            left: -1.6vw; } }
      .block-kanso__campaign-flame:nth-of-type(2) {
        top: -12px;
        right: -12px; }
        @media (max-width: 900px) {
          .block-kanso__campaign-flame:nth-of-type(2) {
            top: -1.6vw;
            right: -1.6vw; } }
      .block-kanso__campaign-flame:nth-of-type(3) {
        bottom: -12px;
        left: -12px; }
        @media (max-width: 900px) {
          .block-kanso__campaign-flame:nth-of-type(3) {
            bottom: -1.6vw;
            left: -1.6vw; } }
      .block-kanso__campaign-flame:nth-of-type(4) {
        bottom: -12px;
        right: -12px; }
        @media (max-width: 900px) {
          .block-kanso__campaign-flame:nth-of-type(4) {
            bottom: -1.6vw;
            right: -1.6vw; } }
    .block-kanso__campaign-heading {
      position: relative;
      max-width: 1000px;
      margin: 0 auto;
      padding: 85px 0 40px;
      text-align: center;
      border-bottom: 1px solid #8a8a8a; }
      @media (max-width: 900px) {
        .block-kanso__campaign-heading {
          max-width: 66.66vw;
          padding: 6.6vw 0 4vw; } }
      .block-kanso__campaign-heading__catch {
        margin-bottom: 36px; }
        @media (max-width: 900px) {
          .block-kanso__campaign-heading__catch {
            margin-bottom: 0; }
            .block-kanso__campaign-heading__catch img {
              width: 35vw;
              height: auto; } }
      .block-kanso__campaign-heading__ttl {
        display: block;
        font-size: 30px;
        font-weight: 400; }
        .block-kanso__campaign-heading__ttl small {
          font-size: 0.8em; }
        @media (max-width: 900px) {
          .block-kanso__campaign-heading__ttl {
            font-size: 4.26vw;
            line-height: 1.4;
            letter-spacing: 0.05em; } }
      .block-kanso__campaign-heading__batch {
        position: absolute;
        top: 38px;
        right: -65px; }
        @media (max-width: 900px) {
          .block-kanso__campaign-heading__batch {
            width: 19.2vw;
            top: 2.2vw;
            right: -11.7vw; } }
    .block-kanso__campaign-wrap {
      display: flex;
      width: 100%;
      overflow: hidden; }
      @media (max-width: 900px) {
        .block-kanso__campaign-wrap {
          display: block; } }
    .block-kanso__campaign-content {
      display: flex;
      align-items: flex-end;
      justify-content: flex-end;
      position: relative;
      width: 50%;
      min-height: 463px;
      padding: 12px 0 50px;
      box-sizing: border-box; }
      @media (max-width: 900px) {
        .block-kanso__campaign-content {
          align-items: center;
          width: 100%;
          min-height: 100px;
          padding: 6vw 4.8vw 4vw; } }
      .block-kanso__campaign-content:nth-of-type(2) {
        background: #f7f6f5; }
        .block-kanso__campaign-content:nth-of-type(2)::before {
          display: block;
          content: '';
          position: absolute;
          top: 0;
          bottom: 0;
          left: -40px;
          margin: auto;
          width: 80px;
          height: 440px;
          background: url(/img/freepage/feature_210112/images/campaign_border.png) no-repeat center;
          background-size: contain; }
          @media (max-width: 900px) {
            .block-kanso__campaign-content:nth-of-type(2)::before {
              top: -34vw;
              left: 0;
              right: 0;
              bottom: auto;
              width: 10vw;
              height: 69vw;
              transform: rotate(90deg); } }
      .block-kanso__campaign-content__img {
        display: block;
        width: 150px; }
        @media (max-width: 900px) {
          .block-kanso__campaign-content__img {
            width: 20vw; }
            .block-kanso__campaign-content__img img {
              width: 13.3vw;
              height: auto; } }
    .block-kanso__campaign-spec {
      display: block;
      width: 350px; }
      @media (max-width: 900px) {
        .block-kanso__campaign-spec {
          width: 45vw; } }
      .block-kanso__campaign-spec__txt {
        font-size: 29px; }
        @media (max-width: 900px) {
          .block-kanso__campaign-spec__txt {
            font-size: 3.86vw; } }
        .block-kanso__campaign-spec__txt small {
          font-size: 0.7em; }
        .block-kanso__campaign-spec__txt strong {
          font-weight: 400;
          color: #8a76b0; }
      .block-kanso__campaign-spec__brand {
        margin-top: 1em;
        font-size: 35px;
        color: #8a76b0;
        line-height: 1; }
        @media (max-width: 900px) {
          .block-kanso__campaign-spec__brand {
            font-size: 4.6vw; } }
      .block-kanso__campaign-spec__name {
        margin-top: 0.2em;
        padding-bottom: 26px;
        font-size: 35px;
        font-weight: bold;
        color: #8a76b0;
        line-height: 1.2; }
        @media (max-width: 900px) {
          .block-kanso__campaign-spec__name {
            padding-bottom: 0;
            font-size: 4.66vw; } }
        .block-kanso__campaign-spec__name small, .block-kanso__campaign-spec__name sup {
          font-size: 0.5em;
          font-weight: 100; }
          .block-kanso__campaign-content:nth-of-type(1) .block-kanso__campaign-spec__name small, .block-kanso__campaign-content:nth-of-type(1) .block-kanso__campaign-spec__name sup {
            padding-left: 3.5em; }
          .block-kanso__campaign-content:nth-of-type(2) .block-kanso__campaign-spec__name small, .block-kanso__campaign-content:nth-of-type(2) .block-kanso__campaign-spec__name sup {
            padding-left: 2.8em; }
  .block-kanso__products {
    display: block;
    position: relative;
    background: url(/img/freepage/feature_210112/images/products_bg.png) repeat-y center 0;
    background-size: 100%;
    box-sizing: border-box; }
    @media (max-width: 900px) {
      .block-kanso__products {
        background-size: 200%; } }
    .block-kanso__products-ttl {
      display: block;
      padding: .6em 0;
      background: #8a76b0;
      color: #fff;
      font-size: 33px;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media (max-width: 900px) {
        .block-kanso__products-ttl {
          font-size: 4.4vw; } }
      .block-kanso__products-ttl__secondary {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 100%;
        height: 160px;
        margin-bottom: 45px;
        background: rgba(231, 229, 246, 0.85);
        font-size: 32.4px;
        line-height: 1.4;
        color: #8a89c6;
        text-align: center;
        border: 4px solid #fff;
        box-sizing: border-box; }
        @media (max-width: 900px) {
          .block-kanso__products-ttl__secondary {
            height: 30vw;
            margin-bottom: 12vw;
            font-size: 4.8vw; }
            .block-kanso__products-box .block-kanso__products-ttl__secondary {
              margin-top: 8vw; } }
        .block-kanso__products-ttl__secondary::after {
          display: block;
          content: '';
          position: absolute;
          bottom: -25px;
          left: 0;
          right: 0;
          margin: 0 auto;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 25px 18px 0 18px;
          border-color: #e7e5f6 transparent transparent transparent; }
        .block-kanso__products-ttl__secondary::before {
          display: block;
          content: '';
          position: absolute;
          bottom: -30px;
          left: 0;
          right: 0;
          margin: 0 auto;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 30px 22px 0 22px;
          border-color: #fff transparent transparent transparent; }
    .block-kanso__products-wrap {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      width: 1180px;
      margin: 0 auto;
      padding: 70px 0 0;
      box-sizing: border-box; }
      @media (max-width: 900px) {
        .block-kanso__products-wrap {
          width: 100%;
          padding: 8vw 6.6vw 0; }
          .block-kanso__products-wrap + .block-kanso__products-wrap {
            padding-top: 0; }
          .block-kanso__products-wrap:last-of-type {
            padding-bottom: 8vw; } }
    .block-kanso__products-box {
      width: 576px;
      margin-bottom: 45px; }
      @media (max-width: 900px) {
        .block-kanso__products-box {
          margin-bottom: 6.6vw; } }
    .block-kanso__products-panel {
      width: 100%;
      min-height: calc(100% - 205px);
      padding: 56px 5px 30px;
      background: rgba(255, 255, 255, 0.85);
      box-sizing: border-box; }
      @media (max-width: 900px) {
        .block-kanso__products-panel {
          width: 100%;
          min-height: 0;
          padding: 8vw .8vw 4vw; } }
      .block-kanso__products-panel__ttl {
        font-size: 32px;
        text-align: center;
        line-height: 1.4; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__ttl {
            font-size: 4.8vw; } }
        .block-kanso__products-panel__ttl sup {
          font-size: 0.5em; }
      .block-kanso__products-panel__detail {
        display: block;
        padding: 0 30px; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__detail {
            padding: 0 5.3vw; } }
      .block-kanso__products-panel__img {
        position: relative;
        margin-top: 45px; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__img {
            margin-top: 6.6vw; } }
        .block-kanso__products-panel__img a img {
          transition: .5s; }
          .block-kanso__products-panel__img a img:hover {
            opacity: 0.7; }
        .block-kanso__products-panel__img-batch {
          position: absolute;
          top: 0;
          left: 0;
          width: 130px;
          z-index: 2; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__img-batch {
              width: 20vw; } }
      .block-kanso__products-panel__brand {
        font-size: 27px; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__brand {
            font-size: 4vw; } }
      .block-kanso__products-panel__name {
        font-size: 30px;
        letter-spacing: -.05em; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__name {
            font-size: 4.8vw; } }
        .block-kanso__products-panel__name--sub {
          font-size: 18px; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__name--sub {
              font-size: 3.26vw; } }
      .block-kanso__products-panel__price {
        font-size: 18px; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__price {
            font-size: 3.46vw; } }
        .block-kanso__products-panel__cart + .block-kanso__products-panel__price {
          margin-top: 30px; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__cart + .block-kanso__products-panel__price {
              margin-top: 4vw; } }
        .block-kanso__products-panel__pricebox .block-kanso__products-panel__price span {
          margin: 0; }
        .block-kanso__products-panel__price span {
          display: inline-block;
          margin: 0 .3em 0 .4em;
          font-size: 40px; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__price span {
              font-size: 6vw; } }
        .block-kanso__products-panel__priceflex {
          display: flex;
          justify-content: space-between;
          margin-top: 1.2em; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__priceflex {
              display: block;
              margin-top: 0; } }
        .block-kanso__products-panel__pricebox {
          width: 49%; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__pricebox {
              width: 100%; }
              .block-kanso__products-panel__pricebox + .block-kanso__products-panel__pricebox {
                margin-top: .5em; } }
      .block-kanso__products-panel__cart {
        margin: 10px 0 0; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__cart {
            margin: 2vw 0 0; } }
        .block-kanso__products-panel__cart-btn {
          display: block;
          position: relative;
          width: 100%;
          padding: 30px 0 30px 1em;
          background: #8a76b0;
          color: #fff;
          font-size: 22px;
          text-align: center;
          line-height: 1;
          box-sizing: border-box; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__cart-btn {
              padding: 4vw 0 4vw 1em;
              font-size: 3.73vw; } }
          .block-kanso__products-panel__cart-btn::before {
            display: block;
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            right: 0;
            width: 100%;
            height: 5px;
            background: #dadbdb; }
          .block-kanso__products-panel__cart-btn::after {
            display: block;
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            right: 4%;
            width: 10px;
            height: 10px;
            margin: auto;
            border: 2px solid #fff;
            border-left: none;
            border-bottom: none;
            transform: rotate(45deg); }
            @media (max-width: 900px) {
              .block-kanso__products-panel__cart-btn::after {
                width: 5px;
                height: 5px; } }
        .block-kanso__products-panel__cart-icon {
          display: block;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 90px;
          width: 30px;
          height: 30px;
          margin: auto; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__cart-icon {
              left: 13vw;
              width: 6.6vw;
              height: 6.6vw; } }
          .block-kanso__products-panel__pricebox .block-kanso__products-panel__cart-icon {
            left: 10px; }
      .block-kanso__products-panel__recommend {
        display: block;
        position: relative;
        margin-top: 54px;
        padding: 30px 38px 35px;
        background: url(/img/freepage/feature_210112/images/recommend_bg.png) repeat-y 0 0;
        background-size: 100%; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__recommend {
            margin-top: 7.46vw;
            padding: 5vw 5.3vw; } }
        .block-kanso__products-panel__recommend::before {
          display: block;
          content: '';
          position: absolute;
          top: -28px;
          left: 0;
          right: 0;
          margin: auto;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 20px 28px 20px;
          border-color: transparent transparent #f6f1f4 transparent; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__recommend::before {
              top: -4vw;
              border-width: 0 2.93vw 4vw 2.93vw; } }
        .block-kanso__products-panel__recommend-ttl {
          padding-bottom: 20px;
          text-align: center;
          border-bottom: 1px solid #8a8a8a; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__recommend-ttl {
              padding-bottom: 2.66vw;
              line-height: 1; }
              .block-kanso__products-panel__recommend-ttl img {
                width: 40.5vw;
                height: auto; } }
        .block-kanso__products-panel__recommend-point {
          display: block;
          margin-top: 28px; }
          @media (max-width: 900px) {
            .block-kanso__products-panel__recommend-point {
              margin-top: 3.73vw; } }
          @media (max-width: 900px) {
            .block-kanso__products-panel__recommend-point dt {
              line-height: 1; } }
          .block-kanso__products-panel__recommend-point dt img {
            width: auto;
            height: 21px; }
            @media (max-width: 900px) {
              .block-kanso__products-panel__recommend-point dt img {
                height: 3vw; } }
          .block-kanso__products-panel__recommend-point dd {
            margin-top: 0.5em;
            font-size: 22px;
            color: #373b3e;
            line-height: 1.6; }
            @media (max-width: 900px) {
              .block-kanso__products-panel__recommend-point dd {
                font-size: 3.46vw; } }
            .block-kanso__products-panel__recommend-point dd strong {
              font-weight: inherit;
              background: linear-gradient(transparent 60%, #eed4e1 60%); }
      .block-kanso__products-panel__attention {
        margin-top: 1em;
        padding: 0 38px; }
        @media (max-width: 900px) {
          .block-kanso__products-panel__attention {
            padding: 0 5.3vw;
            font-size: 2.6vw; } }
  .block-kanso__links {
    display: block;
    position: relative;
    max-width: 1170px;
    margin: 100px auto;
    padding: 65px 0 70px;
    background: #f3f7fa; }
    @media (max-width: 900px) {
      .block-kanso__links {
        margin: 9.3vw auto;
        padding: 0 8vw;
        background: #fff; } }
    .block-kanso__links-inner {
      display: block;
      width: 880px;
      margin: 0 auto; }
      @media (max-width: 900px) {
        .block-kanso__links-inner {
          width: 100%; } }
    .block-kanso__links-ttl {
      text-align: center;
      font-size: 22px; }
      @media (max-width: 900px) {
        .block-kanso__links-ttl {
          font-size: 4.53vw; } }
    .block-kanso__links-brand {
      display: flex;
      justify-content: space-between;
      margin-top: 38px; }
      @media (max-width: 900px) {
        .block-kanso__links-brand {
          flex-wrap: wrap;
          margin-top: 4vw; } }
      .block-kanso__links-brand a {
        display: block;
        width: 170px; }
        @media (max-width: 900px) {
          .block-kanso__links-brand a {
            width: 49%;
            margin-top: 4vw; } }
      .block-kanso__links-brand__other {
        margin-top: 24px;
        text-align: right; }
        @media (max-width: 900px) {
          .block-kanso__links-brand__other {
            margin-top: 1em;
            font-size: 4.26vw; } }
        .block-kanso__links-brand__other a {
          color: #3b4043; }
    .block-kanso__links-bnr {
      display: flex;
      justify-content: space-between;
      margin-top: 48px; }
      @media (max-width: 900px) {
        .block-kanso__links-bnr {
          display: block;
          margin-top: 9.3vw; } }
      .block-kanso__links-bnr a {
        display: block;
        width: 49%; }
        @media (max-width: 900px) {
          .block-kanso__links-bnr a {
            width: 100%;
            margin-top: 5vw; } }
      .block-kanso__links-bnr__other {
        display: block;
        margin-top: 40px; }
        @media (max-width: 900px) {
          .block-kanso__links-bnr__other {
            margin-top: 5vw; } }