body {
  font-size     : 16px;
  line-height   : 30px;
  color         : #363636;
  font-family   : "Zen Old Mincho", serif;
  background    : #fff;
  letter-spacing: 2px;
}

.elementor-section.elementor-section-boxed>.elementor-container {
  max-width: 100% !important;
}

#header .header__main-container {
  background: rgba(255, 255, 255, 0.9);
}

#header .header_menu .g_nav>li>a,
#header .header_menu .g_nav>li>span {
  font-family: "Zen Old Mincho", serif;
}

.css-1wdc7ox,
.css-1l2lls9 {
  display: none !important;
}

img {
  width : 100%;
  height: auto;
}

.fnt-zen {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
}

.lp_ttl1 {
  position  : relative;
  text-align: center;
}

.lp_ttl1 span {
  font-family: "Zen Old Mincho", serif;
  display    : block;
  width      : 100%;
  font-weight: 500;
}

.lp_ttl1 span:first-child {
  font-size     : 171px;
  line-height   : 203px;
  color         : #eae6d9;
  text-transform: uppercase;
  letter-spacing: 18px;
}

.lp_ttl1 span:last-child {
  font-size     : 42px;
  color         : #6b6f71;
  position      : absolute;
  left          : 50%;
  transform     : translateX(-50%);
  bottom        : 22px;
  letter-spacing: 8px;
}

.desc {
  background    : linear-gradient(to right, #e8e4d6, #bbaf86, #e8e4d6);
  text-align    : center;
  color         : #fff;
  padding       : 10px;
  font-size     : 32px;
  line-height   : 50px;
  margin-bottom : 22px;
  letter-spacing: 6px;
  font-weight   : 500;
}

h3 {
  font-weight: 500;
}

//#mainimage {
//  display: none;
//}

@media (min-width: 768px) and (max-width: 1000px) {
  .lp_ttl1 span:first-child {
    font-size     : 140px;
    line-height   : 180px;
    letter-spacing: 15px;
  }

  .lp_ttl1 span:last-child {
    font-size: 35px;
  }
}

@media screen and (max-width: 767px) {
  .lp_ttl1 span:first-child {
    font-size     : 67px;
    line-height   : 80px;
    letter-spacing: 6px;
  }

  .lp_ttl1 span:last-child {
    font-size     : 16px;
    bottom        : 0;
    letter-spacing: 2px;
  }

  .desc {
    font-size     : 24px;
    letter-spacing: 2px;
    line-height   : 32px;
    background    : linear-gradient(to right, #fff, #bbaf86, #bbaf86, #fff);
  }
}

#key {
  position: relative;
}

#key .photo-key {
  width      : calc(100% - 250px);
  height     : 660px;
  margin-left: 40px;
}

#key .photo-key img {
  width             : 100%;
  height            : 660px;
  -o-object-fit     : cover;
  object-fit        : cover;
  -o-object-position: 50% 0;
  object-position   : 50% 0;
}

#key .key-ttl {
  position: absolute;
  right   : 50px;
  width   : 520px;
  top     : 200px;
}

@media screen and (max-width: 1300px) {
  #key .key-ttl {
    left : auto;
    right: 40px;
    width: 450px;
    top  : 280px;
  }
}

@media screen and (max-width: 767px) {
  #key .photo-key {
    width       : 80%;
    margin-left : 15px;
    margin-right: 30px;
    height      : 500px;
    box-sizing  : border-box;
  }

  #key .photo-key img {
    height            : 500px;
    -o-object-position: 35% 0;
    object-position   : 35% 0;
  }

  #key .key-ttl {
    width: 310px;
    top  : 350px;
    right: 10px;
  }
}

#about {
  padding: 150px 0;
}

#about .lp_ttl1 {
  margin-bottom: 50px;
}

#about .desc {
  margin-bottom: 22px;
}

#about .row {
  display        : flex;
  justify-content: space-between;
  margin-bottom  : 60px;
}

#about .row .txt {
  max-width     : 685px;
  letter-spacing: 1.1px;
}

#about .row .photo-1 {
  max-width: 375px;
}

#about .box {
  margin-left : calc(50% - 50vw);
  margin-right: 120px;
  position    : relative;
}

#about .box .list {
  background: #fdfdfd;
  border    : 1px solid #bcad99;
  max-width : 620px;
  max-height: 465px;
  position  : absolute;
  right     : -140px;
  bottom    : -100px;
  padding   : 70px 0 70px 70px;
  box-sizing: border-box;
}

#about .box .list h3 {
  font-size     : 32px;
  color         : #817037;
  letter-spacing: 6px;
  margin-bottom : 25px;
}

#about .box .list li {
  color         : #3e3927;
  font-size     : 20px;
  padding       : 12px 0 12px 20px;
  position      : relative;
  border-bottom : 1px dashed #e0e0e0;
  margin        : 0 75px 0 0;
  letter-spacing: 4px;
}

#about .box .list li::before {
  content   : "";
  background: url(../img/lp-img/about_icon1.png) no-repeat 0 0/100%;
  width     : 16px;
  height    : 15px;
  left      : -5px;
  top       : 50%;
  transform : translateY(-50%);
  position  : absolute;
}

@media (min-width: 768px) and (max-width: 1200px) {
  #about .row .txt {
    margin-right: 20px;
  }

  #about .box .list {
    padding: 50px 0 50px 50px;
  }
}

@media (min-width: 768px) and (max-width: 1000px) {
  #about .box {
    margin-left : 0;
    margin-right: 0;
  }

  #about .box .list {
    max-width  : 100%;
    width      : 90%;
    margin-left: 5%;
    margin-top : -8%;
    position   : relative;
    z-index    : 99;
    right      : auto;
    bottom     : auto;
  }
}

@media screen and (max-width: 767px) {
  #about {
    padding: 180px 0 80px;
  }

  #about .lp_ttl1 {
    margin-bottom: 35px;
  }

  #about .desc {
    margin-bottom: 15px;
  }

  #about .row {
    flex-wrap: wrap;
  }

  #about .row .txt {
    width: 100%;
    order: 2;
  }

  #about .row .photo-1 {
    width        : 100%;
    order        : 1;
    margin-bottom: 15px;
  }

  #about .box {
    margin-left : 0;
    margin-right: 0;
  }

  #about .box .photo-2 {
    margin: 0 -10%;
  }

  #about .box .list {
    max-width : 100%;
    max-height: 100%;
    right     : auto;
    bottom    : 55px;
    padding   : 30px 0;
    position  : relative;
  }

  #about .box .list h3 {
    font-size  : 24px;
    line-height: 32px;
    text-align : center;
  }

  #about .box .list li {
    margin        : 0 15px 0 15px;
    letter-spacing: 3px;
  }

  #about .box .list li::before {
    left: 0;
  }

  #about .box .list li.no-before::before {
    display: none;
  }
}

#care {
  padding   : 20px 0 95px;
  background: url(../img/lp-img/care_pt1.jpg) repeat;
}

#care .lp_ttl1 {
  margin-bottom: 50px;
}

#care .txt {
  margin-bottom: 65px;
}

#care .care-group-1 {
  margin-bottom: 60px;
}

#care .row-1 {
  display        : flex;
  justify-content: space-between;
  align-items    : center;
  margin-bottom  : 75px;
}

#care .row-1 .col {
  background    : url(../img/lp-img/care-deco1.png) no-repeat bottom right/100% 100%, #efeadb;
  width         : 45%;
  padding       : 35px;
  font-size     : 32px;
  line-height   : 50px;
  text-align    : center;
  color         : #817037;
  letter-spacing: 5px;
}

#care .row-card-1 {
  display        : flex;
  justify-content: space-between;
}

#care .row-card-1 .col-left {
  background: #f7f5ef;
  width     : 50%;
  padding   : 65px;
  box-sizing: border-box;
}

#care .row-card-1 .col-left h3 {
  color         : #817037;
  font-size     : 24px;
  border-bottom : 1px solid #bebebe;
  margin-bottom : 20px;
  padding-bottom: 15px;
  letter-spacing: 4px;
}

#care .row-card-1 .col-right {
  width: 50%;
}

#care .row-card-1 .col-right img {
  height       : 100%;
  -o-object-fit: cover;
  object-fit   : cover;
}

#care .row-card-2 {
  display        : flex;
  justify-content: space-between;
}

#care .row-card-2 .col-right {
  background: #f7f5ef;
  width     : 50%;
  padding   : 65px;
  box-sizing: border-box;
}

#care .row-card-2 .col-right h3 {
  color         : #817037;
  font-size     : 24px;
  border-bottom : 1px solid #bebebe;
  margin-bottom : 20px;
  padding-bottom: 15px;
  letter-spacing: 4px;
}

#care .row-card-2 .col-left {
  width: 50%;
}

#care .row-card-2 .col-left img {
  height       : 100%;
  -o-object-fit: cover;
  object-fit   : cover;
}

#care .care-group-2 {
  display        : flex;
  justify-content: space-between;
  flex-wrap      : wrap;
}

#care .care-group-2 .row-card-3 {
  width   : 32%;
  position: relative;
}

#care .care-group-2 .row-card-3 .card-top {
  margin-bottom: 10px;
}

#care .care-group-2 .row-card-3 .card-top .tag {
  position: absolute;
  left    : 10px;
  top     : 0;
  z-index : 9;
  color   : #583300;
}

#care .care-group-2 .row-card-3 .card-top .tag span {
  display: block;
}

#care .care-group-2 .row-card-3 .card-top .tag span:first-child {
  font-size: 11px;
}

#care .care-group-2 .row-card-3 .card-top .tag span:last-child {
  font-size: 34px;
}

#care .care-group-2 .row-card-3 .card-top::before {
  content   : "";
  background: url(../img/lp-img/care-deco2.png) no-repeat 0 0/50%;
  width     : 242px;
  height    : 277px;
  left      : 0;
  top       : 0;
  position  : absolute;
}

#care .care-group-2 .row-card-3 h3 {
  min-height   : 70px;
  margin-bottom: 15px;
}

#care .care-group-2 .row-card-3 h3 span {
  color         : #817037;
  font-size     : 24px;
  position      : relative;
  margin-left   : 15px;
  padding-left  : 15px;
  letter-spacing: 4px;
  line-height   : 36px;
  display       : block;
}

#care .care-group-2 .row-card-3 h3 span::before {
  content   : "";
  background: #817037;
  width     : 3px;
  height    : 100%;
  left      : -10px;
  top       : 50%;
  transform : translateY(-50%);
  position  : absolute;
}

#care .care-group-2 .row-card-3 h3 span::after {
  content   : "";
  background: #817037;
  width     : 1px;
  height    : 100%;
  left      : -6px;
  top       : 50%;
  transform : translateY(-50%);
  position  : absolute;
}

#care .care-group-2 .row-card-3 .txt-1 {
  text-align   : center;
  margin-bottom: 30px;
}

#care .care-group-2 .row-card-4 {
  width: 100%;
}

#care .care-group-2 .row-card-4 .card-top {
  margin-bottom: 30px;
}

#care .care-group-2 .row-card-4 .card-bot {
  display: flex;
}

#care .care-group-2 .row-card-4 .card-bot h3 {
  width: 40%;
}

#care .care-group-2 .row-card-4 .card-bot .txt {
  width     : 60%;
  text-align: left;
}

@media (min-width: 768px) and (max-width: 1200px) {
  #care .row-1 .col {
    font-size  : 25px;
    line-height: 40px;
  }
}

@media (min-width: 768px) and (max-width: 1000px) {
  #care .row-1 .col {
    font-size     : 20px;
    line-height   : 31px;
    padding       : 20px;
    letter-spacing: 4px;
  }

  #care .row-1 .deco-x {
    width: 40px;
  }

  #care .row-card-1 .col-left {
    padding: 30px;
  }

  #care .row-card-2 .col-right {
    padding: 30px;
  }

  #care .care-group-2 .row-card-3 h3 span {
    font-size: 20px;
  }
}

@media screen and (max-width: 767px) {
  #care {
    padding      : 20px 0 30px;
    margin-bottom: 100px;
  }

  #care .lp_ttl1 {
    margin-bottom: 25px;
  }

  #care .txt {
    margin-bottom: 40px;
  }

  #care .care-group-1 {
    margin-bottom: 25px;
  }

  #care .row-1 {
    display: block;
  }

  #care .row-1 .col {
    width      : 100%;
    font-size  : 20px;
    line-height: 31px;
    padding    : 20px 0;
  }

  #care .row-1 .deco-x {
    text-align   : center;
    margin-bottom: 5px;
  }

  #care .row-1 .deco-x img {
    width: 40px;
  }

  #care .row-card-1 {
    flex-wrap    : wrap;
    margin-bottom: 10px;
  }

  #care .row-card-1 .col-left {
    width  : 100%;
    padding: 20px 16px;
    order  : 2;
  }

  #care .row-card-1 .col-left h3 {
    margin-bottom: 15px;
  }

  #care .row-card-1 .col-right {
    width: 100%;
    order: 1;
  }

  #care .row-card-2 {
    flex-wrap    : wrap;
    margin-bottom: 10px;
  }

  #care .row-card-2 .col-left {
    width: 100%;
  }

  #care .row-card-2 .col-right {
    padding: 20px 16px;
    width  : 100%;
  }

  #care .row-card-2 .col-right h3 {
    margin-bottom: 15px;
  }

  #care .care-group-2 .row-card-3 {
    width: 100%;
  }

  #care .care-group-2 .row-card-3 .card-top .tag span:last-child {
    font-size: 31px;
  }

  #care .care-group-2 .row-card-3 h3 {
    min-height   : auto;
    margin-bottom: 10px;
  }

  #care .care-group-2 .row-card-3 h3 span {
    font-size     : 20px;
    letter-spacing: 2px;
  }

  #care .care-group-2 .row-card-3 .txt-1 {
    text-align: left;
  }
}

#perio {
  background: #eae6d9;
}

#perio::before {
  content   : "";
  background: url(../img/lp-img/care_pt1.jpg) repeat 0 0/auto;
  width     : 100%;
  height    : 100px;
  top       : 0;
  left      : 0;
  position  : absolute;
}

#perio h2 {
  margin-bottom: 100px;
}

#perio h2 span:first-child {
  color: #d9d2b7;
}

#perio .box {
  margin-left  : calc(50% - 50vw);
  margin-right : 120px;
  position     : relative;
  margin-top   : -10px;
  margin-bottom: 200px;
}

#perio .box .list {
  background: #fdfdfd;
  border    : 1px solid #bcad99;
  width     : 620px;
  position  : absolute;
  right     : -140px;
  top       : 100px;
  padding   : 70px 0 70px 70px;
  box-sizing: border-box;
}

#perio .box .list h3 {
  font-size     : 32px;
  color         : #817037;
  letter-spacing: 6px;
  margin-bottom : 25px;
}

#perio .box .list li {
  color         : #3e3927;
  font-size     : 20px;
  padding       : 12px 0 12px 20px;
  position      : relative;
  border-bottom : 1px dashed #e0e0e0;
  margin        : 0 75px 0 0;
  letter-spacing: 4px;
}

#perio .box .list li::before {
  content   : "";
  background: url(../img/lp-img/about_icon1.png) no-repeat 0 0/100%;
  width     : 16px;
  height    : 15px;
  left      : -5px;
  top       : 50%;
  transform : translateY(-50%);
  position  : absolute;
}

#perio .contain-1 .ttl {
  background : url(../img/lp-img/perio_bg1.jpg) no-repeat center center/cover;
  height     : 610px;
  box-sizing : border-box;
  padding-top: 115px;
}

#perio .contain-1 .ttl .contain-ttl {
  max-width      : 1080px;
  margin         : auto;
  color          : #fff;
  display        : flex;
  justify-content: space-between;
}

#perio .contain-1 .ttl .contain-ttl h2 {
  font-size     : 32px;
  line-height   : 50px;
  max-width     : 300px;
  letter-spacing: 5px;
}

#perio .contain-1 .ttl .contain-ttl .desc-1 {
  width: 685px;
}

#perio .contain-2 {
  background   : #fff;
  margin-top   : -275px;
  padding      : 60px 0 85px;
  margin-bottom: 150px;
}

#perio .contain-2 h3 {
  margin-bottom: 110px;
}

#perio .contain-2 h3 span {
  display       : block;
  width         : -moz-max-content;
  width         : max-content;
  background    : #bbaf86;
  margin-bottom : 12px;
  font-size     : 32px;
  line-height   : 50px;
  color         : #fff;
  padding       : 8px 50px;
  letter-spacing: 6px;
}

#perio .contain-2 .card-4 {
  display        : flex;
  justify-content: center;
  margin-bottom  : 40px;
}

#perio .contain-2 .card-4 .left {
  width       : 405px;
  margin-right: 35px;
}

#perio .contain-2 .card-4 .left h4 {
  font-size     : 24px;
  line-height   : 50px;
  border-bottom : 1px solid #bebebe;
  color         : #817037;
  letter-spacing: 5px;
  margin-bottom : 25px;
}

#perio .contain-2 .card-4 .right {
  width: 440px;
}

#perio .contain-3 h3 {
  text-align   : center;
  position     : relative;
  margin-bottom: 75px;
  z-index      : 0;
}

#perio .contain-3 h3::before {
  content   : "";
  background: #8f8c80;
  width     : 100%;
  height    : 1px;
  left      : 50%;
  transform : translateX(-50%);
  top       : 10px;
  position  : absolute;
  z-index   : -1;
}

#perio .contain-3 h3 span {
  display       : block;
  letter-spacing: 4px;
  width         : -moz-max-content;
  width         : max-content;
  margin        : auto;
}

#perio .contain-3 h3 span:first-child {
  font-size  : 32px;
  color      : #6b6f71;
  line-height: 27px;
  margin     : 0 auto 10px;
  background : #eae6d9;
  padding    : 0 35px;
}

#perio .contain-3 h3 span:last-child {
  font-size  : 22px;
  line-height: 26px;
  color      : #bbaf86;
}

#perio .contain-3 .list {
  margin-bottom: 80px;
}

#perio .contain-3 .list dl {
  display       : flex;
  border-bottom : 1px solid #eae6d9;
  font-size     : 20px;
  line-height   : 32px;
  letter-spacing: 4px;
}

#perio .contain-3 .list dl dt {
  width     : 64%;
  background: #bbaf86;
  color     : #fff;
  padding   : 30px;
}

#perio .contain-3 .list dl dd {
  width         : 36%;
  background    : #fff;
  color         : #3e3927;
  padding       : 12px 30px 12px 0;
  letter-spacing: 4.5px;
}

#perio .contain-3 .list dl dd span {
  margin-left: auto;
  display    : block;
  width      : -moz-max-content;
  width      : max-content;
}

#perio .contain-4 {
  background: url(../img/lp-img/perio_bg2.jpg) no-repeat center center/cover;
  color     : #fff;
  padding   : 105px 0;
}

#perio .contain-4 h3 {
  font-size     : 36px;
  line-height   : 50px;
  text-align    : center;
  letter-spacing: 7px;
  margin-bottom : 35px;
}

#perio .contain-4 .desc {
  margin-bottom: 35px;
  background   : linear-gradient(to right, rgba(255, 255, 255, 0.2), #fff, rgba(255, 255, 255, 0.2));
  color        : #817037;
}

#perio .contain-4 .row {
  display        : flex;
  justify-content: space-between;
}

#perio .contain-4 .row .col-left {
  max-width: 595px;
}

#perio .contain-4 .row .col-right {
  width: 430px;
}

#perio .contain-4 .row .col-right .btn-t1 {
  margin-bottom: 25px;
}

#perio .contain-5 {
  padding   : 130px 0 115px;
  background: #ffffff;
}

#perio .contain-5 h3 {
  text-align   : center;
  position     : relative;
  margin-bottom: 60px;
  z-index      : 0;
}

#perio .contain-5 h3::before {
  content   : "";
  background: #8f8c80;
  width     : 100%;
  height    : 1px;
  left      : 50%;
  transform : translateX(-50%);
  top       : 10px;
  position  : absolute;
  z-index   : -1;
}

#perio .contain-5 h3 span {
  display       : block;
  letter-spacing: 4px;
  width         : -moz-max-content;
  width         : max-content;
  margin        : auto;
}

#perio .contain-5 h3 span:first-child {
  font-size  : 32px;
  color      : #6b6f71;
  line-height: 27px;
  margin     : 0 auto 10px;
  background : #fff;
  padding    : 0 35px;
}

#perio .contain-5 h3 span:last-child {
  font-size  : 22px;
  line-height: 26px;
  color      : #bbaf86;
}

#perio .contain-5 .qa {
  margin-bottom: 10px;
}

#perio .contain-5 .qa .ask {
  background: #eae6d9;
  position  : relative;
}

#perio .contain-5 .qa .ask dl {
  display: flex;
  padding: 30px 25px;
}

#perio .contain-5 .qa .ask dl dt {
  font-size    : 29px;
  color        : #817037;
  position     : relative;
  margin-right : 25px;
  padding-right: 25px;
}

#perio .contain-5 .qa .ask dl dt::after {
  content   : "";
  background: #817037;
  width     : 1px;
  height    : 40px;
  right     : 0;
  top       : 0;
  position  : absolute;
}

#perio .contain-5 .qa .ask dl dd {
  font-size: 24px;
  color    : #3e3927;
}

#perio .contain-5 .qa .ask .open {
  position : absolute;
  right    : 50px;
  top      : 50%;
  transform: translateY(-50%);
  width    : 15px;
  height   : 15px;
}

#perio .contain-5 .qa .ask .open:hover {
  opacity: 0.7;
  cursor : pointer;
}

#perio .contain-5 .qa .ask .open::before {
  content   : "";
  background: #817037;
  height    : 1px;
  width     : 25px;
  position  : absolute;
  left      : 50%;
  top       : 50%;
  transform : translate(-50%, -50%);
}

#perio .contain-5 .qa .ask .open::after {
  content   : "";
  background: #817037;
  height    : 25px;
  width     : 1px;
  position  : absolute;
  left      : 50%;
  top       : 50%;
  transform : translate(-50%, -50%);
}

#perio .contain-5 .qa .ask .open.active::after {
  display: none;
}

#perio .contain-5 .qa .answer {
  background: #f8f7f0;
  padding   : 30px 25px;
}

#perio .contain-5 .qa .answer dl {
  display: flex;
}

#perio .contain-5 .qa .answer dl dt {
  font-size    : 29px;
  position     : relative;
  margin-right : 25px;
  padding-right: 25px;
}

#perio .contain-5 .qa .answer dl dt::after {
  content   : "";
  background: #817037;
  width     : 1px;
  height    : 40px;
  right     : 0;
  top       : 0;
  position  : absolute;
}

@media (min-width: 768px) and (max-width: 1500px) {
  #perio .box {
    margin-bottom: 250px;
  }
}

@media (min-width: 768px) and (max-width: 1200px) {
  #perio .box {
    margin-bottom: 300px;
  }

  #perio .box .list {
    padding: 50px 0 50px 50px;
  }

  #perio .contain-1 .ttl .contain-ttl {
    padding: 0 20px;
  }

  #perio .contain-1 .ttl .contain-ttl h2 {
    width         : 40%;
    font-size     : 30px;
    letter-spacing: 3px;
    line-height   : 40px;
  }

  #perio .contain-1 .ttl .contain-ttl .desc-1 {
    width: 60%;
  }

  #perio .contain-2 {
    margin-top: -200px;
  }

  #perio .contain-2 h3 {
    margin-bottom: 80px;
  }

  #perio .contain-4 h3 {
    font-size: 32px;
  }

  #perio .contain-4 .row .col-left {
    width       : 60%;
    margin-right: 20px;
  }

  #perio .contain-4 .row .col-right {
    width: 40%;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  #perio .contain-2 .card-4 {
    padding    : 0 30px;
    align-items: center;
  }

  #perio .contain-2 .card-4 .left {
    width: 45%;
  }

  #perio .contain-2 .card-4 .left h4 {
    font-size: 20px;
  }

  #perio .contain-2 .card-4 .right {
    width: 55%;
  }
}

@media (min-width: 768px) and (max-width: 1000px) {
  #perio .box {
    margin-left  : 0;
    margin-right : 0;
    margin-bottom: 100px;
  }

  #perio .box .list {
    max-width  : 100%;
    width      : 90%;
    margin-left: 5%;
    margin-top : -8%;
    position   : relative;
    z-index    : 99;
    right      : auto;
    top        : auto;
  }

  #perio .contain-3 .list dl dt {
    width: 60%;
  }

  #perio .contain-3 .list dl dd {
    width: 40%;
  }
}

@media screen and (max-width: 767px) {
  #perio::before {
    background: #fff;
    height    : 40px;
  }

  #perio h2 {
    margin-bottom: 50px;
  }

  #perio .box {
    margin-left  : 0;
    margin-right : 0;
    margin-bottom: 10px;
  }

  #perio .box .photo-1 {
    margin: 0 -10%;
  }

  #perio .box .list {
    max-width : 100%;
    max-height: 100%;
    right     : auto;
    bottom    : 55px;
    padding   : 30px 0;
    position  : relative;
    top       : auto;
  }

  #perio .box .list h3 {
    font-size    : 24px;
    line-height  : 32px;
    text-align   : center;
    margin-bottom: 15px;
  }

  #perio .box .list li {
    margin        : 0 15px 0 15px;
    letter-spacing: 3px;
  }

  #perio .box .list li::before {
    left: 0;
  }

  #perio .box .list li.no-before::before {
    display: none;
  }

  #perio .contain-1 .ttl {
    height        : auto;
    padding-bottom: 250px;
    padding-top   : 50px;
  }

  #perio .contain-1 .ttl .contain-ttl {
    display: block;
  }

  #perio .contain-1 .ttl .contain-ttl h2 {
    max-width    : 100%;
    text-align   : center;
    margin-bottom: 20px;
    font-size    : 28px;
  }

  #perio .contain-1 .ttl .contain-ttl .desc-1 {
    width  : 100%;
    padding: 0 5%;
  }

  #perio .contain-2 {
    padding      : 20px 0 5px;
    margin-bottom: 70px;
    margin-top   : -215px;
  }

  #perio .contain-2 h3 {
    margin-bottom: 30px;
  }

  #perio .contain-2 h3 span {
    font-size    : 24px;
    padding      : 0 15px;
    margin-bottom: 5px;
  }

  #perio .contain-2 .card-4 {
    flex-wrap    : wrap;
    padding      : 0 20px;
    margin-bottom: 30px;
  }

  #perio .contain-2 .card-4 .left {
    order       : 2;
    width       : 100%;
    margin-right: 0;
  }

  #perio .contain-2 .card-4 .left h4 {
    font-size    : 20px;
    margin-bottom: 20px;
  }

  #perio .contain-2 .card-4 .right {
    width: 100%;
    order: 1;
  }

  #perio .contain-3 h3 {
    margin-bottom: 20px;
  }

  #perio .contain-3 h3 span:first-child {
    font-size: 28px;
  }

  #perio .contain-3 h3 span:last-child {
    font-size: 20px;
  }

  #perio .contain-3 .list dl {
    display   : block;
    text-align: center;
  }

  #perio .contain-3 .list dl dt {
    width  : 100%;
    padding: 15px;
  }

  #perio .contain-3 .list dl dd {
    width  : 100%;
    padding: 10px 0;
  }

  #perio .contain-3 .list dl dd span {
    margin: auto;
  }

  #perio .contain-4 {
    padding: 50px 0;
  }

  #perio .contain-4 h3 {
    font-size     : 28px;
    margin-bottom : 20px;
    letter-spacing: 2px;
  }

  #perio .contain-4 .row {
    display: block;
  }

  #perio .contain-4 .row .col-left {
    width        : 100%;
    margin-bottom: 20px;
  }

  #perio .contain-4 .row .col-right {
    width: 100%;
  }

  #perio .contain-4 .row .col-right .btn-t1 {
    margin-bottom: 15px;
  }

  #perio .contain-5 {
    padding: 75px 0 55px;
  }

  #perio .contain-5 h3 span:first-child {
    font-size: 28px;
    padding  : 0 20px;
  }

  #perio .contain-5 h3 span:last-child {
    font-size: 20px;
  }

  #perio .contain-5 .qa .ask dl {
    align-items: center;
    padding    : 20px 15px;
  }

  #perio .contain-5 .qa .ask dl dt::after {
    height   : 55px;
    top      : 50%;
    transform: translateY(-50%);
  }

  #perio .contain-5 .qa .ask dl dd {
    font-size  : 20px;
    line-height: 32px;
    width      : 55%;
  }

  #perio .contain-5 .qa .ask .open {
    right: 20px;
  }

  #perio .contain-5 .qa .ask .open::before {
    width: 15px;
  }

  #perio .contain-5 .qa .ask .open::after {
    height: 15px;
  }

  #perio .contain-5 .qa .answer {
    padding: 20px 15px;
  }
}

#contact {
  padding   : 90px 0 0;
  background: #36523f;
  color     : #fff;
}

#contact .row {
  display        : flex;
  justify-content: space-between;
  border-bottom  : 1px solid #fff;
  margin-bottom  : 55px;
  padding-bottom : 35px;
}

#contact .row .col-left h2 {
  font-size     : 63px;
  line-height   : 91px;
  text-transform: uppercase;
  margin-bottom : 20px;
}

#contact .row .col-left .desc-1 {
  font-size     : 20px;
  line-height   : 35px;
  letter-spacing: 6.5px;
}

#contact .row .col-right {
  margin-top: 30px;
}

#contact .row .col-right .contact-btn {
  margin-bottom: 10px;
}

#contact .row .col-right .contact-btn a {
  background    : #fff;
  color         : #36523f;
  font-size     : 33px;
  display       : block;
  line-height   : 48px;
  padding       : 20px;
  width         : 450px;
  letter-spacing: 3px;
}

#contact .row .col-right .contact-btn img {
  width       : 45px;
  margin-right: 15px;
}

#contact .row .col-right .btn-web a {
  font-size: 30px;
}

#contact .desc-2 {
  line-height  : 24px;
  margin-bottom: 115px;
}

@media (min-width: 768px) and (max-width: 1000px) {
  #contact .row .col-left {
    width: 50%;
  }

  #contact .row .col-right {
    width: 50%;
  }

  #contact .row .col-right .contact-btn a {
    width    : 100%;
    font-size: 28px;
  }

  #contact .row .col-right .btn-web a {
    font-size: 25px;
  }
}

@media screen and (max-width: 767px) {
  #contact .row {
    display       : block;
    margin-bottom : 25px;
    padding-bottom: 20px;
  }

  #contact .row .col-left {
    width     : 100%;
    text-align: center;
  }

  #contact .row .col-left h2 {
    font-size: 53px;
  }

  #contact .row .col-left .desc-1 {
    line-height   : 29px;
    letter-spacing: 2px;
  }

  #contact .row .col-right .contact-btn a {
    width    : 100%;
    font-size: 28px;
    padding  : 10px 20px;
  }

  #contact .row .col-right .btn-web a {
    font-size: 21px;
  }

  #contact .desc-2 {
    line-height  : 29px;
    margin-bottom: 50px;
  }
}

/*# sourceMappingURL=lp-page.css.map */

.contain-2b .desc-1 {
  margin-bottom: 40px;
}

.contain-2b .row {
  display        : flex;
  justify-content: space-between;
  margin-bottom  : 50px;
  align-items    : center;
}

.contain-2b .row .col-left {
  max-width     : 685px;
  margin-right  : 20px;
  letter-spacing: 1.1px;
}

.contain-2b .row .col-right {
  width: calc(100% - 690px);
}

.contain-2b .desc-2 {
  margin-bottom: 90px;
}

.contain-2b .box-group {
  margin-bottom: 50px;
}

.contain-2b .box-group .box-row {
  background     : #f7f5ef;
  display        : flex;
  justify-content: space-between;
}

.contain-2b .box-group .box-row .col-left {
  width     : 50%;
  padding   : 40px 60px;
  box-sizing: border-box;
  text-align: justify;
}

.contain-2b .box-group .box-row .col-left h3 {
  color         : #817037;
  font-size     : 24px;
  margin-bottom : 20px;
  padding-bottom: 20px;
  border-bottom : 1px solid;
}

.contain-2b .box-group .box-row .col-right {
  width: 50%;
}

.contain-2b .box-group .box-row .col-right img {
  height       : 100%;
  -o-object-fit: cover;
  object-fit   : cover;
}

.contain-2b .box-group .row-2 .col-left {
  order: 2;
}

.contain-2b .box-group .row-2 .col-right {
  order: 1;
}

.contain-2b .desc-3 {
  margin-bottom: 40px;
}

.contain-2b .txt-last {
  letter-spacing: 1.1px;
  margin-bottom : 50px;
}

@media screen and (max-width: 1200px) {
  .contain-2b .row .col-left {
    width: 60%;
  }

  .contain-2b .row .col-right {
    width: calc(40% - 20px);
  }
}

@media screen and (max-width: 1000px) {
  .contain-2b .row .col-left {
    width: 50%;
  }

  .contain-2b .row .col-right {
    width: calc(50% - 20px);
  }

  .contain-2b .box-group .box-row {
    display: block;
  }

  .contain-2b .box-group .box-row .col-left {
    width: 100%;
  }

  .contain-2b .box-group .box-row .col-right {
    width  : 100%;
    padding: 0 60px;
  }
}

@media screen and (max-width: 767px) {
  .contain-2b .desc-2 {
    margin-bottom: 50px;
  }

  .contain-2b .row {
    display: block;
  }

  .contain-2b .row .col-left {
    width        : 100%;
    margin-bottom: 20px;
  }

  .contain-2b .row .col-right {
    width: 100%;
  }

  .contain-2b .box-group .box-row {
    display: block;
  }

  .contain-2b .box-group .box-row .col-left {
    width  : 100%;
    padding: 20px 15px;
  }

  .contain-2b .box-group .box-row .col-left h3 {
    margin-bottom : 15px;
    padding-bottom: 15px;
  }

  .contain-2b .box-group .box-row .col-right {
    width  : 100%;
    padding: 0 15px;
  }

  .contain-2b .box-group .row-2 {
    padding-bottom: 30px;
  }
}