@charset "utf-8";

.page-mv {
  padding-top: 10px;
  position:relative;
}
.page-mv-inner {
  padding-top: 71%;
  padding-bottom: 0;
  background-image: url('../images/top/top-mv-back.jpg');
  border-radius: 15px;
  margin: 0 10px 10px;
}
.text-wrap {
  padding: 0 10%;
  border-bottom: #333333 solid 1px;
  margin-top: 55px;
}
.single-ttl {
  font-size: 36px;
  font-size: 3.6rem;
}

.single-text {
  margin-top: 50px;
  margin-bottom: 70px;
}
.back {
  text-align: center;
  margin-top: 36px;
  margin-bottom: 110px;
}
.back a {
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  padding: 15px 40px;
  border: 1px solid #333333;
}
.back a span {
  display: inline-block;
  vertical-align: 2px;
  margin-right: 10px;
}
.top-catch {
  width: 380px;
  position: absolute;
  top: 260px;
  left: 80px;
  z-index: 10;
}
/*.page-mv:before {
  content: '';
  width: 100%;
  padding-top: 35%;
  background-image: url('../images/top/top-mv-cover.png');
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  z-index: 5;
}*/
.sec-hd {
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
}
.sec-hd-en {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 300;
}
.sec-hd-en:before {
  display: inline-block;
  content: '/';
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 300;
  margin: 0 10px;
}
.sec-hd.sec-hd-02 {
  color: #bfa55d;
}
.sec-hd.sec-hd-03 {
  background: #bfa55d;
  color: #fff;
  margin-bottom: 60px;
  padding: 10px;
}

@media only screen and (max-width: 750px) {
  .sec-hd-en {
    display: block;
  }
  .sec-hd-en:before {
    content: none;
  }
}

/*
.sevice-hd {
  background-image: url(../images/top/select-back.png);
  background-size: cover;
  margin-top: -9%;
  position: relative;
  padding-top: 13%;
  z-index: 100;
  text-align: center;
  padding-bottom: 10%;

}
.service-01 {
  float: left;
  box-sizing: border-box;
}
.serv-01 {
  margin-top: 30px;
}
.serv-01 .service-01 {
  margin-top: 120px;
  padding: 0 20px;
  width: 46%;
}
.serv-02 .service-01 {
  margin-top: 90px;
  padding: 0 20px 0 0;
  width: 49%;
}
.serv-02 .service-02 {
  margin-top: 150px;
}
.serv-02 {
  margin-bottom: 60px;
}
.service-02 {
  float: right;
  width: 46%;
  box-sizing: border-box;
}
.service-cont-hd {
  box-sizing: border-box;
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 300;
  line-height: 1;
  color: #2e4773;
  letter-spacing: 0.1em;
}
.service-deco-02 {
  margin-bottom: 120px;
}
.service-cont-sb {
  font-size: 16px;
  font-size: 1.6rem;
  color: #2d5393;
}
.service-text-01 {
  margin-top: 50px;
  margin-bottom: 20px;
}
.service-text-02 {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 15px 17px;
  background-color: #e9e9e9;
}
.service-deco-01 {
  padding-top: 15.5%;
  background-image: url('../images/top/service-03.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left;
  margin-top: -20px;
}
.service-deco-02 {
  padding-top: 15.5%;
  background-image: url('../images/top/service-04.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right;
}
*/

/* --------------------
 OUTLINE
-------------------- */
.outline {
  padding-bottom: 120px;
  background: url('../images/top/outline-back.jpg') no-repeat center 22rem;
  background-size: contain;
}
.outline .inner-03 {
  text-align: center;
}
.outline .outline-img {
  margin: 30rem auto 0;
}

@media only screen and (max-width: 750px) {
.outline {
  padding-bottom: 80px;
}
.outline .inner-03 {
  font-size: 14px;
  font-size: 1.4rem;
}
.outline .outline-img {
  margin: 2rem auto 0;
}
}

/* --------------------
 PICKUP SERVICES
-------------------- */
.services {
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 60px;
}
.services .inner-03 > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.services .inner-03 > ul > li {
  margin-bottom: 60px;
  max-width: 360px;
}
.services .inner-03 > ul > li .thumb {
  margin-bottom: 20px;
}
.services .inner-03 > ul > li .txt {
  padding-left: 20px;
  max-width: 340px;
}
.services .inner-03 > ul > li .txt h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 0.75em;
}
.services .inner-03 > ul > li .txt ul {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.8px;
}

@media only screen and (max-width: 750px) {
.services {
  padding-bottom: 40px;
}
.services .inner-03 {
  font-size: 14px;
  font-size: 1.4rem;
}
.services .inner-03 > ul > li .txt h3 {
  font-size: 20px;
  font-size: 2.0rem;
}
.services .inner-03 > ul > li .txt ul {
  font-size: 12px;
  font-size: 1.2rem;
}
}

/*.fadeImg {
  text-align: center;
  margin: 50px 0;
}
.fadeImg img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
.fadeImg.fade img {
  opacity: 0;
  transform: translate(0, 50px);
  transition: 2s;
}
.fadeImg.fade img.lazyloaded {
  transform: translate(0, 0);
  opacity: 1;
}*/


/* --------------------
 NEWS
-------------------- */
.news {
  padding-bottom: 120px;
  background: #fff;
}
.news .sec-hd {
  color: #bfa55d;
}
.news-lst {
  width: 100%;
  padding: 20px 40px 40px;
  font-size: 0;
  margin-top: 50px;
  box-sizing: border-box;
}
.news-lst > li {
  width: 33%;
  padding: 0 40px 0;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 70px;
}
.news-lst > li > a {
  display: block;
  overflow: hidden;
}
.cat {
  display: inline-block;
  vertical-align: middle;
  background-color: #666666;
  font-size: 14px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1;
  padding: 3px 10px 5px 10px;
}
.date {
  display: inline-block;
  vertical-align: top;
  vertical-align: middle;
  color: #bfa55d;
  font-size: 14px;
  font-size: 1.4rem;
  margin-left: 10px;
}
.news-thumb-wrap {
  width: 100%;
  /*padding-top: 70%;*/
  /*transform: skew(0deg, -5deg);*/
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
  height: 300px;
  /*background: url("../images/common/news_thum_mask.png") no-repeat center center;
  background-size: 100%;*/
}
.news-thumb {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  /*transform: skew(0deg, 5deg);
  transform-origin:right;*/
  top: 0;
  position: absolute;
  height: 100%;
  width: 100%;
}
.news-thumb::after {
  background: url(../images/common/news_thum_mask.png) no-repeat center center;
  background-size: auto;
  content: " ";
  display: block;
  position: absolute;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.news-ttl {
  font-size: 16px;
  font-size: 1.6rem;
  text-decoration: underline;
  letter-spacing: 0.1em;
  text-align: justify;
  text-justify: inter-ideograph;
}
.sec-hd {
  text-align: center;
  padding-top: 105px;
}
.news-tag {
  text-align: center;
}
.to-news {
  text-align: center;
}
.to-news a {
  font-size: 14px;
  font-size: 1.4rem;
  display: inline-block;
  vertical-align: top;
  width: 200px;
  box-sizing: border-box;
  border: 1px solid #999999;
  border-radius: 5px;
  padding: 17px 10px;
}

/*.photo_wrap {
  overflow: hidden;
}
.photo {
  width: 200px;
  height: 200px;
  background-image: url("http://ur0.link/ujc9");
  background-size: cover;

  border: 20px solid #fff;
  position: relative;
}
.photo_frame {
  width: 100%;
  height: 100%;
  position: absolute;
  top:50%;
  left: 50%;
  border: solid 80px #fff;
  transform: translate(-50%,-50%) rotate(45deg);
}*/


/* --------------------
 ABOUT
-------------------- */
.about {
  background: #f8f6ee;
  padding-bottom: 80px;
}
.about-logo {
  width: 111px;
  margin: 60px auto 90px;
}
.about-01 {
  width: 50%;
  display: table-cell;
  padding: 0 50px;
  box-sizing: border-box;
}
.about-02 {
  width: 50%;
  display: table-cell;
  padding: 0 50px;
  box-sizing: border-box;
}
.about-cont-wrap dl {
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 40px;
}
.about-cont-wrap dt {
  color: #000;
}
.about-cont-wrap dd {
  margin: 0.5em 0 0.5em 1em;
}
.about-cont-wrap li {
  margin-bottom: 8px;
}
.about-02 dt {
  margin-bottom: 10px;
}
.about-01, .about-02 {
  border-left: 1px solid #cccccc;
}
.about-cont-wrap {
  width: 100%;
  margin-bottom: 60px;
  display: table;
}
.access {
  /*background-image: url('../images/top/access.png');
  background-size: cover;
  background-position: top;*/
  padding-bottom: 120px;
}
.access-wrap {
  display: table;
  WIDTH: 100%;
}
.map {
  display: table-cell;
  width: 50%;
  vertical-align: center;
}
.address {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
  box-sizing: border-box;
  padding-left: 65px;
  padding-right: 50px;
}
.map {
  position: relative;
  padding-bottom: 45%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.map iframe,
.map object,
.map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.address-hd {
  font-weight: bold;
}
.address-01 {
  padding-bottom: 20px;
  border-bottom: solid #999999 1px;
}
.address-02 {
  padding-top: 20px;
}
.to-Googlemap a {
  display: inline-block;
  padding: 10px 40px;
  border: solid 1px #999999;
  font-size: 14px;
  font-size: 1.4rem;
}
.to-Googlemap {
  margin-top: 50px;
}
.sec-hd-02 {
  margin-bottom: 40px;
}


/* --------------------
 CONTACT
-------------------- */
.contact {
  background-color: #bfa55d;
}
.contact {
  color: #fff;
  padding-bottom: 140px;
}
.contact dt {
}
.contact dd {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 140px);
}
.contact dd input {
  /*background-color: #146bb2;*/
  border-radius: 3px;
  box-sizing: border-box;
  width: 80%;
  font-size: 16px;
  font-size: 1.6rem;
  /*color: #fff;*/
  max-width: none;
  padding: 10px;
}
.contact textarea {
  /*background-color: #146bb2;*/
  border-radius: 3px;
  width: 100%;
  min-height: 130px;
  box-sizing: border-box;
  border: none;
  font-size: 16px;
  font-size: 1.6rem;
  resize: none;
  /*color: #fff;*/
  box-shadow: none;
  max-width: none;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 10px;
}
.contact dl {
  border-bottom: solid 1px #ccc;
  margin-bottom: 35px;
  padding-bottom: 8px;
}
.required {
  text-align: right;
}
.contact .sec-hd {
  margin-bottom: 80px;
}
.outer .mfp_err {
  color: #ffeb3b;
}
.outer .mfp_element_submit,
.outer .mfp_element_reset,
.outer .mfp_element_button,
.outer button.mfp_next,
.outer button.mfp_prev {
  width: 200px;
  box-sizing: border-box;
  padding: 20px 10px;
  margin: 45px auto;
  display: block;
  background: #000;
  color: #fff;
  text-shadow: none;
  border-radius: 5px;
  border: none;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: 'Noto Serif JP', serif;
}
.outer .mfp_element_submit:hover,
.outer .mfp_element_reset:hover,
.outer .mfp_element_button:hover,
.outer button.mfp_next:hover,
.outer button.mfp_prev:hover {
  color: #000;
  background: #ddd;
  box-shadow: none;
}
.outer table#mfp_confirm_table tr th,
.outer table#mfp_confirm_table tr td {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
}
.contact form#mailformpro dl dd {
  border: none;
  padding: 0;
  font-size: 16px;
  font-size: 1.6rem;
  box-sizing: border-box;
}
.contact form#mailformpro dl dt {
  float: none;
  display: inline-block;
  vertical-align: top;
  width: 130px;
  font-size: 16px;
  font-size: 1.6rem;
  border-top: none;
  text-align: left;
  padding: 0;
  box-sizing: border-box;
}
.contact .dlst {
  margin-bottom: 0;
}
.policy {
  height: 280px;
  box-sizing: border-box;
  padding: 34px;
  background-color: #b49849;
  margin-top: 40px;
  overflow: auto;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
.policy-hd {
  text-align: center;
  margin-bottom: 20px;
}
.policy-sec {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 2em 0;
  line-height: 1.857;
}
.policy-title {
  font-weight: bold;
}
#mfp_overlay div.mfp_buttons button#mfp_button_send {
  float: right;
}
#mfp_overlay div.mfp_buttons button#mfp_button_cancel {
  float: left;
}
#mfp_overlay div.mfp_buttons {
  width: 70%;
  margin: 0 auto;
}
#mfp_overlay div.mfp_buttons::after {
  content: " ";
  display: table;
  clear: both;
}

/* PC and TB
----------------------------------------------------------*/
@media only screen and (min-width: 1440px) {
  .page-mv {
  }
  .page-mv-inner {
    height: 1000px;
    background-position: bottom;
    padding-top: 0;
  }
  .sevice-hd {
    padding-top: 16%;
    padding-bottom: 12%;
    margin-top: -10%;
  }
}
@media only screen and (max-width: 1100px) {
  .sevice-hd {
    margin-top: -12%;
  }
}
@media only screen and (max-width: 1000px) {
  .top-catch {
    width: 80vw;
    max-width: 350px;
    position: absolute;
    top: 160px;
    left: 60px;
  }
  .news-lst {
    padding-right: 0;
    padding-left: 0;
  }
  .news-lst > li {
    padding: 0 3% 0;
  }
}


/* SP
----------------------------------------------------------*/
@media only screen and (max-width: 750px) {

  .page-mv {
    /*padding-top: 100%;*/
  }
  .page-mv-inner {
    padding-top: 100%;
  }
  /*.page-mv:before {
    background: rgba(255,255,255,0.7);
  }*/
  .top-catch {
    top: 75px;
    left: 15px;
  }
  .sevice-hd {
    margin-top: -15%;
  }
  .service-text-01 {
    margin-top: 15px;
    margin-bottom: 15px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .service-01 {
    float: none;
    width: 100%;
  }
  .serv-01 {
    margin-top: 40px;
  }
  .serv-01 .service-01 {
    margin-top: 40px;
    margin-bottom: 40px;
    width: auto;
  }
  .serv-02 .service-01 {
    width: auto;
  }
  .service-deco-01 {
    padding-top: 26%;
    margin-top: 30px;
    background-size: cover;
    background-position: right;
  }
  .serv-02 {
    margin-bottom: 30px;
    margin-top: 80px;
  }
  .service-02 {
    float: none;
    width: auto;
    box-sizing: border-box;
    padding: 0;
  }
  .serv-02 .service-01 {
    padding: 0;
    margin-top: 40px;
  }
  .serv-02 .service-02 {
    margin-top: 30px;
  }
  .service-deco-02 {
    padding-top: 26%;
    margin-top: 30px;
    background-size: cover;
    background-position: left;
    margin-bottom: 100px;
  }
  .news-lst {
    padding: 20px 15px 40px;
  }
  .news-lst li {
    width: 100%;
    padding: 0;
  }
  .news-thumb-wrap {
    height: 300px;
    max-width: 300px;
    margin: 0 auto;
  }
  .news-ttl {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .cat,
  .date {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .about-01,
  .about-02 {
    width: auto;
    display: block;
    padding: 0;
    border: none;
  }
  .about-cont-wrap {
    width: auto;
    margin-bottom: 60px;
    display: block;
  }
  .about-cont-wrap dl {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 1.2em;
  }
  .access-wrap {
    display: block;
  }
  .map {
    width: 100%;
    display: block;
  }
  .address {
    margin-top: 30px;
    display: block;
    width: auto;
    vertical-align: middle;
    padding-left: 0px;
    padding-right: 0;
  }
  .address-p,
  .address-02 {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .to-Googlemap {
    text-align: center;
  }
  .totop {
    position: fixed;
    right: 10px;
    width: 30px;
    height: 30px;
  }
  .service-cont-hd {
    font-size: 30px;
    font-size: 3rem;
  }
  .sec-hd {
    padding-top: 35px;
  }
  .about-logo {
    margin: 30px auto 40px;
  }
  .contact {
    padding-bottom: 100px;
  }
  .contact .sec-hd {
    margin-bottom: 40px;
  }
  .contact form#mailformpro dl dt {
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .contact dd {
    width: 100%;
  }
    .contact dd input {
      width: 100%;
    }
  .required {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .policy {
    padding: 15px;
  }
  .policy-hd {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
  .policy-sec {
    font-size: 13px;
    font-size: 1.3rem;
  }
  #mfp_overlay table#mfp_confirm_table tr th,
  #mfp_overlay table#mfp_confirm_table tr td {
    font-size: 14px;
    font-size: 1.4rem;
    display: block;
    width: auto;
  }
  #mfp_overlay table#mfp_confirm_table tr.mfp_colored {
    background-color: #fff;
  }
  #mfp_overlay table#mfp_confirm_table tr th {
    background-color: #F6F7F9;
  }
  #mfp_overlay div.mfp_buttons button#mfp_button_send {
    float: none;
    margin: 20px auto 0 auto;
  }
  #mfp_overlay div.mfp_buttons button#mfp_button_cancel {
    float: none;
    margin: 0 auto;
  }
  #mfp_overlay div.mfp_buttons {
    width: auto;
  }

}
