﻿@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------

	Reset Styles
	From（フォーム）
	Paging（ページング）
	Widget（共通パーツ）

------------------------------------------------------------------------ */

/* ========================================================================
	Reset Styles
======================================================================== */

/* font-face */
@font-face{
	font-family:"YuGothic M"; /* Windows Firefox用 */
	src:local(Yu Gothic Medium);
}
/* HTML5 */
article, aside, figure, figcaption, video, footer, header,
main, nav, section, summary{
	display:block;
	margin:0;
}
/* Base Styles */
*{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
html, body, div, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, address, small,
ul, ol, li, dl, dt, dd,
table, th, td,
form, fieldset{
	margin:0;
	padding:0;
	font-weight:normal;
}
html{
	font-size:62.5%; /* 10px */
}
body{
	font-family:"游ゴシック Medium", "游ゴシック体", "YuGothic M", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size:1.3rem;
	color:#333333;
	line-height:2;
	text-size-adjust: 100%;
	-webkit-text-size-adjust:100%;
}
select,input,button,textarea{
	font-family:inherit;
	font-size:100%;
	color:#333333;
	background: #fff;
}
pre,code,kbd,samp{
	font-family:inherit;
}
img,
iframe{
	border:none;
	vertical-align:bottom;
}

table{
	width:100%;
	border:none;
	border-collapse:collapse;
	border-spacing:0;
	font-size:inherit;
	font:100%;
}
table th{
	text-align:left;
	vertical-align:top;
}
label{
	cursor:pointer;
}
input,
textarea{
	padding:0;
	vertical-align:middle;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="url"],
textarea{
	width:350px;
	height:45px;
	margin:5px 0;
	padding:0 10px;
}
textarea{
	width:100%;
	height:auto;
	padding:10px;
}
input,select,textarea{
	border: 1px solid #9f9fa0;
}
input::placeholder,textarea::placeholder{
  color: #9F9FA0;
}
/* IE */
input:-ms-input-placeholder,textarea:-ms-input-placeholder{
  color: #9F9FA0;
}
/* Edge */
input::-ms-input-placeholder,textarea::-ms-input-placeholder{
  color: #9F9FA0;
}
@media screen and (max-width: 767px){
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="url"],
textarea{
	width:100%;
	height:40px;
}
textarea{
	height:auto;
	padding:10px;
}
td.check label{
	display: block;
}
td.check br{
	display: none;
}
td.check strong{
	display: block;
}
}

/* Firefox・IE スピンボタン非表示 */
input[type="number"]{
	-moz-appearance:textfield;
}
/* Chrome・Safari スピンボタン非表示 */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{
	margin:0;
	-webkit-appearance:none;
}
input[type="radio"],
input[type="checkbox"]{
	cursor:pointer;
}
button,
input[type="image"],
input[type="submit"],
input[type="button"]{
	margin:0; /* iPhone・iPad用 */
	padding:0;
	cursor:pointer;
	border-radius:0; /* iPhone・iPad 角丸解除 */
	-webkit-appearance:none; /* iPhone・iPad グラデーション解除 */
}
select,
select option,
select optgroup{
	padding:0 10px;
	font-style:normal;
	cursor:pointer;
}
select{
	height:45px;
	margin:5px 0;
}
ol,ul{
	list-style:none;
}
h1{
	overflow: hidden;
	width: 45%;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media screen and (max-width: 767px){
h1{
	overflow: hidden;
	width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
}
}
h1,h2,h3,h4,h5,h6,small{
	font-size:100%;
}
address{
	font-style:normal;
} 
a,
input{
	outline:none;
}
/* Basic Text Link */
a[name]{
	text-decoration:none;
}
a:link{
	color:#333333;
	text-decoration:underline;
}
#about p a:link{
	color:#68a9c5;
	text-decoration:none;
}
#about p a:hover{
	text-decoration:none;
	color:#b2cbd9;
}
a:visited{
	text-decoration:underline;
	color:#333333;
}
a:hover{
	text-decoration:none;
	color:#333333;
}
a:focus{
	text-decoration:underline;
	color:#333333;
}
a:active{
	text-decoration:underline;
	color:#333333;
}
a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}
@media screen and (max-width: 767px){
a[href*="tel:"] {
	pointer-events: auto;
	cursor: pointer;
	text-decoration: underline;
}
}

/* Common Styles */
img{
	max-width:100%;
	height:auto;
}
ul,
ol,
.column{
	overflow:hidden;
	position:relative;
}
.center{text-align:center;}
.clear{clear: both;}
.highlight{background: #d3ebfa;}
/* ========================================================================
	From（フォーム）
======================================================================== */
form table{
	margin:0 0 20px 0;
}
form table tr{
	border-bottom:1px solid #888889;
}
form table th{
	width:220px;
	padding:13px 70px 13px 0;
	line-height: 2.0rem;
}
form table th span{
	display:block;
	color:#fff;
	background: #e3604b;
	width: 40px;
	padding: 0 5px;
	border-radius: 2px;
	line-height: 1.8rem;
	margin-top: 5px;
}
form table td{
	padding:5px 0;
}
form table td span{
	color:#E95448;
}
form table td label{
	display:inline-block;
	margin:5px 20px 5px 0;
}
form table td input[type="radio"]{
	margin:-2px 4px 0 0;
}
form table td input.size_S{ width:135px; }
form table td input.size_L{ width:100%; }

@media screen and (max-width: 767px){
form table th{
	display:block;
	width:auto;
	padding:10px 10px 0 2px;
	font-weight:bold;
	line-height:2;
}
form table th span{
	display:inline;
	margin:0 0 0 10px;
	font-weight:normal;
	font-size: 1.2rem;
	padding: 2px 5px;
}
form table td{
	display:block;
	padding:0 0 5px 0;
}
}

/* ----------------------------------------
	btn
---------------------------------------- */
form .btn{
	text-align:center;
	padding-bottom: 20px;
	margin-top: 20px;
}
form .btn p{
	padding:0 0 10px 0;
}
form .btn button{
	min-width:150px;
	height:40px;
	padding:0 25px;
	background:#595343;
	border:none;
	border-radius:20px;
	text-align:center;
	font-size:1.6rem;
	color:#ffffff;
	letter-spacing:2px;
}
/* ========================================================================
	Paging（ページング）
======================================================================== */
/* ----------------------------------------
	pagenavi（一覧ページ）
---------------------------------------- */
.pagenavi ul{
	padding:30px 0 30px 0;
	text-align:center;
	font-size:0;
}
.pagenavi ul li{
	display:inline-block;
	padding:0 6px 10px;
	font-size:1.2rem;
}
.pagenavi a,
.pagenavi span{
	display:block;
	width:32px;
	text-align:center;
	border: 1px solid #83817e;
	color:#333333;
	line-height:30px;
	text-decoration:none;
}
.pagenavi a:hover,
.pagenavi span{
	background:#83817e;
	color:#ffffff;
}
.pagenavi a.link_before,
.pagenavi a.link_next{
	width:60px;
}

/* ----------------------------------------
	paging（詳細ページ）
---------------------------------------- */
.paging{
	padding:0 0 20px 0;
	text-align:center;
	margin-top: 70px;
}
.paging a{
	padding:0 25px;
	color:#333333;
	text-decoration:none;
	font-size: 1.6rem;
}
.paging a:hover{
	text-decoration:underline;
}
@media screen and (max-width: 767px){
.paging a{
	padding:0 10px;
	color:#333333;
	text-decoration:none;
	font-size: 1.6rem;
	margin-top: 30px;
}
}

/* ========================================================================
	Widget（共通パーツ）
======================================================================== */
/* ----------------------------------------
	widget_gray
---------------------------------------- */
.widget_gray{
	background: #f2f1f0;
}
.widget_gray h3.border{
	border: none;
	padding: 50px 0 0;
}

/* ----------------------------------------
	widget_cnvbnr
---------------------------------------- */
.widget_cnvbnr{
	background: linear-gradient(to right, #BDD9D7 0%, #BDD9D7 50%, #E8DFC1 50%, #E8DFC1 100%);
	clear: both;
}
.widget_cnvbnr ul{
	text-align:center;
}
.widget_cnvbnr li{
	display:inline-block;
	width: 540px;
}
.widget_cnvbnr li:nth-child(1){
	background: #BDD9D7;
}
.widget_cnvbnr li:nth-child(2){
	padding-right: 0;
	background: #E8DFC1;
}
.widget_cnvbnr span.widget_navi a{
	display: block;
	margin: -50px auto 20px!important;
}
@media screen and (max-width: 767px){
.widget_cnvbnr li{
	width: 100%;
}
.widget_cnvbnr .widget_navi{
	display: block;
	margin: -20px auto 0!important;
	margin-top: 20px!important;
}
}
/* ----------------------------------------
	widget_bnr
---------------------------------------- */
.widget_bnr{
	padding:30px 0;
	text-align:center;
	font-size:0;
	clear: both;
}
.widget_bnr li{
	display:inline-block;
	padding:0 34.5px 0 0;
}
.widget_bnr li:nth-child(2n){
	padding-right: 0;
}
@media screen and (max-width: 767px){
.widget_bnr,
.widget_bnr li{
	padding:10px 0;
}
}
/* ----------------------------------------
	widget_menu
---------------------------------------- */
.widget_menu{
	background: #f2f1f0;
	padding: 20px 35px;
	margin-bottom: 30px !important;
	font-size: 1.6rem;
}
.widget_menu p{
	font-size: 2.0rem !important;
	margin-bottom: 0 !important;
}
.widget_menu a{
	text-decoration: none;
	color: #49627d;
}
.widget_menu ul li:before{
	content: "●";
	color: #667389;
	margin-right: 10px;
}
.widget_menu ol li{
	margin-left: 3.0rem;
	padding-left: 1.6rem;
	text-indent: -1.6rem;
}
.widget_menu ol li::before{
	content: "・";
}
@media screen and (max-width: 767px){
.widget_menu{
	padding: 15px;
	line-height: 2.5rem;
	font-size: 1.4rem;
}
.widget_menu ul li{
	line-height: 2.0rem;
}
.widget_menu ul li:before{
	content: "●";
	color: #667389;
	margin-right: 10px;
}
.widget_menu ol li{
	margin-left: 1.5rem;
}
.widget_menu p{
	font-size: 1.6rem !important;
	text-align: center;
}
}
/* ----------------------------------------
	widget_reserve
---------------------------------------- */
.widget_reserve .tap::before,
.widget_reserve .tap::after{
	content: "";
	background: url(/img/common/tap_line.png) no-repeat center;
	width: 380px;
	height: 170px;
	display: inline-block;
}
.widget_reserve .tap img{
	margin: 40px 15px 0;
}
.widget_reserve{
  background: #E8DFC1;
  margin-bottom: 20px;
  font-size: 1.4rem;
}
.widget_reserve h3.illust{
	font-size:2.0rem;
	padding: 15px 50px 0;
	font-weight: bold;
}
.widget_reserve h3.ttl{
	background: #dfcca0;
}
.widget_reserve h3.ttl:before{
	border-top: 20px solid #dfcca0;
}
.widget_reserve h3 span{
  padding:0 0 0 10px;
}
.widget_reserve p,
.widget_reserve form{
	padding: 15px 50px;
}
.widget_reserve .detail a{
	background: #5297d2;
	padding: 2px 10px;
	margin-left: 10px;
	border-radius: 5px;
	color: #fff;
	text-decoration: none;
}
.widget_reserve .detail a::before{
	content: ">";
	padding-right: 5px;
}
.widget_reserve .impact{
	color: red;
	margin-left: 10px;
}
@media screen and (max-width: 767px){
.widget_reserve .tap::before,
.widget_reserve .tap::after{
	content: "";
	background: url(/img/common/sp/tap_line_sp.png) no-repeat center;
	width: 100px;
	height: 80px;
	display: inline-block;
}
.widget_reserve .tap img{
	width: 30%;
	margin: 30px 5px 0;
}
.widget_reserve h3.illust{
	padding: 15px 15px 0;
}
.widget_reserve h3 span{
	font-size:1.4rem;
}
.widget_reserve h3.ttl:before{
	border-top: 13px solid #dfcca0;
}
.widget_reserve p,
.widget_reserve form{
	padding: 0 10px 20px;
	font-size: 1.4rem;
}
.widget_reserve .detail{
	display: block;
	font-size: 1.3rem;
}
}
/* ----------------------------------------
	widget_item_movie
---------------------------------------- */

@media screen and (max-width: 767px){
.widget_item_movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 0 0 30px 0;
}
.widget_item_movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
}

/* ----------------------------------------
	area
---------------------------------------- */
.area{
	padding:20px 0 40px 0;
}
.area span{
	font-weight:bold;
}
.area li{
	display: inline-block;
    padding-right: 8px;
}
.area li a{
	text-decoration: none;
}
@media screen and (max-width: 767px){
.area{
	padding:0 0 40px 0;
	line-height:2.3;
}
}

/* ----------------------------------------
  widget_showroom
---------------------------------------- */
.widget_showroom{
	background: #E8DFC1;
}
.widget_showroom ul{
	text-align: center;
}
.widget_showroom h3{
	font-size: 5.0rem!important;
	letter-spacing: 0!important;
	padding: 30px 0 10px;
	text-align: left!important;
	color: #fff;
	margin: 20px 0;
}
.widget_showroom h3 span{
	font-size: 1.9rem;
	padding-left: 20px;
	color: #333;
}
.widget_showroom li{
	display: inline-block;
	width: 48%;
	margin:0 34.5px 30px 0;
	line-height:1.6;
	border: 15px solid #fff;
}
.widget_showroom li:nth-child(2){
	margin-right:0;
}
.widget_showroom li a{
	display:block;
	color:#333333;
	text-decoration:none;
	text-align: center;
	font-size: 1.6rem;
}
.widget_showroom li img{
	width:100%;
}
.widget_showroom li span{
	display:block;
	padding:7px 0 7px 0;
	background: #fff;
}
.widget_showroom li strong{
	font-size: 2.0rem;
	display:block;
	margin-top: 10px;
}
.widget_showroom span em{
  margin: -10px auto 15px;
  display: block;
  font-weight: normal;
  font-style: normal;
}
.widget_showroom span em a{
  margin: 20px auto 15px;
}

@media screen and (max-width: 767px){
.widget_showroom{
	margin: 0 auto 15px;
}
.widget_showroom h3{
	font-size: 4.0rem!important;
	margin-left: 20px!important;
	line-height: 3.5rem!important;
}
.widget_showroom h3 span{
	display: block;
	font-size: 1.4rem;
	padding-left: 0;
}
.widget_showroom li{
	line-height:1.6;
	width: 95%;
	margin: 0 auto 30px;
}
.widget_showroom li a{
	display:block;
	color:#333333;
	text-decoration:none;
	text-align: center;
	font-size: 1.3rem;
	margin-bottom: 20px;
}
.widget_showroom li span{
	display:block;
	padding:7px 0 7px 0;
	background: #fff;
}
.widget_showroom li strong{
	font-size: 1.6rem;
	display: block;
}
.widget_showroom span em a{
  display: block;
  margin: 10px auto 5px!important;
}
}
/* ----------------------------------------
  widget_point
---------------------------------------- */
.widget_point li{
	position: relative;
	float: left;
	margin-right: 52px;
	width: 325px;
	margin-bottom: 30px;
}
.widget_point li:nth-child(3n){
	margin-right: 0;
}
.widget_point li em{
	position: absolute;
	top: 0;
	left: 0;
	background-color: #917546;
	color: #fff;
	padding: 0 25px;
	font-style: normal;
	font-size: 1.7rem;
	font-weight: bold;
}
.widget_point li strong{
	display: block;
	font-size: 1.6rem;
	color: #cf6205;
	font-weight: bold;
	text-align: center;
	margin-top: 5px;
}

@media screen and (max-width: 767px){
.widget_point li{
	position: relative;
	margin-bottom: 20px;
	text-align: center;
	width: 100%;
}
.widget_point li em{
	position: absolute;
	top: 0;
	left: 10px;
	background-color: #917546;
	padding: 0 25px;
	font-style: normal;
	font-size: 1.5rem;
	font-weight: bold;
}
.widget_point li span{
	display: block;
	text-align: left;
}
.widget_point li strong{
	display: block;
	font-size: 1.6rem;
	color: #cf6205;
	font-weight: bold;
	text-align: center;
	margin: 10px 0 5px;
}
}
/* ----------------------------------------
  widget_sns
---------------------------------------- */
.widget_sns{
	text-align: center;
	margin-top: 30px;
	padding-bottom: 10px
}
.widget_sns li{
	display: inline-block;
	padding: 20px 20px 40px 0;
}
.widget_sns li:nth-child(5){
	padding-right: 0;
}
@media screen and (max-width: 767px){
.widget_sns li{
	display: inline-block;
	padding: 0 10px 20px 0;
}
}
/* ----------------------------------------
  widget_navi , widget_navi_bk
---------------------------------------- */
.widget_navi li,
.widget_navi_bk li{
	display: inline-block;
	margin: 0 45px 0 0;
}
.widget_navi li:nth-child(3),
.widget_navi_bk li:nth-child(3),
.widget_navi2 li:nth-child(2){
	margin-right: 0;
}
.widget_navi,
.widget_navi_bk{
	position: relative;
	text-align: center;
	clear: both;
}
.widget_navi a,
.widget_navi_bk a,
.widget_navi_bk span{
	display: inline-block;
	padding: 10px 0;
	text-decoration: none;
	text-align: center;
	font-size: 1.8rem !important;
	line-height: 2.5rem;
	width: 310px;
	position : relative;
	letter-spacing: 0.5px;
	margin-bottom: 45px;
}
.widget_navi a{
	border: 1px solid #9f9fa0;
	background-color: #fff;
	z-index: 1;
}
.long a{width: 380px;}
.widget_navi a:hover{
	background: #e6e6e5;
	transition: 0.5s;
}
.widget_navi_bk a{
	background: #595343;
	color: #fff;
}
.widget_navi_bk span{
	background: #b3a99d;
	color: #595343;
}
.widget_navi_bk strong{
	background: #fffabb;
	padding: 0 5px;
	border-radius: 5px;
	color: #595343;
	margin-right: 5px;
}
.widget_navi a:after,
.widget_navi_bk a:after{
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 6px);
	left: 90%;
	width: 50px;
	height: 6px;
	border: none;
	border-right: 3px solid #000;
	border-bottom: 1px solid #000;
	transform: skew(45deg);
}
.widget_navi a:hover:after {
	position: absolute;
	top: calc(50% - 6px);
	left: 90%;
	width: 65px;
	height: 6px;
	transition: 0.5s;
}

@media screen and (max-width: 767px){
.widget_navi li,
.widget_navi_bk li{
	margin-right: 0;
}
.widget_navi a,
.widget_navi_bk a{
	margin-bottom: 20px;
	font-size: 1.5rem;
	width: 250px;
	padding: 6px 0 6px 0;
	z-index: 0!important;
}
.long a{width: 95%;}
.widget_navi a:after,
.widget_navi_bk a:after{
    right: -20px;
}
.widget_navi a:after,
.widget_navi_bk a:after{
	left: 93%;
	width: 30px;
}
.widget_navi a:hover:after{
	left: 93%;
	width: 30px;
}
}
/* ----------------------------------------
  widget_navi_back
---------------------------------------- */
.widget_navi_back li{
	display: inline-block;
	margin: 0 45px 0 0;
}
.widget_navi_back{
	position: relative;
	text-align: center;
	clear: both;
}
.widget_navi_back a,
.widget_navi_back span{
	display: inline-block;
	padding: 10px 0;
	text-decoration: none;
	text-align: center;
	font-size: 1.8rem !important;
	line-height: 2.5rem;
	width: 310px;
	position : relative;
	letter-spacing: 0.5px;
	margin-bottom: 45px;
}
.widget_navi_back a{
	border: 1px solid #9f9fa0;
	background-color: #fff;
	z-index: 1;
}
.widget_navi_back a:hover{
	background: #e6e6e5;
	transition: 0.5s;
}
.widget_navi_back a:after{
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 6px);
	right: 90%;
	width: 50px;
	height: 6px;
	border: none;
	border-left: 3px solid #000;
	border-bottom: 1px solid #000;
	transform: skew(-45deg);
}
.widget_navi_back a:hover:after {
	position: absolute;
	top: calc(50% - 6px);
	right: 90%;
	width: 65px;
	height: 6px;
	transition: 0.5s;
}

@media screen and (max-width: 767px){
.widget_navi_back li{
	margin-right: 0;
}
.widget_navi_back a{
	margin-bottom: 20px;
	font-size: 1.5rem;
	width: 250px;
	padding: 6px 0 6px 0;
	z-index: 0!important;
}
.widget_navi_back a:after{
    right: -20px;
}
.widget_navi_back a:after{
	right: 93%;
	width: 30px;
}
.widget_navi_back a:hover:after{
	right: 93%;
	width: 30px;
}
}
/* ----------------------------------------
	widget_btn
---------------------------------------- */
.widget_btn{
	text-align:center;
	margin-bottom: 10px;
}
.widget_btn a{
	border: 1px solid #9f9fa0;
	display:inline-block;
	text-align:center;
	font-size:1.6rem;
	line-height:40px;
	letter-spacing:2px;
	text-decoration:none;
	line-height: 2.0rem;
	padding: 10px 70px;
}
.widget_btn a:hover{
	background: #DCDCDD;
	transition: 0.8s;
}
/* ----------------------------------------
  widget_btn2
---------------------------------------- */
.widget_btn2 a{
  display: block;
  text-align: center;
  margin-top: 15px;
  padding: 4px 0 4px 0;
  border: 1px solid #9f9fa0;
  border-radius: 5px;
  font-size: 1.3rem;
  text-decoration: none;
  padding-left: 40px;
}
.widget_btn2 a:after{
  content: "";
  background: url(/img/common/icon_yaji.gif) center center no-repeat;
  width: 15px;
  height: 15px;
  padding-left: 60px;
}
.widget_btn2 a:hover{
  opacity: 0.7;
}
@media screen and (max-width: 767px){
.widget_btn2 a{
  display: block;
  text-align: center;
  margin-top: 15px;
  padding: 4px 0 4px 0;
  border: 1px solid #9f9fa0;
  border-radius: 5px;
  font-size: 1.3rem;
  text-decoration: none;
  padding-left: 40px;
}
.widget_btn2 a:after{
  content: "";
  background: url(/img/common/icon_yaji.gif) center center no-repeat;
  width: 15px;
  height: 15px;
  padding-left: 60px;
}
}
/* ----------------------------------------
	widget_back
---------------------------------------- */
.widget_back{
	margin-bottom: 20px;
}
.widget_back a{
	position:relative;
	padding:0 0 0 16px;
	color:#333333;
	text-decoration:none;
}
.widget_back a::before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	margin:-4px 0 0 0;
	border-style:solid;
	border-width:4px 6px 4px 0;
	border-color:transparent #7c6d53 transparent transparent;
}
.widget_back a:hover{
	text-decoration:underline;
}
@media screen and (max-width: 767px){
#works p.back a{

}
}
/* ----------------------------------------
	widget_tab
---------------------------------------- */
.widget_tab{
	margin:0 0 30px 0;
	padding:0 0 0 5px;
	border-bottom:1px solid #C9C9CA;
}
.widget_tab ul{
	margin:0 0 -1px 0;
}
.widget_tab li{
	float:left;
	min-width:150px;
	border:1px solid #C9C9CA;
	border-left:none;
}
.widget_tab li:first-child{ border-left:1px solid #C9C9CA; }
.widget_tab li.current, .widget_tab li:hover{ border-bottom-color:#ffffff; }

.widget_tab li a{
	display:block;
	padding:0 10px;
	text-align:center;
	font-size:1.4rem;
	color:#333333;
	line-height:30px;
	text-decoration:none;
}
.widget_tab li br{
	display:none;
}
@media screen and (max-width: 767px){
.widget_tab{
	margin-bottom:20px;
	padding:0 5px;
}
.widget_tab ul{
	display:table;
	table-layout:fixed;
	width:100%;
}
.widget_tab ul li{
	display:table-cell;
	float:none;
	min-width:none;
	vertical-align:middle;
}
.widget_tab ul li a{
	padding:6px 4px;
	line-height:1.5;
}
.widget_tab li br{
	display:block;
}
}
/* ----------------------------------------
	widget_entry
---------------------------------------- */
.widget_entry h3{
	margin:0 0 4px 0;
	border-bottom:1px solid #C9C9CA;
	font-size:2.2rem;
	font-weight:bold;
	/*color:#947351;*/
	line-height: 1.5em;
	padding-bottom: 10px;
}
.widget_entry h4{
	font-size: 1.7rem;
	font-weight: bold;
	border-bottom:1px solid #C9C9CA;
	margin-bottom: 10px;
}
.widget_entry p.date{
	text-align:right;
}
.widget_entry p.more{
	padding:20px 0 0 0;
	text-align:right;
}
.widget_entry p.more a{
	position:relative;
	padding:0 0 0 16px;
	color:#333333;
	text-decoration:none;
}
.widget_entry p.more a::before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	margin:-4px 0 0 0;
	border-style:solid;
	border-width:4px 0 4px 6px;
	border-color:transparent transparent transparent #7c6d53;
}
.widget_entry p.more a:hover{
	text-decoration:underline;
}
.widget_entry .entry p,
.widget_entry .entry div{
	width: 700px;
}
.more-btn{
	margin: 25px 0 45px 0;
}
.more-btn a{
	padding: 7px 40px 7px 60px;
	text-decoration: none;
	font-weight: bold;
	position: relative;
	border: 1px solid #cccccc;
	border-radius:4px;
}
.more-btn a:before{
	content: '';
	width: 20px;
	height: 20px;
	background: url(/img/common/icon_yaji_g.png) center center no-repeat;
	background-size: 15px 15px;
	position: absolute;
	left: 25px;
	top: 50%;
	margin-top: -10px;
}
.more-btn a:hover{
	text-decoration: none;
	opacity: 0.7;
}
.more-btn + a{
	margin-left: 20px;
}
.widget_entry .form h3{
	padding:20px 0 10px 0;
	font-size:1.8rem;
	font-weight:bold;
	color:#595757;
}
.widget_entry .form p{
	padding:0 0 20px 0;
}

@media screen and (max-width: 767px){
.widget_entry h2{
	padding:0 0 6px 0;
	line-height:1.5;
}
.widget_entry h3{
	font-size: 1.8rem;
}
.widget_entry p.date{
	padding:0 0 10px 0;
}
.widget_entry .entry p,
.widget_entry .entry div{
	width: 100%;
}
.widget_entry p.more{
	padding:10px 0 0 0;
}
.more-btn{
	margin-bottom: 40px !important;
}
}

/* ----------------------------------------
	widget_bloglist
---------------------------------------- */
.widget_bloglist{
	width: 1080px;
	margin: 0 auto;
}
.widget_bloglist li{
	width: 245px;
	height: 480px;
	float: left;
	margin: 0 30px 0 0;
}
.widget_bloglist li:nth-child(4n){
	margin-right: 0;
}
.widget_bloglist li a{
	display: block;
	color: #333333;
	text-decoration: none;
	text-align: center;
	margin-bottom: 20px;
}
.widget_bloglist li a:hover{
	opacity: 0.7;
}
.widget_bloglist li span{
	display: block;
	padding: 15px 0 0;
	line-height: 2.3rem;
	margin-bottom: 15px;
}
.widget_bloglist li strong{
	display: block;
	background: #E8DFC1;
	width: 120px;
	margin: 0 auto;
	line-height: 1.8rem;
}
.widget_bloglist em{
	font-weight: bold;
	display: block;
	margin: 6px 0;
	font-style: normal;
}
@media screen and (max-width: 767px){
.widget_bloglist{
	margin-top: 20px;
	width: 100%;
}
.widget_bloglist li{
	line-height:1.6;
	width: 100%;
	height: auto;
}
.widget_bloglist li img{
	width: 100%;
}
.widget_bloglist li a{
	display:block;
	color:#333333;
	text-decoration:none;
	text-align: center;
	font-size: 1.3rem;
	margin-bottom: 5px;
	background-color: #fff;
}
.widget_bloglist li span{
	display:block;
	padding:15px 5px;
	background: #eeefef;
}
.widget_bloglist strong{
	display: block;
	background: #E8DFC1;
	width: 110px;
	margin: 0 auto 5px;
	line-height: 1.8rem;
}
.widget_bloglist li span em{
	display: block;
	font-style: normal;
	font-weight: bold;
}
}

/* ----------------------------------------
  文字アニメーション設定*
---------------------------------------- */
.in_left {
  opacity: 0;
  transition: opacity 2s, translateX 2s; }

.in_left.is-show {
  /*jsで.is-showを付与　.is-showにアニメーションを指示*/
  animation-name: fadeIn_left;
  animation-duration: 1.5s;
  animation-fill-mode: forwards; }


@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn_left {
  0% {
    opacity: 0;
    transform: translateX(-50%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
@keyframes fadeIn_left {
  0% {
    opacity: 0;
    transform: translateX(-50%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
.in00 {
  animation-delay: 0s; }

.in01 {
  animation-delay: .2s; }

.in02 {
  animation-delay: .4s; }

.in03 {
  animation-delay: .6s; }

.in04 {
  animation-delay: .8s; }

.in05 {
  animation-delay: 1s; }
/* ----------------------------------------
  works　スクロール
---------------------------------------- */
.horizontal_scroll{
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px !important;
  display: -ms-flexbox;
  display: flex;
}
/* 画面幅が768px以上の場合、横スクロールを解除 */
@media screen and (min-width: 768px) {
  .horizontal_scroll {
    overflow-x: hidden; } }

.horizontal_scroll > li {
  width: 100%;
  min-width: 265px;
  margin-right: 5px !important; }

@media screen and (min-width: 768px) {
  .horizontal_scroll > li {
    min-width: 337px;
    margin-right: 34.5px !important; } }

@media screen and (min-width: 768px) {
  .horizontal_scroll > li:last-child {
    padding-right: 0; } }

/* ----------------------------------------
  works　スクロール
---------------------------------------- */
.horizontal_scroll2{
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px !important;
  display: -ms-flexbox;
  display: flex;
}
/* 画面幅が768px以上の場合、横スクロールを解除 */
@media screen and (min-width: 768px) {
  .horizontal_scroll2 {
    overflow-x: hidden; } }

.horizontal_scroll2 > li {
  width: 100%;
  min-width: 200px;
  margin-right: 5px !important; }

@media screen and (min-width: 768px) {
  .horizontal_scroll2 > li {
    min-width: 245px;
    margin-right: 5px !important; } }

@media screen and (min-width: 768px) {
  .horizontal_scroll2 > li:last-child {
    padding-right: 0; } }

/* ----------------------------------------
	widget_list
---------------------------------------- */
.widget_list{
	width: 960px;
	margin: 0 auto 40px;
	padding:0 0 20px 0;
}
.widget_list li{
	position:relative;
	padding:10px;
	border-bottom:2px solid #DEDDD6;
	font-size:1.7rem;
}
.widget_list li a{
	display:block;
	color:#333333;
	text-decoration:none;
	line-height: 1.8em;
}
.widget_list li span{
	position:absolute;
	bottom:10px;
	left:300px;
}
.widget_list li span strong{
	color: #8B6926;
	font-size: 1.8rem;
	font-weight: bold;
}
.widget_list li span strong:before{
	font-family: "Font Awesome 5 Free";
	content:"\f105";
	font-weight: 900;
	padding:0 0.5em 0 0;
}
.widget_list li span em{
	display: block;
	font-weight: bold;
	font-style: normal;
}

@media screen and (max-width: 767px){
.widget_list{
	width: 100%;
}
.widget_list li{
	padding:10px 0 20px;
	font-size:1.3rem;
}
.widget_list li img{
	float:left;
	width:120px;
	margin:0 10px 0 0;
}
.widget_list li span{
	overflow:hidden;
	display:block;
	position:static;
}
.widget_list li span strong{
	color: #8B6926;
	font-size: 1.3rem;
	font-weight: bold;
}
}

/* ----------------------------------------
	widget_lineup
---------------------------------------- */
.widget_lineup > li{
	position:relative;
	float:left;
	width:225px;
	min-height:410px;
	margin:10px 0 20px 40px;
	padding:0 0 110px 0;
	background:#f7ebbd;
	line-height:1.5;
}
.widget_lineup li:first-child{
	margin-left:0;
}
.widget_lineup h4{
	position:relative;
	padding:5px 0;
	background:#755f33;
	text-align:center;
	font-size:1.4rem !important;
	line-height: 2.0rem !important;
	color:#ffffff;
}
.widget_lineup h4::after{
	content:"";
	position:absolute;
	bottom:-15px;
	left:28px;
	border-style:solid;
	border-width:15px 7.5px 0 7.5px;
	border-color:#755f33 transparent transparent transparent;
}
.widget_lineup p{
	padding:0 20px;
}
.widget_lineup p.lead{
	margin:4px 20px 10px;
	padding:4px 0;
	background:#ffffff;
	text-align:center;
	color:#755F33;
}
.widget_lineup p.image{
	float:right;
	padding-left:0;
}
.widget_lineup dl{
	padding:0 20px 10px;
}
.widget_lineup dl dt{
	padding:0 0 4px 0;
	text-align:center;
	font-weight:bold;
	color:#539a35;
}
.widget_lineup ul{
	text-align:center;
	font-size:0;
}
.widget_lineup ul li{
	display:inline-block;
	margin:0 2px;
	padding:0 4px;
	border:1px solid #005fa4;
	font-size:1.2rem;
	color:#005fa4;
	line-height:18px;
}

@media screen and (max-width: 767px){
.widget_lineup{
	padding:0 0 10px 0;
}
.widget_lineup > li{
	overflow:hidden;
	position:relative;
	float:none;
	width:auto;
	min-height:inherit;
	margin:10px 0 20px 0;
	padding:0 0 10px 0;
}
.widget_lineup p{
	padding-left:10px;
	padding-right:10px;
}
.widget_lineup p.logo{
	text-align:center;
}
.widget_lineup p.logo img{
	width:140px;
}
.widget_lineupi p.lead{
	margin-left:10px;
	margin-right:10px;
}
.widget_lineup p.image{
	padding-left:10px;
}
.widget_lineup p.image img{
	width:39px;
}
.widget_lineup dl{
	padding:0 10px 10px;
}
}
/* btn
---------------------------------------- */
.widget_lineup .btn{
	position:absolute;
	bottom:10px;
	width:100%;
	text-align:center;
}
.widget_lineup .btn a{
	display:inline-block;
	width:150px;
	margin:0 0 10px 0;
	background:#624c1b;
	border-radius:8px;
	font-size:1.6rem;
	color:#ffffff;
	line-height:30px;
	text-decoration:none;
}
.widget_lineup .btn a span{
	padding:0 0 0 24px;
	background:url(../../img/taste/icon_concept.png) no-repeat left center;
	vertical-align:middle;
}

@media screen and (max-width: 767px){
.widget_lineup .btn{
	position:static;
	padding:10px 0 0 0;
}
.widget_lineup .btn a{
	width:135px;
	margin:0 5px;
}

.widget_lineup .btn a span{
	padding:0 0 0 20px;
	background-size:12px;
}
}
/* atta
---------------------------------------- */
.widget_lineup .atta{ background:#fee9b4; }
.widget_lineup .atta h4{ background:#d34b01; }
.widget_lineup .atta h4::after{ border-top-color:#d34b01; }
.widget_lineup .atta p.lead{ color:#d34b01; }
.widget_lineup .atta .btn a{ background-color:#d34b01; }

/* neo
---------------------------------------- */
.widget_lineup .neo{ background:#c4e5f7; }
.widget_lineup .neo h4{ background:#c6000b; }
.widget_lineup .neo h4::after{ border-top-color:#c6000b; }
.widget_lineup .neo p.lead{ color:#D1000E; }
.widget_lineup .neo .btn a{ background-color:#c8000b; }

/* zeh
---------------------------------------- */
.widget_lineup .zeh{ background:#f1f1aa; }
.widget_lineup .zeh h4{ background:#0068b6; }
.widget_lineup .zeh h4::after{ border-top-color:#0068b6; }
.widget_lineup .zeh p.lead{ color:#0068B7; }
.widget_lineup .zeh .btn a{ background-color:#0168b7; }

/* utility
---------------------------------------- */
.widget_lineup .utility{ background:#d4e9df; }
.widget_lineup .utility h4{ background:#5a8259; }
.widget_lineup .utility h4::after{ border-top-color:#5a8259; }
.widget_lineup .utility p.lead{ color:#2f562f; }
.widget_lineup .utility .btn a{ background-color:#5a8259; }

.teitanso_btn{
	position:absolute;
	top:285px;
  	left:422px;	
}
/* ----------------------------------------
	widget_copy
---------------------------------------- */
.widget_copy{
	font-size: 2.5rem;
	line-height: 3.7rem;
	text-align: center;
	letter-spacing: 0.2rem;
	margin-bottom: 15px;
}
.widget_copy strong{
	background:	linear-gradient(transparent 50%,#f9ecbd 50%);
	padding-left: 5px;
	margin-right: 5px;
}

@media screen and (max-width: 767px){
.widget_copy{
	font-size: 2.0rem;
	line-height: 2.5rem;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1rem;
	margin-bottom: 10px;
}
}
/* ----------------------------------------
	js-fadein
---------------------------------------- */
.js-fadein {
  opacity: 0; 
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-fadein.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
/* ----------------------------------------
	widget_cp_box
---------------------------------------- */
.widget_cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.widget_cp_box {
	width: auto;
	margin: 2em auto;
}
.widget_cp_box label {
	font-weight: bold;
	position: relative;
	display: block;
	margin: auto;
	padding: 1em 1em;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	background: #deddd6;
	border-radius: 3px;
	margin-bottom: 30px;
}
.widget_cp_box label:hover {
	transition: all 0.3s;
	background: #cfcec4;
}
.widget_cp_box label::after {
	font-family: 'FontAwesome';
	content: ' ＋';
}
.widget_cp_box label:hover::after {
	color: #333;
}
.widget_cp_box input:checked ~ label::after {
	font-family: 'FontAwesome';
	content: ' －';
}
.widget_cp_box input:checked ~ label:hover::after {
	color: #333;
}
.widget_cp_box input {
	display: none;
}
.widget_cp_box .cp_container {
	position: relative;
	z-index: 10;
	overflow: hidden;
	height: 0;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
}
.widget_cp_box input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
/* 続きを読むを押すと表示されるテキストの高さ */
.widget_cp_box input:checked ~ div.cp_container {
	height: auto;
}
/* ----------------------------------------
	datepicker
---------------------------------------- */
p.datepick{ padding: 5%; border: 1px solid #f1f1f1; background: rgb(249, 243, 237); }
#datepicker { padding: 2px 10px;}
.ui-widget-header{font-size: 85%; color:#c9c9ca; border: none; background: transparent; font-weight: normal; }
.ui-widget-content{ width: 240px; }
.ui-datepicker th{ font-weight: normal; }
th.ui-datepicker-week-end:nth-child(1){ color: rgb(224, 97, 97); }

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{ color: rgb(123, 149, 177); background: #fff; text-align: center; font-weight: normal; font-size: 110%; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active{ border-color: rgb(35, 180, 139); }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled{ opacity: .4; }
.date-holiday a.ui-state-default{ background: rgb(255, 233, 225); color: rgb(224, 97, 97); }
.saturday a.ui-state-default{ background: rgb(236, 248, 250); color: rgb(98, 179, 253); }
.sunday a.ui-state-default{ background: rgb(255, 233, 225); color: rgb(224, 97, 97); }

.date-holiday span.ui-state-default{ background: rgb(255, 243, 226); color: rgb(211, 141, 78); }
.saturday span.ui-state-default{ background: rgb(236, 248, 250); color: rgb(98, 179, 253); }
.sunday span.ui-state-default{ background: rgb(255, 233, 225); color: rgb(224, 97, 97); }
/*
@media screen and (max-width: 767px){
.ui-datepicker {
	position: absolute;
	top: 4850px !important;
	left: 48px !important;
}
_::-webkit-full-page-media, _:future, :root .ui-datepicker {
	position: absolute;
	top: 5150px !important;
	left: 48px !important;
}
}
*/

/* ----------------------------------------
  続きを読むボタン 閉じる
---------------------------------------- */
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	position: relative;
}
.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 100px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
.cp_box input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.cp_box label:after {
	font-size: 1.6rem;
	line-height: 4.5rem;
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 50%;
	width: 22rem;
	font-family: "Font Awesome 5 Free";
	content: '\f107''　写真をもっと見る';
	font-weight: 900;
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	border-radius: 30px;
	background: #fff;
	border: 1px solid #3e3a34;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	overflow: hidden;
	height: 520px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
.cp_box input:checked + label {
	display: none ; /* 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
	font-family: "Font Awesome 5 Free";
	content: '\f106''　閉じる';
	font-weight: 900;
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 30px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}
@media screen and (max-width: 767px){
.cp_box .cp_container {
	height: 950px; /* 開く前に見えている部分の高さ */
}
}





