@charset "utf-8";
/* css Document */
/* ALL*/
body{
	min-width:1080px;
}
.pc_no {
	display: none;
}

/* 共通 */
article {
	text-align: left;
}
.w_100per {
	width: 100%;
}
.w_1080 {
	width: 1080px;
	margin: 0 auto;
}
.bg_01{
 background-color: #F5F7F3;
}

/* メインコンテンツ */
.container{
 padding: 100px 0;
}

/* h2 */
 .cont_title_txt p {
	font-weight: 400;
	font-size: 6rem;
 line-height: 1.0;
 letter-spacing: 0.2em;
 padding-bottom: 20px;
 text-align: left;
}
.cont_title_txt h2{
 display: block;
	font-weight: 500;
	font-size: 1.5rem;
 letter-spacing: 0em;
}
/* タイトル */
.cont_title{
 position:relative;
 min-height: 400px;
}
.cont_title_img{
 position:absolute;
 top:0;
 right: 0;
 z-index: -1;
 text-align: right;
 width: 50%;
}
.cont_title_img img{
 width: 100%;
}
/* //タイトル */
/* //h2 */

/* h3 */
 h3 {
	font-weight: 500;
	font-size: 3rem;
 line-height: 1.0;
 padding-bottom: 50px;
 text-align: left;
}
 h3::before{
	content: url(/common/img/icon_logo.svg);
 width: 50px;
 margin: 0 10px 10px 0;
 display: inline-block;
}
 h3 span{
 font-weight: normal;
 color: #808080;
	font-size: 1.2rem;
 display: block;
 margin-left: 60px;
}
/* //h3 */

/* キャッチコピー */
.cont_catch {
 position: relative;
 text-align: center;
 line-height: 1.3;
 font-size: 2.0rem;
 margin:50px 0 100px 0;
}
.cont_catch:before,
.cont_catch:after {
 position: absolute;
 top: -0.8rem;
 height: 8rem;
 content: '';
}
.cont_catch:before {
 border-left: solid 3px;
 margin-left: -5rem;
 transform: rotate(-25deg);
}
 .cont_catch:after {
 border-right: solid 3px;
 transform: rotate(25deg);
 margin-left: 5rem;
}
/* //キャッチコピー */


/* セミタイトル */
[class^="semi_title"]{
 position: relative;
 text-align: center;
 background-color: #799755;
 margin-bottom: 50px;
 padding: 10px 0;
}
[class^="semi_title"]::after{
	content:'';
	top: 100%;
	left: 50%;
	border: solid transparent;
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-top-color: #799755;
	border-width: 20px;
	margin-left: -20px;
}
.semi_title-black{
 background-color: #000;
 color: #fff;
}
.semi_title-black::after{
	border-top-color: #000;
}
/* //セミタイトル */

/* 2カラム */
.two_column_01{
 display: flex;
 display: -webkit-flex;
}
.two_column_01 p{
 width: 70%;
	text-indent:0em;
}
.two_column_01 p big{
 font-size: 1.4rem;
 font-weight: 600;
}
.two_column_01 div{
 width: 30%;
 margin-left: 20px;
}
.two_column_01 img{
 width: 100%;
}
/* //2カラム */

/* features*/
.cont_features{
 display: flex;
 display: -webkit-flex;
 margin-bottom: 10%;
 font-size: 1rem;
}
.cont_features:last-of-type{
 margin-bottom: 0;
}
[class^="cont_features_img"]{
 width: 50%;
 margin-right: 2%;
 z-index: -1;
}
[class^="cont_features_img"] img{
 width: 100%;
}
.cont_features_img-02{
 margin: 0;
}
[class^="cont_features_txt"]{
 width: 48%;
 margin: 3% 0 0 0;
 z-index: 1;
}
[class^="cont_features_txt"] P{
 margin-bottom: 4%;
}
.cont_features_txt-02{
 margin-right: 2%;
}
.btn_txt{
 text-align: right;
}
.btn_txt-02{
 text-align: left;
}
[class^="cont_features_title"]{
 white-space: nowrap;
 font-size: 3rem;
 line-height: 1.0;
 font-weight: 400;
 color: #fff;
 background:rgba(121,151,85,0.8);
 display:inline-block;
 padding: 4% 15% 4.5% 15%;
 margin: 0 0 2% -30%;
}
.cont_features_title-02{
 margin: 0 0 2% 70%;
}
/* //features*/


/* 営業時間 */
.cont_time{
 font-size: 2rem;
}
.cont_time li{
 display: flex;
 display: -webkit-flex;
 flex-direction: row;
 text-align: left;
 margin-bottom: 20px;
 background: #fff;
}
.cont_time li:last-of-type{
 margin-bottom: 0;
}
.cont_time li span{
 color: #fff;
 display: table-cell;
 width: 22%;
 padding: 20px 0;
 vertical-align: middle;
 background: #799755;
 text-align: center;
}
.cont_time p{
 padding:20px 40px;
 display: table-cell;
 vertical-align: middle;
 width: 78%;
}
.cont_time small{
 font-size: 1.4rem;
 display: inline-block;
}
/* //営業時間*/

/* ボタン*/
[class^="btn_txt"] a{
 display: block;
 transition:all 1s;
}
[class^="btn_txt"] a::after{
	content: url(/common/img/icon_arrow_01.svg);
 filter: invert(66%) sepia(12%) saturate(1436%) hue-rotate(45deg) brightness(82%) contrast(78%);
 width: 6px;
 margin: 0 0 0 5px;
 display: inline-block;
 transition:all 1s;
}
[class^="btn_txt"] a:hover::after{
 filter: brightness(1) invert(0);
 transition:all 1s;
}
[class^="btn_txt"] a:hover{
 transform:translateX(-20px) ;
}
span[class^="btn_txt"] a{
 display: inline;
}
