/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "NotoSerifCJKjp-ExtraLight";
  src: url("../fonts/NotoSerifCJKjp-ExtraLight.otf");
}
@font-face {
  font-family: "NotoSerifCJKjp-Regular";
  src: url("../fonts/NotoSerifCJKjp-Regular.otf");
}
@font-face {
  font-family: "NotoSerifCJKjp-Medium";
  src: url("../fonts/NotoSerifCJKjp-Medium.otf");
}
@font-face {
  font-family: "NotoSerifCJKjp-SemiBold";
  src: url("../fonts/NotoSerifCJKjp-SemiBold.otf");
}
@font-face {
  font-family: "NotoSerifCJKjp-Bold";
  src: url("../fonts/NotoSerifCJKjp-Bold.otf");
}
@font-face {
  font-family: "ShipporiMincho-Medium";
  src: url("../fonts/ShipporiMincho-Medium.ttf");
}
@font-face {
  font-family: "ShipporiMincho-SemiBold";
  src: url("../fonts/ShipporiMincho-SemiBold.ttf");
}
/*	layout
------------------------------------ */
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "NotoSerifCJKjp-ExtraLight";
  src: url("../fonts/NotoSerifCJKjp-ExtraLight.otf");
}
@font-face {
  font-family: "NotoSerifCJKjp-Regular";
  src: url("../fonts/NotoSerifCJKjp-Regular.otf");
}
@font-face {
  font-family: "NotoSerifCJKjp-Medium";
  src: url("../fonts/NotoSerifCJKjp-Medium.otf");
}
@font-face {
  font-family: "NotoSerifCJKjp-SemiBold";
  src: url("../fonts/NotoSerifCJKjp-SemiBold.otf");
}
@font-face {
  font-family: "NotoSerifCJKjp-Bold";
  src: url("../fonts/NotoSerifCJKjp-Bold.otf");
}
@font-face {
  font-family: "ShipporiMincho-Medium";
  src: url("../fonts/ShipporiMincho-Medium.ttf");
}
@font-face {
  font-family: "ShipporiMincho-SemiBold";
  src: url("../fonts/ShipporiMincho-SemiBold.ttf");
}
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/* =========================================

  main layout  all

========================================= */
/*	com parts  PC
------------------------------------ */
.sns-none {
  display: none !important;
}

.over {
  overflow: hidden;
}

.pre {
  white-space: pre-line;
}

@media screen and (min-width: 768px) {
  .nowrap {
    white-space: nowrap;
  }
}
.no-sb {
  margin: 50px auto 0;
}

.anchor-mp {
  margin: -126px auto 0;
  padding-top: 126px;
}

.clamp1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.clamp2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.clamp3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media screen and (min-width: 768px) {
  .com-pd {
    padding: 110px 0 130px;
  }
}

.news-post {
  width: 100%;
}
.news-post-item:nth-of-type(n+2) {
  border-top: 1px solid #a6a6a6;
}
.news-post-item:nth-of-type(n+2) a {
  padding-top: 40px;
}
.news-post-link {
  display: block;
  padding-bottom: 36px;
}
@media screen and (min-width: 768px) {
  .news-post-link:hover {
    opacity: 1;
  }
  .news-post-link:hover h4 {
    color: #a62424;
  }
}
.news-post-img {
  width: 250px;
  height: 150px;
  position: relative;
}
.news-post-time {
  display: inline-block;
  color: #2f2f2f;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .news-post-time {
    font-size: 1.5rem;
  }
}
.news-post-tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: 7px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.news-post-tag li {
  margin: 0 10px 10px 0;
}
.news-post-tag-txt {
  padding: 5px 8px;
  background: #a62424;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.4;
}
.news-post-ttl {
  font-family: "NotoSerifCJKjp-Regular", serif;
  color: #2f2f2f;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .news-post-ttl {
    font-size: 1.5rem;
  }
}

.com-web {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 200px;
  height: 60px;
  background: #1e2e56;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #fff;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .com-web {
    font-size: 1.5rem;
  }
}
.com-web::before {
  content: "";
  display: block;
  width: 18px;
  height: 17px;
  margin-right: 14px;
  background: url(../img/top/info-web.png) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .com-web:hover {
    background-color: #a62424;
    opacity: 1;
  }
}

/*	top-campaign  PC
------------------------------------ */
.com-campaign .campaign-bg {
  background: url(../img/top/campaign-deco.png) no-repeat calc(50% - 640px) 0, url(../img/top/campaign-ptn.png) repeat;
}
.com-campaign .campaign-box {
  width: 100%;
  max-width: 950px;
  margin: auto;
  padding-top: 25px;
  border: 1px solid #998467;
  background: #fff;
  text-align: center;
}
.com-campaign .campaign-ttl {
  display: inline-block;
  padding: 0 33px;
  background: url(../img/top/campaign-ttl-l.png) no-repeat left bottom, url(../img/top/campaign-ttl-r.png) no-repeat right bottom;
  font-family: "NotoSerifCJKjp-Bold", serif;
  font-size: 3.3rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-ttl {
    font-size: 2.2rem;
  }
}
.com-campaign .campaign-ttl-num {
  font-size: 5rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-ttl-num {
    font-size: 3.3333333333rem;
  }
}
.com-campaign .campaign-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 24px auto 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.com-campaign .campaign-list-item {
  width: 100%;
  max-width: 420px;
  background: #f2f6ff;
}
@media screen and (min-width: 768px) {
  .com-campaign .campaign-list-item {
    height: 170px;
  }
}
.com-campaign .campaign-list-item:nth-of-type(n+2) {
  margin-left: 35px;
  background: #f2fcf6;
}
.com-campaign .campaign-list-ttl {
  background: url(../img/top/campaign-obi01.png) no-repeat center/cover;
  text-align: center;
  font-family: "NotoSerifCJKjp-Medium", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-list-ttl {
    font-size: 1.5rem;
  }
}
.com-campaign .campaign-list-ttl-num {
  font-size: 2.4rem;
  letter-spacing: 0;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-list-ttl-num {
    font-size: 1.6rem;
  }
}
.com-campaign .campaign-list-ttl02 {
  background: url(../img/top/campaign-obi02.png) no-repeat center/cover;
}
.com-campaign .campaign-list-ttl-fuki {
  position: absolute;
  left: -20px;
  top: -18px;
}
.com-campaign .campaign-list-price {
  margin: 18px auto 0;
}
.com-campaign .campaign-list-price-frame {
  display: block;
  width: 114px;
  height: 20px;
  border: 1px solid #2f2f2f;
  text-align: center;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
  line-height: 20px;
}
.com-campaign .campaign-list-price-default-price {
  display: block;
  margin-top: 5px;
  font-family: "ShipporiMincho-Medium", serif;
  font-size: 3.6rem;
  letter-spacing: -0.03em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-list-price-default-price {
    font-size: 2.4rem;
  }
}
.com-campaign .campaign-list-price-default-price-sm {
  font-size: 2rem;
  font-family: "NotoSerifCJKjp-Regular", serif;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-list-price-default-price-sm {
    font-size: 1.5rem;
  }
}
.com-campaign .campaign-list-price-sale {
  display: inline-block;
  padding-left: 48px;
  font-family: "ShipporiMincho-SemiBold", serif;
  font-size: 6.6rem;
  color: #a62424;
  letter-spacing: -0.03em;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-list-price-sale {
    font-size: 4.4rem;
  }
}
.com-campaign .campaign-list-price-sale02 {
  padding-left: 30px;
}
.com-campaign .campaign-list-price-sale02::before {
  left: 13px;
}
.com-campaign .campaign-list-price-sale::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #a37b42;
  border-width: 9px 0px 9px 12px;
  position: absolute;
  top: 31px;
  left: 17px;
}
.com-campaign .campaign-list-price-sale-sm {
  font-size: 3.5rem;
  font-family: "NotoSerifCJKjp-Regular", serif;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-list-price-sale-sm {
    font-size: 2.3333333333rem;
  }
}
.com-campaign .campaign-list-price-sale-note {
  display: block;
  margin: 8px auto 0;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
}
.com-campaign .campaign-info {
  margin: 24px auto 0;
  padding: 14px 0 16px;
  background: #dcbf9a;
}
.com-campaign .campaign-info-item:nth-of-type(n+2) {
  margin-left: 30px;
  padding-left: 30px;
  border-left: 1px solid #5b3a0a;
}
.com-campaign .campaign-info-ttl {
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #5b3a0a;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-info-ttl {
    font-size: 1.5rem;
  }
}
.com-campaign .campaign-info-tel {
  margin-left: 19px;
  padding-left: 19px;
  border-left: 1px solid #fff;
}
.com-campaign .campaign-info-tel-link {
  padding-left: 26px;
  background: url(../img/top/campaign-tel.png) no-repeat left center;
  font-family: "ShipporiMincho-Medium", serif;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  color: #5b3a0a;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-info-tel-link {
    font-size: 1.6rem;
  }
}
.com-campaign .campaign-info-tel-note {
  display: block;
  margin-top: -5px;
  line-height: 1;
}
.com-campaign .campaign-info-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 250px;
  height: 70px;
  margin-left: 15px;
  background: #a62424;
  outline: 1px solid #fff;
  outline-offset: -3px;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #fff;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .com-campaign .campaign-info-btn {
    font-size: 1.5rem;
  }
}
.com-campaign .campaign-info-btn::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  margin-right: 13px;
  background: url(../img/top/campaign-line.png) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .com-campaign .campaign-info-btn:hover {
    background-color: #1e2e56;
    opacity: 1;
  }
}

/*	top-problem  PC
------------------------------------ */
#top-problem .problem-bg {
  background: url(../img/top/problem-bg.png) no-repeat right top #f4ede4;
}
#top-problem .problem-ttl {
  text-align: center;
}
#top-problem .problem-ttl-sm {
  font-family: "NotoSerifCJKjp-Medium", serif;
  font-size: 2.3rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #top-problem .problem-ttl-sm {
    font-size: 1.5333333333rem;
  }
}
#top-problem .problem-ttl-lg {
  display: block;
  max-width: 970px;
  margin: 6px auto 0;
  padding: 24px 0 34px;
  border-top: 1px solid #2f2f2f;
  border-bottom: 1px solid #2f2f2f;
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 4rem;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #top-problem .problem-ttl-lg {
    font-size: 2.6666666667rem;
  }
}
#top-problem .problem-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 56px auto 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
#top-problem .problem-list-item {
  padding-left: 26px;
  background: url(../img/top/problem-ico.png) no-repeat left center;
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #2f2f2f;
}
@media screen and (max-width: 767px) {
  #top-problem .problem-list-item {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  #top-problem .problem-list-item:not(:nth-of-type(4n-3)) {
    margin-left: 39px;
  }
  #top-problem .problem-list-item:nth-of-type(n+5) {
    margin-top: 18px;
  }
}
#top-problem .problem-solution {
  padding: 157px 0 120px;
  background: url(../img/top/solution-bg-pc.png) no-repeat center bottom/cover;
  text-align: center;
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 4rem;
  letter-spacing: 0.1em;
  color: #fff;
  -webkit-clip-path: polygon(50% 28%, 100% 0, 100% 100%, 0 100%, 0 0);
          clip-path: polygon(50% 28%, 100% 0, 100% 100%, 0 100%, 0 0);
}
@media screen and (max-width: 767px) {
  #top-problem .problem-solution {
    font-size: 2.6666666667rem;
  }
}

/*	top-about  PC
------------------------------------ */
#top-about .about-bg {
  background: url(../img/top/about-ico.png) no-repeat calc(50% + 379px) 284px;
}
#top-about .about-inner {
  padding-top: 50px;
}
@media screen and (min-width: 768px) {
  #top-about .about-flx {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
#top-about .about-ttl {
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 3rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #top-about .about-ttl {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  #top-about .about-txt-box {
    margin-top: 90px;
    margin-right: 63px;
  }
  #top-about .about-txt-box p:nth-of-type(n+2) {
    margin-right: 40px;
  }
  #top-about .about-btn {
    margin-top: 90px;
    margin-right: 115px;
  }
}
#top-about .about-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #1e2e56;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  #top-about .about-btn {
    font-size: 1.5rem;
  }
}
#top-about .about-btn::after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  margin: 19px auto 0;
  background: url(../img/top/about-btn-arw.png) no-repeat center #1e2e56;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  #top-about .about-btn:hover {
    color: #a62424;
    opacity: 1;
  }
  #top-about .about-btn:hover::after {
    background-color: #a62424;
  }
}
#top-about .about-img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 64px auto 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-about .about-img {
    padding-bottom: 140px;
  }
}
#top-about .about-img li:nth-of-type(n+2) {
  margin-left: 30px;
}
#top-about .about-img li:nth-of-type(2) {
  margin-top: 70px;
}

.para {
  height: 0;
  padding-top: 45.4%;
  background: url(../img/top/para-img-pc.jpg) no-repeat center bottom/cover;
  position: relative;
}
@media screen and (min-width: 1921px) {
  .para {
    background-size: 100%, cover;
  }
}
.para-ttl {
  margin: auto;
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 3rem;
  letter-spacing: 0.15em;
  color: #fff;
  line-height: 2.33;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  top: 9%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .para-ttl {
    font-size: 2rem;
  }
}

/*	top-voice  PC
------------------------------------ */
#top-voice .voice-bg {
  position: relative;
}
#top-voice .voice-bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 450px;
  background-color: #f4ede4;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
#top-voice .voice-ttl {
  text-align: center;
  font-family: "NotoSerifCJKjp-Medium", serif;
  font-size: 4rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #2f2f2f;
}
@media screen and (max-width: 767px) {
  #top-voice .voice-ttl {
    font-size: 2.6666666667rem;
  }
}
#top-voice .voice-txt {
  margin: 40px auto 0;
  text-align: center;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
}
@media screen and (max-width: 767px) {
  #top-voice .voice-txt {
    font-size: 1.5rem;
  }
}
#top-voice .voice-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 65px auto 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#top-voice .voice-list-item {
  width: 100%;
  max-width: 330px;
  height: 0;
  padding-top: 330px;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top-voice .voice-list-item:not(:nth-of-type(3n-2)) {
    margin-left: 43px;
  }
}
#top-voice .voice-btn {
  margin: 80px auto 0;
}

/*	top-news  PC
------------------------------------ */
#top-news .news-bg {
  background: #f4ede4;
}
#top-news .news-ttl {
  font-family: "NotoSerifCJKjp-Medium", serif;
  font-size: 4rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
}
@media screen and (max-width: 767px) {
  #top-news .news-ttl {
    font-size: 2.6666666667rem;
  }
}
@media screen and (min-width: 768px) {
  #top-news .news-ttl {
    display: block;
    margin: auto;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
#top-news .news-btn {
  width: 250px;
  height: 60px;
  margin: 125px auto 0;
  line-height: 60px;
}
#top-news .news-post {
  max-width: 720px;
}

/*	top-bnr  PC
------------------------------------ */
#top-bnr .bnr-bg {
  background: url(../img/top/bnr-ico.png) no-repeat calc(50% - 673px) 0;
}
#top-bnr .bnr-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#top-bnr .bnr-list-item {
  max-width: 500px;
}
#top-bnr .bnr-list-item:nth-of-type(n+2) {
  margin-left: 80px;
}
#top-bnr .bnr-list-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #top-bnr .bnr-list-link:hover {
    opacity: 1;
  }
  #top-bnr .bnr-list-link:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
#top-bnr .bnr-list-ttl {
  width: 120px;
  background: url(../img/top/bnr-ttl.png) no-repeat center/cover;
  text-align: center;
  font-family: "NotoSerifCJKjp-Medium", serif;
  font-size: 3rem;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 120px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #top-bnr .bnr-list-ttl {
    font-size: 2rem;
  }
}
#top-bnr .bnr-list-img img {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/*	top-contact  PC
------------------------------------ */
.com-contact .contact-bg {
  background: url(../img/top/contact-bg-pc.png) no-repeat center bottom/cover;
}
.com-contact .contact-ttl {
  text-align: center;
  font-family: "NotoSerifCJKjp-Medium", serif;
  font-size: 4rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
}
@media screen and (max-width: 767px) {
  .com-contact .contact-ttl {
    font-size: 2.6666666667rem;
  }
}
.com-contact .contact-box {
  margin: 26px auto 0;
  padding: 55px 0 63px;
  background: #f4ede4;
}
.com-contact .contact-box-tel {
  text-align: center;
}
.com-contact .contact-box-tel-link {
  display: inline-block;
  padding-left: 47px;
  background: url(../img/top/contact-tel.png) no-repeat left center;
  font-family: "ShipporiMincho-Medium", serif;
  font-size: 4.1rem;
  letter-spacing: 0.05em;
  color: #2f2f2f;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .com-contact .contact-box-tel-link {
    font-size: 2.7333333333rem;
  }
}
.com-contact .contact-box-tel-note {
  display: block;
  line-height: 1.3;
}
.com-contact .contact-box-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 48px auto 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.com-contact .contact-box-list-item {
  width: 100%;
  max-width: 300px;
}
.com-contact .contact-box-list-item:nth-of-type(n+2) {
  margin-left: 39px;
}
.com-contact .contact-box-list a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 90px;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #fff;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .com-contact .contact-box-list a {
    font-size: 1.5rem;
  }
}
.com-contact .contact-box-list a::before {
  content: "";
  display: block;
}
.com-contact .contact-box-line {
  background-color: #a62424;
}
@media screen and (min-width: 768px) {
  .com-contact .contact-box-line:hover {
    background-color: #1e2e56;
    opacity: 1;
  }
}
.com-contact .contact-box-line::before {
  width: 32px;
  height: 32px;
  margin-right: 18px;
  background: url(../img/top/contact-line.png) no-repeat center/contain;
}
.com-contact .contact-box-link {
  background: url(../img/top/com-btn-arw.png) no-repeat calc(100% - 22px) center #1e2e56;
}
@media screen and (min-width: 768px) {
  .com-contact .contact-box-link:hover {
    background-color: #a62424;
    background-position: calc(100% - 19px) center;
    opacity: 1;
  }
}
.com-contact .contact-box-link::before {
  width: 17px;
  height: 17px;
  margin-right: 20px;
  background: url(../img/top/contact-web.png) no-repeat center/contain;
}
.com-contact .contact-box-link-mail::before {
  width: 19px;
  height: 15px;
  background-image: url(../img/top/contact-mail.png);
}

/* =========================================

sub layout  PC

========================================= */
/*	about  PC
------------------------------------ */
#about .feature-bg {
  background: url(../img/about/about-ico.png) no-repeat 2% -22px;
}
#about .feature-list {
  margin: 70px auto 0;
}
#about .feature-list-item {
  position: relative;
}
@media screen and (min-width: 768px) {
  #about .feature-list-item:nth-of-type(n+2) {
    padding-top: 131px;
  }
  #about .feature-list-item:nth-of-type(n+2) .feature-list-img {
    top: 131px;
  }
}
#about .feature-list-item:nth-of-type(2n-1) {
  background: url(../img/about/about-ico.png) no-repeat left 15px;
}
#about .feature-list-item:nth-of-type(2n-1) .feature-list-img {
  right: 0;
}
#about .feature-list-item:nth-of-type(1) {
  background: none;
}
#about .feature-list-item:nth-of-type(2n) {
  background: url(../img/about/abotu-ico-r.png) no-repeat right 15px;
}
#about .feature-list-item:nth-of-type(2n) .feature-list-img {
  left: 0;
}
#about .feature-list-item:nth-of-type(2n) .feature-list-box {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  #about .feature-list-img {
    width: 46.7%;
    height: 470px;
    position: absolute;
    top: 0;
  }
  #about .feature-list-img img {
    width: 100%;
    height: 100%;
    margin: auto;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
}
#about .feature-list-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 1080px;
  margin: auto;
  height: 470px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#about .feature-list-inner-ttl {
  margin-top: 40px;
  font-family: "NotoSerifCJKjp-Bold", serif;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  #about .feature-list-inner-ttl {
    font-size: 1.6666666667rem;
  }
}
#about .feature-list-box {
  max-width: 520px;
}
#about .feature .com-txt-box {
  margin-top: 40px;
}
#about .owner-bg {
  background: #f0e7d9;
}
#about .owner-flx {
  margin: 80px auto 0;
}
#about .owner-flx-con {
  max-width: 500px;
}
#about .owner-name {
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #about .owner-name {
    font-size: 1.8666666667rem;
  }
}
#about .owner-name-sm {
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #1e2e56;
}
@media screen and (max-width: 767px) {
  #about .owner-name-sm {
    font-size: 1.5rem;
  }
}
#about .owner .com-txt-box {
  margin-top: 27px;
}
#about .owner-dl {
  margin-top: 40px;
  border: 1px solid #1e2e56;
  background: #fff;
}
#about .owner-dl dt {
  padding: 12.5px 25px;
  background: #1e2e56;
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #about .owner-dl dt {
    font-size: 1.5rem;
  }
}
#about .owner-dl dd {
  padding: 12px 25px;
}

/*	price  PC
------------------------------------ */
#price .price-txt {
  margin: 35px auto 0;
  text-align: center;
}
#price .price-table {
  width: 100%;
  margin: 35px auto 0;
  background: #fff;
  border: 1px solid #d1b99a;
}
#price .price-table tr:nth-of-type(n+2) {
  border-top: 1px solid #d1b99a;
}
#price .price-table th, #price .price-table td {
  vertical-align: middle;
}
#price .price-table th {
  width: 670px;
  padding: 21px 40px;
  background: #f0e7d9;
  font-family: "NotoSerifCJKjp-Medium", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
}
@media screen and (max-width: 767px) {
  #price .price-table th {
    font-size: 1.5rem;
  }
}
#price .price-table-txt {
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #price .price-table-txt {
    font-size: 1.5rem;
  }
}
#price .price-table td {
  padding: 0 43px;
  text-align: right;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #price .price-table td {
    font-size: 1.5rem;
  }
}
#price .campaign-bg {
  position: relative;
}
#price .campaign-bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 75px;
  background: url(../img/top/f-cir.png) no-repeat center top/cover;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
#price .flow-bg {
  background: url(../img/about/abotu-ico-r.png) no-repeat right top;
}
#price .flow-list {
  margin: 78px auto 0;
}
#price .flow-list-item:nth-of-type(n+2) {
  margin: 44px auto 0;
  padding-top: 60px;
  border-top: 1px solid #ceb493;
  position: relative;
}
#price .flow-list-item:nth-of-type(n+2)::before {
  content: "";
  display: block;
  width: 65px;
  height: 19px;
  margin: auto;
  background: url(../img/price/flow-arw.png) no-repeat center/contain;
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
}
#price .flow-list-l {
  width: 100%;
  max-width: 580px;
}
#price .flow-list-ttl-num {
  font-family: "ShipporiMincho-SemiBold", serif;
}
#price .flow .com-txt-box {
  margin-top: 30px;
}
#price .qa-bg {
  background: #f4ede4;
}
#price .qa-dl {
  margin: 40px auto 0;
}
#price .qa-dl-item {
  border: 1px solid #1e2e56;
  background-color: #fff;
}
#price .qa-dl-item:nth-of-type(n+2) {
  margin-top: 28px;
}
#price .qa-dl dt, #price .qa-dl dd {
  line-height: 1.7;
}
#price .qa-dl dt {
  padding: 16px 23px 18px;
  background: #1e2e56;
  font-family: "NotoSerifCJKjp-SemiBold", serif;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #price .qa-dl dt {
    font-size: 1.6666666667rem;
  }
}
#price .qa-dl dd {
  padding: 25px;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
  white-space: pre-line;
}
@media screen and (max-width: 767px) {
  #price .qa-dl dd {
    font-size: 1.5rem;
  }
}

/*	voice  PC
------------------------------------ */
#voice .voice-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 70px auto 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
#voice .voice-list-item {
  width: 100%;
  max-width: 330px;
  height: 0;
  padding-top: 330px;
  position: relative;
}
@media screen and (min-width: 768px) {
  #voice .voice-list-item:not(:nth-of-type(3n-2)) {
    margin-left: 43px;
  }
  #voice .voice-list-item:nth-of-type(n+4) {
    margin-top: 43px;
  }
}
#voice .voice-ttl {
  text-align: center;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  color: #2f2f2f;
}
@media screen and (max-width: 767px) {
  #voice .voice-ttl {
    font-size: 1.5rem;
  }
}

/*	information  PC
------------------------------------ */
#information .information-table {
  margin: 52px auto 0;
}
#information .access-bg {
  background: #f4ede4;
  position: relative;
}
#information .access-bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 75px;
  background: url(../img/top/f-cir.png) no-repeat center top/cover;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
#information .access-list {
  margin: 55px auto 0;
}
#information .access-list-item:nth-of-type(n+2) {
  margin-top: 84px;
}
#information .access-list-ttl {
  padding: 5px 20px;
}
#information .access-list-txt {
  margin-top: 35px;
  font-family: "NotoSerifCJKjp-Regular", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #information .access-list-txt {
    font-size: 1.5rem;
  }
}
#information .access-list-img {
  margin: 34px auto 0;
}

/*	news  PC
------------------------------------ */
#news .news-post-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
#news .news-post-img {
  margin-right: 5%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
#news .news-post-con-max {
  max-width: 720px;
}