@charset "UTF-8";
* {
  font-family: source-han-sans-japanese,sans-serif;
  font-weight: 400;
  font-style: normal; }

.sp_block {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp_block {
      display: block; } }

body {
  position: relative; }
  @media screen and (max-width: 1023px) {
    body.hide, body.s_hide {
      overflow: hidden; }
    body.h_fixed header {
      padding-top: 94px; } }
  @media screen and (max-width: 767px) {
    body.h_fixed header {
      padding-top: 16vw; }
      body.h_fixed header .inner .sp_menu {
        bottom: -92vh; } }

.page_top {
  margin-bottom: 32px; }
  @media screen and (max-width: 1023px) {
    .page_top {
      margin-bottom: 0; } }
  .page_top .free-shipping {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: #4D779F;
    line-height: 44px; }
    .page_top .free-shipping p {
      font-size: 18px;
      font-weight: 700;
      color: #fff; }
      .page_top .free-shipping p span {
        background: #fff;
        line-height: 25px;
        border-radius: 20px;
        padding: 0 10px;
        color: #4D779F;
        font-size: 15px;
        font-weight: inherit;
        display: inline-block;
        margin-right: 8px; }
    @media screen and (max-width: 767px) {
      .page_top .free-shipping {
        line-height: 11.7333333333vw; }
        .page_top .free-shipping p {
          font-size: 4.2666666667vw; }
          .page_top .free-shipping p span {
            font-size: 3.7333333333vw;
            line-height: 6.6666666667vw;
            padding: 0 5.3333333333vw;
            margin-right: 3.2vw;
            border-radius: 6.6666666667vw; } }
  .page_top .info {
    padding: 8px 0;
    font-size: 16px;
    text-align: center;
    background: #DB667D; }
    .page_top .info a {
      color: #fff; }

header {
  margin-bottom: 20px; }
  header .inner {
    width: 94%;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 1152px; }
    @media screen and (max-width: 767px) {
      header .inner {
        width: 90%; } }
    header .inner .header_logo {
      width: 26.4%;
      max-width: 303px; }
      header .inner .header_logo a {
        display: block;
        text-decoration: none; }
        header .inner .header_logo a h1 {
          display: flex;
          align-items: flex-start;
          flex-wrap: wrap;
          align-items: center;
          font-size: 14px;
          font-weight: 500;
          color: #4D779F; }
          header .inner .header_logo a h1 .catch {
            font-size: inherit;
            color: inherit;
            margin: 0 auto; }
            header .inner .header_logo a h1 .catch span {
              display: inline-block;
              margin-right: 14px;
              background: #4D779F;
              color: #fff;
              text-align: center;
              padding: 0 10px;
              line-height: 23px; }
          header .inner .header_logo a h1 img {
            margin-bottom: 15px;
            width: 100%; }
    header .inner .conter_area {
      margin: 3px 4.1% 0 auto;
      width: 33.85%; }
      header .inner .conter_area ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        margin-bottom: 19px; }
        header .inner .conter_area ul li {
          line-height: 1; }
          header .inner .conter_area ul li a {
            font-size: 13px;
            text-decoration: none;
            color: #262626;
            display: block; }
          header .inner .conter_area ul li:not(:last-of-type) {
            padding-right: 6px;
            margin-right: 6px;
            border-right: 1px solid #262626; }
      header .inner .conter_area .search_form {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        align-items: center;
        border: 1px solid #7C7C7C;
        border-radius: 6px;
        line-height: 35px;
        padding: 0 16px 0 14px; }
        header .inner .conter_area .search_form input {
          font-size: 13px;
          width: calc(100% - 20px);
          border: none;
          padding: 0;
          outline: none; }
        header .inner .conter_area .search_form .search-url {
          width: 20px;
          padding: 0;
          border: none;
          padding: 0;
          margin: 0;
          background: none; }
    header .inner .header_right {
      margin: 7px 16px 0px 0;
      width: 29%;
      max-width: 331px; }
      header .inner .header_right ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: flex-end; }
        header .inner .header_right ul li {
          display: inline-block;
          position: relative; }
          header .inner .header_right ul li.cart {
            margin-left: 10.6%;
            width: 12.7%;
            max-width: 42px;
            margin-bottom: 0; }
            header .inner .header_right ul li.cart a img {
              margin-right: 10px; }
          header .inner .header_right ul li.mypage {
            margin-left: 6.65%;
            width: 21.1%; }
          header .inner .header_right ul li.new {
            margin-left: 6.65%;
            width: 25.38%; }
          header .inner .header_right ul li.user {
            width: 16.92%; }
          header .inner .header_right ul li a {
            display: block;
            text-decoration: none;
            color: #262626; }
            header .inner .header_right ul li a img {
              margin: 0 auto 8px; }
            header .inner .header_right ul li a p {
              font-size: 11px;
              font-weight: 500;
              text-align: center; }
            header .inner .header_right ul li a .num {
              position: absolute;
              right: 2px;
              top: 1px;
              background: #262626;
              line-height: 16px;
              padding-top: 2px;
              width: 18px;
              border-radius: 9px;
              color: #fff;
              font-size: 13px;
              text-align: center;
              display: block; }
    header .inner .menu-trigger,
    header .inner .sp_search,
    header .inner .sp_menu {
      display: none; }
  header .navigation {
    background: #E4F0F7;
    margin-top: 30px; }
    header .navigation ul {
      list-style: none;
      padding: 0;
      margin: 0;
      width: 94%;
      margin: 0 auto;
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      flex-wrap: nowrap;
      max-width: 1152px;
      border-right: 2px solid #fff;
      position: relative; }
      @media screen and (max-width: 767px) {
        header .navigation ul {
          width: 90%; } }
      header .navigation ul li {
        width: 100%;
        border-left: 2px solid #fff;
        text-align: center; }
        header .navigation ul li a {
          font-size: 15px;
          font-weight: 500;
          text-decoration: none;
          color: #262626;
          display: block;
          padding: 19px 0; }
        header .navigation ul li.accordion {
          transition: .3s; }
          header .navigation ul li.accordion:hover {
            background: #4D779F; }
            header .navigation ul li.accordion:hover > a {
              color: #fff;
              opacity: 1; }
              header .navigation ul li.accordion:hover > a::after {
                border-color: #fff transparent transparent transparent; }
          header .navigation ul li.accordion > a::after {
            content: "";
            display: inline-block;
            margin-left: 8px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 7px 4.5px 0 4.5px;
            border-color: #000000 transparent transparent transparent;
            transition: .3s; }
          header .navigation ul li.accordion .accordion_menu {
            position: absolute;
            top: 90%;
            left: 0;
            width: 100%;
            background: #fff;
            transition: .3s;
            opacity: 0;
            visibility: hidden;
            z-index: 1;
            padding: 58px 58px 28px;
            border: 1px solid #7C7C7C; }
            header .navigation ul li.accordion .accordion_menu ul {
              flex-wrap: wrap;
              width: 100%; }
              header .navigation ul li.accordion .accordion_menu ul li {
                margin: 0 0 3.1% 0;
                width: calc(90.7% / 4);
                border: none;
                border-bottom: 1px solid #7C7C7C;
                padding: 0 6px 6px; }
                header .navigation ul li.accordion .accordion_menu ul li:not(:nth-of-type(4n)) {
                  margin-right: 3.1%; }
                header .navigation ul li.accordion .accordion_menu ul li a {
                  font-size: 13px;
                  padding: 0;
                  text-align: left; }
          header .navigation ul li.accordion:hover a::after {
            transform: rotate(180deg); }
          header .navigation ul li.accordion:hover .accordion_menu {
            opacity: 1;
            visibility: visible;
            top: 100%; }
        header .navigation ul li.order_history a {
          background: #DB667D;
          color: #fff; }
  @media screen and (max-width: 1280px) {
    header .inner .header_logo a h1 {
      font-size: 12px; }
      header .inner .header_logo a h1 .catch span {
        padding: 0 6px;
        margin-right: 10px; }
    header .inner .header_right ul li a p {
      font-size: 9px; }
    header .inner .conter_area ul li:not(:last-of-type) {
      padding-right: 4px;
      margin-right: 4px; }
    header .inner .conter_area ul li a {
      font-size: 11px; } }
  @media screen and (max-width: 1023px) {
    header {
      position: relative;
      margin-bottom: 0;
      padding: 0;
      border-bottom: 1px solid #DDDDDD; }
      header .floating_area {
        padding: 32px 0 20px;
        top: 0;
        width: 100%;
        background: #fff;
        left: 0; }
        header .floating_area.fixed {
          position: fixed;
          z-index: 3;
          border-bottom: 1px solid #DDDDDD; }
      header .inner .header_logo {
        margin: 0 auto; }
        header .inner .header_logo a h1 .catch {
          display: none; }
        header .inner .header_logo a h1 img {
          margin: 0; }
      header .inner .menu-trigger {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
        cursor: pointer;
        position: relative;
        width: 30px;
        height: 24px;
        background: none;
        border: none;
        appearance: none;
        cursor: pointer; }
        header .inner .menu-trigger span {
          display: inline-block;
          transition: all .4s;
          box-sizing: border-box;
          position: absolute;
          left: 0;
          width: 100%;
          height: 3px;
          background-color: #262626; }
          header .inner .menu-trigger span:nth-of-type(1) {
            top: 0; }
          header .inner .menu-trigger span:nth-of-type(2) {
            top: 11px; }
          header .inner .menu-trigger span:nth-of-type(3) {
            bottom: 0; }
        header .inner .menu-trigger.active span:nth-of-type(1) {
          transform: translateY(11px) rotate(-45deg); }
        header .inner .menu-trigger.active span:nth-of-type(2) {
          opacity: 0; }
        header .inner .menu-trigger.active span:nth-of-type(3) {
          transform: translateY(-11px) rotate(45deg); }
      header .inner .sp_search {
        display: block;
        margin-left: 30px; }
        header .inner .sp_search .icon {
          cursor: pointer; }
        header .inner .sp_search .search_area {
          top: 100%;
          left: 0;
          width: 100%;
          background: #D0D0D0;
          padding: 10px;
          z-index: 1;
          display: none;
          position: absolute; }
          header .inner .sp_search .search_area .search_container {
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            align-items: center; }
          header .inner .sp_search .search_area .search_content {
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            align-items: center;
            background: #fff;
            border-radius: 6px;
            border: 1px solid #7C7C7C;
            padding: 15px 20px;
            width: calc(100% - 60px);
            margin-right: 10px; }
            header .inner .sp_search .search_area .search_content input {
              width: calc(100% - 20px);
              outline: none;
              font-size: 16px;
              border: none;
              padding: 0; }
            header .inner .sp_search .search_area .search_content .search-url {
              width: 20px;
              border: none;
              padding: 0;
              background: none;
              cursor: pointer; }
              header .inner .sp_search .search_area .search_content .search-url img {
                width: 100%; }
          header .inner .sp_search .search_area .close {
            width: 50px;
            height: 50px;
            position: relative;
            cursor: pointer; }
            header .inner .sp_search .search_area .close::before, header .inner .sp_search .search_area .close::after {
              content: "";
              width: 35px;
              height: 3px;
              background: #fff;
              position: absolute;
              top: calc(50% - 3px);
              left: 0;
              right: 0;
              margin: auto; }
            header .inner .sp_search .search_area .close::before {
              transform: rotate(45deg); }
            header .inner .sp_search .search_area .close::after {
              transform: rotate(-45deg); }
      header .inner .sp_menu {
        border-top: 1px solid #DDDDDD;
        z-index: 2;
        position: absolute;
        top: 100%;
        background: #fff;
        padding: 40px 20px;
        width: 100%;
        left: 0;
        overflow: auto;
        bottom: -89vh; }
        header .inner .sp_menu .menu_inner ul {
          list-style: none;
          padding: 0;
          margin: 0; }
          header .inner .sp_menu .menu_inner ul.textlink {
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            margin-bottom: 50px; }
            header .inner .sp_menu .menu_inner ul.textlink li:not(:last-of-type) {
              margin-right: 30px; }
            header .inner .sp_menu .menu_inner ul.textlink li a {
              display: flex;
              align-items: flex-start;
              flex-wrap: wrap;
              align-items: center;
              text-decoration: none;
              font-size: 20px;
              color: #262626; }
              header .inner .sp_menu .menu_inner ul.textlink li a img {
                margin-right: 12px; }
          header .inner .sp_menu .menu_inner ul.action_btn {
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            margin-bottom: 45px; }
            header .inner .sp_menu .menu_inner ul.action_btn li {
              width: 49%;
              border-radius: 50px;
              background: #69C3A7; }
              header .inner .sp_menu .menu_inner ul.action_btn li:first-of-type {
                background: #DB667D;
                margin-right: 2%; }
              header .inner .sp_menu .menu_inner ul.action_btn li a {
                display: block;
                text-align: center;
                line-height: 70px;
                color: #fff;
                font-size: 18px;
                text-decoration: none; }
        header .inner .sp_menu .menu_inner .sp_menu_list,
        header .inner .sp_menu .menu_inner .information {
          border-bottom: 1px solid #7C7C7C;
          margin-bottom: 45px; }
          header .inner .sp_menu .menu_inner .sp_menu_list dl dt,
          header .inner .sp_menu .menu_inner .information dl dt {
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            align-items: center;
            border-top: 1px solid #7C7C7C;
            padding: 19px 0 19px 6px;
            font-size: 18px;
            font-weight: 500;
            position: relative; }
            header .inner .sp_menu .menu_inner .sp_menu_list dl dt::before,
            header .inner .sp_menu .menu_inner .information dl dt::before {
              content: "";
              width: 5px;
              height: 27px;
              background: #4D779F;
              border-radius: 2px;
              display: block;
              margin-right: 9px; }
            header .inner .sp_menu .menu_inner .sp_menu_list dl dt::after,
            header .inner .sp_menu .menu_inner .information dl dt::after {
              content: "";
              position: absolute;
              right: 17px;
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 0 5px 8px 5px;
              border-color: transparent transparent #000000 transparent;
              top: calc(50% - 5px);
              transition: .3s; }
            header .inner .sp_menu .menu_inner .sp_menu_list dl dt.active:after,
            header .inner .sp_menu .menu_inner .information dl dt.active:after {
              transform: rotate(180deg); }
          header .inner .sp_menu .menu_inner .sp_menu_list dl dd,
          header .inner .sp_menu .menu_inner .information dl dd {
            padding: 25px 25px 35px;
            border-top: 1px solid #7C7C7C; }
            header .inner .sp_menu .menu_inner .sp_menu_list dl dd ul li:not(:last-of-type),
            header .inner .sp_menu .menu_inner .information dl dd ul li:not(:last-of-type) {
              margin-bottom: 30px; }
            header .inner .sp_menu .menu_inner .sp_menu_list dl dd ul li a,
            header .inner .sp_menu .menu_inner .information dl dd ul li a {
              font-size: 14px;
              text-decoration: none;
              color: #1C1C1C; }
        header .inner .sp_menu .menu_inner .information {
          border: none;
          margin: 0; }
          header .inner .sp_menu .menu_inner .information dl dt {
            font-family: forma-djr-micro,sans-serif;
            font-weight: 400;
            font-style: normal;
            font-weight: 700;
            border: none; }
            header .inner .sp_menu .menu_inner .information dl dt::after {
              display: none; }
          header .inner .sp_menu .menu_inner .information dl dd {
            border: none; }
      header .inner .conter_area {
        display: none; }
      header .inner .header_right {
        margin: 0;
        width: 80px; }
        header .inner .header_right ul li.user, header .inner .header_right ul li.new {
          display: none; }
        header .inner .header_right ul li.cart, header .inner .header_right ul li.mypage {
          width: 30px;
          margin-left: 0; }
        header .inner .header_right ul li.cart {
          margin-left: 20px; }
        header .inner .header_right ul li p {
          display: none; }
        header .inner .header_right ul li a .num {
          right: -4px;
          top: -4px; }
      header .navigation {
        display: none; } }
  @media screen and (max-width: 767px) {
    header .floating_area {
      padding: 5.0666666667vw; }
    header .inner {
      width: 100%; }
      header .inner .menu-trigger {
        width: 5.8666666667vw;
        height: 4.5333333333vw; }
        header .inner .menu-trigger span:nth-of-type(2) {
          top: 1.75vw; }
        header .inner .menu-trigger.active span:nth-of-type(1) {
          transform: translateY(1.9vw) rotate(-45deg); }
        header .inner .menu-trigger.active span:nth-of-type(3) {
          transform: translateY(-1.9vw) rotate(45deg); }
      header .inner .sp_search {
        margin-left: 5.3333333333vw; }
        header .inner .sp_search .icon {
          width: 4.8vw; }
      header .inner .sp_menu {
        padding: 11.2vw 5.3333333333vw 13.3333333333vw; }
        header .inner .sp_menu .menu_inner ul.textlink {
          margin-bottom: 13.3333333333vw; }
          header .inner .sp_menu .menu_inner ul.textlink li a {
            font-size: 4.2666666667vw; }
            header .inner .sp_menu .menu_inner ul.textlink li a img {
              width: 8.5333333333vw;
              margin-right: 2.6666666667vw; }
        header .inner .sp_menu .menu_inner ul.action_btn {
          display: block;
          margin-bottom: 12.5333333333vw; }
          header .inner .sp_menu .menu_inner ul.action_btn li {
            width: 100%; }
            header .inner .sp_menu .menu_inner ul.action_btn li:first-of-type {
              margin-bottom: 4.5333333333vw; }
            header .inner .sp_menu .menu_inner ul.action_btn li a {
              font-size: 4.2666666667vw; }
      header .inner .header_logo {
        width: 39.4666666667vw; }
      header .inner .header_right {
        width: 16vw; }
        header .inner .header_right ul li a img {
          margin-bottom: 0; }
        header .inner .header_right ul li.mypage {
          width: 4.8vw; }
        header .inner .header_right ul li.cart {
          width: 6.4vw;
          padding-right: 1.6vw;
          margin-left: 4.8vw; }
        header .inner .header_right ul li a .num {
          width: 3.7333333333vw;
          line-height: 3.7333333333vw;
          font-size: 2.1333333333vw;
          border-radius: 3.7333333333vw;
          top: -8px; } }

.sp_catch_txt {
  display: none; }
  @media screen and (max-width: 1023px) {
    .sp_catch_txt {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      background: #E4F0F7;
      padding: 10px;
      margin-bottom: 10px; }
      .sp_catch_txt p {
        font-size: 14px; }
        .sp_catch_txt p span {
          display: inline-block;
          font-size: inherit;
          color: #fff;
          background: #4D779F;
          padding: 0 10px;
          line-height: 26px;
          margin-right: 10px; } }
  @media screen and (max-width: 767px) {
    .sp_catch_txt {
      padding: 1.8666666667vw 0;
      margin-bottom: 2.6666666667vw; }
      .sp_catch_txt p {
        font-size: 3.7333333333vw; }
        .sp_catch_txt p span {
          line-height: 6.9333333333vw;
          padding: 0 3.2vw; } }

.page_top_link {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 90px;
  height: 90px; }
  .page_top_link a {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    align-content: center;
    height: 100%;
    position: relative;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    background: #fff;
    border: 1px solid #4D779F;
    border-radius: 50px; }
    .page_top_link a.view {
      opacity: 1;
      visibility: visible; }
    .page_top_link a::before {
      content: "";
      width: 10px;
      height: 10px;
      border-left: 3px solid #4D779F;
      border-top: 3px solid #4D779F;
      transform: rotate(45deg);
      display: block; }
    .page_top_link a p {
      font-family: forma-djr-micro,sans-serif;
      font-weight: 400;
      font-style: normal;
      color: #4D779F;
      font-size: 18px;
      font-weight: 700;
      text-align: center;
      width: 100%;
      line-height: 1.1; }
  @media screen and (max-width: 767px) {
    .page_top_link {
      display: none;
      width: 13.3333333333vw;
      height: 13.3333333333vw; }
      .page_top_link a::before {
        width: 2.6666666667vw;
        height: 2.6666666667vw;
        border-width: 2px; }
      .page_top_link a p {
        font-size: 2.6666666667vw; } }

.regular_store {
  background: #E4F0F7;
  padding: 76px 0 68px; }
  .regular_store .inner {
    width: 94%;
    margin: 0 auto;
    max-width: 787px;
    position: relative;
    background: #fff;
    border-radius: 15px;
    padding: 20px 59px 36px 310px; }
    @media screen and (max-width: 767px) {
      .regular_store .inner {
        width: 90%; } }
    .regular_store .inner .illust {
      position: absolute;
      left: 54px;
      top: -22px; }
    .regular_store .inner .right_txt .logo {
      margin-bottom: 8px; }
      .regular_store .inner .right_txt .logo img {
        margin: 0 auto; }
    .regular_store .inner .right_txt h2 {
      text-align: center;
      font-size: 28px;
      font-weight: 500;
      margin-bottom: 17px; }
    .regular_store .inner .right_txt p {
      font-size: 15px;
      line-height: 1.8;
      text-align: center; }
  @media screen and (max-width: 1023px) {
    .regular_store {
      padding: 60px 0; }
      .regular_store .inner {
        padding: 22px 0 0; }
        .regular_store .inner .right_txt {
          width: 100%; }
        .regular_store .inner .illust {
          position: relative;
          top: auto;
          bottom: -10px;
          left: auto;
          width: 222px;
          margin: 0 auto; } }
  @media screen and (max-width: 767px) {
    .regular_store {
      padding: 8vw 0; }
      .regular_store .inner {
        padding: 5.8666666667vw 4vw 0; }
        .regular_store .inner .right_txt .logo {
          margin-bottom: 2.1333333333vw; }
          .regular_store .inner .right_txt .logo img {
            width: 40.8vw; }
        .regular_store .inner .right_txt h2 {
          font-size: 5.3333333333vw;
          margin-bottom: 2.9333333333vw; }
        .regular_store .inner .right_txt p {
          font-size: 3.7333333333vw; }
        .regular_store .inner .illust {
          width: 43.7333333333vw;
          bottom: -2.6666666667vw; }
          .regular_store .inner .illust img {
            width: 100%; } }

footer {
  padding: 90px 0 44px; }
  footer #footer_sns ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-end; }
    footer #footer_sns ul li {
      width: 17%; }
      footer #footer_sns ul li:not(:last-of-type) {
        margin-right: 9.3%; }
  footer .inner {
    width: 94%;
    margin: 0 auto;
    max-width: 1036px;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 38px; }
    @media screen and (max-width: 767px) {
      footer .inner {
        width: 90%; } }
    footer .inner .footer_logo {
      margin-bottom: 19px; }
      footer .inner .footer_logo a {
        display: block;
        text-decoration: none;
        text-align: center; }
        footer .inner .footer_logo a img {
          margin: 0 auto 7px; }
        footer .inner .footer_logo a p {
          font-size: 13px;
          font-weight: 500;
          color: #191919; }
    footer .inner .footer_left {
      width: 19.5%;
      /*margin-top: 23px;*/ }
    footer .inner .footer_menu {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      margin-left: auto;
      width: 42.3%; }
      footer .inner .footer_menu dl {
        width: 46%; }
        footer .inner .footer_menu dl:first-of-type {
          /*width: 54%;*/
          width: 46%; }
        footer .inner .footer_menu dl dt {
          font-size: 15px;
          font-weight: 700;
          margin-bottom: 21px; }
        footer .inner .footer_menu dl dd {
          font-size: 13px;
          font-weight: 500; }
          footer .inner .footer_menu dl dd a {
            display: block;
            font-size: inherit;
            text-decoration: none;
            color: #262626;
            margin-bottom: 23px; }
    footer .inner .footer_contact {
      /*margin-left: 5.3%;*/
      margin-left: 0;
      /*width: 18.823%;*/
      width: 21.823%; }
      footer .inner .footer_contact dl dt {
        font-size: 15px;
        font-weight: 700;
        margin-bottom: 14px; }
      footer .inner .footer_contact dl dd {
        font-size: 15px;
        font-weight: 500; }
        footer .inner .footer_contact dl dd p {
          font-size: inherit;
          margin-bottom: 18px; }
          footer .inner .footer_contact dl dd p span {
            font-size: 13px;
            display: block; }
        footer .inner .footer_contact dl dd .link_btn {
          width: 80%;
          max-width: 280px;
          margin: 0 auto;
          background: #7EB0D9;
          position: relative;
          border-radius: 50px;
          width: 100%; }
          footer .inner .footer_contact dl dd .link_btn::after {
            content: "";
            width: 9px;
            height: 9px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            transform: rotate(45deg);
            right: 22px;
            top: calc(50% - 4.5px);
            position: absolute; }
          footer .inner .footer_contact dl dd .link_btn a {
            display: block;
            line-height: 70px;
            color: #fff;
            font-size: 18px;
            font-weight: 500;
            text-align: center;
            text-decoration: none; }
          @media screen and (max-width: 767px) {
            footer .inner .footer_contact dl dd .link_btn {
              width: 83%; }
              footer .inner .footer_contact dl dd .link_btn a {
                font-size: 4.2666666667vw; } }
          footer .inner .footer_contact dl dd .link_btn::after {
            width: 8px;
            height: 8px;
            right: 16px;
            top: calc(50% - 4px); }
          footer .inner .footer_contact dl dd .link_btn a {
            font-size: 13px;
            line-height: 50px; }
  footer .copyright {
    text-align: center;
    max-width: none; }
    footer .copyright p {
      display: block; }
      footer .copyright p small {
        display: block;
        font-size: 11px;
        font-weight: 500;
        color: #969696; }
  @media screen and (max-width: 1023px) {
    footer .inner {
      justify-content: center; }
      footer .inner .footer_contact {
        width: 26%; }
      footer .inner .footer_left {
        width: 100%;
        margin: 0 auto 49px; }
        footer .inner .footer_left #footer_sns ul {
          max-width: 252px;
          margin: 0 auto; }
      footer .inner .footer_menu {
        width: 60%;
        margin-left: initial; }
      footer .inner .footer_logo {
        margin: 19px auto 0; } }
  @media screen and (max-width: 767px) {
    footer {
      padding: 13.3333333333vw 0 9.8666666667vw; }
      footer .inner {
        margin-bottom: 10.6666666667vw; }
        footer .inner .footer_menu {
          width: 100%;
          border-top: 1px solid #D8D8D8; }
          footer .inner .footer_menu dl {
            width: 100% !important;
            border-bottom: 1px solid #D8D8D8; }
            footer .inner .footer_menu dl dt {
              font-size: 3.7333333333vw;
              margin: 0;
              padding: 5.8666666667vw 4vw;
              position: relative; }
              footer .inner .footer_menu dl dt::after {
                content: "";
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 0 5px 8px 5px;
                border-color: transparent transparent #000000 transparent;
                position: absolute;
                right: 4.8vw;
                top: calc(50% - 4px);
                transition: .3s;
                transform: rotate(180deg); }
              footer .inner .footer_menu dl dt.active:after {
                transform: rotate(0); }
            footer .inner .footer_menu dl dd {
              display: none;
              margin-bottom: 0;
              border-top: 1px solid #D8D8D8; }
              footer .inner .footer_menu dl dd a {
                padding: 5.8666666667vw 4vw;
                display: block;
                margin-bottom: 0;
                font-size: 3.7333333333vw; }
                footer .inner .footer_menu dl dd a:not(:last-of-type) {
                  border-bottom: 1px solid #D8D8D8; }
        footer .inner .footer_contact {
          width: 100%;
          margin: 0 0 10.6666666667vw; }
          footer .inner .footer_contact dl {
            border-bottom: 1px solid #D8D8D8; }
            footer .inner .footer_contact dl dt {
              font-size: 3.7333333333vw;
              margin: 0;
              padding: 5.8666666667vw 4vw;
              position: relative; }
              footer .inner .footer_contact dl dt::after {
                content: "";
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 0 5px 8px 5px;
                border-color: transparent transparent #000000 transparent;
                position: absolute;
                right: 4.8vw;
                top: calc(50% - 4px);
                transition: .3s;
                transform: rotate(180deg); }
              footer .inner .footer_contact dl dt.active:after {
                transform: rotate(0); }
            footer .inner .footer_contact dl dd {
              display: none;
              margin-bottom: 0;
              border-top: 1px solid #D8D8D8;
              padding: 5.8666666667vw 4vw; }
              footer .inner .footer_contact dl dd p {
                font-size: 3.7333333333vw;
                line-height: 1.8;
                margin-bottom: 4vw; }
                footer .inner .footer_contact dl dd p span {
                  font-size: 3.4666666667vw; }
              footer .inner .footer_contact dl dd .link_btn {
                width: 100%; }
                footer .inner .footer_contact dl dd .link_btn a {
                  font-size: 3.7333333333vw; }
        footer .inner .footer_logo {
          margin: 0 auto; } }

.prescription_sp {
  display: none; }

@media screen and (max-width: 1023px) {
  .prescription_pc {
    display: none; }

  .prescription_sp {
    display: block; } }
@media screen and (max-width: 767px) {
  .prescription_sp {
    margin-bottom: 8vw; } }
#prescription_area {
  width: 100%;
  border: 2px solid #529B84;
  padding: 30px 0; }
  #prescription_area p {
    text-align: center;
    font-size: 24px;
    margin-bottom: 23px; }
    #prescription_area p strong {
      font-size: 28px;
      color: #DB5877;
      font-weight: 700; }
    #prescription_area p span {
      display: block;
      font-size: 20px; }
  #prescription_area .btn_list div {
    width: 77%;
    margin: 0 auto; }
    #prescription_area .btn_list div a {
      display: block;
      border: 3px solid #69C3A7;
      border-radius: 50px;
      line-height: 64px;
      text-align: center;
      color: #fff;
      font-size: 18px;
      font-weight: 500;
      position: relative;
      background: #69C3A7; }
      #prescription_area .btn_list div a::after {
        content: "";
        width: 10px;
        height: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
        position: absolute;
        right: 24px;
        top: calc(50% - 5px); }
    #prescription_area .btn_list div:first-of-type {
      margin-bottom: 13px; }
      #prescription_area .btn_list div:first-of-type a {
        background: #fff;
        color: #58A78E;
        border-color: #58A78E; }
  @media screen and (max-width: 768px) {
    #prescription_area .makeshop-option-select-wrap::before {
      top: calc(50% - 3px); }
    #prescription_area .add-cart {
      margin-bottom: 9.3333333333vw; }
    #prescription_area .border-top::before {
      margin-bottom: 50px; } }
  @media screen and (max-width: 767px) {
    #prescription_area {
      padding: 5.8666666667vw 4.2666666667vw; }
      #prescription_area p {
        font-size: 4vw;
        margin-bottom: 4.5333333333vw; }
        #prescription_area p span {
          font-size: 3.4666666667vw; }
        #prescription_area p strong {
          font-size: 4.8vw; }
      #prescription_area .btn_list div {
        width: 100%; }
        #prescription_area .btn_list div:first-of-type {
          margin-bottom: 2.5333333333vw; }
          #prescription_area .btn_list div:first-of-type a::after {
            border-color: #58A78E; }
        #prescription_area .btn_list div a {
          line-height: 13.3333333333vw;
          border-radius: 6.6666666667vw;
          font-size: 3.4666666667vw; }
          #prescription_area .btn_list div a::after {
            width: 3.2vw;
            height: 3.2vw;
            right: 5.8666666667vw;
            top: calc(50% - 1.6vw); } }

.breadcrumb {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  align-items: center;
  width: 94%;
  max-width: 1150px;
  margin: 0 auto 50px; }
  @media screen and (max-width: 767px) {
    .breadcrumb {
      margin-top: 20px; } }
  .breadcrumb * {
    font-size: 12px;
    color: #262626; }
  .breadcrumb span {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    .breadcrumb span:not(:last-of-type)::after {
      content: "";
      width: 6px;
      height: 6px;
      border-top: 1px solid #262626;
      border-right: 1px solid #262626;
      transform: rotate(45deg);
      margin: 0 20px 0 10px;
      display: inline-block; }
    .breadcrumb span a {
      text-decoration: none; }

.appeal_banner {
  max-width: 1152px;
  width: 94%;
  margin: 0 auto 20px; }

@media screen and (max-width: 767px) {
  .cart-list-table {
    width: 100%; } }
.cart-button-wrap .cart-button a {
  background: #4D779F; }
.cart-button-wrap .amazon-button {
  margin-bottom: 20px;
  display: flex;
  justify-content: flex-end; }
  .cart-button-wrap .amazon-button > div {
    height: 100px !important;
    width: min(320px, 100%) !important; }
    @media screen and (max-width: 767px) {
      .cart-button-wrap .amazon-button > div {
        height: 80px !important;
        width: 100% !important; } }
    .cart-button-wrap .amazon-button > div .amazonpay-button-view1 {
      padding: 15px 0; }

.attention-banner {
  width: min(800px, 92%);
  margin: 40px auto 60px; }
  @media screen and (max-width: 767px) {
    .attention-banner {
      margin: 5.3333333333vw auto 8vw; } }
  .attention-banner .single:not(:left-of-type) {
    margin-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .attention-banner .single:not(:left-of-type) {
        margin-bottom: 3.3333333333vw; } }
  .attention-banner .single img {
    display: block; }

/* 2024.10.10 add ショップレビュー枠 */
/* item_detailからTOP用にコピー */
.review_area {
  width: 94%;
  max-width: 1060px;
  margin: 0 auto 170px;
  padding: 52px 0 57px;
  display: block;
  border: 1px solid #C4C4C4; }

.review_area {
  width: 94%;
  max-width: 1060px;
  margin: 0 auto 170px;
  padding: 52px 0 57px;
  display: block;
  border: 1px solid #C4C4C4; }
  .review_area .ttl_area {
    margin-bottom: 35px; }
    .review_area .ttl_area * {
      text-align: center; }
    .review_area .ttl_area .section_ttl {
      font-size: 16px;
      font-weight: 500;
      margin-bottom: 15px; }
      .review_area .ttl_area .section_ttl span {
        font-family: forma-djr-micro,sans-serif;
        font-weight: 400;
        font-style: normal;
        display: block;
        font-size: 35px;
        font-weight: 700;
        margin-left: 0; }
    .review_area .ttl_area .sub_ttl {
      font-size: 20px;
      font-weight: 500; }
  .review_area .item-review-detail {
    width: 80%;
    margin: 0 auto; }
    .review_area .item-review-detail h3 {
      display: none; }
    .review_area .item-review-detail .item-review-list-link {
      display: none; }
    .review_area .item-review-detail .item-review-list .review-list-unit {
      padding: 30px 50px;
      border-top: 1px solid #C4C4C4;
      margin-bottom: 0; }
      .review_area .item-review-detail .item-review-list .review-list-unit:last-of-type {
        border-bottom: 1px solid #C4C4C4; }
    .review_area .item-review-detail .review-post {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center; }
      .review_area .item-review-detail .review-post a {
        display: block;
        margin: 0; }
        .review_area .item-review-detail .review-post a:first-of-type {
          margin-right: 20px; }
          .review_area .item-review-detail .review-post a:first-of-type::before {
            display: none; }
  .review_area .review-link a {
    font-size: 35px;
    font-weight: 700;
    justify-content: center;
    align-items: baseline; }
    .review_area .review-link a span {
      text-decoration: none;
      font-size: 18px;
      color: #838383; }
  .review_area .review-link .reviewRate {
    margin-right: 15px; }
    .review_area .review-link .reviewRate .reviewRateStar::before {
      font-size: 15px; }

@media screen and (max-width: 1023px) {
  .review_area {
    margin-bottom: 100px; }
    .review_area .item-review-detail {
      width: 90%; }
      .review_area .item-review-detail .item-review-list .review-list-unit {
        padding: 30px; } }
@media screen and (max-width: 767px) {
  .review_area {
    width: 90%;
    padding: 30px 0;
    margin-bottom: 80px; }
    .review_area .ttl_area .section_ttl {
      font-size: 10px; }
      .review_area .ttl_area .section_ttl span {
        font-size: 28px; }
    .review_area .item-review-detail .item-review-list .review-list-unit {
      padding: 20px 10px; }
    .review_area .item-review-detail .review-post {
      margin: 30px auto 0;
      width: 80%; }
      .review_area .item-review-detail .review-post a {
        display: block;
        width: 100%; }
        .review_area .item-review-detail .review-post a:first-of-type {
          margin: 0 0 15px; }
    .review_area .review-link a {
      font-size: 20px; }
    .review_area .review-link .reviewRate {
      margin-right: 8px; }
      .review_area .review-link .reviewRate .reviewRateStar::before {
        font-size: 12px; } }
.item-list-review {
  display: flex;
  align-items: center;
  margin-bottom: 8px; }

.item-list-review .item-list-review-rate {
  margin: 0 6px; }

.index-review-list li {
  display: flex;
  margin-bottom: 60px; }

.index-review-list li .index-review-image {
  margin-right: 18px;
  width: 140px;
  min-width: 140px; }

.index-review-list li .index-review-image img {
  width: 100%; }

.review-list-category {
  margin-bottom: 8px;
  font-size: 12px; }

.review-index-score {
  display: flex;
  align-items: baseline; }

.review-index-score p {
  margin-right: 16px; }

.review-score {
  font-size: 14px; }

.item-point, .review-empty {
  margin-bottom: 20px; }

.item-review {
  font-size: 12px; }

.review-link {
  margin-bottom: 20px; }

.review-link a {
  text-decoration: underline; }

.review-link a:hover {
  text-decoration: none; }

.item-review-detail {
  margin-bottom: 60px; }

.item-review-detail h3 {
  font-size: 18px;
  margin-bottom: 20px; }

.item-review-list li {
  margin-bottom: 60px; }

.item-review-list-link {
  margin-bottom: 30px;
  font-size: 12px; }

.item-review-list-link a {
  text-decoration: underline; }

.item-review-list-link a:hover {
  text-decoration: none; }

.review-list-unit .review-list-name {
  font-size: 14px;
  margin-bottom: 12px; }

.review-list-unit .star-score {
  display: flex;
  align-items: center;
  margin-bottom: 12px; }

.review-list-unit .review-star {
  margin-right: 6px; }

.review-list-unit .review-list-date {
  font-size: 12px;
  color: #B5B5B5;
  margin: 12px 0; }

.review-list-unit .review-list-content {
  font-size: 12px; }

.reviewRateStar {
  display: inline-block;
  font-size: 0;
  color: #FFA41C; }

.reviewRateStar::before {
  font-family: 'Font Awesome 5 Free';
  content: "\f005";
  font-size: 12px;
  font-weight: 900; }

.starOff::before {
  font-family: 'Font Awesome 5 Free';
  content: "\f005";
  font-weight: 400; }

.starHalf::before {
  font-family: 'Font Awesome 5 Free';
  content: "\f5c0"; }

.review-post {
  margin-top: 40px; }

.review-post {
  text-align: center; }

.review-post a {
  width: 260px;
  margin: 0 auto;
  display: inline-block;
  padding: 12px 0;
  border: 1px solid #333333;
  border-radius: 2px;
  text-align: center; }

.review-post a:before {
  font-family: 'Font Awesome 5 Free';
  content: "\f304";
  font-size: 16px;
  font-weight: 900;
  padding-right: 10px;
  color: fff; }

.review-item-wrap {
  border: 1px solid #333333;
  padding: 20px;
  border-radius: 3px;
  display: flex;
  margin-bottom: 60px; }

.review-item-wrap .review-item-image {
  padding-right: 20px;
  width: 120px; }

.review-item-wrap .review-item-image img {
  width: 100%;
  height: 120px;
  object-fit: cover; }

.review-item-info .review-item-category {
  font-size: 12px;
  margin-bottom: 8px; }

.review-item-info .review-item-name {
  font-size: 18px; }

.review-item-info .total-review {
  display: flex;
  align-items: baseline;
  margin-top: 10px; }

.review-item-info .review-star {
  margin-right: 10px; }

.review-item-info .review-average {
  font-size: 20px;
  font-weight: bold; }

.review-item-info .review-count {
  font-size: 12px; }

.review-form-wrap {
  width: 485px;
  margin: 0 auto; }

.review-form {
  display: flex;
  align-items: center;
  margin-bottom: 30px; }

.review-form:last-child {
  margin-bottom: 60px; }

.review-form dt {
  width: 150px;
  text-align: left; }

.review-form .review-form-content {
  width: 100%; }

.review-form dd input {
  border: 1px solid #707070;
  width: 100%; }

.review-form dd .reviewRateStar:before {
  font-size: 18px; }

.review-post-btn {
  border: none !important;
  background: #707070;
  color: #fff; }

/* 追加分 */
.review_area ul {
  list-style: none;
  padding: 0; }

.special_review_ttl {
  position: relative;
  font-size: 26px;
  font-weight: bold; }

.special_review_ttl::before,
.special_review_ttl::after {
  content: "";
  display: inline-block;
  position: relative;
  width: 3px;
  height: 26px;
  bottom: -4px;
  background: #333; }

.special_review_ttl::before {
  margin-right: 10px;
  transform: rotate(-30deg); }

.special_review_ttl::after {
  margin-left: 10px;
  transform: rotate(30deg); }

.special_review_ttl br {
  display: none; }

.item-review-list {
  height: 544px;
  overflow-y: auto; }

@media screen and (max-width: 767px) {
  .special_review_ttl {
    font-size: 16px; }

  .special_review_ttl::before,
  .special_review_ttl::after {
    display: block;
    position: absolute;
    height: 32px;
    bottom: 4px;
    background: #333; }

  .special_review_ttl::before {
    margin-right: 0;
    left: calc(50% - 120px); }

  .special_review_ttl::after {
    margin-left: 0;
    right: calc(50% - 120px); }

  .special_review_ttl br {
    display: block; }

  .item-review-list {
    height: 410px; } }
/* end 2024.10.10 add */
.review_area .average-point {
  margin-bottom: 48px;
  text-align: center; }
  .review_area .average-point p:first-child span {
    font-weight: bold; }
    .review_area .average-point p:first-child span:last-child {
      margin-left: .3em;
      color: #FFA41C;
      font-size: 44px; }
  .review_area .average-point p:last-child {
    font-size: 14px; }

@media screen and (max-width: 767px) {
  .review_area .average-point {
    margin-bottom: 24px; }
    .review_area .average-point p:first-child span:first-child {
      font-size: 16px; }
    .review_area .average-point p:first-child span:last-child {
      font-size: 32px; } }
/*フッタ情報追加_2025.10.24*/
footer .inner .footer_contact .info_day {
  margin-top: 21px; }
  @media screen and (max-width: 767px) {
    footer .inner .footer_contact .info_day {
      border-top: 1px solid #D8D8D8;
      margin-top: 0; } }
  footer .inner .footer_contact .info_day + dd ul {
    list-style: none;
    padding: 0; }
    footer .inner .footer_contact .info_day + dd ul li {
      font-size: 13px;
      margin-bottom: 0.5em; }
      footer .inner .footer_contact .info_day + dd ul li strong {
        display: inline-block;
        font-weight: bold;
        width: 30%; }
    footer .inner .footer_contact .info_day + dd ul + p {
      font-size: 13px;
      margin-bottom: 0; }

/*フッタ情報追加_2026.2.5*/
.tel_ansn {
  font-size: 96%;
  font-weight: bold;
  text-align: center;
  margin-top: 2em; }

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default; } }
