@charset "utf-8";

:root {
  --color-main: #3C3837;
  --color-blue: #015FA9;
  --color-dark_blue: #0048A0;
  --color-light_blue: #2CC0E1;
  --color-pink: #D8508E;
  --color-green: #009d4f;
  --color-orange: #f38701;
  --color-purple: #dc5993;
  --color-gray: #9A9A9A;
  --color-middle_gray: #CECECE;
  --color-light_gray: #F2F2F2;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-serif: "Noto Serif JP", serif;
}

* {
  box-sizing: border-box;
  font-feature-settings: "palt";
}

html {
  scroll-behavior: smooth;
  /* scroll-padding-top: min(4rem, 40px); */
  font-size: calc(100vw / 164);
}

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

body {
  font-family: var(--font-sans);
  color: var(--color-main);
  letter-spacing: .1em;
}

body.active {
  height: 100%;
  overflow: hidden;
}

p {
  text-align: justify;
}

img {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  vertical-align: bottom;
}

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

a {
  text-decoration: none;
  transition: opacity .4s;
  color: inherit;
}

@media (hover: hover) {
  a:hover {
    opacity: 0.6;
  }
}

a[href^="#!"] {
  pointer-events: none;
}

a:visited {
}

span {
  display: inline-block;
}

dl, dt, dd {
  all: unset;
  display: block;
}

button {
  all: unset;
  display: block;
}

table {
  border-collapse: collapse;
}

.sp_obj {
  display: none !important;
}

@media (max-width: 794px) {

  html {
    /* scroll-padding-top: 8rem; */
    font-size: calc(100vw / 37.5);
  }

  .sp_obj {
    display: block !important;
  }
  
  .pc_obj {
    display: none !important;
  }
}

/* ----- common ----- */

.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: min(10rem, 100px) 20px;
}

.no_mt {
  margin-top: 0 !important;
}

h2.common_h2 {
  width: 100%;
  height: min(22rem, 220px);
  background-color: var(--color-blue);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(4.8rem, 48px);
  font-weight: 700;
  color: #fff;
}

p.common_txt {
  font-size: min(1.8rem, 18px);
  font-weight: 400;
  line-height: 2;
}

a.common_link {
  margin-top: min(8rem, 80px);
  width: min(30rem, 300px);
  height: min(7.5rem, 75px);
  background-color: var(--color-blue);
  border-radius: 99px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.6rem, 16px);
  font-size: min(2.0rem, 20px);
  font-weight: 500;
  color: #fff;
}

 a.common_link::after {
  content: '';
  display: block;
  width: min(.8rem, 8px);
  height: min(1.4rem, 14px);
  background-image: url(../img/icon_arrow_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

.target {
  transform: translateY(80px);
  opacity: 0;
  transition: all .8s;
}

.target.appear {
  transform: none;
  opacity: 1;
}

@media (max-width: 794px) {
  
  .container {
    padding: 4rem 2rem;
  }

  h2.common_h2 {
    height: 11rem;
    font-size: 2rem;
  }

  p.common_txt {
    font-size: 1.4rem;
  }

  a.common_link {
    margin: 4rem auto 0;
    width: 70%;
    height: 5rem;
    gap: 0;
    font-size: 2rem;
  }
  
   a.common_link::after {
    content: none;
  }
}

/* ----- header -----  */

header {
  width: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 99;
}

header div.header_container {
  max-width: 1640px;
  width: 98%;
  margin: 0 auto;
  padding: min(1.6rem, 16px) 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

header div.header_container h1 a {
  display: flex;
  align-items: center;
  gap: min(1.6rem, 16px);
  font-size: min(4rem, 40px);
  font-weight: 600;
}

header div.header_container h1 a::before {
  content: '';
  display: block;
  width: min(9rem, 90px);
  height: min(8rem, 80px);
  background-image: url(../img/logo_h1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

header div.header_container ul.gnav_ul01 {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: min(1.4rem, 14px);
}

header div.header_container ul.gnav_ul01 a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: min(4.2rem, 42px);
  padding: 0 min(2.4rem, 24px);
  border-radius: 99px;
  border: 1px solid var(--color-blue);
  color: var(--color-blue);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
}

header div.header_container ul.gnav_ul01 li.gnav_li01:not(:first-of-type) a {
  gap: min(.4rem, 4px);
}

header div.header_container ul.gnav_ul01 li.gnav_li01:not(:first-of-type) a::after {
  content: '';
  display: block;
  width: min(3.0rem, 30px);
  height: min(2.4rem, 24px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

header div.header_container ul.gnav_ul01 li.gnav_li01:nth-of-type(2) a::after {
  background-image: url(../img/icon_login.png);
}

header div.header_container ul.gnav_ul01 li.gnav_li01:nth-of-type(3) a::after {
  background-image: url(../img/icon_cart.png);
}

header div.header_container ul.gnav_ul02 {
  margin-top: min(1.4rem, 14px);
  display: flex;
  justify-content: end;
  align-items: center;
  gap: min(3.2rem, 32px);
}

header div.header_container ul.gnav_ul02 a {
  display: block;
  width: fit-content;
  font-size: min(2.0rem, 20px);
  font-weight: 600;
}

@media (max-width: 799px) {
  
  header div.header_container {
    width: 100%;
    margin: 0 auto;
    padding: 1.0rem .8rem;
  }
  
  header div.header_container h1 a {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 2rem;
  }
  
  header div.header_container h1 a::before {
    width: 6rem;
    height: 4rem;
  }
  
  header div.header_container ul.gnav_ul_sp {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 1.2rem;
  }
  
  header div.header_container ul.gnav_ul_sp a {
    display: block;
    width: 4rem;
  }
  
  header div.header_container ul.gnav_ul_sp a.usces_login_a {
    display: none;
  }
}
/* ----- overlay ----- */

@media (max-width: 799px) {
  div.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    background-color: var(--color-gray);
    padding: 4rem 6rem;
    color: #fff;
    opacity: 0;
    pointer-events: none;
    transition: all .8s;
    z-index: 99;
    border-radius: 0 0 6rem 0;
  }

  div.overlay.show {
    opacity: 1;
    pointer-events: auto;
  }

  #close {
    position: fixed;
    display: block;
    width: 4rem;
    height: 4rem;
    top: 1.4rem;
    right: .8rem;
  }

  div.overlay ul.overlay_ul {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  div.overlay li.overlay_li a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2.0rem 0;
    border-bottom: 1px solid var(--color-blue);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-blue);
  }
  
  div.overlay li.overlay_li:first-of-type a {
    pointer-events: none;
  }

  div.overlay li.overlay_li:not(:first-of-type) a {
    font-weight: 500;
    justify-content: start;
    gap: 0.4rem;
    padding-left: .8rem;
    border-bottom: 1px solid #fff;
    color: #fff;
  }
  
  div.overlay li.overlay_li:not(:first-of-type) a::before {
    content: '';
    display: block;
    width: 1.6rem;
    height: 1.2rem;
    background-image: url(../img/icon_arrow_overlay.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
  }
}

/* ----- main ----- */

main {
  padding-top: min(11.2rem, 112px);
}

@media (max-width: 799px) {
  main {
    padding-top: 6.0rem;
  }
}

/* ----- toTop ---- */

#toTop-target {
  position: absolute;
  top: 70%;
}

#toTop {
  position: fixed;
  width: min(4.8rem, 48px);
  height: min(4.8rem, 48px);
  right: 2%;
  bottom: 3%;
  opacity: 0;
  border-radius: 50%;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(-80px);
  pointer-events: none;
  transition: all .8s;
}

#toTop img {
  width: 50%;
}

#toTop.appear {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  transition-delay: .2s;
}

@media (max-width: 799px) {
  #toTop-target {
    top: 50%;
  }

  #toTop {
    width: 4.0rem;
    height: 4.0rem;
    cursor: pointer;
    right: 1%;
    bottom: 2%;
  }
}

/* ----- footer ----- */

footer {
  width: 100%;
  background-color:  var(--color-light_gray);
}

footer div.footer_container {
  max-width: 1640px;
  width: 98%;
  margin: 0 auto;
  padding: min(10rem, 100px) 0 min(4rem, 40px);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer div.footer_container div.contact_area {
  position: relative;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: min(2rem, 20px);
}

footer div.footer_container div.contact_area p.footer_txt {
  position: absolute;
  top: -80%;
  left: 0;
  font-size: min(2.0rem, 20px);
  font-weight: 500;
  line-height: 1.2;
}

footer div.footer_container div.contact_area a.footer_mail {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2.4rem, 24px);
  width: min(35rem, 350px);
  height: min(7.5rem, 75px);
  border-radius: 99px;
  background-color: var(---color-blue);
  font-size: min(2.3rem, 23px);
  font-weight: 500;
  color: var(--color-blue);
  border: 2px solid var(--color-blue);
}

footer div.footer_container div.contact_area a.footer_mail::before {
  content: '';
  display: block;
  width: min(4.6rem, 46px);
  height: min(3.5rem, 35px);
  background-image: url(../img/icon_mail.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

footer div.footer_container div.contact_area a.footer_mail::after {
  content: '';
  display: block;
  width: min(.8rem, 8px);
  height: min(1.4rem, 14px);
  background-image: url(../img/icon_arrow_blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

footer div.footer_container div.contact_area a.footer_phone {
  width: fit-content;
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  text-align: center;
}

footer div.footer_container div.contact_area a.footer_phone span {
  font-size: min(4.2rem, 42px);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: min(0.4rem, 4px);
  margin-bottom: min(.8rem, 8px);
}

footer div.footer_container div.contact_area a.footer_phone span:before {
  content: '';
  display: block;
  width: min(6.0rem, 60px);
  height: min(3.4rem, 34px);
  background-image: url(../img/icon_freeDial.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

footer div.footer_container nav.footer_nav {
  display: flex;
  flex-direction: column;
  gap: min(2rem, 20px);
}

footer div.footer_container nav.footer_nav ul.footer_ul {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 0;
}

footer div.footer_container ul.footer_ul a {
  display: block;
  width: fit-content;
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  padding: min(0.4rem, 4px) min(.8rem, 8px);
  border-right: 1px solid var(--color-main);
}

footer div.footer_container li.footer_li:last-of-type a {
  border-right: none;
}

footer div.footer_container02 {
  background-color: #fff;
  padding: min(2rem, 20px) 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

footer div.footer_container02 h1 {
  width: fit-content;
}

footer div.footer_container02 h1 a {
  font-size: min(3.0rem, 30px);
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(0.8rem, 8px);
}

footer div.footer_container02 h1 a::before {
  content: '';
  display: block;
  width: min(6.6rem, 66px);
  height: min(6.0rem, 60px);
  background-image: url(../img/logo_h1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

footer div.footer_container02 h1 span {
  display: block;
  font-size: min(1.2rem, 12px);
  text-align: center;
  margin-top: min(1.6rem, 16px);
}

@media (max-width: 799px) {
  
  footer div.footer_container {
    width: 100%;
    margin: 0 auto;
    padding: 4rem 2rem;
    flex-direction: column;
    gap: 2rem;
  }
  
  footer div.footer_container div.contact_area {
    width: 100%;
    flex-direction: column;
    gap: 2rem;
  }
  
  footer div.footer_container div.contact_area p.footer_txt {
    position: static;
    font-size: 1.6rem;
    text-align: center;
  }
  
  footer div.footer_container div.contact_area a.footer_mail {
    margin: 0 auto;
    gap: 0;
    width: 25rem;
    height: 5rem;
    font-size: 2.3rem;
    border: .2rem solid var(--color-blue);
  }
  
  footer div.footer_container div.contact_area a.footer_mail::before {
    content: none;
  }
  
  footer div.footer_container div.contact_area a.footer_mail::after {
    content: none;
  }
  
  footer div.footer_container div.contact_area a.footer_phone {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
    padding-bottom: 1.6rem;
    border-bottom: .1rem solid var(--color-main);
    letter-spacing: 0.04em;
  }
  
  footer div.footer_container div.contact_area a.footer_phone span {
    font-size: 3.8rem;
    font-weight: 500;
    gap: 0.4rem;
    margin-bottom: 0.8rem;
    letter-spacing: -0.01em;
  }
  
  footer div.footer_container div.contact_area a.footer_phone span:before {
    width: 5rem;
    height: 2.8rem;
  }
  
  footer div.footer_container nav.footer_nav {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  
  footer div.footer_container nav.footer_nav ul.footer_ul {
    flex-direction: column;
    justify-content: center;
    align-items: start;
    gap: 2rem;
  }
  
  footer div.footer_container ul.footer_ul a {
    display: block;
    width: 100%;
    font-size: 1.6rem;
    padding: 0;
    border-right: none;
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }
  
  footer div.footer_container li.footer_li a::before {
    content: '';
    display: block;
    width: 1.4rem;
    height: 1.2rem;
    background-image: url(../img/icon_arrow_footer.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
  }
  
  footer div.footer_container02 {
    padding: 4rem 0;
  }
  
  footer div.footer_container02 h1 a {
    font-size: 2.5rem;
    gap: 0.4rem;
  }
  
  footer div.footer_container02 h1 a::before {
    width: 5rem;
    height: 4rem;
  }
  
  footer div.footer_container02 h1 span {
    font-size: 1rem;
    margin-top: 0.8rem;
  }
}

/* ----- index.html ----- */

main.index section.mv {
  width: 100%;
  height: min(80rem, 800px);
  background-image: url(../img/_index/bg_mv_pc.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
}

main.index section.mv div.mv_conts {
  position: absolute;
  width: min(100rem, 10000px);
  padding: 0 20px;
  height: fit-content;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

main.index section.mv div.mv_conts a.order_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(63rem, 630px);
  height: min(13rem, 130px);  
  margin: 0 auto;
  border-radius: min(2.0rem, 20px);
  background-color: #fff;
  color: var(--color-blue);
  font-size: min(4.0rem, 40px);
  font-weight: 600;
  border: min(.2rem, 2px) solid var(--color-blue);
  position: relative;
}

main.index section.mv div.mv_conts a.order_btn::after {
  content: '';
  display: block;
  position: absolute;
  background-image: url(../img/icon_arrow_blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.8rem, 18px);
  height: min(3.2rem, 32px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translate(-200%, 10%);
}

main.index section.mv div.mv_conts div.account_area {
  margin: min(6rem, 60px) auto 0;
  width: min(63rem, 630px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(2.4rem, 24px);
}

main.index section.mv div.mv_conts div.account_area a.account_btn {
  height: min(7.6rem, 76px);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 99px;
  font-size: min(2.0rem, 20px);
  font-weight: 500;
  border: min(.2rem, 2px) solid var(--color-pink);
  background-color: var(--color-pink);
  color: #fff;
  position: relative;
}

main.index section.mv div.mv_conts div.account_area a.account_btn:last-of-type {
  background-color: #fff;
  color: var(--color-pink);
}

main.index section.mv div.mv_conts div.account_area a.account_btn::after {
  content: '';
  display: block;
  position: absolute;
  background-image: url(../img/icon_arrow_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.0rem, 10px);
  height: min(1.4rem, 14px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translate(-200%, 10%);
}

main.index section.mv div.mv_conts div.account_area a.account_btn:last-of-type::after {
  background-image: url(../img/icon_arrow_red.png);
}

main.index section.mv div.mv_conts div.news_area {
  margin-top: min(6rem, 60px);
  width: 100%;
  padding: min(4rem, 40px);
  border-radius: min(1rem, 10px);
  background-color: #fff;
  border: .1rem solid #D6D6D6;
}

main.index section.mv div.mv_conts div.news_area p.news_ttl {
  font-size: min(2rem, 20px);
  font-weight: 700;
  color: var(--color-blue);
  padding-bottom: min(1rem, 10px);
  border-bottom: min(.1rem, 1px) solid var(--color-blue);
}

main.index section.mv div.mv_conts div.news_area dl.news_lists {
  margin-top: min(2rem, 20px);
  display: flex;
  flex-direction: column;
  gap: min(1.6rem, 16px);
}

main.index section.mv div.mv_conts div.news_area dl.news_lists a.news_list_wrap {
  display: flex;
  align-items: start;
  gap: 0;
}

main.index section.mv div.mv_conts div.news_area dl.news_lists a.news_list_wrap dt.news_dt {
  width: min(12rem, 120px);
  font-size: min(1.4rem, 14px);
  line-height: 1.4;
}

main.index section.mv div.mv_conts div.news_area dl.news_lists a.news_list_wrap dd.news_dd {
  flex: 1;
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  line-height: 1.4;
}

@media (max-width: 799px) {
  main.index section.mv {
    height: auto;
    background-image: url(../img/_index/bg_mv_sp.png);
    background-size: 100%;
    background-position: top center;
    background-repeat: no-repeat;
  }
  
  main.index section.mv p.mv_ttl span {
    width: 100%;
    height: 3rem;
    background-color: var(--color-blue);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
  }
  
  main.index section.mv div.mv_conts {
    position: static;
    width: 100%;
    padding: 4rem 2rem;
    height: fit-content;
  }
  
  main.index section.mv div.mv_conts a.order_btn {
    width: 25rem;
    height: 10rem;
    margin: 0 auto;
    border-radius: 1rem;
    font-size: 2rem;
    line-height: 1.4;
    border: .2rem solid var(--color-blue);
    text-align: center;
  }
  
  main.index section.mv div.mv_conts a.order_btn::after {
    width: 0.9rem;
    height: 1.6rem;
    transform: translate(-200%, 10%);
  }
  
  main.index section.mv div.mv_conts div.account_area {
    margin: 3rem auto 0;
    width: 25rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  main.index section.mv div.mv_conts div.account_area a.account_btn {
    height: 5rem;
    font-size: 2rem;
    border: .2rem solid var(--color-pink);
  }
  
  main.index section.mv div.mv_conts div.account_area a.account_btn::after {
    width: 0.8rem;
    height: 1.4rem;
    transform: translate(-100%, 10%);
  }
  
  main.index section.mv div.mv_conts div.news_area {
    margin-top: 3rem;
    width: 100%;
    padding: 2rem 1rem;
    border-radius: 1rem;
  }
  
  main.index section.mv div.mv_conts div.news_area p.news_ttl {
    font-size: 1.8rem;
    padding-bottom: 1rem;
    border-bottom: .1rem solid var(--color-blue);
  }
  
  main.index section.mv div.mv_conts div.news_area dl.news_lists {
    margin-top: 2rem;
    gap: 2rem;
  }
  
  main.index section.mv div.mv_conts div.news_area dl.news_lists a.news_list_wrap {
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
  
  main.index section.mv div.mv_conts div.news_area dl.news_lists a.news_list_wrap dt.news_dt {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1;
  }
  
  main.index section.mv div.mv_conts div.news_area dl.news_lists a.news_list_wrap dd.news_dd {
    flex: none;
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

/* ----- about.html ----- */

main.about section.about {
  width: 100%;
}

main.about p.about_lead {
  font-size: min(4.0rem, 40px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-blue);
}

main.about h3.about_h3 {
  margin-top: min(5rem, 50px);
  font-size: min(3.2rem, 32px);
  font-weight: 7000;
  padding: min(.4rem, 4px)  0 min(.4rem, 4px) min(1.2rem, 12px);
  border-left: 5px solid var(--color-blue);
}

main.about h3.about_h3:last-of-type {
  margin-top: min(14rem, 140px);
}

main.about div.about_wrap {
  margin-top: min(5rem, 50px);
  display: flex;
  align-items: start;
  gap: min(5rem, 50px);
}

main.about div.about_wrap div.txt_area {
  flex: 1;
}

main.about div.about_wrap div.txt_area p.about_txt {
  font-size: min(2.8rem, 28px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: .1em;
}

main.about div.about_wrap div.img_area {
  width: 46%;
} 

main.about dl.about_dl {
  margin-top: min(4rem, 40px);
  display: flex;
  flex-direction: column;
  gap: min(0.4rem, 4px);
} 

main.about dl.about_dl div.dl_wrap {
  display: flex;
  align-items: stretch;
  gap: min(.4rem, 4px);
} 

main.about dl.about_dl div.dl_wrap dt.about_dt {
  width: min(28rem, 280px);
  padding: min(3.2rem, 32px) 0;
  background-color: var(--color-light_gray);
  font-size: min(2.0rem, 20px);
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

main.about dl.about_dl div.dl_wrap dd.about_dd {
  flex: 1;
  font-size: min(2.0rem, 20px);
  vertical-align: middle;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: min(3.2rem, 32px);
  line-height: 1.4;
}

main.about dl.about_dl div.dl_wrap:first-of-type dt.about_dt, 
main.about dl.about_dl div.dl_wrap:first-of-type dd.about_dd {
  border-top: 1px solid #ccc;
}

@media (max-width: 799px) {
  
  main.about p.about_lead {
    font-size: 2rem;
    line-height: 1.4;
  }
  
  main.about h3.about_h3 {
    margin-top: 3.2rem;
    font-size: 1.6rem;
    padding: .4rem  0 .4rem .8rem;
    border-left: .5rem solid var(--color-blue);
  }
  
  main.about h3.about_h3:last-of-type {
    margin-top: 6rem;
  }
  
  main.about div.about_wrap {
    margin-top: 4rem;
    flex-direction: column;
    gap: rem;
  }
  
  main.about div.about_wrap div.txt_area {
    width: 100%;
  }
  
  main.about div.about_wrap div.txt_area p.about_txt {
    font-size: 1.4rem;
  }
  
  main.about div.about_wrap div.img_area {
    width: 100%;
  } 
  
  main.about dl.about_dl {
    margin-top: 4rem;
    display: flex;
    flex-direction: column;
    gap: 0;
  } 
  
  main.about dl.about_dl div.dl_wrap {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-top: -1px;
  } 
  
  main.about dl.about_dl div.dl_wrap dt.about_dt {
    width: 30%;
    padding: 1.6rem 0;
    font-size: 1.3rem;
    border: 1px solid #ccc;
    line-height: 1.4;
    text-align: center;
  }
  
  main.about dl.about_dl div.dl_wrap dd.about_dd {
    flex: 1;
    font-size: 1.3rem;
    border: 1px solid #ccc;
    padding: 1.6rem;
    line-height: 1.4;
    margin-left: -1px;
  }
  
  main.about dl.about_dl div.dl_wrap:first-of-type dt.about_dt, 
  main.about dl.about_dl div.dl_wrap:first-of-type dd.about_dd {
    border-top: 1px solid #ccc;
  }
}

/* ----- trade.html ----- */

main.trade section.trade {
  width: 100%;
}

main.trade section.trade h3.trade_h3 {
  font-size: 32px;
  font-weight: 700;
  padding-bottom: min(2rem, 20px);
  border-bottom: min(.4rem, 4px) solid var(--color-blue);
}

main.trade section.trade h3.trade_h3:last-of-type {
  margin-top: min(15rem, 150px);
}

main.trade section.trade p.trade_ttl {
  margin-top: min(4rem, 40px);
  font-size: min(1.8rem, 18px);
  font-weight: 700;
}

main.trade section.trade p.trade_txt {
  margin-top: min(0.8rem, 8px);
  font-size: min(1.8rem, 18px);
  line-height: 1.6;
  padding-left: .5em;
  text-indent: -.5em;
}

main.trade section.trade p.trade_txt.trade_txt02 {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

main.trade section.trade p.trade_txt:first-of-type {
  margin-top: min(4rem, 40px);
}

@media (max-width: 799px) {
  
  main.trade section.trade h3.trade_h3 {
    font-size: 2rem;
    padding-bottom: 0.8rem;
    border-bottom: .3rem solid var(--color-blue);
  }
  
  main.trade section.trade h3.trade_h3:last-of-type {
    margin-top: 8rem;
  }
  
  main.trade section.trade p.trade_ttl {
    margin-top: 2rem;
    font-size: 1.4rem;
  }
  
  main.trade section.trade p.trade_txt {
    margin-top: 0.8rem;
    font-size: 1.4rem;
    line-height: 1.6;
    padding-left: .5em;
    text-indent: -.5em;
  }
  
  main.trade section.trade p.trade_txt.trade_txt02 {
    padding-left: 1.5em;
    text-indent: -1.5em;
  }
  
  main.trade section.trade p.trade_txt:first-of-type {
    margin-top: 2rem;
  }
}

/* ----- inner ----- */

main.inner section.mv {
  width: 100%;
  background-image: url(../img/bg_inner_mv_pc.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center;
}

main.inner section.mv h2.inner_h2 {
  color: #fff;
  font-size: min(4.0rem, 40px);
  font-weight: 600;
  text-align: center;
}

main.inner section.mv div.mv_conts {
  margin-top: min(6.0rem, 60px);
}

.inner_link {
  display: block;
  margin: min(3.2rem, 32px) auto 0;
  width: min(50rem, 500px);
  padding: min(2.4rem, 24px) 0;
  text-align: center;
  background-color: var(--color-pink);
  font-size: min(3.0rem, 30px);
  font-weight: 600;
  color: #fff;
  position: relative;
  cursor: pointer;
  border-radius: 99px;
  transition: all .8s;
}

@media (hover: hover) {
  .inner_link:hover {
    opacity: .6;
  }
}

.inner_link:after {
  content: '';
  display: block;
  position: absolute;
  background-image: url(../img/icon_arrow_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(1.2rem, 12px);
  height: min(2.4rem, 24px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-300%);
}

.inner_back_link {
  margin: min(1.6rem, 16px) auto 0;
  width: min(30rem, 300px);
  height: min(4rem, 40px);
  background-color: #DDDDDD;
  font-size: min(2.0rem, 20px);
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .8s;
}

@media (hover: hover) {
  .inner_back_link:hover {
    opacity: .6;
  }
}

div.inner_pasing {
  margin: min(8rem, 80px) auto 0;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2rem, 20px);
}

div.inner_pasing button.inner_link02, 
div.inner_pasing button.pasing_btn {
  width: min(36rem, 360px);
  height: min(8rem, 80px);
  font-size: min(2.0rem, 20px);
  font-weight: 600;
  color: #fff;
  background-color: var(--color-pink);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all .8s;
}

div.inner_pasing input {
	width: min(36rem, 360px);
	height: min(8rem, 80px);
	font-size: min(2.0rem, 20px);
	font-weight: 600;
	color: #fff;
	background-color: var(--color-pink);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border: none;
	transition: all .8s;
  background-image: url(../img/icon_arrow_white.png);
  background-size: min(1.2rem, 12px);
  background-repeat: no-repeat;
  background-position: right min(2.4rem, 24px) center;
  border-radius: min(1rem, 10px);
}

div.inner_pasing input:after {
  content: '';
  display: block;
  position: absolute;
  width: min(1.2rem, 12px);
  height: min(2.4rem, 24px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-300%);
}

div.inner_pasing input.continue_shopping_button {
	width: min(36rem, 360px);
	height: min(8rem, 80px);
	font-size: min(2.0rem, 20px);
	font-weight: 600;
	color: #fff;
	background-color: var(--color-gray);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border: none;
  border-radius: min(1rem, 10px);
	transition: all .8s;
  background-image: url(../img/icon_arrow_left_white.png);
  background-size: min(1.2rem, 12px);
  background-repeat: no-repeat;
  background-position: left min(2.4rem, 24px) center;
}

@media (hover: hover) {
  div.inner_pasing button.pasing_btn:hover {
    opacity: .6;
  }
}

div.inner_pasing button.inner_link02:first-of-type {
  background-color: var(--color-gray);
}

div.inner_pasing button.inner_link02::after,
div.inner_pasing button.pasing_btn::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(../img/icon_arrow_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(1.2rem, 12px);
  height: min(2.4rem, 24px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-300%);
}

div.inner_pasing button.inner_link02:first-of-type::after {
  background-image: url(../img/icon_arrow_white_left.png);
  right: auto;
  left: 0;
  transform: translateX(300%);
}

p.inner_lead {
  font-size: min(4.0rem, 40px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-blue);
  line-height: 1.6;
}

h3.inner_h3 {
  margin-top: min(8rem, 80px);
  font-size: min(3.2rem, 32px);
  font-weight: 700;
  padding: min(.4rem, 4px) 0 min(.4rem, 4px) min(1.2rem, 12px);
  border-left: 5px solid var(--color-blue);
}

h4.inner_h4 {
  margin-top: min(6rem, 60px);
  font-size: min(2.8rem, 28px);
  font-weight: 700;
}

p.inner_txt {
  margin-top: min(2rem, 20px);
  font-size: min(2.4rem, 24px);
  line-height: 2.0;
}

@media (max-width: 799px) {

  main.inner p.mv_ttl span {
    width: 100%;
    height: 3rem;
    background-color: var(--color-blue);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
  }

  main.inner section.mv {
    background-image: url(../img/bg_inner_mv_sp.png);
  }
  
  main.inner section.mv h2.inner_h2 {
    font-size: 1.6rem;
  }
  
  main.inner section.mv div.mv_conts {
    margin-top: 4rem;
  }
  
  .inner_link {
    margin: 2.4rem auto 0;
    width: 100%;
    padding: 1.6rem 0;
    font-size: 1.6rem;
  }
  
  .inner_link:after {
    width: 0.8rem;
    height: 1.6rem;
    transform: translateX(-200%);
  }

  .inner_back_link {
    margin: 2rem auto 0;
    width: 20rem;
    height: 4rem;
    font-size: 1.6rem;
  }
		
  div.inner_pasing {
    margin: 4rem auto 0;
    width: 100%;
    flex-direction: column;
    gap: 0rem;
  }
  
  div.inner_pasing a.inner_link02, 
  div.inner_pasing button.pasing_btn {
    width: 25rem;
    height: 5rem;
    font-size: 2rem;
  }
  
  div.inner_pasing a.inner_link02::after,
  div.inner_pasing button.pasing_btn::after {
    width: 0.6rem;
    height: 1.2rem;
    transform: translateX(-300%);
  }
  
  div.inner_pasing a.inner_link02:first-of-type::after {
    background-image: url(../img/icon_arrow_white_left.png);
    transform: translateX(300%);
  }

  div.inner_pasing input.continue_shopping_button {
    margin: 0 auto;
    width: 90%;
    height: 5rem;
    font-size: 1.6rem;
    border-radius: .5rem;
    background-size: .8rem;
    background-position: left 1.6rem center;
  }

  div.inner_pasing input {
    width: 90%;
    height: 5rem;
    font-size: 1.6rem;
    background-size: .8rem;
    background-position: right 1.6rem center;
    border-radius: .5rem;
  }

  p.inner_lead {
    font-size: 2.0rem;
    line-height: 1.4;
  }
  
  h3.inner_h3 {
    margin-top: 4rem;
    font-size: 1.8rem;
    padding: .4rem 0 .4rem 1.2rem;
    border-left: .5rem solid var(--color-blue);
  }
  
  h4.inner_h4 {
    margin-top: 4rem;
    font-size: 1.6rem;
  }
  
  p.inner_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
}

/* ----- large.html ----- */

main.large div.large_map {
  width: min(100rem, 1000px);
  margin: 0 auto;
}

main.large div.large_select_area {
  margin-top: min(6.0rem, 60px);
  width: 100%;
  background-color: #fff;
  padding: min(4rem, 40px) min(3.2rem, 32px) min(13rem, 130px);
  border-radius: 10px;
  border: min(.2rem, 2px) solid var(--color-blue);
}

main.large div.large_select_area p.large_select_note {
  font-size: min(2.5rem, 25px);
  font-weight: 600;
  color: #0175C2;
  text-align: center;
}

main.large div.large_select_area div.large_select_wrap {
  margin-top: min(2rem, 20px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: center;
  align-items: self-start;
  gap: min(1.6rem, 16px);
}

main.large div.large_select_area div.large_select_item {
  position: relative;
}

main.large div.large_select_area div.large_select_item input[type="radio"] {
  display: none;
}

main.large div.large_select_area div.large_select_item label {
  display: block;
  padding: min(2.4rem, 24px) 0;
  border: min(.2rem, 2px) solid var(--color-orange);
  border-radius: 10px 10px 0 0;
  background-color: var(--color-orange);
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  color: #fff;
  text-align: center;
  cursor: pointer;
  position: relative;
  margin-bottom: 0;
}

main.large div.large_select_area div.large_select_item label::before {
  position: absolute;
  content: '';
  display: block;
  width: min(2.5rem, 25px);
  height: min(2.5rem, 25px);
  border-radius: 50%;
  background-color: #fff;
  top: 0;
  bottom: 0;
  margin: auto;
  left: min(-3rem, -30px);
  transform: translateX(200%);
}

main.large div.large_select_area div.large_select_item input[type="radio"]:checked + label::after {
  display: block;
  content: '';
  position: absolute;
  width: min(1.6rem, 16px);
  height: min(1.6rem, 16px);
  border-radius: 50%;
  background-color: var(--color-orange);
  top: 0;
  bottom: 0;
  margin: auto;
  left: min(-3rem, -30px);
  transform: translateX(341%);
}

main.large div.large_select_area div.large_select_item:nth-of-type(2) input[type="radio"]:checked + label::after {
  background-color: var(--color-green);
}

main.large div.large_select_area div.large_select_item:nth-of-type(3) input[type="radio"]:checked + label::after {
  background-color: #227fc4;
}

main.large div.large_select_area div.large_select_item:nth-of-type(4) input[type="radio"]:checked + label::after {
  background-color: var(--color-purple);
}

main.large div.large_select_area div.large_select_item:nth-of-type(2) label {
  border: min(.2rem, 2px) solid var(--color-green);
  background-color: var(--color-green);
}

main.large div.large_select_area div.large_select_item:nth-of-type(3) label {
  border: min(.2rem, 2px) solid #227fc4;
  background-color: #227fc4;
}

main.large div.large_select_area div.large_select_item:nth-of-type(4) label {
  border: min(.2rem, 2px) solid var(--color-purple);
  background-color: var(--color-purple);
}

main.large div.large_select_area div.large_select_item span {
  display: block;
  background-color: #fff;
  border: min(.2rem, 2px) solid var(--color-orange);
  border-radius: 0 0 10px 10px;
  padding: min(1.2rem, 12px) 0;
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  color: var(--color-orange);
  text-align: center;
  letter-spacing: 0;
}

main.large div.large_select_area div.large_select_item:nth-of-type(2) span {
  border: min(.2rem, 2px) solid var(--color-green);
  color: var(--color-green);
}

main.large div.large_select_area div.large_select_item:nth-of-type(3) span {
  border: min(.2rem, 2px) solid #227fc4;
  color: #227fc4;
}

main.large div.large_select_area div.large_select_item:nth-of-type(4) span {
  border: min(.2rem, 2px) solid var(--color-purple);
  color: var(--color-purple);
}

main.large div.large_select_area div.large_select_item:nth-of-type(4) small.large_select_note {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(120%);
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  color: var(--color-purple);
  line-height: 1.2;
  padding-left: 1em;
  text-indent: -1em;
}

@media (max-width: 799px) {
  main.large div.large_map {
    width: 100%;
  }
  
  main.large div.large_select_area {
    margin-top: 4rem;
    padding: 3rem 2rem 10rem;
    border-radius: 10px;
    border: .1rem solid var(--color-blue);
  }

  main.large div.large_select_area p.large_select_note {
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.6;
  }
  
  main.large div.large_select_area div.large_select_wrap {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  main.large div.large_select_area div.large_select_item label {
    padding: 1.0rem 0;
    border: .1rem solid var(--color-orange);
    border-radius: 8px 8px 0 0;
    font-size: 2.0rem;
  }
  
  main.large div.large_select_area div.large_select_item:nth-of-type(2) label {
    border: .1rem solid var(--color-green);
  }

  main.large div.large_select_area div.large_select_item:nth-of-type(3) label {
    border: .1rem solid #227fc4;
  }

	  main.large div.large_select_area div.large_select_item:nth-of-type(4) label {
    border: .1rem solid var(--color-purple);
  }
  main.large div.large_select_area div.large_select_item label::before {
    width: 2.4rem;
    height: 2.4rem;
    transform: translateX(200%);
  }
  
  main.large div.large_select_area div.large_select_item input[type="radio"]:checked + label::after {
				width: 1.5rem;
				height: 1.5rem;
				transform: translateX(350%);
  }
  
  main.large div.large_select_area div.large_select_item span {
    border: .1rem solid var(--color-orange);
    border-radius: 0 0 8px 8px;
    padding: 1.0rem 0;
    font-size: 1.6rem;
  }
  
  main.large div.large_select_area div.large_select_item:nth-of-type(2) span {
    border: .1rem solid var(--color-green);
  }
  
  main.large div.large_select_area div.large_select_item:nth-of-type(3) span {
    border: .1rem solid #227fc4;
  }
  main.large div.large_select_area div.large_select_item:nth-of-type(4) span {
    border: .1rem solid var(--color-purple);
  }

  main.large div.large_select_area div.large_select_item:nth-of-type(4) small.large_select_note {
    transform: translateY(120%);
    font-size: 1.2rem;
    line-height: 1.2;
  }
}

/* ----- category.html ----- */

main.category div.select_area {
  margin-top: min(6.0rem, 60px);
  width: 100%;
}

main.category div.category_select_area div.category_box {
  margin: 0 auto;
  width: min(100rem, 1000px);
  padding: min(6rem, 60px) 0;
  background-color: #fff;
  border-radius: min(2rem, 20px);
  border: min(0.2rem, 2px) solid #0175C2;
} 

main.category div.category_select_area div.category_select_wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(5rem, 50px);
  width: min(68rem, 680px);
  margin: 0 auto;
}

main.category div.category_select_area div.category_select_wrap div.category_select_item {
  width: 100%;
}

main.category div.category_select_area div.category_select_item input[type="radio"] {
  display: none;
}

main.category div.category_select_area div.category_select_item label {
  width: 100%;
  height: min(13rem, 130px);
  border-radius: 5px;
  background-color: var(--color-dark_blue);
  font-size: min(3rem, 30px);
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  gap: min(2.4rem, 24px);
  cursor: pointer;
  position: relative;;
}

main.category div.category_select_area div.category_select_item label::before {
  position: absolute;
  content: '';
  display: block;
  width: min(2.5rem, 25px);
  height: min(2.5rem, 25px);
  border-radius: 50%;
  background-color: #fff;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(200%);
}

main.category div.category_select_area div.category_select_item input[type="radio"]:checked + label::after {
  display: block;
  content: '';
  position: absolute;
  width: min(1.6rem, 16px);
  height: min(1.6rem, 16px);
  border-radius: 50%;
  background-color: var(--color-dark_blue);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(340%);
}

main.category div.category_select_area div.category_select_item span {
  width: min(34rem, 340px);
  height: min(10rem, 100px);
}

main.category div.category_select_area div.category_select_item span img {
  width: auto;
  height: 100%;
  margin-left: auto;
}

main.category .inner_link {
  margin-top: min(5rem, 50px);
}

@media (max-width: 799px) {
  main.category div.select_area {
    margin-top: 4rem;
  }

  main.category div.category_select_area div.category_box {
    width: 100%;
    padding: 2.4rem;
    border-radius: 1rem;
    border: .1rem solid #0175C2;
  }
  
  main.category div.category_select_area div.category_select_wrap {
    gap: 2.4rem;
    width: 100%;
  }
  
  main.category div.category_select_area div.category_select_item label {
    width: 100%;
    height: 8rem;
    border-radius: 5px;
    font-size: 2rem;
    gap: 1.6rem;
  }
  
  main.category div.category_select_area div.category_select_item label::before {
    width: 2.4rem;
    height: 2.4rem;
    transform: translateX(100%);
  }
  
  main.category div.category_select_area div.category_select_item input[type="radio"]:checked + label::after {
    width: 1.4rem;
    height: 1.4rem;
    transform: translateX(208%);
  }
  
  main.category div.category_select_area div.category_select_item span {
    width: 50%;
    height: 5rem;
  }
  
  main.category .inner_link {
    margin-top: 2.4rem;
  }
}

/* ----- size.html ----- */

main.size div.size_select_area div.size_select_wrap {
  width: min(100rem, 1000px);
  margin: 0 auto;
  padding: min(6rem, 60px) min(4rem, 40px);
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(3.2rem, 32px);
  position: relative;
  border-radius: min(2rem, 20px);
  border: min(0.2rem, 2px) solid #0175C2;
}

main.size div.size_select_area div.size_select_wrap p.size_note {
  position: absolute;
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
  top: 0;
  right: 0;
  transform: translateY(-180%);
  cursor: pointer;
}

main.size div.size_select_area div.size_attention {
	max-width: min(100rem, 1000px);
	margin: 0 auto;
	color: #fff;
	font-size: min(1.6rem, 16px);
	text-align: center !important;
  margin-bottom: min(1.5rem, 15px);
}
main.size div.size_select_area div.size_attention p {
	text-align: center !important;
	line-height:1.5;
}
main.size div.size_select_area div.size_attention p.size_attention_ttl {
	border-bottom: 1px solid #fff;
	display: inline;
}

main.size div.size_select_area div.size_attention p.size_attention_txt {
  margin-top: min(1rem, 10px);
}

@media (max-width: 794px) {
main.size div.size_select_area div.size_attention p.size_attention_txt {
	font-size: 1.4rem;
}
}
main.size div.size_select_area div.size_select_wrap div.size_select_item {
  width: 100%;
}

main.size div.size_select_area div.size_select_wrap div.size_select_item.invisible {
  opacity: 0;
  pointer-events: none;
}

main.size div.size_select_area div.size_select_item input[type="radio"] {
  display: none;
}

main.size div.size_select_area div.size_select_item label {
  width: 100%;
  height: min(10rem, 100px);
  border-radius: 5px;
  background-color: var(--color-light_blue);
  font-size: min(3rem, 30px);
  font-weight: 600;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(0.8rem, 8px);
  cursor: pointer;
  position: relative;;
}

main.size div.size_select_area div.size_select_item label span {
  font-size: min(2.0rem, 20px);
  font-weight: 600;
  color: #fff;
  text-align: center;
}

main.size div.size_select_area div.size_select_item label::before {
  position: absolute;
  content: '';
  display: block;
  width: min(2.5rem, 25px);
  height: min(2.5rem, 25px);
  border-radius: 50%;
  background-color: #fff;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(200%);
}

main.size div.size_select_area div.size_select_item input[type="radio"]:checked + label::after {
  display: block;
  content: '';
  position: absolute;
  width: min(1.4rem, 14px);
  height: min(1.4rem, 14px);
  border-radius: 50%;
  background-color: var(--color-light_blue);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(395%);
}

main.size .inner_link {
  margin-top: min(5rem, 50px);
}

@media (max-width: 799px) {

  main.size section.mv div.mv_conts {
    margin-top: 2rem;
  }

  main.size div.size_select_area div.size_select_wrap {
    width: 100%;
    padding: 4rem 2rem;
    gap: 2rem 0.4rem;
    border-radius: 1rem;
    border: .1rem solid #0175C2;
  }

  main.size div.size_select_area div.size_select_wrap p.size_note {
    position: absolute;
    font-size: 1.4rem;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    transform: translateY(-200%);
    cursor: pointer;
  }

  main.size div.size_select_area div.size_select_wrap div.size_attention p.size_attention_txt {
    width: 90%;
    font-size: 1.4rem;
    padding: 4rem 2rem;
  }

  main.size div.size_select_area div.size_select_wrap div.size_attention p.size_attention_txt span {
    margin-top: 4rem;
    font-size: 1.4rem;
  }
  
  main.size div.size_select_area div.size_select_item label {
    height: 4rem;
    border-radius: 5px;
    font-size: 1.4rem;
    gap: 0.4rem;
  }
  
  main.size div.size_select_area div.size_select_item label span {
    font-size: 1.1rem;
  }
  
  main.size div.size_select_area div.size_select_item label::before {
    width: 2.0rem;
    height: 2.0rem;
    transform: translateX(24%);
  }
  
  main.size div.size_select_area div.size_select_item input[type="radio"]:checked + label::after {
    width: 1.0rem;
    height: 1.0rem;
    transform: translateX(96%);
  }
  
  main.size .inner_link {
    margin-top: 2.4rem;
  }
}

/* ----- middle.html ----- */

main.middle div.middle_map {
  width: min(100rem, 1000px);
  margin: 0 auto;
}

main.middle p.middle_area {
  width: min(30rem, 300px);
  height: min(6.2rem, 62px);
  margin: 0 auto;
  border-radius: min(1rem, 10px);
  background-color: var(--color-green);
  font-size: min(2.0rem, 20px);
  font-weight: 600;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

main.middle div.middle_select_area div.middle_select_wrap {
  width: min(100rem, 1000px);
  margin: min(6rem, 60px) auto 0;
  padding: min(6rem, 60px) min(4rem, 40px);
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(3.2rem, 32px);
  border-radius: min(2rem, 20px);
  border: min(0.2rem, 2px) solid #0275C2;
}

main.middle div.middle_select_area div.middle_select_wrap div.middle_select_item {
  width: 100%;
}

main.middle div.middle_select_area div.middle_select_wrap div.middle_select_item.invisible {
  opacity: 0;
  pointer-events: none;
}

main.middle div.middle_select_area div.middle_select_item input[type="radio"] {
  display: none;
}

main.middle div.middle_select_area div.middle_select_item a {
  width: 100%;
  height: min(10rem, 100px);
  border-radius: 5px;
  background-color: var(--color-light_blue);
  font-size: min(3.2rem, 32px);
  font-weight: 600;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(0.8rem, 8px);
  cursor: pointer;
  position: relative;;
}

main.middle div.middle_select_area div.middle_select_item a span {
  font-size: min(2.0rem, 20px);
  font-weight: 600;
  color: #fff;
  text-align: center;
}

/*
main.middle div.middle_select_area div.middle_select_item a::before {
  position: absolute;
  content: '';
  display: block;
  width: min(2.5rem, 25px);
  height: min(2.5rem, 25px);
  border-radius: 50%;
  background-color: #fff;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(200%);
}

main.middle div.middle_select_area div.middle_select_item input[type="radio"]:checked + label::after {
  display: block;
  content: '';
  position: absolute;
  width: min(1.4rem, 14px);
  height: min(1.4rem, 14px);
  border-radius: 50%;
  background-color: var(--color-light_blue);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(395%);
}
*/

main.middle .inner_back_link {
  margin-top: min(5rem, 50px);
}

@media (max-width: 799px) {

  main.middle p.middle_area {
    width: 15rem;
    height: 3.4rem;
    font-size: 1.6rem;
    border-radius: .5rem;
  }

  main.middle div.middle_map {
    width: 100%;
  }

  main.middle div.middle_select_area div.middle_select_wrap {
    margin: 4rem auto 0;
    width: 100%;
    padding: 4rem 2rem;
    gap: 2rem 0.4rem;
    border-radius: 1rem;
    border: .1rem solid #0275C2;
  }
  
  main.middle div.middle_select_area div.middle_select_item a {
    height: 4rem;
    border-radius: 5px;
    font-size: 1.4rem;
    gap: 0.4rem;
  }
  
  main.middle div.middle_select_area div.middle_select_item a span {
    font-size: 1.1rem;
  }
  
  main.middle div.middle_select_area div.middle_select_item a::before {
    width: 2.0rem;
    height: 2.0rem;
    transform: translateX(24%);
  }
  
  main.middle div.middle_select_area div.middle_select_item input[type="radio"]:checked + label::after {
    width: 1.0rem;
    height: 1.0rem;
    transform: translateX(96%);
  }
  
  main.middle .inner_back_link {
    margin-top: 2.4rem;
  }
}

/* ----- minimum.html ----- */

main.minimum div.mv_conts {
  margin: 0 auto;
  width: min(100rem, 1000px);
}

main.minimum div.mv_conts div.minimum_map {
  margin: 0 auto;
  width: min(70rem, 700px);
}

main.minimum div.mv_conts div.selected_area {
  margin: min(8rem, 80px) auto 0;
  width: 100%;
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
}

main.minimum div.mv_conts div.selected_area span {
  width: min(18rem, 180px);
  height: min(5rem, 50px);
  border-radius: min(1rem, 10px);
  background-color: var(--color-green);
  font-size: min(2.0rem, 20px);
  font-weight: 600;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

main.minimum div.mv_conts p.current_num {
  margin-top: min(2.4rem, 24px);
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  color: var(--color-blue);
  text-align: center;
  padding-bottom: min(1rem, 10px);
  border-bottom: min(0.2rem, 2px) solid var(--color-blue);
}

main.minimum div.mv_conts div.minimum_form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block {
  padding: min(2rem, 20px) 0;
  border-bottom: min(0.2rem, 2px) solid var(--color-blue);
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(1rem, 10px);
  margin-bottom:min(1rem, 10px);
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: min(2rem, 20px);
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap {
  display: flex;
  align-items: center;
  gap: min(2rem, 20px);
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap input.item_info_checkbox {
  all: unset;
  width: min(4rem, 40px);
  height: min(4rem, 40px);
  background-color: #fff;
  border: min(0.2rem, 2px) solid var(--color-blue);
  cursor: pointer;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap input.item_info_checkbox:checked {
  background-color: var(--color-blue);
  background-image: url(../img/_minimum/icon_minimum_checkMark.png);
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap ul.item_cate_list {
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap ul.item_cate_list li {
  width: fit-content;
  padding: 0 min(1rem, 10px);
  height: min(3rem, 30px);
  border-radius: min(.7rem, 7px);
  border: min(0.2rem, 2px) solid var(--color-blue);
  background-color: #fff;
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  color: var(--color-blue);
  display: flex;
  justify-content: center;
  align-items: center;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap ul.item_cate_list li.num {
  background-color: var(--color-blue);
  color: #fff;
}

main.minimum div.mv_conts div.item_delivery_info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: min(.4rem, 4px) 0;
	margin:min(1.5rem, 15px) auto 0;
	justify-content: center;
}

main.minimum div.mv_conts div.item_delivery_info span {
  display: flex;
  align-items: center;
  gap: min(1rem, 10px) 0;
}

main.minimum div.mv_conts div.item_delivery_info dt, 
main.minimum div.mv_conts div.item_delivery_info dd {
  width: fit-content;
  padding: min(0.5rem, 5px) min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  background-color: var(--color-main);
  color: #fff;
  border: min(0.2rem, 2px) solid var(--color-main);
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0;
}

main.minimum div.mv_conts div.item_delivery_info dd {
  background-color: #fff;
  color: var(--color-main);
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right {
  width: fit-content;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail {
  width: auto;
  display: flex;
  /*flex-direction: column;*/
  gap: min(1.5rem, 15px);
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: min(0.5rem, 5px);
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span dt {
  flex: 1;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  text-align: right;
  letter-spacing: 0;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span dd {
  /*min-width: min(11rem, 110px);*/
  /*width: fit-content;*/
  font-size: min(2.2rem, 22px);
  font-weight: 700;
  text-align: right;
  letter-spacing: 0;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span dd small {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span dd em {
  display: none;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block p.item_ttl {
  width: 100%;
  padding: min(1.6rem, 16px);
  font-size: min(2rem, 20px);
  font-weight: 700;
  line-height: 1.4;
  background-color: #F4F4F4;
}

main.minimum div.mv_conts div.minimum_form div.item_detail_block form.form_detail {
  /* display: none; */
}

main.minimum div.mv_conts div.minimum_form ul.minimum_pagination {
  margin: min(10rem, 100px) auto 0;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2.4rem, 24px);
  position: relative;
}

main.minimum div.mv_conts div.minimum_form ul.minimum_pagination::before, 
main.minimum div.mv_conts div.minimum_form ul.minimum_pagination::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(../img/icon_arrow_blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(0.8rem, 8px);
  height: min(1.6rem, 16px);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(-300%) rotate(180deg);
  cursor: pointer;
}

main.minimum div.mv_conts div.minimum_form ul.minimum_pagination::after {
  left: auto;
  right: 0;
  transform: translateX(300%) rotate(0deg);
}

main.minimum div.mv_conts div.minimum_form ul.minimum_pagination li.minimum_pagination_item {
  display: block;
  width: min(5.6rem, 56px);
  height: min(5.6rem, 56px);
  border: min(0.2rem, 2px) solid var(--color-blue);
  background-color: #fff;
  color: var(--color-blue);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
}

main.minimum div.mv_conts div.minimum_form ul.minimum_pagination li.minimum_pagination_item:has(.dots) {
  border: none;
}

main.minimum div.mv_conts div.minimum_form ul.minimum_pagination li.minimum_pagination_item.active {
  background-color: var(--color-blue);
  color: #fff;
}

main.minimum div.mv_conts p.minimum_attention {
  margin-top: min(8rem, 80px);
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
  color: var(--color-blue);
}

main.minimum div.mv_conts div.minimum_form input.toCart {
  all: unset;
  display: block;
  margin: min(2rem, 20px) auto 0;
  width: min(48rem, 480px);
  height: min(6.8rem, 68px);
  border-radius: min(1rem, 10px);
  background-color: var(--color-pink);
  color: #fff;
  font-size: min(2.4rem, 24px);
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  background-image: url(../img/icon_arrow_white.png);
  background-size: min(1rem, 10px);
  background-repeat: no-repeat;
  background-position: right min(1.6rem, 16px) center;
  transition: all .8s;
}

@media (hover: hover) {
  main.minimum div.mv_conts div.minimum_form input.toCart:hover {
    opacity: 0.8;
  }
}

@media (max-width: 799px) {
  main.minimum div.mv_conts {
    width: 100%;
  }
  
  main.minimum div.mv_conts div.minimum_map {
    width: 100%;
  }
  
  main.minimum div.mv_conts div.selected_area {
    margin: 4rem auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
  }
  
  main.minimum div.mv_conts div.selected_area span {
    width: 100%;
    height: 3.2rem;
    border-radius: .05rem;
    font-size: 1.4rem;
  }
  
  main.minimum div.mv_conts p.current_num {
    margin-top: 2rem;
    font-size: 1.4rem;
    padding-bottom: 1rem;
    border-bottom: 0.1rem solid var(--color-blue);
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block {
    padding: 2rem 0;
    border-bottom: 0.1rem solid var(--color-blue);
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set {
    flex-direction: column;
    justify-content: start;
    gap: 1rem;
    margin-bottom: 0;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left {
    flex: none;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap {
    align-items: start;
    gap: 1rem;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap input.item_info_checkbox {
    width: 2.5rem;
    height: 2.5rem;
    border: 0.1rem solid var(--color-blue);
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap ul.item_cate_list {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_left div.item_info_left_wrap ul.item_cate_list li {
    padding: 0 1rem;
    height: 2.5rem;
    border-radius: .05rem;
    border: 0.1rem solid var(--color-blue);
    font-size: 1.2rem;
  }
  
  main.minimum div.mv_conts div.item_delivery_info {
    flex-wrap: wrap;
    gap: 0.4rem 0;
  }
  
  main.minimum div.mv_conts div.item_delivery_info span {
    display: flex;
    align-items: center;
    gap: 0;
  }
  
  main.minimum div.mv_conts div.item_delivery_info dt, 
  main.minimum div.mv_conts div.item_delivery_info dd {
    padding: 0.4rem 0.8rem;
    font-size: 1.4rem;
    border: .05rem solid var(--color-main);
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right {
    width: 100%;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail {
    width: 100%;
    display: flex;
    /*flex-direction: column;*/
    gap: 1.5rem;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span {
    display: inline-block;
    display: block;
    justify-content: start;
    align-items: center;
    gap: 1rem;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span dt {
    flex: none;
    width: auto;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: left;
    margin-bottom:0.3rem;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span dd {
    flex: 1;
    font-size: 1.8rem;
    text-align: left;
    letter-spacing: .08em;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block div.item_info_set div.item_info_right div.item_detail span dd small {
    font-size: 1.2rem;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block p.item_ttl {
    margin-top: 1rem;
    padding: 1rem;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
  
  main.minimum div.mv_conts div.minimum_form div.item_detail_block form.form_detail {
    /* display: none; */
  }
  
  main.minimum div.mv_conts div.minimum_form ul.minimum_pagination {
    margin: 4rem auto 0;
    width: 90%;
    gap: 2rem;
  }
  
  main.minimum div.mv_conts div.minimum_form ul.minimum_pagination::before, 
  main.minimum div.mv_conts div.minimum_form ul.minimum_pagination::after {
    width: 0.8rem;
    height: 1.8rem;
    transform: translateX(-300%) rotate(180deg);
  }
  
  main.minimum div.mv_conts div.minimum_form ul.minimum_pagination::after {
    transform: translateX(300%) rotate(0deg);
  }
  
  main.minimum div.mv_conts div.minimum_form ul.minimum_pagination li.minimum_pagination_item {
    width: 4.5rem;
    height: 4.5rem;
    border: 0.1rem solid var(--color-blue);
    font-size: 1.6rem;
  }

  main.minimum div.mv_conts p.minimum_attention {
    margin-top: 4rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  
  main.minimum div.mv_conts div.minimum_form input.toCart {
    margin: 2rem auto 0;
    width: 100%;
    height: 5rem;
    border-radius: 1rem;
    font-size: 1.6rem;
    background-image: url(../img/icon_arrow_white.png);
    background-size: .6rem;
    background-position: right .8rem center;
  }
}


/* ----- cart.html ----- */

main.cart div.flow_wrap {
  width: min(65rem, 650px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(4rem, 40px);
  position: relative;
}

main.cart div.flow_wrap::after {
  position: absolute;
  content: '';
  display: block;
  width: min(55rem, 550px);
  height: min(0.5rem, 5px);
  background-color: var(--color-blue);
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(750%);
  z-index: -1;
}

main.cart div.flow_wrap p.flow_item {
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  color: var(--color-blue);
  text-align: center;
  letter-spacing: 0em;
}

main.cart div.flow_wrap p.flow_item span {
  width: min(8rem, 80px);
  height: min(8rem, 80px);
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid var(--color-blue);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(4rem, 40px);
  font-weight: 500;
  color: var(--color-blue);
  margin: 0 auto min(1.6rem, 16px);
}

main.cart div.flow_wrap p.flow_item.current span {
  background-color: var(--color-blue);
  color: #fff;
}

main.cart div.header_explanation {
  margin: 0;
}

main.cart form {
  margin: min(10rem, 100px) auto 0;
  width: 90%;
}

main.cart div.item_cart_wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: min(0.1rem, 1px) solid var(--color-blue);
}

main.cart div.item_cart_block {
  padding: min(3rem, 30px) 0;
  border-bottom: min(0.1rem, 1px) solid var(--color-blue);
  display: flex;
  align-items: start;
  gap: min(4rem, 40px);
}

main.cart div.item_cart_block div.item_hd {
  flex: 1;
}

main.cart div.item_cart_block div.item_hd ul.item_cate_list {
  display: flex;
  align-items: center;
  gap: min(0.8rem, 8px);
}

main.cart div.item_cart_block div.item_hd ul.item_cate_list li {
  width: fit-content;
  padding: min(0.6rem, 6px) min(0.8rem, 8px);
  border-radius: min(0.8rem, 8px);
  background-color: #fff;
  border: min(0.2rem, 2px) solid var(--color-blue);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: var(--color-blue);
  letter-spacing: 0em;
}

main.cart div.item_cart_block div.item_hd ul.item_cate_list li.num {
  background-color: var(--color-blue);
  color: #fff;
}

main.cart div.item_cart_block div.item_hd p.item_ttl {
  margin-top: min(2.0rem, 20px);
  font-size: min(2.0rem, 20px);
  font-weight: 700;
}

main.cart div.item_cart_block div.item_detail {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: min(1.0rem, 10px);
}

main.cart div.item_cart_block div.item_detail span {
  display: flex;
  align-items: center;
  gap: 0;
}

main.cart div.item_cart_block div.item_detail span dt {
  flex: 1;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  text-align: right;
}

main.cart div.item_cart_block div.item_detail span dd {
  min-width: min(11rem, 110px);
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  text-align: right;
}

main.cart div.item_cart_block div.item_detail input.delButton {
  all: unset;
  width: min(8rem, 80px);
  height: min(3.2rem, 32px);
  border-radius: min(1rem, 10px);
  background-color: var(--color-gray);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
  transition: all .9s;
}

@media (hover: hover) {
  main.cart div.item_cart_block div.item_detail input.delButton:hover {
    background-color: var(--color-main);
  }
}


main.cart div.total_block {
  padding: min(6rem, 60px) 0 min(3rem, 30px);
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: min(2rem, 20px);
  border-bottom: min(0.4rem, 4px) solid var(--color-main);
}

main.cart div.total_block span {
  display: flex;
  align-items: center;
  gap: 0;
}

main.cart div.total_block span dt {
  flex: 1;
  width: fit-content;
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  text-align: right;
}

main.cart div.total_block span dd {
  min-width: min(18rem, 180px);
  font-size: min(2.5rem, 25px);
  font-weight: 700;
  text-align: right;
  letter-spacing: 0.08em;
}

main.cart div.cart_attention {
  margin-top: min(10rem, 100px);
  border-radius: min(2rem, 20px);
  background-color: #F2FAFF;
  border: min(0.2rem, 2px) solid var(--color-blue);
  overflow: hidden;
}

main.cart div.cart_attention p.attention_ttl {
  width: 100%;
  height: min(5rem, 50px);
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  background-color: var(--color-blue);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.14em;
}

main.cart div.cart_attention p.attention_txt {
  padding: min(4rem, 40px) min(2rem, 20px);
}

main.cart div.cart_attention p.attention_txt small {
  display: block;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  line-height: 2;
}

main.cart div.cart_attention p.attention_txt small:not(:first-of-type) {
  margin-top: min(1.0rem, 10px);
}

main.cart div.cart_attention p.attention_txt span {
  display: block;
  margin-top: min(1.0rem, 10px);
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  line-height: 1.4;
}

main.cart div.cart_attention p.attention_txt span + span {
  margin-top: min(1.0rem, 10px);
}

main.cart div.cart_attention p.attention_txt span strong {
  color: var(--color-blue);
}

@media (max-width: 799px) {
  main.cart div.flow_wrap {
    width: 100%;
    gap: 2rem;
  }
  
  main.cart div.flow_wrap::after {
    width: 90%;
    height: .4rem;
    transform: translateY(600%);
  }
  
  main.cart div.flow_wrap p.flow_item {
    font-size: 1rem;
  }
  
  main.cart div.flow_wrap p.flow_item span {
    width: 5rem;
    height: 5rem;
    border: .2rem solid var(--color-blue);
    font-size: 2rem;
    margin: 0 auto .8rem;
  }

  main.cart form {
    margin: 4rem auto 0;
    width: 100%;
  }
  
  main.cart div.item_cart_wrap {
    border-top: .1rem solid var(--color-blue);
  }
  
  main.cart div.item_cart_block {
    padding: 2rem 0;
    border-bottom: .1rem solid var(--color-blue);
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
  
  main.cart div.item_cart_block div.item_hd {
    flex: none;
    width: 100%;
  }
  
  main.cart div.item_cart_block div.item_hd ul.item_cate_list {
    gap: 0.4rem;
  }
  
  main.cart div.item_cart_block div.item_hd ul.item_cate_list li {
    padding: 0.4rem 0.6rem;
    border-radius: .8rem;
    border: .1rem solid var(--color-blue);
    font-size: 1.2rem;
  }
  
  main.cart div.item_cart_block div.item_hd ul.item_cate_list li.num {
    display: block;
  }
  
  main.cart div.item_cart_block div.item_hd p.item_ttl {
    margin-top: .4rem;
    font-size: 1.6rem;
    line-height: 1.4;
  }
  
  main.cart div.item_cart_block div.item_detail {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: .4rem;
  }
  
  main.cart div.item_cart_block div.item_detail span dt {
    flex: 1;
    font-size: 1.2rem;
  }
  
  main.cart div.item_cart_block div.item_detail span dd {
    min-width: 10rem;
    font-size: 1.6rem;
  }
  
  main.cart div.item_cart_block div.item_detail input.delButton {
    width: 6.4rem;
    height: 3.2rem;
    border-radius: .8rem;
    font-size: 1.4rem;
  }
  
  main.cart div.total_block {
    padding: 4rem 0 2rem;
    gap: 1rem;
    border-bottom: .3rem solid var(--color-main);
  }
  
  main.cart div.total_block span dt {
    font-size: 1.4rem;
  }
  
  main.cart div.total_block span dd {
    min-width: 13rem;
    font-size: 2rem;
    letter-spacing: 0.08em;
  }
  
  main.cart div.cart_attention {
    margin-top: 4rem;
    border-radius: 2rem;
    border: .2rem solid var(--color-blue);
  }
  
  main.cart div.cart_attention p.attention_ttl {
    height: 5rem;
    font-size: 1.6rem;
    letter-spacing: 0.14em;
  }
  
  main.cart div.cart_attention p.attention_txt {
    padding: 2rem;
  }
  
  main.cart div.cart_attention p.attention_txt small {
    font-size: 1.4rem;
    line-height: 1.6;
  }
  
  main.cart div.cart_attention p.attention_txt small:not(:first-of-type) {
    margin-top: 2rem;
  }
  
  main.cart div.cart_attention p.attention_txt span {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  
  main.cart div.cart_attention p.attention_txt span + span {
    margin-top: 1rem;
  }
  
  main.cart div.cart_attention p.attention_txt span strong {
    display: block;
  }
}

/* ----- order_thanks.html ----- */

main.order_thanks .order_thanks_desc {
  font-size: min(1.6rem, 16px);
  line-height: 2;
  text-align: center;
}

main.order_thanks .order_thanks_desc strong {
  display: block;
  font-size: min(4rem, 40px);
  font-weight: 700;
  color: var(--color-blue);
  margin-bottom: min(2.0rem, 20px);
  line-height: 1;
}

main.order_thanks .order_thanks_desc span {
  display: block;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  margin-bottom: min(6.0rem, 60px);
  line-height: 1;
}

main.order_thanks .order_thanks_desc a {
  text-decoration: underline;
}

@media (max-width: 799px) {
  main.order_thanks .order_thanks_desc {
    font-size: 1.4rem;
    line-height: 2;
    text-align: left;
  }
  
  main.order_thanks .order_thanks_desc strong {
    font-size: 2rem;
    margin-bottom: 1.6rem;
    text-align: center;
  }
  
  main.order_thanks .order_thanks_desc span {
    font-size: 1.4rem;
    margin-bottom: 2.4rem;
    text-align: center;
  }
}

/* ----- faq.html ----- */

main.faq div.faq_wrap + div.faq_wrap {
  margin-top: min(18rem, 180px);
}

main.faq div.faq_wrap h3.faq_h3 {
  font-size: min(4rem, 40px);
  font-weight: 700;
  color: var(--color-blue);
  padding-bottom: min(5rem, 50px);
  border-bottom: 2px solid var(--color-blue);
}

main.faq dl.faq_dl {
  display: flex;
  flex-direction: column;
  gap: 0;
}

main.faq dl.faq_dl div.faq_item {
  border-bottom: 2px solid var(--color-blue);
}

main.faq dl.faq_dl div.faq_item dt.faq_dt {
  font-size: min(3.2rem, 32px);
  font-weight: 700;
  position: relative;
  padding: min(4rem, 40px) 0;
  display: flex;
  align-items: center;
  gap: min(1.6rem, 16px);
  cursor: pointer;
  line-height: 1.2;
}

main.faq dl.faq_dl div.faq_item dt.faq_dt::before {
  content: 'Q';
  font-size: min(4rem, 40px);
  font-weight: 700;
  color: var(--color-blue);
}

main.faq dl.faq_dl div.faq_item dt.faq_dt::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(../img/_faq/icon_plus.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(3rem, 30px);
  height: min(3rem, 30px);
  top: 0;
  bottom: 0;  
  margin: auto;
  right: 0;
  transition: all .8s;
}

main.faq dl.faq_dl div.faq_item.appear dt.faq_dt::after {
  background-image: url(../img/_faq/icon_minus.png);
}

main.faq dl.faq_dl div.faq_item dd.faq_dd {
  font-size: min(2.8rem, 28px);
  line-height: 1.8;
  padding: min(3.2rem, 32px);
  background-color: var(--color-light_gray);
  margin-bottom: min(4rem, 40px);
  position: absolute;
  top: -9999px;
  opacity: 0;
  transition: all 1.6s;
}

main.faq dl.faq_dl div.faq_item.appear dd.faq_dd {
  position: static ;
  opacity: 1;
}

@media (max-width: 799px) {
  main.faq div.faq_wrap + div.faq_wrap {
    margin-top: 4rem;
  }
  
  main.faq div.faq_wrap h3.faq_h3 {
    font-size: 2rem;
    padding-bottom: 2rem;
    border-bottom: .1rem solid var(--color-blue);
  }
  
  main.faq dl.faq_dl div.faq_item {
    border-bottom: .1rem solid var(--color-blue);
  }
  
  main.faq dl.faq_dl div.faq_item dt.faq_dt {
    font-size: 1.5rem;
    padding: 2.4rem 0;
    gap: 0.8rem;
    width: 95%;
    line-height: 1.4;
  }
  
  main.faq dl.faq_dl div.faq_item dt.faq_dt::before {
    content: 'Q';
    font-size: 2.4rem;
  }
  
  main.faq dl.faq_dl div.faq_item dt.faq_dt::after {
    width: 1.6rem;
    height: 1.6rem;
    transform: translateX(100%);
  }
  
  main.faq dl.faq_dl div.faq_item dd.faq_dd {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.4;
    padding: 2rem;
    margin-bottom: 2rem;
  }
}

/* ----- contact.html ----- */

main.contact form {
  width: min(100rem, 1000px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

main.contact form div.form_item {
  display: flex;
  align-items: center;
  gap: 0;
		font-size: min(1.6rem, 16px);
}

main.contact form div.form_item + div.form_item {
  margin-top: min(4rem, 40px);
}

main.contact form div.form_item label {
  width: min(20rem, 200px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: min(0.4rem, 4px);
}

main.contact form div.form_item label span {
  font-size: min(1.2rem, 12px);
  padding: min(0.4rem, 4px) min(1.2rem, 12px);
  background-color: var(--color-pink);
  color: #fff;
  border-radius: 4px;
}

main.contact .mw_wp_form_confirm form div.form_item label span {
display: none;
}

main.contact form div.form_item textarea, 
main.contact form div.form_item input {
  flex: 1;
  padding: min(2.0rem, 20px);
  border: 2px solid var(--color-blue);
  border-radius: 10px;
}

main.contact form div.form_item input {
  height: min(6.5rem, 65px);
}

main.contact form p.privacy_policy_txt {
  font-size: min(2rem, 20px);
  margin-top: min(8rem, 80px);
  margin-left: min(20rem, 200px);
  color: var(--color-gray);
}

main.contact form p.privacy_policy_txt a {
  color: var(--color-blue);
  text-decoration: underline;
  font-weight: 500;
}

main.contact form div.privacy_wrap {
  margin-top: min(3.2rem, 32px);
  display: flex;
  justify-content: start;
  align-items: center;
  gap: min(1.0rem, 10px);
}

main.contact form div.privacy_wrap input[type="checkbox"] {
  display: inline-block;
  width: min(2.4rem, 24px);
  height: min(2.4rem, 24px);
  border: 2px solid var(--color-blue);
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  position: relative;
  padding: 0;
  margin-left: min(20rem, 200px);
}

main.contact form div.privacy_wrap input[type="checkbox"]:checked::before {
  content: '\2713';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-blue);
  font-size: min(1.8rem, 18px);
}

main.contact form div.privacy_wrap label[for="privacy_policy"] {
  font-size: min(1.6rem, 16px);
  color: var(--color-gray);
  cursor: pointer;
}

main.contact form button {
  margin: min(10rem, 100px) auto 0;
  width: min(32rem, 320px);
  height: min(6.4rem, 64px);
  border-radius: 10px;
  background-color: var(--color-blue);
  color: #fff;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  transition: all .8s;
}

@media (hover: hover) {
  main.contact form button:hover {
    opacity: .6;
  }  
}

main.contact form button::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(../img/icon_arrow_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.6rem, 16px);
  height: min(1.6rem, 16px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-200%);
}

@media (max-width: 799px) {
  main.contact form {
    width: 100%;
  }
  
  main.contact form div.form_item {
    flex-direction: column;
    gap: .8rem;
  }
  
  main.contact form div.form_item + div.form_item {
    margin-top: 1.6rem;
  }
  
  main.contact form div.form_item label {
    width: 100%;
    font-size: 1.4rem;
    gap: 0.4rem;
  }
  
  main.contact form div.form_item label span {
    font-size: 1.0rem;
    padding: 0.4rem .8rem;
    background-color: var(--color-pink);
    color: #fff;
    border-radius: .4rem;
  }
  
  main.contact form div.form_item textarea, 
  main.contact form div.form_item input {
    width: 100%;
    border: .1rem solid var(--color-blue);
    border-radius: .8rem;
  }
  
  main.contact form div.form_item input {
    height: 4.8rem;
  }
  
  main.contact form p.privacy_policy_txt {
    font-size: 1.4rem;
    margin-top: 3.2rem;
    margin-left: 0;
    line-height: 1.4;
  }
  
  main.contact form div.privacy_wrap {
    margin-top: 1.0rem;
    gap: 0.4rem;
  }
  
  main.contact form div.privacy_wrap input[type="checkbox"] {
    width: 2.4rem;
    height: 2.4rem;
    border: .1rem solid var(--color-blue);
    border-radius: .4rem;
    margin-left: 0;
  }
  
  main.contact form div.privacy_wrap input[type="checkbox"]:checked::before {
    font-size: 1.2rem;
  }
  
  main.contact form div.privacy_wrap label[for="privacy_policy"] {
    font-size: 1.4rem;
  }
  
  main.contact form button {
    margin: 4rem auto 0;
    width: 25rem;
    height: 4.6rem;
    border-radius: .5rem;
    font-size: 1.6rem;
  }
  
  main.contact form button::after {
    width: 0.6rem;
    height: 1.2rem;
    transform: translateX(-200%);
  }
}

/* ----- contact_check.html ----- */

main.contact_check dl.contact_check_dl {
  width: min(100rem, 1000px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(6rem, 60px);
}

main.contact_check dl.contact_check_dl div.contact_check_wrap {
  display: flex;
  align-items: start;
  gap: 0;
}

main.contact_check dl.contact_check_dl div.contact_check_wrap dt.contact_check_dt {
  width: min(20rem, 200px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  line-height: 2;
}

main.contact_check dl.contact_check_dl div.contact_check_wrap dd.contact_check_dd {
  flex: 1;
  font-size: min(1.6rem, 16px);
  line-height: 2;
}

main.contact_check div.pasing {
  width: fit-content;
  margin: min(12rem, 120px) auto 0;
  display: flex;
  gap: min(4rem, 40px);
  align-items: center;
}

main.contact_check div.pasing button {
  width: min(32rem, 320px);
  height: min(6.4rem, 64px);
  border-radius: 10px;
  background-color: var(--color-blue);
  color: #fff;
  font-size: min(2.0rem, 20px);
  font-weight: 500;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .8s;
  cursor: pointer;
}

main.contact_check div.pasing button:first-of-type {
  background-color: var(--color-gray);
}

main.contact_check div.pasing button::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(../img/icon_arrow_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.6rem, 16px);
  height: min(1.6rem, 16px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-200%);
}

main.contact_check div.pasing button:first-of-type::after {
  background-image: url(../img/icon_arrow_white_left.png);
  background-size: contain;
  right: auto;
  left: 0;
  transform: translateX(200%);
}

main.contact_check form div.form_item {
  display: flex;
  align-items: center;
  gap: 0;
		font-size: min(1.6rem, 16px);
}

main.contact_check form div.form_item + div.form_item {
  margin-top: min(4rem, 40px);
}

main.contact_check form div.form_item label {
  width: min(20rem, 200px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: min(0.4rem, 4px);
}

main.contact_check form div.form_item label span {
  font-size: min(1.2rem, 12px);
  padding: min(0.4rem, 4px) min(1.2rem, 12px);
  background-color: var(--color-pink);
  color: #fff;
  border-radius: 4px;
}

main.contact_check .mw_wp_form_confirm form div.form_item label span {
display: none;
}

main.contact_check form div.form_item textarea, 
main.contact_check form div.form_item input {
  flex: 1;
  padding: min(2.0rem, 20px);
  border: 2px solid var(--color-blue);
  border-radius: 10px;
}

main.contact_check form div.form_item input {
  height: min(6.5rem, 65px);
}

@media (hover: hover) {
  main.contact_check div.pasing button:hover {
    opacity: .6;
  }
}

@media (max-width: 799px) {
  main.contact_check dl.contact_check_dl {
    width: 100%;
    gap: 3.2rem;
  }
  
  main.contact_check dl.contact_check_dl div.contact_check_wrap {
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
  }
  
  main.contact_check dl.contact_check_dl div.contact_check_wrap dt.contact_check_dt {
    width: 100%;
    font-size: 1.4rem;
    line-height: 1;
  }
  
  main.contact_check dl.contact_check_dl div.contact_check_wrap dd.contact_check_dd {
    width: 100%;
    font-size: 1.4rem;
  }
  
  main.contact_check div.pasing {
    width: 100%;
    margin: 4rem auto 0;
    flex-direction: column;
    gap: 0.8rem;
  }
  
  main.contact_check div.pasing button {
    width: 25rem;
    height: 4.6rem;
    border-radius: .5rem;
    font-size: 1.6rem;
  }
  
  main.contact_check div.pasing button::after {
    width: 0.6rem;
    height: 1.2rem;
    transform: translateX(-200%);
  }
  
  main.contact_check div.pasing button:first-of-type::after {
    transform: translateX(200%);
  }
		
		  main.contact_check form div.form_item {
    flex-direction: column;
    gap: .8rem;
  }
  
  main.contact_check form div.form_item + div.form_item {
    margin-top: 1.6rem;
  }
  
  main.contact_check form div.form_item label {
    width: 100%;
    font-size: 1.4rem;
    gap: 0.4rem;
  }
  
  main.contact_check form div.form_item label span {
    font-size: 1.0rem;
    padding: 0.4rem .8rem;
    background-color: var(--color-pink);
    color: #fff;
    border-radius: .4rem;
  }
  
  main.contact_check form div.form_item textarea, 
  main.contact_check form div.form_item input {
    width: 100%;
    border: .1rem solid var(--color-blue);
    border-radius: .8rem;
  }
  
  main.contact_check form div.form_item input {
    height: 4.8rem;
  }
		
}

/* ----- contact_thanks.html ----- */

main.contact_thanks section.oreder_thanks .order_thanks_desc strong {
  margin-bottom: min(5rem, 50px);
}

/* ----- privacy.html ----- */

main.privacy h3.privacy_h3 {
  font-size: min(3.2rem, 32px);
  font-style: 700px;
  padding-bottom: min(1.6rem, 16px);
  border-bottom: min(0.4rem, 4px) solid var(--color-blue);
}

main.privacy h3.privacy_h3:not(:first-of-type) {
  margin-top: min(10rem, 100px);
}

main.privacy p.privacy_txt {
  margin-top: min(4rem, 40px);
  font-size: min(1.8rem, 18px);
  line-height: 2;
}

@media (max-width: 799px) {
  main.privacy h3.privacy_h3 {
    font-size: 1.6rem;
    padding-bottom: min(1.6rem, 16px);
    border-bottom: .2rem solid var(--color-blue);
    padding-left: 1.4em;
    text-indent: -1.4em;
    line-height: 1.4;
  }
  
  main.privacy h3.privacy_h3:not(:first-of-type) {
    margin-top: 5rem;
  }
  
  main.privacy p.privacy_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

/* ----- login.html ----- */

main.login form {
  max-width: min(100rem, 1000px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(3.2rem, 32px);
}

main.login form div.form_item {
  display: flex;
  align-items: center;
}

main.login form div.form_item label {
  width: min(20rem, 200px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
}

main.login form div.form_item input {
  flex: 1;
  height: min(6.5rem, 65px);
  padding: min(2.0rem, 20px);
  border: 2px solid var(--color-blue);
  border-radius: 10px;
}

main.login form div.remember_wrap {
/*  margin-top: min(3.2rem, 32px);*/
  display: flex;
  justify-content: start;
  align-items: center;
  gap: min(1.0rem, 10px);
  margin-left: min(20rem, 200px);
  width: fit-content;
}

main.login form div.remember_wrap input[type="checkbox"] {
  display: inline-block;
  width: min(2.4rem, 24px);
  height: min(2.4rem, 24px);
  border: 2px solid var(--color-blue);
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  position: relative;
  padding: 0;
}

main.login form div.remember_wrap input[type="checkbox"]:checked::before {
  content: '\2713';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-blue);
  font-size: min(1.8rem, 18px);
}

main.login form div.remember_wrap label[for="remember"] {
  font-size: min(1.6rem, 16px);
  color: var(--color-gray);
  cursor: pointer;
}

main.login div.btn_area {
  margin: 4rem auto 0;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: min(3.2rem, 32px);
}

main.login div.btn_area input,
main.login div.btn_area02 a {
	width: min(32rem, 320px);
	height: min(6.4rem, 64px);
	border-radius: 10px;
	background-color: var(--color-blue);
	color: #fff !important;
	font-size: min(2.0rem, 20px);
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	cursor: pointer;
	border: none;
	transition: all .8s;
	text-decoration: none !important;
}

@media (hover: hover) {
  main.login div.btn_area input:hover,
  main.login div.btn_area02 a:hover
		{
    opacity: .6;
  }  
}

main.login div.btn_area input::after,
main.login div.btn_area02 a::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(../img/icon_arrow_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.6rem, 16px);
  height: min(1.6rem, 16px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-200%);
}

main.login div.btn_area a {
  font-size: min(1.6rem, 16px);
  color: var(--color-gray);
  text-decoration: underline;
}

main.login div.border {
  margin-top: min(4rem, 40px);
  width: 100%;
  height: 1px;
  background-color: var(--color-gray);
}

main.login div.btn_area02 {
  width: 100%;
  justify-content: center;
  padding: min(3.2rem, 32px) 0;
  background-color: var(--color-light_gray);
}

main.login div.btn_area02 p.btn_txt {
  font-size: min(1.6rem, 16px);
  font-weight: 600;
}

@media (max-width: 799px) {
  main.login form {
    width: 100%;
    gap: .8rem;
  }
  
  main.login form div.form_item {
    flex-direction: column;
    gap: .8rem;
  }
  
  main.login form div.form_item + div.form_item {
    margin-top: 1.6rem;
  }
  
  main.login form div.form_item label {
    width: 100%;
    font-size: 1.4rem;
    gap: 0.4rem;
  }
  
  main.login form div.form_item input {
    width: 100%;
    height: 4.8rem;
    border-radius: .5rem;
    border: .1rem solid var(--color-blue);
    border-radius: .8rem;
  }
  
  main.login form div.remember_wrap {
    width: 100%;
    margin-top: 1.0rem;
    gap: 0.4rem;
    margin-left: 0;
  }
  
  main.login form div.remember_wrap input[type="checkbox"] {
    width: 2.4rem;
    height: 2.4rem;
    border: .1rem solid var(--color-blue);
    border-radius: .4rem;
    margin-left: 0;
  }
  
  main.login form div.remember_wrap input[type="checkbox"]:checked::before {
    font-size: 1.2rem;
  }
  
  main.login form div.remember_wrap label[for="remember"] {
    font-size: 1.4rem;
  }
  
  main.login div.btn_area {
    margin: 2rem auto 0;
    width: 100%;
    flex-direction: column;
    gap: 2rem;
  }
  
  main.login div.btn_area input {
    width: 25rem;
    height: 4.6rem;
    border-radius: .5rem;
    font-size: 1.6rem;
  }
  
  main.login div.btn_area input::after {
    width: 0.6rem;
    height: 1.2rem;
    transform: translateX(-200%);
  }
  
  main.login div.btn_area a {
    font-size: 1.4rem;
  }
  
  main.login div.btn_area02 {
    padding: 2rem 0;
    margin-top: 4rem;
  }
  
  main.login div.btn_area02 p.btn_txt {
    font-size: 1.4rem;
  }
}

/* ----- signup_thanks.html ----- */

main.signup_thanks section.oreder_thanks a.signup_link {
  margin: min(7rem, 70px) auto 0;
  width: min(32rem, 320px);
  height: min(6.4rem, 64px);
  border-radius: 10px;
  background-color: var(--color-blue);
  color: #fff;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

main.signup_thanks section.oreder_thanks a.signup_link::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(../img/icon_arrow_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.6rem, 16px);
  height: min(1.6rem, 16px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-200%);
}

@media (max-width: 799px) {
  main.signup_thanks section.oreder_thanks a.signup_link {
    margin: 4rem auto 0;
    width: 25rem;
    height: 4.6rem;
    border-radius: .5rem;
    font-size: 1.6rem;
  }
  
  main.signup_thanks section.oreder_thanks a.signup_link::after {
    width: .6rem;
    height: 1.2rem;
    transform: translateX(-200%);
  }
}

.copies {
    text-align: center;
}

th.copies {
    background: #f8f8f8;
    padding: 10px;
}

td.copies {
    padding: 10px;
}

tfoot th.copies {
    font-weight: bold;
}

#cart_table {
    width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
}

#cart_table th,
#cart_table td {
    padding: 10px;
    border: 1px solid #ddd;
}

#cart_table .copies {
    text-align: center;
}

#cart_table tfoot .copies {
    font-weight: bold;
}

.product-checkbox {
    margin-bottom: 10px;
}

.product-checkbox input[type="checkbox"] {
    margin-right: 10px;
}

.bulk-cart-button {
    margin: 20px 0;
    text-align: center;
}

.submit-bulk-cart {
    padding: 10px 20px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.submit-bulk-cart:hover {
    background-color: #45a049;
}

table#time tr:nth-child(1),
table#time tr:nth-child(2),
table#time tr:nth-child(3) {
display:none;
}
#delivery-info textarea {
width: 100%;
height:200px;
}

/* ----- カート内の合計 ----- */

div.cart_total_fixed {
  position: fixed;
  top: 0;
  right: 0;
  width: min(48rem, 480px);
  background-color: #fff;
  border-radius: min(2rem, 20px);
  overflow: hidden;
  z-index: 99;
  transform: translate(-2%, 90%);
}

div.cart_total_fixed p.cart_total_ttl {
  width: 100%;
  height: min(5rem, 50px);
  background-color: #0175C2;
  color: #fff;
  font-size: min(2rem, 20px);
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}

div.cart_total_fixed ul.cart_total_lists {
  width: 100%;
  padding: min(2.4rem, 24px);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border: min(0.2rem, 2px) solid #A3A3A3;
  border-radius: 0 0 min(2rem, 20px) min(2rem, 20px);
}

div.cart_total_fixed ul.cart_total_lists li.cart_total_item {
  font-size: min(2rem, 20px);
  font-weight: 600;
}

div.cart_total_fixed ul.cart_total_lists li.cart_total_item span {
  font-size: min(3rem, 30px);
  font-weight: 600;
  margin-left: min(2rem, 20px);
}

div.cart_total_fixed ul.cart_total_lists li.cart_total_item:last-of-type span {
  color: #F20000;
}

div.cart_total_fixed ul.cart_total_lists li.cart_total_item span small {
  font-size: min(2rem, 20px);
}

@media (max-width: 799px) {
  div.cart_total_fixed {
    position: static;
    width: 100%;
    border-radius: 0;
    transform: none;
  }
  
  div.cart_total_fixed p.cart_total_ttl {
    width: 100%;
    height: 3.5rem;
    font-size: 1.4rem;
    font-weight: 600;
  }
  
  div.cart_total_fixed ul.cart_total_lists {
    padding: 2rem 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    border: .1rem solid #A3A3A3;
    border-radius: 0;
  }
  
  div.cart_total_fixed ul.cart_total_lists li.cart_total_item {
    font-size: 1.4rem;
    text-align: center;
  }
  
  div.cart_total_fixed ul.cart_total_lists li.cart_total_item:last-of-type {
    border-left: .1rem solid var(--color-main);
  }
  
  div.cart_total_fixed ul.cart_total_lists li.cart_total_item span {
    display: block;
    font-size: 2rem;
    margin: 1rem 0 0;
  }
  
  div.cart_total_fixed ul.cart_total_lists li.cart_total_item span small {
    font-size: 1.4rem;
  }
}

/* ----- flow_nav ----- */

nav.flow_nav {
  margin: min(6rem, 60px) auto 0;
  width: min(100rem, 1000px);
}

nav.flow_nav ul.flow_nav_lists {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: min(1rem, 10px);
}

nav.flow_nav ul.flow_nav_lists li.flow_nav_item {
  width: 100%;
  height: min(6.4rem, 64px);
  border: min(0.2rem, 2px) solid #0175C2;
  background-color: #fff;
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

nav.flow_nav ul.flow_nav_lists li.flow_nav_item:not(:last-of-type)::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(../img/icon_arrow_flowNav.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.0rem, 10px);
  height: min(2.4rem, 24px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(100%);
}

nav.flow_nav ul.flow_nav_lists li.flow_nav_item.active {
  background-color: #0175C2;
  color: #fff;
}

@media (max-width: 799px) {
  nav.flow_nav {
    margin: 4rem auto 0;
    width: 100%;
  }
  
  nav.flow_nav ul.flow_nav_lists {
    gap: 0;
    border-bottom: .1rem solid #0175C2;
  }
  
  nav.flow_nav ul.flow_nav_lists li.flow_nav_item {
    height: 4.5rem;
    border: none;
    border-right: .1rem solid #0175C2;
    font-size: 1.1rem;
    line-height: 1.4;
    text-align: center;
  }

  nav.flow_nav ul.flow_nav_lists li.flow_nav_item:last-of-type {
    border-right: none;
  }
  
  nav.flow_nav ul.flow_nav_lists li.flow_nav_item:not(:last-of-type)::after {
    width: 0.5rem;
    height: 1.2rem;
    transform: translateX(100%);
    z-index: 1;
  }
  
  nav.flow_nav ul.flow_nav_lists li.flow_nav_item.active {
    background-color: #0175C2;
    color: #fff;
  }
}

