.p-header {
  display: flex;
  align-items: center;
  height: clamp(57px, 5.56vw, 100px);
  border-bottom: 1px solid #ECEEED;
  background-color: #fff;
  gap: 0;
  margin-bottom: 2.2rem; }
  @media (max-width: 768px) {
    .p-header {
      display: grid;
      height: auto;
      grid-template-rows: 5.6rem 3.75rem;
      grid-template-columns: 1fr 5.6rem 5.6rem 5.6rem; } }
  .p-header__logo {
    width: clamp(148px, 12.33vw, 222px);
    margin: 0 clamp(15px, calc(6.25vw - 60px), 60px) 0 20px; }
    @media (max-width: 768px) {
      .p-header__logo {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; } }
    .p-header__logo a {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: clamp(6.67px, 0.56vw, 10px);
      line-height: 1; }
    @media (max-width: 768px) {
      .p-header__logo img {
        width: 12.9rem; } }
    .p-header__logo span {
      margin-bottom: 0;
      font-weight: bold;
      font-size: clamp(0.8rem, 0.67vw, 1.2rem); }
      @media (max-width: 768px) {
        .p-header__logo span {
          display: none; } }
  .p-header__announce {
    color: #5D83C2;
    font-weight: 700;
    font-size: clamp(1.15rem, 0.83vw, 1.5rem);
    letter-spacing: 0.25em;
    margin-left: auto; }
    @media (max-width: 768px) {
      .p-header__announce {
        width: 100%;
        grid-row: 2 / 3;
        grid-column: 1 / 5;
        color: #fff;
        background-color: #6589C5; } }
    .p-header__announce p {
      margin: 0; }
  .p-header__search {
    width: clamp(224.67px, 18.72vw, 337px);
    margin-left: 2.2rem; }
    @media (max-width: 768px) {
      .p-header__search {
        display: none; } }
    .p-header__search.is-fixed {
      z-index: 100;
      position: fixed;
      top: 0; }
  .p-header__search_btn {
    display: flex;
    flex-flow: column;
    align-items: center;
    place-content: center;
    width: clamp(57px, 6.25vw, 100px);
    height: 100%;
    background-color: #D0DBEE;
    font-size: clamp(0.6rem, 0.66vw, 1.2rem);
    margin-left: 1.86rem; }
    @media (max-width: 768px) {
      .p-header__search_btn {
        margin-left: auto;
        grid-row: 1 / 2;
        grid-column: 2 / 3; } }
    .p-header__search_btn img {
      display: block;
      width: clamp(18px, 1.82vw, 33px);
      margin-bottom: 0.37rem; }
      @media (max-width: 768px) {
        .p-header__search_btn img {
          margin-top: 0.37rem; } }
  .p-header__login {
    display: flex;
    flex-flow: column;
    align-items: center;
    place-content: center;
    width: clamp(57px, 6.25vw, 100px);
    height: 100%;
    font-size: clamp(0.6rem, 0.66vw, 1.2rem); }
    @media (max-width: 768px) {
      .p-header__login {
        grid-row: 1 / 2;
        grid-column: 3 / 4; } }
    .p-header__login img {
      display: block;
      width: clamp(25px, 2.48vw, 45px);
      margin-bottom: 0.22rem; }
  .p-header__cart {
    display: grid;
    place-content: center;
    width: clamp(57px, 6.25vw, 100px);
    height: 100%;
    border-left: 1px solid #ECEEED; }
    @media (max-width: 768px) {
      .p-header__cart {
        grid-column: 4 / 5; } }
    .p-header__cart img {
      width: clamp(22px, 2.14vw, 38.5px); }

.c-search-box form {
  position: relative; }
.c-search-box__input {
  width: 100%;
  height: clamp(38px, 2.44vw, 44px);
  min-height: unset;
  padding: 0 1em;
  border: 0;
  border-radius: 0;
  background-color: #E8E8E8;
  line-height: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0; }
.c-search-box__button {
  position: absolute;
  top: 50%;
  right: 1em;
  translate: 0 -50%;
  line-height: 1;
  border: none;
  background: none; }
  .c-search-box__button img {
    width: clamp(16px, 1.02vw, 18.36px); }

.m-main {
  padding-bottom: 16rem !important; }
  @media (max-width: 768px) {
    .m-main {
      padding-bottom: 6rem !important; } }

.p-footer {
  padding-top: 13.7rem; }
  @media (max-width: 768px) {
    .p-footer {
      padding-top: 9.0rem; } }
  .p-footer .container {
    display: flex;
    justify-content: center;
    padding-bottom: 8.0rem; }
    @media (max-width: 768px) {
      .p-footer .container {
        flex-flow: column;
        padding-bottom: 4.5rem; } }
    .p-footer .container .infomation {
      width: 18.975332068311197vw;
      max-width: 30.0rem;
      margin-right: 12.65022137887413vw; }
      @media (max-width: 768px) {
        .p-footer .container .infomation {
          width: 100%;
          max-width: none;
          margin-right: 0;
          order: 3;
          text-align: center; } }
      .p-footer .container .infomation .f_logo {
        width: 20.0rem;
        margin-bottom: 4.0rem; }
        @media (max-width: 768px) {
          .p-footer .container .infomation .f_logo {
            margin: 0 auto 2.0rem; } }
      .p-footer .container .infomation .sns-list {
        display: flex;
        margin-bottom: 4.5rem; }
        @media (max-width: 768px) {
          .p-footer .container .infomation .sns-list {
            justify-content: center; } }
        .p-footer .container .infomation .sns-list li {
          width: 2.8rem;
          border: 1.5px solid #fff;
          border-radius: .5rem;
          margin-right: .7rem; }
          @media (max-width: 768px) {
            .p-footer .container .infomation .sns-list li {
              margin: 0 0.5rem; } }
      .p-footer .container .infomation .f_block dt {
        margin-bottom: 2.0rem; }
    .p-footer .container .manual {
      width: 27.514231499051235vw;
      max-width: 43.5rem; }
      @media (max-width: 768px) {
        .p-footer .container .manual {
          width: 100%;
          order: 1;
          margin-bottom: 7.5rem;
          padding: 0 1.5rem; } }
    .p-footer .container .f_navi {
      width: 20.872865275142317vw;
      max-width: 33.0rem;
      margin-left: 6.325110689437065vw; }
      @media (max-width: 768px) {
        .p-footer .container .f_navi {
          width: 100%;
          max-width: none;
          order: 2;
          margin-left: 0;
          margin-bottom: 7.5rem;
          padding: 0 1.5rem; } }
      .p-footer .container .f_navi ul {
        border-bottom: 1px solid #475971; }
        .p-footer .container .f_navi ul li {
          padding: 2.5rem 0;
          border-top: 1px solid #475971; }
          .p-footer .container .f_navi ul li a {
            font-size: 1.6rem;
            font-weight: bold; }
    .p-footer .container .f_block {
      margin: 0; }
      .p-footer .container .f_block dt {
        margin-bottom: 1.3rem;
        font-size: 1.6rem;
        font-weight: bold; }
      .p-footer .container .f_block dd {
        margin: 0; }
        .p-footer .container .f_block dd + dt {
          margin-top: 4.5rem; }
