
/* 横幅　20px + 650px + 20px + 20px + 230px + 20px = 960px + 2px */

html {
overflow-y:scroll;  /* Firefoxスクロールバー対策 */
scroll-behavior: smooth;
}

body {
 
}
body {
    -webkit-text-size-adjust: 100%;
}

#wrapper {
width:100%; 

font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
overflow:hidden;
}

img {
    image-rendering: -webkit-optimize-contrast;
}

/* :::::: toggle button (right):::::: */
#navTgl {
  display: none;
}
 
label.open,
label.close {
  cursor: pointer;
  position: fixed;
  top: 0;
  right: 0;
}
label.open {
    z-index: 999; /* これまで通り */
  }
  
  label.close {
    z-index: 998; /* 競合を回避 */
  }
.open {
  z-index: 1;
  width: 50px;
  height: 50px;
  line-height: 1.4;
  color: white;
  padding-bottom: 0px;
  background: #08730d;
  font-size: 2.2em;
  text-align: center;
  -webkit-transition: background-color .6s, -webkit-transform .6s;
  transition: background-color .6s, transform .6s;
}
#navTgl:checked + .open {
  background: #08730d;
  -webkit-transform: translateX(-270px);
  transform: translateX(-270px);
}
.close {
  pointer-events: none;
  z-index: 1;
  width: 100%;
  height: 100%;
  transition: background-color .6s;
}
#navTgl:checked ~ .close {
  pointer-events: auto;
  background-color: rgba(0,0,0,.3);
}
/* :::::: drawer menu :::::: */
.menu {
  z-index: 1;
  position: fixed;
  top: 0;
  right: 0;
  width: 270px;
  height: 100%;
  background: #ffffff;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: -webkit-transform .6s;
  transition: transform .6s;
  padding: 10px 0px;
  font-size: 0.9rem;
  line-height: 1.8;
  color: #333;
}




/* :::::: newmenu :::::: */
nav.menu ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
    }

    nav.menu ul li {
        display: block;
        border: 1px dashed #ccc;
        border-width: 0 0 1px;
    }

    nav.menu ul li:last-child {
        border-width: 0;
    }

    nav.menu ul li a {
        color: #524738;
        text-decoration: none;
        line-height: 25px;
        padding: 7px 20px;
        display: block;
        margin: 5px 0;
    }

    nav.menu ul li a.active {
        color: #fff;
        background-color: #524738;
    }

    .sub_menu_wrap {
        display: none;
        position: relative;
        z-index: 999;
        list-style-type: none;
    margin: 0;
    padding: 0;
    }


    .has_sub_menu_mobile.active .sub_menu_wrap {
        display: block;
      }

    .sub_menu_wrap li {
        background-color: #e8e8e8;
        border-color: #ccc !important;
    }

    .sub_menu_wrap li a {
        font-weight: normal;
        margin: 0 !important;
        padding: 5px 10px;
    display: block;
    color: #524738;
    text-decoration: none;
    }

/* ::::::  :::::: */


#navTgl:checked ~ .menu {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  z-index: 999;
}

.leftbox {
 width:100%;
 float:left;
 margin:10px 0px;
 }
 
.leftbox p {
 font-size:13px;
 padding:10px 10px 0px 10px;
 }
 
.rightbox {
 width:100%;
 float:right;
 margin:10px 0px;
 }

.rightbox p {
 font-size:13px;
 padding:10px 10px 0px 10px;
 }

/* 余白初期設定リセット */
p,h1,h2,h3,h4,h5,h6 {
margin:0;
padding:0;
}

p.txtp {
margin-top:1.0em;
margin-bottom:1.0em;
}

.right-lightness {
color:#666666;
font-size:12px;
font-weight:bold;
text-align:right;
margin-top:1.0em;
margin-bottom:1.0em;
}

a img {
border:none;
}

strong {
font-weight:normal;
}

span.b {
font-weight:bold;
}

span.red {
color:#ff0000;
}

span.brown {
color:#996633;
}

span.brownst {
color:#996633;
font-weight:bold;
margin-left:7px;
}

#header {
width:100%; /*IE5.5用*/
width:/**/100%; /*モダン用*/
font-size:15px;

margin-left: auto;
margin-right: auto;
}

.headerlogo {
margin: 5px ;

}

.headerlogo a {
text-decoration:none;
}

.headerlogo img {
width:40%;
height: auto;
margin:5px 5px 5px 10px;
}

.nishikawa-logo {
margin-right:20px;
padding-bottom:2px;
}

#headcopy {
    font-size: 14px;
    color:#666666;
    letter-spacing:1px;
    line-height: 1.2;
    margin: 0 10px;
}
span.tgb {
    font-size: 18px;
    color: #08730d;
    font-weight: bold;
}



.headerlink {
display: none;
}

.headerlink a {
font-size:12px;
text-decoration:none;
color:#cc6600;
border-left:solid 1px #dcdcdc;
padding-top:7px;
}

.headerlink a img {
padding-left:10px;
padding-right:10px;
margin-top:5px;
}

#menuback {
    display: none;
}

.mainmenu {
width: 920px;
margin: 0 auto;
font-size:14px;
color:#6F9335;
padding-top:0px;
padding-left:0px;
box-sizing: border-box;
transition: all 0.8s ease 0s;
}

.mainmenu li {
letter-spacing: 0.05em;
padding: 5px 3px 0px 3px;
margin: 0px 5px 0px 0px;
width: 100px;
    height:30px;
    float: left;
    text-align: center;
    position: relative;
    list-style: none;
}



.mainmenu li a {
    color: #6F9335;
    text-decoration: none;
    color: #6F9335;
    display: block;
    position: absolute;
    width: 100%;
    height: 80%;
    padding-top: 10px;
    font-size: 14px;
    line-height: 1.9;
}

.mainmenu li a:hover {
color:#6F9335;
    border-bottom:dotted 2px #6F9335;
text-decoration:none;

}

.mainmenu img {
border:none;
}


.mainmenu-under-goods {
width: 96%;
margin: 0 auto;
font-size:11px;
padding:0px 10px 10px;
clear: both;
}

.mainmenu-under-goods a {
color:#cc6600;
}

.mainmenu-under-goods a:hover {
color:#99cc00;
text-decoration:none;
}

.mainmenu-under-goods span {
margin-left:0px;
margin-right:0px;
}

#container {
width:100%; 
background-color: #f5f5f5;
height: auto;
margin:0px auto;
padding:10px 0;
clear: both;
}
#container img {
    width: 100%;
    height: auto;
}



#main {
width:92%;
margin:0px auto;
padding-bottom:0px;
padding-left: 2%; 
padding-right: 2%;
text-align:left;
min-height:700px; /* 最小高さ指定 FireFox、IE7から対応プロパティ 将来は900pxぐらいに変更予定 */
_height:710px; /* 最小高さ指定IE6以下ハック */
background-color: #fff;
}

#main a:hover {
color:#99cc00;
text-decoration:underline;
}

#main-inner {
    background-color: #fff;
    margin:0px auto 20px;
    padding:20px 5px;

}


h1.page {
    margin: 0 0 15px;
    font-size: 22px;
    clear: both;
    font-weight: bold;
}

h2.page {
    padding: 0 0 12px;
    clear: both;
    border-bottom: 1px solid #efefef;
    font-size: 20px;
    margin: 2em 0 1em;
}

h3.page {
    clear: both;
    border-left: 5px solid #e5e5e5;
    padding: 0 13px;
    font-size: 18px;
    margin: 2em 0 1em;
}

#main p {
    margin: 0 0 1.6em;
    line-height: 1.7;
    font-size:14px;
    color:#383838;
    letter-spacing: 0.05em;
}

#main-inner ul {
    padding:10px 0 10px 25px;
    color:#383838;
}
#main-inner ul li {
    margin:5px 0;
}

.top_content_inner {
    background-color: #f7f7f7;
    padding:20px 5px;
    margin:10px 0;
}

.top_content_inner p {
    background-color: #f7f7f7;
    margin:10px 0 20px;
    font-size:14px;
}


.top_2col_pic {
    width:45%;
    display: inline-block;
    vertical-align: top;
    margin:5px 2%;
    font-size:0;
}
.top_2col_pic img {
    width:100%;
}

.w150 {
    width:150px!important;
}


.topcontainer {
margin-top:20px;
margin-bottom:20px;
}

* {
margin:0;
padding:0;
border:0;
}

.h2-image {
line-height:1.8em;
border-bottom:solid 2px #116845;
margin-top:35px;
padding-bottom:5px;
text-indent:8px;
}

.h2-image-goods {
line-height:1.8em;
border-bottom:solid 2px #116845;
margin-top:25px;
padding-bottom:5px;
text-indent:8px;
}

.h2-image-other {
line-height:1.8em;
border-bottom:dotted 1px #666666;
margin-top:35px;
padding-bottom:5px;
text-indent:8px;
}

.h2-txt {
line-height:1.8em;
border-bottom:solid 2px #116845;
margin-top:25px;
margin-bottom:10px;
padding-bottom:5px;
text-indent:8px;
}

h2 {
font-size:17px;
color:#333333;
line-height:1.4em;
}

h2.bl {
font-size:20px;
color:#333333;
line-height:1.7em;
border-bottom:solid 5px #116845;
padding: 10px 0px 5px;
letter-spacing: 0.1em;
}

h3 {
font-size:17px;
color:#333333;
line-height:1.4em;
}

h3.bl {
font-size:17px;
color:#fff;
line-height:1.4em;
background-color: #116845;
padding: 10px;
margin: 20px 0px;
letter-spacing: 0.1em;
}

.h3-txt {
line-height:1.8em;
border-bottom:dotted 1px #666666;
margin-top:25px;
margin-bottom:10px;
padding-bottom:5px;
text-indent:8px;
}

.h3-txt h3 {
font-size:15px;
color:#333333;
line-height:1.4em;
}

.h3-txt-noindent {
line-height:1.8em;
border-bottom:dotted 1px #666666;
margin-top:10px;
margin-bottom:10px;
padding-bottom:5px;
}

.h3-txt-noindent h3 {
font-size:15px;
color:#333333;
line-height:1.4em;
}

.h3-faq {
line-height:1.8em;
border-bottom:dotted 1px #666666;
margin-top:25px;
margin-bottom:10px;
padding-bottom:4px;
text-indent:8px;
background-image:url(images/icon-q.gif);
background-position:left top;
background-repeat:no-repeat;
}

.h3-faq h3 {
font-size:15px;
color:#333333;
line-height:1.5em;
text-indent:2.0em;
}

.hct1-faq {
float:left;
width:0px;
height:20px;
font-size:12px;
line-height:1.5em;
color:#555555;
margin-bottom:20px;
background-image:url(images/icon-a.gif);
background-position:10px 0px;
background-repeat:no-repeat;
}

.hct1-faq p {
margin-top:10px;
margin-bottom:10px;
padding-left:10px;
}

.hct1-faq ul {
padding-left:20px;
}

.hct2-faq {
float:right;

font-size:12px;
line-height:1.5em;
color:#555555;
margin-bottom:20px;
}

.hct2-faq p {
margin-top:10px;
margin-bottom:10px;
}

.hct2-faq ul {
padding-left:20px;
}

.hct1-flow {
float:left;

font-size:12px;
line-height:1.5em;
color:#555555;
margin-bottom:20px;
}

.hct1-flow p {
margin-top:10px;
margin-bottom:10px;
padding-left:10px;
}

.hct1-flow ul {
padding-left:20px;
}

.hct2-flow {
float:right;
width:200px;
font-size:12px;
line-height:1.5em;
color:#555555;
margin-bottom:20px;
}

.hct2-flow p {
margin-top:10px;
margin-bottom:10px;
}

.hct2-flow ul {
padding-left:20px;
}

p.h2under {
font-size:12px;
color:#555555;
text-indent:10px;
margin-top:15px;
margin-bottom:22px;
}

p.h3under {
font-size:12px;
color:#555555;
margin-top:15px;
margin-left:10px;
margin-bottom:22px;
line-height:1.7em;
}

p#h2under-goods {
font-size:12px;
color:#555555;
text-indent:10px;
margin-top:0px;
margin-bottom:22px;
background-color:#e8e8e8;
padding-top:9px;
padding-bottom:5px;
padding-left:10px;
padding-right:10px;
height:16px;
}

table.h2-title td {
padding-right:10px;
padding-top:15px;
padding-bottom:15px;
vertical-align:middle;
}

table.h2-title td img {
border:solid 1px #cccccc;
}

table.h2-title td a:hover img {
border:solid 1px #99cc00;
}

hr {
border:dotted 1px #cccccc;
}

.spline {
line-height:1.8em;
border-bottom:dotted 1px #666666;
margin-top:35px;
margin-bottom:35px;
text-indent:8px;
}

.spline2 {
line-height:1.8em;
border-bottom:dotted 1px #666666;
margin-top:10px;
margin-bottom:10px;
text-indent:8px;
}

span.txt-h001 {
color:#333366;
font-weight:bold;
}

.goods-01-st {
float:left;
width:126px;
height:170px;
padding-top:10px;
border-right:dotted 1px #cccccc;
border-bottom:dotted 1px #cccccc;
}

.goods-01-st p {
font-size:11px;
line-height:1.3em;
margin-top:3px;
padding-left:15px;
padding-right:15px;
text-align:left;
}

.goods-01-end {
float:left;
width:126px;
height:170px;
padding-top:10px;
border-bottom:dotted 1px #cccccc;
}

.goods-01-end p {
font-size:11px;
line-height:1.3em;
margin-top:3px;
padding-left:15px;
padding-right:15px;
text-align:left;
}

.goods-02-st {
float:left;
width:126px;
height:170px;
padding-top:10px;
border-right:dotted 1px #cccccc;
}

.goods-02-st p {
font-size:11px;
line-height:1.3em;
margin-top:3px;
padding-left:15px;
padding-right:15px;
text-align:left;
}

.goods-02-end {
float:left;
width:126px;
height:170px;
padding-top:10px;
}

.goods-02-end p {
font-size:11px;
line-height:1.3em;
margin-top:3px;
padding-left:15px;
padding-right:15px;
text-align:left;
}

span.kakaku {
font-size:11px;
color:#ff6347;
}

.stronglist {

margin-top:20px;
margin-bottom:20px;
/*background-image:url(images/hanzam.jpg);
background-position:95% 60px;
background-repeat:no-repeat;*/
}

.stronglist li {
list-style-type:none;
padding-bottom:15px;
margin-bottom:15px;
border-bottom:dotted 1px #999999;
}

.stronglist li img {
margin-left:20px;
}

.stlitxt {
padding-left:20px;
padding-right:20px;
margin-top:5px;
margin-left:32px;
font-size:12px;
line-height:1.6em;
color:#555555;
background-image:url(images/txtbkbd.gif);
background-repeat:repeat-y;
}

.stlitxt2 {
padding-left:0px;
padding-right:0px;
margin-top:0px;
margin-left:0px;
font-size:12px;
line-height:1.5em;
color:#555555;
background-image:url(images/txtbkbd.gif);
background-repeat:repeat-y;
}

#accordion {
border:solid 1px #cccccc;
width:600px;
margin-left:25px;
}

#accordion dt {
line-height:25px;
font-size:12px;
text-indent:2em;
color:#555555;
height:24px;
background:url(images/ac01.gif);
border-bottom:solid 1px #999999;
}

#accordion dt.over {
background:url(images/ac03.gif);
cursor:pointer;
}

#accordion dt.selected {
background:url(images/ac02.gif);
cursor:default;
color:#555555;
font-weight:bold;
}

#accordion dd {
margin:0;
height:245px;
}

#accordion dd p {
margin:0;
padding-left:20px;
padding-right:20px;
padding-top:15px;
font-size:12px;
color:#444444;
line-height:1.7em;
}

#accordion dd b {
color:#996633;
}

#accordion dd#ac-kake {
background:url(images/ac-back-01.gif);
background-position:300px 50px;
background-repeat:no-repeat;
background-color:#fffff0;
}

#accordion dd#ac-shiki {
background:url(images/ac-back-02.gif);
background-position:280px 65px;
background-repeat:no-repeat;
background-color:#fffff0;
}

#accordion dd#ac-cover {
background:url(images/ac-back-03.gif);
background-position:370px 20px;
background-repeat:no-repeat;
background-color:#fffff0;
}

#accordion dd#ac-makura {
background:url(images/ac-back-04.gif);
background-position:320px 55px;
background-repeat:no-repeat;
background-color:#fffff0;
}

.brand {
float:left;

height:120px;
margin-right:12px;
text-align:left;
font-size:11px;
}

.brand a p {
margin-left:5px;
margin-right:5px;
color:#777777;
line-height:1.4em;
}

.brand a:hover p {
color:#99cc00;
text-decoration:underline;
}

.brand img {
border:solid 1px #cccccc;
}

.brand a:hover img {
border:solid 1px #99cc00;
}

table.corp-info th {
    font-weight:normal;
    text-align: left;
    padding:10px 10px 10px 0;
}

.txtcontainer {
margin-top:20px;
margin-bottom:20px;
padding-left:2px;
padding-right:2px;
}

.txtcontainer p {
margin-bottom:5px;
line-height:1.9em;
font-size:14px;
color:#333333;
}

.txtcontainer table {
font-size:13px;
color:#333333;
line-height:1.5em;
}

.txtcontainer table th {
background-color:#f5f5f5;
padding-top:5px;
padding-bottom:5px;
padding-left:10px;
padding-right:10px;
text-align:left;
vertical-align:top;
color:#333333;
}

.txtcontainer table td {
padding-top:5px;
padding-bottom:5px;
padding-left:10px;
padding-right:10px;
text-align:left;
vertical-align:top;
}

.txtcontainer ul {
list-style-type:disc;
}

.txtcontainer ul li {
font-size:13px;
color:#333333;
margin-left:20px;
margin-bottom:1.0em;
line-height:1.5em;
}

.txtcontainer dl {
line-height:1.5em;
font-size:15px;
color:#333333;
}

.txtcontainer dt {
font-weight:bold;
margin-top:10px;
}

.txtcontainer dd {
text-indent:1.5em;
}

.txtcontainer a {
color:#cc6600;
text-decoration:none;
}

.txtcontainer a:hover {
color:#99cc00;
}

.txtcontainer a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

.txtcontainer a:hover a {
color:#333333;
}

.txtcontainer-waku {
margin-top:20px;
margin-bottom:20px;
padding:20px;
border:solid 1px #cccccc;
}

.txtcontainer-waku p {
line-height:1.7em;
font-size:13px;
color:#333333;
margin:1.0em 1.0em;
}

p.staff-coment {
line-height:1.7em;
font-size:13px;
color:#333333;
}

.txtcontainer-waku a {
color:#cc6600;
text-decoration:none;
}

.txtcontainer-waku a:hover {
color:#99cc00;
}

.txtcontainer-waku a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

.txtcontainer-waku a:hover a {
color:#333333;
}

table.pat2 {
font-size:13px;
color:#333333;
line-height:1.5em;
border:solid 1px #cccccc;
}

table.pat2 th {
background-color:#f5f5f5;
padding-top:5px;
padding-bottom:5px;
padding-left:10px;
padding-right:10px;
text-align:center;
vertical-align:top;
color:#333333;
border:solid 1px #cccccc;
}

table.pat2 td {
padding-top:5px;
padding-bottom:5px;
padding-left:10px;
padding-right:10px;
text-align:left;
vertical-align:top;
border:solid 1px #cccccc;
}

ul.list-banner {
list-style-type:none;
margin-left:-20px;
}

ul.list-banner li {
margin-bottom:5px;
}

ul.list-banner li a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

table.accessmap {
border:0;
padding:10px;
}

table.accessmap tr {
vertical-align:top;
}

table.accessmap td {
font-size:13px;
line-height:1.5em;
}

table.accessmap td.label {
background-color:#dcdcdc;
font-size:15px;
}

table.mailform th {
text-align:right;
padding:10px;
}

table.mailform th img {
margin-right:10px;
}

table.mailform textarea {
border:solid 1px #555555;
}

table.mailform td {
padding:10px;
}

table.mailform-submit td {
text-align:center;
padding:10px;
width:645px;
}

table.txtd td {
padding:2px 5px 2px;
}

textarea {
border:solid 1px #555555;
}

dl.top_faq {
    font-size:14px;
}


dl.top_faq dt {
    padding: 2px 0 10px 60px;
    margin: 40px 0 10px;
    text-indent: 0px;
    line-height: 1.8;
    color: #383838;
    letter-spacing: 0.05em;
    background-image: url(/images/home/faq-q.png);
    background-repeat: no-repeat;
    background-size: 30px;
}

dl.top_faq dd {
    padding: 4px 0 10px 60px;
    margin: 0 ;
    line-height: 1.8;
    color: #383838;
    letter-spacing: 0.05em;
    background-image: url(/images/home/faq-a.png);
    background-repeat: no-repeat;
    background-size: 30px;
}

/* 以降、goodsページ用 */

#goods-image-main {
width:329px;
}

#goods-image-navi {
width:329px;
margin-top:8px;
}

#goods-image-navi ul {
list-style-type:none;
}

#goods-image-navi ul li {
float:left;
}

#goods-image-navi li img {
margin-right:8px;
margin-bottom:15px;
}

#goods-image-navi ul li.last img {
margin-right:0px;
margin-bottom:15px;
}

#goods-image-other {
width:329px;
margin-top:8px;
}

#goods-image-other ul {
list-style-type:none;
}

#goods-image-other ul li {
float:left;
}

#goods-image-other li img {
margin-right:8px;
margin-bottom:15px;
}

#goods-image-other ul li.last img {
margin-right:0px;
margin-bottom:15px;
}

#glayLayer {
display:none;
position:fixed;
top:0;
left:0;
height:100%;
width:100%;
background:black;
opacity: 0.60;
filter:alpha(opacity=60);
cursor:pointer;
}

#overLayer {
display:none;
position:fixed;
top:50%;
left:50%;
margin-top:-244px;
margin-left:-215px;
padding:10px;
background:white;
cursor:pointer;
}

* html #glayLayer {
position:absolute;
}

* html #overLayer {
position:absolute;
}

#carouselWrap {
margin-top:20px;
margin-bottom:20px;
margin-left:10px;
width:620px;
height:135px;
padding:5px;
background:url(images/c-bg.gif);
background-repeat:no-repeat;
position:relative;
}

#carouselPrev {
position:absolute;
top:55px;
left:-8px;
cursor:pointer;
}

#carouselNext {
position:absolute;
top:55px;
right:-8px;
cursor:pointer;
}

#carousel {
width:100%;
height:100%;
overflow:hidden;
}

#carouselInner ul.column {
width:605px;
height:106px;
padding:12px 0 5px 24px;
list-style-type:none;
float:left;
}

#carouselInner ul.column li {
float:left;
margin-right:19px;
display:inline;
}

#carouselInner ul.column li img {
border:none;
}

#carouselInner ul.column li a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

#carouselInner ul.column li p {
font-size:11px;
line-height:1.4em;
text-decoration:none;
color:#cc6600;
width:76px;
margin-top:3px;
}

#carouselInner ul.column li a {
text-decoration:none;
}

#carouselInner ul.column li a:hover p {
color:#99cc00;
text-decoration:underline;
}

.kanren {
float:left;
width:92px;
height:140px;
margin-right:14px;
padding-bottom:30px;
text-align:left;
font-size:11px;
}

.kanren a p {
margin-left:5px;
margin-right:5px;
color:#cc6600;
line-height:1.4em;
}

.kanren a:hover p {
color:#99cc00;
text-decoration:underline;
}

.kanren img {
border:solid 1px #cccccc;
width:90px;
height:68px;
}

.kanren a:hover img {
border:solid 1px #99cc00;
}

#cart-area-wrap {
background-color:#fafad2;
border:solid 1px #cccccc;
padding:5px;
}

.cart-area {
background-color:#f5f5dc;
border:dashed 1px #cccc99;
padding-top:10px;
padding-left:10px;
padding-right:10px;
font-size:12px;
}

.goods-no {
font-size:12px;
font-weight:bold;
color:#996633;
line-height:1.5em;
border-bottom:dashed 1px #cccc99;
padding-bottom:7px;
}

span.gn {
margin-left:5px;
}

.carttitle {
font-size:12px;
font-weight:bold;
color:#996633;
line-height:1.5em;
border-bottom:dashed 1px #cccc99;
padding-top:7px;
padding-bottom:7px;
}

.price {
font-size:15px;
font-weight:bold;
color:#996633;
line-height:1.5em;
border-bottom:dashed 1px #cccc99;
padding-top:7px;
padding-bottom:7px;
text-align:right;
}

.price2 {
font-size:15px;
font-weight:bold;
color:#ff0000;
line-height:1.5em;
border-bottom:dashed 1px #cccc99;
padding-top:7px;
padding-bottom:7px;
text-align:right;
}

.price-sub {
font-size:12px;
font-weight:normal;
color:#996633;
line-height:1.5em;
padding-top:7px;
padding-bottom:0px;
text-align:right;
}

span.taskin {
margin-left:5px;
font-size:12px;
}

.cart-source {
line-height:2.5em;
padding-top:5px;
padding-bottom:5px;
}

form select {
border-top:solid 1px #999999;
border-left:solid 1px #999999;
border-right:solid 1px #555555;
border-bottom:solid 1px #555555;
font-size:17px;
}

form input {
border-top:solid 1px #999999;
border-left:solid 1px #999999;
border-right:solid 1px #555555;
border-bottom:solid 1px #555555;
padding:7px;
font-size:17px;
}

.submitbtn {
text-align:right;
padding-top:10px;
padding-bottom:10px;
padding-right:0px;
border-top:dashed 1px #cccc99;
}

input.cart-btn {
border:0;
}

input.cart-btn:hover {
opacity:0.8;
filter:alpha(opacity=80);
-moz-opacity:0.8;
}

.spec ul {
margin-left:10px;
margin-bottom:20px;
list-style-type:none;
}

img.staffimg {
margin-top:5px;
margin-left:10px;
margin-bottom:10px;
}

img.stafftel {
margin-top:5px;
margin-left:0px;
margin-bottom:10px;
}

.goods-hb {
font-size:13px;
color:#996633;
font-weight:bold;
margin-bottom:5px;
}

p.submit-btn {
margin-top:5px;
}

table.goods-tb {
border:solid 1px #cccccc;

}

table.goods-tb td {
vertical-align:middle;
text-align:right;
}

/* goodsページ用終わり */

.hs {
font-size:13px;
color:#996633;
font-weight:bold;
line-height:1.7em;
}

.boxcontainer {

margin-top:20px;
margin-bottom:20px;
margin-left:0px;
}

.boxcontainer a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

.boxcontainer a {
color:#cc6600;
text-decoration:none;
}

.boxcontainer a:hover a {
color:#333333;
}

.boxcontainer-left {
font-size:11px;
line-height:1.8em;
color:#333333;
width:330px;
margin-bottom:20px;
margin-right:15px;
float:left;
}

.boxcontainer-left p {
margin-bottom:1.2em;
}

.boxcontainer-left a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

.boxcontainer-left a {
color:#cc6600;
text-decoration:none;
}

.boxcontainer-left a:hover a {
color:#333333;
}

.boxcontainer-right {
font-size:13px;
line-height:1.8em;
color:#333333;
width:303px;
margin-bottom:20px;
float:right;
}

.boxcontainer-right p {
margin-bottom:1.5em;
}

.boxcontainer-right a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

.boxcontainer-right a {
color:#cc6600;
text-decoration:none;
}

.boxcontainer-right a:hover a {
color:#333333;
}

#ui-tab span.tab {
font-size:16px;
}

.hct1 {
float:left;
width:300px;
font-size:12px;
line-height:1.5em;
color:#555555;
margin-bottom:20px;
}
.hct1 img {
    width: auto !important;
}

.hct1 p {
margin-top:10px;
margin-bottom:10px;
padding-left:10px;
}

.hct1 ul {
padding-left:20px;
}

.hct2 {
float:right;
width:300px;
font-size:12px;
line-height:1.5em;
color:#555555;
margin-bottom:20px;
}

.hct2 p {
margin-top:10px;
margin-bottom:10px;
}

.hct2 ul {
padding-left:20px;
}

span.freedial {
font-weight:bold;
font-size:30px;
color:#ff4500;
}

p.staff-tel {
border:solid 2px #cccccc;
padding:10px;
font-size:12px;
line-height:1.9em;
color:#555555;
}

p.attention {
border:dotted 2px #bdb76b;
padding:10px;
font-size:12px;
line-height:1.9em;
color:#777777;
margin-top:15px;
}

p.attention-goods {
border:solid 2px #ff6347;
padding:10px;
font-size:12px;
line-height:1.9em;
color:#ff6347;
}

table.brand a img {
color:#cccccc;
text-decoration:none;
border:solid 1px;
}

table.brand a:hover img {
color:#99cc00;
border:solid 1px;
}

.brand-ib {
    width:48%;
    display: inline-block;
    text-align: center;
    font-size: 12px;
}

#sub {

width:100%;
padding-left:0px; /*IE5.5用*/
padding-right:0px;　/*IE5.5用*/
padding-left:/**/20px; /*モダン用*/
padding-right:/**/20px; /*モダン用*/
margin-bottom:20px;
text-align:left;
font-size:14px;
line-height:1.7;
color:#444444;
}

#sub a {
color:#cc3300;
text-decoration:none;
}

#sub a:hover {
color:#99cc00;
text-decoration:underline;
}

.subhead-div {
margin:20px 10px;
line-height:1.8em;
}

.subhead-div a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

p.subhead {
font-size:14px;
font-weight:bold;
color:#555555;
border-bottom:solid 2px #666666;
margin-bottom:25px;
_margin-bottom:15px;
text-indent:13px;
}

.subhead-div2 {
margin-top:10px;
margin-bottom:0px;
line-height:1.8em;
}

.subhead-div2 a:hover img {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7;
}

#sidemenu1 {
background-color:#e8e8e8;
padding-left:15px;
padding-right:15px;
padding-top:20px;
padding-bottom:5px;
margin-top:20px;
margin-bottom:20px;
}

#sidemenu2 {
background-color:#e8e8e8;
padding-left:15px;
padding-right:15px;
padding-top:20px;
padding-bottom:5px;
margin-top:20px;
margin-bottom:20px;
}

#sidemenu3 {
background-color:#e8e8e8;
padding-left:15px;
padding-right:15px;
padding-top:20px;
padding-bottom:5px;
margin-top:20px;
margin-bottom:20px;
}

#sidemenu4 {
background-color:#e8e8e8;
padding-left:15px;
padding-right:15px;
padding-top:20px;
padding-bottom:5px;
margin-top:20px;
margin-bottom:20px;
}

#sidemenu5 {
background-color:#e8e8e8;
padding-left:15px;
padding-right:15px;
padding-top:20px;
padding-bottom:5px;
margin-top:20px;
margin-bottom:20px;
}

#sidemenu6 {
background-color:#e8e8e8;
padding-left:15px;
padding-right:15px;
padding-top:20px;
padding-bottom:5px;
margin-top:20px;
margin-bottom:20px;
}

.sidemenutitle {
margin-top:0px;
margin-bottom:15px;
}

#sidemenu ul {
margin-top:0px;
margin-bottom:20px;
list-style-type: none;
}

#sidemenu1 li {
line-height:1.0em;
list-style-type:none;
margin-top:0px;
margin-bottom:10px;
margin-left:15px;
padding-right:15px;
padding-left:17px;
padding-top:1px;
padding-bottom:1px;
color:#333333;
background:url(images/star.gif) no-repeat 0 2px;
_height:100%　/*背景画像をIE6で確実に出現させるためのハック*/
}

#sidemenu2 li {
line-height:1.0em;
list-style-type:none;
margin:0 15px 20px;
padding-right:15px;
padding-left:17px;
padding-top:1px;
padding-bottom:1px;
color:#333333;
background:url(images/star.gif) no-repeat 0 2px;
_height:100%　/*背景画像をIE6で確実に出現させるためのハック*/
}

#sidemenu3 li {
line-height:1.0em;
list-style-type:none;
margin:0 15px 20px;
padding-right:15px;
padding-left:17px;
padding-top:1px;
padding-bottom:1px;
color:#333333;
background:url(images/star.gif) no-repeat 0 2px;
_height:100%　/*背景画像をIE6で確実に出現させるためのハック*/
}

#sidemenu4 li {
line-height:1.0em;
list-style-type:none;
margin:0 15px 20px;
padding-right:15px;
padding-left:17px;
padding-top:1px;
padding-bottom:1px;
color:#333333;
background:url(images/star.gif) no-repeat 0 2px;
_height:100%　/*背景画像をIE6で確実に出現させるためのハック*/
}

#sidemenu5 li {
line-height:1.0em;
list-style-type:none;
margin-top:0px;
margin-bottom:10px;
margin-left:15px;
padding-right:15px;
padding-left:17px;
padding-top:1px;
padding-bottom:1px;
color:#333333;
background:url(images/star.gif) no-repeat 0 2px;
_height:100%　/*背景画像をIE6で確実に出現させるためのハック*/
}

#sidemenu6 li {
line-height:1.0em;
list-style-type:none;
margin-top:0px;
margin-bottom:10px;
margin-left:15px;
padding-right:15px;
padding-left:17px;
padding-top:1px;
padding-bottom:1px;
color:#333333;
background:url(images/star.gif) no-repeat 0 2px;
_height:100%　/*背景画像をIE6で確実に出現させるためのハック*/
}

.menunest {
margin-top:10px;
margin-left:-15px;
margin-bottom:-10px;
}

.sideform {
margin-bottom:20px;
}

.login_mail {
width:150px;
}

.login_pass {
width:150px;
}

.keyword {
width:150px;
}

.search-price {
width:60px;
}

.goods-search {
margin-top:15px;
}

.goods-search a {
border-bottom:solid 1px;
line-height:1.5em;
font-size:15px;
}

.reform-order {
width:250px;
background-color:#dcdcdc;
padding-top:10px;
padding-bottom:10px;
text-align:center;
margin-top:20px;
margin-bottom:20px;
margin-left:370px;
font-size:13px;
color:#666666;
line-height:1.5em;
}

.reform-order span.b {
font-size:14px;
color:#555555;
}

.reform-order img:hover {
opacity:0.8;
filter:alpha(opacity=80);
-moz-opacity:0.8;
}

#footerarea {
    background-color:#dcdcdc;
    width: 100%;
    clear: both;
}

#footer {
clear:both;
width:100%; /*IE5.5用*/
padding-top:30px;
font-size:13px;
color:#ffffff;
text-align:left;
margin: 0 auto;
}

#footer a {
text-decoration:none;
color:#000;
}

#footer a:hover {
color:#000;
text-decoration:underline;
}

.footer_menu {
    padding:0px 4% 40px;
    font-size:14px;
    color:#000;
}

.footer_menu ul {
    width:100%;

}

.footer_menu ul li {
    list-style-type: circle;
    padding:5px 0;
    width:49%;
    display: inline-block;

}

.footertext {
line-height:1.6em;
width:100%;
margin: 0 5px;
}

.rightlink {
margin: 0 5px;
}

.rightlink a {
text-decoration:solid 1px;
}

/* 以下、pagination 関連 */
.pagination {
font-size: 80%;
}

.pagination a {
    text-decoration: none;
	border: solid 1px #cc6600;
	color: #cc6600;
}

.pagination a, .pagination span {
display: block;
float: left;
padding: 0.3em 0.5em;
margin-right: 5px;
margin-bottom: 5px;
min-width:1em;
text-align:center;
}

.pagination .current {
background: #cc6600;
color: #fff;
border: solid 1px #cc6600;
}

.pagination .current.prev, .pagination .current.next{
color:#999;
border-color:#999;
background:#fff;
}

.searchresult_pagination {
padding-top:20px;
padding-bottom:20px;
}

/* 以下、productタブ関連 */
#ui-tab .txtcontainer td {
text-align:center;
}

h2.top {
     font-family:'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,sans-serif;
     letter-spacing: 0.05em;
     color:#333333;
     font-size:20px;
     font-weight:bold;
     margin-top:0px;
     line-height:1.6;
     border-top: solid 4px #333;
     border-bottom:solid 2px #333;
     padding: 15px 0px ;
}

p.page-top {
    position: fixed;
    right: 2px;
    bottom: 50px;
    width: 106px;
    color: #FFF;
    font-size: 1em;
    font-weight: bold;
}

#recentpost li{
	overflow:hidden;
	margin:10px 2px 0px 10px;
    width: 160px;
    float: left;
}

#recentpost img{
	float:left;
	padding:5px 0px 5px 10px;
}

#recentpost .title{
	width:150px;
	float:left;
	padding:5px 0px 5px 10px;
        font-size:12px;
}

#recentpost li:hover{
}

#recentpost li:hover .title{
}

#recentpost li:hover .title a{
}

#recentpost li:hover .date{
}

h3.top {
     font-family:'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,sans-serif;
     letter-spacing: 0.1em;
     border-left: solid 6px #555555;
     color: #333333;
     font-weight:bold;
     font-size:18px;
     margin-top:0px;
     padding: 10px 0px 8px 10px;
     line-height:1.6;
}

h3.topfoot {
     font-family:'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,sans-serif;
     letter-spacing: 0.1em;
     border-left: solid 6px #fff;
     color: #fff;
     font-weight:bold;
     font-size:18px;
     margin-top:0px;
     padding: 10px 0px 8px 10px;
     line-height:1.6;
}

.topinfo {
     font-family: "Times New Roman", "à¾©", YuMincho, "Hiragino Mincho ProN", Meiryo, serif; 
     letter-spacing: 0.1em;
     color:#333333;
     font-size:20px;
     font-weight:normal;
     margin-top:0px;
     line-height:1.6;
     border-bottom:dashed 1px #73a5d6;
}
span.txtg {
    color: #118b40;
    font-weight: bold;
}

h2.mouri {
    font-size: 24px;
    font-weight: bold;
    border-bottom: solid 5px #f4b916;
    margin: 20px 0px;
}

h3.mouri {
	position: relative;
    font-size: 20px;
    font-weight: bold;
	padding: 27px 25px 20px;
    margin: 30px 0px;
	background: #f4b916;
	z-index: 0;
}
h3.mouri:after {
	content: "";
	position: absolute;
	bottom: -10px; left: 50%;
	margin-left: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #f4b916 transparent transparent transparent;
}

table.topbrand td {
    padding: 5px 10px;
}

h3.wall {
    font-size: 22px;
    color: #2f4f4f;
    border-bottom: solid 1px #2f4f4f;
    margin: 10px 0px;
}

.map_pc {
    display: none;
}

#bxsd {
    width: 100%;
}

ul.bxslider {
    width: 96% !important;
}
.bx-pager {
    width: 96% !important;
}

.imgauto {
    width: auto !important;
}

.bx-wrapper {
    box-shadow: none !important;
    margin: 10px 0px 30px !important;
    
}

.topbnarea td {
    width: 50%;
}

#oshirase {
    display: none;
}

#oshirase_sp {
    display:none;
    width:94%;
    margin:0 auto;
    height:300px;
    clear: both;
}
.info ul li {
    width:350px;
    margin-bottom: 10px;
    padding-top: 0px;
    padding-left: 20px;
    line-height: 1.5em;
    color: #555555;
}

h2.flow {
    color: #15511d;
    font-weight: bold;
    font-size: 22px;
}

.footer_area {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100% !important;
    max-height: 90px;
    background-color: rgba( 0, 0, 0, 0.6 );
	z-index: 10000;
}

.footer_area img {
    width: 100% !important;
}   
   
.footer_area .footer_area_inner {
    position: relative;
    width: 100%;
    margin: 0px auto;
    padding: 0px;
	margin-right: 0px;
}

h2.hukinuke {
    font-family: Meiryo;
    font-size: 20px;
    font-weight: normal;
    letter-spacing: 0.1em;
    border: solid 1px #2f4f4f;
    color: #2f4f4f;
    padding: 10px 20px;
    margin: 20px 10px;
    text-align: center;
}

h3.hukinuke {
    font-family: Meiryo;
    font-size: 22px;
    font-weight: normal;
    letter-spacing: 0.1em;
    border-top: solid 1px #2f4f4f;
    border-bottom: solid 1px #2f4f4f;
    color: #2f4f4f;
    padding: 10px 5px;
    margin: 20px 0px;

}

h3.hukinukeqa {
padding: 0.5em;/*文字周りの余白*/
color: #494949;/*文字色*/

border-left: solid 5px #2f4f4f;/*左線（実線 太さ 色）*/

font-size: 16px;
}

.box26 {
    position: relative;
    margin: 2em 10px;
    padding: 0.5em 1em;
    border: solid 2px #2f4f4f;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 15px;
    padding: 0 9px;
    line-height: 1;
    font-size: 17px;
    background: #FFF;
    color: #2f4f4f;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 10px;
}

.boxkanren {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #2f4f4f;
}
.boxkanren .box-title {
    position: absolute;
    display: inline-block;
    top: -35px;
    left: -3px;
    padding: 5px 10px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 16px;
    background: #2f4f4f;
    color: #ffffff;
    font-weight: normal;
    border-radius: 5px 5px 0 0;
}
.boxkanren ul {
    margin: 0; 
    padding: 10px 5px 10px 10px;
    font-size: 15px!important;
}
.boxkanren ul li {
    margin: 5px 0px;
    font-size: 15px!important;
}

.box29 {
    margin: 2em 0;
    background: #dcefff;
}
.box29 .box-title {
    font-size: 1.0em;
    background: #ffdab9;
    padding: 8px 0 4px;
    text-align: center;
    color: #333333;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box29 p {
    padding: 15px 20px;
    margin: 0;
}

ul.toplists {
    background: #faf0e6;
    border: solid 1px #ffdab9;
    padding: 20px 15px 5px;
    margin: 20px 0;
    position: relative;
}

ul.toplists li {
  line-height: 1.5;
  padding: 0.5em 0.3em;
}


ul.toplists-koe {
    background: #faf0e6;
    border: solid 1px #ffdab9;
    padding: 20px 15px 5px;
    margin: 20px 0;
    position: relative;
}

ul.toplists-koe li {
  line-height: 1.5;
  padding: 0.5em 0.3em;
}


ol.toplists {
    background: #faf0e6;
    border: solid 1px #ffdab9;
    padding: 20px 15px 5px 35px;
    margin: 0px 0px 20px;
    font-size: 0.9em;
}
ol.toplists li {
    margin: 1.2em;
}

.box8 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #232323;
    background: #fff8e8;
    border-left: solid 10px #ffc06e;
}
.box8 p {
    margin: 0; 
    padding: 0;
}

iframe {
  max-width: 100%;
}

.topmainb {
    display: none;
}

.slider-sp {
        margin: 10px 0;
        background-color: white;
        position: relative;
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
    }

.slider-sp {
    position: relative;
    
}
#topdescription {
    position: absolute;
    font-size: 1.3em;
    font-weight: bold;
    text-align: center;
    font-family: 'Comic Sans MS','Arial',sans-serif;
    color: #fff;
    text-shadow: 1px 1px 1px #000;
    width: 70%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border: solid 3px #fff;
    padding: 15px 10px;
    > div {
        width: 95%;
        margin: 0 auto;
        font-size: 0.8em;
        line-height: 1.7;
        padding: 100px 0;
    }
}
    
.slider-sp img {
	width: 100%;
	animation-name: slider;
	-webkit-animation-name: slider;
	animation-duration: 25s;
	-webkit-animation-duration: 25s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	opacity: 0;
}

.slider-sp .img1 {
	display: block;
	margin: 0 auto;
}
.slider-sp .img2 {
	animation-delay:5s;
	-webkit-animation-delay:5s;
	position: absolute;
    top: 0;
}
.slider-sp .img3 {
	animation-delay:10s;
	-webkit-animation-delay:10s;
	position: absolute;
    top: 0;
}
.slider-sp .img4 {
	animation-delay:15s;
	-webkit-animation-delay:15s;
	position: absolute;
    top: 0;
}
.slider-sp .img5 {
	animation-delay:20s;
	-webkit-animation-delay:20s;
	position: absolute;
    top: 0;
}
.slider-sp .img6 {
	animation-delay:25s;
	-webkit-animation-delay:25s;
	position: absolute;
    top: 0;
}
.slider-sp .img7 {
	animation-delay:30s;
	-webkit-animation-delay:30s;
	position: absolute;
    top: 0;
}
.slider-sp .img8 {
	animation-delay:35s;
	-webkit-animation-delay:35s;
	position: absolute;
    top: 0;
}
.slider-sp .img9 {
	animation-delay:40s;
	-webkit-animation-delay:40s;
	position: absolute;
    top: 0;
}

@keyframes slider {
	0% {
		opacity: 0;
	}
	
	12.5% {
		opacity: 1;
	}

	37.5% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

@-webkit-keyframes slider {
	0% {
		opacity: 0;
	}
	
	12.5% {
		opacity: 1;
	}

	37.5% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

.mapfooter {
    margin: 0 auto;
}

.footer-max {
    width: 100%;
    background: #333333;
    padding: 20px 0px;
}

.brand-box-sp {
    width: 100%;
    margin: 0 auto;
}
.brand-box {
    display: none;
}

table.newbrand a img {
color:#cccccc;
text-decoration:none;
border:solid 1px;
}

table.newbrand a:hover img {
color:#99cc00;
border:solid 1px;
}

table.newbrand  {
margin:15px 0px;
width: 100%;
}

table.newbrand tr {
width: 98%;
}

table.newbrand td {
padding: 7px;
width: 49%;
}

.box17{
    margin:2em 0;
    position: relative;
    padding: 0.5em 1.5em;
    border-top: solid 2px black;
    border-bottom: solid 2px black;
}
.box17:before, .box17:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 2px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: black;
}
.box17:before {left: 10px;}
.box17:after {right: 10px;}
.box17 p {
    margin: 0; 
    padding: 0;
}

ol.yakusoku {
    padding: 20px 0px 5px 15px;
    margin: 0px 0px 20px;
}
ol.yakusoku li {
    margin: 1.2em;
}

.box17 .box-title {
    font-size: 1.2em;
    padding: 12px 0 4px;
    text-align: center;
    color: #333333;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.voicetitle {
    background-color: #cccc99;
    padding: 7px 10px 5px;
    border: dotted 1px #999999;
    margin-bottom: 10px;
}

.footer_area {
    font-size: 12px !important;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba( 0, 0, 0, 0.7 );
	z-index: 10000;
}
.footer_area .footer_area_inner {
    font-size: 12px !important;
    display: inline;
    width: 31%;
    margin: 0px auto;
    padding: 5px 0;
	margin-right: 0px;

}
.footer_area .footer_area_inner .footer_area_inner_btn {
    width: 31%;
    padding: 11px 0;

    font-weight: bold;
    margin-left: 15px;
	line-height: 1.3;
   
}
.inquiry_btn {
    background-color: #005c7b;
    -webkit-border-radius: 3px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
	width: 31%;
    padding: 3px;
    margin: 1% 0;
    font-size: 12px !important;
    font-weight: bold;
    
}

.inquiry_btn_green {
    background-color: #2f9c52;
    -webkit-border-radius: 3px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
	width: 33%;
    padding: 6px 0px;
    margin: 1% 0.5% 1% 1%;
    font-size: 12px !important;
    font-weight: bold;
    line-height: 1.4;
}

.inquiry_btn_green:link, .inquiry_btn_green:visited {
    color: #FFFFFF !important;
}

.inquiry_btn_orange {
    background-color: #FEB20A;
    -webkit-border-radius: 3px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
	width: 30%;
    padding: 6px 0px;
    margin: 1% 0.5%;
    font-size: 12px !important;
    font-weight: bold;
    line-height: 1.4;
}


.inquiry_btn_orange:link, .inquiry_btn_orange:visited {
    color: #FFFFFF !important;
}

.footer_area_inner span{
	color: #fff;
}
.footercopy {
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 5px 0px 0px;
}

.topbar_sp {
    background: #08730d;
    color: #fff;
    margin: 0px 0px 15px !important;
    padding: 8px 5px 7px;
    text-align: left;
    font-size: 12px;
    text-align: center;
}

.topbar_sp a {
    color: #fff;
}

.header_info {
    background: #d3d3d3;
    width: 100%;
    margin: 10px auto 0px;
}

.header_info_inner {
    color: #000;
    margin:0px auto 0px;
    padding: 5px 18px 8px 20px;
    line-height: 1.6;
    font-size: 12px;
}

.header_info_inner span {
    display: block;
}

.header_info2 {
    background: #6CB0F2;
    width: 95%;
    margin: 10px auto;
}

.header_info2_inner {
    color: #000;margin:0px auto 0px;padding: 5px 7px 8px 10px;line-height: 1.6;font-size: 12px;
}

.btngreen a {
  width: 96%;
  background-color: #2f9c52;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  margin:10px auto;
  padding: 10px 0 8px 0px;
  border: solid 3px #2f9c52;
  animation: btnborder 5s infinite;
  -webkit-animation: btnborder 3s infinite; 
}

p.btngreen {
    margin: 5px !important;
}



.btngreen img {
    width:30%;
    margin:0 auto;
}


.btngreen-nolink  {
  width: 99%;
  background-color: #2f9c52;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  margin:20px 10px 10px 0;
  padding: 15px 0 13px 0px;
  border: solid 3px #2f9c52;
  animation: btnborder 5s infinite;
  -webkit-animation: btnborder 3s infinite; 
}

.btnorange  {
  width: 45.1%;
  display: inline-block;
  vertical-align: top;
  position: relative;
overflow: hidden;
  background-color: #FEB20A;
  border-radius: 3px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  margin:0px 1% 0px;
  padding: 7px 0 5px 0px;
  border: solid 3px #FEB20A;
  animation: btnborder 5s infinite;
  -webkit-animation: btnborder 3s infinite; 
}

.btnorange  img {
    width:30%!important;
    margin:0 auto;
}

.btnorange  a {
    color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

.btnorange > a:before{
    content:"";
    position: absolute;
    width:100vw;
    height:100vh;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    left:50%;
    top:50%;
}

.btnorange a:hover {
    text-decoration: none!important;
    color:#fff!important;
}

.btnorange-nolink  {
  width: 99%;
  background-color: #FEB20A;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  margin:20px 10px 10px 0;
  padding: 15px 0 13px 0px;
  border: solid 3px #FEB20A;
  animation: btnborder 5s infinite;
  -webkit-animation: btnborder 3s infinite; 
}

.otoiawasearea {
    position: relative;
    margin: 2em 0 50px;
    padding: 1em 1em 0.2em;
    border: solid 3px #2f9c52;
    border-radius: 0px;
    background: #fffafa;
}
.otoiawasearea .box-title {
    position: absolute;
    display: inline-block;
    top: -10px;
    left: 15px;
    padding: 0 9px;
    line-height: 1;
    font-size: 17px;
    background: #FFF;
    color: #2f9c52;
    font-weight: bold;
}
.otoiawasearea p {
    margin: 10px 0px!important;
    font-size: 13px!important;
    padding: 0;
}

p.smalltxt {
    font-size: 12px!important;
    margin: 0;
    padding: 0;
}

p.smalltxt-center {
    font-size: 12px!important;
    text-align: center;
    margin: 0!important;
    padding: 0;
}
  


.mainmenu-under-goods nav {
  padding-left:0;
  margin-left:0;
}

.mainmenu-under-goods nav ul {
    overflow-y: scroll;
    white-space: nowrap;
  }

.mainmenu-under-goods nav li{
  display:inline;
  list-style: none;
}

.mainmenu-under-goods nav li:after {/* >を表示*/
  content: '>';
  padding: 0 3px;
  color: #555;
}

.mainmenu-under-goods nav li:last-child:after {
  content: '';
}

.mainmenu-under-goods nav li a {
  text-decoration: none;
  color: #333333;/*色*/
}

.mainmenu-under-goods nav li a:hover {
  text-decoration: underline;
}

.sub-ib {
    display: inline-block;
    max-width: 49%;
}

ul.flowlist {
    
}

ul.flowlist li {
  background-color: #228b22;
  color: #fff;
  display: inline-block;
  width: 90%;
  padding: 10px;
  text-align: center;
  margin: 10px 0;
}
ul.flowlist li a {

  color: #fff;
  text-decoration: none;
}
ul.flowlist li a:hover {

  color: #fff!important;
  text-decoration: none;
}

.flow-midashi {
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #333333;/*左線*/
  font-size: 22px;
  font-weight: bold;
}


.top-ib {

}

.btn-t1 {
    background-color: #61c359; /* ボタン背景色 */
    color: #fff; /* ボタン文字色 */
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2);
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: 0.02em;
    border-radius: 4px;
    max-width: 80%;
    margin: 0.5em auto;
    padding: 0;
    text-align: center;
    line-height: 1.4;
    transition: all .2s ease;
    position: relative;
}
.btn-t1 a:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 15px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;        /*top right bottom を透明化 */ 
	border-left: 5px solid #fff;
}
.btn-t1 a:hover:before {
	left: 17px;        /*マウスオーバーで三角をずらす */ 
}

.btn-t1 a::after{
}

.btn-t1:hover {
    box-shadow: none;
    transform: translateY(2px);
    opacity: 0.8;
}

.btn-t1 a {
    text-decoration: none !important;
    color: #fff !important;
    display: block;
    margin: 0;
    padding: 1.5em 0.5em 1.4em!important;
    padding-right: 2em;
}

.btn-t1 > img { float: left; }
.btn-t1::after{ content: ''; clear: left; }

.btn-t2 {
    background-color: #ffa500; /* ボタン背景色 */
    color: #fff; /* ボタン文字色 */
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2);
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: 0.02em;
    border-radius: 4px;
    max-width: 80%;
    margin: 0.5em auto;
    padding: 0;
    text-align: center;
    line-height: 1.4;
    transition: all .2s ease;
    position: relative;
}
.btn-t2 a:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 15px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;        /*top right bottom を透明化 */ 
	border-left: 5px solid #fff;
}
.btn-t2 a:hover:before {
	left: 17px;        /*マウスオーバーで三角をずらす */ 
}

.btn-t2 a::after{
}

.btn-t2:hover {
    box-shadow: none;
    transform: translateY(2px);
    opacity: 0.8;
}

.btn-t2 a {
    text-decoration: none !important;
    color: #fff !important;
    display: block;
    margin: 0;
    padding: 1.5em 0.5em 1.4em!important;
    padding-right: 2em;
}

.btn-t2 > img { float: left; }
.btn-t2::after{ content: ''; clear: left; }

.topmain-sp {
    width:100%;
}

.parking {
    width: 150px;
    background-color: darkcyan;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    padding: 10px 10px 8px;
    margin: 20px 0 10px;
    text-align: center;
}

.table-01 td {
    vertical-align: top;
    font-size:13px;
}

#topinforight {
    width: 85%;
    margin:0 auto;
    height:300px;
    overflow-y: scroll;
    background:#fff;
    font-size:14px;
    padding:10px 15px;
    border:solid 1px #666;
}
#topinforight ul li {
    list-style-type: none;
    padding:5px 0;
}


.top_service_bn {/*親div*/
    position: relative;/*相対配置*/
    display: inline-block;
    margin:3px 1%;
    padding:1% 1% 0 1%;
    background-color: #fff;
    width: 45%;
  height: auto;
  overflow: hidden;
  box-shadow: 0 0 4px gray;
    }
  
  .top_service_bn p {
    position: absolute;/*絶対配置*/
    color: white;/*文字は白に*/
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  font-weight:bold;
  text-align: center;
  width:90%;
  font-size:14px;
  text-shadow: black 1px 1px 2px, black -1px 1px 2px,
  black 1px -1px 2px, black -1px -1px 2px;
    }
  
  .top_service_bn img {
    width:100%!important;
   
    }
.top_service_bn:hover img {
    opacity: 1;
  -webkit-animation: flash 1.5s;
  animation: flash 1.5s;
}
@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}

.topbnleft {
    margin:0 0 20px;
}


h3.carpet {
    font-size: 22px;
line-height: 32px;
background: #f3f3f3;
color: #1a1a1a;
font-size: 19px;
line-height: 27px;
margin: 20px 0;
padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}


.carpet_flow {
    width:92%;
    height: 150px;
    vertical-align: top;
    background:#e4f1f9;
    padding:20px 4% 10px;
    font-size:15px;
}
.carpet_flow p {
    font-size:14px;
    line-height:1.7;
}
.flow_title {
    padding:0 0 10px;
    text-align:center;
    color:#0873b9;
    font-weight: bold;
    border-bottom:dotted 1px #0873b9;
    margin:0 0 10px;
}
.arrow {
    width: 0;
height: 0;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
border-top: 30px solid #0873b9;
margin:10px 0 10px 40%;
  }



.black_btn {
    display: inline-block;
    background-color: black;
    color: #fff;
    text-decoration: none;
    text-align: center;
    padding: 17px 5% 15px;
    width: 90%;
    margin: 0 auto;    
}
.contact_ib {
    display: inline-block;
    width:43%;
    margin:10px 2%;
}

.subhead-div table tr {
    font-size:14px!important;
}

#under-to-top {
    background: #08730d;
color: #fff;
text-align: center;
padding:50px 0;
}

#under-to-top a {
color: #fff;
text-decoration: none;
font-size:18px;
}

#footer_fixarea {
    display: none;
}

/* FAQ  */
.qaContainer dt {
    padding: 10px 10px 10px 35px;
    border-radius: 5px;
    background: #cce6ff;
    text-indent: -25px;
    line-height: 1.8;
    font-size: 15px;
    color: #383838;
    letter-spacing: 0.05em;
}
.qaContainer dt:before {
    content: "Q.";
    font-weight: bold;
    margin-right: 7px;
}
.qaContainer dd {
    margin: 20px 10px 40px 35px;
    text-indent: -25px;
    line-height: 1.8;
    font-size: 15px;
    color: #383838;
    letter-spacing: 0.05em;
}
.qaContainer dd:before {
    content: "A.";
    color: #1771c6;
    font-weight: bold;
    margin-right: 7px;
}

table.brand-page {
    width:100%;
}

table.brand-page td {
    display: block;
}

table.brand-page td img {
    width:100%;
}

.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 10px;
    bottom: 90px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(20%) rotate(-45deg);
}


.home_main_slider {
    background-color: #000;
  }
  .home_main_slider .swiper-wrapper .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 480px;
    opacity: 0.5;
    aspect-ratio: 1/1;
  }
  .home_main_slider .swiper-wrapper .swiper-slide img {
    width: 100%;
    height: 100%;
    vertical-align: bottom;
  }
  .home_main_slider .swiper-wrapper .swiper-slide-active {
    opacity: 1;
  }
  .home_main_slider .swiper-button-next,
  .home_main_slider .swiper-button-prev {
    color: #fff;
    cursor: pointer;
  }
  .home_main_slider .page_status_wrap {
    color: #fff;
    text-align: center;
    height: 50px;
    line-height: 50px;
    font-size: 20px;
  }
  
  #important_notice_wrap {
    height: 200px;
    background-color: #f6f6f6;
    padding: 50px 25px;
    box-sizing: border-box;
  }
  #important_notice_wrap > p {
    text-align: center;
    margin: 0 0 25px;
  }
  #important_notice_wrap .important_notice_swiper {
    box-sizing: border-box;
    max-width: 1088px;
    text-align: center;
    background-color: #fff;
  }
  #important_notice_wrap .important_notice_swiper ul.swiper-wrapper {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
  }
  #important_notice_wrap .important_notice_swiper ul.swiper-wrapper li.swiper-slide {
    padding: 15px 35px;
    box-sizing: border-box;
  }
  #important_notice_wrap .important_notice_swiper .my_swiper-button-next {
    position: absolute;
    z-index: 1;
    top: 50%;
    cursor: pointer;
    width: 8px;
    height: 8px;
    border-top: 2px solid #126845;
    border-left: 2px solid #126845;
    left: 15px;
    transform: translateY(-50%) rotate(-45deg);
  }
  #important_notice_wrap .important_notice_swiper .my_swiper-button-prev {
    position: absolute;
    z-index: 1;
    top: 50%;
    cursor: pointer;
    width: 8px;
    height: 8px;
    border-top: 2px solid #126845;
    border-left: 2px solid #126845;
    right: 15px;
    transform: translateY(-50%) rotate(135deg);
  }
  
  #pickups_wrap {
    padding: 100px 0;
    background-color: #fff;
  }
  #pickups_wrap > p {
    text-align: center;
    font-size: 28px;
    margin: 0 0 50px;
  }
  #pickups_wrap > ul {
    display: grid;
    justify-content: center;
    gap: 20px;
    max-width: 1088px;
    margin: 0 auto;
    padding: 0 25px;
    list-style: none;
  }
  @media screen and (max-width: 600px) {
    #pickups_wrap > ul {
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
  }
  @media screen and (min-width: 601px) {
    #pickups_wrap > ul {
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
  }
  #pickups_wrap > ul > li.is_linkable {
    box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.2);
    padding: 5px;
  }
  #pickups_wrap > ul > li.is_linkable:hover {
    opacity: 0.8;
  }
  #pickups_wrap > ul > li > a,
  #pickups_wrap > ul > li > span {
    text-decoration: none;
  }
  #pickups_wrap > ul > li > a > img,
  #pickups_wrap > ul > li > span > img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  #pickups_wrap > ul > li > img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  #pickups_wrap > ul > li > a > p,
  #pickups_wrap > ul > li > span > p {
    display: flex;
    justify-content: space-between;
    background-color: #05f;
    color: #fff;
    align-items: center;
    padding: 5px 10px;
    font-size: 12px;
    margin: 5px 0 0;
  }/*# sourceMappingURL=main.css.map */

  #news_wrap
  {
    width: 90%;
    height: 300px;
    overflow-y: scroll;
    margin-right: 0px;
    background: #fff;
    font-size: 14px;
    padding: 10px 20px 40px;
    margin:0 0 20px 0;
    border:solid 1px #333;
  }
  #news_wrap p {
    font-size:13px;
  }
  .news_headline {
    color: #333333;
  font-size: 20px;
  font-weight: bold;
  }



/* ブランド個別ページ */

.brandpage-top-logo {
    background-color: #f5f5f5;
    padding:10px 0;
    text-align: center;
    line-height: 1;
    width:100%;
}

.brandpage-top-logo img {
    background-color: #fff;
    padding:10px;
    width:60%!important;
}

/* 全体のスタイル */
.brand-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    margin: 20px 0;
  }
  
  /* 行のスタイル */
  .brand-table tr {
    border-bottom: 1px solid #ddd;
  }
  
  /* 項目セル */
  .brand-item {
    width: 30%;
    padding: 10px 15px;
    background-color: #f9f9f9;
    font-weight: bold;
    text-align: left;
    vertical-align: top;
  }
  
  /* 内容セル */
  .brand-content {
    padding: 10px 15px;
    text-align: left;
    vertical-align: top;
  }
  
  /* リンクスタイル */
  .brand-content a {
    color: #0056b3;
    text-decoration: none;
    font-weight: bold;
  }
  
  .brand-content a:hover {
    text-decoration: underline;
  }
  
  /* テーブルの最下部の行に余白 */
  .brand-table tr:last-child {
    border-bottom: none;
  }
  
/* 親リスト */
#brandrecentpost {
    list-style: none; /* デフォルトのリストスタイルを削除 */
    padding: 0!important;
    margin: 0;
    display: flex; /* 横並び */
    flex-wrap: wrap; /* 複数行に対応 */
    gap: 2%; /* リスト間のスペース */
  }
  
  /* 各リストアイテム */
  #brandrecentpost li {
    background-color: #f9f9f9; /* 背景色 */
    border: 1px solid #ddd; /* 枠線 */
    border-radius: 8px; /* 角を丸く */
    padding: 1%;
    width: 46%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 軽いシャドウ */
    transition: transform 0.3s, box-shadow 0.3s;
  }
  
  #brandrecentpost li:hover {
    transform: translateY(-5px); /* ホバー時に持ち上がる */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ホバー時のシャドウ強調 */
  }
  
  /* サムネイル画像 */
  #brandrecentpost li img {
    width: 100%; /* リストの幅に合わせる */
    height: auto; /* 縦横比を維持 */
    border-radius: 6px; /* 画像の角を丸く */
    margin-bottom: 5px; /* タイトルとの間隔 */
  }
  
  /* タイトル */
  .brandrecentposttitle {
    font-size: 13px;
    text-align: left;
    margin-top: 0px;
    padding:0 5px 5px;
  }
  
  .brandrecentposttitle a {
    text-decoration: none; /* 下線を削除 */
    color: #333; /* 文字色 */
    transition: color 0.3s;
  }
  
  .brandrecentposttitle a:hover {
    color: #0078d7; /* ホバー時の色 */
  }


/* スライダー全体のベース設定 */
.brand-info-slider {
    position: relative;
    max-width: 100%;
    margin: 20px auto;
    overflow: hidden;
    background-color: #f9f9f9; /* 背景色 */
  }
  
  /* スライドコンテナ */
  .slide-container {
    display: flex;
    transition: transform 0.5s ease-in-out;
    margin-bottom: 0; /* 隙間を防ぐためのマージンリセット */
  }
  
  /* 各スライド */
  .slide {
    flex-shrink: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .slide img {
    width: 100%;
    height: auto;
    object-fit: cover; /* 必要に応じて画像を埋める */
  }
  
  /* サムネイル */
  .thumbnails {
    display: grid !important; /* 必ずグリッドレイアウトに */
    gap: 10px !important;
    margin: 10px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    justify-content: center !important;
  }
  
  .thumbnail {
    width: 60px !important;
    height: 60px !important;
    cursor: pointer;
    overflow: hidden;
    border: 2px solid transparent !important;
    border-radius: 5px !important;
    transition: border-color 0.3s !important;
    display: flex !important; /* サムネイル画像を中央揃え */
    justify-content: center !important;
    align-items: center !important;
  }
  
  .thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* 正方形で画像をトリミング */
  }
  
  /* サムネイルレスポンシブ設定 */
  @media (max-width: 767px) {
    .thumbnails {
      grid-template-columns: repeat(5, 60px) !important; /* 5個で折り返し */
      gap: 8px !important; /* スマホでは少し狭めの間隔 */
    }
  }


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* =====================
   CTA セクション
   カーテンギャラリーハンザム
   プレフィックス: .cghan-cta
   ===================== */

.cghan-cta-outer {
  font-family: 'Noto Sans JP', sans-serif !important;
  background: linear-gradient(135deg, #fff8f2 0%, #fff3e8 100%) !important;
  border-radius: 20px !important;
  padding: 48px 40px !important;
  margin:20px 0;
  border: 1.5px solid #f5d9c0 !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* 装飾円 */
.cghan-cta-deco {
  position: absolute !important;
  top: -40px !important;
  right: -40px !important;
  width: 180px !important;
  height: 180px !important;
  border-radius: 50% !important;
  background: rgba(255, 160, 80, 0.08) !important;
  pointer-events: none !important;
}

.cghan-cta-deco2 {
  position: absolute !important;
  bottom: -30px !important;
  left: -30px !important;
  width: 120px !important;
  height: 120px !important;
  border-radius: 50% !important;
  background: rgba(255, 120, 80, 0.06) !important;
  pointer-events: none !important;
}

/* ヘッド */
.cghan-cta-head {
  text-align: center !important;
  margin-bottom: 36px !important;
  position: relative !important;
}

.cghan-cta-badge {
  display: inline-block !important;
  background: #ff7a3d !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  padding: 5px 16px !important;
  border-radius: 20px !important;
  margin-bottom: 12px !important;
}

.cghan-cta-head h2 {
  color: #2d1a0e !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  letter-spacing: 0.03em !important;
}

.cghan-cta-head p {
  color: #9a7060 !important;
  font-size: 13px !important;
  margin: 0 !important;
}

/* グリッド */
.cghan-cta-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

/* カード */
.cghan-cta-card {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 28px 20px 24px !important;
  text-align: center !important;
  border: 1.5px solid #f0ddd0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.cghan-cta-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(200, 100, 50, 0.1) !important;
}

/* PC時: テキストエリア */
.cghan-cta-card-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

/* アイコン */
.cghan-cta-icon {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 14px !important;
  flex-shrink: 0 !important;
}

.cghan-cta-icon-phone { background: #fff0e8 !important; }
.cghan-cta-icon-rsv   { background: #edf7ee !important; }
.cghan-cta-icon-mail  { background: #e8f4ff !important; }

/* ラベル: 固定高さで全カード位置を揃える */
.cghan-cta-label {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  width: 100% !important;
  margin: 0 !important;
}

.cghan-cta-lbl-phone { color: #e05a1a !important; }
.cghan-cta-lbl-rsv   { color: #2e9c4a !important; }
.cghan-cta-lbl-mail  { color: #2a7fd4 !important; }

/* 主テキストエリア: 固定高さで全カード位置を揃える */
.cghan-cta-main {
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

/* タイトル */
.cghan-cta-title {
  color: #2d1a0e !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* 電話番号 */
.cghan-cta-tel {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #e05a1a !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

/* PC時: 電話番号リンク無効 */
.cghan-cta-tel a,
.cghan-cta-tel a:link,
.cghan-cta-tel a:visited,
.cghan-cta-tel a:hover,
.cghan-cta-tel a:active {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
  cursor: default !important;
}

.cghan-cta-spacer {
  flex: 1 !important;
  min-height: 12px !important;
}

/* ボタン共通 */
.cghan-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  border: none !important;
  cursor: pointer !important;
  transition: filter 0.2s, transform 0.15s !important;
  width: 100% !important;
  text-decoration: none !important;
  margin-top: 20px !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  height: 48px !important;
  padding: 0 20px !important;
}

.cghan-cta-btn:hover {
  filter: brightness(1.07) !important;
  transform: translateY(-1px) !important;
}

/* ボタン色 + 疑似クラスすべてに白を強制 */
.cghan-cta-btn-phone,
.cghan-cta-btn-phone:link,
.cghan-cta-btn-phone:visited,
.cghan-cta-btn-phone:hover,
.cghan-cta-btn-phone:active {
  background: linear-gradient(135deg, #ff7a3d, #e05a1a) !important;
  color: #fff !important;
}

.cghan-cta-btn-rsv,
.cghan-cta-btn-rsv:link,
.cghan-cta-btn-rsv:visited,
.cghan-cta-btn-rsv:hover,
.cghan-cta-btn-rsv:active {
  background: linear-gradient(135deg, #4fc469, #2e9c4a) !important;
  color: #fff !important;
}

.cghan-cta-btn-mail,
.cghan-cta-btn-mail:link,
.cghan-cta-btn-mail:visited,
.cghan-cta-btn-mail:hover,
.cghan-cta-btn-mail:active {
  background: linear-gradient(135deg, #4a9fe8, #2a7fd4) !important;
  color: #fff !important;
}

/* 注記 */
.cghan-cta-note {
  margin-top: 24px !important;
  padding: 16px 20px !important;
  background: rgba(255, 255, 255, 0.7) !important;
  border-radius: 12px !important;
  border: 1px solid #f0ddd0 !important;
}

.cghan-cta-note p {
  color: #7a6055 !important;
  font-size: 12px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
  text-align: left !important;
}


/* =====================
   SP (768px以下)
   ===================== */

@media (max-width: 768px) {

  .cghan-cta-outer {
    padding: 20px 16px !important;
    border-radius: 14px !important;
  }

  .cghan-cta-head {
    margin-bottom: 16px !important;
  }

  .cghan-cta-badge {
    font-size: 10px !important;
    padding: 3px 12px !important;
    margin-bottom: 8px !important;
  }

  .cghan-cta-head h2 {
    font-size: 15px !important;
    margin-bottom: 4px !important;
  }

  .cghan-cta-head p {
    font-size: 11px !important;
  }

  .cghan-cta-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .cghan-cta-card {
    flex-direction: row !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    gap: 10px !important;
    text-align: left !important;
  }

  .cghan-cta-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  .cghan-cta-icon svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* SP時: テキストエリアが伸縮してはみ出しを防止 */
  .cghan-cta-card-text {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    align-items: flex-start !important;
  }

  /* SP時: ラベル・主テキストの固定高さを解除 */
  .cghan-cta-label {
    height: auto !important;
    justify-content: flex-start !important;
    font-size: 9px !important;
    margin-bottom: 1px !important;
    white-space: nowrap !important;
  }

  .cghan-cta-main {
    height: auto !important;
    justify-content: flex-start !important;
  }

  .cghan-cta-title {
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  .cghan-cta-tel {
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  /* SP時: 電話番号リンク有効 */
  .cghan-cta-tel a,
  .cghan-cta-tel a:link,
  .cghan-cta-tel a:visited,
  .cghan-cta-tel a:hover,
  .cghan-cta-tel a:active {
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  .cghan-cta-spacer {
    display: none !important;
  }

  .cghan-cta-btn {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 38px !important;
    margin-top: 0 !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    border-radius: 50px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
  }

  .cghan-cta-note {
    margin-top: 16px !important;
    padding: 12px 14px !important;
  }

  .cghan-cta-note p {
    font-size: 11px !important;
  }
}