/* 共通CSS */
/*------基本コード------*/
html {
  font-size: 62.5%; /*1rem=16px→1rem=10px 1vw=12px*/
}
body {
  font-family: -apple-system, BlinkMacSystemFont, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-weight: 500;
  font-size: min(3.8vw, 1.6rem)!important;
  line-height: 1.8;
  /*min-width: 1200px;*/
}
p, dt, dd, .common {
  font-size: min(3.8vw, 1.6rem);
  line-height: 1.8;
}
img {
  vertical-align: top;
}
p a {
  text-decoration-line: underline;
}
hr {
	border: none;
}
a:hover {
  transition: 1.0s;
  opacity: 0.8;
  text-decoration: none;
}
.underline a, a .underline {
  text-decoration: underline;
}
.display_pc {
  display: block;
}
.display_sp {
  display: none;
}
.pc_br {
  display: block;
}
.sp_br {
  display: none;
}
@media (max-width: 767px) {
  .display_sp {
    display: block;
  }
  .display_sp img {
    width: 100%;
  }
  .display_pc {
    display: none;
  }
  .sp_br {
    display: block;
  }
  .pc_br {
    display: none;
  }
}
/*メイン画像*/
/*画像によって文字にシャドウかける*/
.topMv p {
    text-shadow: 0 0 6px rgb(0, 0, 0, 0.3);
}
/*フレーム*/
section {
  margin-bottom: min(5.5vw, 3rem);
}
.content-box-1120 {
  width: min(95vw, 1120px);
  margin: 0 auto;
}
.txt-box-85 {
  width: calc(85% + 15vw);
  max-width: 985px;
  margin: 0 auto;
}
.txt-box-70 {
  width: calc(70% + 15vw);
  max-width: 840px;
  margin: 0 auto;
}
.txt-box-line {
  padding: min(3vw, 2rem);
  border: 1px solid #000;
}
.txt-box-line-red {
  padding: min(4vw, 2rem);
  border: 1px solid #CB0B0E;
}
.txt-box-gray {
  padding: min(3vw, 2rem);
  background-color: #E9E9E9
}
.text-box-red {
  margin: 3rem 0;
  padding: 0.6rem 2.2rem 1.6rem;
  border: 1px solid #CB0B0E;
}
.text-box-red2 {
  margin: 0 0 3rem;
  padding: 0.6rem 2.2rem 1.6rem;
  border: 1px solid #CB0B0E;
}
.text-box-red3 {
  margin: 0;
  padding: 0.6rem 2rem;
  border: 1px solid #CB0B0E;
  display: inline-block;
}
/*位置*/
.center {
  text-align: center;
  display: block;
}
@media (max-width: 767px) {
  .sp-center {
  text-align: center;
  display: block;
}
}
.left {
  text-align: left !important;
  justify-content: left !important;
  display: inline-block;
}
/*スペース*/
.space-m-100 {
  margin-top: min(24vw, 10.0rem);
}
.space-mb-100 {
  margin-bottom: min(24vw, 10.0rem);
}
.space-p-80 {
  padding-top: min(14vw, 8.0rem);
}
.space-m-80 {
  margin-top: min(14vw, 8.0rem);
}
.space-mb-80 {
  margin-bottom: min(14vw, 8.0rem);
}
.space-p-60 {
  padding-top: min(12vw, 6.0rem);
}
.space-m-60 {
  margin-top: min(12vw, 6.0rem);
}
.space-mb-60 {
  margin-bottom: min(12vw, 6.0rem);
}
.space-p-50 {
  padding-top: min(10vw, 5.0rem);
}
.space-m-50 {
  margin-top: min(10vw, 5.0rem);
}
.space-p-40 {
  padding-top: min(8vw, 4.0rem);
}
.space-m-40 {
  margin-top: min(8vw, 4.0rem);
}
.space-p-36 {
  padding-top: min(8vw, 3.6rem);
}
.space-m-36 {
  margin-top: min(8vw, 3.6rem);
}
.space-mb-36 {
  margin-bottom: min(8vw, 3.6rem);
}
.space-pb-36 {
  padding-bottom: min(8vw, 3.6rem);
}
.space-m-30, .style2 {
  margin-top: min(7vw, 3rem);
}
.space-p-20 {
  padding-top: min(5.0vw, 2rem);
}
.space-pb-20 {
  padding-bottom: min(5.0vw, 2rem);
}
.space-m-20 {
  margin-top: min(5.0vw, 2rem);
}
.space-m-15 {
  margin-top: min(3.8vw, 1.5rem);
}
.space-mb-15 {
  margin-bottom: min(3.8vw, 1.5rem);
}
.space-p-10 {
  padding-top: min(2.6vw, 1rem);
}
.space-mb-10 {
  margin-bottom: min(2.6vw, 1rem);
}
.space-m-10 {
  margin-top: min(2.6vw, 1rem);
}
.space-p-5 {
  padding-top: min(1.3vw, 0.5rem);
}
.space-pb-5 {
  padding-bottom: min(1.3vw, 0.5rem);
}
.space-box-p-10 {
  padding: 1rem;
}
.space-side-p-20 {
  padding-right: 20px;
  padding-left: 20px;
}
.space-side-m-10 {
  margin-left: 10px;
  margin-right: 10px;
}
.dod {
  margin: 10rem auto 8rem;
  border-bottom: dotted 1px #000;
  width: 60%;
}
.letter-02 {
  letter-spacing: 0.02em;
}
/*-----タイトル-----*/
h1, h2, h3 {
  margin: 0;
}
/*タイトルH1-大見出し*/
.fs-c-heading--page {
  font-size: min(5.7vw, 2.8rem);
  font-weight: bold;
  color: #393939;
  line-height: 1;
  padding: 1vw;
  margin: 1.8vw 0;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .fs-c-heading--page {
    margin: 8vw 0;
    line-height: 1.2;
  }
}
/*タイトル-H2*/
h2 {
  margin-top: min(5vw, 5rem);
  margin-left: -1px;
}
.title-square-22, .fs-c-wishlistProduct__title, .fs-c-documentArticle__heading, .fs-c-documentColumn__heading, .fs-c-subSection__title, .fs-c-featuredProduct__title, .fs-p-announcement__title {
  color: #393939;
  font-size: min(5.3vw, 2.2rem);
  font-weight: bold;
  padding: 0.4vw 0;
  border-bottom: none;
}
.title-square-22:before, .fs-c-wishlistProduct__title:before, .fs-c-documentArticle__heading:before, .fs-c-documentColumn__heading:before, .fs-c-subSection__title:before, .fs-p-announcement__title:before {
  content: "■";
  padding-right: clamp(0.16vw, 2px, 0.8vw);
  margin-left: -1px;
}
@media screen and (max-width: 768px){
    .title-square-22 {
        line-height: 1.4;
    }
}
/*タイトル-H3*/
.title-border-20, .fs-p-announcement__title {
  font-weight: bold;
  font-size: min(4.2vw, 2.0rem);
  border-bottom: 1px solid #777;
  padding: 1rem 0 1.2rem;
}
.title-22 {
  font-weight: bold;
  font-size: min(4.6vw, 2.2rem);
  padding: 1rem 0 0.5rem;
  line-height: min(1.5, 2);
}
.title-20 {
  font-weight: bold;
  font-size: min(5vw, 2.0rem);
  padding: 1rem 0;
}
.title-line-18 {
  font-size: min(3.8vw, 1.8rem);
  padding: 1rem 0 1.2rem;
  text-decoration-line: underline;
}
.title-line-16 {
  font-size: min(4vw, 1.6rem);
  padding: min(3.8vw, 1.2rem);
  text-decoration-line: underline;
}
/*-------テキスト-------*/
/*文字サイズ*/
.text-18 {
  font-size: min(3.9vw, 1.8rem);
}
.text-16 {
  font-size: min(3.6vw, 1.6rem);
}
.text-15 {
  font-size: min(3.5vw, 1.5rem);
}
.text-14 {
  font-size: min(3.4vw, 1.4rem);
  line-height: 1.6;
}
.text-13 {
  font-size: min(3.3vw, 1.3rem);
  line-height: 1.6;
}
/*テキスト装飾*/
.space-left-5 {
  padding-left: 0.5rem;
}
.bold {
  font-size: min(3.8vw, 1.6rem);
  padding: 1rem 0 0;
  font-weight: bold;
  line-height: 1.6;
}
.bold2 {
  font-weight: bold;
}
.red, .red2, .red a, .red2 a, a .red, a .red2 {
  color: #BC2F31;
  text-decoration-color: #BC2F31;
}
.red {
  font-weight: bold;
}
.white {
  color: #fff !important;
}
.scene-gift-title-header, .scene-gift-title, .scene-gift-item-recommend, .scene-title, .lead-title, .tab-content-description h3, .mincho {
  font-family: “游明朝”, YuMincho, “ヒラギノ明朝 ProN W3”, “Hiragino Mincho ProN”, “ＭＳ Ｐ明朝”, “ＭＳ 明朝”, serif;
  font-weight: 500;
}
/*箇条書き*/
ul {
  padding-inline-start: 20px;
}
.list ul li {
  font-size: min(3.8vw, 1.6rem);
  line-height: 1.8;
}
/*ナビメニュー*/
.navi ul {
  margin: 0 18% 35px;
  display: flex;
  text-align: center;
  font-size: 14px;
  justify-content: space-around;
  list-style-type: none;
}
.navi ul a {
  text-decoration-line: none;
}
.navi li {
  letter-spacing: 0.01em;
}
.navi li:nth-child(5n){
  padding-right: 0;
}
#navi1, #navi2, #navi3, #navi4, #navi5, #musubi {
  margin-top: -110px;
  padding-top: 110px
}
.navi-top {
  margin: 0 18% 35px;
  border-bottom: 0.5px solid #707070;
}
.navi-bottom {
  margin: 35px 18% 100px;
  border-bottom: 0.5px solid #707070;
}
@media (max-width: 767px) {
  .navi ul {
    display: block;
    margin: 0 10px;
    font-size: 14px;
  }
  .navi li {
    padding-bottom: 8px;
  }
  #navi1, #navi2, #navi3, #navi4, #navi5, #navibi {
    margin-top: -50px;
    padding-top: 50px
  }
}
/*画像・ロゴサイズ・スマホ用*/
@media screen and (max-width: 768px) {
  .logo-image-40 img {
    max-width: 40%;
  }
}
@media screen and (max-width: 768px) {
  .logo-image-60 img {
    max-width: 60%;
  }
}
/*------ カラム ------*/
/*共通テキスト*/
.text-column-15 {
  display: block;
  font-size: min(3.5vw, 1.5rem);
  padding: min(2vw, 1.0rem);
  text-align: center;
  line-height: 1.6;
}
.column {
  margin-bottom: min(4vw, 20px);
}
.column dl {
  margin: 1rem 1.5rem;
}
/*2*1列 間10px PC2/SP1*/
.columns-2-1, .columns-2-2 {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 5px;
  place-content: top;
}
@media screen and (max-width: 768px) {
  .columns-2-1 {
    grid-template-columns: repeat(1, 1fr);
  }
}
/*2*1列 間10px PC2(1/3+2/3)/SP1*/
.columns-123 {
  display: grid;
  width: 100%;
  grid-template-columns: 250px 1fr;
  grid-gap: 10px;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .columns-123 {
    grid-template-columns: repeat(1, 1fr);
  }
}
/*3*1～2列 間10px PC3/SP1～2*/
.columns-3-1, .columns-3-2, .columns-3-3 {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 5px;
  place-content: top;
}
@media screen and (max-width: 768px) {
  .columns-3-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .columns-3-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .columns-3-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
/*4*1～3列 間5px PC4/SP1～3*/
.columns-4-1, .columns-4-2, .columns-4-3 {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 5px;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .columns-4-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .columns-4-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .columns-4-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
/*5*3列 間10px PC5/SP2～3*/
.columns-5-2,.columns-5-3 {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 5px;
  place-content: center;
}
@media screen and (max-width: 768px) {
　.columns-5-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .columns-5-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
/*6*3列 間5px PC6/SP3*/
.columns-6-3 {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 5px;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .columns-6-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
/*2*1列 PC画像とテキスト左右交互　スマホは画像とテキストが常に上下*/
.column-row-2-2 .row-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 30px;
  padding-top: 50px;
}
.column-row-2-2 .row-box .row-a, .column-row-2-2 .row-box .row-b {
  width: calc(50% - 10px);
  font-size: 16px;
  padding: 0 20px;
}
.column-row-2-2 .row-box:first-child {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .column-row-2-2 .row-box {
    flex-direction: column;
    padding-top: 30px;
    justify-content: center;
  }
  .column-row-2-2 .row-box:nth-child(2n) {
    flex-direction: column-reverse;
  }
  .column-row-2-2 .row-box .row-a, .column-row-2-2 .row-box .row-b {
    width: 100%;
    padding: 0;
    font-size: 15px;
  }
}
/*2行×2列　上下左右中央揃え*/
.columns-center {
  display: grid;
  place-items: center;
  place-content: center;
  grid-template: repeat(2, auto) / repeat(2, auto);
}
@media screen and (max-width: 768px) {
  .columns-center {
    grid-template-columns: repeat(1, 1fr);
  }
}
/* 画像+テキスト*/
.columns-btn {
  display: flex;
  flex-wrap: wrap;
  margin: 1rem auto;
  max-width: 300px;
  border: 1px solid #ccc;
}
.columns-btn .column-btn-a {
  width: 35%;
  height: auto;
}
.columns-btn .column-btn-b {
  width: 60%;
  margin: auto;
}
/*------ページ内リンク------*/
/*TOPマージン調整*/
.scroll {
  margin-top: -80px;
  padding-top: 80px
}
.scroll2 {
  margin-top: -88px;
  padding-top: 80px
}
@media screen and (max-width: 768px) {
  .scroll, .scroll2 {
    margin-top: -52px;
    padding-top: 52px
  }
}
/*リンク*/
.site-links {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  justify-content: center;
  margin: 2rem auto 5rem;
  padding: 4rem 0;
}
.site-links a {
  border: 1px solid #333;
  border-radius: 2px;
  margin: 1rem;
  padding: 0.8rem 1.5rem 0.5rem;
  text-decoration-line: none;
}
@media screen and (max-width: 768px) {
  .site-links {
    padding: 2rem 1rem;
  }
  .site-links a {
    font-size: 1.2rem;
    padding: 0.5rem 1.2rem 0.4rem;
  }
}
/*------ボタン------*/
a .btn-a{
  display: flex;
  align-items: center;
  max-width: 350px;
  margin: 0 auto;
  padding: 1.2rem 1.6rem;
  border: 1px solid #393939;
  background: #fff;  
  transition: 0.3s;
}
a .btn-a:hover {
  background-color: #EFEFEF;
  text-decoration:none;
}
a .btn-a .a-txt {
  display: block;
  flex-grow: 1;
  color: #393939;
  text-align: center;
  position: relative;
  text-decoration: none;
  padding-right: 15px;
  font-size: min(3.2vw, 1.4rem);
  line-height: 1.2;
  text-decoration-line: none;
}
a .btn-a .a-txt::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
  border-top: 1px solid #393939;
  border-right: 1px solid #393939;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  transition: 0.3s;
}
a .btn-b{
  display: flex;
  align-items: center;
  max-width: 350px;
  margin: 0 auto;
  padding: 1rem 1.6rem;
  border: 1px solid #4B4B4B;
  background: #4B4B4B;
  text-decoration: none;
  transition: 0.3s;
}
a .btn-b:hover {
  background-color: #C3C3C3;
  text-decoration:none;
}
a .btn-b .b-txt {
  display: block;
  flex-grow: 1;
  color: #fff;
  text-align: center;
  position: relative;
  padding-right: 15px;
  font-size: min(3.2vw, 1.4rem);
  line-height: 1.2;
  text-decoration-line: none;
}
a .btn-b .b-txt::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  transition: 0.3s;
}
@media (max-width: 1200px) {
  a .btn-a .a-txt {
    padding-right: 15px;
  }
  a .btn-a .a-txt::after {
    width: 11px;
    height: 11px;
  }
}
@media (max-width: 736px) {
  a .btn-a .a-txt {
    padding-right: 14px;
  }
  a .btn-a .a-txt::after {
    width: 10px;
    height: 10px;
  }
}
.btn_conts {
  display: flex;
  align-items: center;
  max-width: 500px;
  margin: 0 auto;
  border: 1px solid #393939;
  background: #fff;
  padding: 1rem ; 
}
.btn_conts .go_contact {
    display: inline-block;
    text-align: center;   
  font-size: min(3vw, 1.5rem);
  color: #383838 !important;
  text-decoration: none !important;
  position: relative;
  padding-right: 15px;
    line-height: 1.23;
}
@media screen and (max-width: 768px) {
  .btn_conts .go_contact {
    padding: 12px 35px 10px 25px;
  }
}
.go_contact:after {
  display: block;
  content: ">";
  position: absolute;
  top: 50%;
  right: 15px;
}
/*popupページボタン*/
.btn_conts .popup .go_contact {
  width: 100%;
 padding: 12px 35px 10px 25px;
  font-size: min(3.4vw, 1.4rem);
  margin: 0 auto;
  text-align: center;
  position: relative;
  display: inline-block;
  text-decoration: none !important;
  line-height: 1.2;
}
/*------表------*/
.common table {
  display: table;
  border-collapse: collapse;
  width: 100%;
}
.common th, .common td {
  padding: 1.6rem;
  border: solid 1px #888;
  align-items: center;
  box-sizing: border-box;
}
.common th {
  max-width: 40%;
  min-width: 200px;
}
.common td {
  max-width: 60%;
}
@media screen and (max-width: 768px) {
/* .common {
    margin: 0 1rem;
  }*/
  .common th, .common td {
    display: block;
    max-width: 100%;
    padding: 1rem;
    border-bottom: none;
  }
    .common th{
        background-color:#EBEBEB;
    }
  .common tr:last-child {
    border-bottom: solid 1px #888;
  }
}
/*------動画------*/
.video {
  position: relative;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*------MAP------*/
.map {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
/*------ランキング------*/
.rank img {
  width: 15% !important;
  margin: 2px auto 5px;
}
@media screen and (max-width: 768px) {
  .rank img {
    width: 20% !important;
    margin: 2px auto 5px;
  }
}
/*------キャンペーンバナー------*/
.cambana {
  display: inline-block;
  background-color:#32C2E0;
  margin-top: 5px;
  margin-bottom: 10px;
  width: 100%;
  height: 45px;
}
.cambana a {
  padding: 9px 0 12px;
  display: block;
  text-align: center;
  vertical-align: middle;
  color: #fff;
}
.cambana-cart {
  display: inline-block;
  background-color:#E53F41;
  margin-top: 5px;
  margin-bottom: 10px;
  width: 100%;
  height: 45px;
}
.cambana-cart a {
  padding: 9px 0 12px;
  display: block;
  text-align: center;
  vertical-align: middle;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .cambana, .cambana-cart{
    margin: 35px 0 0;
    overflow: hidden;
    height: auto;
    max-width: 800px;
  }
  .cambana a,.cambana-cart a {
    padding: 12px 8px 8px;
    font-size: 12px;
  }
}
/*------商品ページ ------*/
/*商品詳細タブ切り替え*/
.tabs {
  margin: 2.4rem 0 0;
  padding-bottom: 4rem;
  width: 100%;
}
/* タブのスタイル */
.tab-item {
  border-bottom: 0.2rem solid #000;
  border-radius: 0.3rem 0.2rem 0 0;
  display: block;
  float: left;
  font-size: min(3.9vw,1.8rem);
  height: 5rem;
  line-height: 5rem;
  text-align: center;
  transition: all 0.2s ease;
  width: calc(100%/2);
}
.tab-item-image img {
  padding: 1rem
}
.tab-item:hover {
  opacity: 0.75;
}
input[name="tab-item"] {
  display: none;
}
/* タブ切り替えの中身のスタイル */
.tab-content {
  padding-top: 1.2rem;
  clear: both;
  display: none; /* 表示しない部分のタブ消す */
  overflow: hidden;
}
.tab-content-description img {
  margin-top: min(1.3vw, 1rem);
  display: inline-block;
}
.tab-content-description .title-20 {
  padding: 1rem;
}
.tab-content-description img + h3,#monyo h3 {
  margin-top: min(3.2vw, 2rem);
}
.tab-content-description .design {
  display: flex;
  flex-wrap: wrap;
  margin: 0 10px;
  text-align: center;
  white-space: 100%;
}
.tab-content-description .design img {
  margin: 5px 5px 10px;
  vertical-align: middle;
  width: 50px;
  height: 50px;
  display: inline-block;
}
.tab-content-description .design p {
  vertical-align: middle;
  padding: 5px 10px 0;
}
.tab-content-description p {
  padding: 3px 10px 5px;
  font-size: min(3.8vw, 1.6rem);
}
@media screen and (max-width: 768px) {
  .tab-content-description h3 {
    padding-right: 10px;
    padding-left: 10px;
  }
}
.tab-content-description .table-size img {
  margin-top: 0;
}
#detail:checked ~ #detail-content, #size:checked ~ #size-content, #use:checked ~ #use-content {
  display: block;
}
.tabs input:checked + .tab-item {
  background-color: #000;
  color: #fff;
}
.tab-content-description .item-title {
  font-size: min(4.2vw, 2.0rem);
  margin: 1.5rem 0 5px;
  padding: 0 8px;
}
.tab-content-description h4 {
  font-size: min(3.8vw, 1.6rem);
  font-weight: bold;
  padding: 2rem 1rem 0;
}
.tab-content-description ul {
  margin: 1rem 1rem 0 0;
  padding-inline-start: 2.4rem;
}
.tab-content-description li {
  font-size: 16px;
  padding-bottom: 10px;
}
/*ラッピング・箱のタブ*/
.columns-border-2, .columns-border-3 {
  display: flex;
  justify-content: center;
  margin: 3rem auto;
}
.columns-border-2 > a {
  width: clac(50% -1rem);
  font-size: min(3.3vw, 1.4rem);
  line-height: 1.4;
  border: 1px solid #333;
  border-radius: 2px;
  margin: 0.8rem;
  padding: 0.8rem 1.2rem;
  text-align: center;
  text-decoration-line: none;
}
.columns-border-3 > a {
  width: clac(1/3 -1rem);
  border: 1px solid #333;
  font-size: min(3.3vw, 1.4rem);
  line-height: 1.4;
  border-radius: 2px;
  margin: 0.8rem;
  padding: 1rem 1.2rem 0.8rem;
  text-align: center;
  text-decoration-line: none;
}
.content .columns-border-2 > a, .columns-border-3 > a {
  background-color: #000;
  color: #fff;
}
/* 素材・サイズ おすすめシーン tableタグ*/
.table-size {
  border-collapse: collapse;
  margin: 30px 5px;
  table-layout: fixed;
  text-align: center;
  max-width: 100%;
  border-color: #888;
  font-size: min(3.8vw, 1.6rem);
  padding: 1rem;
}
.table-size td {
  padding: 1.5rem 1.2rem;
  border: 1px solid #000;
}
.table-size tr td:nth-of-type(2) {
  text-align: left;
}
.table-size-fixed {
  width: 30%;
  font-weight: 800;
}
/*-------TOPおすすめ用 6×3列（大小小×小小大）-------*/
.gap-box {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0 5px;
  justify-content: center;
}
.gap-item1 {
  width: 30%;
}
.gap-box2 {
  display: flex;
  flex-wrap: nowrap;
  gap: 0 5px;
}
.gap-item2 img {
  width: 100%;
}
.gap-box3 {
  display: flex !important;
  flex-wrap: wrap;
  gap: 5px 0;
}
.gap-item3 img {
  width: 100%;
}
/*カートボタン*/
.fs-l-productLayout .fs-c-productActionButton {
  padding-left: 40px;
  padding-right: 40px;
}
.fs-c-button--subscribeToArrivalNotice--detail {
  background: #000;
  color: #fff;
}
/*ラッピング・名入れご希望の方 アコーディオンメニュー*/
.accordion {
  align-items: center;
  justify-content: center;
  padding: 10px;
  width: 100%;
}
.toggle {
  display: none;
}
.option {
  position: relative;
  margin-bottom: 1rem;
}
.title-ac, .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.title-ac {
  text-align: center;
  border: solid 1px #000;
  border-radius: 1px;
  padding: 0.4em 1.4em;
  display: block;
  width: 100%;
  margin: 0;
  color: #000;
  font-size: min(3.4vw, 1.4rem);
}
.title-ac::after, .title-ac::before {
  content: "";
  position: absolute;
  right: 1.25em;
  top: 1em;
  width: 1.2px;
  height: 0.75em;
  transition: all 0.3s;
  background-color: #000;
}
.title-ac::after {
  transform: rotate(90deg);
}
.content {
  max-height: 0;
  overflow: hidden;
  width: 100%;
}
.toggle:checked + .title-ac + .content {
  max-height: 800px;
  transition: all 1.5s;
}
.toggle:checked + .title-ac::before {
  transform: rotate(90deg) !important;
}
.contact .tel [type=text] {
  max-width: 250px;
}
.contact .mail [type=text] {
  max-width: 400px;
}
input {
  border-width: 1px;
  border-radius: 2px;
  color: #393939;
  padding: 0.8rem 2.8rem;
}
/*-----システムCSS調整-----*/
/*プレビューヘッダー高さ調整*/
.fs-preview-header {
  margin-bottom: -45px;
}
/*基本系*/
.fs-c-productName__name, .fs-c-inputField__explanation {
  font-size: min(3.8vw, 1.6rem);
  line-height: 1.6;
}
.fs-c-sortItems__list__item {
  font-size: min(3.4vw, 1.4rem);
}
.fs-c-reviewSuccessComment {
  text-align: center;
  display: block;
}
.fs-c-productListItem__imageContainer {
  margin-top: min(5.0vw, 2rem);
}
.fs-c-inputInformation__message, .fs-c-newUsers__message, .fs-c-inputInformation, .fs-c-inputInformation__link, .fs-c-orderHistoryItem, .fs-c-productReviewed__name, .fs-c-aggregateRating {
  padding: 1rem;
}
.fs-l-block--center, .fs-c-featuredProduct__header, .fs-c-documentArticle__heading, .fs-c-documentColumn__heading, .fs-c-subSection__title, .fs-p-announcement__title, .fs-c-history__listContainer, .fs-c-addressBookList__count, .fs-c-reviewSuccessComment, .fs-c-reveiwNotes,.fs-c-returnedSpecialContract,.fs-c-productReview {
  margin: 0 1rem;
}
.fs-c-reveiwNotes {
  width: calc(85% + 6vw);
  max-width: 985px;
  margin: 0 auto;
}
/* 見出し */
.fs-p-heading--lv2, .fs-p-heading--lv3, .fs-p-heading--lv4 {
  color: #393939;
  font-size: 2.8rem;
  border-bottom: none;
  font-weight: bold;
  margin: 3rem 0 2rem;
  padding: 0.6rem 0;
  letter-spacing: 0.1em;
}
.fs-p-heading--min {
  font-size: 1.6rem;
  font-weight: bold;
  padding: 0 0 0 1.6rem;
  display: inline-block;
}
.fs-c-productListItem__salesPeriod, .fs-c-productListItem__viewMoreImageButton, .fs-c-productListItem__control, .fs-c-listControl__status {
  display: none;
}
/* 一覧　*/

.fs-c-productList .fs-c-sortItems{
margin-left: 5px;
}
/* 子グループ表示 */
.fs-c-subgroup {
  display: flex;
}
.fs-c-subgroupList {
  flex-wrap: wrap;
  text-align: center;
}
.fs-c-subgroupList__link {
  background-color: #fff;
  border: solid 1px;
  border-radius: 2px;
  grid-template-columns: none;
  grid-template-rows: none;
}
.fs-c-subgroupList__link::after {
  display: none;
}
.fs-c-subgroupList__item {
    line-height: 1.4;
  flex-basis: auto !important;
  flex-grow: 0;
  padding: 1rem;
  display: inline-block;
}
.fs-c-subgroupList__label {
font-size: min(3.6vw, 1.6rem);
  flex-basis: none;
  grid-column: none;
  grid-row: none;
  padding: 0.8rem 1.8rem;
}
.fs-c-sortItems__list__item.is-active, .fs-c-pagination__item.is-active {
  background-color: #000;
  margin: 0 2px;
}
.fs-c-sortItems__list__item__label, .fs-c-sortItems__label {
  padding: 3px 8px 2px !important;
}
.fs-c-pagination__item {
  padding: 5px 6px 4px;
}
/* ↓商品ページ */
.fs-c-productNameHeading {
  padding: 5px 0 3px;
  font-size: min(6vw, 2.4rem);
  margin: 1rem 0;
  line-height: 2;
}
.fs-c-productListItem__productName {
  margin: 12px 0 5px;
  line-height: 1.4;
  font-size: min(4vw, 1.6rem);
}
.fs-c-productListItem__productName a {
  text-decoration-line: none;
}
.fs-c-productList .fs-c-noResultMessage {
  background: none;
}
.fs-c-productPrices--productDetail {
  margin-top: min(2.6vw, 1rem);
}
@media screen and (max-width: 768px) {
  .fs-c-productNameHeading {
    margin: 1rem 0.5rem;
  }
}
.fs-c-history__term {
  color: #393939 !important;
}
.fs-c-accountService__page {
  height: auto;
}
/* パンくず */
.fs-c-breadcrumb {
  margin-top: 65px;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .fs-c-breadcrumb {
    margin-top: 45px;
    margin-bottom: 5px;
  }
}
.fs-c-breadcrumb__gift {
  font-size: 1.2rem;
  color: #393939;
}
/* 商品番号 */
.fs-c-productNumber {
  border: none;
  padding: 15px 0 0;
  color: #000;
  font-size: 1.3rem;
}
.fs-c-productNumber__number {
  font-weight: normal;
}
.fs-c-productNumber__label::after {
  content: '：'
}
/* 商品サイズ・素材 */
.fs-c-productsize, .fs-c-productfabric {
  font-size: 1.3rem;
  color: #000;
}
.fs-l-product2 .fs-l-productLayout .fs-c-productNumber {
  margin-bottom: 0 !important;
}
.fs-l-product2 .fs-l-productLayout .fs-c-productsize {
  margin-bottom: 2px !important;
}
.fs-l-product2 .fs-l-productLayout .fs-c-productfabric {
  margin-bottom: 10px !important;
}
/* 価格 */
.fs-c-productPrice__main__label, .fs-c-price__currencyMark, .fs-c-productListCarousel__list__item .fs-c-productMarks {
  display: none;
}
.fs-c-productListCarousel__list {
  width: 100%;
}
.fs-c-price, .fs-c-productPrice {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体";
}
.fs-c-productPrice__main, .fs-c-productPrice__addon {
  display: inline-block;
  font-size: min(4vw, 1.4rem);
  font-weight: bold;
}
.fs-c-price__value::after {
  content: "円";
}
.fs-system-product .fs-c-productPrice__main, .fs-system-product .fs-c-productPrice__addon {
  display: inline-block;
  font-size: min(3.5vw, 1.5rem);
  font-weight: 300;
}
.fs-c-productStock--lowInStock {
  color: #BC2F31;
}
/* 価格　税込 */
.fs-c-productPrice__addon {
  padding-left: 0.5rem;
}
.fs-c-productList__list .mark-new {
  margin-top: 5px !important;
}
.fs-c-productList__list .mark-new {
  display: none;
}
/*商品説明(大) */
.tab-content-big {
  margin: 1rem 0 4rem;
}
/*レイアウト商品二列のパーツごとの間隔*/
.fs-l-product2 .fs-l-productLayout > * > * {
  margin-bottom: 10px !important;
}
/*項目選択肢・オプション*/
.fs-c-productOption, .fs-c-productSelection {
  color: #000 !important;
}
.fs-c-productSelection__name, .fs-c-productOption__name {
  font-size: 1.5rem;
  font-weight: 500;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
}
.fs-c-productSelection__label {
  padding-left: 10px;
}
.fs-c-radio__radioMark {
  border: 1.5px solid #000;
  margin-left: 4px;
}
.fs-c-radio__radioLabelText {
  padding: 3px 0 0 2px;
}
.fs-c-productSelection__field {
  margin-top: 2px;
}
.fs-c-productSelection__selection {
  font-size: 1.5rem;
  padding-bottom: 10px;
  padding: 4px 0 10px 0;
}
[type=text], textarea, select {
  border: 1px solid #ccc;
  border-radius: 3px;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark::before {
  background: #000;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark {
  border-color: #000;
}
/*商品ページ内アナウンス系*/
.fs-p-footerNavigationItem ul {
  margin: 0.6rem 0 0 0.2rem;
  padding-left: 2.0rem;
}
.fs-p-footerSnsLink__item {
  padding: 4rem 2rem 1rem;
}
.fs-c-slick .slick-list a {
  text-decoration-line: none;
}
.fs-c-slick .slick-list a:hover {
  text-decoration-line: underline;
}
/*商品マーク*/
.fs-c-productList .fs-c-productMark {
  padding: 3px 0 0;
}
.fs-c-productMark {
  border-radius: 2px !important;
}
.fs-c-productMark > li {
  margin: 3px 0;
}
.fs-c-productMark__mark, .fs-c-button__label, .fs-c-button--plain {
  font-size: min(3.0vw, 1.2rem);
  border-radius: 1px;
  padding: 0.5em 1.6em;
}
.fs-c-cartTable__actionButton button {
  padding: 0.5rem 0;
}
.fs-l-product2 .fs-c-productMark__mark {
  padding: 5px 8px !important;
}
.fs-l-product2 .fs-c-productMark > li {
  padding: 10px 0 0 !important;
}
.fs-c-productListItem .fs-c-productMark__mark {
  font-size: 12.8px !important;
}
.comment17 {
  margin: 20px 0 5px;
}
.fs-c-dropdown__menu {
  color:  #000;
}
.fs-c-dropdown__menu > option {
    font-weight: 500;
}
/*マイページ*/
.fs-p-accountInfo__accountName {
  margin: 5px 0 0 15px;
}
.fs-p-accountInfo {
  background: #fff;
  color: #000;
}
.fs-c-accountService__page--accountDelete, .fs-l-additionalProduct--wishlist {
  font-size: min(3.7vw, 1.4rem);
  padding: 10px;
}
@media screen and (max-width:800px) {
  .fs-l-additionalProduct--wishlist {
    margin: 8px;
  }
    .fs-c-button--addToCart--detail{
  font-size: 1.5rem;
  border-radius: 1px;
  padding: 1rem 2.2rem;
}
}
/*FS-シリーズ一覧 */
.fs-c-productListItem__productDescription {
  font-size: 12px;
  color: #393939;
  margin-top: 0;
}
.fs-p-footerCopyright {
  background-color: #fff;
  color: #393939;
}
.fs-c-cartTable__quantity > .fs-system-quantity-list {
  margin: 0;
}
.fs-p-announcement__body .fs-c-productListCarousel__ctrl {
  min-width: 44px;
}
.productList-none .fs-c-productList {
  display: none;
}
/*FS-レビューログイン*/
.fs-c-guestReview__title {
  font-size: 1.6rem;
}
.logout.my-false {
  display: none;
}
.login.my-true {
  display: none;
}
/*フリーページ*/
.f-page {
  padding-top: 2rem;
}
#fs_MyPageTop .fs-c-accountService__pageLink__label::before {
  color: #383838;
}
/*お知らせ*/
.fs-p-dateList {
  padding: 0.8rem 2rem;
}
/* フッター */
.fs-l-footer {
  border-top: none;
  padding: 0.4rem 0 2rem;
}
.fs-p-footerPageTop {
  margin-bottom: 1.8rem;
}
.fs-p-footerNavigationItem__title {
  font-size: 1.7rem;
  color: #393939;
}
.fs-p-footerNavigationItem__title a {
  text-decoration-line: none;
  border-bottom: #999;
}
.fs-p-footerNavigationItem__body {
  font-size: 1.4rem;
}
.fs-p-footerNavigationItem__body p {
  font-size: 1.4rem;
}
.fs-pt-menu__link--lv1 {
  font-size: 1.4rem;
}
  /*マイページ*/
  /*ボタン*/
  .twitter-widget-0 {
    padding-top: 2px;
  }
  .fs-c-inputInformation__button {
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .tab-content-description li {
    font-size: 1.4rem;
  }
.fs-l-product .fs-c-featuredProduct .fs-c-button--carousel {
  font-size: 3rem;
  }