@charset "EUC-JP";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/* ==========================================================================
  Foundation
  ========================================================================== */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, button {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}
body {
  line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
a {
  background: transparent;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}
/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
/* change colours to suit your needs */
img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* change border colour to suit your needs */
table td {
  vertical-align: top;
}
a {
  color: #021499;
  text-decoration: none;
}
a:hover {
  opacity: 0.75;
  text-decoration: underline;
}
hr {
  border: 0;
  border-top: 1px solid #cccccc;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}
input, select {
  vertical-align: middle;
}
/* フォームの初期化を追加 */
/* テキスト */
input[type="text"], input[type="email"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border-radius: 0;
  box-shadow: none;
  color: inherit;
  font-family: inherit;
  /*width: 100%;*/
}
input[type="text"]:focus, input[type="email"]:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
/* テキストエリア */
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  height: 100px;
  width: 100%;
}
textarea:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
/* セレクト */
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: white;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
}
select::-ms-expand {
  display: none;
}
select:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="password"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 1.6rem;
  padding: 0.4em 0.8em;
  /*width: 100%;*/
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus {
  outline: none;
}
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 1em;
  height: 100px;
  padding: 0.4em 0.8em;
  width: 100%;
}
textarea:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}
input[type="submit"], input[type="reset"] {
  -webkit-appearance: none;
  background-image: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  text-decoration: none;
}
input[type="submit"]:hover, input[type="submit"]:focus, input[type="reset"]:hover, input[type="reset"]:focus {
  outline: none;
}
input[type="submit"]::-moz-foucus-inner, input[type="reset"]::-moz-foucus-inner {
  border: none;
  padding: 0;
}
input[type=color], input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], select, textarea {
  -webkit-box-sizing: border-box;
  border: 1px solid #C6C6C6;
  border-radius: 4px;
  border-radius: 0;
  box-sizing: border-box;
  display: inline-block;
  padding: .5em .6em;
  vertical-align: middle;
  background: #FFF;
}
/* base */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
  scroll-behavior: smooth;
}
*, ::before, ::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
body {
  color: #333;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
  font-size: 1.7rem;
  line-height: 1.8;
}
body.open{
  overflow-y:hidden;
}
@media (max-width: 1280px) {
  body {
    font-size: 1.7rem;
  }
}
@media (max-width: 1023px) {
  body {
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}
.wrapper {
  overflow: hidden;
  position: relative;
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}
.left {
  text-align: left;
}
.fsS {
  font-size: 85%;
}
.fsL {
  font-size: 110%;
}
.wMax {
  width: 100%;
}
.mt1em {
  margin-top: 1em;
}
.mt2em {
  margin-top: 2em;
}
.ml1em {
  margin-left: 1em;
}
.mb15 {
  margin-bottom: 15px;
}
.clearfix::after {
   content: "";
   display: block;
   clear: both;
}
.pc {
  display: block;
}
select {
  border-radius: 5px;
}
input[type="submit"] {
  padding: 3px 10px;
  border-radius: 5px;
  border: 1px solid #B7B7B7;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}
/* ==========================================================================
  header
  ========================================================================== */
header .header__inner {
  display: flex;
  justify-content: space-between;
  padding: 18px 40px 0;
  align-items: flex-end;
  position: relative;
  background: #FFF;
  gap: 0 15px;
}
header.header a {
  color: inherit;
  text-decoration: none;
}
header.header .logo {
  margin-bottom: 5px;
  line-height: 0;
  position: relative;
  z-index: 10;
}
/* sNav */
.sNav > ul {
  display: flex;
  font-size: 1.4rem;
  gap: 0 20px;
  align-items: center;
  justify-content: flex-end;
}
.sNav i {
  margin-right: 2px;
  color: #021499;
}
/* gNav */
.global-nav {
  margin-top: 15px;
  display: flex;
  gap: 0 35px;
}
.global-nav ul {
  list-style: none;
  display: flex;
  gap: 0 30px;
  justify-content: flex-end;
}
.global-nav #search {
  width: 230px;
}
.search-form {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid #CBCBCB;
  border-radius: 25px;
  background: #F7F7F7;
}
.search-form input {
  width: 230px;
  height: 31px;
  padding: 2px 15px 2px 5px;
  border: none;
  box-sizing: border-box;
  font-size: 1.6rem;
  outline: none;
  background: #F7F7F7;
  display: block;
}
.search-form input::placeholder {
    color: #777777;
  font-size: 1.4rem;
}
.search-form button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  border: none;
  background-color: transparent;
  cursor: pointer;
  margin-left: 10px;
}

.search-form button::before {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23777777'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}
.spMenu {
  display: none;
  list-style: none;
  align-items: center;
  gap: 0 10px;
  font-size: 0.95rem;
  text-align: center;
  white-space: nowrap;
  font-feature-settings: "palt";
}
.spMenu i {
  font-size: 2.0rem;
  color: #021499;
  display: block;
  margin-top: 7px;
}
/* hamburger menu */
.hamburger {
  display: none;
  height: 55px;
  margin-left: auto;
  position: relative;
  width: 55px;
  border: none;
  background-color: transparent;
  background: #021499;
  z-index: 10;
}
.hamburger.-active .hamburger__line {
  background-color: transparent;
}
.hamburger.-active .hamburger__line::before {
  top: 8px;
  transform: rotate(45deg);
  width: 100%;
}
.hamburger.-active .hamburger__line::after {
  top: 8px;
  transform: rotate(-45deg);
  width: 100%;
}
.hamburger.-active .hamburger__text::before {
  content: 'CLOSE';
}
.hamburger__line {
  display: block;
  height: 1px;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 25px;
  background-color: #FFF;
  transition: 0.4s;
}
.hamburger__line:before, .hamburger__line:after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  background-color: #FFF;
  transition: inherit;
}
.hamburger__line:before {
  top: 8px;
  width: 100%;
}
.hamburger__line:after {
  top: 16px;
}
.hamburger__text {
  position: absolute;
  bottom: 7px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
.hamburger__text::before {
  content: "MENU";
  text-align: center;
  color: #FFF;
  font-size: 10px;
}
.header__nav-area {
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 9;
  height: 100vh;
  width: 100%;
  visibility: hidden;
  background-color: #fff;
  transition: 0.4s;
  overflow-y: auto;
  font-size: 1.6rem;
}
.header__nav-area.-active {
  left: 0;
  visibility: visible;
}
.global-navigation {
  padding: 55px 20px 50px;
}
.global-navigation .link {
  font-size: 1.4rem;
  margin-top: 30px;
}
.global-navigation .link li::before {
  font: var(--fa-font-solid);
  content: "\f138";
  color: #021499;
  margin-right: 3px;
}
.global-navigation .link li + li {
  margin-top: 8px;
}
.global-navigation #search {
  margin-top: 20px;
}
.global-navigation #btn_close {
  background: #EFEFEF;
  padding: 15px;
  text-align: center;
  border-radius: 50px;
  display: block;
  width: 100%;
  margin-top: 30px;
}
.global-navigation__list > li {
  border-bottom: 1px solid #CECECE;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
}
.global-navigation__list a {
  display: block;
  flex: 1;
  font-size: 1.6rem;
  padding: 13px 10px;
  margin: 4px 0;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 500;
}
.global-navigation__list a:hover {
  background: #F7FAFC;
  opacity: 1.0;
}
@media (max-width: 1200px) {
  header .header__inner {
    padding: 18px 20px 0;
  }
  header.header .logo img {
    width: 290px;
  }
  .sNav > ul {
    font-size: 1.3rem;
    gap: 0 18px;
  }
  .global-nav ul {
    gap: 0 25px;
  }
}
@media screen and (max-width: 1024px) {
  header .header__inner {
    height: 55px;
    padding: 0 0 0 20px;
    border-bottom: 1px solid #CECECE;
    align-items: center;
    position: relative;
    z-index: 10;
  }
  header.header .logo {
    margin-bottom: 0px;
  }
  header.header .logo img {
    width: 220px;
  }
  header .header__inner > div:first-of-type {
    display: none;
  }
  .hamburger {
    display: block;
  }
  .spMenu {
    display: flex;
  }
}
@media screen and (max-width: 768px) {
  header .header__inner {
    padding: 0 0 0 15px;
  }
}

/* ==========================================================================
  main
  ========================================================================== */
.breadcrumb,
#pankuzu {
  margin: 15px auto 0;
  padding: 5px 40px;
  font-size: 1.3rem;
  color: #666;
  border-top: 1px solid #F0F0F0;
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  list-style: none;
}
.breadcrumb__list li::before {
  content: "/";
  font-size: 80%;
  margin: 0 10px;
}
.breadcrumb__list li:first-of-type::before {
  display: none;
}
.categoryTit {
  background-image: linear-gradient(135deg, rgba(228, 228, 243, 1), rgba(245, 246, 251, 1));
  margin-bottom: 60px;
  padding: 65px 40px;
  line-height: 1.4;
}
.categoryTit h1 {
  font-size: 4.0rem;
  font-weight: 500;
}
.pageTit {
  background: #EFEFEF;
  margin-bottom: 60px;
  padding: 45px 40px;
  line-height: 1.4;
  box-shadow: inset 0px 5px 5px -2px rgba(0, 0, 0, 0.3);
}
.pageTit h1 {
  font-size: 4.0rem;
  font-weight: 500;
  text-indent: -0.55em;
  margin-left: 1em;
}
.pageTit h1::before {
  content: "●";
  color: #021499;
  font-size: 1.8rem;
  transform: translateY(-4px);
  display: inline-block;
  margin-right: 10px;
}
.contents {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
.contents > section + section,
.mainContents > section + section {
  margin-top: 7em;
}
.contents:has(.mainContents) {
  display: flex;
  gap: 60px;
}
body#top .contents:has(.mainContents) {
  display: block;
}
.mainContents {
  flex: 1;
}
.pmiddle {
  padding: 0;
}
.mainContents > table {
  width: 100%;
}
aside.snav-area {
  width: 240px;
}
.navGroup {
  margin: 0 0 2em;
}
.navGroup .salesBox {
  background: #FFE8E8;
  color: #C90300;
  border: 3px solid #C90300;
  text-align: center;
  padding: 7px 20px;
  font-size: 1.8rem;
  margin-top: 15px;
  font-weight: 500;
  border-radius: 15px;
}
aside .snavTit {
  background: #021499;
  color: #FFF;
  padding: 10px 15px;
  border-radius: 10px;
  display: flex;
  gap: 3px;
  margin-bottom: 15px;
}
aside .snavTit::before {
  content: "●";
  display: inline-block;
  font-size: 10px;
  transform: translateY(6px);
}
.sideNav {
  font-weight: 500;
}
.sideNav a {
  color: inherit;
  text-decoration: none; 
}
.snav-area #login {
  border: 3px solid #FDA41E;
  border-radius: 5px;
  overflow: hidden;
  font-size: 1.4rem;
}
.snav-area #title {
  background: #FDA41E;
  text-align: center;
  color: #FFF;
  padding: 2px 10px 5px;
  font-size: 1.6rem;
  font-weight: 500;
}
.snav-area #login_inner {
  padding: 15px;
  font-weight: 500;
  text-align: center;
}
.snav-area #input_box {
  margin-top: 15px;
}
.snav-area #input_box input {
  margin-bottom: 10px;
  width: 100%;
}
.snav-area #forget {
  text-align: center;
}
.snav-area .btn_login {
  background: #021499;
  color: #FFF;
  display: block;
  padding: 8px 20px;
  width: 100%;
  font-size: 1.5rem;
  margin-top: 20px;
  border-radius: 30px;
}
.snav-area .btn_signUp {
  background: #FFF;
  border: 1px solid #021499;
  display: block;
  padding: 8px 20px;
  text-align: center;
  margin-top: 10px;
  border-radius: 30px;
  text-decoration: none;
}
/*.btnList {
  background: #F0F0F0;
  padding: 20px 35px;
  border-radius: 10px;
  margin-bottom: 70px;
  font-size: 1.8rem;
  font-weight: 500;
}
.btnList li::before {
  font: var(--fa-font-solid);
  content: "\f078";
  color: #021499;
  font-size: 1.4rem;
  margin-right: 3px;
}
.btnList a {
  color: inherit;
}
.btnList ul {
  display: flex;
  gap: 0 40px;
  flex-wrap: wrap;
}*/
.flame {
  margin-bottom: 5em;
}
.mainContents > .flame:last-of-type {
  margin-bottom: 0;
}
.flame h2 {
  border-bottom: solid 5px #EFEFEF;
  position: relative;
  font-size: 3.4rem;
  font-weight: 500;
  margin-bottom: 25px;
}
.flame h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 5px #021499;
  bottom: -5px;
  width: 170px;
}

.flame h3,
.goods_explain {
  font-size: 2.4rem;
  margin-top: 25px;
  margin-bottom: 15px;
  line-height: 1.6;
  padding-bottom: 5px;
  border-bottom: 2px solid #021499;
}

@media (max-width: 1200px) {
  .breadcrumb,
  #pankuzu {
    padding: 5px 20px;
  }
  .categoryTit {
    padding: 45px 20px;
    margin-bottom: 40px;
  }
  .categoryTit h1 {
    font-size: 3.6rem;
  }
  .pageTit {
    margin-bottom: 60px;
    padding: 35px 20px;
  }
  .pageTit h1 {
    font-size: 3.6rem;
  }
  .contents {
    padding: 0 20px;
  }
}
@media screen and (max-width: 1024px) {
  .breadcrumb,
  #pankuzu {
    margin: 0;
    border-top: none;
  }
  .contents:has(.mainContents) {
    flex-direction: column;
  }
  aside.snav-area {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .breadcrumb,
  #pankuzu {
    padding: 5px 15px;
  }
  .categoryTit {
    padding: 35px 15px;
    margin-bottom: 40px;
  }
  .categoryTit h1 {
    font-size: 2.6rem;
  }
  .pageTit {
    margin-bottom: 40px;
    padding: 25px 15px;
  }
  .pageTit h1 {
    font-size: 2.6rem;
  }
  .contents {
    padding: 0 15px;
  }
  .mainContents > table th,
  .mainContents > table td {
    display: block;
  }
  .flame h2 {
    font-size: 2.4rem;
    margin-bottom: 25px;
  }
  .flame h2:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 5px #021499;
    bottom: -5px;
    width: 170px;
  }
  .flame h3 {
    font-size: 2.0rem;
    margin-bottom: 20px;
  }
  .flame h4 {
    font-size: 1.8rem;
  }
  .flame table {
    border: none;
    border-top: 1px solid #B5B5B5;
    width: 100%;
  }
  .flame table tr {
    border-bottom: 1px solid #B5B5B5;
  }
  .flame table th,
  .flame table td {
    display: block;
    width: 100%;
    padding: 10px;
  }
  .flame .js-scrollable table th,
  .flame .js-scrollable table td {
    display: table-cell;
    width: auto;
    padding: 10px;
    white-space: nowrap;
  }
  .flame table th {
    border-top: none;
  }
  .flame table td {
    border-top: none;
    border-bottom: none;
  }
}

/* ==========================================================================
  footer
  ========================================================================== */
footer.footer {
  background: #F2F2F2;
  padding: 40px;
  margin-top: 120px;
}
footer.footer a {
  color: inherit;
  text-decoration: none;
}
footer.footer .footerColumn {
  display: flex;
  justify-content: space-between;
  gap: 15px 30px;
}
footer.footer .footerLogo img {
  width: 256px;
}
footer.footer .footerColumn > div {
  text-align: right;
  padding-top: 10px;
}
footer.footer .footerSubNav {
  font-size: 80%;
}
.footerSubNav ul {
  display: flex;
  gap: 0 20px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
footer.footer small {
  font-size: 75%;
}
#page-top a {
  display: block;
  width: 96px;
  height: 74px;
  color: #fff;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:1.8rem;
  transition:all 0.3s;
  position: relative;
}

#page-top a::before {
  content: "TOP";
  width: 58px;
  height: 58px;
  border-radius: 50px;
  background: #021499;
  display: flex;
  justify-content:center;
  align-items:center;
}
#page-top a img {
  position: absolute;
  right: 0px;
  bottom: 0px;
}
#page-top {
  position: fixed;
  right: 10px;
  bottom:10px;
  z-index: 2;
  opacity: 0;
  transform: translateY(100px);
}
#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}
#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}
@media screen and (max-width: 1024px) {
  footer.footer .footerColumn {
    flex-direction: column;
    text-align: center;
  }
  footer.footer .footerColumn > div {
    text-align: center;
  }
  .footerSubNav ul {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  footer.footer {
    padding: 40px 15px 30px;
    margin-top: 100px;
  }
}

/* ==========================================================================
  shop style
  ========================================================================== */

/* product-list */
.list_name {
  padding: 0;
  color: #021499;
  font-size: inherit;
}
.list_soat {
  padding: 0;
  color: inherit;
  font-size: inherit;
}
.list_count {
  margin: 15px 0 0;
  padding: 15px 0 0;
}
.list_goods {
  display: flex;
  gap: 20px 30px;
  border-bottom: 1px dotted #999;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.list_goods > .clear-both {
  display: none;
}
.list_goods img.list_goods_photo {
  width: 200px;
  border-radius: 5px;
}
.list_goods .product {
  flex: 1;
}
.list_goods_title {
  margin-bottom: 10px;
}
.list_goods .price_botton {
  display: flex;
  gap: 5px 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.list_goods .list_goods_price {
  font-size: 1.8rem;
  font-weight: 600;
}
.list_goods .comment {
  font-size: 1.4rem;
}
@media screen and (max-width: 568px) {
  .list_goods {
    gap: 20px 15px;
  }
  .list_goods img.list_goods_photo {
    width: 145px!important;
  }
  .list_goods .product {
    flex: auto;
    width: calc(100% - 145px - 15px);
  }
  .list_goods .list_goods_title {
    line-height: 1.4;;
  }
  .list_goods .price_botton {
    flex-direction: column;
    align-items: flex-start;
  }
  .list_goods .comment {
    display: none;
  }
}
/* product-list-image */
.list_table_top {
  margin: 0;
}
.list_item_table {
  width: 100%;
}
.list_item_table tr {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}
.list_item_table td {
  width: inherit;
  flex: 1;
}
.list_item_table br {
  display: none;
}
.photo_line_80 {
  width: 100%;
}
.photo_line_80 img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5 / 4;
  border-radius: 5px;
  background: #CECECE;
}
.list_table_middle {
  margin: 0;
  padding: 0;
}
.list_table_middle .style1_text {
  background: none;
  border: none;
}
.style1_text {
  margin-top: 10px;
  padding: 0;
}
.style1_text A {
  color: #021499!important;
}
.style1_text h2 {
  text-align: left;
  line-height: 1.4;
  font-size: 1.6rem;
  font-weight: 500;
  background: none;
  padding: 0;
}
.list_table_middle .style1_text .price {
  text-align: left;
  font-size: 1.8rem;
  font-weight: 600;
  background: none;
  border-bottom: none;
}
.mainContents table:last-child .sec_line_top {
  /*border-top: 1px solid #999;*/
}
@media screen and (max-width: 768px) {
  .list_item_table tr {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
  }
  .list_item_table td {
    width: calc((100% - 15px) / 2);
    flex: auto;
  }
}

/* help page */
.page_table_top {
  border-bottom: solid 5px #EFEFEF;
  position: relative;
  font-size: 3.4rem;
  font-weight: 500;
  margin-bottom: 25px;
  background: none;
  height: auto;
  padding: 0 0 15px;
  color: inherit;
  line-height: 1.4;
}
.page_table_top:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 5px #021499;
  bottom: -5px;
  width: 170px;
}
.page_table_middle {
  background: #F2F3FA;
  color: inherit;
  line-height: 1.8;
  font-size: inherit;
}
.page_table_middle .cart_table + .cart_table_bottom {
  border: none;
  margin-top: 1em;
}
.page_table_middle table ul {
  margin: 0 0 1em 1em;
  font-size: 90%;
}
.page_table_bottom {
  height: 2em;
}
.page_sub2_top {
  margin-bottom: 5px;
  color: #021499;
  height: auto;
}
.point_box {
  background: #FFF;
  padding: 10px;
  margin: 0;
  font-size: 90%;
  line-height: 1.6;
  border: dotted 1px #999;
}
.point_box a {
  text-decoration: underline;
}
.point_box .subicon03 {
  display: inline-block;
}
.point_box .subicon03::before {
  font: var(--fa-font-solid);
  content: "\f138";
  margin-right: 3px;
}
.point_box .subicon03 + .subicon03 {
  margin-left: 15px;
}
.login_inner .subicon03 a {
  display: block;
}
.point_box table {
  width: 100%;
}
.guide_text {
  margin-bottom: 1em;
  font-size: inherit;
  padding: 0;
}
.page_sub2_top {
  font-weight: bold;
}
.table_fream {
  width: 100%;
}
.table_fream ul {
  margin: 15px 0 0 1em;
  font-size: 90%;
}
img[class^="icon_"] {
  vertical-align: middle;
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .page_table_top {
    font-size: 2.4rem;
    margin-bottom: 25px;
  }
  .page_table_top:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 5px #021499;
    bottom: -5px;
    width: 170px;
  }
}
@media screen and (max-width: 568px) {
  .table_fream table tr,
  .page_table_middle > table:not([class]) tr {
    display: flex;
    flex-wrap: wrap;
  }
  .table_fream .point_box > table td {
    width: 50%;
  }
}
/* infomation */
.link_shop {
  margin: 0;
  padding: 0;
}
.link_shop_table {
  empty-cells: hide;
}
.link_shop_table .td_link_shop1,
.link_shop_table .td_link_shop2 {
  border-top: 1px solid #CECECE;
  width: auto;
}
.link_shop_table td {
  padding: 15px 10px;
}
.shop_title {
  font-weight: 500;
  height: auto;
  background: none;
  margin: 0;
  padding: 0;
  font-size: inherit;
  color: #021499;
  text-align: right;
}
.shop_link_text {
  font-size: inherit;
  padding: 0;
}
.link_shop_table .shop_title > div {
  display: inline;
}
@media screen and (max-width: 768px) {
  .link_shop_table td {
    padding: 10px 0;
    display: block;
    border: none;
  }
  .link_shop_table td.td_link_shop1 {
    padding-bottom: 0;
    text-align: left;
  }
  .link_shop_table .td_link_shop2 {
    border-top: none;
  }
  .shop_title {
    text-align: left;
  }
}
/* cart-step1 */
.cart_step_table {
  width: 100%;
  margin-bottom: 1em;
  font-size: inherit;
}
.cart_step_table td {
  background: #F2F3FA;
  border: 3px solid #FFF;
}
.cart_step_table td > div {
  padding: 10px 20px;
  text-align: center;
  line-height: 1.4;
  position: relative;
  font-size: 85%;
  height: 100%;
  color: inherit;
  border:none!important;
}
.cart_step_table td > div::after {
  font: var(--fa-font-solid);
  content: "\f0da";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.cart_step_table td:last-of-type > div::after {
  display: none;
}
.cart_step_table .cart_step_1_check,
.cart_step_table .cart_step_2_check,
.cart_step_table .cart_step_3_check {
  background: #021499;
  color: #FFF;
  font-weight: bold;
}
.cart_table {
  font-size: 90%;
  width: 100%;
  border-right: 1px solid #999;
  margin: 0;
}
.cart_table tr {
  border-bottom: 1px solid #999;
}
.cart_table td {
  padding: 10px 10px;
  vertical-align: middle;
}
.cart_table input[style="width: 45%"],
.cart_table_bottom input[style="width: 45%"] {
  /*width: auto!important;*/
  width: 100%!important;
}
.cart_table input[type="password"] {
  width: 100%!important;
}
.td_color1 {
  background: #DDDDDD;
  color: inherit;
  padding: 10px 10px;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  font-size: inherit;
  vertical-align: middle;
}
.td_color2 {
  /*width: auto!important;*/
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  background: #FFF;
  font-size: inherit;
}
.td_color3 {
  background: #EFEFEF;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  font-size: inherit;
  padding: 10px;
  vertical-align: middle;
}
.photo_line img {
  display: block;
  width: 100%;
}
.shipping_check {
  list-style: none;
  margin-left: 1em;
}
.cart_table_bottom {
  width: 100%;
  /*margin-top: 1em;*/
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  font-size: 90%;
}
.cart_price_box,
.charge {
  white-space: nowrap;
  color: #C90300;
  font-weight: bold;
  font-size: inherit;
  width: auto;
}
.secblank {
  display: none;
}
.page_table2_top {
  background: #021499;
  padding: 10px;
  height: auto;
  color: #FFF;
}
.page_table2_middle {
  background: #F2F3FA;
  color: inherit;
  line-height: 1.8;
  font-size: inherit;
  padding: 10px;
}
.page_sub_top {
  padding: 0;
  margin-top: 1em;
  color: #021499;
  border-bottom-color: #021499;
  font-size: 105%;
  height: auto;
}
.cartmailinput {
  width: 30%;
}
.memberinput {
  background: #021499!important;
  color: #FFF!important;
}
.priceb {
  font-size: inherit;
}
.point_box2 {
  font-size: inherit;
  margin: 0;
}
.link_bot_box {
  background-color: inherit;
  margin: 1em 0 0;
}
.bot_b input {
  background-color: #DCDCDC;
  color: inherit;
  border: none;
  padding: 5px 15px;
  border-radius: 5px;
}
.other_item .bot_b input {
  background-color: #D13437;
  color: #FFF;
  padding: 5px 20px;
}
.page_table2_middle .point_box form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.page_table2_middle .point_box .text-bold {
  width: 8em;
}
.page_table2_middle .point_box input {
  width: calc(100% - 22px - 8em );
}
.bot_b {
  width: 100%;
  text-align: center;
}
.bot_b input + input {
  margin-top: 5px;
}
.page_table2_middle .cart_table,
.page_table2_middle .cart_table_bottom {
  background: #FFF;
  margin-top: 1em;
  width: 100%;
}
.page_table2_middle .table_fream table td {
  width: auto;
}
.page_table2_middle .table_fream .cart_table tr:first-child td {
  /*width: 100%;*/
}
.bottom_check {
    width: 100%;
  }
@media screen and (max-width: 768px) {
  .cart_step_table tr {
    display: flex;
    flex-wrap: wrap;
  }
  .cart_step_table td {
    width: calc(100% / 3);
  }
  .page_table_middle {
    overflow-x: auto;
  }
  .page_table_middle ul {
    margin: 0 0 1em 1em;
  }
  .cart_table tr:not(:last-of-type) {
    border-bottom: none;
  }
  .page_table_middle .cart_table:has(.style1_photo) {
    border: none;
    background: none;
  }
  .page_table_middle .cart_table tr[align="center"]:first-of-type {
    display: none;
  }
  .page_table_middle .cart_table tr:has(.style1_photo) {
    padding: 15px 0;
  }
  .page_table_middle .cart_table tr > td:has(.style1_photo) {
    float:left;
    width: 30%!important;
    background: none;
    border: none;
  }
  .page_table_middle .cart_table tr:has(.style1_photo) td:nth-child(n+2) {
    width: 65%!important;
    text-align: left;
    display: block;
    float:right;
    padding: 3px 0;
    border: none;
    background: none;
  }
  .page_table_middle .cart_table tr:has(.style1_photo) td:nth-child(-n+2) {
    padding-top: 15px;
  }
  .page_table_middle .cart_table tr:has(.style1_photo) td:last-child {
    margin-bottom: 15px;
  }
  .style1_photo {
    margin: 0 0 15px;
  }
  .td_color2 {
    /*border: none;
    background: none;*/
  }
  /*.cart_table_bottom td {
    display: block;
  }*/
  .page_table2_middle .table_fream .cart_table tr:first-child td[colspan="3"],
  .page_table_middle tr:first-child td[colspan="3"] {
    width: 100%;
  }
}

@media screen and (max-width: 568px) {
  .cart_step_table td {
    width: calc(100% / 2);
  }
  .page_table2_middle .point_box form {
    flex-direction: column;
    align-items: flex-start;
  }
  .page_table2_middle .point_box input {
    width: 100%;
  }
  .page_table_middle .table_fream .cart_table .td_color3,
  .page_table_middle .table_fream .cart_table_bottom .td_color3,
  .page_table2_middle .table_fream .cart_table .td_color3,
  .page_table2_middle .table_fream .cart_table_bottom .td_color3,
  .page_table_middle table .td_color3 {
    flex: 1;
  }
  .page_table_middle .table_fream .cart_table .td_color2,
  .page_table_middle .table_fream .cart_table_bottom .td_color2,
  .page_table2_middle .table_fream .cart_table .td_color2,
  .page_table2_middle .table_fream .cart_table_bottom .td_color2 {
    width: 100%!important;
    /*border-top: 1px solid #999;
    border-left: 1px solid #999;*/
  }
  .cart_table_bottom td {
    display: block;
    width: auto;
  }
  .cart_table_bottom td.td_color2 {
    width: 100%;
  }
}

/* product */
.pro_goods {
  display: flex;
  justify-content: space-between;
}
.pro_goods .main_photo,
.pro_goods .main_purchase {
  width: 47%;
}
.main_photo {
  margin-bottom: 20px;
}
.main_photo img {
  width: 100%;
  border-radius: 5px;
}
.pro_goods_title {
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 20px;
  line-height: 1.6;
}
.pro_goods_price {
  margin-bottom: 20px;
  font-size: 110%;
}
.detail_sub_table02 tr {
  display: flex;
  gap: 15px;
}
.detail_sub_table02 td {
  flex: 1;
  width: auto;
}
.sub_item_photo .photo_line_140 img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  border-radius: 5px;
}
.main_purchase input {
  display: block;
  margin-top: 10px;
  border: none;
  cursor: pointer;
  width: 100%;
  padding: 15px 30px;
  border-radius: 5px;
}
.main_purchase input.cart_btn {
  background: #D13437;
  color: #FFF;
  font-size: 115%;
}
.main_purchase input.inquiryinput {
  background: #E3E3E3;
  font-size: 100%;
}
.pro_goods_tokuyaku {
  margin-top: 10px;
}
.pro_goods + .comment {
  margin-top: 3em;
}
.goods_explain {
  margin-top: 3em;
}
#detail_otherphoto {
  background: none;
}
.sub_item {
  border: none;
  padding: 0;
  margin: 0;
}
.sub_item_photo {
  margin: 0;
}
#detail_otherphoto .photo_line_140 {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .pro_goods {
    flex-direction: column;
  }
  .pro_goods .main_photo,
  .pro_goods .main_purchase {
    width: 100%;
  }
  .pro_goods_title {
    font-size: 2.0rem;
    margin-bottom: 10px;
  }
}
/* user_regist */
.error_box {
  font-size: 85%;
  padding: 15px;
  border: 2px solid #C90300;
  color: #C90300;
  border-radius: 10px;
}
.error_box ul {
  margin-left: 1em;
}
/* error_page */
.errorPage {
  border: 2px solid #FF0000;
  padding: 15px 25px 25px;
}
.errorPage h2 {
  margin: -15px -25px 20px;
  padding: 10px 25px;
  background: #FF0000;
  color: #FFF;
  font-size: 120%;
}
.errorPage h3 {
  color: #FF0000;
  font-size: 110%;
}
@media screen and (max-width: 768px) {
  .errorPage {
    padding: 10px 10px 20px;
  }
  .errorPage h2 {
    margin: -10px -10px 10px;
    padding: 5px 10px;
  }
}

/* return_policy */
#cart_return {
  padding: 10px;
  text-align: left;
}

/* toppage */
.pr {
  background: #F2F3FA;
  color: #021499;
  font-weight: 500;
  text-align: center;
  padding: 2px 10px 6px;
  margin-top: 15px;
}
.topImage {
  margin: 25px 0 70px;
  position: relative;
}
.topImage .swiper-slide {
  opacity: .3;
  border-radius: 5px;
  overflow: hidden;
}
.topImage .swiper-slide-active {
  opacity: 1; 
}
.swiper-pagination {
  position: static!important;
}
.swiper-pagination-bullet {
  border-radius: inherit!important;
  margin: 0 5px!important;
  width: 58px!important;
  height: 7px!important;
  opacity: 0.19;
}
.top_list_goods {
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
}
.top_list_goods > div {
  width: calc((100% - 34px * 2) / 3);
}
.top_list_goods [class^="top_goods_"] img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5 / 4;
  border-radius: 5px;
  background: #CECECE;
}
.top_list_goods [class^="top_goods_"] p:nth-child(2) {
  margin-top: 10px;
  line-height: 1.4;
  font-weight: 500;
}
.top_list_goods [class^="top_goods_"] .price {
  font-size: 1.8rem;
  font-weight: 600;
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .pr {
    font-size: 90%;
    line-height: 1.4;
  }
  .topImage {
    margin-bottom: 40px;
  }
  .top_list_goods {
    gap: 15px;
  }
  .top_list_goods > div {
  width: calc((100% - 15px * 1) / 2);
  }
}