@charset "UTF-8";
/* CSS Document */


/* -------------------------
toppage
------------------------- */
#toppage section {
    margin: 40px 0;
}
#toppage .inner {
    padding: 0;
}
#toppage #news .inner,
#toppage #concierge .inner,
#toppage #ranking .inner {
    padding: 0 20px;
}

#toppage #lineup h2.subttl,
#toppage #special h2.subttl {
    margin-left: 20px;
}

/* slick */

#toppage .full a.img01 {
    background-image: url("../img/contents/toppage/mv/01_sp.jpg");
}
#toppage .full a.img02 {
    background-image: url("../img/contents/toppage/mv/02_sp.jpg");
}
#toppage .full a.img03 {
    background-image: url("../img/contents/toppage/mv/03_sp.jpg");
}
#toppage .full a.img04 {
    background-image: url("../img/contents/toppage/mv/04_sp.jpg");
}
#toppage .full .slick-dots {
    bottom: 4%;
    z-index: +1;
}
.slick-dots li button:before {
    content: '○' !important;
    color: #FFF !important;
}
.slick-dots li.slick-active button:before {
    content: '●' !important;
    color: #FFF !important;
}
/*202508追記*/

 @media (max-width: 600px) {
#toppage .full a {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vw;
    margin: 0;
    text-decoration: none;
    display: block;
}
}

.freeshop
{
background:#fff; 
padding:10px; 
border:1px dotted #7F7F7F; 
text-align:center;
}


/* intro */
#toppage #intro {
	padding: 0 20px;
    width: 100%;
    font-size: 16px;
    line-height: 200%;
}
#toppage #intro p:not(:last-child) {
    margin: 0 0 15px 0;
}
#toppage #intro p:last-child {
    margin: 0;
}
#toppage #intro h2 {
    font-size: 24px;
    line-height: 180%;
    margin: 0 0 30px 0;
}
#toppage #intro .tatebtn {
    margin: 30px 0 0 0;
}
#toppage #intro .tatebtn a {
    padding: 10px 15px;
    border: 1px solid #967E67;
    color: #967E67;
    display: flex;
    justify-content: center;
}
#toppage #intro .tatebtn a::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23967E67%22%20class%3D%22bi%20bi-arrow-right%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1%208a.5.5%200%200%201%20.5-.5h11.793l-3.147-3.146a.5.5%200%200%201%20.708-.708l4%204a.5.5%200%200%201%200%20.708l-4%204a.5.5%200%200%201-.708-.708L13.293%208.5H1.5A.5.5%200%200%201%201%208z%22%2F%3E%3C%2Fsvg%3E') no-repeat 50% 20px;
    background-size: 20px;
}
#toppage #intro .tatebtn a:hover {
    background: #967E67;
    color: #FFF;
    text-decoration: none;
}
#toppage #intro .tatebtn a:hover::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23FFFFFF%22%20class%3D%22bi%20bi-arrow-right%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1%208a.5.5%200%200%201%20.5-.5h11.793l-3.147-3.146a.5.5%200%200%201%20.708-.708l4%204a.5.5%200%200%201%200%20.708l-4%204a.5.5%200%200%201-.708-.708L13.293%208.5H1.5A.5.5%200%200%201%201%208z%22%2F%3E%3C%2Fsvg%3E') no-repeat 50% 20px;
    background-size: 20px;
}

/* news */
#toppage #news ul {
    max-height: 300px;
    overflow: scroll;
}
#toppage #news ul li {
    display: flex;
    margin-bottom: 30px;
}
#toppage #news ul li p {
    margin: 0;
}
#toppage #news ul li p.date {
    margin-right: 15px;
}

/* 20250822追記 */

p.comment {
    width: 250px;
}


/* slidebnr */
ul.slidebnr {
    width: 100%;
    margin: 0;
    position: relative;
}
ul.slidebnr li {
    padding: 0 10px;
}
ul.slidebnr li a img {
    width: 100%;
    height: auto;
}
ul.slidebnr .slick-arrow {
    text-indent: -9999px;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    margin-top: -15px;
    cursor: pointer;
}
ul.slidebnr .prev {
   background: url("../img/contents/toppage/bnr/arrow-wh_r.svg") no-repeat;
   background-size: 30px;
   left: 10px;
   z-index: 500;
}
ul.slidebnr .next {
   background: url("../img/contents/toppage/bnr/arrow-wh.svg") no-repeat;
   background-size: 30px;
   right: 10px;
}

/* lineup */
#page_contents #lineup h2 {
    font-size: 24px;
    line-height: 160%;
    margin: 0 0 30px 0;
    display: block;
}
#page_contents #lineup h2::before {
    display: none;
}
#toppage #lineup .inner {
    padding: 0;
}
#toppage #lineup .info {
    margin: 0 20px 40px 20px;
}
#page_contents #lineup .info {
    margin: 0 0 40px 0;
}
#toppage #lineup .info h3,
#page_contents #lineup .info h3 {
    font-size: 21px;
    line-height: 160%;
    margin-bottom: 15px;
}
#toppage #lineup ul li,
#page_contents #lineup ul li {
}
#toppage #lineup ul li:not(:last-child),
#page_contents #lineup ul li:not(:last-child) {
    margin-bottom: 50px;
}
#toppage #lineup ul li h3,
#page_contents #lineup ul li h3 {
    font-size: 24px;
    line-height: 160%;
    margin: 0 0 30px 0;
}
#toppage #lineup ul li h3 small,
#page_contents #lineup ul li h3 small {
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 160%;
    display: block;
}
#toppage #lineup ul li .txt,
#page_contents #lineup ul li .txt {
    padding: 30px 20px;
}
#toppage #lineup ul li p,
#page_contents #lineup ul li p {
    margin: 0;
}
#toppage #lineup ul li .btn,
#page_contents #lineup ul li .btn {
    margin-top: 30px;
}


/*202508追記*/

h2 small {
  font-size: 0.6em;        
  vertical-align: middle;  
  font-weight: normal;      
}

  @media (min-width: 768px) {
    .hide-pc {
      display: none !important;
    }
  }


.category{
     display:inline-block;  
     background:#fff; 
     padding:10px; 
     border:1px solid #967E67;
     margin-bottom: 10px; 
     width: 100%; 
}


.fullwidth-link {
  display: block;
  background-color: #fff;
  width: 100%;
  color: inherit;                       /* テキスト色を親に合わせる（任意） */
  -webkit-tap-highlight-color: transparent;  /* タップ時のハイライトを消す（iOS） */
  outline: none;                        /* フォーカス枠を消す */
}

.fullwidth-link:focus,
.fullwidth-link:active {
  text-decoration: none;  
  outline: none;
}

.smh2{
  font-size:10pt;
  padding:0 10px;
}


.fullwidth-link {

    text-decoration: none;
    display: block;
    transition: color 0.3s;
  }
  .fullwidth-link.active {
    color: #FFAC59; /* クリックされたときの色 */
    font-weight: bold;
  }



/* PCのみ表示 */
@media (max-width: 767px) {
  .show-pc {
    display: none !important;
  }
}

/* スマホのみ表示 */
@media (min-width: 768px) {
  .hide-pc {
    display: none !important;
  }
}

/* Swiper スライド内の調整（必要に応じて） */
.lineup-swiper .swiper-slide {
  padding: 10px;
  box-sizing: border-box;
}




/* special */
#toppage #special ul {
}
#toppage #special ul li {
    padding: 0;
    margin: 0 0 50px 0;
    display: flex;
    flex-direction: column;
}
#toppage #special ul li a {
    display: block;
}
#toppage #special ul li:last-child {
    margin: 0;
}
#toppage #special ul li .txt {
    padding: 20px;
}
#toppage #special ul li .txt .data {
    color: #967E67;
    font-size: 14px;
    line-height: 160%;
    margin: 0;
}
#toppage #special ul li .txt p {
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;
}
#toppage #special ul li .btn {
    margin-top: auto;
    padding: 0 20px;
}
#toppage #special ul li .btn a {
    display: flex;
}

/* concierge */
#toppage #concierge {
    padding: 50px 0 30px 0;
    background: #F7F5F5;
}
#toppage #concierge h2 {
    text-align: center;
    margin: 0 0 20px 0;
    line-height: 160%;
}
#toppage #concierge ul {
    margin: 40px 0 0 0;
    display: flex;
    flex-wrap: wrap;
}
#toppage #concierge ul li {
    width: 33.333333%;
    padding: 0 10px 20px 10px;
}
#toppage #concierge ul li .image {
    margin-bottom: 10px;
}
#toppage #concierge ul li h3 {
    margin: 0 0 5px 0;
    line-height: 140%;
    text-align: center;
}
#toppage #concierge ul li p {
    line-height: 160%;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;
}
#toppage #concierge ul li p small {
    display: block;
    font-size: 10px;
    line-height: 140%;
    margin-top: 5px;
}
#toppage #concierge ul li a {
    padding: 0;
    display: block;
}
#toppage #concierge ul li a:hover {
    box-shadow: 0 0 10px rgba(0,0,0,.1);
}

/* ranking */
#toppage #ranking ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#toppage #ranking ul li {
    padding: 0;
    margin: 0 0 20px 0;
    width: 49%;
    font-family: 'Noto Sans JP', sans-serif;
}
#toppage #ranking ul li a {
    display: block;
}
#toppage #ranking ul li a:hover {
    text-decoration: none;
}
#toppage #ranking ul li p {
    margin: 0 0 5px 0;
    font-size: 14px;
    line-height: 160%;
    color: #967E67;
}
#toppage #ranking ul li h3 {
    margin: 0;
    font-size: 16px;
    line-height: 160%;
}

/* footimage */
#toppage .footimage {
    background: url("../img/contents/toppage/lastitem_sp.jpg") no-repeat center;
    background-size: cover;
    height: 50vh;
}

/* -------------------------
freepage common
------------------------- */
#freepage {
    margin-bottom: 40px;
}
#freepage main {
    height: 100vh;
}
#freepage .prev,
#freepage .next {
    display: flex;
    justify-content: flex-start;
    margin-top: 60px;
}
#freepage .next .box,
#freepage .prev .box {
    width: 390px;
}
#freepage .next p,
#freepage .prev p {
    margin: 0;
    line-height: 100%;
}
#freepage .next a,
#freepage .prev a {
    font-size: 18px;
    line-height: 160%;
    display: block;
    border-bottom: 1px solid #967E67;
    padding: 5px 0;
}
#freepage .next a:hover,
#freepage .prev a:hover {
    text-decoration: none;
    color: #967E67;
}

#page_contents {
	margin: 20px 0;
}
#page_contents h1 {
    font-size: 24px;
    line-height: 160%;
    margin: 0 0 30px 0;
}
#freepage .fs-c-breadcrumb {
	margin: 10px 20px 30px 20px;
}
#page_contents .fs-c-breadcrumb {
	margin: 10px 20px 30px 20px;
    width: inherit;
}


/* -------------------------
guide
------------------------- */
#guide .box {
    margin-bottom: 50px;
}
#guide .box h2 {
    font-size: 21px;
    line-height: 160%;
    margin: 0;
    padding-bottom: 5px;
    border-bottom: 1px dotted #DDD;
}
#guide .box h3 {
    font-size: 18px;
    line-height: 160%;
    margin: 0 0 10px 0;
}
#guide .box p {
    margin: 0 0 5px 0;
}
#guide .box .box__content {
    margin: 20px 20px 30px 20px;
}
#guide .box .fs-c-documentColumn {
    margin-bottom: 50px;
}
#guide .box dl {
    padding: 10px;
    margin: 10px 0;
    background: #F7F5F5;
}
#guide .box dl dt {
    margin: 0;
    border-bottom: 1px dotted #DDD;
}
#guide .box dl dd {
    margin: 0 0 30px 0;
}

/* law / agreement */
#law .fs-p-aboutTerms h2,
#agreement h3,
#privacy h2 {
    font-size: 21px;
    line-height: 160%;
    margin: 0 0 20px 0;
    padding-bottom: 5px;
    border-bottom: 1px dotted #967E67;
}
#law .fs-p-aboutTerms h3 {
    font-size: 18px;
    line-height: 160%;
    margin: 0 0 10px 0;
}
#law .fs-c-documentArticle__content,
#agreement .fs-c-documentColumn__content {
    margin: 0 0 50px 0;
}
#law .fs-c-documentColumn__content {
    margin: 20px 20px 30px 20px;
}
#law .fs-p-aboutTerms dl {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 10px 0;
}
#law .fs-p-aboutTerms dl dt {
    width: 20%;
    padding: 5px;
    margin: 0;
}
#law .fs-p-aboutTerms dl dd {
    width: 80%;
    padding: 5px;
    margin: 0;
}
#law .fs-c-list {
    padding: 10px 10px 10px 30px;
    background: #F7F5F5;
}
#law .fs-c-list li {
    list-style: auto !important;
}
#law .fs-c-documentColumn__content dl {
    padding: 10px;
    background: #F7F5F5;
}

/* agreement */
#agreement {
	padding: 0 20px;
}
#agreement ol {
    padding: 0;
    margin: 0 0 0 15px;
}
#agreement ol li {
    margin: 0 0 5px 0;
    list-style: auto;
}
#agreement ol li p {
    margin-bottom: 15px;
}
#agreement ol ol {
    padding: 15px 30px !important;
    background: #F7F5F5;
    margin: 10px 0 20px 0 !important;
}

/* privacy */
#privacy {
	padding: 0 20px;
}
#privacy .inner {
    margin-top: 50px;
}
#privacy .box {
    margin-bottom: 50px;
}
#privacy .box p {
    margin-bottom: 15px;
}
#privacy .box ol {
    padding: 0;
    margin: 0 0 0 15px;
}
#privacy .box ol:not(last-child) {
    margin-bottom: 20px;
}
#privacy .box ol li {
    margin: 0 0 5px 0;
    list-style: auto;
}
#privacy .box ol ol,
#privacy .box .add {
    padding: 15px 30px !important;
    background: #F7F5F5;
    margin: 10px 0 20px 0 !important;
}
#privacy .box ol ul {
    margin-left: 15px;
}
#privacy .box ol ul li {
    list-style: circle;
}


/* -------------------------
AR
------------------------- */
#ar {
    padding: 0 20px;
}
#ar h2 {
    margin: 0 0 20px 0;
    padding: 0;
    text-align: center;
}
#ar .flex .txt .btn {
    margin-top: 30px;
}


/* -------------------------
about
------------------------- */
.about main {
    background: url("../img/contents/about/mv_sp.jpg") no-repeat center;
    background-size: cover;
}
.about section {
	padding: 40px 0;
}
.about .inner {
	margin-left: auto;
	margin-right: auto;
}
.about section h1 {
    font-size: 24px;
    line-height: 160%;
    margin-bottom: 40px;
}
.about section h2 {
    font-size: 24px;
    line-height: 160%;
    margin: 0 0 20px 0;
}
.about section h3 {
    font-size: 21px;
    line-height: 160%;
    margin-bottom: 30px;
}
.about #intro {
    margin: 0;
    padding: 0;
}
.about #intro h1 {
    padding: 0 20px;
}
.about #intro p {
    font-size: 15px;
    line-height: 230%;
    letter-spacing: 1px;
    padding: 0 20px;
    margin: 0;
}
.about #intro p:not(last-child) {
    margin-bottom: 30px;
}
.about #intro .photo {
    margin-top: 60px;
}
.about #policy {
    background: #F7F5F5;
}
.about #policy p,
.about #sustainability p {
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: left;
}
.about #policy ul,
.about #sustainability ul {
    margin-top: 60px;
}
.about #policy ul li,
.about #sustainability ul li {
    text-align: left;
    margin: 0;
}
.about #policy ul li:not(last-child),
.about #sustainability ul li:not(last-child) {
    margin-bottom: 50px;
}
.about #policy ul li h3,
.about #sustainability ul li h3 {
    margin: 0 0 15px 0;
}
.about #policy ul li p,
.about #sustainability ul li p {
    font-family: 'Noto Sans JP', sans-serif;
}
.about #sustainability {
    text-align: center;
    padding: 0;
}
.about #sustainability .photo {
    margin-bottom: 40px;
}
.about #sustainability .txt {
    margin: 0 20px;
}


/* -------------------------
concierge
------------------------- */
/*
.concierge main {
    background: url("../img/contents/concierge/mv_sp.jpg") no-repeat center;
    background-size: cover;
}
*/
.concierge section {
	margin: 40px 20px;
}
.concierge section h1 {
    font-size: 24px;
    line-height: 160%;
    margin-bottom: 40px;
}
.concierge section h2 {
    font-size: 24px;
    line-height: 160%;
    margin: 0 0 20px 0;
}
.concierge section h3 {
    font-size: 18px;
    line-height: 160%;
    margin: 0 0 20px 0;
}
.concierge #intro {
    text-align: center;
    margin: 0;
    padding: 0;
}
.concierge #intro .photo {
    margin-bottom: 30px;
}
.concierge #intro p {
    margin: 0 20px;
    text-align: left;
	margin-bottom: 30px;
}
.concierge #promise {
    margin-top: 60px;
    text-align: center;
}
.concierge #promise .inner {
    padding: 0;
}
.concierge #promise p {
    font-family: 'Noto Sans JP', sans-serif;
    padding: 0 20px;
}
.concierge #promise ul {
    text-align: left;
    margin: 30px 20px 0 20px;
}
.concierge #promise ul li:not(last-child) {
    margin-bottom: 50px;
}
.concierge #promise ul li p {
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;
}
.concierge #promise .mainphoto {
    margin: 20px 0;
}
.concierge #promise .photo {
    margin-top: 40px;
}
.concierge #promise .photo img {
    margin-bottom: 10px;
}


/* -------------------------
sprecial issue
------------------------- */
#freepage #special {
	margin: 40px 20px;
}
#freepage #special h1 {
    font-size: 24px;
    line-height: 160%;
    margin-bottom: 40px;
    text-align: center;
}
#freepage #special h2 {
    font-size: 21px;
    line-height: 160%;
}
#freepage #special .inner {
    margin-bottom: 80px;
}
#freepage #special ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#freepage #special ul li {
    width: 49%;
    padding: 0;
    margin: 0 0 30px 0;
    display: flex;
    flex-direction: column;
}
#freepage #special ul li a {
    display: block;
}
#freepage #special ul li .txt {
    margin-bottom: 20px;
}
#freepage #special ul li .txt .data {
    color: #967E67;
    font-size: 14px;
    line-height: 160%;
}
#freepage #special ul li .txt p {
    font-family: 'Noto Sans JP', sans-serif;
}
#freepage #special ul li .btn {
    margin-top: auto;
}
#freepage #special ul li .btn a {
	display: flex;
}

/* column */
#freepage #special_column {
	margin: 40px 0;
}
#freepage #special_column main {
    margin-bottom: 30px;
    height: auto !important;
}
#freepage #special_column main h1 {
    font-size: 32px;
    line-height: 160%;
    margin: 20px;
}
#freepage #special_column main img {
    width: 100%;
    height: auto;
}
#freepage #special_column section {
    padding: 0 20px;
}
#freepage #special_column .intro {
    margin-bottom: 50px;
}
#freepage #special_column .box {
    margin-bottom: 50px;
}
#freepage #special_column .box h2 {
    margin-bottom: 20px;
}
#freepage #special_column .box .photo {
    text-align: center;
    margin: 20px 0;
}
#freepage #special_column .intro p,
#freepage #special_column .box p {
    margin: 0 0 10px 0;
}
#freepage #special_column .intro p:last-child,
#freepage #special_column .box p:last-child {
    margin: 0;
}
#freepage #special_column .box p.interviewer {
	margin-top: 30px;
	color: #ADA593;
}
#freepage #special_column .box p.interviewer::before {
	content: "─";
	margin-right: 5px;
}
#freepage #special_column .concierge {
	background: #F7F5F5;
	padding: 20px;
	margin: 40px 0;
}
#freepage #special_column .concierge h2 {
	text-align: center;
	font-size: 21px;
	line-height: 160%;
	margin: 0 0 30px 0;
}
#freepage #special_column .concierge li {
	display: flex;
	justify-content: space-between;
}
#freepage #special_column .concierge li:first-child {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #FFF;
}
#freepage #special_column .concierge li .img {
	width: 40%;
}
#freepage #special_column .concierge li .txt {
	width: 55%;
}
#freepage #special_column .concierge li .txt h3 {
	margin: 0;
}
#freepage #special_column .concierge li .txt h3 small {
	display: block;
	font-size: 12px;
	line-height: 140%;
}
#freepage #special_column .concierge.inner h2 {
    font-size: 18px;
    line-height: 160%;
    text-align: left;
    margin: 0 0 20px 0 !important;
}
#freepage #special_column .concierge.inner .flexbox .txt h3 small {
    font-size: 12px;
    line-height: 160%;
    font-family: 'Noto Sans JP', sans-serif;
    display: block;
}
#freepage #special_column .concierge.inner .flexbox .photo img {
    text-align: center;
}
#freepage #special_column .concierge.inner .flexbox .photo img {
    width: 60%;
    height: auto;
}
#freepage #special_column .items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 30px;
}
#freepage #special_column .items li {
    width: 48%;
    padding: 0;
    margin: 0 0 15px 0;
    display: flex;
    flex-direction: column;
}
#freepage #special_column .items li p {
    margin: 0;
}
#freepage #special_column .items li .img {
    margin: 0 0 10px 0;
}
#freepage #special_column .items li p.name {
    font-size: 16px;
    line-height: 160%;
}
#freepage #special_column .items li .btn {
    margin-top: auto;
    padding-top: 10px;
}
#freepage #special_column .items li .btn a {
    max-width: 100%;
}
#freepage #special_column .box p a {
	border-bottom: 1px solid #333;
}
#freepage #special_column .box p a:hover {
	border-bottom: 1px solid #333;
	text-decoration: none;
}
#freepage #special_column .product {
	display: flex;
	flex-wrap: wrap;
}
#freepage #special_column .product li {
    width: 48%;
    margin: 0 1% 30px;
}
#freepage #special_column .product li p.name {
   margin: 0;
}

/* column - item-introduction */
#freepage #special_column .item-introduction .text {
    margin: 10px 0 0;
}
#freepage #special_column .item-introduction h3 {
    font-size: 18px;
    border-bottom: 1px solid #D2D2D2;
    padding-bottom: 10px;
    margin: 0;
}
#freepage #special_column .item-introduction h4 {
    font-size: 16px;
    margin: 0 0 5px 0;
}
#freepage #special_column .item-introduction p {
    line-height: 180%
}
#freepage #special_column .item-introduction p.spec-text {
    font-size: 13px;
    line-height: 140%;
    margin: 0 0 15px 0;
}
#freepage #special_column .item-introduction ul li {
    padding: 20px 0;
    border-bottom: 1px solid #D2D2D2;
}
#freepage #special_column .item-introduction ul a {
    display: flex;
    flex-direction: column;
    width: 100%;
}
#freepage #special_column .item-introduction .photo {
    margin: 0;
    width: 100%;
}
#freepage #special_column .item-introduction .photo img {
    width: 100%;
}


/* -------------------------
service
------------------------- */
#service section {
    padding: 40px 0;
}
#service #intro {
    text-align: center;
    padding: 0 0 40px 0;
}
#service #intro p {
    margin: 0 20px;
}
#service h1 {
    font-size: 28px;
    line-height: 160%;
    margin: 0 0 30px 0;
}
#service h2 {
    font-size: 21px;
    line-height: 160%;
    margin: 0 0 15px 0;
}
#service #intro .photo {
    margin-bottom: 30px;
}
#service #online_consultation {
    background: #F7F5F5;
}
#service #online_consultation .inner {
}
#service #online_consultation .photo {
    margin: 50px 0;
}
#service #online_consultation .concierge h3 {
    text-align: center;
    font-size: 21px;
    line-height: 160%;
    margin: 0 0 30px 0;
}
#service #online_consultation .concierge ul {
}
#service #online_consultation .concierge li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
#service #online_consultation .concierge li .img {
    width: 40%;
}
#service #online_consultation .concierge li .txt {
    width: 56%;
}
#service #online_consultation .concierge li h4 {
    font-size: 18px;
    line-height: 160%;
    margin: 0 0 5px 0;
}
#service #online_consultation .concierge li small {
    display: block;
    font-size: 12px;
    line-height: 160%;
    margin: 0 0 10px 0;
}
#service #online_consultation .concierge li small {
    display: block;
    font-size: 12px;
    line-height: 160%;
    margin: 5px 0;
}
#service #online_consultation .coordinate {
    margin: 60px 0;
}
#service #online_consultation .flow {
    margin: 60px 0;
}
#service #online_consultation .flow h2 {
    text-align: center;
}
#service #online_consultation .flow dl {
}
#service #online_consultation .flow dl dt {
    padding: 10px;
    margin: 0 0 10px 0;
    text-align: center;
    background: #FFF;
    color: #967E67;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 140%;
    border-radius: 0 20px 0 20px;
}
#service #online_consultation .flow dl dd {
    padding: 0;
    margin: 10px 20px 30px 20px;
}
#service #online_consultation .flow dl dd h3 {
    margin: 0;
}
#service #online_consultation .flow dl dd .btn {
    margin-top: 20px;
}
#service #online_consultation .flow dl dd .btn a {
    margin: 0 auto;
}
#service #online_consultation .notice {
}
#service #online_consultation .notice h3 {
    font-size: 21px;
    line-height: 160%;
    margin: 0 0 20px 0;
}
#service #online_consultation .notice p {
    font-family: 'Noto Sans JP', sans-serif;
}
#service #online_consultation .appli {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
}
#service #online_consultation .appli a {
    width: 48%;
    display: block;
    margin: 0 1%;
    text-align: center;
}

#service #other_service {
    padding-top: 40px;
}
#service .service_list {
    margin-bottom: 40px;
    padding: 0 20px;
    display: flex;
    flex-direction: column-reverse;
}
#service .service_list:last-child {
    margin-bottom: 0;
}
#service .service_list .photo {
    margin: 0 0 15px 0;
}
#service .service_list .txt {
    padding: 0 20px;
}
#service .service_list .txt h2 {
    text-align: left;
    margin-bottom: 5px;
}
#service .service_list .txt p {
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
}
#service .service_list .txt .btn {
    margin-top: 20px;
}


/* -------------------------
howto_arsimulator
------------------------- */
#howto_arsimulator section:not(last-child) {
    margin-bottom: 60px;
}
#howto_arsimulator #intro .photo {
    margin-bottom: 40px;
}
#howto_arsimulator #intro h1 {
    margin: 0 0 30px 0;
    font-size: 26px;
    line-height: 160%;
    text-align: center;
}
#howto_arsimulator section h2 {
    text-align: center;
    font-size: 22px;
    line-height: 160%;
    margin: 0 0 15px 0;
}
#howto_arsimulator #about p,
#howto_arsimulator #flow p,
#howto_arsimulator #environment p,
#howto_arsimulator #environment .txt ul,
#howto_arsimulator #camera p {
    font-family: 'Noto Sans JP', sans-serif;
}
#howto_arsimulator #about ul li .img {
    margin: 0 0 15px 0;
}
#howto_arsimulator #about ul li h3 {
    font-size: 18px;
    line-height: 160%;
    margin: 0 0 15px 0;
}
#howto_arsimulator #flow {
    background: #F7F5F5;
    padding: 40px 0;
    margin-bottom: 40px;
}
#howto_arsimulator #flow dl,
#howto_arsimulator #flow dl dt,
#howto_arsimulator #flow dl dd {
    margin: 0;
    padding: 0;
}
#howto_arsimulator #flow dl {
    display: flex;
    flex-direction: column;
}
#howto_arsimulator #flow dl dt {
    margin-bottom: 10px;
}
#howto_arsimulator #flow dl dd {
    margin-bottom: 30px;
}
#howto_arsimulator #flow dl dt a {
    text-decoration: underline;
}
#howto_arsimulator #flow dl dt a:hover {
    text-decoration: none;
}
#howto_arsimulator #flow h3,
#howto_arsimulator #environment h3 {
    font-size: 18px;
    line-height: 160%;
    margin: 0 0 10px 0;
}
#howto_arsimulator #environment .txt {
    margin-bottom: 30px;
}
#howto_arsimulator #environment ul li {
    list-style: disc;
    margin: 0 0 10px 25px;
}
#howto_arsimulator #camera p {
    margin: 0 0 20px 0;
}
#howto_arsimulator #camera .btn a:not(last-child) {
    margin-bottom: 10px;
}


/* -------------------------
FAQ
------------------------- */
#faq #intro {
    text-align: center;
    margin-bottom: 50px;
}
#faq .faq_list {
    margin-bottom: 40px;
}
#faq .toggle {
	display: none;
}
#faq .Label {
	padding: 1em 2.5em 1em 1em;
    display: flex;
	background: #F7F5F5 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23967E67%22%20class%3D%22bi%20bi-arrow-down-circle%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1%208a7%207%200%201%200%2014%200A7%207%200%200%200%201%208zm15%200A8%208%200%201%201%200%208a8%208%200%200%201%2016%200zM8.5%204.5a.5.5%200%200%200-1%200v5.793L5.354%208.146a.5.5%200%201%200-.708.708l3%203a.5.5%200%200%200%20.708%200l3-3a.5.5%200%200%200-.708-.708L8.5%2010.293V4.5z%22%2F%3E%3C%2Fsvg%3E') no-repeat 95% 50%;
    background-size: 20px;
    font-size: 16px;
    line-height: 160%;
}
#faq .toggle:checked + .Label {
	background: #F7F5F5 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23967E67%22%20class%3D%22bi%20bi-arrow-up-circle%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1%208a7%207%200%201%200%2014%200A7%207%200%200%200%201%208zm15%200A8%208%200%201%201%200%208a8%208%200%200%201%2016%200zm-7.5%203.5a.5.5%200%200%201-1%200V5.707L5.354%207.854a.5.5%200%201%201-.708-.708l3-3a.5.5%200%200%201%20.708%200l3%203a.5.5%200%200%201-.708.708L8.5%205.707V11.5z%22%2F%3E%3C%2Fsvg%3E') no-repeat 95% 50%;
    background-size: 20px;
}
#faq .Label::before {
    content: "Q.";
    margin-right: 10px;
}
#faq .Label,
#faq .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
#faq .content {
	height: 0;
	margin-bottom: 10px;
	padding: 0 20px;
	overflow: hidden;
    font-family: 'Noto Sans JP', sans-serif;
}
#faq .toggle:checked + .Label + .content {
	height: auto;
	padding: 20px;
	transition: all .3s;
    display: flex;
}
#faq .toggle:checked + .Label + .content::before {
    content: "A.";
    margin-right: 10px;
    font-family: "ten-mincho-text", serif;
}
#faq .toggle:checked + .Label + .content p {
    margin: 0;
}
#faq .toggle:checked + .Label + .content p:not(last-child) {
    margin: 0 0 15px 0;
}

/* -------------------------
opening_campaign
------------------------- */
#opening_campaign h1 {
	text-align: center;
	line-height: 140%;
}
#opening_campaign .photo {
	margin-bottom: 40px;
}
#opening_campaign #intro {
	margin-bottom: 60px;
}
#opening_campaign #about {
	margin-bottom: 60px;
}
#opening_campaign #about .img {
	margin-bottom: 30px;
}
#opening_campaign #about h3 {
	text-align: center;
}
#opening_campaign #use {
	margin-bottom: 60px;
}
#opening_campaign #use h2 {
	text-align: center;
	margin-bottom: 30px;
}
#opening_campaign #use ul li {
	margin-bottom: 30px;
}
#opening_campaign #attention {
	background: #F7F5F5;
	padding: 40px 0;
	margin-bottom: 40px;
}
#opening_campaign #attention h2 {
	text-align: center;
	margin-bottom: 30px;
}
#opening_campaign #attention dl {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#opening_campaign #attention dl dt:not(last-child),
#opening_campaign #attention dl dd:not(last-child) {
    border-bottom: 1px dotted #967E67;
}
#opening_campaign #attention dl dt,
#opening_campaign #attention dl dd {
	padding: 10px;
    margin: 0;
}
#opening_campaign #attention dt {
	width: 25%;
}
#opening_campaign #attention dd {
	width: 75%;
	margin: 0;
}
#opening_campaign .btn {
	padding: 0 20px;
}

/* -------------------------
newslist
------------------------- */
#freepage #newslist h1 {
    font-size: 24px;
    line-height: 160%;
    margin-bottom: 40px;
    text-align: center;
}
#freepage #newslist .inner {
    margin-bottom: 80px;
}
#freepage #newslist ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#freepage #newslist ul li {
    width: 49%;
    padding: 0;
    margin: 0 0 30px 0;
    display: flex;
    flex-direction: column;
}
#freepage #newslist ul li .txt p {
	font-family: 'Noto Sans JP', sans-serif;
}
#freepage #newslist ul li .txt .data {
    color: #967E67;
    font-size: 14px;
    line-height: 160%;
}

/* -------------------------
news_column
------------------------- */
#freepage #news_column {
    margin: 40px 0;
}
#freepage #news_column .news_container {
    display: flex;
    flex-direction: column-reverse;
}
#freepage #news_column .news_container .news_archive {
    padding: 0 20px;
}
#freepage #news_column .news_container .news_box .txt {
    padding: 0 20px;
}
#freepage #news_column .news_container .news_box h3 {
	font-size: 24px;
	margin-bottom: 50px;
}
#freepage #news_column .news_container .news_box p {
	margin-bottom: 30px;
}
#freepage #news_column .txt .data {
    color: #967E67;
    font-size: 15px;
    line-height: 160%;
	margin-bottom: 10px!important;
}
#freepage #news_column .news_container .news_box .photo {
	margin-bottom: 50px;
}
#freepage #news_column .concierge {
    background: #F7F5F5;
    padding: 20px;
	margin: 50px 20px;
}
#freepage #news_column .concierge h2 {
    text-align: center;
    font-size: 21px;
    line-height: 160%;
    margin: 0 0 30px 0;
}
#freepage #news_column .concierge .flexbox {
	display: flex;
    justify-content: space-between;
}
#freepage #news_column .concierge .flexbox .photo {
	width: 40%;
	margin: 0;
}
#freepage #news_column .concierge .flexbox .txt {
	width: 55%;
	margin: 0;
}
#freepage #news_column .concierge .flexbox .txt h3 {
    font-size: 16px;
    line-height: 160%;
    margin-bottom: 20px;
	margin: 0;
}
#freepage #news_column .concierge .flexbox .txt h3 small {
    display: block;
    font-size: 12px;
    line-height: 140%;
}
#freepage #news_column .news_archive h5 {
    font-size: 16px;
    padding: 10px;
    background: #F7F5F5;
    margin: 0;
}
#freepage #news_column .news_archive li {
	border-bottom: 1px dotted #967E67;
    padding: 5px 5px 5px 25px;
    background: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23967E67%22%20class%3D%22bi%20bi-arrow-right%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1%208a.5.5%200%200%201%20.5-.5h11.793l-3.147-3.146a.5.5%200%200%201%20.708-.708l4%204a.5.5%200%200%201%200%20.708l-4%204a.5.5%200%200%201-.708-.708L13.293%208.5H1.5A.5.5%200%200%201%201%208z%22%2F%3E%3C%2Fsvg%3E) no-repeat 0% 50%;
    background-size: 15px;
}

/* -------------------------
search_form
------------------------- */
.search_form {
	margin: 0 auto 40px;
    padding: 0 20px;
}
#itempage .search_form {
    padding: 0;
}
#itempage .search_form h2.subttl {
    margin: 80px 0 30px;
}
.search_form h3 {
	background: #967E67;
    color: #FFF;
    font-size: 16px;
    line-height: 160%;
    padding: 10px 20px;
    margin: 0;
}
.search_form input[type="checkbox"],
.search_form input[type="radio"] {
    margin-right: 3px;
	width: 10px;
    height: 10px;
	accent-color: #967E67;
}
.search_form .form_box {
	display: flex;
    width: 100%;
    flex-wrap: wrap;
}
.search_form .form_box li {
	width: 50%;
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 13px;
    display: block;
    border-bottom: 1px solid #967E67;
    padding: 10px 20px;
}
.search_form .form_box li:first-child,
.search_form .form_box li:nth-child(2n+1) {
	border-right: 1px solid #967E67;
}
.search_form input[type="text"] {
    border-radius: 3px;
    border: 1px solid #aaa;
    background: #eee;
    width: 90%;
    margin: 20px 5%;
    padding: 10px 5px;
}
.search_form .btn {
    text-align: center;
    width: 100%;
    padding: 0 20px;
}
#fs_ProductSearch .search_form .btn {
    text-align: center;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    width: 100%;
	padding: 0;
}
.search_form input[type="submit"] {
	border-top: 1px solid #fff;
    border-right: none;
    border-bottom: none;
    border-left: none;
    width: 100%;
    padding: 15px 20px;
    color: #fff;
    margin: 10px auto 0;
    background: #967E67 url(../img/common/search/ico_search.png) no-repeat 35% 50%;
    background-size: 25px;
    font-size: 16px;
}

/* -------------------------
search_form
------------------------- */
.search_results {
	margin: 0 20px;
}
.search_results dl.conditions {
	border: 1px solid #967E67;
    padding: 20px;
}
.search_results .conditions-box {
    display: flex;
    flex-wrap: wrap;
}
.search_results .conditions-box dt {
	color: #967E67;
	margin: 0 5px 0 0;
}
.search_results .conditions-box dd {
	margin: 0 15px 0 0;
}


/* -------------------------
rug-maintenance  2026.02.12追記
------------------------- */

#rug-maintenance {
    font-family: "ten-mincho-text", serif;
    color: #333;
    line-height: 1.8;
    background-color: #fff;
    overflow-x: hidden;
}

#rug-maintenance #intro {
    background-color: #fff;
    padding: 0; 
}
#rug-maintenance .photo {
    width: 100%;
    line-height: 0;
}
#rug-maintenance .photo img {
    width: 100%;
    height: auto;
    display: block;
}

#rug-maintenance #intro h1 {
    font-size: 18px;
    font-weight: normal;
    padding: 0 20px;
    margin: 30px auto 60px;
}

#rug-maintenance #care-rules h2{
margin: 30px 0;
}

/* 共通セクション */
#rug-maintenance section {
    padding: 60px 20px;
    text-align: center;
    box-sizing: border-box;
}

/* 背景色全幅セクション */
#rug-maintenance #care-importance,
#stain-removal-guide {
    background-color: #F7F5F5;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

/* --- 黄金ルール --- */
#rug-maintenance .title {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    margin-top: 20px;
    text-align: left;
}
#rug-maintenance .number {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    background-color: #333;
    color: #fff;
    border-radius: 50%;
    font-size: 14px;
    margin-right: 10px;
    flex-shrink: 0;
    font-family: sans-serif;
}

/* --- アコーディオン・テーブル --- */
.accordion-item {
    border: 1px solid #707070;
    background-color: #fff;
    margin-bottom: 15px;
}
.accordion-header {
    list-style: none;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.accordion-header::-webkit-details-marker { display: none; }
.header-text { font-weight: bold; font-size: 16px; }
.icon::before { content: '+'; font-size: 20px; }
details[open] .icon::before { content: '-'; }

.care-table { width: 100%; border-collapse: collapse; table-layout: fixed; border-top: 1px solid #707070; }
.care-table th, .care-table td { border: 1px solid #707070; padding: 12px 10px; font-size: 13px; text-align: left; }
.care-table th { background-color: #ECECEC; width: 85px; font-weight: normal; text-align: center; }

/* --- なぜ、部分汚れケアが大切なのか？ (SP) --- */
#rug-maintenance #care-importance {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #F7F5F5;
    padding: 40px 0;
    box-sizing: border-box;
}

#rug-maintenance #care-importance .container {
    padding: 30px;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
}

#rug-maintenance #care-importance h2 {
    font-size: 18px; 
    font-weight: bold;
    margin: 20px;
    line-height: 1.5;
    text-align: left; 
}

#rug-maintenance #care-importance ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#rug-maintenance #care-importance li {
    font-size: 14px;
    margin-bottom: 12px;
    line-height: 1.7;
    text-align: left;
    padding-left: 0;
}


#rug-maintenance #online_consultation .inner {
}
#rug-maintenance #online_consultation .photo {
    margin: 50px 0;
}
#rug-maintenance #online_consultation .concierge h3 {
    text-align: center;
    font-size: 21px;
    line-height: 160%;
    margin: 0 0 30px 0;
}
#rug-maintenance #online_consultation .concierge ul {
}
#rug-maintenance #online_consultation .concierge li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
#rug-maintenance #online_consultation .concierge li .img {
    width: 40%;
}
#rug-maintenance #online_consultation .concierge li .txt {
    width: 56%;
}
#rug-maintenance #online_consultation .concierge li h4 {
    font-size: 18px;
    line-height: 160%;
    margin: 0 0 5px 0;
}
#rug-maintenance #online_consultation .concierge li small {
    display: block;
    font-size: 12px;
    line-height: 160%;
    margin: 0 0 10px 0;
}
#rug-maintenance #online_consultation .concierge li small {
    display: block;
    font-size: 12px;
    line-height: 160%;
    margin: 5px 0;
}
#rug-maintenance #online_consultation .coordinate {
    margin: 60px 0;
}
#rug-maintenance #online_consultation .flow {
    margin: 60px 0;
}
#rug-maintenance #online_consultation .flow h2 {
    text-align: center;
}
#rug-maintenance #online_consultation .flow dl {
}
#rug-maintenance #online_consultation .flow dl dt {
    padding: 10px;
    margin: 0 0 10px 0;
    text-align: center;
    background: #FFF;
    color: #967E67;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 140%;
    border-radius: 0 20px 0 20px;
}
#rug-maintenance #online_consultation .flow dl dd {
    padding: 0;
    margin: 10px 20px 30px 20px;
}
#rug-maintenance #online_consultation .flow dl dd h3 {
    margin: 0;
}
#rug-maintenance #online_consultation .flow dl dd .btn {
    margin-top: 20px;
}
#rug-maintenance #online_consultation .flow dl dd .btn a {
    margin: 0 auto;
}
#rug-maintenance #online_consultation .notice {
}
#rug-maintenance #online_consultation .notice h3 {
    font-size: 21px;
    line-height: 160%;
    margin: 0 0 20px 0;
}
#rug-maintenance #online_consultation .notice p {
    font-family: 'Noto Sans JP', sans-serif;
}
#rug-maintenance #online_consultation .appli {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
}
#rug-maintenance #online_consultation .appli a {
    width: 48%;
    display: block;
    margin: 0 1%;
    text-align: center;
}


/* -------------------------
rug-material-guide  2026.02.27追記
------------------------- */

    /* --- 1. 変数の再定義 --- */
    :root {
        --rmg-main: #8c7662;
        --rmg-bg: #f7f3f0;
        --rmg-text: #333;
        --rmg-border: #dcdcdc;
    }

    /* --- 2. 共通・コンテナ設定 --- */
    .rmg-container {
        width: 100% !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }

    .rug-material-guide section {
        margin: 60px 0 !important;
    }

    .rmg-section-title {
        font-size: 2.2rem !important;
        line-height: 1.4 !important;
        margin-bottom: 30px !important;
        text-align: center !important;
    }

    /* --- 3. なぜ素材選びが大切か --- */
    .rmg-why-material-section {
        padding: 60px 0 !important;
       background-color: var(--rmg-bg) !important;
    }

    .rmg-why-list {
        list-style: none !important; 
        padding: 30px 20px !important;
        margin: 0 !important;
        background-color: var(--rmg-bg) !important; 
        border-radius: 4px !important;
        counter-reset: why-counter;
    }

    .rmg-why-list li {
        display: flex !important;
        align-items: flex-start !important;
        margin-bottom: 20px !important;
        font-size: 1.5rem !important;
        line-height: 1.6 !important;
        color: var(--rmg-text) !important;
    }

    .rmg-why-list li:last-child {
        margin-bottom: 0 !important;
    }

    /* ナンバー（01, 02, 03）のデザイン */
    .rmg-why-list li::before {
        counter-increment: why-counter;
        content: "0" counter(why-counter);
        color: var(--rmg-main) !important;
        font-weight: bold !important;
        margin-right: 15px !important;
        font-family: serif;
        font-size: 1.8rem !important;
        line-height: 1 !important;
    }

    /* --- 4. 3つの黄金ルール（ナンバー白・背景角丸） --- */
    .rmg-diagnosis-card {
        width: 100% !important;
        margin-bottom: 20px !important;
        padding: 30px 20px !important;
        background-color: var(--rmg-bg) !important;
        border-radius: 4px !important;
        text-align: center !important;
    }

    .rmg-rule-badge {
        background: var(--rmg-main) !important;
        color: #fff !important; /* 文字白 */
        border-radius: 50% !important;
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        margin: 0 auto 15px !important;
        font-weight: bold !important;
    }

    .rmg-btn-primary {
        display: flex !important;
        width: 100% !important;
        padding: 18px 10px !important;
        background-color: var(--rmg-main) !important;
        color: #fff !important; /* 文字白 */
        border-radius: 4px !important;
        font-size: 1.6rem !important;
        font-weight: bold !important;
        text-decoration: none !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    .rmg-diagnosis-online {
        text-align: center;
        margin-top: 40px;
}

    /* --- 5. 比較表（全画面表示・スクロールなし） --- */
    .rmg-table-wrapper {
        overflow-x: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .rmg-comparison-table {
        width: 100% !important;
        min-width: auto !important;
        table-layout: fixed !important;
        font-size: 1.15rem !important;
        border-collapse: collapse !important;
        border-radius: 4px !important;
        overflow: hidden;
    }

    .rmg-comparison-table th,
    .rmg-comparison-table td {
        padding: 10px 2px !important;
        text-align: center !important;
        border: 1px solid var(--rmg-border) !important;
    }

    .rmg-comparison-table th { background: var(--rmg-bg) !important; }

    /* --- 6. 素材別ガイド（PCデザイン継承・縦一列化） --- */
    .rmg-material-grid { display: block !important; }
    .rmg-material-grid h3{ font-size:25px; }

    .rmg-material-box {
        width: 100% !important;
        margin-bottom: 30px !important;
        padding: 25px 20px !important;
        background: #fff !important;
        border-radius: 4px !important;
        border-top: 4px solid var(--rmg-main) !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
        box-sizing: border-box !important;
    }


    /* --- 7. 診断チャート（PC本来のデザイン復旧・1カラム化） --- */
    .rmg-diagnostic-nav-h {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 10px !important;
    }

    .rmg-diagnostic-nav-h a {
        flex: 1 1 45% !important; /* 2列ボタン */
        font-size: 1.2rem !important;
        padding: 10px 5px !important;
        background: #fff !important;
        border: 1px solid var(--rmg-main) !important;
        color: var(--rmg-main) !important;
        border-radius: 4px !important;
        text-align: center !important;
        text-decoration: none !important;
    }

    /* 診断結果カードのデザインをPC版通りに復旧 */
    .rmg-diagnostic-results {
        display: block !important;
        margin-top: 30px !important;
    }

    .rmg-diag-card {
        width: 100% !important;
        background: #fff !important; /* 白背景 */
        border-radius: 4px !important; /* 角丸4px */
        box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important; /* PC版の影 */
        margin-bottom: 25px !important;
        padding: 25px !important;
        box-sizing: border-box !important;
        text-align: left !important; /* 左揃え */
    }

    .rmg-diag-card-h {
        color: var(--rmg-main) !important;
        font-weight: bold !important;
        font-size: 1.3rem !important;
        margin-bottom: 10px !important;
        display: block !important;
    }

    .rmg-diag-card-q {
        font-size: 1.4rem !important;
        margin-bottom: 15px !important;
        padding-bottom: 10px !important;
        border-bottom: 1px solid var(--rmg-border) !important;
    }

    .rmg-diag-answer {
        font-size: 1.8rem !important;
        color: var(--rmg-main) !important;
        font-weight: bold !important;
        margin: 15px 0 !important;
        display: block !important;
    }

    /* --- 8. まとめ（センター揃え・上下余白） --- */
    .rmg-summary-section {
        padding: 80px 0 !important;
        background-color: var(--rmg-bg) !important;
        text-align: center !important;
    }

    .rmg-summary-content p {
        text-align: center !important;
        font-size: 1.5rem !important;
        line-height: 1.8 !important;
    }

   /* --- 9. オンライン相談のメリット（PCデザイン継承・レスポンシブ） --- */
    .rmg-online-section {
        background-color: var(--rmg-bg) !important; /* PC同様の背景色 */
        padding: 60px 0 !important;
    }

    /* 白いカード部分 */
    .rmg-online-detail-card {
        background: #fff !important;
        border-radius: 4px !important;
        padding: 30px 20px !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
        box-sizing: border-box !important;
        text-align:center;
    }

    /* メリット3つの並びを縦に */
    .rmg-online-detail-card-m {
        display: block !important;
    }

    /* メリット各要素（点線区切りを横から下に変更） */
    .rmg-online-detail-card-box {
        width: 100% !important;
        border-right: none !important;
        border-bottom: 1px dashed var(--rmg-border) !important; 
        padding: 25px 0 !important;
        text-align: center !important;
    }

    .rmg-online-detail-card-box:first-child {
        padding-top: 0 !important;
    }

    .rmg-online-detail-card-box:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }

    .rmg-concierge-list {
        display: block !important;
        margin-top: 40px !important;
    }

    .rmg-concierge-list li {
        width: 100% !important;
        margin-bottom: 40px !important;
        padding: 0 !important;
        border-right: none !important;
        text-align: center !important;
    }

    .rmg-concierge-p {
        width: 140px !important;
        margin: 0 auto 15px !important;
        border-radius: 50% !important;
    }

    .rmg-concierge-name {
        font-size: 1.6rem !important;
        color: var(--rmg-main) !important;
        font-weight: bold !important;
    }

    .rmg-concierge-role {
        font-size: 1.2rem !important;
        margin-bottom: 10px !important;
    }
.rmg-online-detail-card-no{
    background: var(--rmg-main) !important;
    color: #fff !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px !important;
    font-weight: bold !important;
}
