@charset "utf-8";

.pc {
	display: none !important;
}

body {
	font-size: 3.47vw;
	height: 100%;
}

.w100p {
	width: 100%;
	height: auto;
}

.cmn-ttl {
	font-size: 16vw;
	padding: 10.66vw 0 0;
	text-align: center;
	 white-space: nowrap;
}

.cmn-ttl:after {
	content: '';
	display: block;
	width: 35.46vw;
	height: 2.66vw;
	margin: 1.2vw auto 16vw;
	background: url(../img/common/bg_cmn-ttl.svg) no-repeat;
}

.cmn-ttl.wh:after {
	background: url(../img/common/bg_cmn-ttl_wh.svg) no-repeat;
}

/*----------------------------------------------------
    header
----------------------------------------------------*/

header {
	position: relative;
	overflow: hidden;
}

#header {
	position: absolute;
	width: 100%;
	z-index: 100;
	padding: 4vw;
	box-sizing: border-box;
}

#header h1 a {
	display: block;
	width: 24vw;
}

#header .menu {
	position: absolute;
  	top: 6vw;
    right: 4vw;
    width: 8vw;
    height: 8vw;
    cursor: pointer;
}

header.index #header {
	position: relative;
}

header.index #header h1 {
	padding-right: 8vw;
}

header.index #header h1 a {
	margin: 0 auto;
	width: 66vw;
}


#header .menu span {
  -webkit-transition: all 0.4s ease;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 8vw;
  height: 2px;
  margin-top: -1px;
  overflow: hidden;
  background: #009944;
  text-indent: -9999px;
  white-space: nowrap;
  opacity: 1;
  transition: all 0.4s ease;
}

#header .menu:before {
  -webkit-transition: all 0.4s ease;
  position: absolute;
  top: 6px;
  right: 0;
  width: 8vw;
  height: 2px;
  margin-top: -1px;
  background: #009944;
  content: "";
  transition: all 0.4s ease;
}

#header .menu:after {
  -webkit-transition: all 0.4s ease;
  position: absolute;
  right: 0;
  bottom: 6px;
  width: 8vw;
  height: 2px;
  margin-top: -1px;
  background: #009944;
  content: "";
  transition: all 0.4s ease;
}

#to-scroll {
	position: absolute;
	bottom: 4vw;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
}

#to-scroll a {
	color: #fff;
	font-size: 4vw;
	line-height: 1.2;
}

#to-scroll a p:not([class]) {
	font-size: 4.53vw;
}

/*----------------------------------------------------
    index
----------------------------------------------------*/

#index-tile {
	padding: 10vw 0;
	/*background: url(../img/index/bg_quality.jpg);*/
}

#index-tile .tile-slider a,
#index-tile .tile-slider img {
	transition: .5s !important;
}

#index-tile .tile-slider .slick-slide {
	transition: .5s !important;
}

#index-tile .tile-slider .slick-slide img {
	transform: scale(.85);
	transition: .5s !important;
}

#index-tile .tile-slider .slick-center img {
	transform: scale(1.0);
	transition: .5s !important;
}

#index-tile .main {
	padding-bottom: 2.67vw;
}

#index-tile .thumb .slick-track {
	display: flex;
	justify-content: space-between;
	width: 100% !important;
	transform: none !important;
}

#index-tile .thumb li {
	width: 24% !important;
	opacity: .7;
}

#index-tile .thumb li.slick-current {
	opacity: 1;
}

#index-about {
	/*background: url(../img/index/bg_about.jpg);*/
	/*color: #fff;*/
	background-image: url(../img/index/bg_about2.jpg);
	background-size: cover;
	min-height: 213.33vw;
	text-align: center;
	position: relative;
	overflow: hidden;
}

#index-about video {
  position: absolute;
  left: 50%;
  top: 0;
  min-width: 100%;
  min-height: 100%;
  z-index: -1;
  transform: translateX(-50%);
}

#index-about h2 {
	font-size: 6.66vw;
	letter-spacing: .2em;
	padding-bottom: 14vw;
}

#index-about p {
	font-size: 3.2vw;
	letter-spacing: .28em;
	line-height: 2;
	padding-bottom: 10.67vw;
}

#index-about .about-slider {
	padding-bottom: 12vw;
}

#index-about .about-slider .slick-slide img {
	transform: scale(.7);
	transition: .5s;
}

#index-about .about-slider .slick-center img {
	transform: scale(1);
}

#index-quality {
	/*background: url(../img/index/bg_quality.jpg);*/
	position: relative;
	overflow: hidden;
}

#index-quality .vd {
	position: relative;
	width: 100%;
}

#index-quality video {
	position: absolute;
	left: 50%;
	top: 0;
	width: 100%;
	min-width: 100%;
	min-height: 100%;
	z-index: -1;
	transform: translateX(-50%);
}

#index-quality h1 {
	color: #fff;
	padding-top: 16vw;
	padding-bottom: 20vw;
	/*background-image: url(../img/index/bg_quality_g.png); background-size: 100% auto;*/
    background-position: center bottom;
    background-repeat: no-repeat
}

#index-quality li {
	margin-bottom: 8vw;
}

#index-quality dd {
	background-color: rgba(90,48,17,.75);
	color: #fff;
	text-align: center;
	padding: 4vw 0;
	line-height: 1.7;
}

#index-quality .btn {
	padding: 4vw 12vw 12vw;
}

#index-quality .btn a {
	display: block;
	background-color: #009944;
	color: #fff;
	font-size: 4vw;
	text-align: center;
	border-radius: 5px;
	padding: 5.07vw 0;
}

#index-quality .btn a:after {
	content: '\f105';
	font-family: FontAwesome;
	padding-left: 4vw;
}

#cmn-lineup .navi {
	display: flex;
	flex-wrap: wrap;
}

#cmn-lineup .navi li {
	width: calc(100%/3);
	text-align: center;
	position: relative;
}

#cmn-lineup .navi li a {
	display: block;
	padding: 4.67vw 0 0;
}

#cmn-lineup .navi li a:after {
	content: '\f107';
	display: block;
	font-family: FontAwesome;
	padding: 4vw 0 3.2vw;
}

#cmn-lineup .navi li:nth-child(2):before,
#cmn-lineup .navi li:nth-child(2):after {
	content: '';
	display: block;
	width: 1px;
	height: 100%;
	background-image: -moz-linear-gradient( 90deg, rgb(106,57,6) 0%, rgb(255,255,255) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(106,57,6) 0%, rgb(255,255,255) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(106,57,6) 0%, rgb(255,255,255) 100%);
	position: absolute;
	top: 0;
}

#cmn-lineup .navi li:nth-child(2):before {
	left: 0;
}

#cmn-lineup .navi li:nth-child(2):after {
	right: 0;
}

#cmn-lineup #standard {
	background: url(../img/common/product/bg_standard.jpg);
	background-size: cover;
}

#cmn-lineup #seasonality {
	background: url(../img/common/product/bg_seasonality.jpg);
	background-size: cover;
}

#cmn-lineup #seasonality ul li dt {
	min-height: 12.80vw;
}

#cmn-lineup #speciality {
	background: url(../img/common/product/bg_speciality.jpg);
	background-size: cover;
	color: #fff;
}

#cmn-lineup #speciality ul li .btn a {
	background-color: #fff;
	color: #6a3906;
}


#cmn-lineup .product {
	text-align: center;
	padding: 12vw 0 0;
}

#cmn-lineup .product h2 {
	font-size: 7.73vw;
	letter-spacing: .1em;
	padding-bottom: 4.80vw;
}

#cmn-lineup .product h3 {
	letter-spacing: .2em;
	padding-bottom: 13.33vw;
}


#cmn-lineup .product ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

#cmn-lineup .product ul li {
	width: 50%;
}

#cmn-lineup .product ul li figure {
	padding: 0 6vw;
}

#cmn-lineup .product ul li dt {
	font-size: 4.27vw;
	font-weight: bold;
	padding-top: 2vw;
}

#cmn-lineup .product ul li dt span {
	font-size: 3.2vw;
}

#cmn-lineup .product ul li dt:after {
	margin-bottom: 3.2vw;
}

#cmn-lineup .product ul li dd {
	font-size: 3.2vw;
	line-height: 1.4;
	padding-bottom: 2.4vw;
}

#cmn-lineup .product ul li .btn {
	padding-bottom: 14vw;
}

#cmn-lineup .product ul li .btn a {
	display: block;
	background-color: #6a3906;
	color: #fff;
	border-radius: 5px;
	width: 27.6vw;
	padding: 2.67vw 0;
	margin: 0 auto;
}

#cmn-lineup .product ul li .btn a:after {
	content: '\f105';
	font-family: FontAwesome;
	padding-left: 2vw;
}

#cmn-insta ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#cmn-insta ul li {
	/*width: calc(100%/3);*/
	width: 33%;
	padding-bottom: 0.5%;
}

#cmn-insta ul li a {
	display: block;
}


/*----------------------------------------------------
    page
----------------------------------------------------*/

#page-ttl {
	position: relative;
}

#page-ttl .ttl {
	position: absolute;
	bottom: 9.33vw;
	left: 50%;
	transform: translateX(-50%);
}

#page-ttl .ttl h1 {
	color: #fff;
}

#page-ttl .ttl h1:after {
	margin-bottom: 0;
}

/*----------------------------------------------------
    quality
----------------------------------------------------*/

#page-quality {
	background-color: #1d0804;
	color: #ccc9c4;
}

#page-quality dd {
	padding: 6vw 4vw;
}

#page-quality dd > div {
	border: 1px solid #d6d6d6;
	padding: 8vw 0 0;
}

#page-quality dd h1 {
	text-align: center;
	color: #dcd7bf;
	font-size: 6.67vw;
	line-height: 1.28;
	padding-bottom: 10vw;
}

#page-quality dd p {
	font-size: 3.73vw;
	letter-spacing: .28em;
	line-height: 1.7;
	padding: 0 6vw 6vw;
}

#page-quality dd h2 {
	font-size: 5.07vw;
	text-align: center;
	color: #dcd7bf;
}

#page-quality dd h2:after {
	content: '';
	display: block;
	width: 6.13vw;
	border: 0.67vw solid #dcd7bf;
	margin: 5.33vw auto 6.67vw;
}


/*----------------------------------------------------
    history
----------------------------------------------------*/

#page-history {
	background: url(../img/index/bg_quality.jpg);
	padding-bottom: 13.33vw;
}

#page-history h1 {
	text-align: center;
	font-size: 6.67vw;
	padding: 13.33vw 0;
}

#page-history p {
	padding: 0 6vw;
	font-size: 3.73vw;
	letter-spacing: .28em;
	line-height: 1.7;
}

#page-history .btn {
	margin: 0 16vw;
}

#page-history .btn a {
	display: block;
	text-align: center;
	background-color: #009944;
	color: #fff;
	font-size: 4vw;
	padding: 5.07vw 0;
	border-radius: 5px;
	margin: 4vw 0 0;
	position: relative;
}

#page-history .btn a:after {
	content: '\f107';
	font-family: FontAwesome;
	position: absolute;
	right: 6vw;
	top: 50%;
	transform: translateY(-50%);
}

#page-history p.ac {
	display: none;
	margin: 4vw 0 0;
}

#index-quality .vd {
	position: relative;
	width: 100%;
}

#index-quality video {
	position: absolute;
	left: 50%;
	top: 0;
	width: 100%;
	min-width: 100%;
	min-height: 100%;
	z-index: -1;
	transform: translateX(-50%);
}

/*----------------------------------------------------
    cm
----------------------------------------------------*/

#cm {
	height: 56vw;
}

#cm h1 a {
	width: 14vw;
}

.cm .vd {
	height: 56vw;
}

.cm video {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	    position: absolute;
    top: 0;
}

#page-cm h1 {
	text-align: center;
	font-size: 8vw;
	letter-spacing: .1em;
	padding-bottom: 12vw;
}

#page-cm h1 span {
	font-size: inherit;
	font-size: 3.2vw;
}

#page-cm p {
	font-size: 3.73vw;
	letter-spacing: .28em;
	line-height: 1.7;
		text-align: left;
	padding: 0 4vw;
}

#page-cm .story p {

}


#page-cm > div {
	padding: 12vw 0;
}

#page-cm .tvcm {
	background: url(../img/index/bg_quality.jpg);
}

#page-cm .special p {
	padding-bottom: 12vw;
}

#page-cm .tab_set {
	padding: 0 4vw;
}

#page-cm .tab_content li iframe {
	width: 100%;
	height: 52vw;
}

#page-cm .tab_content li span {
	display: block;
	color: #009944;
	font-size: 3.2vw;
	padding: 2vw 0 0;
}

#page-cm .tab_content li.hide {
	display: none;
}

#page-cm .tab {
	text-align: center;
	font-size: 0;
	padding: 4.67vw 0 8vw;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#page-cm .special h1 {
}

#page-cm .special .tab {
	display: block;
}

#page-cm .special .tab li {
	width: 100%;
	margin-bottom: 4vw;
}

#page-cm .tab li {
	width: 48%;
	background: #009944;
	color: #fff;
	font-size: 3.73vw;
	text-align: center;
	cursor: pointer;
	padding: 4vw 0;
	border-radius: 1.33vw;
	border: 2px solid #009944;
}

#page-cm .tab li.select {
	background: #fff;
	color: #009944;
}

#page-cm .tab li:after {
	font-family: FontAwesome;
	content: '\f105';
	padding: 0 0 0 2vw;
}

#page-cm .tab li.select:after {
	content: none;
}

#page-cm .special h2 {
	text-align: center;
	font-size: 5.60vw;
	letter-spacing: .1em;
	padding-bottom: 6vw;
	line-height: 1.3;
}

#page-cm .special h2 + p {
	padding-bottom: 6vw;
}

#page-cm .special .tab_set.up {
	margin-bottom: 8vw;
}


/*----------------------------------------------------
  Other
----------------------------------------------------*/

header.lp {
	overflow: visible;
}

header.lp #header h1 a {
	width: 12vw;
}

header.product #header {
	position: relative;
}

header.product_new {
	position: static;
}

header.product_old #header {
	position: relative;
	padding: 2vw 4vw;
}

header.product_old #header h1 a {
	width: 14vw;
}

header.product_old #header .menu {
	top: 5.5vw;
}

/*----------------------------------------------------
    detail
----------------------------------------------------*/

.ttl_cmn {
	text-align: center;
}

.ttl_cmn:after {
	content: '';
	display: block;
	width: 6.67vw;
	border-bottom: 4px solid #009944;
	margin: 0 auto;
	padding: 2.93vw 0 0;
}

.ttl_cmn h2 {
	font-size: 6.67vw;
	letter-spacing: 0.2em;
}

.ttl_cmn p {
	font-size: 3.2vw;
	padding: 2.67vw 0 0;
}

#detail .wrap {
	padding: 0 4vw;
}

#detail .product_view .genre {
	text-align: center;
}

#detail .product_view .genre h2 {
	color: #fff;
	padding: 1.6vw 0;
	font-size: 4.27vw;
}

#detail .product_view .genre h2.sta {
	background: #ba9f82;
}
#detail .product_view .genre h2.sea {
	background: #dd7b11;
}
#detail .product_view .genre h2.spe {
	background: #483724;
}

#detail .product_view .main {
	position: relative;
}

#detail .product_view .main ul li {
	position: absolute;
	top: 48%;
	width: 8.53vw;
}

#detail .product_view .main ul li.prev {
	left: 1.33vw;
}

#detail .product_view .main ul li.next {
	right: 1.33vw;
}

#detail .product_info .ttl_cmn:after {
	content: none;
}

#detail .product_info .cmn-ttl:after {
	margin-bottom: 0;
}

#detail .product_info .ttl_cmn h2 {
	font-weight: bold;
	line-height: 1.25;
}

#detail .product_info .ttl_cmn h2 span {
	font-size: 4vw;
	display: block;
	padding: 2vw 0;
}

#detail .product_info .ttl_cmn p {
	font-size: 3.73vw;
	font-weight: 400;
}

#detail .product_info .txt {
	padding: 8.93vw 0 0;
	text-align: center;
}

#detail .product_info .txt h3 span {
	text-align: center;
	font-size: 6.13vw;
	line-height: 1.3;
	letter-spacing: .1em;
}


#detail .product_info .txt p {
	font-size: 3.73vw;
	line-height: 1.5;
	padding: 6.13vw 0 0;
	text-align: left;
}

#detail .product_info .txt p span {
	font-size: 3.2vw;
}

#detail .product_info .txt p span.ast {
	font-size: 2.93vw;
}

#detail .product_info .sub {
	padding: 5.33vw 0;
}

#detail .product_info .sub dl {
	width: 100%;
	display: table;
	table-layout: fixed;
}

#detail .product_info .sub dl:last-child {
	border-bottom: 1px solid #c8c8c8;
}

#detail .product_info .sub dl dt,
#detail .product_info .sub dl dd {
	display: table-cell;
	border-top: 1px solid #c8c8c8;
	border-right: 1px solid #c8c8c8;
	padding: 2.93vw 0;
}

#detail .product_info .sub dl dt {
	background: rgba(236,224,210,.57);
	font-size: 3.73vw;
	border-left: 1px solid #c8c8c8;
	padding-left: 4vw;
	width: 40%;
}

#detail .product_info .sub dl dd {
	background: #fff;
	text-align: center;
	color: #009944;
	font-size: 5.33vw;
}

#detail .product_info .sub p {
	font-size: 3.2vw;
	line-height: 1.75;
	padding: 5.07vw 0 8vw;
	text-align: center;
}

#detail .product_good a {
	display: block;
	background-image: url(../img/product/bg-good_pc.jpg);
	background-size: cover;
	height: 48vw;
    text-align: center;
	color: #fff;
}

#detail .product_good a:hover {
	opacity: .8;
}

#detail .product_good a dl dt {
	font-size: 13.33vw;
	padding-top: 4vw;
}

#detail .product_good a dl dt:after {
	margin-bottom: 6.66vw;
}

#detail .product_good a dl dd {
	border: 1px solid #fff;
	font-size: 4.53vw;
	padding: 4vw 0;
	width: 80%;
	margin: 0 auto;
}

#detail .product_good a dl dd:after {
	content: '\f105';
	font-family: FontAwesome;
	margin-left: 2vw;
}

#detail #cmn-lineup .product {
	padding: 10vw 0 6vw;
}

#detail #cmn-lineup .product h2 {
	padding-bottom: 8vw;
}

#detail #cmn-lineup .product ul li {
	padding-bottom: 4vw;
}

#detail #cmn-lineup .btn {
	padding: 6.66vw 0 12vw;
}

#detail #cmn-lineup .btn a {
	display: block;
	background-color: #715739;
	color: #fff;
	font-size: 4.26vw;
	font-weight: bold;
	padding: 4vw 0;
	width: 67.2vw;
	margin: 0 auto;
	text-align: center;
	border-radius: 1.06vw;
	letter-spacing: .2em;
}

#detail #cmn-lineup .btn a:before {
	content: '\f104';
	font-family: FontAwesome;
	margin-right: 3.73vw;
}


#detail .decaf_detail .bl02 .inner,
#detail .decaf_detail .bl03 .inner {
	display: none;
}

#detail .decaf_detail .bl03 .inner {
	padding-bottom: 4vw;
}


#detail .decaf_detail .bl02 ul {
	padding: 0 0 8vw;
}

#detail .decaf_detail .bl02 dd {
	font-size: 4vw;
	line-height: 1.6;
	padding: 0 4vw;
}

#detail .decaf_detail .ttl {
	background-color: #401f0f;
    padding: 4vw;
    color: #ebd5ac;
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 6vw;
}

#detail .decaf_detail .ttl:after {
	content: '\f107';
	font-family: FontAwesome;
	font-size: 4vw;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 4vw;
}

#detail .decaf_detail .bl02 .ttl img {
	width: 85.73vw;
}
#detail .decaf_detail .bl03 .ttl img {
	width: 60.26vw;
}

#detail .decaf_detail .bl03 p {
	font-size: 4vw;
	line-height: 1.6;
	text-align: center;
}



#detail .ds_detail .bl02,
#detail .ds_detail .bl03 {
	padding: 0 0 6vw;
}

#detail .ds_detail .ttl {
	background-color: #401f0f;
	padding: 2vw 0;
	color: #ebd5ac;
	position: relative;
	display: flex;
	align-items: center;
}

#detail .ds_detail .ttl h2 {
	font-size: 5.60vw;
	font-weight: bold;
}

#detail .ds_detail .ttl:before {
	display: inline-block;
	content: '';
	background-image: url(../img/product/deepespresso/ttl_bg1.jpg);
	background-size: cover;
	width: 15.33vw;
	height: 19.86vw;
	margin: 0 2vw;
}

#detail .ds_detail .bl03 .ttl:before {
	background-image: url(../img/product/deepespresso/ttl_bg2.jpg);
}

#detail .ds_detail .ttl:after {
	content: '\f107';
	font-family: FontAwesome;
	font-size: 4vw;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 4vw;
}

#detail .ds_detail .cont {
	display: none;
}



#detail .ds_detail .box .in {
	padding: 0 4vw 4vw;
}

#detail .ds_detail .box h3 {
	font-size: 4.80vw;
	font-weight: bold;
	line-height: 1.25;
	text-align: center;
	letter-spacing: .1em;
	padding: 8.67vw 0;
}

#detail .ds_detail .box h3 span {
	font-size: 3.47vw;
}

#detail .ds_detail .box .in p {
	font-size: 4vw;
	line-height: 1.6;
}

#detail .ds_detail .box .in p span {
	font-size: 3.47vw;
}

#detail .ds_detail .box .in a {
	display: block;
	background: #093181;
	color: #fff;
	text-align: center;
	font-size: 3.73vw;
	font-weight: bold;
	padding: 3.33vw 0;
	width: 50%;
	margin: 8vw auto 4vw;
	border-radius: 1.33vw;
}

#detail .ds_detail .box .in a:after {
	font-family: FontAwesome;
	content: '\f105';
	padding: 0 0 0 2vw;
}

#detail .ds_detail .box .in figure {
	padding: 4vw 0 0;
}

.decaf-contact {
	padding-bottom: 6vw;
}

.decaf-contact dl dt,
.decaf-contact dl dd {
	border: 1px solid #009944;
}


.decaf-contact dl dt {
	text-align: center;
	background-color: #009944;
	color: #fff;
	padding: 2.4vw 0;
	font-size: 4.67vw;
	line-height: 1.5;
	font-weight: bold;
	border-radius: 10px 10px 0 0;
}

.decaf-contact dl dd {
	background-color: #fff;
	border-radius: 0 0 10px 10px;
}

.decaf-contact dl dd div {
	text-align: center;
	padding: 4vw 0;
}

.decaf-contact dl dd div a:before {
	content: '';
	display: inline-block;
	width: 40px;
	height: 23px;
	background: url(../img/icn-freetel.png) no-repeat;
	margin-right: 10px;
}

.decaf-contact dl dd div a {
	font-size: 8.47vw;
	display: block;
	font-weight: bold;
	color: #009944;
	margin-bottom: 2vw;
}

.decaf-contact dl dd div p {
	display: inline-block;
	color: #009944;
	font-weight: bold;
	border: 1px solid #009944;
	padding: 5px;
}

.decaf-contact dl dd > p {
	padding: 0 0 4vw;
	text-align: center;
}

#detail .cb_detail .bl02 .ttl {
	background-color: #f56a41;
	position: relative;
	color: #fff;
	padding: 4vw;
}

#detail .cb_detail .bl02 .ttl h2 {
	display: flex;
	align-items: center;
}

#detail .cb_detail .bl02 .ttl h2:after {
	font-family: FontAwesome;
	content: '\f107';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 5%;
	font-size: 4vw;
}

#detail .cb_detail .bl02 .ttl .f-ds {
	font-size: 11.73vw;
}

#detail .cb_detail .bl02 .ttl span + span {
	padding-left: 4vw;
}

#detail .cb_detail .bl02 .ttl:before,
#detail .cb_detail .bl02 .ttl:after {
	content: '';
	display: block;
	width: 100%;
	border-top: 1px solid #fab5a1;
	position: absolute;
	left: 0;
}

#detail .cb_detail .bl02 .ttl:before {
	top: 6px;
}

#detail .cb_detail .bl02 .ttl:after {
	bottom: 6px;
}


#detail .cb_detail .bl02 {
	padding-bottom: 6vw;
}

#detail .cb_detail .bl02 .inner {
	display: none;
}


/*----------------------------------------------------
  pagetop
----------------------------------------------------*/

.pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9997;
}

.pagetop a {
  display: block;
  width: 12vw;
}

/*----------------------------------------------------
    footer
----------------------------------------------------*/

footer {
	text-align: center;
}

footer .sns {
	padding: 4.67vw 4vw 6.67vw;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

footer .sns li {
	width: 48%;
}

footer .sns li:nth-child(3) {
	margin-top: 2vw;
}

footer .sns li a {
	display: block;
	background-color: #6a3906;
	color: #fff;
	padding: 4.67vw 0;
	position: relative;
}

footer .sns li a:before {
	font-family: FontAwesome;
	font-size: 6vw;
	vertical-align: middle;
	padding-right: 2vw;
}

footer .sns li.fb a:before {
	content: '\f09a';
}

footer .sns li.ig a:before {
	content: '\f16d';
}

footer .sns li.tw a:before {
	content: '\f099';
}

footer .sns li a:after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 2vw 2vw;
	border-color: transparent transparent #fff transparent;
	position: absolute;
	bottom: 0.67vw;
	right: 0.67vw;
}

footer .txt-link {
	display: flex;
	justify-content: center;
	padding-bottom: 8vw;
}

footer .txt-link li:first-child:after {
	content: '|';
	padding: 0 2vw;
}

footer .txt-link li a {
	font-size: 3.2vw;
}

footer .share dt {
	font-size: 3.2vw;
	padding-bottom: 4vw;
}

footer .share ul {
	display: flex;
	justify-content: center;
	padding-bottom: 6.67vw;
}

footer .share ul li {
	width: 12vw;
	padding: 0 1.2vw;
}

footer .copyright p {
	font-size: 2.67vw;
	letter-spacing: 0;
	color: #848484;
	padding-bottom: 5.33vw;
}

footer .copyright figure {
	width: 29.33vw;
	margin: 0 auto;
	padding-bottom: 5.33vw;
}
