@charset "utf-8";

:root {
  --gray: #afb9c3;
  --red: #f0c8c8;
  --yellow: #fad2b4;
  --darkblue: #115bc1;
  --darkyellow: #ff9600;
}



/* img ---------------- */
img {
  display: block;
  height: auto;
}


/* figure menu list ---------------- */
.figure-menu-list.navi-a { background-image: url(/html/user_data/assets/img/lp/polyester-bag/categories_01.png); }
.figure-menu-list.navi-n { background-image: url(/html/user_data/assets/img/lp/polyester-bag/categories_02.png); }
.figure-menu-list.navi-c { background-image: url(/html/user_data/assets/img/lp/polyester-bag/categories_03.png); }

.figure-menu-list.navi-a:hover { background-image: url(/html/user_data/assets/img/lp/polyester-bag/categories_01b.png); }
.figure-menu-list.navi-n:hover { background-image: url(/html/user_data/assets/img/lp/polyester-bag/categories_02b.png); }
.figure-menu-list.navi-c:hover { background-image: url(/html/user_data/assets/img/lp/polyester-bag/categories_03b.png); }
@media screen and (max-width: 667px) {
.figure-menu-list.navi-a:hover,
.figure-menu-list.navi-n:hover,
.figure-menu-list.navi-c:hover { background-image: none; }
}



/* button ---------------- */
.button-border { background-color: var(--gray); }
.button-border:hover {
  background-color: #fff;
  border-color: var(--gray);
}
.button-border:hover .button-inner,
.button-border:hover:after { color: var(--gray); }

.button-border.color-red { background-color: var(--red); }
.button-border.color-red:hover {
  background-color: #fff;
  border-color: var(--red);
}
.button-border.color-red:hover .button-inner,
.button-border.color-red:hover:after { color: var(--red); }

.button-border.color-yellow { background-color: var(--yellow); }
.button-border.color-yellow:hover {
  background-color: #fff;
  border-color: var(--yellow);
}
.button-border.color-yellow:hover .button-inner,
.button-border.color-yellow:hover:after { color: var(--yellow); }



/* entry & login button ----------------------- */
.entry-button { background-color: #115bc1; }
.entry-button:hover {
  background-color: #fff;
  border-color: #115bc1;
}
.entry-button:hover .button-inner,
.entry-button:hover:after { color: #115bc1; }

.login-button { background-color: #ff9600; }
.login-button:hover {
  background-color: #fff;
  border-color: #ff9600;
}
.login-button:hover .button-inner,
.login-button:hover:after { color: #ff9600; }

.entry-button:before { color: #115bc1; }
.login-button:before { color: #ff9600; }

.under-button-emphasis-sentence { font-weight: 600; }



/* headline ---------------- */
.headline-underline-half-inner {
  text-decoration-color: var(--gray);
  color: var(--gray);
}
.color-darkblue .headline-underline-half-inner {
  text-decoration-color: var(--darkblue);
  color: var(--darkblue);
}

.headline-frame { background-color: var(--gray); }
.headline-frame.color-red { background-color: var(--red); }
.headline-frame.color-yellow { background-color: var(--yellow); }
.headline-frame-inner { color: #fff; }

.headline-leftline { border-left-color: var(--gray); }
.headline-leftline-inner { color: var(--gray); }
.headline-leftline.color-red { border-left-color: var(--red); }
.color-red .headline-leftline-inner { color: var(--red); }
.headline-leftline.color-yellow { border-left-color: var(--yellow); }
.color-yellow .headline-leftline-inner { color: var(--yellow); }



/* background gray ---------------- */
.background-gray {
  background-color: #f0f0f0;
  border-radius: 10px;
  padding: 50px 90px;
}
@media screen and (max-width: 667px) {
.background-gray { padding: 40px 20px; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {
.background-gray { padding: 50px 20px; }
}

.background-gray h3 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.45;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner {
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 0;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner.icon-number:nth-child(n+2) { margin-top: 50px; }
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner.icon-number h3 { padding: 2.65em 0 0; }
.background-gray-inner.icon-number h3 span {
  border: 1px solid #000;
  border-radius: 1em;
  display: block;
  font-family: sans-serif;
  font-size: 30px;
  font-weight: 400;
  left: 50%;
  line-height: 1.8;
  position: absolute;
  text-align: center;
  top: -.3em;
  transform: translateX(-50%);
  width: 1.85em;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner.new-mark { position: relative; }
.background-gray-inner.new-mark:after {
  align-items: center;
  background-color: #f00;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 18px;
  color: #fff;
  content: 'NEW';
  display: flex;
  font-size: .75em;
  font-weight: 600;
  height: 36px;
  left: 0;
  line-height: 1;
  padding: 0 .3em;
  position: absolute;
  top: 0;
  width: 36px;
  z-index: 2;
}



/* explanation ---------------- */
.explanation {
  align-items: flex-start;
  display: flex;
  gap: 2em;
  justify-content: center;
  margin: 2em auto 0;
  padding: 0 0 100px;
  width: 100%;
}
@media screen and (max-width: 667px) {
.explanation {
  flex-wrap: wrap;
  padding: 0 0 50px;
}
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {
.explanation { padding: 0 0 70px; }
}

.explanation div,
.explanation img { width: 48%; }
@media screen and (max-width: 667px) {
.explanation div,
.explanation img { width: 100%; }
}

.explanation div p {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.explanation .article-arrow-link-after { margin: 2em 0 0; }
@media screen and (max-width: 667px) {
.explanation .article-arrow-link-after { margin: 1em 0 0; }
}



/* about polyester reason ---------------- */
.about-polyester-reason {
  display: flex;
  gap: 1.2em;
  justify-content: center;
  margin: 20px auto 0;
  padding: 0;
  width: 90%;
}
@media screen and (max-width: 667px) {
.about-polyester-reason { flex-wrap: wrap; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.about-polyester-reason div { width: 18%; }
@media screen and (max-width: 667px) {
.about-polyester-reason div { width: 100%; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.about-polyester-reason dt {
  color: var(--gray);
  display: block;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  padding: 0 0 1em;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 667px) {
.about-polyester-reason dt { padding-bottom: 0; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.about-polyester-reason dt:after {
  background-image: url(/html/user_data/assets/img/lp/polyester-bag/icon_nijyuumaru.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
  bottom: -.5em;
  content: '';
  display: block;
  height: 90px;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 667px) {
.about-polyester-reason dt:after { background-size: 70%; }
}

.about-polyester-reason dd {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}



/* line up ---------------- */
.line-up {
  display: flex;
  gap: 1.2em;
  justify-content: center;
  margin: 20px auto 0;
  padding: 0;
  width: 90%;
}
@media screen and (max-width: 667px) {
.line-up { flex-wrap: wrap; }
}

.line-up li { width: 18.5%; }
@media screen and (max-width: 667px) {
.line-up li { width: 100%; }
.line-up li img { margin: 0 auto; }
}

.line-up p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
  padding: 0;
  text-align: center;
}
@media screen and (max-width: 667px) {
.line-up p { line-height: 1.3; }
}

.line-up p strong {
  color: var(--gray);
  display: block;
  font-weight: 600;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.line-up p span { font-size: 1.46em; }



/* background gray inner flex ---------------- */
.background-gray-inner-flex {
  align-items: flex-start;
  display: flex;
  gap: 1em;
  justify-content: center;
  margin: 15px auto 0;
  width: 90%;
}
@media screen and (max-width: 667px) {
.background-gray-inner-flex { flex-wrap: wrap; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner-flex div,
.background-gray-inner-flex img { width: 48%; }
@media screen and (max-width: 667px) {
.background-gray-inner-flex div,
.background-gray-inner-flex img { width: 100%; }
.background-gray-inner-flex img { margin-top: 1em; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner-flex h4 {
  color: var(--gray);
  font-size: 22px;
  line-height: 1.45;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner-flex p {
  font-size: 15px;
  line-height: 1.8;
  margin: 1.3em 0 0;
  padding: 0;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

p.supplement {
  font-size: .8em;
  margin: 2em 0 0;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

p.supplement:before { content: '※'; }



/* product type flex ---------------- */
.product-type-flex {
  display: flex;
  margin: 15px auto 0;
  width: 95%;
}
@media screen and (max-width: 667px) {
.product-type-flex { flex-wrap: wrap; }
}

.product-type-flex-contents { width: 50%; }
@media screen and (max-width: 667px) {
.product-type-flex-contents { width: 100%; }
.product-type-flex-contents:nth-child(n+2) { margin: 3em 0 0; }
}

.product-type-flex-label {
  color: #fff;
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  padding: 0;
  text-align: center;
  width: 100px;
}

.product-type-flex-contents:nth-child(odd) .product-type-flex-label {
  background-color: #73cde1;
  border-radius: 1em 0 0 1em;
  margin: 0 0 0 auto;
}
.product-type-flex-contents:nth-child(even) .product-type-flex-label {
  background-color: #f59ba5;
  border-radius: 0 1em 1em 0;
  margin: 0 auto 0 0;
}
@media screen and (max-width: 667px) {
.product-type-flex-contents:nth-child(odd) .product-type-flex-label,
.product-type-flex-contents:nth-child(even) .product-type-flex-label {
  border-radius: 1em;
  margin: 0 auto;
}
}

.product-type-flex-label + span {
  display: block;
  height: 1px;
  position: relative;
  width: 95%;
}
@media screen and (max-width: 667px) {
.product-type-flex-label + span { display: none; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.product-type-flex-contents:nth-child(odd) .product-type-flex-label + span {
  background-color: #73cde1;
  margin: 1.2em 0 2em auto;
}
.product-type-flex-contents:nth-child(even) .product-type-flex-label + span {
  background-color: #f59ba5;
  margin: 1.2em auto 2em 0;
}

.product-type-flex-label + span:before,
.product-type-flex-label + span:after {
  border-style: solid;
  border-width: .06em;
  content: '';
  display: block;
  top: 50%;
  position: absolute;
  width: 1.5em;
}

.product-type-flex-label + span:before { top: -.35em; }
.product-type-flex-label + span:after { top: .35em; }

.product-type-flex-contents:nth-child(1) .product-type-flex-label + span:before,
.product-type-flex-contents:nth-child(1) .product-type-flex-label + span:after {
  border-color: #73cde1;
  left: -.2em;
}
.product-type-flex-contents:nth-child(2) .product-type-flex-label + span:before,
.product-type-flex-contents:nth-child(2) .product-type-flex-label + span:after {
  border-color: #f59ba5;
  right: -.2em;
}

.product-type-flex-contents:nth-child(1) .product-type-flex-label + span:before { transform: rotate(-30deg); }
.product-type-flex-contents:nth-child(1) .product-type-flex-label + span:after { transform: rotate(30deg); }

.product-type-flex-contents:nth-child(2) .product-type-flex-label + span:before { transform: rotate(-150deg); }
.product-type-flex-contents:nth-child(2) .product-type-flex-label + span:after { transform: rotate(150deg); }

.product-type-explanation {
  display: flex;
  width: 100%;
}
@media screen and (max-width: 1024px) {
.product-type-explanation {
  flex-wrap: wrap;
  margin: 1em 0 1.5em;
}
}

.product-type-flex-contents:nth-child(2) .product-type-explanation { padding-left: 2.5em; }
@media screen and (max-width: 1024px) {
.product-type-flex-contents:nth-child(2) .product-type-explanation { padding-left: 0; }
}

.product-type-explanation > span {
  display: block;
  font-size: 15px;
}
.product-type-explanation > span:nth-child(1) { width: 60% }
.product-type-explanation > span:nth-child(2) {
  font-weight: 600;
  line-height: 1;
  text-align: right;
  width: 35%
}
@media screen and (max-width: 1024px) {
.product-type-explanation > span:nth-child(1),
.product-type-explanation > span:nth-child(2) {
  text-align: center;
  width: 100%;
}
}

.product-type-explanation > span span { font-size: 1.6em; }

.product-type-example {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
}
@media screen and (max-width: 667px) {
.product-type-example { gap: 2em; }
}

.product-type-example div { width: 43%; }
@media screen and (max-width: 667px) {
.product-type-example div { width: 95%; }
.product-type-example div img { margin: 0 auto; }
}

.product-type-example div img + p {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
  padding: 0 0 1em;
}
@media screen and (max-width: 667px) {
.product-type-example div img + p { text-align: center; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {
.product-type-example div img + p { font-size: 14px; }
}

.product-type-example div img + p + p {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 667px) {}




/* .background gray inner wrap ---------------- */
.background-gray-inner-wrap {
  display: flex;
  gap: 2em;
  width: 100%;
}
@media screen and (max-width: 667px) {
.background-gray-inner-wrap { flex-wrap: wrap; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {
.background-gray-inner-wrap { gap: 1em; }
}

.background-gray-inner-wrap .background-gray-inner {
  padding-bottom: 0;
  width: 48.3%;
}
@media screen and (max-width: 667px) {
.background-gray-inner-wrap .background-gray-inner { width: 100%; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {
.background-gray-inner-wrap .background-gray-inner { width: 50%; }
}

.background-gray-inner-wrap .background-gray-inner .headline-underline-half-inner {
  color: #000;
  font-size: 18px;
  text-decoration-color: #000;
  text-decoration-thickness: 2px;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner-wrap .background-gray-inner h4 {
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
  margin: 1.2em 0 0;
  padding: 0 0 1em;
  text-align: center;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner-wrap .background-gray-inner h4 + p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0 auto;
  min-height: 9em;
  padding: 0;
  width: 86%;
}
@media screen and (max-width: 667px) {
.background-gray-inner-wrap .background-gray-inner h4 + p {
  margin-bottom: 1em;
  min-height: auto;
}
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {
.background-gray-inner-wrap .background-gray-inner h4 + p { line-height: 1.5; }
}

.background-gray-inner-wrap .background-gray-inner h4 + p + a {
  background-color: #f0f0f0;
  display: block;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.background-gray-inner-wrap .background-gray-inner h4 + p + a img { transition: .3s; }
.background-gray-inner-wrap .background-gray-inner h4 + p + a:hover img { opacity: .7; }

.background-gray-inner .button-wrap {
  background-color: #f0f0f0;
  gap: 1em;
  justify-content: center;
  margin: 0 auto;
  padding: 2em 0 0;
  width: 100%;
}

.background-gray-inner .button-border {
  height: 4em;
  margin-top: 0;
  width: 40%;
}
@media screen and (max-width: 1024px) {
.background-gray-inner .button-border { width: 100%; }
}



/* flex line ---------------- */
.flex-line { align-items: normal; }
.flex-line-description.color-red { border-color: var(--red); }
.flex-line-description.color-gray { border-color: var(--gray); }
.flex-line-description.color-yellow { border-color: var(--yellow); }

.flex-line-description-dt {
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}



/* onepoint ---------------- */
.onepoint {
  border: 2px solid var(--gray);
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 2.4em;
  justify-content: center;
  margin: 2em 0 3.125em;
  padding: 30px;
}
@media screen and (max-width: 667px) {
.onepoint { gap: 2em; }
}

.onepoint div { width: 47%; }
.onepoint img { width: 48.8%; }
@media screen and (max-width: 667px) {
.onepoint div,
.onepoint img { width: 100%; }
}
@media only screen and (min-width: 668px) and (max-width: 1024px) {
.onepoint div { width: 100%; }
.onepoint img {
  margin: 0 auto;
  width: auto;
}
}

.onepoint-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  padding: 1.7em 0 1em;
  position: relative;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.onepoint-title:before {
  border: 1px solid #000;
  border-radius: 2em;
  content: 'コンパクト';
  display: inline-block;
  font-size: 10px;
  left: 0;
  line-height: 1.8;
  margin: 0;
  padding: 0 1em;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}

.onepoint-sentence {
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
  padding: 10;
}
@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}



/* product type label ---------------- */
.product-type-label {
  display: flex;
  gap: .2em;
  margin: .5em 0 0;
  padding: 0;
}

.product-type-label li {
  border-radius: 2em;
  box-sizing: border-box;
  display: inline-block;
  font-size: 10px;
  line-height: 1.8;
  margin: 0;
  padding: 0 1em;
}
@media screen and (max-width: 667px) {
.product-type-label li { padding: 0 .5em; }
}

.usude,
.atsude,
.regicago,
.twoway,
.pocket-shoumen,
.pocket-uchi,
.fastener,
.ajaster,
.stoper,
.machi  { color: #fff; }
.compact {
  border: 1px solid #000;
  color: #000;
}
.usude { background-color: #73cde1; }
.atsude { background-color: #f59ba5; }
.regicago { background-color: #fadc6e; }
.twoway { background-color: #c8b4a0; }
.pocket-shoumen { background-color: #96b4e1; }
.pocket-uchi { background-color: #ffbe82; }
.fastener { background-color: #76d6b1; }
.ajaster { background-color: #c891f5; }
.stoper { background-color: #b4e682; }
.machi { background-color: #aadcdc; }
.compact { background-color: #fff; }




@media screen and (max-width: 667px) {}
@media only screen and (min-width: 668px) and (max-width: 1024px) {}