@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://use.fontawesome.com/releases/v5.8.2/css/all.css");
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 {
  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;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

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;
}

hr {
  border: 0;
  border-top: 1px solid #cccccc;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* ===================================================
  none
==================================================== */
.none {
  display: none !important;
}

@media screen and (min-width: 325px) {
  .none-ss {
    display: none !important;
  }
}
@media screen and (min-width: 1240px) {
  .none-md {
    display: none !important;
  }
}
@media screen and (min-width: 1240px) {
  .none-xl {
    display: none !important;
  }
}
.none-d {
  display: none !important;
}

@media screen and (max-width: 324px) {
  .none-d-ss {
    display: none !important;
  }
}
@media screen and (max-width: 1239px) {
  .none-d-md {
    display: none !important;
  }
}
@media screen and (max-width: 1239px) {
  .none-d-xl {
    display: none !important;
  }
}
/* ===================================================
  base
==================================================== */
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  color: #333;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  position: relative;
}

@media screen and (max-width: 1239px) {
  body {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1240px) {
  body {
    font-size: 1.6rem;
  }
}
a {
  color: #3A9ACA;
  text-decoration: none;
}

@media screen and (min-width: 1240px) {
  a:hover {
    text-decoration: none;
  }
  a:hover img {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

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

main {
  display: block;
}

button,
input[type=button],
input[type=submit] {
  cursor: pointer;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

button:hover,
input[type=button]:hover,
input[type=submit]:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media print {
  body > *:not(main),
  .gnav {
    display: none;
  }
}
/* スキップリンク
========================================== */
body > [href="#main"] {
  position: absolute;
  right: 100%;
  top: 0;
}

body > [href="#main"]:focus {
  right: auto;
}

/* 空要素
========================================== */
main p:empty {
  display: none;
}

/* 背景固定
========================================== */
body.is-fixed {
  position: fixed;
  width: 100%;
}

/* contents
========================================== */
.contents {
  line-height: 1.7;
  margin-bottom: 50px;
  margin-top: 10px;
  width: 100%;
  word-wrap: break-word;
}

@media screen and (max-width: 1239px) {
  .contents {
    padding-left: 15px;
    padding-right: 15px;
  }
  .contents.is-full {
    padding-left: 0;
    padding-right: 0;
  }
  /* 4系移行に伴うセレクタ重複への対応 */
  .contents .contents {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1240px) {
  .contents {
    margin-bottom: 100px;
    margin-left: auto;
    margin-right: auto;
    width: 980px;
  }
  .contents.is-full {
    width: 100%;
  }
}
/* ===========================================
  fotorama overwrite
=========================================== */
.fotorama--fullscreen .fotorama__fullscreen-icon {
  background: url(/img/libs/fotorama/fotorama_close.png) no-repeat 50%;
  background-position: 0 0;
  right: 10px;
  top: 10px;
}

.fotorama__wrap {
  margin: 0 auto;
}

/* ===========================================
  swiper overwrite
=========================================== */
.swiper {
  padding-bottom: 25px;
}


@media screen and (min-width: 768px) {
  .swiper {
    padding-bottom: 35px;
  }
}
.swiper-wrapper {
  position: relative;
}

.swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 2.6666666667vw;
  justify-content: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .swiper-pagination {
    gap: 10px;
  }
}
.swiper-horizontal > .swiper-pagination-bullets {
  bottom: 0;
  line-height: 0;
}

.swiper-pagination-bullet {
  background: #e5e5e5;
  border-radius: 0;
  color: #000;
  height: 4vw;
  opacity: 1;
  text-align: center;
  width: 4vw;
}

@media screen and (min-width: 768px) {
  .swiper-pagination-bullet {
    height: 15px;
    width: 15px;
  }
}
.swiper-pagination-bullet-active {
  background: #909090;
  color: #fff;
}

.swiper-button_wrapper {
  inset: 0;
  margin: auto;
  pointer-events: none;
  position: absolute;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .swiper-button_wrapper {
    height: 8vw;
  }
}
@media screen and (max-width: 1239px) {
  .swiper-button_wrapper {
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 1240px) {
  .swiper-button_wrapper {
    height: 2.7777777778vw;
  }
}
@media screen and (min-width: 768px) {
  .swiper-button_wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1240px) {
  .swiper-button_wrapper {
    height: 40px;
    width: 68.0555555556vw;
  }
}
.swiper-button-prev,
.swiper-button-next {
  pointer-events: auto;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  display: block;
  height: 8vw;
  width: 8vw;
}

@media screen and (min-width: 768px) {
  .swiper-button-prev:after,
  .swiper-button-next:after {
    height: 40px;
    width: 40px;
  }
}
.swiper-button-prev:after {
  background: url(../img/common/prev.svg) center center no-repeat;
  content: "";
}

@media screen and (max-width: 767px) {
  .swiper-button-prev:after {
    background-size: 5.3333333333vw;
  }
}
.swiper-button-next:after {
  background: url(../img/common/next.svg) center center no-repeat;
  content: "";
}

@media screen and (max-width: 767px) {
  .swiper-button-next:after {
    background-size: 5.3333333333vw;
  }
}
/* top hero
================================== */
.js-hero.swiper .swiper {
  padding-bottom: 0;
}

.js-hero.swiper .swiper-button_wrapper {
  inset: 0;
  margin: auto;
  position: absolute;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .js-hero.swiper .swiper-button_wrapper {
    height: 8vw;
  }
}
@media screen and (max-width: 1239px) {
  .js-hero.swiper .swiper-button_wrapper {
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 1240px) {
  .js-hero.swiper .swiper-button_wrapper {
    height: 2.7777777778vw;
  }
}
@media screen and (min-width: 768px) {
  .js-hero.swiper .swiper-button_wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1240px) {
  .js-hero.swiper .swiper-button_wrapper {
    height: 40px;
    /* width: 68.0555555556vw; */
    width: 43.05555vw;
  }
}
.js-hero.swiper .swiper-button-prev,
.js-hero.swiper .swiper-button-next {
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  color: #333;
  cursor: pointer;
  display: flex;
  height: 8vw;
  justify-content: center;
  pointer-events: auto;
  position: absolute;
  top: -5.3333333333vw;
  width: 8vw;
}

@media screen and (min-width: 768px) {
  .js-hero.swiper .swiper-button-prev,
  .js-hero.swiper .swiper-button-next {
    bottom: 0;
    height: 40px;
    position: relative;
    top: -40px;
    width: 40px;
  }
}
.js-hero.swiper .swiper-button-prev {
  left: 0;
  margin: 0 auto 0 0;
  right: auto;
}

.js-hero.swiper .swiper-button-next {
  left: auto;
  margin: 0 0 0 auto;
  right: 0;
}

/* category technicalguide
================================== */
#js-technicalguide.swiper {
  padding-bottom: 0;
}

#js-technicalguide.swiper .swiper-button_wrapper {
  inset: 0;
  margin: auto;
  position: absolute;
  width: 100%;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  #js-technicalguide.swiper .swiper-button_wrapper {
    height: 8vw;
  }
}
@media (min-width: 768px) and (max-width: 1240px) {
  #js-technicalguide.swiper .swiper-button_wrapper {
    height: 2.7777777778vw;
  }
}
@media screen and (min-width: 768px) {
  #js-technicalguide.swiper .swiper-button_wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
    max-width: 980px;
    top: -35px;
  }
}
@media screen and (min-width: 1240px) {
  #js-technicalguide.swiper .swiper-button_wrapper {
    height: 40px;
    width: 68.0555555556vw;
  }
}
#js-technicalguide.swiper .swiper-button-prev,
#js-technicalguide.swiper .swiper-button-next {
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  display: flex;
  height: 8vw;
  justify-content: center;
  margin: 0;
  position: absolute;
  top: -5.3333333333vw;
  width: 8vw;
}

@media screen and (min-width: 768px) {
  #js-technicalguide.swiper .swiper-button-prev,
  #js-technicalguide.swiper .swiper-button-next {
    bottom: 0;
    height: 40px;
    position: relative;
    top: 0;
    width: 40px;
  }
}
#js-technicalguide.swiper .swiper-button-prev,
#js-technicalguide.swiper .swiper-rtl .swiper-button-next {
  left: 0;
  right: auto;
}

#js-technicalguide.swiper .swiper-button-next,
#js-technicalguide.swiper .swiper-rtl .swiper-button-prev {
  left: auto;
  right: 0;
}

/* brand
================================== */
.ct-main_visual.swiper {
  margin-bottom: 35px;
}

.ct-main_visual .swiper-pagination {
  margin-top: 15px;
}

.ct-main_brand .swiper-pagination {
  margin-top: 15px;
}

/* ===========================================
  breadcrumbs
=========================================== */
.breadcrumbs {
  color: #909090;
  font-size: 1.1rem;
  margin: 15px 0 20px;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 1240px) {
  .breadcrumbs {
    font-size: 1.2rem;
    margin: 15px auto 40px;
  }
}
.breadcrumbs a {
  color: #909090;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumbs_list {
  display: flex;
  flex-flow: wrap;
}

.breadcrumbs_list li::after {
  content: ">";
  margin-left: 5px;
  margin-right: 5px;
}

.breadcrumbs_list li:last-child::after {
  content: "";
}

/* ===========================================
  button
=========================================== */
.btn-viewall a {
  border: 1px solid #333;
  color: #333;
  display: inline-block;
  font-family: "Open Sans", sans-serif;
  font-size: 1.7rem;
  padding: 8px 14px 8px 27px;
}

@media screen and (min-width: 1240px) {
  .btn-viewall a {
    font-size: 2rem;
    padding: 10px 16px 10px 32px;
  }
  .btn-viewall a:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
.btn-viewall img {
  margin-left: 13px;
  padding-bottom: 2px;
  vertical-align: middle;
}

@media screen and (min-width: 1240px) {
  .btn-viewall img {
    margin-left: 15px;
  }
}
/* go back
========================================== */
.btn-goBack {
  margin-top: 20px;
  text-align: center;
}

.btn-goBack a {
  background: #595959;
  color: #fff;
  display: inline-block;
  padding: 10px 30px 10px 40px;
  position: relative;
}

.btn-goBack a::before {
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 5px;
  left: 10px;
  margin: auto;
  position: absolute;
  top: 0;
  transform: rotate(-135deg);
  vertical-align: middle;
  width: 5px;
}

@media screen and (min-width: 1240px) {
  .btn-goBack a::before {
    left: 15px;
  }
}
.btn-goBack a:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

.btn-goToTop {
  text-align: center;
}

.btn-goToTop a {
  background: #000;
  color: #fff;
  display: inline-block;
  padding: 10px 15px;
  position: relative;
}

@media screen and (min-width: 1240px) {
  .btn-goToTop a {
    min-width: 210px;
  }
}
.btn-goToTop a:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

/* share
========================================== */
.btn-share_fb {
  height: 22px;
  width: 112px;
}

.btn-share_tw {
  height: 22px;
  width: 74px;
}

/* group
========================================== */
.btn-group {
  text-align: center;
}

.btn-group:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

/* ===========================================
  filter
=========================================== */
@media screen and (max-width: 1239px) {
  .filter-area_inner {
    padding-bottom: 24px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 1240px) {
  .filter-area_inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    min-height: 80px;
    width: 980px;
  }
}
@media screen and (min-width: 1240px) {
  .filter-area_inner .breadcrumbs {
    font-size: 1.2rem;
    margin: 0;
  }
}
.filter-block {
  margin-bottom: 40px;
}

.filter-toggle.is-open .filter-toggle_btn::before {
  background: #fff url(../img/common/icn_filter_on.svg) 25px center no-repeat;
  color: #333;
}

.filter-toggle_btn {
  background: rgb(102, 102, 102);
  background: linear-gradient(180deg, rgb(102, 102, 102) 0%, rgb(51, 51, 51) 80%);
  border: 1px solid #333;
  border-radius: 5px;
  color: #fff;
  display: block;
  filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.4));
  font-size: 1.6rem;
  padding: 10px 0;
  position: relative;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .filter-toggle_btn {
    font-size: 2rem;
    margin: 0 auto;
    padding: 5px 10px 4px;
    width: 420px;
  }
}
.filter-toggle_btn::before {
  background: url(../img/common/icn_filter_off.svg) left center no-repeat;
  content: "";
  display: inline-block;
  height: 16px;
  margin-bottom: 4px;
  margin-right: 10px;
  vertical-align: middle;
  width: 24px;
}

.filter-toggle_btn::after {
  background: url(../img/common/icn_filter_arrw_off.svg) right center no-repeat;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  right: 20px;
  top: 0;
  width: 13px;
}

.filter-toggle_btn.is-open {
  background: #fff;
  color: #333;
}

.filter-toggle_btn.is-open::before {
  background: url(../img/common/icn_filter_on.svg) left center no-repeat;
}

.filter-toggle_btn.is-open::after {
  background: url(../img/common/icn_filter_arrw_on.svg) right center no-repeat;
}

@media screen and (min-width: 1240px) {
  .filter-toggle_btn:hover {
    cursor: pointer;
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
.filter-body {
  background: #f6f6f6;
  display: none;
  padding-bottom: 30px;
  padding-top: 40px;
}

@media screen and (min-width: 1240px) {
  .filter-body {
    padding-bottom: 60px;
    padding-top: 70px;
  }
}
.filter-body_inner {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 1240px) {
  .filter-body_inner {
    width: 980px;
  }
}
.filter-ttl {
  border-bottom: 1px solid #e5e5e5;
  font-size: 2.4rem;
  padding-bottom: 15px;
  text-align: center;
}

.filter-box {
  margin-bottom: 40px;
}

.filter-box dt {
  background: url(../img/common/arrow_down.svg) calc(100% - 20px) center no-repeat;
  background-size: 12px;
  border-bottom: 1px solid #e5e5e5;
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 13px 20px;
}

@media screen and (min-width: 1240px) {
  .filter-box dt {
    background-size: 15px;
    font-size: 1.6rem;
    padding: 15px;
  }
}
.filter-box dt.is-open {
  background: url(../img/common/arrow_up.svg) calc(100% - 20px) center no-repeat;
  background-size: 12px;
}

@media screen and (min-width: 1240px) {
  .filter-box dt.is-open {
    background-size: 15px;
  }
}
.filter-box dd {
  background: #e5e5e5;
  display: none;
  padding: 20px 10px 0 20px;
}

.filter-group {
  display: flex;
  flex-flow: row wrap;
}

.filter-group label {
  display: flex;
  line-height: 1.4;
  margin-bottom: 15px;
  margin-right: 10px;
  width: calc(50% - 10px);
}

@media screen and (min-width: 1240px) {
  .filter-group label {
    margin-bottom: 15px;
    margin-right: 10px;
    width: calc(20% - 10px);
  }
}
.filter-group input[type=checkbox] {
  background: #fff;
  height: 18px;
  margin-right: 5px;
  margin-top: 0;
  width: 18px;
}

.filter-group input[type=radio] {
  background: #fff;
  border-radius: 50px;
  height: 18px;
  margin-right: 5px;
  margin-top: 0;
  width: 18px;
}

.filter-btn_list {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 20px 10px;
}

@media screen and (min-width: 1240px) {
  .filter-btn_list {
    justify-content: center;
  }
}
@media screen and (max-width: 1239px) {
  .filter-btn_list li {
    margin-left: 5px;
    margin-right: 5px;
    width: calc(50% - 5px);
  }
}
@media screen and (min-width: 1240px) {
  .filter-btn_list li {
    margin-left: 10px;
    margin-right: 10px;
  }
}
.filter-clear_btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #fff;
  border: 1px solid #505050;
  border-radius: 0;
  color: #333;
  display: block;
  font-size: 1.4rem;
  padding: 9px 10px;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .filter-clear_btn {
    font-size: 1.6rem;
    width: 180px;
  }
  .filter-clear_btn:hover {
    cursor: pointer;
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
.filter-filter_btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #333 url(../img/common/icn_search_white.svg) 20px center no-repeat;
  background-size: 14px;
  border: 1px solid #333;
  border-radius: 0;
  color: #fff;
  display: block;
  font-size: 1.4rem;
  padding: 9px 10px 9px 25px;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .filter-filter_btn {
    background-size: 16px;
    font-size: 1.6rem;
    padding: 9px 10px 9px 25px;
    width: 180px;
  }
  .filter-filter_btn:hover {
    cursor: pointer;
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
/* ===========================================
  fixedNav
=========================================== */
.fixedNav {
  bottom: 20px;
  position: fixed;
  right: 20px;
  width: 40px;
  z-index: 1;
}

@media screen and (min-width: 1240px) {
  .fixedNav {
    width: 56px;
  }
}
@media screen and (min-width: 1240px) {
  .fixedNav li {
    margin-top: 10px;
  }
}
/* ===========================================
  form
=========================================== */
/* table
========================================== */
.form-table {
  border-collapse: collapse;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  margin: 15px auto 20px auto;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 1239px) {
  .form-table {
    table-layout: fixed;
  }
}
.form-table th {
  background-color: #f0f0f0;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  color: #333;
  font-weight: normal;
  padding: 15px;
  vertical-align: top;
}

@media screen and (max-width: 1239px) {
  .form-table th {
    display: block;
    padding: 10px;
  }
}
.form-table td {
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 15px;
}

@media screen and (max-width: 1239px) {
  .form-table td {
    display: block;
  }
}
.form-table td small {
  font-size: 1.4rem;
}

/* control
========================================== */
.form-control {
  border: 1px solid #ccc;
  font-size: 1.6rem;
  padding: 8px;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .form-control {
    width: 50%;
  }
}
.form-control.-long {
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .form-control.-long {
    width: 80%;
  }
}
.form-control.-full {
  width: 100%;
}

.form-control.-short {
  width: 35%;
}

@media screen and (min-width: 1240px) {
  .form-control.-short {
    width: 150px;
  }
}
.form-control.-mini {
  width: 20%;
}

@media screen and (min-width: 1240px) {
  .form-control.-mini {
    width: 10%;
  }
}
@media screen and (max-width: 1239px) {
  #card_no .form-control.-short {
    width: 20%;
  }
}
/* checkbox
========================================== */
.form-checkbox {
  margin-right: 10px;
}

/* select
========================================== */
.form-select {
  font-size: 1.6rem;
}

/* group
========================================== */
.form-group {
  margin-top: 10px;
}

.form-group:first-child {
  margin-top: 0;
}

.form-group.-row .form-control {
  margin-right: 10px;
}

.form-group.-row span {
  margin-right: 10px;
}

.form-group.-col .form-control {
  margin-bottom: 10px;
}

/* attention
========================================== */
.form-atten_mark {
  color: #f00;
  margin-left: 3px;
  margin-right: 3px;
}

.form-atten_txt {
  color: #f00;
  font-size: 1.2rem;
}

@media screen and (min-width: 1240px) {
  .form-atten_txt {
    font-size: 1.4rem;
  }
}
/* note
========================================== */
.form-none_txt {
  font-size: 1.2rem;
}

@media screen and (min-width: 1240px) {
  .form-none_txt {
    font-size: 1.4rem;
  }
}
.form-none_txt.-left {
  margin-left: 10px;
}

.form-none_txt.-bottom {
  margin-bottom: 5px;
}

/* ===========================================
  footer
=========================================== */
.footer {
  color: #fff;
}

.footer-sns {
  background: #909090;
  font-family: "Open Sans", sans-serif;
  padding-bottom: 20px;
  padding-top: 20px;
}

@media screen and (max-width: 1239px) {
  .footer-sns {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1240px) {
  .footer-sns {
    font-size: 2rem;
    padding-bottom: 10px;
    padding-top: 10px;
  }
}
.footer-sns_list {
  display: flex;
  justify-content: center;
}

.footer-sns_list li {
  margin-left: 15px;
  margin-right: 15px;
}

@media screen and (max-width: 1239px) {
  .footer-sns_list li {
    margin-left: 10px;
    margin-right: 10px;
  }
}
.footer-sns_list li:last-child {
  padding-top: 5px;
}

@media screen and (max-width: 1239px) {
  .footer-sns_list li:last-child {
    padding-top: 2px;
  }
}
@media screen and (max-width: 1239px) {
  .footer-sns_list li:last-child img {
    margin-right: 0;
    width: 45px;
  }
}
.footer-sns_list img {
  margin-right: 10px;
  width: 30px;
}

@media screen and (max-width: 1239px) {
  .footer-sns_list img {
    width: 35px;
  }
}
.footer-sns_list span img {
  width: 70px;
}

.footer-sns_list a {
  align-items: center;
  color: #fff;
  display: flex;
}

@media screen and (min-width: 1240px) {
  .footer-sns_list a:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
/* nav
========================================== */
.footer-nav {
  background: #383635;
  font-size: 1.4rem;
  padding-top: 45px;
  text-align: center;
}

@media screen and (max-width: 1239px) {
  .footer-nav {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1240px) {
  .footer-nav {
    padding-bottom: 70px;
    padding-top: 60px;
  }
}
.footer-nav_logo {
  margin-bottom: 20px;
}

@media screen and (min-width: 1240px) {
  .footer-nav_logo {
    margin-bottom: 20px;
  }
}
.footer-nav_logo img {
  width: 196px;
}

@media screen and (min-width: 1240px) {
  .footer-nav_logo img {
    width: 262px;
  }
}
.footer-nav_list {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1239px) {
  .footer-nav_list {
    text-align: left;
  }
}
@media screen and (min-width: 1240px) {
  .footer-nav_list {
    display: flex;
    width: 810px;
  }
}
@media screen and (min-width: 1240px) {
  .footer-nav_list li {
    align-items: center;
    border-right: 1px solid #fff;
    display: flex;
    height: 30px;
    justify-content: center;
    margin-bottom: 20px;
    width: 208px;
  }
  .footer-nav_list li:last-child {
    border: none;
  }
}
.footer-nav_list a {
  color: #fff;
}

@media screen and (max-width: 1239px) {
  .footer-nav_list a {
    border-bottom: 1px solid #e5e5e5;
    display: block;
    padding: 15px 20px;
    position: relative;
  }
  .footer-nav_list a::before {
    border-right: 2px solid #909090;
    border-top: 2px solid #909090;
    content: "";
    display: inline-block;
    height: 6px;
    position: absolute;
    right: 20px;
    top: 19px;
    transform: rotate(45deg);
    width: 6px;
  }
}
/* bnr
========================================== */
.fix-banner {
  display: none;
  max-width: 220px;
  position: fixed;
  margin: 15px 20px;
  z-index: 99998;
  bottom: 145px;
  right: 0;
  .banner-close {
    font-size: 24px;
    position: absolute;
    top: -15px;
    right: -10px;
    z-index: 99999;
    padding: 2px 9px;
    border: none;
    background-color: #f8f8f8;
    border-radius: 25px;
    cursor: pointer;
    box-shadow: 0 0 7px rgb(0 0 0 / 40%);
  }
  a {
    text-decoration: none;
    img {
      width: 100%;
    }
  }
}

@media screen and (min-width: 1240px) {
  .fix-banner {
    max-width: 300px;
    bottom: 210px;
  }
}
/* info
========================================== */
.footer-info {
  background: #000;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (max-width: 1239px) {
  .footer-info {
    padding: 40px 20px 25px;
  }
}
@media screen and (min-width: 1240px) {
  .footer-info {
    font-size: 1.4rem;
    padding-bottom: 25px;
    padding-top: 60px;
  }
}
.footer-info_txt {
  margin-bottom: 1.5em;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 1240px) {
  .footer-info_txt {
    width: 960px;
  }
}
.footer-info_list {
  margin-bottom: 25px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 1240px) {
  .footer-info_list {
    margin-bottom: 40px;
    width: 960px;
  }
}
.footer-info_list li::before {
  content: "●";
}

/* copyright
========================================== */
.footer-copyright {
  text-align: center;
}

.footer-copyright small {
  font-size: 1rem;
}

@media screen and (min-width: 1240px) {
  .footer-copyright small {
    font-size: 1.2rem;
  }
}
/* ===========================================
  gnav
=========================================== */
@media screen and (max-width: 1239px) {
  .gnav {
    background: #fff;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
    height: calc(100vh - 48px);
    overflow: scroll;
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 1240px) {
  .gnav {
    display: flex;
    font-size: 1.6rem;
    height: 90px;
    justify-content: space-between;
  }
  .gnav a {
    color: #333;
  }
}
@media screen and (min-width: 1240px) {
  .header.-compact .gnav {
    height: 70px;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-userName {
    align-items: center;
    background: #707070;
    display: flex;
    font-size: 1.3rem;
    height: 35px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-loginLists {
    background: #909090;
    display: flex;
    flex-flow: row wrap;
    font-size: 1.3rem;
  }
  .gnav-loginLists li {
    border-bottom: 1px solid #aaa;
    height: 50px;
    width: 50%;
  }
  .gnav-loginLists li:not(:nth-child(2n)) {
    border-right: 1px solid #aaa;
  }
  .gnav-loginLists a {
    align-items: center;
    color: #fff;
    display: flex;
    height: 100%;
    justify-content: center;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
  }
}
.gnav-banner {
  background: #fff;
  padding: 20px;
}

.gnav-banner li {
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .gnav-list {
    display: flex;
    margin-left: auto;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-list {
    border-bottom: 1px solid #ccc;
  }
}
@keyframes showGnavItem {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-item {
    font-size: 1.4rem;
    line-height: 1.4;
    position: relative;
  }
  .gnav-item::after {
    border-right: solid 1px #909090;
    border-top: solid 1px #909090;
    content: "";
    height: 6px;
    margin-top: -3px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: rotate(45deg);
    width: 6px;
  }
  .gnav-item.-arrow_down:after {
    display: none;
  }
  .gnav-item.-arrow_down .gnav-link {
    position: relative;
  }
  .gnav-item.-arrow_down .gnav-link::after {
    border-right: solid 1px #909090;
    border-top: solid 1px #909090;
    content: "";
    height: 6px;
    margin-top: -3px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: rotate(135deg);
    width: 6px;
  }
  .gnav-item.-arrow_down .gnav-link.is-open::after {
    border-right: solid 1px #909090;
    border-top: solid 1px #909090;
    content: "";
    height: 6px;
    margin-top: -3px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: rotate(-45deg);
    width: 6px;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-item {
    font-size: 2rem;
    padding-left: 15px;
    text-align: center;
  }
}
.gnav-item > a {
  white-space: nowrap;
}

@media screen and (min-width: 1240px) {
  .gnav-item.-arrow {
    background: url(../img/common/icn_gnav_arrw.svg) calc(100% - 23px) center no-repeat;
  }
  .gnav-item.-arrow > a {
    padding-right: 49px;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-item:hover .gnav-item_inner {
    animation: showGnavItem 0.3s linear 0.5s;
    animation-fill-mode: forwards;
    display: block;
    z-index: 100;
  }
  .gnav-item:hover .gnav-link {
    opacity: 0.7;
    transition: border 0.3s;
  }
}
.gnav-link {
  color: #333;
  cursor: pointer;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  width: 100%;
}

@media screen and (max-width: 1239px) {
  .gnav-link {
    align-items: center;
    border-top: 1px solid #ccc;
    display: flex;
    height: 50px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-link {
    border-bottom: 2px solid transparent;
    display: flex;
    flex-flow: column;
    height: 100%;
    justify-content: center;
    padding-right: 19px;
    padding-top: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-link span {
    display: block;
    font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1.2rem;
    margin-top: 7px;
  }
}
@media screen and (min-width: 1240px) {
  a.gnav-link {
    color: #fff;
    font-size: 1.5rem;
  }
}
.gnav-link_mark {
  margin-left: 5px;
  margin-right: 5px;
}

@media screen and (max-width: 1239px) {
  .gnav-item_inner.child_hidden {
    display: none;
  }
  .gnav-item_inner.is-open {
    display: block;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-item_inner {
    background: #fff;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
    display: none;
    left: -220px;
    max-height: calc(100vh - 130px);
    opacity: 0;
    overflow-y: scroll;
    padding-top: 40px;
    position: absolute;
    scrollbar-width: none;
    transition: opacity 0.05s;
    width: 1240px;
    z-index: -1;
  }
  .gnav-item_inner::-webkit-scrollbar {
    display: none;
  }
  .gnav-item_inner.-prod {
    display: none;
    left: -140px;
    opacity: 0;
    width: 1080px;
  }
}
/* cat
================================== */
.gnav-cat_list {
  width: 380px;
}

.gnav-cat_list li + li {
  margin-top: 20px;
}

.gnav-cat {
  background: #E5E5E5;
  color: #000 !important;
  display: block;
  font-size: 24px;
  height: 56px;
  line-height: 56px;
  padding: 0 20px;
  position: relative;
  text-align: left;
  width: 100%;
}

.gnav-cat:hover {
  background: #505050;
  color: #FFF !important;
  opacity: 1 !important;
}

.gnav-cat:hover::before {
  border-color: #FFF #FFF transparent transparent;
}

.gnav-cat::before {
  border: 2px solid;
  border-color: #909090 #909090 transparent transparent;
  border-radius: 2px;
  content: "";
  height: 10px;
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
  width: 10px;
}

.gnav-cat span {
  font-size: 14px;
}

/* child
========================================== */
.gnav-child {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1239px) {
  .gnav-child {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-child {
    width: 1200px;
  }
  .gnav-child.-prod {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: 0 40px 40px;
    width: 1080px;
  }
  .gnav-child.-feature {
    margin-bottom: 60px;
  }
  .gnav-child.-contents {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 30px;
  }
  .gnav-child a:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
/* inner
========================================== */
@media screen and (max-width: 1239px) {
  .gnav-child_inner {
    background: #ededed;
    border-top: 1px solid #ccc;
    padding: auto 15px;
    width: 100%;
  }
  .gnav-child_inner:not(:nth-child(even)) {
    border-right: 1px solid #ccc;
  }
  .gnav-child_inner.-about {
    border-top: none;
    display: block;
    height: auto;
    padding: 0;
    width: 100%;
  }
  .gnav-child_inner.-about:not(:nth-child(even)) {
    border-right: none;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-child_inner.-prod {
    display: none;
    width: 580px;
  }
  .gnav-child_inner.-prod.-active {
    display: block;
  }
  .gnav-child_inner.-about {
    width: 490px;
  }
  .gnav-child_inner.-corporate {
    width: 315px;
  }
  .gnav-child_inner.-link {
    width: 315px;
  }
}
/* title
========================================== */
.gnav-child_ttl {
  color: #333;
  font-family: "Roboto", sans-serif;
  font-weight: normal;
}

@media screen and (max-width: 1239px) {
  .gnav-child_ttl {
    align-items: center;
    background: #d9d9d9;
    display: flex;
    font-size: 1.3rem;
    height: 50px;
    justify-content: center;
    position: relative;
  }
  .gnav-child_ttl::after {
    border-right: solid 1px #909090;
    border-top: solid 1px #909090;
    content: "";
    height: 6px;
    margin-top: -3px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: rotate(135deg);
    width: 6px;
  }
  .gnav-child_ttl a {
    color: #333;
    display: block;
    text-align: center;
    width: 100%;
  }
  .gnav-child_ttl.is-open::after {
    border-right: solid 1px #909090;
    border-top: solid 1px #909090;
    content: "";
    height: 6px;
    margin-top: -3px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: rotate(-45deg);
    width: 6px;
  }
  .gnav-child_ttl.is-open .gnav-child_list {
    display: block;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-child_ttl {
    border-bottom: 2px solid #333;
    font-family: "Roboto", sans-serif;
    font-size: 2.8rem;
    font-weight: normal;
    letter-spacing: 1.4px;
    margin-bottom: 30px;
    padding-bottom: 8px;
    text-align: left;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-child_ttl span {
    display: none;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-child_ttl span {
    display: inline-block;
    font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1.4rem;
    letter-spacing: normal;
    margin-left: 10px;
    vertical-align: middle;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-child_ttl.-contents {
    display: none;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-child_ttl.-contents {
    padding-bottom: 17px;
  }
  .gnav-child_ttl.-contents span {
    display: block;
    margin-left: 0;
    margin-top: 10px;
  }
}
/* child list
========================================== */
.gnav-child_list {
  display: flex;
  flex-flow: row wrap;
}

.gnav-child_list.-prod {
  margin-bottom: 25px;
}

@media screen and (max-width: 1239px) {
  .gnav-child_list.-prod {
    border-top: 1px solid #ccc;
    margin-bottom: 0;
  }
}
.gnav-child_list.-setitem {
  margin-bottom: 25px;
}

.gnav-child_list.-feature {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

/* child item
========================================== */
.gnav-child_item {
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

.gnav-child_item.-brand {
  margin-bottom: 30px;
  padding-left: 20px;
  padding-right: 20px;
  width: 11.1111111111%;
}

.gnav-child_item.-brand a {
  align-items: center;
  display: flex;
  height: 40px;
  justify-content: center;
}

.gnav-child_item.-brand a img {
  flex-shrink: 0;
  max-height: 100%;
  max-width: 100%;
}

.gnav-child_item.-prod {
  margin-bottom: 30px;
  width: 33.3333333333%;
}

@media screen and (max-width: 1239px) {
  .gnav-child_item.-prod {
    border-bottom: 1px solid #ccc;
    font-family: "Roboto", sans-serif;
    margin-bottom: 0;
    width: 50%;
  }
  .gnav-child_item.-prod:nth-child(odd) {
    border-right: 1px solid #ccc;
  }
}
.gnav-child_item.-prod a {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  height: 100%;
  line-height: 1.5;
  padding-right: 10px;
  text-align: left;
}

@media screen and (max-width: 1239px) {
  .gnav-child_item.-prod a {
    color: #333;
    height: 50px;
    padding: 0 10px;
  }
}
.gnav-child_item.-prod a img {
  flex-basis: 50px;
  flex-shrink: 1;
  margin-right: 10px;
  width: 50px;
}

@media screen and (max-width: 1239px) {
  .gnav-child_item.-prod a img {
    display: none;
  }
}
.gnav-child_item.-setitem {
  margin-bottom: 30px;
  width: 20%;
}

.gnav-child_item.-setitem a {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  height: 100%;
  line-height: 1.5;
  padding-right: 10px;
  text-align: left;
}

.gnav-child_item.-setitem a img {
  flex-basis: 50px;
  flex-shrink: 1;
  margin-right: 10px;
  width: 50px;
}

.gnav-child_item.-feature {
  line-height: 1.5;
  text-align: left;
  width: 380px;
}

/* card / feature
========================================== */
.gnav-card {
  display: flex;
  flex-flow: column;
}

.gnav-card:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

.gnav-card_ttl {
  font-size: 1.6rem;
  font-weight: normal;
  margin-bottom: 10px;
  order: 3;
}

.gnav-card_thumb {
  margin-bottom: 20px;
  order: 1;
}

.gnav-card_cate {
  display: inline-block;
  font-size: 1.4rem;
  margin-bottom: 8px;
  order: 2;
}

.gnav-card_cate span {
  border: 1px solid #333;
  padding: 2px 15px 0;
}

.gnav-card_date {
  color: #909090;
  font-size: 1.4rem;
  order: 4;
}

/* contents
========================================== */
.gnav-contents_list {
  text-align: left;
}

.gnav-contents_list.-about {
  display: flex;
  flex-flow: row wrap;
  font-size: 1.3rem;
}

@media screen and (min-width: 1240px) {
  .gnav-contents_list.-about {
    font-size: 1.6rem;
  }
}
.gnav-contents_list.-about li {
  width: 50%;
}

@media screen and (max-width: 1239px) {
  .gnav-contents_list.-about li {
    border-top: 1px solid #ccc;
  }
  .gnav-contents_list.-about li:not(:nth-child(even)) {
    border-right: 1px solid #ccc;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-contents_list.-about li {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-contents_list.-about li a {
    align-items: center;
    color: #333;
    display: flex;
    height: 50px;
    justify-content: center;
    text-align: center;
    width: 100%;
  }
}
.gnav-contents_list.-corporate li {
  margin-bottom: 20px;
}

.gnav-contents_list.-link li {
  margin-bottom: 25px;
}

.gnav-contents_list.-link a {
  font-size: 1.6rem;
}

.gnav-contents_list.-link i {
  margin-right: 20px;
  vertical-align: middle;
}

.gnav-contents_list.-link i.-insta {
  font-size: 4.5rem;
}

.gnav-contents_list.-link i.-fb {
  font-size: 4rem;
}

@media screen and (max-width: 1239px) {
  .gnav-contents_icon {
    display: none;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-contents_icon {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    width: 43px;
  }
}
.gnav-contents_list.-link i.-insta, .gnav-contents_list.-link i.-pinte, .gnav-contents_list.-link i.-youtube {
  font-size: 4.5rem;
}

/* gnav button
========================================== */
.gnav-btn {
  cursor: pointer;
}

@media screen and (min-width: 1240px) {
  .gnav-btn {
    display: none;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-btn {
    display: block;
    height: 48px;
    padding-top: 15px;
    position: relative;
    width: 48px;
    z-index: 10;
  }
}
@media screen and (max-width: 1239px) {
  .gnav-btn_icn {
    cursor: pointer;
    margin: 0 auto;
    position: relative;
    width: 25px;
  }
  .gnav-btn_icn span {
    background-color: #fff;
    box-sizing: border-box;
    display: inline-block;
    height: 2px;
    left: 0;
    position: absolute;
    transition: all 0.3s;
    width: 100%;
  }
  .gnav-btn_icn span:nth-of-type(1) {
    top: 0;
  }
  .gnav-btn_icn span:nth-of-type(2) {
    top: 8px;
  }
  .gnav-btn_icn span:nth-of-type(2):before {
    background-color: #fff;
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    top: 0;
    transition: all 0.3s;
    width: 0;
  }
  .gnav-btn_icn span:nth-of-type(3) {
    top: 16px;
  }
  .gnav-btn.is-close {
    height: 48px;
    left: 0;
    padding-top: 15px;
    position: relative;
    top: 0;
    width: 48px;
    z-index: 11;
  }
  .gnav-btn.is-close .gnav-btn_icn {
    width: 24px;
  }
  .gnav-btn.is-close .gnav-btn_icn span {
    height: 2px;
  }
  .gnav-btn.is-close .gnav-btn_icn span:nth-of-type(1) {
    opacity: 0;
  }
  .gnav-btn.is-close .gnav-btn_icn span:nth-of-type(2) {
    transform: rotate(-45deg);
    transform-origin: center;
  }
  .gnav-btn.is-close .gnav-btn_icn span:nth-of-type(2):before {
    height: 2px;
    transform: rotate(90deg);
    width: 100%;
  }
  .gnav-btn.is-close .gnav-btn_icn span:nth-of-type(3) {
    opacity: 0;
  }
}
/* login / sp
========================================== */
@media screen and (max-width: 1239px) {
  .gnav-login {
    background: #333;
    display: flex;
    flex-flow: column;
    font-size: 1.4rem;
    height: 55px;
    justify-content: center;
    padding-left: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .gnav-login {
    display: none;
  }
}
.gnav-login img {
  margin-right: 10px;
  width: 20px;
}

.gnav-login a {
  color: #fff;
}

/* ===========================================
  header
=========================================== */
.header {
  background: rgba(0, 0, 0, 0.7);
  position: relative;
}

@media screen and (min-width: 1240px) {
  .header {
    width: 100%;
  }
  .header.-compact {
    position: fixed;
    top: 0;
    z-index: 100;
  }
  .header.-compact .header-ttl {
    height: 50px;
    margin-top: 0;
    overflow: hidden;
  }
  .header.-compact .header-top_inner {
    min-height: 70px;
  }
  .header.-compact .header-gnav {
    top: 0;
  }
  .header.-compact .header-userName {
    display: none;
  }
}
@media screen and (max-width: 1239px) {
  .header-top {
    padding-right: 15px;
  }
}
.header-top_inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 1239px) {
  .header-top_inner {
    height: 48px;
  }
}
@media screen and (min-width: 1240px) {
  .header-top_inner {
    min-height: 130px;
  }
}
@media screen and (min-width: 1240px) {
  .header-top_inner {
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    width: 1200px;
  }
}
@media screen and (max-width: 1239px) {
  .header-ttl {
    background: url(../img/common/site_logo.png) top center no-repeat;
    background-size: contain;
    height: 29px;
    width: 196px;
  }
  .header-ttl a {
    display: block;
    height: 29px;
  }
  .header-ttl img {
    display: none;
  }
}
@media screen and (min-width: 1240px) {
  .header-ttl {
    height: 68px;
    margin-top: 16px;
    width: 95px;
  }
}
.header-top_contents {
  text-align: right;
}

.header-userName {
  color: #909090;
  font-size: 1.4rem;
  margin-bottom: 14px;
  margin-top: 7px;
  text-align: right;
}

@media screen and (max-width: 1239px) {
  .header-userName {
    display: none;
  }
}
@media screen and (min-width: 1240px) {
  .header-nav {
    margin-bottom: 10px;
    margin-top: 7px;
  }
}
@media screen and (max-width: 1239px) {
  .header-nav {
    display: none;
  }
}
.header-nav_list {
  display: flex;
  font-size: 1.3rem;
  justify-content: flex-end;
}

.header-nav_list li:first-child::before {
  content: "";
}

.header-nav_list li::before {
  color: #fff;
  content: "|";
  margin-left: 9px;
  padding-right: 9px;
}

.header-nav_list a {
  color: #fff;
}

@media screen and (min-width: 1240px) {
  .header-gnav {
    display: block !important;
    height: 86px;
    left: calc(50% - 400px);
    position: absolute;
    top: 39px;
  }
}
@media screen and (max-width: 1239px) {
  .header-gnav {
    color: #fff;
    display: block;
    height: 100%;
    overflow-y: auto;
    top: 48px;
    width: 100%;
    z-index: 20;
  }
}
/* sns
========================================== */
@media screen and (max-width: 1239px) {
  .header-sns {
    padding: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .header-sns {
    display: none;
  }
}
@media screen and (max-width: 1239px) {
  .header-sns_list {
    align-items: center;
    display: flex;
  }
}
@media screen and (max-width: 1239px) {
  .header-sns_item {
    height: 50px;
    width: calc(50% - 5px);
  }
}
@media screen and (min-width: 1240px) {
  .header-sns_item {
    font-size: 3rem;
    margin-left: 10px;
  }
  .header-sns_item:first-child {
    margin-left: 0;
  }
}
@media screen and (max-width: 1239px) {
  .header-sns_item a {
    align-items: center;
    color: #909090;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
  }
  .header-sns_item a i {
    font-size: 4rem;
  }
  .header-sns_item a span {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1240px) {
  .header-sns_item a {
    color: #909090;
  }
  .header-sns_item a span {
    display: none;
  }
}
.header-sns_icn.-insta {
  font-size: 3.4rem;
}

/* banner
==================================== */
.header-bnr li {
  margin-bottom: 10px;
}

/* ===========================================
  search
=========================================== */
@media screen and (max-width: 1239px) {
  .search-toggle {
    cursor: pointer;
    width: 20px;
  }
  .search-toggle.is-none {
    visibility: hidden;
  }
}
@media screen and (min-width: 1240px) {
  .search-toggle {
    display: none;
  }
}
@media screen and (max-width: 1239px) {
  .search-box {
    background: rgba(51, 51, 51, 0.8);
    display: none;
    left: 0;
    max-height: 70px;
    padding: 20px;
    position: absolute;
    top: 48px;
    width: 100%;
    z-index: 10;
  }
}
@media screen and (min-width: 1240px) {
  .search-box {
    display: block;
    margin-bottom: 7px;
    margin-left: auto;
    position: relative;
    width: 274px;
  }
}
@media screen and (max-width: 1239px) {
  .search-inner {
    position: relative;
  }
}
.search-input {
  background: #ededed;
  border: none;
  border-radius: 4px;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 1239px) {
  .search-input {
    font-size: 1.2rem;
    height: 30px;
    padding-left: 37px;
  }
}
@media screen and (min-width: 1240px) {
  .search-input {
    font-size: 1.4rem;
    height: 33px;
    padding-left: 37px;
  }
}
@media screen and (max-width: 1239px) {
  .search-btn {
    left: 10px;
    position: absolute;
    top: 7.5px;
    width: 16px;
  }
}
@media screen and (min-width: 1240px) {
  .search-btn {
    left: 10px;
    position: absolute;
    top: 9px;
    width: 16px;
  }
}
/* ===========================================
  BRAND / .-brand
  ブランド一覧
=========================================== */
.brand-section {
  margin-bottom: 55px;
}

@media screen and (min-width: 1240px) {
  .brand-section {
    margin-bottom: 70px;
  }
}
.brand-section_ttl {
  border-bottom: 10px solid #000;
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 15px;
  padding-bottom: 8px;
}

@media screen and (min-width: 1240px) {
  .brand-section_ttl {
    font-family: "Roboto", sans-serif;
    font-size: 3.5rem;
    padding-bottom: 5px;
  }
}
.brand-pickup_cards {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
  .brand-pickup_cards {
    grid-template-columns: repeat(auto-fit, minmax(316px, 1fr));
    margin-bottom: 120px;
  }
}
.brand-pickup_card {
  background: #d1d1d1;
}

.brand-pickup_card a {
  color: #333;
  display: flex;
  flex-flow: column;
  gap: 15px;
}

@media screen and (min-width: 1240px) {
  .brand-pickup_card a:hover img {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
.brand-pickup_card img {
  width: 100%;
}

.brand-pickup_desc {
  font-size: 1.2rem;
  margin-bottom: 10px;
  margin-left: 10px;
  margin-right: 10px;
}

@media screen and (min-width: 1240px) {
  .brand-pickup_desc {
    font-size: 1.4rem;
  }
}
.brand-nav_list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(56px, 1fr));
  margin-bottom: 30px;
  width: auto;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .brand-nav_list {
    gap: 15px;
    grid-template-columns: repeat(auto-fit, minmax(56px, 1fr));
    margin-bottom: 60px;
    flex-flow: wrap;
  }
}
.brand-nav_list li a {
  aspect-ratio: 1/1;
  background: #e5e5e5;
  color: #000;
  display: grid;
  font-size: 18px;
  place-content: center;
  /* width: 56px;
  height: 56px; */
}

.brand-order_block {
  margin-bottom: 10px;
}

.brand-order_word {
  font-size: 4rem;
  line-height: 1;
  margin-bottom: 10px;
}

.brand-order_list {
  display: grid;
  gap: 15px 10px;
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (min-width: 768px) {
  .brand-order_list {
    grid-template-columns: repeat(auto-fill, minmax(188px, 1fr));
  }
}
.brand-order_list li {
  font-size: 1.2rem;
}

.brand-order_list li a {
  color: #333;
}

.brand-order_logo {
  align-items: center;
  border: 1px solid #000;
  display: flex;
  height: 60px;
  justify-content: center;
  margin-bottom: 5px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .brand-order_logo {
    height: 110px;
  }
}
.brand-order_logo img {
  max-height: 50%;
  max-width: 80%;
}

/* 商品一覧
==================================== */
.brand-top {
  margin-bottom: 100px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 1240px) {
  .brand-top {
    width: 980px;
  }
}
.brand-top_ttl {
  border-bottom: 4px solid #000;
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 30px;
  margin-top: 20px;
}

@media screen and (min-width: 1240px) {
  .brand-top_ttl {
    font-size: 3.6rem;
    margin-bottom: 40px;
    margin-top: 55px;
  }
}
/* ===========================================
  category detail / .cd-
=========================================== */
.cd-container {
  line-height: 1.5;
  margin-bottom: 0;
}

@media screen and (max-width: 1239px) {
  .cd-container {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-container {
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
    width: 1200px;
  }
}
/* main
========================================== */
.cd-main {
  display: flex;
  margin-bottom: 30px;
}

@media screen and (max-width: 1239px) {
  .cd-main {
    flex-flow: column;
  }
}
@media screen and (min-width: 1240px) {
  .cd-main {
    display: flex;
    justify-content: space-between;
    margin-bottom: 70px;
  }
}
.cd-main_det {
  order: 2;
}

@media screen and (max-width: 1239px) {
  .cd-main_det {
    margin-top: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-main_det {
    width: calc(100% - 550px);
  }
}
.cd-main_header {
  display: flex;
  flex-flow: column;
}

.cd-main_ttl {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 20px;
  order: 3;
}

@media screen and (min-width: 1240px) {
  .cd-main_ttl {
    font-size: 2.8rem;
    font-weight: normal;
    margin-bottom: 40px;
  }
}
.cd-main_brandLogo {
  margin-bottom: 10px;
  order: 1;
}

.cd-main_box {
  background: #F5F5F5;
  line-height: 1.8;
  margin-bottom: 20px;
  order: 2;
  padding: 20px 20px 5px;
}

.cd-main_box dt {
  min-width: 10em;
  white-space: nowrap;
}

.cd-main_box dd {
  font-weight: bold;
}

.cd-main_group {
  display: flex;
  margin-bottom: 10px;
}

.cd-main_table {
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .cd-main_table {
    margin-bottom: 30px;
    table-layout: fixed;
    width: 100%;
  }
}
.cd-main_table th {
  font-weight: normal;
  padding-bottom: 10px;
  padding-right: 20px;
  text-align: left;
  text-decoration: underline;
  white-space: nowrap;
}

@media screen and (min-width: 1240px) {
  .cd-main_table th {
    border: none;
    padding-bottom: 25px;
    padding-right: 30px;
  }
}
.cd-main_table th.-atten {
  color: #ff0000;
}

.cd-main_table td {
  padding-bottom: 10px;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .cd-main_table td {
    max-width: 409px;
    padding-bottom: 25px;
    padding-left: 25px;
  }
}
.cd-main_table td small {
  font-size: 1.2rem;
}

@media screen and (min-width: 1240px) {
  .cd-main_table td small {
    font-size: 1.4rem;
    margin-left: 10px;
  }
}
.cd-main_left {
  flex-shrink: 0;
  order: 1;
}

@media screen and (min-width: 1240px) {
  .cd-main_left {
    flex-basis: 550px;
    margin-right: 40px;
    width: 550px;
  }
}
@media screen and (max-width: 767px) {
  .cd-main_img {
    margin-bottom: 30px;
  }
  .cd-main_img .fotorama__stage {
    height: 76.8vw !important;
  }
  .cd-main_img .fotorama__stage__shaft {
    height: 76.8vw !important;
    margin: auto !important;
    width: 76.8vw !important;
  }
  .cd-main_img .fotorama__wrap--css3 .fotorama__stage .fotorama__img {
    height: auto !important;
    width: 100% !important;
  }
  .cd-main_img .fotorama__arr--prev {
    left: -3px;
  }
  .cd-main_img .fotorama__arr--next {
    right: -3px;
  }
}
@media screen and (min-width: 768px) {
  .cd-main_img {
    margin-bottom: 50px;
  }
}
.cd-order_box {
  background: #f7f7f7;
  margin-bottom: 20px;
  padding: 15px;
}

@media screen and (min-width: 1240px) {
  .cd-order_box {
    padding: 30px;
  }
}
.cd-order_inner {
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .cd-order_inner {
    display: flex;
    margin-bottom: 14px;
  }
}
@media screen and (max-width: 1239px) {
  .cd-order_btn {
    width: 100%;
  }
}
.cd-order_btn:hover {
  opacity: 0.7;
  transition: 0.3s;
}

.cd-order_quantity {
  background: #fff;
  border: 1px solid #909090;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  position: relative;
}

@media screen and (max-width: 1239px) {
  .cd-order_quantity {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-order_quantity {
    margin-right: 8px;
  }
}
.cd-order_input {
  border: none;
  border-radius: 10px;
  font-size: 1.6rem;
  height: 45px;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .cd-order_input {
    height: 58px;
  }
}
.cd-order_icon {
  align-items: center;
  background: #ededed;
  color: #333;
  display: flex;
  flex-shrink: 0;
  font-size: 2rem;
  justify-content: center;
  width: 36px;
}

.cd-order_icon.-plus {
  border-left: 1px solid #909090;
  border-radius: 0 4px 4px 0;
}

.cd-order_icon.-minus {
  border-radius: 4px 0 0 4px;
  border-right: 1px solid #909090;
}

.cd-order_icon:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

@media screen and (min-width: 1240px) {
  .cd-order_list {
    display: flex;
  }
}
.cd-order_list li {
  text-align: center;
}

@media screen and (min-width: 1240px) {
  .cd-order_list li {
    width: calc(50% - 5px);
  }
}
@media screen and (max-width: 1239px) {
  .cd-order_list li:not(:last-child) {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-order_list li:not(:last-child) {
    margin-right: 10px;
  }
}
.cd-order_list li a {
  background: #fff;
  border: 1px solid #505050;
  color: #333;
  display: block;
  padding: 10px;
}
.cd-order_list li .add-favorite {
  background: #fff;
  border: 1px solid #505050;
  color: #333;
  display: block;
  padding: 10px;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .cd-order_list li a:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
.cd-order_list li a img {
  margin-right: 7px;
  vertical-align: middle;
}

.cd-order_list li .add-favorite img {
  margin-right: 7px;
  vertical-align: middle;
}

.cd-order_share {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
}

.cd-order_share li {
  margin-right: 10px;
  margin-top: 10px;
}

/* section
========================================== */
.cd-section {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .cd-section {
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-section.-col2 {
    width: calc(50% - 20px);
  }
}
@media screen and (min-width: 1240px) {
  .cd-section_outer {
    display: flex;
    justify-content: space-between;
  }
}
.cd-section_ttl {
  border-bottom: solid 2px #000;
  font-size: 2.2rem;
  font-weight: normal;
  margin-bottom: 20px;
}

@media screen and (min-width: 1240px) {
  .cd-section_ttl {
    font-size: 2.8rem;
    margin-bottom: 35px;
  }
}
/* data
========================================== */
@media screen and (max-width: 1239px) {
  .cd-data_list {
    margin-top: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-data_list {
    display: flex;
    flex-flow: wrap;
  }
}
@media screen and (max-width: 1239px) {
  .cd-data_list li {
    margin-top: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-data_list li {
    width: calc(50% - 10px);
  }
  .cd-data_list li:not(:nth-child(2n)) {
    margin-right: 10px;
  }
  .cd-data_list li:not(:nth-child(-n+2)) {
    margin-top: 20px;
  }
}
.cd-data_list a {
  color: #333;
  display: block;
}

@media screen and (min-width: 1240px) {
  .cd-data_list a:hover {
    text-decoration: underline;
  }
}
.cd-data_pdf,
.cd-data_PDF {
  background: url(../img/common/ico_pdf.png) left no-repeat;
  padding-left: 25px;
}

.cd-data_dxf,
.cd-data_DXF {
  background: url(../img/common/ico_dxf.png) left no-repeat;
  padding-left: 25px;
}

/* setsimulation
========================================== */
.cd-set_list {
  display: flex;
  flex-flow: row wrap;
}

.cd-set_list > li {
  width: 100%;
}

@media screen and (max-width: 1239px) {
  .cd-set_list > li {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-set_list > li {
    width: calc(33.33333% - 10px);
  }
  .cd-set_list > li:not(:nth-child(3n)) {
    margin-right: 15px;
  }
  .cd-set_list > li:not(:nth-child(-n+3)) {
    margin-top: 15px;
  }
}
.cd-set_item {
  background: #3A9ACA;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 1.4rem;
  padding: 12px 10px;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .cd-set_item {
    font-size: 1.8rem;
  }
  .cd-set_item:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
/* color
========================================== */
.cd-color_list {
  display: flex;
  flex-flow: row wrap;
  margin-top: 15px;
}

@media screen and (-ms-high-contrast: none) and (max-width: 1239px) {
  *::-ms-backdrop, .cd-color_list {
    width: 300px;
  }
}
.cd-color_item {
  cursor: pointer;
  width: calc(33.33333% - 10px);
}

.cd-color_item.is-checked img {
  outline: 2px solid #d72140;
}

@media screen and (max-width: 1239px) {
  .cd-color_item:not(:nth-child(3n)) {
    margin-right: 10px;
  }
  .cd-color_item:not(:nth-child(-n+3)) {
    margin-top: 10px;
  }
  .cd-color_item img {
    max-height: 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 1240px) {
  .cd-color_item {
    width: calc(25% - 16px);
  }
  .cd-color_item:not(:nth-child(4n)) {
    margin-right: 16px;
  }
  .cd-color_item:not(:nth-child(-n+4)) {
    margin-top: 16px;
  }
}
/* related
========================================== */
.cd-related_block {
  margin-bottom: 10px;
}

.cd-related_ttl {
  align-items: center;
  background: #f6f6f6;
  border: 1px solid #333;
  cursor: pointer;
  display: table;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .cd-related_ttl {
    min-height: 110px;
  }
  .cd-related_ttl:hover {
    opacity: 0.7;
    transition: 0.3s;
  }
}
@media screen and (max-width: 1239px) {
  .cd-related_ttl.is-open .cd-related_txt {
    background: url(../img/common/arrow_cart_tab_up.png) calc(100% - 10px) center no-repeat;
    background-size: 18px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-related_ttl.is-open .cd-related_txt {
    background: url(../img/common/arrow_cart_tab_up.png) calc(100% - 30px) center no-repeat;
  }
}
.cd-related_icon {
  background: #fff;
  border-right: 1px solid #333;
  display: table-cell;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  width: 60px;
}

@media screen and (min-width: 1240px) {
  .cd-related_icon {
    height: 110px;
    width: 110px;
  }
}
.cd-related_txt {
  background: url(../img/common/arrow_cart_tab_down.png) calc(100% - 10px) center no-repeat;
  background-size: 18px;
  display: table-cell;
  font-size: 1.3rem;
  line-height: 1.3;
  padding: 0 40px 0 10px;
  vertical-align: middle;
}

@media screen and (min-width: 1240px) {
  .cd-related_txt {
    background: url(../img/common/arrow_cart_tab_down.png) calc(100% - 30px) center no-repeat;
    font-size: 2.4rem;
    padding-left: 20px;
    padding-right: 100px;
  }
}
.cd-related_txt small {
  font-size: 1.2rem;
}

@media screen and (min-width: 1240px) {
  .cd-related_txt small {
    font-size: 1.6rem;
  }
}
.cd-essential_desc,
.cd-related_desc {
  display: none;
  margin-bottom: 50px;
  margin-top: 25px;
}

.cd-related_block .ct-prodList_img {
  text-align: center;
}

@media screen and (min-width: 1240px) {
  .cd-related_block .ct-prodList_img {
    min-height: 120px;
  }
  .cd-related_block .ct-prodList_item {
    flex-basis: calc(16% - 12px);
    margin-right: 15px;
  }
  .cd-related_block .ct-prodList_item:nth-child(5n) {
    margin-right: 15px;
  }
  .cd-related_block .ct-prodList_item:nth-child(6n) {
    margin-right: 0;
  }
  .cd-related_block .ct-prodList_item:nth-child(-n+6) {
    margin-top: 0;
  }
}
/* brand
===================================== */
@media screen and (min-width: 1240px) {
  .cd-brand {
    display: flex;
  }
}
.cd-brand_body {
  display: flex;
  flex-flow: column;
}

@media screen and (min-width: 1240px) {
  .cd-brand_body {
    width: 50%;
  }
}
.cd-brand_ttl {
  font-weight: normal;
  margin-bottom: 15px;
}

@media screen and (min-width: 1240px) {
  .cd-brand_ttl {
    margin-bottom: 25px;
  }
}
.cd-brand_logo {
  margin-bottom: 5px;
}

@media screen and (min-width: 1240px) {
  .cd-brand_logo {
    margin-bottom: 15px;
  }
}
.cd-brand_txt {
  line-height: 1.7;
  margin-bottom: 1em;
}

.cd-brand_link {
  margin-bottom: 20px;
  text-align: right;
}

@media screen and (min-width: 1240px) {
  .cd-brand_link {
    margin-bottom: 0;
    margin-top: auto;
  }
}
.cd-brand_img {
  flex-shrink: 0;
}

@media screen and (min-width: 1240px) {
  .cd-brand_img {
    margin-left: 30px;
    width: 50%;
  }
}
/* footer
========================================== */
.cd-footer {
  background: #f4faff;
}

@media screen and (max-width: 1239px) {
  .cd-footer_inner {
    padding: 25px 15px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-footer_inner {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 60px;
    padding-top: 60px;
    width: 1200px;
  }
}
.cd-footer_block {
  line-height: 1.5;
}

@media screen and (max-width: 1239px) {
  .cd-footer_block:not(:nth-child(3n)) {
    border-bottom: 1px solid;
    margin-bottom: 25px;
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .cd-footer_block {
    width: 33.3333333333%;
  }
  .cd-footer_block:not(:nth-child(3n)) {
    border-right: 1px solid;
    margin-right: 30px;
    padding-right: 30px;
  }
}
.cd-footer_ttl {
  font-size: 1.6rem;
  font-weight: normal;
  margin-bottom: 15px;
}

@media screen and (min-width: 1240px) {
  .cd-footer_ttl {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}
.cd-footer_desc p {
  margin-bottom: 1em;
}

/* free area
========================================== */
.cd-freearea {
  margin-bottom: 30px;
  margin-top: 30px;
}

@media screen and (min-width: 1240px) {
  .cd-freearea {
    margin-bottom: 60px;
    margin-top: 60px;
  }
}
/* selectbox
========================================== */
.cd-selectbox {
  background: #fff;
  border: 1px solid #bbb;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 90%;
}

.cd-selectbox select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  background-image: none;
  border: none;
  box-shadow: none;
  color: #333;
  cursor: pointer;
  font-size: 1.6rem;
  padding: 8px 38px 8px 8px;
  text-overflow: ellipsis;
  width: 100%;
}

.cd-selectbox select::-ms-expand {
  display: none;
}

.cd-selectbox::before {
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #000;
  content: "";
  height: 0;
  padding: 0;
  pointer-events: none;
  position: absolute;
  right: 0.9em;
  top: 1em;
  width: 0;
}

/* =====================================
  mypage お取引情報
==================================== */
.deal-box {
  margin-bottom: 20px;
}

.deal-box > dt {
  background: #383635 url(../img/mypage/icn_plus.svg) calc(100% - 10px) center no-repeat;
  color: #fff;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 5px 12px 6px 12px;
}

@media screen and (max-width: 1239px) {
  .deal-box > dt {
    background-size: 16px;
  }
}
@media screen and (min-width: 1240px) {
  .deal-box > dt {
    background: #383635 url(../img/mypage/icn_plus.svg) calc(100% - 30px) center no-repeat;
    font-size: 2rem;
    padding: 15px 25px 15px 30px;
  }
}
.deal-box > dt.is-open {
  background: #383635 url(../img/mypage/icn_minus.svg) calc(100% - 10px) center no-repeat;
}

@media screen and (max-width: 1239px) {
  .deal-box > dt.is-open {
    background-size: 16px;
  }
}
@media screen and (min-width: 1240px) {
  .deal-box > dt.is-open {
    background: #383635 url(../img/mypage/icn_minus.svg) calc(100% - 30px) center no-repeat;
  }
}
.deal-box > dd {
  border-bottom: 1px solid #2f2e2e;
  border-left: 1px solid #2f2e2e;
  border-right: 1px solid #2f2e2e;
  display: none;
  padding: 20px 10px;
}

@media screen and (min-width: 1240px) {
  .deal-box > dd {
    padding: 25px 30px 30px;
  }
}
.deal-box > dd.is-open {
  display: block;
}

.deal-num {
  background: #d72140;
  border-radius: 50px;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: normal;
  height: 22px;
  line-height: 1.5;
  margin-right: 8px;
  text-align: center;
  vertical-align: baseline;
  width: 22px;
}

@media screen and (min-width: 1240px) {
  .deal-num {
    font-size: 2rem;
    height: 30px;
    line-height: 1.4;
    margin-right: 10px;
    width: 30px;
  }
}
.deal-block:not(:last-of-type) {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .deal-block:not(:last-of-type) {
    margin-bottom: 50px;
  }
}
.deal-block:last-of-type {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .deal-block:last-of-type {
    margin-bottom: 40px;
  }
}
.deal-head {
  align-items: flex-end;
  border-bottom: 4px solid #e5e6e8;
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  padding-bottom: 5px;
}

@media screen and (min-width: 1240px) {
  .deal-head {
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}
.deal-ttl {
  color: #ff4e00;
  font-size: 1.8rem;
  line-height: 1;
}

@media screen and (min-width: 1240px) {
  .deal-ttl {
    font-size: 2rem;
  }
}
.deal-txt {
  margin-bottom: 20px;
}

.deal-memo {
  border: 1px solid #d7d7d7;
  font-size: 1.4rem;
  line-height: 1.5;
  margin-bottom: 20px;
  margin-top: 15px;
  min-height: 130px;
  padding: 10px;
}

@media screen and (min-width: 1240px) {
  .deal-memo {
    border: 2px solid #d7d7d7;
    font-size: 1.6rem;
    min-height: 190px;
    padding: 10px 20px;
  }
}
.deal-memo_ttl {
  font-weight: bold;
}

.deal-close {
  text-align: center;
}

.deal-close a {
  background: #828282;
  border: 1px solid #828282;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  padding: 9px 10px;
  text-align: center;
  width: 210px;
}

@media screen and (min-width: 1240px) {
  .deal-close a {
    font-size: 1.6rem;
    padding: 10.5px 10px;
  }
}
.deal-close a:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

.deal-index {
  border: 2px solid #dedede;
  border-top: none;
  padding: 15px 15px 20px;
}

@media screen and (min-width: 1240px) {
  .deal-index {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 25px 30px 30px;
  }
}
@media screen and (max-width: 1239px) {
  .deal-index_inner {
    margin-bottom: 15px;
  }
}
.deal-index_list {
  font-size: 1.6rem;
}

@media screen and (max-width: 1239px) {
  .deal-index_list {
    margin-bottom: 5px;
  }
}
.deal-index_list dt {
  display: inline-block;
}

.deal-index_list dt::after {
  content: "：";
}

.deal-index_list dd {
  display: inline-block;
}

.deal-index_list dd b {
  font-size: 2rem;
  font-weight: normal;
}

.deal-det {
  background: #fafafa;
  border: 2px solid #dfdfdf;
  margin-bottom: 30px;
  padding: 10px 10px;
}

@media screen and (min-width: 1240px) {
  .deal-det {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 15px 20px;
  }
}
.deal-det_list {
  font-size: 1.4rem;
}

@media screen and (min-width: 1240px) {
  .deal-det_list {
    font-size: 1.6rem;
  }
}
.deal-det_list dt {
  display: inline-block;
  font-weight: bold;
}

.deal-det_list dt::after {
  content: "：";
  font-weight: normal;
}

.deal-det_list dd {
  display: inline-block;
}

.deal-btn {
  display: block;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .deal-btn {
    margin-top: 20px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  a.deal-btn {
    margin-top: 0px;
  }
}
.deal-btns li:not(:last-child) {
  margin-bottom: 20px;
}

.deal-atten {
  color: #d82140;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media screen and (min-width: 1240px) {
  .deal-atten {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}
.deal-notice {
  color: #d82140;
  font-size: 1.4rem;
  line-height: 1.5;
  margin-left: 10px;
}

.deal-expired {
  color: #d82140;
}

/* ===========================================
  mypage / .mp-
=========================================== */
.mp-ttl {
  border-bottom: 4px solid #000;
  font-size: 3rem;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 40px;
  margin-top: 30px;
}

@media screen and (min-width: 1240px) {
  .mp-ttl {
    font-size: 3.6rem;
    margin-bottom: 50px;
    margin-top: 55px;
  }
}
.mp-ttl small {
  font-size: 1.5rem;
  margin-left: 10px;
}

@media screen and (min-width: 1240px) {
  .mp-ttl small {
    font-size: 2rem;
  }
}
.mp-group {
  margin-bottom: 60px;
}

@media screen and (min-width: 1240px) {
  .mp-group {
    margin-bottom: 75px;
  }
}
/* nav
========================================== */
.mp-nav_list {
  font-size: 1.4rem;
  margin-bottom: 40px;
}

@media screen and (min-width: 1240px) {
  .mp-nav_list {
    display: flex;
    flex-flow: wrap;
    margin-bottom: 60px;
  }
}
.mp-nav_list li {
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .mp-nav_list li {
    width: calc(33.33333% - 13.33333px);
  }
  .mp-nav_list li:not(:nth-child(3n)) {
    margin-right: 20px;
  }
}
.mp-nav_list li a {
  border: 1px solid #909090;
  border-radius: 4px;
  color: #333;
  display: block;
  padding: 11px 10px 11px 35px;
  position: relative;
  vertical-align: middle;
}

.mp-nav_list li a::before {
  border-right: 2px solid #90bee0;
  border-top: 2px solid #90bee0;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 6px;
  left: 15px;
  margin: auto;
  position: absolute;
  top: 0;
  transform: rotate(45deg);
  vertical-align: middle;
  width: 6px;
}

.mp-nav_list li a:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

/* section
========================================== */
.mp-section {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .mp-section {
    margin-bottom: 60px;
  }
}
.mp-section a:hover {
  text-decoration: underline;
}

.mp-section_ttl {
  border-bottom: 2px solid #000;
  font-size: 2.1rem;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 15px;
  padding-bottom: 3px;
}

@media screen and (min-width: 1240px) {
  .mp-section_ttl {
    font-size: 2.8rem;
    margin-bottom: 35px;
  }
}
.mp-section_desc {
  margin-bottom: 25px;
}

.mp-section_desc p {
  margin-bottom: 1em;
}

.mp-section_desc small {
  color: #d72140;
  display: inline-block;
  font-size: 1.2rem;
}

@media screen and (min-width: 1240px) {
  .mp-section_desc small {
    font-size: 1.4rem;
  }
}
.mp-section_desc b {
  font-size: 1.4rem;
}

@media screen and (min-width: 1240px) {
  .mp-section_desc b {
    font-size: 2rem;
    font-weight: normal;
  }
}
/* block
========================================== */
.mp-block {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .mp-block {
    margin-bottom: 45px;
    margin-top: 40px;
  }
}
.mp-block_ttl {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .mp-block_ttl {
    font-size: 2rem;
    font-weight: normal;
    margin-bottom: 15px;
  }
}
.mp-block_desc {
  margin-bottom: 15px;
}

.mp-block_desc small {
  color: #d72140;
  font-size: 1.4rem;
  margin-bottom: 20px;
}

.mp-block_note {
  color: #d72140;
  display: block;
  font-size: 1.4rem;
  text-align: right;
}

@media screen and (min-width: 1240px) {
  .mp-block_input {
    width: 800px;
  }
}
.mp-block_input input {
  border: 1px solid #909090;
  font-size: 1.6rem;
  height: 40px;
  margin-bottom: 5px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
}

.mp-block_textarea textarea {
  border: 1px solid #909090;
  font-size: 1.6rem;
  height: 100px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .mp-block_textarea textarea {
    height: 180px;
  }
}
/* box
==================================== */
.mp-tableBlock_box > dt {
  font-weight: bold;
  margin-bottom: 5px;
}

.mp-tableBlock_box > dd p {
  margin-bottom: 5px;
}

/* table
========================================== */
.mp-table {
  width: 100%;
}

@media screen and (max-width: 1239px) {
  .mp-table {
    border: 1px solid #ccc;
    line-height: 1.5;
  }
}
@media screen and (min-width: 1240px) {
  .mp-table {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
  }
}
@media screen and (max-width: 1239px) {
  .mp-table tr {
    display: table-row;
  }
}
@media screen and (min-width: 1240px) {
  .mp-table tr.-center th {
    text-align: center;
  }
}
@media screen and (min-width: 1240px) {
  .mp-table th {
    background-color: #f0f0f0;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    color: #333;
    font-weight: normal;
    vertical-align: middle;
  }
  .mp-table th.-left {
    text-align: left;
  }
  .mp-table th.-center {
    text-align: center;
  }
  .mp-table th.-right {
    text-align: right;
  }
}
@media screen and (min-width: 1240px) {
  .mp-table td {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    vertical-align: middle;
  }
  .mp-table td.-center {
    text-align: center;
  }
  .mp-table td.-right {
    text-align: right;
  }
}
.mp-table a:hover {
  text-decoration: underline;
}

.mp-table2 {
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  width: 100%;
}

.mp-table2 tr.-center th {
  text-align: center;
}

.mp-table2 th {
  background-color: #f0f0f0;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  color: #333;
  font-weight: normal;
  vertical-align: middle;
}

.mp-table2 th.-left {
  text-align: left;
}

.mp-table2 td {
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  vertical-align: middle;
}

.mp-table2 td.-center {
  text-align: center;
}

.mp-table2 td.-right {
  text-align: right;
}

.mp-table2.-sm {
  font-size: 1.4rem;
  line-height: 1.5;
  margin: 15px auto 20px auto;
}

.mp-table2.-sm th {
  padding: 8px;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
}

.mp-table2.-sm td {
  padding: 10px 8px;
}

/* table 大
------------------------------------ */
.mp-table.-lg {
  margin: 0 auto 20px auto;
}

@media screen and (min-width: 1240px) {
  .mp-table.-lg {
    border-color: #d7d7d7;
    border-width: 2px;
    margin: 15px auto 20px auto;
  }
}
@media screen and (max-width: 1239px) {
  .mp-table.-lg tr {
    display: block;
    padding: 0 15px 5px;
  }
  .mp-table.-lg tr:first-child {
    padding-top: 10px;
  }
  .mp-table.-lg tr:last-child {
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 1239px) {
  .mp-table.-lg th {
    background: #fff;
    border: none;
    display: inline-block;
    font-weight: bold;
    white-space: nowrap;
  }
  .mp-table.-lg th::after {
    content: "：";
  }
}
@media screen and (min-width: 1240px) {
  .mp-table.-lg th {
    border-color: #d7d7d7;
    border-width: 2px;
    line-height: 1.3;
    padding: 10px 15px;
  }
  .mp-table.-lg th small {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1239px) {
  .mp-table.-lg td {
    background: #fff;
    border: none;
    display: inline;
  }
}
@media screen and (min-width: 1240px) {
  .mp-table.-lg td {
    border-color: #d7d7d7;
    border-width: 2px;
    line-height: 1.4;
    padding: 12px 15px;
  }
}
.mp-table.-lg td small {
  font-size: 1.4rem;
}

/* table 小 - pcのみ
------------------------------------ */
.mp-table.-sm {
  font-size: 1.4rem;
  line-height: 1.5;
  margin: 15px auto 20px auto;
}

.mp-table.-sm th {
  padding: 8px;
  text-align: center;
}

.mp-table.-sm td {
  padding: 10px 8px;
}

/* table block
------------------------------------ */
.mp-table_block {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .mp-table_block {
    margin-bottom: 45px;
    margin-top: 40px;
  }
}
.mp-tableBlock_ttl {
  font-size: 1.4rem;
  font-weight: normal;
}

@media screen and (max-width: 1239px) {
  .mp-tableBlock_ttl {
    background: #f0f0f0;
    border: 1px solid #ccc;
    padding: 8px 15px;
  }
}
@media screen and (min-width: 1240px) {
  .mp-tableBlock_ttl {
    font-size: 2rem;
    margin-bottom: 15px;
  }
}
.mp-tableBlock_lists {
  border: 1px solid #ccc;
  line-height: 1.5;
}

.mp-tableBlock_lists > li {
  align-items: center;
  display: flex;
  padding: 8px 12px;
}

.mp-tableBlock_lists > li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

/* item - spのみ
==================================== */
@media screen and (max-width: 1239px) {
  .mp-item_frame {
    border: 1px solid #ccc;
    display: flex;
    padding: 10px;
  }
  .mp-item_pic {
    flex-shrink: 0;
    margin-right: 10px;
    width: 110px;
  }
  .mp-item_box {
    line-height: 1.5;
  }
  .mp-item_box dt {
    display: inline-block;
    vertical-align: top;
  }
  .mp-item_box dt:after {
    content: "：";
  }
  .mp-item_box dd {
    display: inline;
  }
  .mp-itemBox_group:not(:last-child) {
    margin-bottom: 8px;
  }
  .mp-itemBox_quantity {
    display: inline-block;
  }
}
.mp-itemTotal_box {
  background: #fafafa;
  border: 1px solid #ccc;
  line-height: 1.5;
  padding: 10px;
}

.mp-itemTotal_box dt {
  display: inline-block;
  font-weight: bold;
  vertical-align: top;
}

.mp-itemTotal_box dt:after {
  content: "：";
}

.mp-itemTotal_box dd {
  display: inline;
}

.mp-itemTotalBox_group:not(:last-child) {
  margin-bottom: 8px;
}

.mp-itemTotalBox_group:last-child {
  font-size: 1.6rem;
  margin-top: 15px;
  text-align: right;
}

/* selectbox
========================================== */
.mp-selectbox {
  background: #fff;
  border: 1px solid #bbb;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 95%;
}

.mp-selectbox select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  background-image: none;
  border: none;
  box-shadow: none;
  color: #333;
  cursor: pointer;
  font-size: 1.6rem;
  padding: 8px 38px 8px 8px;
  text-overflow: ellipsis;
  width: 100%;
}

.mp-selectbox select::-ms-expand {
  display: none;
}

.mp-selectbox::before {
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #000;
  content: "";
  height: 0;
  padding: 0;
  pointer-events: none;
  position: absolute;
  right: 0.9em;
  top: calc(50% - 3px);
  width: 0;
}

.mp-selectbox.-sm {
  margin-left: 0;
  margin-right: 5px;
  width: auto;
}

@media screen and (min-width: 1240px) {
  .mp-selectbox.-sm {
    margin-right: 10px;
  }
}
.mp-selectbox.-sm select {
  padding: 0 20px 2px 5px;
}

@media screen and (min-width: 1240px) {
  .mp-selectbox.-sm select {
    padding: 3px 30px 5px 10px;
  }
}
.mp-selectbox.-sm::before {
  right: 0.5em;
}

@media screen and (max-width: 1239px) {
  .mp-selectbox.-sm::before {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #000;
    right: 5px;
  }
}
/* change
==================================== */
.mp-tableBlockBox_lists {
  display: flex;
}

.mp-tableBlockBox_lists li {
  margin-right: 15px;
}

/* footer
========================================== */
.mp-footer {
  margin-top: 20px;
}

@media screen and (min-width: 1240px) {
  .mp-footer {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1240px) {
  .mp-footer_txt {
    text-align: center;
  }
}
.mp-footer_txt p {
  font-size: 1.4rem;
}

@media screen and (min-width: 1240px) {
  .mp-footer_txt p {
    font-size: 1.6rem;
  }
}
/* button
========================================== */
.mp-btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .mp-btn {
    font-size: 1.6rem;
    min-width: 180px;
  }
  .mp-btn:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
.mp-btn.-back {
  background: #fff;
  border: 1px solid #505050;
  color: #333;
}

.mp-btn.-next {
  background: #d72140;
  border: 1px solid #d72140;
  border-radius: 0;
  color: #fff;
}

.mp-btn.-order-cancel {
  background: #505050;
  border: 1px solid #505050;
  color: #fff;
}

.mp-btn.-order-cancel-in-box {
  background: #505050;
  border: 1px solid #505050;
  color: #fff;
}

@media screen and (max-width: 1240px) {
  .mp-btn.-order-cancel-in-box {
    margin-top: 50px;
  }
}
.mp-btn_group {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
  margin-top: 20px;
}

@media screen and (max-width: 1239px) {
  .mp-btn_group {
    display: block;
  }
}
@media screen and (min-width: 1240px) {
  .mp-btn_group {
    margin-bottom: 50px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 1239px) {
  .mp-btn_group li {
    margin: 0 auto 10px;
    text-align: center;
    width: auto;
  }
}
@media screen and (min-width: 1240px) {
  .mp-btn_group li {
    margin-left: 10px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 1239px) {
  .mp-btn_box {
    margin-bottom: 20px;
  }
}
.mp-btn_box.-right {
  text-align: right;
}

/* other button
------------------------------------ */
.mp-addBtn {
  color: #333;
}

@media screen and (max-width: 1239px) {
  .mp-addBtn {
    background: #fff;
    border: 1px solid #ccc;
    display: block;
    font-size: 1.4rem;
    padding: 8px 15px 6px;
    position: relative;
    text-align: left;
    vertical-align: middle;
    width: 100%;
  }
  .mp-addBtn::after {
    border-right: 2px solid #ccc;
    border-top: 2px solid #ccc;
    content: "";
    display: inline-block;
    height: 6px;
    position: absolute;
    right: 15px;
    top: calc(50% - 3px);
    transform: rotate(45deg);
    vertical-align: middle;
    width: 6px;
  }
}
@media screen and (min-width: 1240px) {
  .mp-addBtn {
    background-image: linear-gradient(to bottom, white, #f7f7f7);
    border: solid 1px #a6a6a6;
    border-radius: 4px;
    display: inline-block;
    font-size: 1.2rem;
    padding: 5px 10px 4px;
  }
}
.mp-setBtn {
  background-image: linear-gradient(to bottom, white, #f7f7f7);
  border: 1px solid #a6a6a6;
  border-radius: 4px;
  color: #333;
  display: inline-block;
  font-size: 1.4rem;
  padding: 8px 15px 8px 28px;
  position: relative;
  vertical-align: middle;
}

@media screen and (min-width: 1240px) {
  .mp-setBtn {
    padding: 11px 20px 9px 35px;
  }
}
.mp-setBtn::before {
  border-right: 2px solid #90bee0;
  border-top: 2px solid #90bee0;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 6px;
  left: 10px;
  margin: auto;
  position: absolute;
  top: 0;
  transform: rotate(45deg);
  vertical-align: middle;
  width: 6px;
}

@media screen and (min-width: 1240px) {
  .mp-setBtn::before {
    left: 15px;
  }
}
/* member
========================================== */
.mp-member_name {
  background: #f4faff;
  margin-bottom: 30px;
  margin-top: -25px;
  padding: 10px 15px;
}

@media screen and (min-width: 1240px) {
  .mp-member_name {
    margin-bottom: 55px;
    margin-top: -10px;
    padding: 20px;
  }
}
.mp-member_name b {
  font-weight: bold;
}

.mp-memberInfo_list {
  margin-bottom: 50px;
}

@media screen and (min-width: 1240px) {
  .mp-memberInfo_list {
    display: flex;
    flex-flow: wrap;
    margin-bottom: 60px;
  }
}
.mp-memberInfo_list li {
  border: 1px solid #909090;
  border-radius: 4px;
  line-height: 1.5;
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .mp-memberInfo_list li {
    margin-bottom: 20px;
    width: calc(33.33333% - 13.33333px);
  }
  .mp-memberInfo_list li:not(:nth-child(3n)) {
    margin-right: 20px;
  }
}
.mp-memberInfo_list li a {
  color: #333;
  display: flex;
  line-height: 1;
  padding: 18px 15px 15px;
}

@media screen and (min-width: 1240px) {
  .mp-memberInfo_list li a {
    align-items: center;
    height: 100px;
    padding: 10px 20px 10px 30px;
  }
  .mp-memberInfo_list li a:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
.mp-memberInfo_list li small {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 5px;
}

@media screen and (min-width: 1240px) {
  .mp-memberInfo_list li small {
    line-height: 1.6;
  }
}
.mp-memberInfo_icon {
  flex-shrink: 0;
  width: 15px;
}

@media screen and (max-width: 1239px) {
  .mp-memberInfo_icon {
    margin-right: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .mp-memberInfo_icon {
    width: 50px;
  }
  .mp-memberInfo_icon img {
    width: 40px;
  }
}
/* step
========================================== */
.mp-step {
  margin-bottom: 35px;
}

@media screen and (min-width: 1240px) {
  .mp-step {
    margin-bottom: 40px;
  }
}
/* 数量
==================================== */
.mp-quantity {
  background: #fff;
  border: 1px solid #909090;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  position: relative;
  width: auto;
}

.mp-quantity_input {
  border: none;
  border-radius: 10px;
  font-size: 1.6rem;
  height: 40px;
  text-align: center;
  width: 60px;
}

.mp-quantity_icon {
  align-items: center;
  background: #ededed;
  color: #333;
  display: flex;
  flex-shrink: 0;
  font-size: 2rem;
  justify-content: center;
  width: 36px;
}

.mp-quantity_icon.-plus {
  border-left: 1px solid #909090;
  border-radius: 0 4px 4px 0;
  margin-left: auto;
}

.mp-quantity_icon.-minus {
  border-radius: 4px 0 0 4px;
  border-right: 1px solid #909090;
}

/* pc ==================== */
.mp-quantity_lists {
  display: flex;
  justify-content: center;
}

.mp-quantity_lists li {
  margin-left: 5px;
  margin-right: 5px;
}

/* contact
==================================== */
.mp-contact {
  background: #fafafa;
  margin-top: 20px;
  padding: 10px 15px;
}

@media screen and (min-width: 1240px) {
  .mp-contact {
    margin-top: 45px;
    padding: 20px 30px;
  }
}
.mp-contact dt {
  font-size: 1.4rem;
  margin-bottom: 5px;
}

@media screen and (max-width: 1239px) {
  .mp-contact dt {
    font-weight: bold;
  }
}
@media screen and (min-width: 1240px) {
  .mp-contact dt {
    font-size: 2rem;
    letter-spacing: 1px;
    margin-bottom: 15px;
  }
}
.mp-contact dd {
  font-size: 1.2rem;
}

@media screen and (min-width: 1240px) {
  .mp-contact dd {
    font-size: 1.6rem;
  }
}
/* 絞り込み検索
==================================== */
.mp-search {
  margin-bottom: 20px;
}

@media screen and (min-width: 1240px) {
  .mp-search {
    margin-bottom: 30px;
  }
}
.mp-search dt {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .mp-search dt {
    margin-bottom: 20px;
  }
}
.mp-search dd {
  align-items: center;
  display: flex;
}

.mp-search dd span {
  font-size: 1.2rem;
  margin-right: 5px;
}

@media screen and (min-width: 1240px) {
  .mp-search dd span {
    font-size: 1.4rem;
    margin-right: 10px;
  }
}
.mp-search_btn {
  background: none;
  border: none;
  padding: 0;
}

@media screen and (min-width: 1240px) {
  .mp-search_btn {
    margin-left: 10px;
  }
}
.mp-search_btn:hover {
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s;
}

.mp-search_btn img {
  width: 140px;
}

@media screen and (min-width: 1240px) {
  .mp-search_btn img {
    width: 171px;
  }
}
.mp-search_lists {
  border-top: 1px solid #dedede;
  margin-bottom: 40px;
}

@media screen and (min-width: 1240px) {
  .mp-search_lists {
    margin-bottom: 60px;
  }
}
.mp-search_lists li {
  border-bottom: 1px solid #dedede;
  padding: 15px 25px 25px 20px;
}

@media screen and (min-width: 1240px) {
  .mp-search_lists li {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 30px 40px 30px 30px;
  }
}
.mp-search_pager {
  display: flex;
  font-size: 1.4rem;
  justify-content: center;
  margin-bottom: 55px;
}

@media screen and (min-width: 1240px) {
  .mp-search_pager {
    font-size: 1.6rem;
    margin-bottom: 115px;
  }
}
.mp-search_pager li {
  margin-left: 5px;
  margin-right: 5px;
}

@media screen and (min-width: 1240px) {
  .mp-search_pager li {
    margin-left: 3px;
    margin-right: 3px;
  }
}
.mp-search_pager li a, .mp-search_pager li.is-active {
  align-items: center;
  border: 1px solid #e0e0e0;
  color: #333;
  display: flex;
  font-family: "Open Sans", sans-serif;
  height: 30px;
  justify-content: center;
  width: 30px;
}

@media screen and (min-width: 1240px) {
  .mp-search_pager li a, .mp-search_pager li.is-active {
    height: 30px;
    width: 30px;
  }
}
.mp-search_pager li a:hover {
  background: #333;
  border-color: #333;
  color: #fff;
  text-decoration: none;
}

.mp-search_pager li a.is-active {
  background: #333;
  border-color: #333;
  color: #fff;
}

/* 注文履歴詳細
==================================== */
.mp-detail_ttl {
  font-size: 1.6rem;
  margin-bottom: 5px;
}

@media screen and (min-width: 1240px) {
  .mp-detail_ttl {
    font-size: 2rem;
    margin-bottom: 10px;
  }
}
.mp-detail_frame {
  border: 1px solid #333;
  border-radius: 4px;
  padding: 15px 10px;
}

@media screen and (min-width: 1240px) {
  .mp-detail_frame {
    border: 2px solid #333;
    padding: 30px;
  }
}
.mp-detail_block:not(:last-of-type) {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .mp-detail_block:not(:last-of-type) {
    margin-bottom: 50px;
  }
}
.mp-detail_block:last-of-type {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .mp-detail_block:last-of-type {
    margin-bottom: 40px;
  }
}
.mp-detailBlock_ttl {
  align-items: flex-end;
  border-bottom: 3px solid #e5e6e8;
  display: flex;
  font-size: 1.8rem;
  font-weight: normal;
  justify-content: space-between;
  line-height: 1;
  margin-bottom: 10px;
  padding-bottom: 5px;
}

@media screen and (min-width: 1240px) {
  .mp-detailBlock_ttl {
    border-bottom: 4px solid #e5e6e8;
    font-size: 2rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}
/* 写真
==================================== */
.mp-item_pic img {
  max-width: 110px;
}

@media screen and (min-width: 1240px) {
  .mp-item_pic img {
    max-width: 65px;
  }
}
/* 合計金額
==================================== */
.mp-totalPrice {
  font-weight: bold;
}

@media screen and (min-width: 1240px) {
  .mp-totalPrice {
    font-size: 1.8rem;
  }
}
/* hr
==================================== */
.mp-hr {
  margin: 40px 0 30px;
}

@media screen and (min-width: 1240px) {
  .mp-hr {
    border-top: 1px solid #000;
    margin: 80px 0 60px;
  }
}
/* ===========================================
  search
=========================================== */
.search-ttl {
  border-bottom: 4px solid #000;
  font-size: 3rem;
  font-weight: normal;
  line-height: 1.4;
  margin-top: 20px;
}

.search-note {
  margin-bottom: 30px;
}

.search-img {
  height: auto;
  width: 80px;
}

.search-top_article {
  align-items: center;
  border-bottom: 1px solid #e5e5e5;
  color: #333;
  display: flex;
}

.search-txt {
  padding-left: 20px;
}

@media screen and (min-width: 1240px) {
  .search-top_article {
    margin-bottom: 30px;
    padding-bottom: 25px;
  }
}
/* ===========================================
  news / .news-
=========================================== */
.news-ttl {
  border-bottom: 4px solid #000;
  font-size: 3rem;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 30px;
  margin-top: 20px;
}

@media screen and (min-width: 1240px) {
  .news-ttl {
    font-size: 3.6rem;
    margin-bottom: 50px;
    margin-top: 55px;
  }
}
.news-ttl small {
  font-size: 1.5rem;
  margin-left: 10px;
}

@media screen and (min-width: 1240px) {
  .news-ttl small {
    font-size: 2rem;
  }
}
.news-cate {
  border: 1px solid #333;
  color: #333;
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
  margin-bottom: 8px;
  min-width: 90px;
  padding: 4px 10px;
  text-align: center;
}

@media screen and (min-width: 1240px) {
  .news-cate {
    font-size: 1.4rem;
    min-width: 100px;
    padding: 4px 15px;
  }
}
.news-date {
  color: #909090;
  font-size: 1.2rem;
}

@media screen and (max-width: 1239px) {
  .news-date {
    padding-right: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .news-date {
    font-size: 1.5rem;
    margin-right: 15px;
  }
}
.news-pager {
  display: grid;
  font-size: 1.5rem;
  gap: 5px;
  grid-template-columns: repeat(auto-fit, 40px);
  justify-content: center;
  margin-bottom: 55px;
}

@media screen and (min-width: 1240px) {
  .news-pager {
    font-size: 2rem;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, 50px);
    margin-bottom: 115px;
  }
}
.news-pager li a,
.news-pager li span {
  align-items: center;
  border: 1px solid #333;
  color: #333;
  display: flex;
  font-family: "Open Sans", sans-serif;
  height: 40px;
  justify-content: center;
  width: 40px;
}

@media screen and (min-width: 1240px) {
  .news-pager li a,
  .news-pager li span {
    height: 50px;
    width: 50px;
  }
}
.news-pager li a:hover {
  background: #333;
  color: #fff;
}

.news-pager li.is-active span {
  background: #333;
  color: #fff;
}

@media screen and (min-width: 1240px) {
  .news-menu {
    display: flex;
  }
}
@media screen and (max-width: 1239px) {
  .news-menu_block {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1240px) {
  .news-menu_block {
    width: calc(50% - 20px);
  }
  .news-menu_block:not(:last-child) {
    margin-right: 40px;
  }
}
.news-menu_ttl {
  border-bottom: 2px solid #333;
  font-family: "Roboto", sans-serif;
  font-size: 2.1rem;
  font-weight: normal;
  letter-spacing: 1.4px;
  line-height: 1.3;
  margin-bottom: 5px;
  padding-bottom: 4px;
  text-align: left;
}

@media screen and (max-width: 1239px) {
  .news-menu_ttl {
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 1240px) {
  .news-menu_ttl {
    font-size: 2.8rem;
  }
}
.news-menu_list li {
  border-bottom: 1px solid #e5e5e5;
}

.news-menu_list li a {
  background: url(../img/common/next.svg) calc(100% - 15px) center no-repeat;
  background-size: 12px auto;
  color: #333;
  display: block;
  padding: 15px 15px;
}

@media screen and (min-width: 1240px) {
  .news-menu_list li a {
    background: url(../img/common/next.svg) calc(100% - 30px) center no-repeat;
    background-size: 14px auto;
    padding: 20px 30px;
  }
}
.news-menu_list li a:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

/* top
==================================== */
.news-top_container {
  margin-bottom: 60px;
}

@media screen and (min-width: 1240px) {
  .news-top_container {
    margin-bottom: 65px;
  }
}
.news-top_article {
  border-bottom: 1px solid #e5e5e5;
  color: #333;
  display: flex;
  flex-flow: column;
  margin-bottom: 30px;
  padding-bottom: 25px;
}

@media screen and (min-width: 1240px) {
  .news-top_article {
    margin-bottom: 30px;
    padding-bottom: 25px;
  }
}
a:hover .news-top_article {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

.news-top_ttl {
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 10px;
  order: 2;
}

@media screen and (min-width: 1240px) {
  .news-top_ttl {
    margin-bottom: 5px;
  }
}
.news-top_txt {
  -webkit-box-orient: vertical;
  color: #666;
  display: -webkit-box;
  font-size: 1.4rem;
  -webkit-line-clamp: 3;
  line-height: 1.5;
  order: 3;
  overflow: hidden;
}

@media screen and (min-width: 1240px) {
  .news-top_txt {
    -webkit-line-clamp: 2;
    line-height: 1.7;
  }
}
.news-top_meta {
  display: flex;
  margin-bottom: 5px;
  order: 1;
}

/* detail
==================================== */
.news-det_article {
  margin-top: 25px;
}

@media screen and (min-width: 1240px) {
  .news-det_article {
    margin-top: 65px;
  }
}
.news-det_header {
  display: flex;
  flex-flow: column;
}

.news-det_ttl {
  border-bottom: 2px solid #000;
  font-size: 2.1rem;
  font-weight: normal;
  letter-spacing: 1.4px;
  line-height: 1.4;
  margin-bottom: 20px;
  order: 2;
  padding-bottom: 3px;
}

@media screen and (min-width: 1240px) {
  .news-det_ttl {
    font-size: 2.8rem;
    margin-bottom: 40px;
    padding-bottom: 3px;
  }
}
.news-det_meta {
  display: flex;
  order: 1;
}

.news-det_body {
  margin-bottom: 70px;
}

@media screen and (min-width: 1240px) {
  .news-det_body {
    margin-bottom: 115px;
  }
}
.news-det_body h2 {
  border-left: 4px solid #f29c19;
  font-size: 2.4rem;
  font-weight: normal;
  margin-bottom: 20px;
  margin-top: 40px;
  padding-left: 14px;
}

@media screen and (min-width: 1240px) {
  .news-det_body h2 {
    font-size: 2.8rem;
    margin-top: 50px;
  }
}
.news-det_body h3 {
  background: #f7f7f7;
  font-size: 2rem;
  font-weight: normal;
  margin-bottom: 20px;
  margin-top: 40px;
  padding: 5px 20px;
}

@media screen and (min-width: 1240px) {
  .news-det_body h3 {
    font-size: 2.4rem;
    margin-top: 50px;
  }
}
.news-det_body p {
  line-height: 1.9;
  margin-bottom: 25px;
}

@media screen and (min-width: 1240px) {
  .news-det_body p {
    line-height: 1.7;
  }
}
.news-det_img {
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (min-width: 1240px) {
  .news-det_img {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1240px) {
  .news-det_img.is-left {
    float: left;
    margin-right: 30px;
    margin-top: 5px;
  }
}
.news-det_btn {
  margin-bottom: 60px;
  text-align: center;
}

@media screen and (min-width: 1240px) {
  .news-det_btn {
    margin-bottom: 115px;
  }
}
.news-det_btn a {
  border: 1px solid #333;
  color: #333;
  display: inline-block;
  font-family: "Open Sans", sans-serif;
  font-size: 1.7rem;
  padding: 8px 14px 8px 27px;
}

@media screen and (min-width: 1240px) {
  .news-det_btn a {
    font-size: 2rem;
    padding: 7px 16px 7px 32px;
  }
  .news-det_btn a:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
.news-det_btn img {
  margin-left: 13px;
  padding-bottom: 2px;
  vertical-align: middle;
}

@media screen and (min-width: 1240px) {
  .news-det_btn img {
    margin-left: 15px;
  }
}
/* ===========================================
  orico
=========================================== */
.orico-list {
  margin-bottom: 30px;
}

.orico-list li {
  display: flex;
  margin-bottom: 20px;
}

.orico-num {
  flex-shrink: 0;
}

@media screen and (max-width: 1239px) {
  .orico-num img {
    width: 50px;
  }
}
.orico-main {
  line-height: 1.5;
  margin-left: 10px;
}

@media screen and (min-width: 1240px) {
  .orico-main {
    margin-left: 20px;
  }
}
.orico-main dt {
  font-weight: bold;
}

.orico-main dt.-first, .orico-main dt.-third {
  color: #7dac46;
}

.orico-main dt.-second {
  color: #4983ad;
}

.orico-main dt.-fourth {
  color: #ab4646;
}

/* ===========================================
  fixed page / .pg-
  - 固定ページ
=========================================== */
/* main
========================================== */
.pg-main {
  margin-bottom: 40px;
}

.pg-main.-border_bottom {
  border-bottom: 3px solid #ccc;
  margin-bottom: 40px;
  padding-bottom: 0;
}

.pg-main_ttl {
  border-bottom: 4px solid #000;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 20px;
  padding-bottom: 5px;
}

@media screen and (min-width: 768px) {
  .pg-main_ttl {
    font-size: 3.4rem;
    padding-bottom: 10px;
  }
}
.pg-main_logo {
  margin-bottom: 15px;
}

.pg-main_cate {
  margin-bottom: 15px;
}

.pg-main_img {
  margin-bottom: 20px;
}

.pg-main_img.-center {
  text-align: center;
}

.pg-main_img img:not(:last-child) {
  margin-bottom: 10px;
}

.pg-main_desc {
  margin-bottom: 30px;
  margin-top: 20px;
}

.pg-main_desc p:not(:last-child) {
  margin-bottom: 1em;
}

/* title
========================================== */
.pg-ttl {
  border-bottom: 4px solid #000;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .pg-ttl {
    font-size: 3.4rem;
  }
}
.pg-ttl_second {
  border-left: 5px solid #000;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 15px;
  padding-left: 14px;
}

@media screen and (min-width: 768px) {
  .pg-ttl_second {
    font-size: 2.2rem;
    margin-bottom: 25px;
  }
}
.pg-ttl_third {
  border-bottom: 1px solid #333;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
  padding-bottom: 5px;
}

@media screen and (min-width: 768px) {
  .pg-ttl_third {
    font-size: 2rem;
  }
}
.pg-ttl_fourth {
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .pg-ttl_fourth {
    font-size: 1.8rem;
  }
}
/* navi
========================================== */
.pg-nav_list {
  display: flex;
  flex-flow: wrap;
}

@media screen and (max-width: 767px) {
  .pg-nav_list {
    justify-content: space-between;
  }
}
.pg-nav_list li {
  font-size: 1.2rem;
  margin-bottom: 10px;
  width: calc(50% - 5px);
}

@media screen and (min-width: 768px) {
  .pg-nav_list li {
    font-size: 1.5rem;
    width: calc(25% - 7.5px);
  }
  .pg-nav_list li:not(:nth-child(4n)) {
    margin-right: 10px;
  }
}
.pg-nav_list li a {
  align-items: center;
  background: #e5e5e5;
  color: #333;
  display: flex;
  height: 100%;
  padding: 10px 10px 10px 20px;
  position: relative;
  vertical-align: middle;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .pg-nav_list li a {
    line-height: 1.2;
  }
}
@media screen and (min-width: 768px) {
  .pg-nav_list li a {
    line-height: 1.4;
    padding: 10px 10px 10px 28px;
  }
}
.pg-nav_list li a::before {
  border-right: 2px solid #444;
  border-top: 2px solid #444;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 5px;
  left: 5px;
  margin: auto;
  position: absolute;
  top: 0;
  transform: rotate(45deg);
  vertical-align: middle;
  width: 5px;
}

@media screen and (min-width: 768px) {
  .pg-nav_list li a::before {
    left: 10px;
  }
}
.pg-nav_list li a:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

/* setion
========================================== */
.pg-section {
  margin-bottom: 50px;
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .pg-section {
    margin-bottom: 60px;
  }
}
.pg-section.-border_bottom {
  border-bottom: 3px solid #ccc;
  margin-bottom: 40px;
  padding-bottom: 40px;
}

.pg-section a:hover {
  text-decoration: underline;
}

/* block
========================================== */
.pg-block:not(:last-child) {
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .pg-block:not(:last-child) {
    margin-bottom: 40px;
  }
}
.pg-block.-border_bottom {
  border-bottom: 2px solid #ddd;
  padding-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .pg-block.-border_bottom {
    margin-bottom: 30px;
  }
}
/* box
========================================== */
.pg-box_border {
  border: 1px solid #ccc;
  padding: 20px;
}

.pg-box_border.-center {
  text-align: center;
}

.pg-info_box {
  border: 2px solid #FF0000;
  margin-bottom: 10px;
  padding: 10px;
}

/* wrapper
========================================== */
.pg-wrapper {
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .pg-wrapper.-row {
    display: flex;
  }
}
/* text
========================================== */
.pg-desc:not(:last-child) {
  margin-bottom: 30px;
}

.pg-desc p:not(:last-child) {
  margin-bottom: 1em;
}

.pg-txt {
  text-align: left;
}

.pg-txt:not(:last-child) {
  margin-bottom: 1em;
}

.pg-txt_highlight {
  color: red;
  font-weight: normal;
}

.pg-txt_highlight.-bold {
  font-weight: bold;
}

.pg-txt_underline {
  text-decoration: underline;
}

.pg-txt_small {
  font-size: 90%;
}

.pg-txt_catch {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .pg-txt_catch {
    font-size: 2rem;
    line-height: 1.8;
  }
}
.pg-txt_lead {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .pg-txt_lead {
    font-size: 1.8rem;
  }
}
/* list
========================================== */
.pg-list {
  margin-left: 1.2em;
}

.pg-list li {
  line-height: 1.5;
  text-indent: -1em;
}

.pg-list li:not(:last-child) {
  margin-bottom: 10px;
}

.pg-list li::before {
  content: "●";
  margin-right: 3px;
}

.pg-list li small {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.5;
}

.pg-caution_list {
  margin-bottom: 20px;
}

.pg-caution_list li {
  line-height: 1.5;
  margin-bottom: 3px;
  margin-left: 1em;
  text-indent: -1em;
}

.pg-caution_list li::before {
  color: red;
  content: "●";
  margin-right: 3px;
}

.pg-note_list {
  margin-bottom: 20px;
  margin-left: 0.2em;
}

.pg-note_list li {
  line-height: 1.5;
  margin-bottom: 3px;
  margin-left: 1em;
  text-indent: -1em;
}

.pg-note_list li::before {
  content: "※";
  margin-right: 3px;
}

.pg-atten_list {
  color: red;
  margin-bottom: 20px;
  margin-left: 0.2em;
}

.pg-atten_list li {
  line-height: 1.5;
  margin-bottom: 3px;
  margin-left: 1em;
  text-indent: -0.8em;
}

.pg-atten_list li::before {
  content: "※";
  margin-right: 3px;
}

.pg-default_list li {
  margin-bottom: 0;
  margin-left: 1em;
  text-indent: -1em;
}

.pg-default_list li:before {
  content: "・";
}

.pg-order_list {
  list-style-position: outside;
  list-style-type: decimal;
  margin-left: 1.2em;
}

.pg-order_list li:not(:last-child) {
  margin-bottom: 10px;
}

.pg-order_list li small {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.5;
}

.pg-order_list2 {
  counter-reset: cnt;
  list-style-type: none;
}

.pg-order_list2 li {
  margin-left: 1.5em;
  text-indent: -1.5em;
}

.pg-order_list2 li:not(:last-child) {
  margin-bottom: 0.1em;
}

.pg-order_list2 li::before {
  content: "(" counter(cnt) ")";
  counter-increment: cnt;
  margin-right: 0.3em;
}

.pg-order_list2 li small {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.5;
}

li .pg-order_list2 {
  margin-top: 0.2em;
}

/* table
========================================== */
.pg-table {
  width: 100%;
}

.pg-table th {
  border-bottom: 1px solid #ccc;
  padding: 5px 10px 5px 0;
  text-align: left;
}

.pg-table td {
  border-bottom: 1px solid #ccc;
  padding: 5px 10px 5px 0;
}

/* image
========================================== */
.pg-img_wrapper {
  margin-bottom: 30px;
}

.pg-img_wrapper img:not(:last-child) {
  margin-bottom: 10px;
}

.pg-img_wrapper.-center {
  text-align: center;
}

.pg-img_wrapper.-left {
  float: left;
  margin-right: 20px;
}

.pg-img {
  margin-bottom: 20px;
}

.pg-img:first-of-type {
  margin-top: 30px;
}

.pg-img.-center {
  text-align: center;
}

.pg-img.-left {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .pg-img.-left {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .pg-img.-left {
    flex-shrink: 0;
    margin-bottom: 0;
    margin-right: 30px;
  }
}
.pg-img.-left:first-of-type {
  margin-top: 0;
}

/* dl
========================================== */
.pg-atten_box {
  border: 2px solid #ddd;
  padding: 10px 15px;
}

@media screen and (min-width: 768px) {
  .pg-atten_box {
    padding: 15px 20px;
  }
}
.pg-atten_box dt {
  border-bottom: 2px solid #ddd;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 10px;
  padding-bottom: 5px;
}

@media screen and (min-width: 768px) {
  .pg-atten_box dt {
    font-size: 1.8rem;
  }
}
.pg-atten_box dd p:not(:last-child) {
  margin-bottom: 0.5em;
}

.pg-atten_list {
  color: red;
}

/* description list
========================================== */
.pg-desclist dt {
  font-size: 1.5rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .pg-desclist dt {
    font-size: 1.7rem;
    margin-bottom: 5px;
  }
}
.pg-desclist dd {
  border-bottom: 1px solid #333;
  margin-bottom: 15px;
  padding-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .pg-desclist dd {
    margin-bottom: 20px;
    padding-bottom: 15px;
  }
}
.pg-desclist.-border_none dd {
  border-bottom: none;
  padding-bottom: 0;
}

.pg-desclist p {
  margin-bottom: 0.5em;
}

.pg-default_desclist {
  margin-bottom: 30px;
}

.pg-default_desclist dt {
  font-size: 1.5rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .pg-default_desclist dt {
    font-size: 1.7rem;
  }
}
.pg-default_desclist dd {
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  .pg-default_desclist dd {
    margin-bottom: 20px;
  }
}
.pg-default_desclist p {
  margin-bottom: 0.5em;
}

/* important
========================================== */
.pg-important {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
  .pg-important {
    font-size: 2rem;
  }
}
.pg-important em {
  color: red;
}

/* guide
========================================== */
.pg-guideContact_box {
  font-size: 1.5rem;
}

@media screen and (min-width: 768px) {
  .pg-guideContact_box {
    font-size: 1.8rem;
  }
}
.pg-guideContact_group {
  align-items: center;
  border-bottom: 1px solid #ddd;
  display: flex;
}

.pg-guideContact_group dt {
  margin-right: 10px;
  text-align: center;
  width: 50px;
}

@media screen and (min-width: 768px) {
  .pg-guideContact_group dt {
    width: 80px;
  }
}
.pg-guideContact_group dd {
  border-left: 1px solid #ddd;
  padding-bottom: 10px;
  padding-left: 20px;
  padding-top: 10px;
}

.pg-guide_tel {
  background: url(../img/contact/ico_tel02.png) left center no-repeat;
  font-size: 2rem;
  font-weight: bold;
  padding-left: 35px;
}

@media screen and (min-width: 768px) {
  .pg-guide_tel {
    font-size: 3rem;
  }
}
.pg-guide_fax {
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .pg-guide_fax {
    font-size: 3rem;
  }
}
/* guideline
========================================== */
.pg-guidelineContact_box {
  border: 2px solid #ddd;
  padding: 10px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .pg-guidelineContact_box {
    padding: 15px;
    text-align: center;
  }
}
.pg-guidelineContact_box dt {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 5px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .pg-guidelineContact_box dt {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .pg-guidelineContact_list {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .pg-guidelineContact_list {
    display: flex;
    justify-content: center;
  }
}
.pg-guidelineContact_list li {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .pg-guidelineContact_list li {
    margin-left: 20px;
    margin-right: 20px;
  }
}
.pg-guideline_tel {
  background: url(../img/contact/ico_tel02.png) left center no-repeat;
  font-size: 2rem;
  font-weight: bold;
  padding-left: 35px;
}

@media screen and (min-width: 768px) {
  .pg-guideline_tel {
    font-size: 3rem;
  }
}
.pg-guideline_mail {
  background: url(../img/contact/ico_mail.png) left center no-repeat;
  font-size: 2rem;
  font-weight: bold;
  padding-left: 33px;
}

@media screen and (min-width: 768px) {
  .pg-guideline_mail {
    font-size: 3rem;
  }
}
/* mail magazine
========================================== */
.pg-magazine_btn {
  font-size: 2rem;
  margin: 0 auto;
  max-width: 430px;
  padding: 20px 0;
}

@media screen and (min-width: 768px) {
  .pg-magazine_btn {
    font-size: 2.2rem;
  }
}
.pg-magazine_btn a {
  border: 1px solid #595959;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.15);
  color: #595959;
  display: block;
  font-weight: 700;
  margin-bottom: 15px;
  margin-top: 15px;
  max-width: 320px;
  padding: 10px 0;
  text-align: center;
}

.pg-magazine_btn a:hover {
  background: #595959;
  color: #fff;
  text-decoration: none;
  transition: 0.3s;
}

/* inquiry
========================================== */
.pg-inquiry_block {
  display: flex;
}

.pg-inquiry_icon {
  flex-shrink: 0;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .pg-inquiry_icon {
    width: 50px;
  }
}
.pg-inquiry_main {
  width: 100%;
}

.pg-inquiry_tel {
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 10px;
}

.pg-inquiry_tel span {
  background: url(../img/contact/ico_tel02.png) left center no-repeat;
  font-size: 2.6rem;
  padding-left: 35px;
}

.pg-inquiry_tel small {
  display: inline-block;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .pg-inquiry_tel small {
    font-size: 2rem;
  }
}
.pg-inquiry_fax {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 5px;
}

@media screen and (min-width: 768px) {
  .pg-inquiry_fax {
    font-size: 2.6rem;
  }
}
.pg-inquiry_btn {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .pg-inquiry_btn {
    text-align: right;
  }
}
/* catalog
========================================== */
.pg-catalog_wrap {
  display: flex;
  justify-content: center;
}

.pg-catalog_img {
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  position: relative;
  text-align: center;
  width: 200px;
}

@media screen and (min-width: 768px) {
  .pg-catalog_img {
    width: 250px;
  }
}
.pg-catalog_wrap .pg-catalog_img {
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 70px;
  position: relative;
}

.pg-catalog_wrap .pg-catalog_img:first-child {
  margin-right: 5%;
}

.pg-catalog_wrap .btn {
  background: #000;
  border-radius: 5px;
  bottom: 0;
  color: #fff;
  display: block;
  font-size: 16px;
  line-height: 1;
  margin-top: 20px;
  padding: 6px 0;
  position: absolute;
  width: 100%;
}

.pg-catalog_wrap .btn span {
  display: block;
  font-size: 24px;
  margin-bottom: 6px;
}

.pg-catalog_wrap .btn:hover {
  opacity: 0.7;
}

@media screen and (max-width: 1239px) {
  .pg-catalog_wrap {
    display: block;
  }
  .pg-catalog_wrap .pg-catalog_img {
    margin: 0 auto 40px;
    padding-bottom: 65px;
    width: 50%;
  }
  .pg-catalog_wrap .pg-catalog_img:first-child {
    margin-right: auto;
  }
  .pg-catalog_wrap .btn {
    font-size: 14px;
    margin: 20px -20% 0;
    width: 140%;
  }
  .pg-catalog_wrap .btn span {
    font-size: 24px;
  }
}
.pg-catalog_catalog {
  margin-bottom: 10px;
}

.pg-catalog_new {
  position: absolute;
  right: 5px;
  top: -5px;
  width: 40px;
}

@media screen and (min-width: 768px) {
  .pg-catalog_new {
    width: 60px;
  }
}
/* テクニカルガイド
========================================== */
.pg-tech_index {
  margin-bottom: 50px;
}

.pg-techIndex_group {
  border-bottom: 2px solid #bbb;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.pg-techIndex_group dt {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.pg-techIndex_group dt a {
  color: #333;
  text-decoration: underline;
}

.pg-techIndex_group dt a:hover {
  text-decoration: none;
}

.pg-cate {
  border: 1px solid #333;
  display: inline-block;
  font-size: 1.4rem;
  margin-bottom: 10px;
  padding: 2px 8px;
}

.pg-step_wrapper {
  line-height: 1.5;
  margin-bottom: 0.5em;
}

.pg-step_number {
  align-items: center;
  background: #999;
  border-radius: 50px;
  color: #fff;
  display: flex;
  font-size: 2rem;
  font-style: normal;
  height: 30px;
  justify-content: center;
  line-height: 1;
  margin-bottom: 10px;
  text-align: center;
  vertical-align: middle;
  width: 30px;
}

/* benefit
========================================== */
.pg-benefit_ttl {
  border: none;
  font-size: 4.4rem;
  line-height: 1.2;
  margin-bottom: 10px;
  padding-left: 0;
}

/* prod
========================================== */
.pg-prod_list {
  display: flex;
  flex-flow: wrap;
  margin-top: 20px;
}

.pg-prod_list.-center {
  justify-content: center;
}

.pg-prod_list li {
  flex-shrink: 0;
  margin-right: 10px;
  width: calc(33.33333% - 13.33333px);
}

@media screen and (min-width: 768px) {
  .pg-prod_list li {
    margin-right: 10px;
    text-align: center;
    width: calc(20% - 16px);
  }
}
.pg-prod_img {
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .pg-prod_img {
    font-size: 1.6rem;
  }
}
.pg-prod_img img {
  margin-bottom: 10px;
}

/* ===========================================
  project support / .ps-
=========================================== */
.ps-ttl {
  margin-bottom: 40px;
}

.ps-intro {
  background: #f1f9fe;
  border-radius: 10px;
  margin-bottom: 50px;
  padding: 25px 15px 10px;
}

@media screen and (min-width: 1240px) {
  .ps-intro {
    margin-bottom: 70px;
    padding: 40px 40px 20px;
  }
}
.ps-intro_ttl {
  margin-bottom: 15px;
}

@media screen and (min-width: 1240px) {
  .ps-intro_ttl {
    margin-bottom: 40px;
  }
}
.ps-intro_list {
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}

.ps-intro_list li {
  margin-bottom: 20px;
}

@media screen and (max-width: 1239px) {
  .ps-intro_list li {
    font-size: 1.2rem;
    width: calc(50% - 5px);
  }
}
@media screen and (min-width: 1240px) {
  .ps-intro_list li {
    width: 276px;
  }
}
.ps-intro_img {
  margin-bottom: 10px;
}

.ps-cost {
  margin-bottom: 15px;
  text-align: center;
}

.ps-cost_ttl {
  margin-bottom: 15px;
  text-align: center;
}

.ps-cost_desc {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 50px;
  text-align: center;
}

@media screen and (min-width: 1240px) {
  .ps-cost_desc {
    font-size: 2.3rem;
    line-height: 1.8;
    margin-bottom: 65px;
  }
}
.ps-cost_desc p {
  margin-bottom: 10px;
}

.ps-cost_desc strong {
  border-bottom: 2px solid #c3231f;
  color: #c3231f;
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (min-width: 1240px) {
  .ps-cost_desc strong {
    font-size: 2.6rem;
  }
}
.ps-contact {
  margin-bottom: 60px;
}

@media screen and (min-width: 1240px) {
  .ps-contact {
    margin-bottom: 110px;
  }
}
.ps-contact_ttl {
  font-size: 2rem;
  margin-bottom: 15px;
  text-align: center;
}

@media screen and (max-width: 1239px) {
  .ps-contact_ttl {
    position: relative;
  }
  .ps-contact_ttl span {
    background: #fff;
    padding-left: 8px;
    padding-right: 8px;
    position: relative;
    z-index: 1;
  }
  .ps-contact_ttl:before {
    background: #ccc;
    content: "";
    display: inline-block;
    height: 2px;
    left: 0;
    position: absolute;
    top: 50%;
    width: 100%;
  }
  .ps-contact_ttl:after {
    content: "";
    display: inline-block;
  }
}
@media screen and (min-width: 1240px) {
  .ps-contact_ttl {
    margin-bottom: 34px;
  }
}
.ps-contact_btn {
  margin-bottom: 30px;
  text-align: center;
}

@media screen and (max-width: 1239px) {
  .ps-contact_btn {
    margin-bottom: 20px;
    margin-left: 10px;
    margin-right: 10px;
  }
}
.ps-contact_box {
  background: #fffef0;
  border-radius: 5px;
  padding: 20px 20px 10px;
}

@media screen and (min-width: 1240px) {
  .ps-contact_box {
    display: flex;
    padding: 20px 35px;
  }
}
.ps-contact_box dt {
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 1239px) {
  .ps-contact_box dt {
    padding-bottom: 5px;
  }
}
@media screen and (min-width: 1240px) {
  .ps-contact_box dt {
    font-size: 2.1rem;
    padding-right: 30px;
  }
}
@media screen and (max-width: 1239px) {
  .ps-contact_box dd {
    border-top: 2px solid #d5d5d6;
    padding-top: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .ps-contact_box dd {
    border-left: 2px solid #d5d5d6;
    padding-left: 30px;
  }
}
.ps-contact_tel {
  background: url(../img/project-support/ico_tel_red.png) no-repeat left center;
  color: #c3231f;
  font-size: 2.6rem;
  padding-left: 38px;
}

@media screen and (min-width: 1240px) {
  .ps-contact_tel {
    font-size: 2.8rem;
  }
}
.ps-contact_mail {
  background: url(../img/project-support/ico_mail_red.png) no-repeat left center;
  padding-left: 38px;
}

@media screen and (min-width: 1240px) {
  .ps-contact_mail {
    display: inline-block;
  }
}
.ps-contact_mail a {
  color: #c3231f;
  font-size: 2.6rem;
}

@media screen and (min-width: 1240px) {
  .ps-contact_mail a {
    font-size: 2.8rem;
  }
}
.ps-contact_txt {
  font-size: 1.6rem;
  margin-top: 5px;
}

@media screen and (min-width: 1240px) {
  .ps-contact_txt {
    font-size: 2.1rem;
  }
}
.ps-reference {
  margin-bottom: 60px;
}

@media screen and (min-width: 1240px) {
  .ps-reference {
    margin-bottom: 110px;
  }
}
.ps-reference_ttl {
  border-bottom: 10px solid #000;
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 15px;
  padding-bottom: 5px;
}

@media screen and (max-width: 1239px) {
  .ps-reference_ttl {
    line-height: 1.2;
  }
}
@media screen and (min-width: 1240px) {
  .ps-reference_ttl {
    font-family: "Roboto", sans-serif;
    font-size: 3.5rem;
  }
}
.ps-reference_ttl span {
  color: #666;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media screen and (max-width: 1239px) {
  .ps-reference_ttl span {
    display: block;
    margin-top: 5px;
  }
}
@media screen and (min-width: 1240px) {
  .ps-reference_ttl span {
    font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1.6rem;
    line-height: 1.3;
    margin-left: 20px;
  }
}
.ps-reference_list {
  display: flex;
}

@media screen and (max-width: 1239px) {
  .ps-reference_list {
    justify-content: space-between;
  }
}
.ps-reference_list li {
  width: calc(50% - 5px);
}

@media screen and (min-width: 1240px) {
  .ps-reference_list li {
    width: calc(33.33333% - 10px);
  }
  .ps-reference_list li:not(:nth-child(3n)) {
    margin-right: 15px;
  }
}
.ps-reference_img {
  margin-bottom: 10px;
}

.ps-reference_group {
  line-height: 1.4;
  margin-bottom: 5px;
}

@media screen and (min-width: 1240px) {
  .ps-reference_group {
    display: flex;
  }
}
.ps-reference_group dt {
  font-weight: bold;
}

.ps-reference_group dt::after {
  content: "：";
}

/* ===========================================
  top / .tp-
=========================================== */
.tp-contents {
  line-height: 1.5;
  margin-bottom: 0;
}

@media screen and (min-width: 1240px) {
  .tp-contents {
    margin-bottom: 40px;
  }
}
/* hero : slider
========================================== */
.tp-hero {
  margin-bottom: 40px;
  position: relative;
}

@media screen and (min-width: 1240px) {
  .tp-hero {
    margin-bottom: 50px;
  }
}
.tp-hero_list {
  margin-bottom: 5.3333333333vw;
}

@media screen and (min-width: 768px) {
  .tp-hero_list {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-hero_item img {
    width: 100%;
  }
}
/* section
========================================== */
.tp-section {
  border-bottom: 1px solid #e5e5e5;
  text-align: center;
}

@media screen and (max-width: 1239px) {
  .tp-section {
    padding-bottom: 60px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 50px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-section {
    padding-bottom: 100px;
    padding-top: 75px;
  }
}
.tp-section.-color {
  background: #f6f6f6;
}

.tp-section.-border_none {
  border-bottom: none;
}

.tp-section:last-child {
  border-bottom: none;
}

@media screen and (min-width: 1240px) {
  .tp-section_inner {
    margin-left: auto;
    margin-right: auto;
    width: 1200px;
  }
}
.tp-section_ttl {
  font-weight: normal;
  text-align: center;
}

@media screen and (max-width: 1239px) {
  .tp-section_ttl {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-section_ttl {
    font-size: 1.8rem;
    margin-bottom: 55px;
  }
}
.tp-section_ttl span {
  display: block;
  font-family: "Roboto", sans-serif;
}

@media screen and (max-width: 1239px) {
  .tp-section_ttl span {
    font-size: 3rem;
    letter-spacing: 3px;
    margin-bottom: 2px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-section_ttl span {
    font-size: 3.6rem;
    letter-spacing: 3.6px;
    margin-bottom: 5px;
  }
}
/* notice
========================================== */
@media screen and (max-width: 1239px) {
  .tp-notice {
    font-size: 1.4rem;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-notice {
    font-size: 1.6rem;
    margin-left: auto;
    margin-right: auto;
    width: 1200px;
  }
}
.tp-notice_ttl {
  background: #f9585a;
  color: #fff;
  font-weight: normal;
  padding: 12px 10px 10px;
}

@media screen and (min-width: 1240px) {
  .tp-notice_ttl {
    padding: 12px 20px 10px;
  }
}
.tp-notice_body {
  background: #ffebeb;
  color: #da3b3e;
  padding: 12px 10px 15px;
}

@media screen and (min-width: 1240px) {
  .tp-notice_body {
    padding: 20px 20px 25px;
  }
}
.tp-notice_txt {
  line-height: 1.5;
  margin-bottom: 1em;
}

.tp-notice_txt:last-child {
  margin-bottom: 0;
}

/* important
========================================== */
.tp-important {
  text-align: center;
}

.tp-important_inner {
  display: inline-block;
  margin: 0 auto;
  max-width: 960px;
  padding: 0 20px;
  width: auto;
}

@media screen and (max-width: 1239px) {
  .tp-important_inner {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1240px) {
  .tp-important_inner {
    font-size: 1.6rem;
  }
}
.tp-important_txt {
  color: red;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
  text-align: left;
  text-decoration: underline;
}

.tp-important_txt:last-child {
  margin-bottom: 0;
}

.tp-important_txt a {
  color: red;
}

/* CAMPAIGN
========================================== */
.tp-campaign {
  margin-bottom: 40px;
}

@media screen and (max-width: 1239px) {
  .tp-campaign .swiper-container {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .tp-campaign_slider {
    width: 89.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-campaign_list {
    height: calc(64vw + 20px);
    margin-bottom: 5.3333333333vw;
    width: 100%;
  }
}
@media screen and (min-width: 1240px) {
  .tp-campaign_list {
    margin-bottom: 20px;
    width: 1200px;
  }
}
@media (min-width: 768px) and (max-width: 1240px) {
  .tp-campaign_list {
    margin: 0 auto 10px;
    width: 100% !important;
  }
}
.tp-campaign_item {
  width: 42.6666666667vw;
}

@media (min-width: 768px) and (max-width: 1240px) {
  .tp-campaign_item {
    margin-right: 2.0833333333vw;
    width: calc((100% - 4.1666666667vw) / 3);
  }
}
@media screen and (min-width: 1240px) {
  .tp-campaign_item {
    margin-right: 30px;
    width: 380px;
  }
}
.tp-campaign_item a {
  display: block;
}

.tp-campaign_item img {
  height: auto;
  width: 100%;
}

/* RECOMMEND
========================================== */
.tp-recomUnit {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
  place-content: center;
}

@media (min-width: 768px) and (max-width: 1240px) {
  .tp-recomUnit {
    gap: 15px;
    grid-template-columns: repeat(auto-fit, calc((100% - 45px) / 4));
  }
  .tp-recomUnit li:nth-child(5) {
    display: none;
  }
}
@media screen and (min-width: 1240px) {
  .tp-recomUnit {
    gap: 25px;
    grid-template-columns: repeat(auto-fit, 220px);
  }
}
.tp-recom {
  color: #333;
  display: flex;
  font-size: 1.2rem;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .tp-recom {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .tp-recom {
    flex-flow: column;
    font-size: 1.4rem;
  }
}
.tp-recom_main {
  display: flex;
  flex-flow: column;
  order: 2;
}

.tp-recom_name {
  margin-bottom: 8px;
  order: 2;
}

@media screen and (min-width: 1240px) {
  .tp-recom_name {
    margin-bottom: 10px;
  }
}
.tp-recom .tp-recom_name {
  color: #333;
  font-weight: normal;
  text-decoration: underline;
}

.tp-recom:hover .tp-recom_name {
  text-decoration: none;
}

.tp-recom_img {
  flex-shrink: 0;
  order: 1;
}

@media screen and (max-width: 767px) {
  .tp-recom_img {
    margin-right: 10px;
    width: 100px;
  }
}
@media screen and (min-width: 768px) {
  .tp-recom_img {
    margin-bottom: 20px;
  }
}
.tp-recom_img img {
  min-width: 100%;
}

.tp-recom_logo {
  margin-bottom: 14px;
  order: 1;
}

@media screen and (max-width: 1239px) {
  .tp-recom_logo {
    height: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-recom_logo {
    margin-bottom: 15px;
  }
}
.tp-recom_logo img {
  height: 25px;
  width: auto;
}

.tp-recom_price {
  order: 3;
}

/* news
========================================== */
.tp-cardUnit {
  display: grid;
  gap: 20px 15px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 40px;
}

@media (min-width: 768px) and (max-width: 1240px) {
  .tp-cardUnit {
    gap: 20px;
    grid-template-columns: repeat(auto-fit, calc((100% - 40px) / 3));
  }
}
@media screen and (min-width: 1240px) {
  .tp-cardUnit {
    gap: 30px;
    grid-template-columns: repeat(auto-fit, 380px);
  }
}
.tp-card {
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.5;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .tp-card:nth-child(n+4) {
    display: none;
  }
}
.tp-card_block {
  display: flex;
  flex-flow: column;
}

@media screen and (max-width: 1239px) {
  .tp-card_block {
    background: #fff;
    height: 100%;
    justify-content: space-between;
    padding-bottom: 10px;
  }
}
.tp-card_block h3 {
  word-wrap: break-word;
  white-space: normal;
}
.tp-card_block:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

.tp-card_ttl {
  color: #333;
  font-size: 1.2rem;
  font-weight: normal;
  margin-bottom: 10px;
  order: 3;
}

@media screen and (max-width: 1239px) {
  .tp-card_ttl {
    line-height: 1.7;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-card_ttl {
    font-size: 1.6rem;
  }
}
.tp-card_thumb {
  margin-bottom: 10px;
  order: 1;
}

@media screen and (min-width: 1240px) {
  .tp-card_thumb {
    margin-bottom: 20px;
    min-height: 0%;
  }
}
.tp-card_cate {
  color: #333;
  display: inline-block;
  font-size: 1.2rem;
  margin-bottom: 8px;
  order: 2;
}

@media screen and (max-width: 1239px) {
  .tp-card_cate {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-card_cate {
    font-size: 1.4rem;
  }
}
.tp-card_cate span {
  border: 1px solid #333;
  display: inline-block;
  padding: 2px 15px 0;
}

.tp-card_date {
  color: #909090;
  font-size: 1.2rem;
  order: 4;
}

@media screen and (max-width: 1239px) {
  .tp-card_date {
    margin-top: auto;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-card_date {
    font-size: 1.4rem;
  }
}
/* movie
========================================== */
.tp-movie {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin: 0 auto 40px;
}

@media screen and (max-width: 767px) {
  .tp-movie {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .tp-movie {
    gap: 20px;
    justify-content: center;
    max-width: 980px;
  }
}
.tp-movie_item {
  margin-inline: auto;
  max-width: 480px;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .tp-movie_item {
    max-width: 480px;
    width: 100%;
  }
}
@media screen and (min-width: 1240px) {
  .tp-movie_item {
    width: 480px;
  }
}
.tp-movie_frame {
  aspect-ratio: 16/9;
  display: block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .tp-movie_frame {
    max-width: 480px;
  }
}
.tp-movie_frame iframe {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

/* product
========================================== */
@media screen and (max-width: 1239px) {
  .tp-prod:last-child .tp-prod_block:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1240px) {
  .tp-prod {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 80px;
    margin-left: auto;
    margin-right: auto;
    width: 1200px;
  }
  .tp-prod:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 1239px) {
  .tp-prod_block {
    margin-bottom: 35px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-prod_block {
    width: 580px;
  }
}
.tp-prod_ttl {
  border-bottom: 2px solid #333;
  font-family: "Roboto", sans-serif;
  font-size: 2.1rem;
  font-weight: normal;
  letter-spacing: 1.4px;
  line-height: 1.3;
  padding-bottom: 4px;
  text-align: left;
}

@media screen and (max-width: 1239px) {
  .tp-prod_ttl {
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 1240px) {
  .tp-prod_ttl {
    font-size: 2.8rem;
  }
}
.tp-prod_ttl span {
  display: inline-block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.1rem;
  letter-spacing: normal;
  margin-left: 10px;
  vertical-align: middle;
}

@media screen and (min-width: 1240px) {
  .tp-prod_ttl span {
    font-size: 1.4rem;
  }
}
.tp-prod_ttl a {
  color: #333;
}

@media screen and (min-width: 1240px) {
  .tp-prod_ttl a:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
.tp-prod_list {
  display: flex;
  flex-flow: row wrap;
}

.tp-prod_item {
  margin-top: 15px;
  width: 50%;
}

@media screen and (min-width: 1240px) {
  .tp-prod_item {
    margin-top: 30px;
  }
}
.tp-prod_item a {
  align-items: center;
  color: #333;
  display: flex;
  font-size: 1.1rem;
  height: 100%;
  line-height: 1.5;
  padding-right: 10px;
  text-align: left;
}

@media screen and (min-width: 1240px) {
  .tp-prod_item a {
    font-size: 1.4rem;
  }
  .tp-prod_item a:hover {
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.3s;
  }
}
.tp-prod_item a img {
  flex-basis: 40px;
  flex-shrink: 1;
  margin-right: 10px;
  width: 40px;
}

@media screen and (min-width: 1240px) {
  .tp-prod_item a img {
    flex-basis: 80px;
    width: 80px;
  }
}
/* instagram
========================================== */
.tp-insta_flollow {
  font-size: 1.2rem;
  margin-bottom: 20px;
  margin-right: auto;
  text-align: left;
}

.tp-insta_flollow a {
  border-bottom: 1px solid #333;
  color: #333;
  font-family: "Open Sans", sans-serif;
  padding-bottom: 2px;
}

.tp-insta_flollow a:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}

.tp-insta_flollow i {
  font-size: 2rem;
  margin-left: 5px;
  margin-right: 5px;
}

@media screen and (min-width: 1240px) {
  .tp-insta_flollow {
    font-size: 1.4rem;
  }
}
.tp-insta_list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.tp-insta_item {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
}

@media screen and (min-width: 1240px) {
  .tp-insta_item {
    height: 234px;
    width: 234px;
  }
}
@media screen and (max-width: 1239px) {
  .tp-insta_item {
    margin-bottom: 5px;
    width: calc(50% - 2.5px);
  }
  .tp-insta_item:nth-child(n+5) {
    display: none;
  }
}
.tp-insta_item img {
  height: 100%;
  width: 100%;
}

/* ===========================================
  category about / .ct-about
=========================================== */
.ct-about_ttl {
  font-family: "Roboto", sans-serif;
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .ct-about_ttl {
    font-size: 4rem;
  }
}
.ct-about_ttl_second {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.ct-about_block {
  margin-bottom: 30px;
  padding-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .ct-about_block.-flex {
    display: flex;
    flex-flow: row;
  }
}
.ct-about_block:not(:last-child) {
  border-bottom: 2px solid #ccc;
}

.ct-about_img {
  flex-shrink: 0;
  margin-bottom: 20px;
}

.ct-about_img.-left {
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .ct-about_img.-left {
    margin-bottom: 0;
    margin-right: 20px;
  }
}
.ct-about_img img {
  margin-bottom: 20px;
}

.ct-about_desc {
  margin-bottom: 20px;
}

.ct-about_desc p:not(:last-child) {
  margin-bottom: 1.5em;
}

@media screen and (max-width: 1239px) {
  .ct-about_inner {
    margin-bottom: 20px;
  }
}
/* technology-design
========================================== */
@media screen and (min-width: 1240px) {
  .ct-aboutFeature_boxs {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
  }
}
.ct-aboutFeature_box {
  margin-top: 30px;
}

@media screen and (min-width: 1240px) {
  .ct-aboutFeature_box {
    width: calc(50% - 20px);
  }
  .ct-aboutFeature_box:nth-child(-n+2) {
    margin-top: 0;
  }
}
.ct-aboutFeature_box a {
  color: #333;
}

.ct-aboutFeatureBox_img {
  margin-bottom: 10px;
  width: 100%;
}

.ct-aboutFeatureBox_ttl {
  font-family: "Open Sans", sans-serif;
  font-size: 1.9rem;
  line-height: 1.5;
  margin-bottom: 10px;
}

.ct-aboutFeatureBox_ttl span {
  display: block;
  font-weight: bold;
  margin-bottom: 0;
  margin-top: 5px;
}

.ct-aboutFeatureBox_ttl small {
  display: block;
  font-size: 1.4rem;
}

/* ===========================================
  category banner / .ct-bnr
=========================================== */
.ct-bnr {
  margin: 40px 0;
  text-align: center;
}

@media screen and (min-width: 1240px) {
  .ct-bnr a:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
.ct-bnr_list {
  text-align: center;
}

.ct-bnr_list li {
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .ct-bnr_list a:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
/* ===========================================
  category BRANDS / .ct-brand
  - card
  - box
  - tile
  - logo list
  - navi
  - company
  - other
=========================================== */
/* card
========================================== */
.ct-brand_cards {
  display: flex;
  flex-flow: row wrap;
}

@media screen and (max-width: 1239px) {
  .ct-brand_cards {
    justify-content: space-between;
  }
}
.ct-brand_card {
  background: #d1d1d1;
  margin-top: 15px;
}

@media screen and (max-width: 1239px) {
  .ct-brand_card {
    width: calc(50% - 7.5px);
  }
  .ct-brand_card:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1240px) {
  .ct-brand_card {
    margin-right: 15px;
    width: calc(25% - 11.25px);
  }
  .ct-brand_card:nth-child(-n+4) {
    margin-top: 0;
  }
  .ct-brand_card:nth-child(4n) {
    margin-right: 0;
  }
}
.ct-brand_card a {
  color: #333;
  display: flex;
  flex-flow: column;
  padding-bottom: 5px;
}

@media screen and (min-width: 1240px) {
  .ct-brand_card a:hover img {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
.ct-brandCard_ttl {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.3;
  margin-bottom: 20px;
  margin-left: 10px;
  margin-right: 10px;
  order: 2;
}

.ct-brandCard_name {
  display: block;
  font-weight: normal;
  line-height: 1.3;
  margin-top: 5px;
}

.ct-brandCard_logo {
  display: block;
  height: 62px;
  line-height: 62px;
  margin-bottom: 10px;
  vertical-align: middle;
}

@media screen and (max-width: 1239px) {
  .ct-brandCard_logo {
    height: 32px;
    line-height: 32px;
  }
}
@media screen and (min-width: 1240px) {
  .ct-brandCard_logo {
    height: 62px;
    line-height: 62px;
  }
}
.ct-brandCard_logo img {
  max-height: 62px;
  vertical-align: top;
}

@media screen and (max-width: 1239px) {
  .ct-brandCard_logo img {
    max-height: 32px;
    max-width: 70%;
  }
}
@media screen and (min-width: 1240px) {
  .ct-brandCard_logo img {
    max-height: 62px;
    max-width: 100%;
  }
}
.ct-brandCard_desc {
  font-size: 1.3rem;
  margin-bottom: 10px;
  margin-left: 10px;
  margin-right: 10px;
  order: 3;
}

.ct-brandCard_img {
  margin-bottom: 15px;
  order: 1;
}

.contents.lighting .ct-brandCard_img {
  height: 240px;
}

@media screen and (max-width: 1239px) {
  .contents.lighting .ct-brandCard_img {
    height: auto;
  }
}
.hansgrohe li .list_item img {
  height: 319px;
}

@media screen and (max-width: 1239px) {
  .hansgrohe li .list_item img {
    height: auto;
  }
  .hansgrohe li .txt_box {
    height: 452px;
  }
  .hansgrohe li .txt_box h2 {
    font-size: 23px;
  }
}
/* box
========================================== */
.ct-brand_boxs {
  display: flex;
}

.ct-brand_boxs.-col2 {
  flex-flow: wrap;
  justify-content: space-between;
}

.ct-brand_box.-col2 {
  width: calc(50% - 7.5px);
}

@media screen and (min-width: 1240px) {
  .ct-brand_box.-col2 {
    width: calc(50% - 20px);
  }
}
.ct-brand_box a {
  color: #333;
}

.ct-brandBox_img {
  margin-bottom: 10px;
  width: 100%;
}

.ct-brandBox_name img {
  max-height: 50px;
  width: auto;
}

.ct-brandBox_name span {
  display: block;
  margin-top: 5px;
}

/* tile
========================================== */
.ct-brand_tiles {
  display: flex;
  flex-flow: row wrap;
}

@media screen and (max-width: 1239px) {
  .ct-brand_tiles {
    justify-content: space-between;
  }
}
.ct-brand_tile {
  margin-top: 15px;
}

@media screen and (max-width: 1239px) {
  .ct-brand_tile {
    width: calc(50% - 7.5px);
  }
  .ct-brand_tile:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1240px) {
  .ct-brand_tile {
    margin-right: 15px;
    margin-top: 15px;
    width: calc(25% - 11.25px);
  }
  .ct-brand_tile:nth-child(-n+4) {
    margin-top: 0;
  }
  .ct-brand_tile:nth-child(4n) {
    margin-right: 0;
  }
}
.ct-brand_tile a {
  color: #333;
  display: flex;
  flex-flow: column;
}

@media screen and (min-width: 1240px) {
  .ct-brand_tile a:hover img {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
.ct-brandTile_name img {
  max-height: 32px;
  max-width: 70%;
  vertical-align: bottom;
}

@media screen and (min-width: 1240px) {
  .ct-brandTile_name img {
    max-height: 62px;
    max-width: 100%;
  }
}
.ct-brandTile_name span {
  display: block;
  font-size: 1.2rem;
  margin-top: 5px;
}

.ct-brandTile_img {
  margin-bottom: 10px;
}

/* logo list
========================================== */
.ct-brandLogo_list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (min-width: 768px) {
  .ct-brandLogo_list {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  }
}
.ct-brandLogo_item a {
  align-items: center;
  border: 1px solid #ccc;
  display: flex;
  height: 70px;
  justify-content: center;
  text-align: center;
  vertical-align: top;
}

.ct-brandLogo_item img {
  max-height: 60%;
  max-width: 70%;
}

/* navi
========================================== */
.ct-brand_nav {
  margin-bottom: 50px;
}

/* company
========================================== */
.ct-brandCompany {
  border: 1px solid #000;
  display: flex;
  flex-flow: column;
  margin-bottom: 45px;
  padding-bottom: 10px;
}

.ct-brandCompany_header {
  margin-bottom: 10px;
  order: 2;
  padding-left: 15px;
  padding-right: 15px;
}

@media screen and (min-width: 1240px) {
  .ct-brandCompany_header {
    display: flex;
    justify-content: space-between;
  }
}
.ct-brandCompany_header span {
  display: block;
  font-weight: normal;
  line-height: 1.4;
  margin-top: 10px;
}

.ct-brandCompany_link a {
  color: #0073aa;
  text-decoration: underline;
}

.ct-brandCompany_desc {
  order: 3;
  padding-left: 15px;
  padding-right: 15px;
}

.ct-brandCompany_img {
  margin-bottom: 20px;
  order: 1;
}

.ct-brandCompany_img img {
  width: 100%;
}

/* other
========================================== */
.ct-brand_desc {
  margin-top: 20px;
}

.ct-brand_desc p {
  margin-bottom: 1em;
}

/* ===========================================
  category CAMPAIGN / .ct-campaign
=========================================== */
.ct-campaign_list {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) and (max-width: 1240px) {
  .ct-campaign_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1240px) {
  .ct-campaign_list {
    grid-template-columns: repeat(auto-fill, minmax(312px, 1fr));
  }
}
.ct-campaign_item a {
  display: block;
}

.ct-campaign_item a:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

.ct-campaign_item a img {
  width: 100%;
}

/* ===========================================
  category COLLECTIONS / .ct-collect
=========================================== */
.ct-collect_tiles {
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

@media screen and (max-width: 1239px) {
  .ct-collect_tiles {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .ct-collect_tile {
    width: calc(50% - 7.5px);
  }
  .ct-collect_tile:nth-child(-n+2) {
    margin-top: 0;
  }
  .ct-collect_tile img {
    width: 100%;
  }
}

.ct-collect_tile {
  margin-top: 20px;
}

@media screen and (min-width: 1240px) {
  .ct-collect_tile {
    margin-right: 15px;
    width: calc(25% - 11.25px);
  }
  .ct-collect_tile:nth-child(-n+4) {
    margin-top: 0;
  }
  .ct-collect_tile:nth-child(4n) {
    margin-right: 0;
  }
  .ct-collect_tile img {
    width: 233.75px;
    height: auto;
  }
  .ct-collect_tile a:hover img {
    opacity: .7;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
  }
}

.ct-collect_tile a {
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      -ms-flex-flow: column;
          flex-flow: column;
  padding-bottom: 10px;
}

.ct-collectTile_name {
  font-size: 1.4rem;
  line-height: 1.3;
}

.ct-collectTile_name span {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 1.8rem;
  margin-bottom: 5px;
}

.ct-collect_btn {
  margin-top: 10px;
}

.ct-collect_btn a {
  display: block;
  text-align: center;
}

.ct-collect_btn a img {
  width: auto;
}

/* ===========================================
  category content about / .ct-contAbout
=========================================== */
.ct-contAbout {
  background: #333;
  color: #fff;
  margin-bottom: 40px;
}

.ct-contentAbout_img img {
  width: 100%;
}

.ct-contAbout_body {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
  padding: 20px 15px;
}

@media screen and (min-width: 768px) {
  .ct-contAbout_body {
    gap: 20px;
    grid-template-columns: auto auto;
  }
}
@media screen and (min-width: 1240px) {
  .ct-contAbout_logo {
    flex-shrink: 0;
  }
}
.ct-contAbout_logo img {
  width: 100px;
}

@media screen and (min-width: 768px) {
  .ct-contAbout_logo img {
    max-width: 140px;
    min-width: 100px;
  }
}
.ct-contAbout_ttl {
  font-size: 2.4rem;
}

@media screen and (min-width: 768px) {
  .ct-contAbout_ttl {
    font-size: 2.8rem;
    margin-bottom: 5px;
  }
}
/* ===========================================
  category content / .ct-content
=========================================== */
.ct-content {
  margin-bottom: 40px;
}
.ct-content.-bottom {
  margin-top: 40px;
}

.ct-content_inner {
  border: 1px solid #000;
  overflow: hidden;
  padding: 15px;
}

@media screen and (min-width: 1240px) {
  .ct-content_inner {
    padding: 20px;
  }
}
.ct-content_block {
  border: 1px solid #000;
  overflow: hidden;
  padding: 15px;
  margin-bottom: 30px;
}

@media screen and (min-width: 1240px) {
  .ct-content_block {
    padding: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .ct-content_block.-flex {
    display: flex;
  }
}
.ct-content_block p:not(:last-child) {
  margin-bottom: 1em;
}

.ct-content_logo {
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .ct-content_logo {
    flex-shrink: 0;
    margin-right: 15px;
  }
}
.ct-content_img {
  flex-shrink: 0;
  margin-bottom: 15px;
}

@media screen and (max-width: 1239px) {
  .ct-content_img {
    text-align: center;
  }
  .ct-content_img img {
    max-width: 100%;
    width: auto;
  }
}
.ct-content_img.-prof {
  float: left;
  margin-bottom: 5px;
  margin-right: 15px;
}

@media screen and (max-width: 1239px) {
  .ct-content_img.-prof {
    width: 40%;
  }
}
@media screen and (min-width: 1240px) {
  .ct-content_img.-prof {
    margin-bottom: 15px;
    margin-right: 30px;
  }
}
.ct-content_img img {
  width: 100%;
}

.ct-content_icon {
  flex-shrink: 0;
  margin-bottom: 15px;
}

@media screen and (min-width: 1240px) {
  .ct-content_icon img {
    width: 100%;
  }
}
.ct-content_content dt {
  font-size: 1.8rem;
  font-weight: bold;
}

.ct-content_box.-prof dt {
  font-size: 2.4rem;
  margin-bottom: 10px;
}

.ct-content_box.-prof p {
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .ct-content_box.-feature {
    margin-left: 20px;
  }
}
.ct-content_box.-feature dt {
  font-size: 1.8rem;
  font-weight: bold;
}

.ct-content_box.-feature dd {
  font-size: 1.4rem;
}

.ct-content_box.-feature p {
  margin-bottom: 10px;
}

.ct-content_unit {
  border: 1px solid #000;
  margin-bottom: 20px;
  padding: 15px;
}

@media screen and (min-width: 1240px) {
  .ct-content_unit {
    display: flex;
    padding: 20px;
  }
}
.ct-content_section {
  margin-bottom: 20px;
}

.ct-content_section:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 1240px) {
  .ct-content_main {
    display: flex;
  }
}
.ct-content_ttl {
  border-left: 4px solid #000;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
  padding-left: 14px;
}

.ct-content_movie {
  height: 0;
  margin-bottom: 40px;
  overflow: hidden;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  position: relative;
  text-align: center;
}

.ct-content_movie iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* ===========================================
  category technical guide
=========================================== */
/* /sanitary/washbasin/ technical guide banner 2021/09
- edit 2024/11
========================================== */
.ct-guide_list {
  position: relative;
}

@media screen and (max-width: 767px) {
  .ct-guide_list {
    height: calc(70.6666666667vw + 0px);
    margin-bottom: 5.3333333333vw;
    width: 100%;
  }
}
@media screen and (min-width: 1240px) {
  .ct-guide_list {
    margin-bottom: 20px;
  }
}
@media (min-width: 768px) and (max-width: 1240px) {
  .ct-guide_list {
    margin: 0 auto 10px;
    width: 100% !important;
  }
}
@media screen and (min-width: 1240px) {
  .ct-guide_item {
    margin-right: 30px;
    width: 380px;
  }
}
.ct-guide_item a {
  display: block;
}

.ct-guide_item img {
  height: auto;
  width: 100%;
}

/* ===========================================
  category main / .ct-main
=========================================== */
.ct-main {
  margin-bottom: 45px;
}

@media screen and (min-width: 768px) {
  .ct-main {
    margin-bottom: 60px;
  }
}
.ct-main_ttl {
  font-family: "Roboto", sans-serif;
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 10px;
}

@media screen and (min-width: 1240px) {
  .ct-main_ttl {
    font-size: 4rem;
  }
}
.ct-main_ttl span {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.3rem;
  font-weight: normal;
  margin-top: 5px;
}

.ct-main_visual {
  margin-bottom: 15px;
  padding: 0;
}

.ct-main_visual img {
  width: 100%;
}

.ct-main_brand {
  margin-bottom: 15px;
}

.ct-main_item img {
  width: 100%;
}

.ct-main_catch {
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 5px;
}

@media screen and (min-width: 1240px) {
  .ct-main_catch {
    font-size: 1.6rem;
  }
}
.ct-main_desc {
  margin-bottom: 40px;
}

@media screen and (min-width: 1240px) {
  .ct-main_desc {
    font-size: 1.6rem;
  }
}
/* ===========================================
  category PRODUCTS / .ct-prod
=========================================== */
/* card
========================================== */
/*  デフォルト PC4カラム、SP2
    .-col3 PC3カラム
------------------------------------ */
.ct-prod_cards {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (min-width: 768px) {
  .ct-prod_cards {
    grid-template-columns: repeat(auto-fill, minmax(233px, 1fr));
  }
  .ct-prod_cards:has(.ct-prod_card.-col3) {
    grid-template-columns: repeat(auto-fill, minmax(312px, 1fr));
  }
}
.ct-prod_card {
  background: #d1d1d1;
  min-width: 0;
}

.ct-prod_card a {
  color: #333;
  display: flex;
  flex-flow: column;
  padding-bottom: 5px;
}

@media screen and (min-width: 1240px) {
  .ct-prod_card a:hover img {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
.ct-prodCard_body {
  order: 2;
}

.ct-prodCard_imgWrap {
  order: 1;
}

.ct-prodCard_ttl {
  font-family: "Roboto", sans-serif;
  font-size: 2rem;
  line-height: 1;
  margin: 15px 10px;
  order: 2;
}

@media screen and (min-width: 1240px) {
  .ct-prodCard_ttl {
    font-size: 2.4rem;
  }
}
.ct-prodCard_ttl span {
  display: block;
  font-size: 1.3rem;
  margin-top: 7px;
}

@media screen and (min-width: 1240px) {
  .ct-prodCard_ttl span {
    font-size: 1.5rem;
  }
}
.ct-prodCard_desc {
  font-size: 1.2rem;
  margin-bottom: 10px;
  margin-left: 10px;
  margin-right: 10px;
  order: 3;
}

@media screen and (min-width: 1240px) {
  .ct-prodCard_desc {
    font-size: 1.3rem;
  }
}
.ct-prodCard_img {
  aspect-ratio: 1/1;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  order: 1;
  width: 100%;
}

/* product list 商品一覧
========================================== */
.ct-prodList_list {
  display: grid;
  gap: 50px 15px;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (min-width: 768px) {
  .ct-prodList_list {
    grid-template-columns: repeat(auto-fill, minmax(184px, 1fr));
  }
}
.ct-prodList_item {
  display: flex;
  flex-flow: column;
  font-size: 1.4rem;
  justify-content: flex-start;
  text-align: left;
}

.ct-prodList_logo {
  margin-top: 5px;
}

.ct-prodList_logo img {
  max-height: 22px;
  max-width: 60%;
  vertical-align: middle;
}

.ct-prodList_name {
  font-size: 1.4rem;
  margin-bottom: 15px;
  order: 3;
}

.ct-prodList_name a {
  color: #333;
  font-weight: normal;
  text-decoration: none;
}

.ct-prodList_name a:hover {
  text-decoration: underline;
}

.ct-prodList_name span {
  font-size: 1.2rem;
  font-weight: normal;
}

.ct-prodList_img {
  margin-bottom: 12px;
  order: 1;
}

.ct-prodList_img img {
  aspect-ratio: 1/1;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.ct-prodList_mark {
  align-items: center;
  background: #dd0806;
  border-radius: 50%;
  bottom: -5px;
  color: #fff;
  display: flex;
  font-size: 1.2rem;
  height: 50px;
  justify-content: center;
  line-height: 1.2;
  position: absolute;
  right: -5px;
  text-align: center;
  width: 50px;
}

.ct-prodList_logo {
  margin-bottom: 10px;
  order: 2;
}

@media screen and (min-width: 1240px) {
  .ct-prodList_logo {
    margin-bottom: 10px;
  }
}
.ct-prodList_box {
  margin-bottom: 10px;
  order: 4;
}

.ct-prodList_box dd {
  margin-bottom: 3px;
  word-wrap: break-word;
}

.ct-prodList_box dd:last-child {
  margin-bottom: 0;
}

.ct-prodList_box .-sale {
  color: red;
}

.ct-prodList_btn {
  margin-bottom: 0;
  margin-top: auto;
  order: 5;
  text-align: center;
}

.ct-prodList_btn li {
  margin-bottom: 10px;
}

.ct-prodList_btn li:last-child {
  margin-bottom: 0;
}

.ct-prodList_btn li input {
  border-radius: 0;
  max-width: 100%;
}

.ct-prodList_btn li input:hover {
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.3s;
}


.ec-modal-wrap h1{
  color: #ffffff;
  text-align: center;
  line-height: 150%;
}

.ec-modal-wrap img{
  height: auto;
  object-fit: cover;
  width: 184px;
}


/* block
========================================== */
.ct-prod_block {
  border-bottom: 1px solid #333;
  margin-bottom: 30px;
  padding-bottom: 40px;
}

.ct-prod_block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.ct-prodBlock_ttl {
  margin-bottom: 10px;
}

.ct-prodBlock_desc {
  margin-bottom: 20px;
}

/* ===========================================
  category section / .ct-section
=========================================== */
.ct-section {
  margin-bottom: 55px;
}

@media screen and (min-width: 1240px) {
  .ct-section {
    margin-bottom: 70px;
  }
}
.ct-section_ttl {
  border-bottom: 10px solid #000;
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 15px;
  padding-bottom: 5px;
}

@media screen and (max-width: 1239px) {
  .ct-section_ttl {
    line-height: 1.2;
  }
}
@media screen and (min-width: 1240px) {
  .ct-section_ttl {
    font-family: "Roboto", sans-serif;
    font-size: 3.5rem;
  }
}
.ct-section_ttl span {
  color: #666;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media screen and (max-width: 1239px) {
  .ct-section_ttl span {
    display: block;
    margin-top: 5px;
  }
}
@media screen and (min-width: 1240px) {
  .ct-section_ttl span {
    font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1.6rem;
    line-height: 1.3;
    margin-left: 20px;
  }
}
.ct-section_ttl img {
  margin-bottom: 3px;
}

.ct-section_ttl-2 {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  margin: 30px 0 20px;
}

.ct-section_sizeNav {
  margin-bottom: 20px;
}

@media screen and (min-width: 1240px) {
  .ct-section_sizeNav {
    margin-bottom: 30px;
  }
}
/* ===========================================
  category SERIES / .ct-series
=========================================== */
/* box
========================================== */
.ct-series_boxs {
  display: flex;
  flex-flow: row wrap;
}

@media screen and (max-width: 1239px) {
  .ct-series_boxs {
    justify-content: space-between;
  }
}
.ct-series_box {
  display: flex;
  flex-flow: column;
  margin-top: 40px;
}

@media screen and (max-width: 1239px) {
  .ct-series_box {
    width: calc(50% - 7.5px);
  }
  .ct-series_box:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1240px) {
  .ct-series_box {
    margin-right: 15px;
    margin-top: 35px;
    width: calc(25% - 11.25px);
  }
  .ct-series_box:nth-child(-n+4) {
    margin-top: 0;
  }
  .ct-series_box:nth-child(4n) {
    margin-right: 0;
  }
}
.ct-seriesBox_ttl {
  font-family: "Roboto", sans-serif;
  font-size: 2rem;
  font-weight: normal;
  line-height: 1.2;
  margin-bottom: 10px;
  order: 2;
}

@media screen and (min-width: 1240px) {
  .ct-seriesBox_ttl {
    margin-bottom: 15px;
  }
}
.ct-seriesBox_ttl span {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.3rem;
  line-height: 1.5;
  margin-top: 8px;
}

.ct-seriesBox_desc {
  font-size: 1.3rem;
  margin-bottom: 10px;
  order: 3;
}

@media screen and (min-width: 1240px) {
  .ct-seriesBox_desc {
    font-size: 1.4rem;
  }
}
.ct-seriesBox_img {
  display: block;
  margin-bottom: 10px;
  order: 1;
}

@media screen and (min-width: 1240px) {
  .ct-seriesBox_img:hover img {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
.ct-seriesBox_img img {
  width: 100%;
}

.ct-seriesBox_btn {
  font-size: 1.1rem;
  margin-top: auto;
  order: 4;
}

@media screen and (min-width: 1240px) {
  .ct-seriesBox_btn {
    font-size: 1.4rem;
  }
}
.ct-seriesBox_btn a {
  border: 1px solid #595959;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.15);
  color: #595959;
  display: block;
  font-weight: 700;
  padding: 10px 0;
  text-align: center;
}

.ct-seriesBox_btn a:after {
  content: ">";
  font-weight: 400;
  margin-left: 5px;
}

@media screen and (min-width: 1240px) {
  .ct-seriesBox_btn a:after {
    margin-left: 10px;
  }
}
.ct-seriesBox_btn a:hover {
  background: #595959;
  color: #fff;
  transition: 0.3s;
}

/* box
========================================== */
.ct-series_tiles {
  display: flex;
  flex-flow: row wrap;
}

@media screen and (max-width: 1239px) {
  .ct-series_tiles {
    justify-content: space-between;
  }
}
.ct-series_tile {
  display: flex;
  flex-flow: column;
  margin-top: 20px;
}

@media screen and (max-width: 1239px) {
  .ct-series_tile {
    width: calc(50% - 7.5px);
  }
  .ct-series_tile:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1240px) {
  .ct-series_tile {
    margin-right: 15px;
    margin-top: 30px;
    width: calc(25% - 11.25px);
  }
  .ct-series_tile:nth-child(-n+4) {
    margin-top: 0;
  }
  .ct-series_tile:nth-child(4n) {
    margin-right: 0;
  }
}
.ct-series_tile a {
  color: #333;
}

@media screen and (min-width: 1240px) {
  .ct-series_tile a:hover img {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
.ct-seriesTile_name {
  vertical-align: middle;
}

.ct-seriesTile_name img {
  max-height: 32px;
  max-width: 70%;
}

@media screen and (min-width: 1240px) {
  .ct-seriesTile_name img {
    max-height: 62px;
    max-width: 100%;
  }
}
.ct-seriesTile_name span {
  display: block;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-top: 10px;
}

/* ===========================================
  category SIZE / .ct-size
=========================================== */
.ct-size_cards {
  display: flex;
  flex-flow: row wrap;
}

@media screen and (max-width: 1239px) {
  .ct-size_cards {
    justify-content: space-between;
  }
}
.ct-size_card {
  background: #d1d1d1;
  margin-top: 15px;
}

@media screen and (max-width: 1239px) {
  .ct-size_card {
    width: calc(50% - 7.5px);
  }
  .ct-size_card:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1240px) {
  .ct-size_card {
    margin-right: 15px;
    width: calc(25% - 11.25px);
  }
  .ct-size_card:nth-child(-n+4) {
    margin-top: 0;
  }
  .ct-size_card:nth-child(4n) {
    margin-right: 0;
  }
}
.ct-size_card a {
  color: #333;
  display: flex;
  flex-flow: column;
  padding-bottom: 5px;
}

.ct-sizeCard_ttl {
  font-family: "Roboto", sans-serif;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 15px;
  margin-left: 10px;
  margin-right: 10px;
  order: 2;
  text-align: center;
}

@media screen and (min-width: 1240px) {
  .ct-sizeCard_ttl {
    font-size: 2.4rem;
  }
}
.ct-sizeCard_desc {
  font-size: 1.2rem;
  margin-bottom: 10px;
  margin-left: 10px;
  margin-right: 10px;
  order: 3;
}

@media screen and (min-width: 1240px) {
  .ct-sizeCard_desc {
    font-size: 1.3rem;
  }
}
.ct-sizeCard_img {
  margin-bottom: 15px;
  order: 1;
}

/* ===========================================
  movie list / .ct-movie_list
=========================================== */
.ct-movie_list {
  margin-bottom: 40px;
}

@media screen and (min-width: 1240px) {
  .ct-movie_list {
    -webkit-box-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.ct-movie_item {
  margin-bottom: 20px;
}

@media screen and (max-width: 1239px) {
  .ct-movie_item {
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
  }
  .ct-movie_item iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}

@media screen and (min-width: 1240px) {
  .ct-movie_item {
    margin: 0 10px;
  }
}

/* ===========================================
  catalog button / .ct-catalog
=========================================== */

.ct-catalog_wrap {
  margin: 40px auto;
}
.ct-catalog_img {
  position: relative;
  text-align: center;
  width: 200px;
}
@media screen and (min-width: 768px) {
  .ct-catalog_img {
    width: 250px;
  }
}
.ct-catalog_wrap .btn {
  background: #000;
  border-radius: 5px;
  color: #fff;
  display: block;
  font-size: 16px;
  line-height: 1;
  margin-top: 20px;
  padding: 6px 0;
  width: 100%;
}

.ct-catalog_wrap .btn span {
  display: block;
  font-size: 24px;
  margin-bottom: 6px;
}
.ct-catalog_wrap .btn:hover {
  opacity: 0.7;
}

@media screen and (max-width: 1239px) {
  .ct-catalog_wrap .btn {
    font-size: 14px;
    margin: 20px -20% 0;
    width: 140%;
  }
  .ct-catalog_wrap .btn span {
    font-size: 24px;
  }
}
.ct-catalog_catalog {
  margin-bottom: 10px;
}

/* size navi
========================================== */
.ct-sizeNav_list {
  display: flex;
  flex-flow: wrap;
  font-size: 1.2rem;
  margin-bottom: 20px;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .ct-sizeNav_list {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
}
.ct-sizeNav_list li {
  background: #9e9e9e;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  line-height: 1.3;
  vertical-align: middle;
  width: 33.3333333333%;
}

@media screen and (min-width: 1240px) {
  .ct-sizeNav_list li {
    width: 16.6666666667%;
  }
}
.ct-sizeNav_list li.is-active, .ct-sizeNav_list li:hover {
  background: #8cc7f0;
  transition: background 0.3s;
}

.ct-sizeNav_list li a {
  align-items: center;
  color: #000;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 10px;
}

@media screen and (min-width: 1240px) {
  .ct-sizeNav_list li a {
    padding: 5px 10px 3px;
  }
}
/* キャプサー追記 */
.kiyaku_text {
  margin: 0 auto 20px;
  padding: 12px;
  width: 100%;
}

@media screen and (min-width: 1240px) {
  .formlist dt {
    width: 150px;
  }
  /* clearfix */
  .clearfix {
    display: flex;
    margin-bottom: 8px;
    width: 100%;
  }
}
@media screen and (max-width: 1239px) {
  .formlist input[type=text],
  .formlist input[type=password] {
    font-size: 24px;
    width: 100%;
  }
  .formlist input[type=password] {
    margin-bottom: 20px;
  }
}
/* use-rule
========================================== */
.rule_inner {
  margin: 50px 0 80px;
}

.rule_inner h2 {
  font-weight: 500;
  margin-bottom: 20px;
}

.rule_inner p {
  font-size: 1.4rem;
  margin-left: 40px;
}

.rule_inner p:last-child {
  margin-bottom: 40px;
}

.rule_inner p span {
  display: block;
  margin-left: 40px;
}

/* linero-cp 2020/09
========================================== */
.linero-cp .sp-br {
  display: none;
}

.linero-cp .ct-main_catch {
  font-size: 2rem;
  margin-bottom: 10px;
}

.linero-cp .cp-terms li {
  line-height: 1.7;
  margin-bottom: 15px;
}

.linero-cp .cp-terms span {
  border-top: 1px solid #333;
  display: inline-block;
  margin-top: 3px;
  padding-top: 3px;
}

.linero-cp .cp-terms strong {
  color: #D82040;
  font-size: 1.9rem;
  font-weight: normal;
}

.linero-cp .cp-system-logo p {
  font-size: 4rem;
  line-height: 1.3;
  padding: 15px 15px 15px 0;
}

.linero-cp .cp-system-logo p span {
  color: #ccc;
  display: block;
  font-size: 1.6rem;
  letter-spacing: -0.1rem;
  line-height: 0;
}

.linero-cp .ct-content_block.-flex {
  border: none;
  border-radius: 20px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.linero-cp table, .linero-cp th, .linero-cp td {
  border: 1px solid #333;
  border-collapse: collapse;
  line-height: 1.5;
}

.linero-cp th, td {
  padding: 3px;
  vertical-align: middle;
}

.linero-cp .cp-table-inner {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
}

.linero-cp table {
  width: 100%;
}

.linero-cp .cp-table-inner table {
  width: 80%;
}

.linero-cp .cp-table-inner td, .linero-cp .cp-table-inner th,
.linero-cp .cp-table-inner-half td,
.linero-cp .cp-table-inner-half th {
  text-align: center;
}

.linero-cp .cp-table-inner td {
  padding: 15px 3px;
}

.linero-cp .cp-table-inner td:last-child {
  color: #D82040;
  font-size: 2.4rem;
}

.linero-cp .btn-inner {
  text-align: center;
}

.linero-cp .btn-inner p {
  color: #D82040;
  font-size: 2.4rem;
}

.linero-cp .btn-inner a {
  background: #D82040;
  border-radius: 5px;
  color: #fff;
  display: block;
  margin-bottom: -15px;
  padding: 5px 10px;
  transition: 0.25s;
}

.linero-cp .cp-table-inner .btn-inner a:hover {
  opacity: 0.65;
}

.linero-cp table.set td:nth-of-type(3) {
  text-align: right;
}

.linero-cp table.set td:nth-of-type(4) {
  text-align: center;
}

.linero-cp table.set td[rowspan="4"] {
  font-size: 2.4rem;
  text-align: center;
}

.linero-cp table.set td[rowspan="5"] {
  font-size: 2.4rem;
  text-align: center;
}

.linero-cp .item-article {
  margin: 10px auto;
  width: 90%;
}

.linero-cp .option-p {
  margin: -10px 0 25px;
}

.linero-cp .cp-table-inner-half th:first-child {
  width: 45%;
}

.linero-cp .cp-table-inner-half tr:nth-child(3) td {
  padding: 8px;
}

.linero-cp .cp-table-inner-half tr:last-child td:last-child {
  color: #D82040;
  font-size: 2.4rem;
}

.linero-cp .ct-prodList_btn li:last-child {
  margin-top: -23px;
}

@media screen and (min-width: 768px) {
  .linero-cp .item-article.image {
    width: 60%;
  }
  .linero-cp .cp-table-inner-half {
    display: flex;
    justify-content: space-between;
  }
  .linero-cp .cp-table-inner-half .item-article.image {
    width: 45%;
  }
  .linero-cp .cp-table-inner-half .table-box {
    margin-top: 40px;
    width: 45%;
  }
  .linero-cp .cp-table-inner-half .btn-inner {
    margin: 0 0 0 auto;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .linero-cp .sp-br {
    display: block;
  }
  .linero-cp .cp-system-logo p {
    padding: 15px 15px 0 0;
  }
  .linero-cp .cp-table-inner .btn-inner {
    margin-top: 10px;
  }
  .linero-cp .cp-table-inner {
    display: block;
  }
  .linero-cp .cp-table-inner table {
    width: 100%;
  }
  .linero-cp .btn-inner a {
    font-size: 1.8rem;
    padding: 15px 10px;
  }
}
@media screen and (max-width: 320px) {
  .linero-cp table.set td[rowspan="4"] {
    font-size: 1.4rem;
  }
}
/* cielo-cp 2020/10/01
========================================== */
.cielo-cp table {
  border-collapse: collapse;
  border-left: 1px solid #595959;
  border-top: 1px solid #595959;
}

.cielo-cp td, th {
  border-bottom: 1px solid #595959;
  border-right: 1px solid #595959;
}

/* cielo-cp 2020/10/22
========================================== */
.ct-main_ttl {
  line-height: 1.3;
}

.cielo-cp201022 .brand-pickup_card {
  background: transparent;
}

@media screen and (max-width: 767px) {
  .cielo-cp201022 .brand-pickup_card {
    margin-bottom: 20px;
  }
}
.cielo-cp201022 .brand-pickup_card a {
  width: 100%;
}

.cielo-cp201022 .ct-prodList_img img {
  flex-shrink: 0;
}

.cielo-cp201022 .color_variation p {
  font-size: 1.4rem;
}

.cielo-cp201022 .color_variation ul {
  display: flex;
  justify-content: flex-end;
  padding: 5px 0 20px;
}

.cielo-cp201022 .price {
  font-size: 1.8rem;
  padding-bottom: 15px;
}

.cielo-cp201022 .ct-prodList_name a, .cielo-cp201022 .cd-brand_ttl a, .cielo-cp201022 .cd-brand_link a {
  text-decoration: none;
}

.cielo-cp201022 .ct-prodList_name a:hover, .cielo-cp201022 .cd-brand_ttl a:hover, .cielo-cp201022 .cd-brand_link a:hover {
  text-decoration: underline;
}

/* technical-guide/crystal_washbowl 2021/04/15
========================================== */
.pg-sub_ttl {
  font-size: 3.3rem;
  font-weight: bold;
  margin: 0 0 20px;
}

.technical-guide-list li, .technical-guide-notes {
  line-height: 1.5;
  margin-bottom: 10px;
  margin-left: 1em;
  text-indent: -1.2em;
}

.technical-guide-list li::before {
  content: "・";
  margin-right: 3px;
}

.technical-guide-notes {
  color: #ff0000;
  margin-top: 30px;
}

.technical-guide-notes::before {
  color: #ff0000;
  content: "※";
  margin-right: 3px;
}

@media screen and (min-width: 768px) {
  .technical-guide-inner {
    display: flex;
    -ms-flex-align: center;
    justify-content: space-between;
  }
  .technical-guide-inner .pg-main_img {
    width: 51%;
  }
  .technical-guide-inner .pg-main_desc {
    width: 45%;
  }
  .technical-guide-inner .pg-sub_ttl {
    margin-top: -25px;
  }
}
@media screen and (max-width: 767px) {
  .pg-sub_ttl {
    font-size: 1.7rem;
  }
}
/* /campaign/cayono-wide 2021/06/03
========================================== */
@media screen and (min-width: 768px) {
  .ct-prodList_img.__bigger {
    width: 400px;
  }
}
/* setsimulation banner 2022/04/22
========================================== */
@media screen and (min-width: 1240px) {
  .sp-block {
    display: none;
  }
  .pc-block {
    display: block;
  }
}
@media screen and (max-width: 1239px) {
  .sp-block {
    display: block;
  }
  .pc-block {
    display: none;
  }
}

/* 2025
========================================== */
.ec-cartCountNavi__badge{
  display: inline-block;
  border-radius: 50%;
  box-sizing: border-box;
  height: 25px;
  width: 25px;
  font-size: 12px;
  line-height: 25px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #DE5D50;
  font-weight: bold; 
}

.ec-shelfRole{
  padding-bottom: 100px;
  padding-top: 75px;
}
.select_order {
		display: flex;
		width: 100%;
		margin-bottom: 40px;
	}
    .step {
		font-size:14px;
		border-width: 1px 0 1px 1px;
		border-style: solid;
		border-color: #bababa;
		background-color: #f7f7f7;
		position: relative;
		flex-grow: 1;
		height: 80px;
		line-height: 80px;
		padding-left: 25px;
		text-align: center;
	}
    .step:first-of-type {
		border-left-width: 1px;
		padding-left: 15px;
	}
    .step:last-of-type {
		border-right-width: 1px;
	}
	.step:not(:first-of-type):before {
		position: absolute;
		top: -1px;
		left: 0px;
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 40px 0 40px 20px;
		border-color: transparent transparent transparent #bababa;
	}
    .step:not(:first-of-type):after {
		position: absolute;
		top: 0px;
		left: -1px;
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 39px 0 39px 20px;
		border-color: transparent transparent transparent #f7f7f7;
	}
    #selected_cat {
		font-weight: bold;
		flex-grow: 1.5;
		border-width: 2px 0 2px 2px;
		border-color: #90bee0;
		background-color: #f4faff;
	}
	#selected_cat.step:last-of-type {
		border-width: 2px;
	}
    #selected_cat.step:before {
		left: 0px;
		border-color: transparent transparent transparent #90bee0;
	}
    #selected_cat.step:after {
		left: -2px;
	}
	#selected_cat + .step:not(:first-of-type):before {
		left: 0px;
		border-color: transparent transparent transparent #90bee0;
	}
    #selected_cat + .step:not(:first-of-type):after {
		left: -1px;
		top: 1px;
		border-width: 38px 0 38px 19px;
		border-color: transparent transparent transparent #f4faff;
	}
	
	.set_items {
		display: flex;
    	justify-content: flex-start;
		flex-wrap: wrap;
	}
	.set_items:after {
		content: "";
		display: block;
		flex-basis: calc(100% / 3 - 40px);
	}
	.item {
		width: 19%;
		background-color: #f7f7f7;
		padding: 23px;
		margin: 0 .62% 40px;
	}
	.item:first-child {
		margin-left:0;
	}
	.item figure {
		text-align: center;
		margin-bottom: 10px;
	}
	.item h3 {
		margin-bottom: 20px;
		height: 96px;
    	font-weight: normal;
	}
	.item.noselect {
		display: flex;
		align-items: center;
	}
	
	#totalprice {
		font-size: 24px;
	}
	#totalprice small {
		font-size: 18px;
	}
	@media screen and (min-width: 1240px) {
		.item .mp-btn {
			min-width: 100%;
		}
	}
	@media screen and (min-width: 1001px) {
		.item:nth-child(5n) {
			margin-right:0;
		}
		.item:nth-child(5n+1){
			margin-left:0;
		}
	}
	@media screen and (max-width: 1000px) and (min-width: 768px) {
		.item {
			width:24%;
		}
		.item:nth-child(4n) {
			margin-right:0;
		}
		.item:nth-child(4n+1) {
			margin-left:0;
		}
	}
	@media screen and (max-width: 767px) {
		.select_order {
			display: flex;
			width: 100%;
			margin-bottom: 24px;
			flex-direction: column;
		}
		.step {
			text-align: center;
			font-size:14px;
			border-width: 1px 1px 0 1px;
			border-style: solid;
			border-color: #bababa;
			background-color: #f7f7f7;
			position: relative;
			flex-grow: 1;
			line-height: 18px;
			height: auto;
			padding: 20px 0 0 0;
		}
		.step:first-of-type {
			padding: 10px 0 0;
		}
		.step:last-of-type {
			border-bottom-width: 1px;
			padding: 20px 0 8px;
		}
		.step:not(:first-of-type):before {
			position: absolute;
			top: -1px;
			left: -1px;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 15px calc(50vw - 15px) 0 calc(50vw - 15px);
			border-color: #bababa transparent transparent transparent;
		}
		.step:not(:first-of-type):after {		
			position: absolute;
			top: -2px;
			left: 0px;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 15px calc(50vw - 16px) 0 calc(50vw - 16px);
			border-color: #f7f7f7 transparent transparent transparent;
		}
		#selected_cat {
			font-weight: bold;
			flex-grow: 1.5;
			border-width: 2px 2px 0 2px;
			border-color: #90bee0;
			background-color: #f4faff;
		}
		#selected_cat.step:last-of-type {
			border-width: 2px;
		}
		#selected_cat.step:before {
			left: -2px;
			top: 0;
			border-color: #90bee0 transparent transparent transparent;
		}
		#selected_cat.step:after {
			left: 0px;
			top: -2px;
		}
		#selected_cat + .step {
			border-top-color: #90bee0;
			border-top-width: 2px;
		}
		#selected_cat + .step:not(:first-of-type):before {
			left: -1px;
			top: 0px;
			border-color: #90bee0 transparent transparent transparent;
		}
		#selected_cat + .step:not(:first-of-type):after {
			left: 0px;
			top: -2px;
			border-width: 15px calc(50vw - 17px) 0 calc(50vw - 17px);
			border-color: #f4faff transparent transparent transparent;
		}

		.set_items:after {
			display: none;
		}
		.item {
			max-width: 49%;
			flex-basis: 50%;
			padding: 15px;
			margin: 0 0 15px;
			display: block;
			justify-content: space-between;
		}
		.item:nth-child(even) {
			margin-left:2%;
		}
		.item figure {
			margin-bottom: 0;
			flex-basis: 80px;
		}
		.item figure img {
			max-width: 100%;
			height: auto;
		}
		.item div {
			flex-basis: calc(100% - 90px);
		}
		.item h3 {
			margin-bottom: 10px;
			margin-top: 10px;
			font-size: 1.2rem;
		}
		.item.noselect {
			height: 100px;
		}
		.mp-btn_group {
			flex-wrap: wrap;
		}
		.mp-btn_group li {
			margin: 0 0 10px;
		}
		.mp-btn_group li:nth-of-type(1) {margin-right: 5px;}
		.mp-btn_group li:nth-of-type(2) {margin-left: 5px;}
	}

  /* 標準で作成されているフォームの文字が小さいため調整 */
  .ec-borderedDefs input,
  .ec-borderedDefs select,
  .ec-borderedDefs textarea {
      font-size: 15px;
  }

  /* 画面が小さい場合に顧客情報テーブル見出しを折り返す */
  @media screen and (max-width: 1239px) {
    .mp-table.-lg th {
      white-space: normal;
      width: auto;
    }
  }


@media screen and (min-width: 1240px) {
  .tp-recom_list {
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-flow: row wrap;
    display: flex;
    flex-flow: row wrap;
  }
  .tp-recom_item {
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -ms-flex-flow: column;
    flex-flow: column;
    font-size: 1.4rem;
    width: 220px;
    margin-right: 20px;
  }
}

@media screen and (max-width: 1240px) {
  .tp-recom_list {
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-flow: row wrap;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
  }
  .tp-recom_item {
    height: calc(50%);
    width: 200px;
    margin-right: 10px;
    margin-left: 10px;
    flex-flow: column;
    font-size: 1.4rem;
  }
}

