@media only screen and (min-width: 768px) {
  body {
    line-height: 30px;
  }
}

#key {
  background-image: url("../img/menu/key.jpg");
  background-position: 2%;
}

#sec1 {
  border-bottom: 3px solid #301301;
  padding: 15vw 0;
  position: relative;
  z-index: 0;
}

#sec1:before {
  content: '';
  width: 40%;
  height: 50vw;
  background-image: url("../img/menu/s1-dc.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: 0;
  top: 3vw;
  z-index: -1;
}

#sec1:after {
  content: '';
  width: 19vw;
  height: 36vw;
  background-image: url(../img/shared/dc1.png);
  background-size: 13vw;
  position: absolute;
  right: 0;
  top: 95vw;
  z-index: -1;
}

#sec1 h2 {
  margin-right: -4%;
  white-space: nowrap;
  line-height: 10vw;
}

#sec1 h2 span {
  letter-spacing: 0.07em;
}

#sec1 h2 .bg_bl {
  position: relative;
  z-index: 0;
  color: #fff;
  margin-left: 2vw;
}

#sec1 h2 .bg_bl:before {
  content: '';
  background: #120f0c;
  position: absolute;
  right: -1vw;
  left: -1.8vw;
  top: 0;
  bottom: 0;
  z-index: -1;
}

#sec1 .s1-js {
  margin: 7vw 0;
}

#sec1 .txt span {
  display: block;
}

#sec1 .txt span + span {
  margin-top: 25px;
}

@media only screen and (min-width: 768px) {
  #sec1 {
    border-width: 6px;
    padding: 120px 0;
  }
  #sec1:before {
    width: 343px;
    height: 244px;
    left: calc(50% - 710px);
    top: 123px;
  }
  #sec1:after {
    width: calc(50% - 564px);
    height: 289px;
    background-size: auto;
    top: 652px;
  }
  #sec1 h2 {
    width: 200px;
    float: left;
    margin: 75px 0 0 0;
    line-height: 76px;
  }
  #sec1 h2 span {
    letter-spacing: 0.2em;
  }
  #sec1 h2 .bg_bl {
    margin: 0 0 -30px 0;
    letter-spacing: 0.14em;
  }
  #sec1 h2 .bg_bl:before {
    right: -2px;
    left: -2px;
    top: 12px;
    bottom: -10px;
  }
  #sec1 h2 .r2 {
    margin: 80px 29px 0 0;
    letter-spacing: 0.28em;
  }
  #sec1 h2 .fz72 {
    margin-bottom: -4px;
  }
  #sec1 .col {
    width: 894px;
    float: right;
    margin: 0 -142px 0 0;
  }
  #sec1 .s1-js {
    margin: 0;
  }
  #sec1 .s1-js .slick-dots {
    margin: -1px 0 0 11px;
  }
  #sec1 .txt {
    width: 600px;
    height: 330px;
    margin: 62px 0 0 120px;
  }
  #sec1 .txt span + span {
    margin: 0 30px 0 0;
  }
}

#sec2 {
  padding: 15vw 0;
  position: relative;
}

#sec2:before {
  content: '';
  width: 38vw;
  height: 25vw;
  background-image: url(../img/shared/dc2.png);
  background-size: 11.3vw;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

#sec2 .col {
  margin-top: 8vw;
}

#sec2 .col .note {
  margin: 4vw 0 0;
}

#sec2 .col .price {
  font-size: 22px;
  margin-bottom: 5vw;
}

#sec2 .col .price small {
  font-size: 15px;
}

#sec2 .s2-js {
  line-height: 0;
}

#sec2 .s2-js .slick-dots {
  display: block;
  position: absolute;
  right: -12px;
  bottom: 5px;
  z-index: 1;
}

#sec2 .s2-js .slick-dots li + li {
  margin: 7px 0 0;
}

@media only screen and (min-width: 768px) {
  #sec2 {
    padding: 120px 0;
  }
  #sec2:before {
    width: calc(50% - 380px);
    height: 232px;
    background-size: auto;
  }
  #sec2 .col {
    width: 443px;
    float: right;
    margin-top: 43px;
  }
  #sec2 .col h2 {
    margin-right: -80px;
    letter-spacing: 0.1em;
  }
  #sec2 .col .note {
    margin: 41px 0 8px 1px;
  }
  #sec2 .col .price {
    font-size: 36px;
    letter-spacing: 0.14em;
    margin-bottom: 58px;
  }
  #sec2 .col .price small {
    font-size: 24px;
  }
  #sec2 .col .txt {
    margin: 0 -7px 0 2px;
  }
  #sec2 .s2-js {
    width: 567px;
    float: left;
    margin-left: -67px;
  }
  #sec2 .s2-js .slick-dots {
    right: -18px;
    bottom: 14px;
  }
  #sec2 .s2-js .slick-dots li + li {
    margin: 15px 0 0;
  }
}

#sec3 {
  background-image: url("../img/menu/s3-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 70vw;
}

@media only screen and (min-width: 768px) {
  #sec3 {
    height: 590px;
  }
}

#sec4 {
  padding-bottom: 15vw;
  position: relative;
}

#sec4:before {
  content: '';
  width: 38vw;
  height: 25vw;
  background-image: url(../img/shared/dc2.png);
  background-size: 11.3vw;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}

#sec4 .img img {
  margin-top: -15vw;
}

#sec4 .col {
  margin-top: 8vw;
}

#sec4 .col h2 {
  line-height: 8vw;
}

#sec4 .col .price {
  font-size: 22px;
  margin: 3vw 0 5vw;
}

#sec4 .col .price small {
  font-size: 15px;
}

@media only screen and (min-width: 768px) {
  #sec4 {
    padding-bottom: 120px;
  }
  #sec4:before {
    width: calc(50% - 316px);
    height: 294px;
    background-size: auto;
  }
  #sec4 .img {
    width: 533px;
    float: right;
  }
  #sec4 .img img {
    margin-top: -161px;
  }
  #sec4 .col {
    width: 465px;
    float: left;
    margin-top: 0;
    padding: 37px 0 16px 12px;
    border-left: 2px solid #9f9891;
  }
  #sec4 .col h2 {
    line-height: 48px;
    letter-spacing: 0.2em;
  }
  #sec4 .col .price {
    font-size: 36px;
    letter-spacing: 0.14em;
    margin: 27px 0 20px 5px;
  }
  #sec4 .col .price small {
    font-size: 24px;
  }
  #sec4 .col .txt {
    margin: 0 31px 0 8px;
  }
}

#sec6 {
  padding: 12vw 2%;
  background-image: url("../img/menu/s6-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 29% center;
}

#sec6 .box {
  max-width: 335px;
  width: 100%;
  height: 335px;
  margin: 0 auto;
  background: rgba(242, 237, 226, 0.9);
  border: 2px solid #645133;
  border-radius: 50%;
  padding: 31px 10px 0;
}

#sec6 .box h2 {
  font-size: 25px;
  line-height: 30px;
  letter-spacing: 0.2em;
}

#sec6 .box .price {
  font-size: 22px;
  margin: 15px 0;
}

#sec6 .box .price small {
  font-size: 15px;
}

@media only screen and (max-width: 370px) {
  #sec6 .box {
    height: 377px;
  }
}

@media only screen and (min-width: 768px) {
  #sec6 {
    padding: 60px 20px 60px;
    background-position: 50% center;
  }
  #sec6 .inner {
    max-width: 1334px;
    width: 100%;
    margin: 0 auto;
  }
  #sec6 .box {
    max-width: 530px;
    height: 530px;
    margin: 0 0 0 auto;
    border: 4px solid #645133;
    padding: 58px 42px 0 56px;
  }
  #sec6 .box h2 {
    font-size: 50px;
    line-height: 60px;
  }
  #sec6 .box .price {
    font-size: 36px;
    letter-spacing: 0.14em;
    margin: 34px 0 32px 15px;
  }
  #sec6 .box .price small {
    font-size: 24px;
  }
  #sec6 .box .txt {
    letter-spacing: 0.22em;
  }
}

#sec7 {
  padding: 15vw 0;
  position: relative;
}

#sec7:before {
  content: '';
  width: 38vw;
  height: 25vw;
  background-image: url(../img/shared/dc2.png);
  background-size: 11.3vw;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

#sec7 h2 {
  position: absolute;
  right: 1%;
  top: -7vw;
  z-index: 1;
}

#sec7 h2 small {
  line-height: 7vw;
}

#sec7 h2 span.db {
  background: #fff;
  border: 1px solid #5a472b;
  margin: 15vw 2vw 0 0;
  padding-top: 1.5vw;
  line-height: 8vw;
}

#sec7 h2 span.db span.bg_br {
  background: #301301;
  color: #fff;
  display: inline-block;
  padding: 1vw 0;
}

#sec7 .s7-js {
  width: 80%;
  margin: 10vw auto 7vw;
}

#sec7 .s7-js .slick-dots {
  justify-content: flex-end;
}

@media only screen and (min-width: 768px) {
  #sec7 {
    padding: 120px 0;
  }
  #sec7:before {
    width: calc(50% - 365px);
    height: 265px;
    background-size: auto;
  }
  #sec7 h2 {
    right: auto;
    left: 91px;
    top: -45px;
  }
  #sec7 h2 small {
    line-height: 48px;
    letter-spacing: 0.2em;
  }
  #sec7 h2 span.db {
    margin: 125px 32px 0 0;
    padding: 11px 0px 0 0;
    line-height: 68px;
    letter-spacing: 0.2em;
  }
  #sec7 h2 span.db span.bg_br {
    padding: 7px 0 4px;
    margin-top: -6px;
  }
  #sec7 .img {
    margin: 0 0 -161px 362px;
  }
  #sec7 .s7-js {
    width: 450px;
    float: left;
    margin: 0 0 0 -28px;
  }
  #sec7 .s7-js .slick-dots {
    justify-content: flex-end;
    margin: -1px 10px 0 0;
  }
  #sec7 .txt {
    width: 550px;
    float: right;
    letter-spacing: 0.22em;
    margin: 192px -11px 0 0;
  }
}

#sec8 {
  background: #0b0907;
  color: #e9e1d0;
  padding: 12vw 0% 20vw;
}

#sec8 .inner {
  max-width: 1450px;
  width: 100%;
  margin: 0 auto;
}

#sec8 h2 {
  position: relative;
}

#sec8 h2:before {
  content: '';
  width: 1px;
  height: 9vw;
  background: #9d8455;
  position: absolute;
  left: 49%;
  top: -12vw;
}

#sec8 h2:after {
  content: '';
  width: 1px;
  height: 13vw;
  background: #0b0907;
  position: absolute;
  left: 49%;
  top: -25vw;
}

#sec8 .txt {
  margin-top: 6vw;
  padding: 0 5%;
}

#sec8 .txt span {
  display: block;
}

#sec8 .txt span + span {
  margin-top: 20px;
}

#sec8 .s8-js {
  color: #000;
  font-size: 4.8vw;
  line-height: 6vw;
  letter-spacing: 0.1em;
  margin-top: 8vw;
}

#sec8 .s8-js .ttl-grp {
  padding: 3vw 0;
}

#sec8 .s8-js .one {
  padding: 6vw 0;
}

#sec8 .s8-js .price {
  letter-spacing: 0.05em;
  margin-top: 2vw;
}

#sec8 .s8-js .price small {
  font-size: 3.8vw;
}

#sec8 .s8-js .slick-slide {
  margin: 0 2vw;
  background-image: url("../img/shared/bg.jpg");
}

@media only screen and (min-width: 768px) {
  #sec8 {
    padding: 0 27px 104px;
    background: transparent;
    position: relative;
    z-index: 0;
  }
  #sec8:before {
    content: '';
    background: #0b0907;
    position: absolute;
    left: 25px;
    right: 25px;
    bottom: 0;
    top: 99px;
    z-index: -1;
  }
  #sec8 h2 {
    width: 80px;
    line-height: 80px;
    margin-top: 149px;
  }
  #sec8 h2:before {
    height: 38px;
    left: 49%;
    top: -49px;
  }
  #sec8 h2:after {
    height: 175px;
    left: 49%;
    top: -225px;
  }
  #sec8 .txt {
    width: 208px;
    margin: 153px 35px 0 29px;
    padding: 0;
    line-height: 32px;
    letter-spacing: 0.1em;
  }
  #sec8 .txt span + span {
    margin-top: 32px;
  }
  #sec8 .s8-js {
    width: 1318px;
    font-size: 30px;
    line-height: 36px;
    margin-top: 0;
    margin-right: -411px;
  }
  #sec8 .s8-js .ttl-grp {
    padding: 26px 0 32px;
  }
  #sec8 .s8-js .one {
    padding: 37px 0 56px;
  }
  #sec8 .s8-js .price {
    margin-top: 11px;
  }
  #sec8 .s8-js .price small {
    font-size: 22px;
  }
  #sec8 .s8-js .slick-slide {
    margin: 0 15px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1400px) {
  #sec8:before {
    left: 10px;
    right: 10px;
  }
  #sec8 .s8-js {
    width: 1290px;
    margin-right: -466px;
  }
  #sec8 .s8-js .slick-slide {
    margin: 0 10px;
  }
  #sec8 .txt {
    margin: 153px 10px 0 20px;
  }
}

#news2 {
  max-width: 1300px;
  width: 94%;
  margin: 12vw auto;
  padding: 12vw 0;
}

#news2 h2 {
  font-size: 5vw;
  line-height: 7vw;
  letter-spacing: 0.3em;
  margin-bottom: 5.5vw;
}

#news2 #feed .item {
  border-bottom: 1px solid #7f6248;
}

#news2 #feed .item a {
  width: 100%;
  display: table;
  padding: 7px 0;
  position: relative;
}

#news2 #feed .item a:after {
  content: '';
  width: 7px;
  background-image: url("../img/shared/right-bl.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  position: absolute;
  right: 5px;
  top: 0;
  bottom: 0;
}

#news2 #feed .item a span {
  display: block;
}

#news2 #feed .item a span.photo {
  width: 40%;
  display: table-cell;
  vertical-align: middle;
}

#news2 #feed .item a span.photo span {
  width: 100% !important;
  height: 0 !important;
  padding-top: 20vw;
}

#news2 #feed .item a span.ttl-grp {
  width: 60%;
  display: table-cell;
  vertical-align: middle;
  font-size: 12px;
  line-height: 16px;
  padding: 0 23px 0 4%;
}

#news2 #feed .item a span.ttl-grp .date {
  font-size: 10px;
  margin-bottom: 3px;
}

#news2 .btn-link {
  margin-top: 8vw;
  max-width: 200px;
}

#news2 .btn-link a {
  background: #25241f;
}

@media only screen and (min-width: 768px) {
  #news2 {
    margin: 120px auto;
    padding: 49px 0 80px;
    position: relative;
  }
  #news2 h2 {
    white-space: nowrap;
    font-size: 36px;
    line-height: 40px;
    margin-bottom: 0;
    position: absolute;
    left: 42px;
    top: 24px;
  }
  #news2 #feed {
    width: 721px;
    min-height: 260px;
    margin-left: 188px;
  }
  #news2 #feed .item a {
    padding: 9px 0 8px 8px;
    z-index: 0;
  }
  #news2 #feed .item a:before {
    content: '';
    width: 0;
    background: rgba(0, 0, 0, 0.05);
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    transition: 0.3s all ease-in-out;
  }
  #news2 #feed .item a:hover:before {
    width: 100%;
  }
  #news2 #feed .item a:after {
    width: 10px;
    right: 29px;
    top: 12px;
  }
  #news2 #feed .item a span.photo {
    width: 240px;
  }
  #news2 #feed .item a span.photo span {
    padding-top: 126px;
  }
  #news2 #feed .item a span.ttl-grp {
    width: calc(100% - 240px);
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.2em;
    padding: 0 60px 0 43px;
  }
  #news2 #feed .item a span.ttl-grp .date {
    font-size: 14px;
    letter-spacing: 0.2em;
    margin-bottom: 0px;
  }
  #news2 .btn-link {
    margin: 39px 91px 0 auto;
    max-width: 148px;
  }
  #news2 .btn-link a {
    font-size: 14px;
    padding: 3px 14px 5px 0;
  }
  #news2 .btn-link a:before {
    width: 8px;
    right: 14px;
  }
}

#sec9 {
  height: 70vw;
  background-image: url("../img/menu/s9-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

@media only screen and (min-width: 768px) {
  #sec9 {
    height: 500px;
  }
}

#sec10 {
  padding: 15vw 0;
  position: relative;
  z-index: 0;
}

#sec10:before {
  content: '';
  width: 32vw;
  height: 24vw;
  background-image: url("../img/shared/dc1.png");
  background-size: 13vw;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

#sec10:after {
  content: '';
  width: 32%;
  height: 50vw;
  background-image: url("../img/menu/s1-dc.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center bottom;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}

#sec10 .colr h2 {
  line-height: 10vw;
  width: 30vw;
  margin: 0 auto;
  position: relative;
}

#sec10 .colr h2:before {
  content: '';
  width: 1px;
  height: 13vw;
  background: #2f2b2b;
  position: absolute;
  right: 5vw;
  top: -15vw;
}

#sec10 .colr .txt {
  margin: 7vw 0;
}

#sec10 .coll .img2 {
  margin: -5vw 0;
}

@media only screen and (min-width: 768px) {
  #sec10 {
    padding: 82px 0 120px;
  }
  #sec10:before {
    width: calc(50% - 258px);
    height: 289px;
    background-size: auto;
  }
  #sec10:after {
    width: 343px;
    height: 244px;
    right: calc(50% - 681px);
    bottom: 33px;
  }
  #sec10 .colr {
    width: 400px;
    float: right;
    margin-top: 126px;
  }
  #sec10 .colr h2 {
    line-height: 85px;
    letter-spacing: 0.2em;
    width: 240px;
    margin: 0 0 0 77px;
  }
  #sec10 .colr h2:before {
    height: 167px;
    right: 42px;
    top: -206px;
  }
  #sec10 .colr h2 .r2 {
    margin-top: 41px;
  }
  #sec10 .colr .txt {
    margin: 59px 0 0 4px;
  }
  #sec10 .coll {
    width: 555px;
    float: left;
  }
  #sec10 .coll .img2 {
    margin: -31px 0 -29px;
  }
}

#sec11 {
  padding: 15vw 0 10vw;
}

#sec11 .box {
  border: 1px solid #5e4b3b;
  padding: 8vw 5%;
  margin: 0 -2% 8vw;
}

#sec11 .box h2 {
  font-size: 6vw;
  line-height: 8vw;
  letter-spacing: 0.15em;
}

#sec11 .box .note {
  letter-spacing: 0.05em;
  margin: 4vw 0 8vw;
}

#sec11 .box .note2 {
  letter-spacing: 0.05em;
}

#sec11 .blk .item {
  margin-bottom: 30px;
}

#sec11 .blk h3 {
  text-align: center;
  font-size: 17px;
  padding: 5px 0;
  border-bottom: 2px solid #5e4b3b;
  border-top: 2px solid #5e4b3b;
  margin-bottom: 10px;
}

#sec11 .blk dl {
  line-height: 20px;
  letter-spacing: 0.1em;
  width: 100%;
  display: table;
  border-bottom: 1px solid #5e4b3b;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

#sec11 .blk dl dt {
  display: table-cell;
}

#sec11 .blk dl dd {
  display: table-cell;
  text-align: right;
  white-space: nowrap;
}

#sec11 .blk dl:last-child {
  border: none;
}

#sec11 .blk dl:first-child {
  border-bottom: 1px solid #5e4b3b;
}

@media only screen and (min-width: 768px) {
  #sec11 {
    padding: 119px 0 48px;
  }
  #sec11 .box {
    width: 1142px;
    padding: 69px 100px 63px;
    margin: 0 0 80px -67px;
  }
  #sec11 .box h2 {
    font-size: 40px;
    line-height: 40px;
  }
  #sec11 .box .note {
    margin: 33px 0 63px 24px;
  }
  #sec11 .box .note2 {
    margin: 16px 0 0 29px;
  }
  #sec11 .blk .item {
    margin-bottom: 25px;
  }
  #sec11 .blk h3 {
    font-size: 20px;
    padding: 8px 0 9px;
    border-width: 3px;
    margin-bottom: 13px;
  }
  #sec11 .blk dl {
    line-height: 25px;
    padding-bottom: 13px;
    margin-bottom: 11px;
  }
  #sec11 .blk dl dd {
    padding-right: 3px;
  }
  #sec11 .two_cols .col {
    width: 472px;
  }
  #sec11 .two_cols .col + .col {
    margin-left: 56px;
  }
  #sec11 .three_cols .col {
    width: 400px;
  }
  #sec11 .three_cols .col + .col {
    margin-left: 50px;
  }
  #sec11 .box2 {
    padding: 47px 120px 66px;
  }
  #sec11 .box3 {
    padding: 74px 100px 20px;
    margin-bottom: 79px;
  }
  #sec11 .box3 .note {
    margin-bottom: 53px;
  }
  #sec11 .box4 {
    padding: 46px 100px 71px;
  }
}

.cm_info{
	font-size: 95%;
	letter-spacing: 1px;
}

.tel_box{
	margin-top: 40px;
	border: dotted 1px #000;
	padding: 25px;
}

.tel_box .tel {
    font-size: 16px;
    letter-spacing: 0.025em;
    margin: 0 auto;
	text-align: center;
  }
.tel_box .tel span {
    font-size: 42.4px;
    letter-spacing: -0.025em;
    margin-top: 13px;
  }
.tel_box .tel span img {
    width: 24px;
    margin: 0 7px 0 2px;
  }
.tel_box .btn-link {
    max-width: 279px;
    margin: 21px auto 0px;
  }
.tel_box .btn-link a {
    font-size: 16px;
    letter-spacing: 0.05em;
    padding: 6px 0 9px 0;
  }
.tel_box .btn-link a img {
    width: 24px;
    left: 0px;
    top: 16px;
	margin-right: 10px;
  }
.tel_box .btn-link a:after {
    background: #3e3442;
  }
.tel_box .btn-link a:before {
    width: 10px;
    right: 21px;
  }


@media only screen and (max-width: 480px) {
	.cm_info{
	font-size: 100%;
	letter-spacing: 1px;
}
.mt_50{
	margin-top: 50px;
}
	.tel_box .tel span {
    font-size: 30px;
    letter-spacing: -0.025em;
    margin-top: 13px;
  }
	}
.tel_teki{
	text-align: center;
	padding-top: 10px;
	padding-bottom: 15px;
	line-height: 38px;
	font-size: 18px;
	font-weight: bold;
}
@media only screen and (max-width: 600px) {
.tel_teki{
	text-align: center;
	padding-top: 10px;
	padding-bottom: 15px;
	line-height: 32px;
	font-size: 16px;
	font-weight: bold;
}
}