@charset "utf-8";



.body-wrapper {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.job_block{
background: #ececec;
width: 100%;
height: 100%;
}

.main{
width: 100%;
margin: 0px auto;
}

.contents {
    display: flex;
    flex-wrap: wrap;
}

.contents .caption{
width: 100%;
margin: 40px auto;
text-align: center;
}

.contents .caption h2{
font-size: 28px;
font-weight: bold;
margin: 40px auto 40px auto;
letter-spacing: 3px;
}
.contents .caption p{
font-size: 16px;
line-height: 240%;
font-family: 'Noto Sans JP', sans-serif;
}


.btn-white-res {
    display: none;
}

.btn::before {
    content: '';
    position: absolute;
    left: 98%;
    bottom: 50%;
    display: inline-block;
    width: 50px;
    height: 1px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    background-color: #FFF;
}

.dining-btn-box {
    text-align: center;
    margin-top: 60px;
    margin-bottom: 100px;
}

.btn-dining {
    position: static;
    position: relative;
}



.produce {
    width: 100%;
    height: auto;
    background: url("../images/produce-bg.jpg") no-repeat;
    background-size: cover;
    background-position-y: 60%;
    overflow: hidden;
    padding-bottom: 100px;
}

.produce-title {
    width: 93px;
    margin: 75px auto 85px;
}

.produce-content {
    display: flex;
    flex-wrap: wrap;
    color: #fff;
}

.produce-box-l {
    width: 570px;
    position: relative;
}

.produce-content-title {
    font-size: 1.8rem;
    letter-spacing: 1.5px;
    border-bottom: 1px dashed #FFF;
    padding-bottom: 15px;
    display: inline-block;
}

.produce-content-title span {
    font-size: 1.5rem;
    padding-left: 24px;
}

.produce-subtitle {
    font-family: adobe-garamond-pro, serif;
    font-size: 2.5rem;
    line-height: 50.37px;
    letter-spacing: 1.25px;
    margin: 50px 0 35px;
}

.produce-items-title {
    color: #000 !important;
}

.produce-desc {
    font-size: 1.8rem;
    line-height: 40px;
    letter-spacing: 1.8px;
    margin-bottom: 100px;
    max-width: 90%;
}

.produce-box-r {
    width: 570px;
    height: 620px;
    position: relative;
}

.produce-box-r img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.case_block {
background: #E4E4E4;
width: 100%;
}
.case_block ul{
width: 1000px;
margin: 0px auto;
display: flex;
justify-content: space-between;
}
.case_block ul li{
width: 30%;
}
.case_block ul li img{
width: 100%;
}

/*-----------catering----------*/

.mainimage{
margin: 50px auto 0px auto;
background: url("../contact/images/contact-bg.jpg") center;
background-size: cover;
text-align: center;
height: 200px;
display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
.mainimage .filter{
background: rgba(0,0,0,0.60);
display: block;
height: 100%;
width: 100%;
display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
.mainimage h1{
color: #fff;
font-size: 50px;
letter-spacing: 2px;
font-weight: 300;
font-family: 'Crimson Text', serif;
position: absolute;
top: 130px;
z-index: 4;
}
.mainimage .tate{
position: absolute;
top: 200px;
z-index: 2;
  width: 1px;
  height: 50px;
  background-color: #fff;
}

.contact{
font-family: 'Noto Sans JP', sans-serif;
}

.contact-text{
width: 90%;
margin: 50px auto 30px auto;
}


