@charset "UTF-8";
/* Scss Document */
#pc-mv {
  padding: 6.6% 0 5.3%;
  background: url(../img/common/bg.jpg);
}
#pc-mv .in {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 20px);
  max-width: 1500px;
}
#pc-mv .message {
  position: absolute;
  top: 37.2%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 46.3%;
}
#pc-mv .message .illust {
  width: 31.7%;
}
#pc-mv .message .fukidashi {
  position: relative;
  margin-top: 21.4%;
  background-color: #fff;
  border: 3px solid #ed7338;
  border-radius: 16px;
  width: 68.3%;
}
#pc-mv .message .fukidashi::before {
  content: "";
  position: absolute;
  top: 15%;
  right: calc(100% - 1px);
  background: url(../img/index/mv_fukidashi_parts.png) no-repeat right top;
  background-size: contain;
  width: 10.5%;
  height: 90%;
}
#pc-mv .message h2 {
  padding: 1em 1.5em;
  line-height: 1.5;
}
#pc-mv .catch li {
  position: absolute;
  width: 16.2%;
}
#pc-mv .catch li.catch1 {
  top: 34.9%;
  left: 8.8%;
}
#pc-mv .catch li.catch2 {
  top: 11.6%;
  left: 27.9%;
}
#pc-mv .catch li.catch3 {
  top: 16.3%;
  left: 44.9%;
}
#pc-mv .catch li.catch4 {
  top: 25.6%;
  left: 61%;
}
#pc-mv .catch li.catch5 {
  top: 37.2%;
  left: 77.9%;
}
#pc-mv .photo {
  display: flex;
}
#pc-mv .photo li {
  width: 25%;
}

#sp-mv {
  background: url(../img/common/bg.jpg);
  padding: 30px 0;
}
#sp-mv .in {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 20px);
  max-width: 1500px;
  width: 100%;
}
#sp-mv .copy {
  position: absolute;
  bottom: calc(100% - 15px);
  left: 50%;
  transform: translateX(-50%);
  width: 85.9%;
  z-index: 10;
}
#sp-mv .bloc li {
  position: relative;
}
#sp-mv .bloc li:last-child {
  padding-top: 30%;
}
#sp-mv .bloc .catch {
  position: absolute;
  top: 4%;
  left: 2%;
  width: 52.1%;
}
#sp-mv .bloc .illust {
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 35%;
}
#sp-mv .bloc .fukidashi {
  position: relative;
  margin-left: 32.6%;
  background-color: #fff;
  border: 3px solid #ed7338;
  border-radius: 16px;
  width: 63.8%;
}
#sp-mv .bloc .fukidashi::before {
  content: "";
  position: absolute;
  top: 60%;
  right: calc(100% - 1px);
  background: url(../img/index/mv_fukidashi_parts.png) no-repeat right top;
  background-size: contain;
  width: 15.5%;
  height: 90%;
}
#sp-mv .bloc h2 {
  padding: 1em 1.5em;
  line-height: 1.5;
}
#sp-mv .illust2 {
  position: absolute;
  top: 150px;
  right: 0;
  width: 32.6%;
}

#service {
  margin-top: 110px;
  padding: 70px 0 45px;
  background: url(../img/index/service_bg.jpg);
}
@media (max-width: 768px) {
  #service {
    padding: 45px 0 30px;
  }
}
#service .in {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 20px);
  max-width: 1500px;
}
#service h2 {
  position: absolute;
  bottom: 105%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  width: 35.3%;
}
@media (max-width: 768px) {
  #service h2 {
    bottom: calc(100% + 20px);
    width: 97.6%;
  }
}
#service h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 2em 0;
  background-image: url(../img/index/service_sub_bg.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 120%;
  line-height: 1.3;
  text-align: center;
  width: 100%;
  background-size: 60%;
}
@media (max-width: 768px) {
  #service h3 {
    background-size: 50%;
  }
}
#service .list {
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  #service .list {
    display: block;
  }
}
#service .list li {
  margin: 0 1.84%;
  width: 23.5%;
}
@media (max-width: 768px) {
  #service .list li {
    margin: 1em auto;
    width: 86.9%;
  }
}
#service .list .inner {
  position: relative;
}
#service .list .photo img {
  object-fit: cover;
  font-family: "object-fit: cover;";
  border-radius: 0;
  width: 100%;
  height: 100%;
}
#service .list .photo img {
  border-radius: 10px;
}
#service .list .txt {
  margin-top: 1em;
}
#service .list strong {
  text-decoration: underline;
}

#feature {
  margin-top: 110px;
  padding: 70px 0 45px;
  position: relative;
  background: url(../img/index/feature_bg.jpg);
}
@media (max-width: 768px) {
  #feature {
    padding: 45px 0 30px;
  }
}
#feature .in {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 20px);
  max-width: 1500px;
}
#feature h2 {
  position: absolute;
  bottom: 105%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  width: 35.3%;
}
@media (max-width: 768px) {
  #feature h2 {
    bottom: calc(100% + 20px);
    width: 97.6%;
  }
}
#feature h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 2em 0;
  background-image: url(../img/index/service_sub_bg.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 120%;
  line-height: 1.3;
  text-align: center;
  width: 100%;
  background-size: 70%;
}
@media (max-width: 768px) {
  #feature h3 {
    background-size: 60%;
  }
}
#feature .list {
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  #feature .list {
    display: block;
  }
}
#feature .list li {
  margin: 0 1.84%;
  width: 23.5%;
}
@media (max-width: 768px) {
  #feature .list li {
    margin: 1em auto;
    width: 86.9%;
  }
}
#feature .list .inner {
  position: relative;
}
#feature .list .photo img {
  object-fit: cover;
  font-family: "object-fit: cover;";
  border-radius: 0;
  width: 100%;
  height: 100%;
}
#feature .list .photo img {
  border-radius: 10px;
}
#feature .list .txt {
  margin-top: 1em;
}
#feature .list strong {
  text-decoration: underline;
}
#feature .illust {
  position: absolute;
  top: -150px;
  right: 10px;
  width: 13.2%;
  max-width: 180px;
  z-index: 40;
}
@media (max-width: 768px) {
  #feature .illust {
    top: initial;
    bottom: 0;
  }
}

#company {
  background: url(../img/index/company_bg.jpg);
  margin-top: 110px;
  padding: 70px 0 45px;
}
@media (max-width: 768px) {
  #company {
    padding: 45px 0 30px;
  }
}
@media (max-width: 768px) {
  #company {
    padding: 30px 0;
  }
}
#company .in {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 20px);
  max-width: 1500px;
}
#company h2 {
  position: absolute;
  bottom: 105%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  width: 35.3%;
  bottom: 102%;
}
@media (max-width: 768px) {
  #company h2 {
    bottom: calc(100% + 20px);
    width: 97.6%;
  }
}
@media (max-width: 768px) {
  #company h2 {
    bottom: calc(100% - 10px);
  }
}
#company h3 {
  font-family: BlinkMacSystemFont, "Helvetica Neue", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho ProN", "MS P明朝", "MS PMincho", "Noto Sans JP", serif;
  padding: 1.5em 0;
  background: url(../img/index/company_sub_bg.png) no-repeat 0% 50%;
  background-size: contain;
  font-size: 130%;
  text-align: center;
  width: 40.8%;
}
@media (max-width: 768px) {
  #company h3 {
    background-position: 50% 50%;
    background-size: 50%;
    width: 100%;
  }
}
#company .box {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  width: 72%;
  min-width: 769px;
}
@media (max-width: 768px) {
  #company .box {
    display: block;
    width: 100%;
    min-width: initial;
  }
}
#company .bloc {
  width: 50%;
}
@media (max-width: 768px) {
  #company .bloc {
    width: 100%;
  }
}
#company .area {
  margin-left: 6.12%;
  padding: 2em 0;
  background-color: #fff;
  border-radius: 10px;
  width: 87.7%;
}
@media (max-width: 768px) {
  #company .area {
    margin-left: 0;
    width: 100%;
  }
}
#company .inner {
  margin: 0 auto;
  width: 87.2%;
}
@media (max-width: 768px) {
  #company .inner {
    width: 90%;
  }
}
#company .greeting {
  position: relative;
}
#company .greeting .inner {
  padding-top: 1em;
}
@media (max-width: 768px) {
  #company .greeting .inner {
    padding-top: 0;
  }
}
#company .greeting .illust {
  position: absolute;
  top: 0;
  right: 8.16%;
  width: 28.6%;
}
@media (max-width: 768px) {
  #company .greeting .illust {
    top: 6%;
    right: 0;
  }
}
#company .greeting .children {
  position: absolute;
  bottom: -30%;
  right: 0;
  width: 27%;
}
@media (max-width: 768px) {
  #company .greeting .children {
    left: 0;
    right: initial;
    width: 28%;
  }
}
#company .history th {
  padding-right: 0.5em;
}
#company .history th::before {
  content: "●";
  color: #d8e3a7;
}
@media (max-width: 768px) {
  #company .history th {
    padding-right: 0;
  }
}
#company .outline .item {
  padding-bottom: 0.7em;
}
#company .outline .item:nth-child(n+2) {
  margin-top: 0.7em;
}
#company .outline .item:nth-last-child(n+2) {
  border-bottom: 1px solid #000;
}
#company .outline .item h4 {
  margin-bottom: 0.2em;
  font-weight: bold;
}
#company .outline .item h4::before {
  content: "●";
  color: #d8e3a7;
}
#company .outline .item p {
  margin-left: 1em;
}
#company .outline .item dl {
  margin-left: 1em;
  display: flex;
}
@media (max-width: 768px) {
  #company .outline .item dl {
    display: block;
  }
}
#company .outline .item dt {
  width: 5em;
}

#inquiry {
  margin-top: 80px;
}
@media (max-width: 768px) {
  #inquiry {
    margin-top: 60px;
  }
}
#inquiry .in {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 20px);
  max-width: 1500px;
}
#inquiry h2 {
  font-family: BlinkMacSystemFont, "Helvetica Neue", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho ProN", "MS P明朝", "MS PMincho", "Noto Sans JP", serif;
  font-size: 180%;
  text-align: center;
}
@media (max-width: 768px) {
  #inquiry h2 {
    font-size: 200%;
  }
}
#inquiry h3 {
  margin-top: 2em;
  text-align: center;
}
#inquiry h3 span {
  padding: 0.4em 1em 0.5em;
  border-top: 2px solid #ed7338;
  border-bottom: 2px solid #ed7338;
  display: inline-block;
  color: #ed7338;
  font-size: 160%;
}
@media (max-width: 768px) {
  #inquiry h3 span {
    font-size: 130%;
  }
}
#inquiry .txt {
  margin-top: 0.5em;
  color: #1e50a2;
  font-size: 130%;
  font-weight: bold;
  text-align: center;
}
#inquiry .contact {
  position: relative;
  margin-top: 5em;
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  #inquiry .contact {
    margin-top: 120px;
    display: block;
  }
}
#inquiry .contact .free {
  position: absolute;
  top: -4em;
  left: 50%;
  transform: translateX(-50%);
  width: 13.2%;
  min-width: 150px;
  z-index: 20;
}
@media (max-width: 768px) {
  #inquiry .contact .free {
    top: -105px;
    width: 39.7%;
    min-width: initial;
  }
}
#inquiry .contact > div {
  margin: 0 15px;
  padding: 25px 0;
  background-color: #fdffdc;
  border: 1px solid #1e50a2;
  width: 31.6%;
  min-width: 350px;
}
@media (max-width: 768px) {
  #inquiry .contact > div {
    margin: 0 auto 30px;
    width: 90%;
    min-width: initial;
  }
}
#inquiry .contact > div::before {
  content: "";
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  height: 70px;
  background-repeat: no-repeat;
  background-size: 100%;
}
#inquiry .contact .illust {
  position: absolute;
  top: 0.5em;
  left: 50%;
  transform: translateX(-50%);
  width: 8.1%;
  min-width: 90px;
  z-index: 30;
}
@media (max-width: 768px) {
  #inquiry .contact .illust {
    top: -200%;
    left: 0;
    transform: translateX(0);
    width: 22%;
    min-width: initial;
  }
}
#inquiry .contact .tel {
  position: relative;
}
#inquiry .contact .tel::before {
  background-image: url(../img/index/ico_tel.png);
}
#inquiry .contact .tel h4 {
  margin: 0 auto;
  width: 60.5%;
}
@media (max-width: 768px) {
  #inquiry .contact .tel h4 {
    width: 80%;
  }
}
#inquiry .contact .tel .number {
  margin: 0 auto;
  width: 79%;
}
@media (max-width: 768px) {
  #inquiry .contact .tel .number {
    width: 90%;
  }
}
#inquiry .contact .tel .time {
  color: #1e50a2;
  font-weight: bold;
  text-align: center;
}
#inquiry .contact .form {
  position: relative;
}
#inquiry .contact .form::before {
  background-image: url(../img/index/ico_mail.png);
}
#inquiry .contact .form h4 {
  margin: 0 auto 0.5em;
  width: 62.8%;
}
@media (max-width: 768px) {
  #inquiry .contact .form h4 {
    width: 80%;
  }
}
#inquiry .contact .form .btn {
  margin: 0 auto;
  width: 81.4%;
}
@media (max-width: 768px) {
  #inquiry .contact .form .btn {
    width: 90%;
  }
}
#inquiry .illust {
  position: absolute;
  top: -48px;
  left: 0;
  width: 22%;
}