/* ----------------------------------------------------------------

	00. Clearfix

----------------------------------------------------------------- */

/* ----------------------------------------------------------------

	03. Modules

----------------------------------------------------------------- */

/* ----------------------------------------------------------------
    headings
----------------------------------------------------------------- */

/* .hdg-l2
----------------------------------------------- */

.hdg-l2-container {
position: relative;
margin: 70px 0 30px;
}
.hdg-l2-container .hdg-l2 {
font-size: 36px;
font-weight:normal;
border-top:1px solid #999;
border-bottom:1px solid #999;
padding:14px 0 10px 0;
line-height:1.2;
letter-spacing:.1em;
}
.hdg-l2-container .hdg-l2 span{
color:#448d03;
display:block;
font-size:24px;
margin-bottom:5px;
}
.hdg-l2-container .hdg-l2 span{
color:#ce1e29;
}
.hdg-l2-container .hdg-l2:after{
content:'';
display:block;
height:2px;
width:100%;
position:absolute;
top:-5px;
background:#333;
}
.hdg-l2-container .hdg-l2:before{
content:'';
display:block;
height:2px;
width:100%;
position:absolute;
bottom:-5px;
background:#333;
}
.hdg-l2-container .hdg-sup {
font-size: 20px;
position: absolute;
top: 0;
left: 0;
display: inline-block;
margin: 0;
padding: 6px 8px 2px;
color: #fff;
background: #6f683e;
}

.lead + .hdg-l2-container {
margin-top: 50px;
}

/* .hdg-l3
----------------------------------------------- */

.hdg-l3 {
font-size: 24px;
font-weight: bold;
line-height: 1.25;
margin: 55px 0 30px;
padding-bottom: 6px;
border-bottom: 1px solid #c9c9c9;
}
.hdg-l3 span{
display:inline-block;
color:#fff;
font-size:18px;
font-weight:normal;
padding:5px 10px;
margin-bottom:14px;
}
.hdg-l3 span.color-01{
background:#983642;
}
.hdg-l3 span.color-02{
background:#15599c;
}
.hdg-l3 span.color-03{
background:#00875a;
}
.hdg-l3 span.color-04{
background:#985936;
}
.hdg-l3.branch {
margin-top: 80px;
}

.hdg-l2-container + .hdg-l3 {
margin-top: 0;
}

.info-hdg{
background-color: #666;
margin:0 0 5px 0;
padding:2px 5px 0;
box-sizing:border-box;
display:inline-block;
font-size:16px;
font-weight:bold;
color:#fff;
}

/* .hdg-l4
----------------------------------------------- */

.hdg-l4 {
font-size: 18px;
position: relative;
}
.hdg-l4 span{
font-size:11px;
}
.hdg-l4 + p {
margin-top: 10px;
}

/* ----------------------------------------------------------------
    paragraph
----------------------------------------------------------------- */

p {
font-size: 16px;
margin: 20px 0;
}

body p.branch {
margin-bottom: 40px;
}

body p.column {
font-size: 14px;
padding: 18px 20px 16px;
border-radius: 10px;
background: #f5f5f5;
}
.photo {
max-width: 800px;
margin-right: auto;
margin-left: auto;
text-align: center;
}

/* .caption
----------------------------------------------- */

#str-main .caption {
font-size: 12px;
display: block;
max-width:800px;
margin:0 auto;
text-align:left;
}
#str-main #carousel-1 .caption {
max-width:800px;
}

#str-main .caption span {
margin-left: 1em;
}

/* ----------------------------------------------------------------
    link
----------------------------------------------------------------- */

/* .link-list
----------------------------------------------- */

.nav-internal a{
box-sizing:border-box;
display:block;
position:relative;
font-size:15px;
font-weight:bold;
}
.nav-internal a:after{
content:'';
border-radius: 50%;
height:14px;
width: 14px;
border-color:#888888;
background:#888;
position:absolute;
display:block;
position:absolute;
left:2px;
top:50%;
margin-top:-7px;
}
.nav-internal a:before{
content:'';
width: 0;
height: 0;
border-style: solid;
border-width: 5px 4px 0 4px;
border-color: #ffffff transparent transparent transparent;
position:absolute;
left:5px;
top:50%;
margin-top:-2px;
z-index:2;
}
.nav-internal li{
border-left:1px solid #d2d2d2;
}
.nav-internal li:first-child{
border-left:0;
}
.nav-internal li a{
text-decoration:none;
padding-left: 24px;
margin-left: 14px;
color:#333;
}
.nav-internal li a:hover{
background: #f7f7f7;
}
.link-list {
font-size: 18px;
font-weight: bold;
display: table;
margin: 10px auto 0 auto;
width:100%;
}

.link-list li {
line-height: 1.2;
display: table-cell;
box-sizing: border-box;
margin-top: 10px;
vertical-align: middle;
}

.link-list li a {
position: relative;
display: block;
text-decoration: none;
font-size: 18px;
margin-bottom: 4px;
padding: 15px 15px 11px;
color: #fff;
border: none;
border-radius: 5px;
background-color: #69a30c;
box-shadow: 0 4px 0 #588d00;
}

.cmn-list-col-4>li {
float: left;
box-sizing: border-box;
width: 28%;
margin-top: 10px;
margin-left: 1.0%;
}
.cmn-list-col-4>li:nth-child(2){
width:24%;
}

.link-list.link-btn-01 {
display:block;
text-align:center;
}
.link-list.link-btn-01 li{
display:block;
margin:10px auto 0 auto;
float:none;
}
/*
.link-list li a:before {
position: absolute;
display: inline-block;
display: block;
width: 0;
height: 0;
margin: 0;
content: '';
border-width: 4px 0 4px 4px;
border-style: solid;
border-color: transparent transparent transparent #fff;
}

.link-list li a:before {
top: 50%;
left: 17px;
margin-top: -5px;
}
*/

.link-list li a:hover,
.link-list li a:focus {
background-color: #578e00;
box-shadow: 0 4px 0 #4c7d00;
}

.link-list li.branch a {
padding: 9px 5px 8px 35px;
}




.cmn-carousel-location{
margin:0 auto;
max-width:800px;
margin-top:5px;
display: inline-block;
}

.cmn-carousel-location li{
display:inline-block;
margin-left: 16px;
margin-bottom:8px;
float:left;
}
.cmn-carousel-location li a{
max-width:120px;
max-height:67px;
display:block;
position:relative;
}
.cmn-carousel-location li.active a:after{
border:2px solid #117bcc;
background-color: rgba( 255, 255, 255, .7 );
content:'';
display:block;
position:absolute;
top:0;
left:0;
width:116px;
height:63px;
}
.cmn-carousel .cmn-carousel-item {
	margin-bottom:5px;
}
.cmn-carousel .cmn-carousel-item-inner ul a,
.cmn-carousel .cmn-carousel-item-inner ul span{
text-align:center;
margin-bottom:5px;
display:block;
}
.photo span.caption{
text-align:center;
margin-bottom:5px;
display:block;
font-size:13px;
padding-top:5px;
}
.cmn-carousel-item-inner ul a{
text-align:center;
}
.cmn-carousel-location li:first-child{
margin-left:0px;
}
.cmn-carousel {
margin-top: 10px;
text-align: center;
}
.cmn-carousel .cmn-carousel-item {
padding: 0;
}

.info-list-box{
border:1px solid #40a140;
padding:5px 30px;
box-sizing:border-box;
margin-bottom:50px;
}
.info-list-box p{
font-size:16px;
}
.info-list-box p b{
font-size:18px;
display:block;
}
.info-list-box p span{
font-size:13px;
}
.icon-list{
clear:both;
margin:10px auto 25px;
width:800px;
}
.icon-list li{
margin-right:10px;
display:inline-block;
box-sizing:border-box;
padding:4px 8px;
border-radius: 5px;
font-size:15px;
}
.icon-list li.icon-01{
background-color: #d0e7cd;
}
.icon-list li.icon-02{
background-color: #dceaed;
}
.icon-list li.icon-03{
background-color: #ede4dc;
}
.icon-list li.icon-04{
background-color: #eddcdf;
}
.icon-list li.icon-05{
background-color: #e3dced;
}
.btn-review{
border-radius: 5px;
background-color: #fff;
box-shadow: inset 0 -3px rgba(6,0,1,.1);
border: solid 1px #ccc;
padding:5px 12px;
color:#0066cc;
display:inline-block;
font-weight:bold;
text-decoration:none;
font-size:16px;
margin-top:12px;
}
.btn-review span{
display:block;
}
@media screen and (max-width: 855px) {
.btn-review span{
display: inline;
}
.icon-list{
width:auto;
}
}


/* ----------------------------------------------------------------
clearfix
----------------------------------------------------------------- */
.cmn-carousel-location:before,
.cmn-carousel-location:after{
content:"";
display:table;
}
.cmn-carousel-location:after{
clear:both;
}

@media screen and (max-width: 855px) {
.cmn-carousel{
text-align:center;
}
.cmn-carousel .cmn-carousel-item{
padding:0;
}
.cmn-carousel-location{
width:405px;
margin:0 auto;
}
.cmn-carousel-location li{
width: 30%;
display: inline-block;
margin-bottom:5px;
}
.cmn-carousel-location li:nth-child(4n) {
margin-left:0;
}
}

@media screen and (max-width: 550px) {
.cmn-carousel-location{
width:300px;
margin:0 auto;
box-sizing:border-box;
max-width:inherit;
}
.cmn-carousel-location li{
width: 94px;
display: inline-block;
margin-bottom:5px;
margin-left: 9px;
}
.cmn-carousel-location li a{
max-width:94px;
max-height:53px;
display:block;
position:relative;
}
.cmn-carousel-location li img{
max-height:53px;
}
.cmn-carousel-location li.active a:after{
background-color: rgba( 255, 255, 255, .7 );
content:'';
display:block;
position:absolute;
top:-.5px;
left:0;
width:90px;
height:49px;
}
.info-list-box{
border:1px solid #40a140;
padding:0px 15px;
box-sizing:border-box;
margin-bottom:30px;
}
.info-list-box p{
font-size:12px;
}
.info-list-box p b{
font-size:14px;
display:block;
}
.info-list-box p span{
font-size:11px;
}
}

/* .pickup
----------------------------------------------- */

.pickup {
display: table;
box-sizing: border-box;
width: 100%;
}

.pickup .pickup-img {
display: table-cell;
width: 35.3%;
vertical-align: top;
}
.pickup-img p{
margin-bottom:0;
}
.pickup .pickup-info {
display: table-cell;
padding: 0 20px;
vertical-align: top;
}

.pickup .pickup-recommend {
display: table-cell;
width: 30%;
vertical-align: bottom;
}

.pickup .pickup-recommend .recommend-img {
width: 20.68966%;
}

.pickup .pickup-recommend .recommend-item {
background: #fff;
}

.pickup .pickup-recommend .recommend-item .recommend-main {
padding-left: 5px;
vertical-align: middle;
}

.pickup .pickup-recommend .recommend-item .recommend-main .hdg-l4 > span {
display: block;
}

@media screen and (max-width: 550px) {
.pickup .pickup-img{
display:block;
clear:both;
width:100%;
padding: 0 50px;
box-sizing:border-box;
}
.pickup .pickup-info {
display: block;
padding: 0;
vertical-align: top;
}
.hdg-l4{
margin:10px 0 5px 0;
font-size:14px;
}
.hdg-l4 span{
display:block;
font-size:11px;
}
.pickup .pickup-img{
margin-bottom:10px;
}
.info-hdg{
margin-bottom:-5px;
font-size:14px;
}
}

/* .list-separate
----------------------------------------------- */

.list-separate {
font-size: 13px;
}

.list-separate li {
line-height: 1.2;
display: table;
width: 100%;
margin-bottom:5px;
word-break:break-all;
word-wrap:break-word;
}

.list-separate li .cell {
display: table-cell;
line-height:1.4;
}

.list-separate li .cell:first-child {
font-weight: bold;
width:1em;
padding-left:10px;
position:relative;
text-indent:-9999px;
}

.list-separate li .cell:first-child:after {
display: block;
content:'';
background:url(/w_review/special/souvenir/images/icon-01-001.png) no-repeat;
width:16px;
height:16px;
position:absolute;
top:0;
left:0;
}
.list-separate li .cell.ic-zip:first-child:after {
background-position:0 0;
}
.list-separate li .cell.ic-tel:first-child:after {
background-position:0 -23px;
}
.list-separate li .cell.ic-time:first-child:after {
background-position:0 -47px;
}
.list-separate li .cell.ic-open:first-child:after {
background-position:0 -151px;
}
.list-separate li .cell.ic-hp:first-child:after {
background-position:0 -175px;
}

.list-separate li:first-child .cell {
padding-top: 0;
}


/* ----------------------------------------------------------------
    box
----------------------------------------------------------------- */

/* .box
----------------------------------------------- */

.box {
font-size: 14px;
margin: 10px 0;
padding:15px;
background:#f5f5f5;
}

.box > :first-child {
margin-top: 0;
}

.box > :last-child {
margin-bottom: 0;
}

/* .box-img
----------------------------------------------- */

.box-img {
overflow: hidden;
margin-bottom: 15px;
}

.box-img p {
margin: 0;
}

.box-img p .img-zoom {
position: relative;
position: relative;
display: block;
}

.box-img p .img-zoom:before {
position: absolute;
right: 0;
bottom: 0;
display: block;
overflow: hidden;
width: 32px;
height: 32px;
content: '';
}

.box-img p .img-zoom:after {
position: absolute;
right: 4px;
bottom: 4px;
display: block;
overflow: hidden;
width: 24px;
height: 24px;
content: '';
}

.box-img p .img-zoom:before {
background: #444;
}

.box-img p .img-zoom:after {
background: url(/w_special/dusithani/report/images/icon_zoom.png) no-repeat;
background-size: 100%;
}

/* ----------------------------------------------------------------
    Button
----------------------------------------------------------------- */

/* .btn
----------------------------------------------- */

.btn {
font-size: 14px;
font-weight: bold;
position: relative;
display: inline-block;
padding: 10px 14px 10px 25px;
text-align: left;
text-decoration: none;
color: #06c;
border: 1px solid #ccc;
border-radius: 6px;
box-shadow: rgba(0, 0, 0, .1) 0 -2px 0 inset;
}

.btn:before {
position: absolute;
display: inline-block;
display: block;
width: 0;
height: 0;
margin: 0;
content: '';
border-width: 4px 0 4px 4px;
border-style: solid;
border-color: transparent transparent transparent #818181;
}

.btn:before {
top: 50%;
left: 12px;
margin-top: -5px;
}
.cmn-m-top-10 {
margin-top: 25px!important;
margin-bottom: 100px;
}

/* ----------------------------------------------------------------
    Line
----------------------------------------------------------------- */

hr {
height: 1px;
margin: 60px 0;
border: none;
background-color: #ddd;
}

/* ----------------------------------------------------------------
    component
----------------------------------------------------------------- */

/* .hero-area
----------------------------------------------- */

.hero-area {
text-align: center;
}

/* .related-container
----------------------------------------------- */

.related-container {
padding: 0 15px;
}

/* .related
----------------------------------------------- */

.related {
font-size: 13px;
position: relative;
min-height: 140px;
margin-top: 10px;
padding-left: 150px;
}

.related a {
text-decoration: none;
color: #333;
}

.related a:active .related-hdg,
.related a:hover .related-hdg,
.related a:focus .related-hdg {
text-decoration: underline;
}

.related .related-hdg {
font-size: 18px;
font-weight: bold;
line-height: 1.25;
margin-bottom: -10px;
color: #0b41a1;
}

.related .related-thumb {
position: absolute;
top: 0;
left: 0;
}

.list-info>li {
position: relative;
margin-top: 6px;
padding-left: 26px;
}
.list-info>li .info-icon {
line-height: 20px;
position: relative;
position: absolute;
padding: 2px;
}

.list-info>li .info-icon:before {
position: absolute;
content: '';
font-size: 12px;
text-align: center;
color: #fff;
border-radius: 3px;
background-color: #999;
}
.list-info>li .info-icon, .list-info>li .info-icon:before {
top: 0;
left: 0;
width: 20px;
height: 20px;
display: block;
overflow: hidden;
}
.list-info>li .info-icon.address:before {
content: '\4f4f';
}
.list-info>li .info-icon.phone:before {
content: 'Tel';
}
.list-info>li .info-icon.time:before {
content: '\6642';
}
.list-info>li .info-icon.holiday:before {
content: '\4f11';
}
.list-info>li .info-icon.site:before {
content: 'HP';
}
.list-info>li .info-icon.access:before {
content: '\30a2';
}
.list-info>li .info-icon.price:before {
content: '\6599';
}
.list-info>li a{
word-wrap: break-word;
word-break: break-all;
}
.page-info .page-provide {
font-size: 12px;
margin-top: -20px;
margin-bottom: 5px;
}

p.last-section{
margin: 100px 0 80px;
}
#str-footer #copyright {
margin-top: 15px;
text-align: center;
color: #777;
font-size: 11px;
margin-bottom: 0;
margin-top: 10px;
}

/* .page-info
----------------------------------------------- */

.page-info {
font-size: 13px;
margin-top: 40px;
border-top: 1px solid #ddd;
}
.page-info p {
font-size: 13px;
margin-top:10px;
}
[class^=cmn-grid-] {
box-sizing: border-box;
}
.cmn-grid-container .cmn-grid-gutters .cmn-grid-col:first-child {
margin-left: 0;
}


/* .m-address
----------------------------------------------- */

.m-address{
display:none;
}
@media screen and (max-width: 965px){
.list-separate li:first-child .ic-zip + .cell a{
display:block;
}
.m-address{
display:none;
}

}

/* .sns
----------------------------------------------- */

.sns li {
display: inline-block;
margin-left: 10px;
vertical-align: top;
}

.sns li:first-child {
margin-left: 0;
}

@media screen and (max-width: 965px) {
.link-list li a {
text-align:left;
font-size:15px;
}
}
@media screen and (max-width: 870px) {
.hdg-l2-container {
position: relative;
margin: 25px 0 30px;
}
}

@media screen and (max-width: 720px) {
.hdg-l2-container {
margin: 15px 0 15px;
}
.hdg-l2-container .hdg-l2 span{
font-size:15px;
}
.hdg-l2-container .hdg-l2 {
font-size: 18px;
}

.hdg-l2-container .hdg-sup {
font-size: 14px;
padding: 3px 4px 1px;
}

.hdg-l3 {
font-size: 14px;
margin: 20px 0 20px;
}

.hdg-l3.branch {
margin-top: 40px;
}

.hdg-l4 {
margin: 10px 0 5px 0;
font-size: 14px;
}

.hdg-l4:before {
width: 7px;
height: 7px;
margin: 0 3px 0 0;
}

.hdg-l4 + p {
margin-top: 0;
}

body p {
font-size: 13px;
margin: 15px 0;
}

body p.branch {
margin-bottom: 20px;
}

body p.column {
font-size: 12px;
padding: 10px;
}

#str-main .caption {
font-size: 10px;
}

#str-main .caption span {
display: block;
margin-left: 0;
}

.link-list {
font-size: 16px;
display: block;
margin: -10px 0 40px 0;
}

.link-list li {
display: block;
width: 100%;
padding: 0;
margin-left:0;
}

.link-list li a {
text-align:left;
font-size:15px;
}

.link-list li.branch a {
padding: 16px 10px 14px 30px;
}

hr {
margin: 30px 0;
}

.hero-area {
margin: 10px -10px 0;
}

.related-container {
padding: 0;
}

.related {
min-height: 110px;
padding-left: 110px;
}

.related .related-hdg {
font-size: 15px;
}

.related .related-thumb {
max-width: 100px;
}

}

@media screen and (max-width: 550px) {
.box {
padding: 10px;
}

.box-img p .img-zoom:before {
width: 16px;
height: 16px;
}

.box-img p .img-zoom:after {
right: 2px;
bottom: 2px;
width: 12px;
height: 12px;
}

.btn {
display: block;
}

.related-container {
margin-top: -10px;
}

.related {
margin-top: 20px;
}

.sns li {
margin-left: 5px;
}

.cmn-m-top-10 {
margin-top: 25px!important;
margin-bottom: 40px;
}

.cmn-list-col-4.cmn-col-state>li{
display: block;
width: 100%;
padding: 0;
margin-left:0;
}
.cmn-list-col-2.cmn-col-state>li{
display: block;
width: 100%;
padding: 0;
margin-left:0;
}

.nav-internal li{
width:100%;
border-left:0;
}
.cmn-list-col-4.cmn-col-state>li{
float:none;
display:block;
width:100%;
margin-left:0;
margin-top:0;
border-bottom: 1px solid #d2d2d2;
}
.nav-internal li a{
margin-left:0;
padding-left:35px;
padding-top:12px;
padding-bottom:12px;
padding-right:12px;
}
.nav-internal a:before {
left:15px;
}
.nav-internal a:after {
left:12px;
}
.nav-internal{
margin:0 -10px;
margin-bottom:30px;
}
.nav-internal li br{
display:none;
}
h1 + .lead{
display:none;
}
p.last-section {
margin:20px 0 40px;
}
}

.capition{
font-size:13px;
}
.last{
border-top: 1px solid #ddd;
margin-top:10px;
padding-top:15px;
}

.photo + p + p >span{
display:inline-block;
width:32%;
}
@media screen and (max-width: 870px) {
.photo + p + p >span{
width:40%;
vertical-align:top;
}
.photo + p + p >span:nth-child(even){
width:58%;
}
}


