html {
    scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-size: 16px;
    color: #707070;
    background-color: white;
}

a {
    text-decoration: none;
}




/* =========================
   GMO追加テキスト用CSS
========================= */

/* 見出し・ボタン */
.s-txt h2,
.nap-box h2,
.c-btn {
  word-break: auto-phrase;
}

/* 追加テキスト */
.s-txt {
  margin: 30px auto;
  text-align: left;
}

.s_orig {
  box-shadow: #c1c1c1 5px 5px 6px;
  max-width: 900px;
  border: 1px solid #eee;
  border-radius: 20px;
  box-sizing: border-box;
  color: #775539;
  margin: auto auto 3rem;
  padding: 2rem;
  background: #fff;
}

.s_lead {
  color: #707070;
  max-width: 1000px;
  width: 90%;
  box-sizing: border-box;
  margin: 3rem auto;
}

.s-txt h2 {
  font-weight: bold;
  margin: 0 auto 10px;
}

.pipe_sp {
  display: none;
}

.s_orig h2 {
  font-size: 26px;
  color: darkgray;
  text-align: center;
  margin-bottom: 2rem;
}

.s_lead h2 {
  font-size: 21px;
}

.s-txt p {
  margin: 0 auto 10px;
  padding: 0;
}

/* リンクボタン */
.c-btn {
  margin: 30px auto;
  text-align: center;
}

.c-btn a {
  font-weight: bold;
  background: #DAB28C;
  font-size: 14px;
  font-family: 'FontAwesome';
  border-radius: 4px;
  box-sizing: border-box;
  color: #fff;
  display: inline-block;
  letter-spacing: 1px;
  margin: 0 auto 10px;
  padding: 12px 3rem;
  box-shadow: #c1c1c1 3px 3px 6px;
  text-decoration: none;
  width: auto;
}

.c-btn a:hover {
  opacity: 0.7;
  transition: all 0.2s ease 0s;
}

/* SP対応 */
@media screen and (max-width: 640px) {
  .s_orig h2,
  .s_lead h2 {
    font-size: 20px;
  }

  .s_orig {
    margin: auto 20px 3rem;
  }

  .br_sp {
    display: none;
  }

  .c-btn a {
    display: block;
    width: 90%;
  }
}


/* =====================================
   Imabari Towel Lineup 共通CSS
===================================== */

/* --- 全体 --- */
#imabari_lineup {
  padding: 26px 0 6px;
}

#imabari_lineup .imabari-head {
  margin: 0 0 12px;
}

#imabari_lineup .imabari-title {
  margin: 0 0 6px;
  font-size: 24px;
  color: #3E2816;
}

#imabari_lineup .imabari-lead {
  margin: 0 0 14px;
  font-size: 14px;
  color: #707070;
}


/* --- フィルターボタン --- */
.imabari-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 18px;
}

.imabari-filter-btn {
  padding: 9px 14px;
  border: 1px solid rgba(0,0,0,0.25);
  background: #fff;
  color: #555;
  border-radius: 999px;
  cursor: pointer;
  font-size: 13px;
}

.imabari-filter-btn.is-active {
  background: #fdf4f4;
  border-color: #fbb5b5;
  color: #3E2816;
}


/* --- 商品枠 --- */
.imabari-item {
  border-top: 1px solid rgba(0,0,0,0.08);
}

.imabari-item:last-child {
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.imabari-item-inner {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  padding: 14px 0;
  align-items: start;
}


/* --- 左側（画像＋説明） --- */
.imabari-left {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.imabari-photo {
  display: block;
  width: 210px;
  flex: 0 0 210px;
}

.imabari-photo img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  vertical-align: bottom;
  object-fit: cover;
}

.imabari-desc {
  min-width: 0;
}

.imabari-series {
  margin: 0 0 6px;
  font-size: 12px;
  color: #CCA64D;
}

.imabari-name {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.35;
}

.imabari-name a {
  color: #3E2816;
}

.imabari-catch {
  margin: 0;
  font-size: 14px;
  color: #444;
  line-height: 1.6;
}

.imabari-link {
  margin-top: 10px;
}


/* --- 業務用特徴タグ --- */
.imabari-feature-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin-top: 8px;
}

.imabari-feature-tags .tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font-size: 11px;
  line-height: 1.2;
  border-radius: 999px;
  background: #f7f7f7;
  color: #444;
  white-space: nowrap;
}

.imabari-feature-tags .tag-key {
  font-weight: 600;
}

.imabari-feature-tags .tag-val {
  color: #777;
}

.imabari-feature-tags .tag-use {
  background: #fdf4f4;
  color: #b14b4b;
  font-weight: 600;
}


/* --- features 折り畳み --- */
.imabari-features-accordion {
  margin-top: 8px;
}

.imabari-features-accordion summary {
  cursor: pointer;
  list-style: none;
  font-size: 12px;
  color: #3E2816;
  font-weight: 600;
}

.imabari-features-accordion summary::-webkit-details-marker {
  display: none;
}

.imabari-features-summary::after {
  content: "＋";
  margin-left: 6px;
  font-weight: 700;
}

.imabari-features-accordion[open] .imabari-features-summary::after {
  content: "－";
}


/* --- 右側スペック --- */
.imabari-specbox {
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 10px;
  background: #fff;
}

.imabari-right .item_spec {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.imabari-right .item_spec dt {
  font-weight: 700;
  margin-top: 8px;
  font-size: 12px;
  color: #333;
}

.imabari-right .item_spec dt:first-child {
  margin-top: 0;
}

.imabari-right .item_spec dd {
  margin-top: 4px;
  font-size: 12px;
  color: #555;
}

.imabari-cert-no {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dotted rgba(0,0,0,0.2);
  font-size: 11px;
  color: #555;
}

.imabari-cert-no span {
  font-weight: 700;
}

.imabari-cert-note {
  margin-top: 4px;
  font-size: 11px;
  color: #777;
}


/* =====================================
   Responsive
===================================== */

/* Tablet */
@media screen and (max-width: 768px) {

  .imabari-item-inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .imabari-photo {
    width: 140px;
    flex-basis: 140px;
  }

  .imabari-right .item_spec {
    display: grid;
    grid-template-columns: 72px 1fr;
    column-gap: 10px;
    row-gap: 6px;
  }

  .imabari-right .item_spec dt,
  .imabari-right .item_spec dd {
    margin: 0;
  }

  .imabari-features-accordion summary {
    display: inline-block;
    padding: 6px 0;
  }
}

/* PC only */
@media screen and (min-width: 769px) {
  .imabari-features-accordion summary {
    display: none;
  }
}

/* Smartphone */
@media screen and (max-width: 425px) {

  .imabari-filter-btn {
    width: calc(50% - 5px);
    text-align: center;
  }

  .imabari-left {
    flex-direction: column;
    gap: 8px;
  }

  .imabari-photo {
    width: 100%;
    flex: none;
  }

  .imabari-photo img {
    width: 100%;
    height: auto;
  }

  .imabari-specbox {
    padding: 10px;
  }

  .imabari-right .item_spec {
    grid-template-columns: 58px 1fr;
    column-gap: 8px;
    row-gap: 6px;
  }

  .imabari-feature-tags .tag-key::after {
    content: "：";
  }

  /* スマホ用 表記簡略 */
  .item_spec {
    display: block;
  }

  .item_spec dt,
  .item_spec dd {
    display: inline;
    font-size: 13px;
    line-height: 1.8;
  }

  .item_spec dt::after {
    content: "：";
    margin-right: 4px;
  }

  .item_spec dd::after {
    content: "\A";
    white-space: pre;
  }
}


/* Q&A インデックス・カテゴリー・各商品ページ用*/
.faq-section {
    margin-top: 40px;
    background: #f9f9f9;
    padding: 24px;
    border-radius: 8px;
}
.faq-section h2 {
    font-size: 20px;
    margin-bottom: 12px;
}
.faq-section dt {
    font-weight: bold;
    margin-top: 16px;
}
.faq-section dd {
    margin-left: 16px;
    margin-bottom: 8px;
}



/* discount カテゴリー用*/
.item {
    position: relative; /* 子要素の絶対位置を親に対して設定 */
    /* その他のスタイル */
}

.discount-mark {
    position: absolute;
    top: 10px; /* 位置調整 */
    left: 10px; /* 位置調整 */
    background-color: red;
    color: white;
    padding: 5px;
    font-size: 0.9em;
    border-radius: 5px;
}

.new-item-mark {
    position: absolute;
    top: 10px;
    right: 10px; /* 右上に配置 */
    background-color: lightgreen; /* 色を変更 */
    color: white;
    padding: 5px;
    font-size: 0.9em;
    border-radius: 5px;
}


/* キャンペーン中のマークのスタイル index用*/
.campaign-mark {
    position: absolute;
    bottom: 10px; /* 左下に配置 */
    left: 10px;
    background-color: red;
    color: white; /* 文字色 */
    padding: 5px;
    font-size: 0.9em;
    border-radius: 5px;
}


/* question */
.qa {
    border-top: 1px solid red; /* 赤いラインを追加 */
}

.question {
    margin-top: 10px;
    margin-bottom: 10px;

}
.answer {
    text-indent: 20px; /* "→" のマークを設置 */
    margin-bottom: 50px;
}


/* Button */
.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background: none;
    font-family: 'FontAwesome';
    font-size: 14px;
    border: 1px solid;
    padding: 12px 0px;
    cursor: pointer;
    transition: 0.3s;
}

.btn-circle {
    border-radius: 22px;
}

.btn-circle:hover {
    background-color: #f2b2c3;
    color: white;
    border-color : #f2b2c3;
}

.btn-round {
    border-radius: 4px;
}

.btn-inner-shadow {
    box-shadow: #000000 -3px -3px 6px;
}

.btn-outter-shadow {
    box-shadow: #c1c1c1  3px 3px 6px;
}

.btn-circle-primary {
    color: #707070;
    border-color: #707070;
}

.btn-circle-red {
    color: #FBB5B5;
    border-color: #FBB5B5;
}

.btn-circle-yellow {
    color: #CCA64D;
    border-color: #CCA64D;
}

.btn-circle-blue {
    color: #85A5C6;
    border-color: #85A5C6;
}

.btn-fill {
    color: white;
    border: none;
}

.btn-fill-red {
    background-color: #FBB5B5;
}

.btn-fill-yellow {
    background-color: #CCA64D;
}

.btn-fill-blue {
    background-color: #85A5C6;
}

.btn-fill-brown {
    background-color: #DAB28C;
}

/* Border */
.border-left {
    border-left: 5px solid;
}

.border-red {
    border-color: red;
}

/* Carousel */
/* ==== Slick Slider Css Ruls === */
.slick-slider{position:relative;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}
.slick-list:focus{outline:none}.slick-list.dragging{cursor:hand}
.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.slick-track{position:relative;top:0;left:0;display:block}
.slick-track:before,.slick-track:after{display:table;content:''}.slick-track:after{clear:both}
.slick-loading .slick-track{visibility:hidden}
.slick-slide{display:none;float:left /* If RTL Make This Right */ ;height:100%;min-height:1px}
.slick-slide.dragging img{pointer-events:none}
.slick-initialized .slick-slide{display:block;}
.slick-loading .slick-slide{visibility:hidden}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}

.carousel {
    position: relative;
}

.scroll-down {
  position: absolute;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
  z-index: 10;
}

.scroll-down a {
  display: inline-block;
  background-color: #5fb759;
  width: 60px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  border-radius: 50%;
  color: #fff;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}


/* おすすめ商品コレクション専用 */
.collection-slider > .slick-dots{
    display:flex !important;
    justify-content:center;
    position:static;
    transform:none;
    margin-top:20px;
    padding:0;
}

.collection-slider > .slick-dots li{
    margin:0 5px;
}

.collection-slider > .slick-dots button{
    background:#d9d9d9;
}

.collection-slider > .slick-dots .slick-active button{
    background:#f2b2c3;
}

/*おすすめ商品コレクション専用*/



ul.slick-dots {
  display: none! important;
}

ul.slick-dots {
  position: absolute;
  align-items: center;
  list-style: none;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}

ul.slick-dots button {
  width: 8px;
  height: 8px;
  background-color: white;
  border-radius: 50%;
  text-indent: -5000px;
  vertical-align: middle;
  padding: 0px;
  margin: 0px 7px;
  border: none;
  outline: none;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}

ul.slick-dots .slick-active button {
  width: 12px;
  height: 12px;
}

.PrevArrow {
    position: absolute;
    top: 40%;
    left: 10px;
    background: white;
    font-family: 'FontAwesome';
    font-size: 36px;
    color: #f2b2c3;
    border: 1px solid #f2b2c3;
    border-radius: 50%;
    padding: 0px 12px 1px 11px;
    text-align: center;
    z-index: 5;
    outline: none;
    cursor: pointer;
    transition: 0.3s;
}

.PrevArrow:hover {
    color: white;
    background: #f2b2c3;
}

.PrevArrow:before{
    content:'\f104';
}

.NextArrow {
    position: absolute;
    top: 40%;
    right: 10px;
    background: white;
    font-family: 'FontAwesome';
    font-size: 36px;
    color: #f2b2c3;
    border: 1px solid #f2b2c3;
    border-radius: 50%;
    padding: 0px 11px 1px 12px;
    text-align: center;
    z-index: 5;
    outline: none;
    cursor: pointer;
    transition: 0.3s;
}

.NextArrow:hover {
    color: white;
    background: #f2b2c3;
}

.NextArrow:before{
    content:'\f105';
}

.carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Page */
.container {
    max-width: 1200px;
    margin: auto;
    padding: 20px 0px;
}

.title .header {
    font-size: 28px;
    color: darkgray;    /*sale info テキスト*/
    margin-bottom: 0px;
}

.title .label {
    font-family: 'Segoe Print';
    font-size: 14px;
    color: red;
    margin-top: 0px;
}

.search {
    position: relative;
    font-family: 'FontAwesome';
    color: #707070;
}

.search:after {
    position: absolute;
    content: "\f002";
    top: 11px;
    right: 10px;
}

input {
    font-size: 14px;
    color: #707070;
    padding: 10px;
    width: 100%;
    border: 1px solid #707070;
    border-radius: 5px;
    outline: none;
}

.badge {
    background-color: red;
    border-radius: 50%;
}

/* Navbar */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    overflow: hidden;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1440px;
    margin: auto;
    padding: 20px;
}

.navbar-active {
    background-color: rgba(255, 255, 255, 0.5);
    transition: 0.3s ease;
}

.navbar .logo img {
    width: 75%;
}

.navbar .logo .logo-sm {
    display: none;
}

.navbar .menu-group ul {
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 0px;
}

.menu-group ul li {
    width: 37px;
    margin-left: 30px;
}

.menu-group ul li img {
    width: 100%;
}

.navbar .basket {
    position: relative;
}

.basket .badge {
    position: absolute;
    width: 25px;
    height: 25px;
    font-size: 12px;
    color: white;
    text-align: center;
    padding-top: 6px;
    bottom: 0px;
    right: -8px;
}


/* Sidebar */
.sidebar {
    position: fixed;
    font-family: 'FontAwesome';
    background: rgb(255, 255, 255, 0.8);
    width: 500px;
    height: 100vh;
    padding: 20px;
    z-index: 9999;
    right: -110%;
    top: 0;
    transition: 0.8s;
}

.sidebar .logo {
    margin-top: 65px;
    margin-bottom: 40px;
    text-align: center;
}

.sidebar .logo img {
    width: 75%;
}

.sidebar .search {
    margin: 0px 50px;
}

.sidebar .search input {
    border: 1px solid #707070;
}

.sidebar .menu {
    margin-top: 30px;
}

.sidebar .menu ul {
    list-style: none;
    text-align: center;
    padding: 0px;
}

.sidebar .menu ul li {
    margin-bottom: 20px;
    font-size: 28px;
}

.sidebar .menu ul li a {    /*home スライド テキスト*/
    color: dimgray;
}

.sidebar .social {
    margin-top: 30px;
    padding: 0px 25px;
}

.sidebar .social ul {
    display: flex;
    justify-content: space-between;
    padding: 0px;
    list-style: none;
}

.sidebar .close-btn {
    position: absolute;
    left: 0;
    top: 100px;
    z-index: 1;
    transform: translate(-50%, -100%);
    width: 55px;
    height: 55px;
    background: white;
    border-radius: 50%;
    cursor: pointer;
}

.sidebar .close-btn::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(135deg);
    width: 30px;
    height: 2px;
    background-color: #3e3a39;
}

.sidebar .close-btn::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 30px;
    height: 2px;
    background-color: #3e3a39;
}

/* Company */
#company {
    text-align: center;
}

#company .company-info .header {
    color: #3E2816;
}

#company .company-info .map {
    position: relative;
    display: flex;
    justify-content: right;
    margin-bottom: 30px;
}

#company .company-info .map .map-map {
    width: 100%;
}

#company .company-info .map iframe {
    width: 100%;
    height: 450px;
}

#company .company-info .map .map-img {
    position: absolute;
    left: 0px;
    top: 30px;
}

#company .company-info .detail {
    border: 3px solid #828282;
    border-radius: 5px;
    color: #775539;
    max-width: 900px;
    margin: auto;
    padding: 0px 5px;
}

#company .inquiry {
    width: 100%;
    max-width: 250px;
    margin: auto;
    margin-top: 20px;
}

/* Footer */
.pre-footer {
    background-color: #fdf4f4;
}

.pre-footer .container{
    max-width: 1440px;
}

.pre-footer .header{
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.pre-footer .header .logo img {
    width: 75%;
}

.pre-footer .header .search {
    width: 300px;
    margin-top: 15px;
}

.pre-footer .menu {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.pre-footer ul {
    display: flex;
    list-style: none;
    padding: 0px;
}

.pre-footer .menu .other ul li {
    margin-right: 15px;
}

.pre-footer .menu .main ul li {
    margin-right: 35px;
}

.pre-footer .menu .main .inquiry {
    margin-right: 0px;
}

.pre-footer .menu ul li a {
    font-family: 'FontAwesome';
    color: darkgray;
}

.pre-footer .menu .other ul li a:after {
    position: relative;
    content: "\f111";
    font-size: 4px;
    right: -8px;
    top: -3px;
}

.pre-footer .menu .other .personal a::after {
    display: none;
}

.pre-footer .special {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: darkgray;
    margin-top: -18px;
}

.pre-footer .special .social ul {
    display: flex;
    justify-content: space-between;
}

.pre-footer .special .social li{
    margin-left: 25px;
    text-align: right;
}

.pre-footer .special .social li img {
    width: 70%;
}

.pre-footer .info {
    display: flex;
    justify-content: space-between;
    color: darkgray;
}

.pre-footer .info img {
    width: 15px;
    height: 20px;
    margin-right: 10px;
    vertical-align: text-bottom;
}

.footer {
    color: darkgray;
    text-align: center;
    background-color: #3D3D3D;
    padding: 28px 0px;
}

/* PageTop */
.pagetop a {
    position: fixed;
    display: block;
    opacity: 0;
    width: 58px;
    height: 58px;
    background-color: white;
    font-family: 'FontAwesome';
    color: #fbb5b5;
    border: 1px solid #fbb5b5;
    border-radius: 50%;
    bottom: 50px;
    right: 50px;
    font-size: 30px;
    transition: 0.3s;
    padding: 10px;
}

.pagetop a:hover {
    background-color: #fbb5b5;
    color: white;
}

.pagetop a:after {
    content: '\f077';
    margin-left: 3px;
}

/* 共通の youtube用　レスポンシブ */

iframe[src*="youtube.com"] {
  width: 100% !important;
  height: auto;
  aspect-ratio: 16 / 9;
  display: block;
}


/* 共通の recommended-product クラス */
.recommended-product {
    position: fixed;
    right: 50px;
    width: 116px;
    border-radius: 10px;
    padding: 0;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 1000;
    opacity: 1;
    transition: bottom 0.3s;
}

.recommended-product img {
    width: 100%;
    border-radius: 8px;
}



/* Responsive */
@media screen and (max-width: 1440px) {
    .pre-footer .container {
        width: 90%;
    }
}

@media screen and (max-width: 1200px) {
    .container {
        width: 90%;
    }
}

@media screen and (max-width: 768px) {

    /* 768px未満の場合、矢印を消す場合 */
/*    .PrevArrow {display: none !important;}	*/
/*    .NextArrow {display: none !important;}	*/

	/* 768px以下の場合、矢印を表示し、サイズを1/2にする */
	@media screen and (max-width: 768px) {
    .PrevArrow, .NextArrow {
        display: block !important;
        font-size: 18px;  /* フォントサイズを1/2にする */
        padding: 0px 6px 0.5px 5.5px; /* パディングを1/2にする */
    }
}


    


@media screen and (max-width: 768px) {
    .btn-circle {
        font-size: 12px;
    }

    /* Sidebar */
    .sidebar {
        width: 100%;
        background: white;
    }

    .sidebar .close-btn {
        left: 93%;
        top: 68px;
    }

    .sidebar .close-btn::before, .sidebar .close-btn::after {
        width: 25px;
    }

    /* Company */
    #company .company-info .map .map-map {
        width: 100%;
    }
    #company .company-info .map iframe {
        height: 300px;
    }

    #company .company-info .map .map-img {
        display: none;
    }

    #company .company-info .detail {
        font-size: 14px;
    }
}


/* レスポンシブ対応 ポップアップ用*/
@media screen and (max-width: 425px) {
    .recommended-product {
        width: 58px;
    }
}

    /* Navbar */
    .navbar .logo {
        width: 60px;
    }

    .navbar .logo img {
        width: 100%;
    }

    .navbar .logo .logo-sm {
        display: block;
    }

    .navbar .logo .logo-pc {
        display: none;
    }

    .menu-group ul li {
        width: 35px;
        margin-left: 25px;
    }

    .title {
        text-align: center;
    }

    .title .header {
        font-size: 20px;
    }

    .title .label {
        font-size: 12px;
    }

    /* Sidebar */
    .sidebar .logo img {
        width: 75%;
    }

    .sidebar .search {
        margin: 0px 20px;
    }

    .sidebar .menu ul li {
        font-size: 20px;
    }

    .sidebar .social li img {
        width: 75%;
    }

    /* Company */
    #company .company .name h3{
        font-size: 16px;
    }

    /* Footer */
    .pre-footer {
        position: relative;
        font-size: 14px;
        padding-bottom: 38px;
    }

    .pre-footer .header {
        display: block;
    }

    .pre-footer .header .logo img {
        width: 100%;
    }

    .pre-footer .header .search {
        width: 100%;
    }

    .pre-footer .menu {
        display: block;
        margin-bottom: 26px;
    }

    .pre-footer .menu .main ul {
        display: block;
        margin-bottom: -10px;
    }

    .pre-footer .menu .main ul li {
        text-align: center;
        margin-right: 0px;
        margin-bottom: 10px;
    }

    .pre-footer .menu .other {
        margin-top: 18px;
    }

    .pre-footer .menu .other ul {
        justify-content: center;
    }
    
    .pre-footer .menu .other ul li {
        margin-right: 13px;
    }

    .pre-footer .menu .other ul li a:after {
        right: -6px;
    }

    .pre-footer .special {
        display: block;
    }

    .pre-footer .special .social {
        position: absolute;
        bottom: 0px;
        left: 50%;
        transform: translateX(-54%);
    }

    .pre-footer .special .social li img {
        width: 30px;
    }

    .pre-footer .special .review {
        text-align: center;
        margin-top: 10px;
    }

    .pre-footer .info {
        display: block;
        text-align: center;
        line-height: 32px;
        margin-top: 30px;
    }
}

/* ==========================================
   PC通常表示 / スマホ折りたたみ
========================================== */

/* PC */
@media screen and (min-width:769px){
  .pc-text-only{
    display:block;
  }

  .sp-text-toggle{
    display:none;
  }
}

/* スマホ */
@media screen and (max-width:768px){
  .pc-text-only{
    display:none;
  }

  .sp-text-toggle{
    display:block;
  }

  .sp-text-toggle details{
    margin:8px 0 8px;
    border-bottom:1px solid #e0e0e0;
  }

  .sp-text-toggle summary{
    cursor:pointer;
    list-style:none;
    padding:0;
    text-align:right;
    font-size:20px;
    font-weight:bold;
    color:#3E2816;
  }

  .sp-text-toggle summary::-webkit-details-marker{
    display:none;
  }

  .sp-text-toggle summary::after{
    content:"＋";
  }

  .sp-text-toggle details[open] summary::after{
    content:"－";
  }

  .sp-text-toggle .toggle-body{
    margin-top:8px;
    line-height:1.7;
  }
}