@charset "UTF-8";
/* ----------------------------------------------------------------
home
----------------------------------------------------------------- */
body {
 background-color: #fff;
 overflow-x: hidden;
 width: 100%;
}
#wrap {
 position: relative;
	min-width: 1100px;
}
/* ----------------------------------------------------------------
home header
  ----------------------------------------------------------------- */
body.home .header .header-logo {}
@media only screen and (max-width: 767px) {
	#wrap {
	min-width: 100%;
}
}
/* ----------------------------------------------------------------
home kv
  ----------------------------------------------------------------- */
body.home .sec-kv {
 align-items: center;
 background-image: url("../img/home/img_kv_bg.jpg");
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 display: flex;
 height: calc(100vh - 160px);
 justify-content: flex-start;
 margin: 80px auto 0;
 position: relative;
 width: calc(100% - 160px);
}
body.home .sec-kv::after {
 background-color: #009944;
 content: "";
 height: calc(50% + 80px);
 position: absolute;
 right: -80px;
 top: -80px;
 width: 80px;
}
body.home .sec-kv .kv-item {
 margin-left: 5%;
 width: 55%;
}
body.home .sec-kv .kv-copy-main {
 width: 100%;
}
body.home .sec-kv .kv-copy-sub {
 color: #333;
 font-family: "Zen Kaku Gothic New", sans-serif;
 font-size: 30px;
 font-weight: 700;
 letter-spacing: 0.5em;
 line-height: 1.5;
 margin: 50px auto 0;
 text-align: center;
}
/* スクロールダウン */
body.home .arrow-wrap {
 position: absolute;
 right: -65.5px;
 bottom: 0px;
 height: 223px;
 z-index: 1;
}
body.home .arrow-inr p {
 color: #009944;
 ;
 font-family: serif;
 font-size: 14px;
 font-style: normal;
 font-weight: 700;
 letter-spacing: 0.1em;
 text-align: end;
 -webkit-transform: rotate(90deg);
 transform: rotate(90deg);
}
body.home .arrow {
 background-color: #009944;
 ;
 display: block;
 width: 1px;
 height: 180px;
 margin: 26px auto 0;
 position: relative;
 overflow: hidden;
}
body.home .arrow::before {
 animation: arrow 2.5s ease-in-out infinite normal;
 -webkit-animation: arrow 2.5s ease-in-out infinite normal;
 display: block;
 content: '';
 width: 1px;
 height: 180px;
 margin: 26px auto 0;
 background: #fff;
 position: absolute;
 bottom: 0;
 left: 0;
}
@keyframes arrow {
 0% {
  transform: translateY(-100%);
 }
 100% {
  transform: translateY(100%);
 }
}
@-webkit-keyframes arrow {
 0% {
  transform: translateY(-100%);
 }
 100% {
  transform: translateY(100%);
 }
}
@media only screen and (max-width: 767px) {
 #kv {
  background-position: top;
  aspect-ratio: 7 / 5;
  height: auto;
  margin: 74px auto 0;
  width: 100%;
 }
 #kv::after {
  display: none;
 }
 #kv .kv-item {
  margin-left: 5%;
  width: 55%;
 }
 #kv .kv-copy-main {
  width: 100%;
 }
}
/* ----------------------------------------------------------------
    home intro
  ----------------------------------------------------------------- */
body.home .sec-intro {
 margin: 100px auto 90px;
}
body.home .sec-intro .intro-inr {
 align-items: center;
 display: flex;
 justify-content: space-between;
 margin: 0 auto;
 max-width: 1200px;
 position: relative;
 width: 90%;
}
body.home .sec-intro .intro-copy-main {
 color: #333;
 font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
 font-size: 36px;
 font-weight: 700;
 letter-spacing: 0.1em;
 line-height: 2;
 width: 100%;
 z-index: 1;
}
body.home .sec-intro .intro-copy-main span {
 color: #009933;
}
body.home .sec-intro .intro-copy-sub {
 color: #333;
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 font-size: 16px;
 line-height: 2;
 margin-top: 40px;
 width: 100%;
 z-index: 1;
}
body.home .sec-intro .col-img {
 background-image: url("../img/home/bkg_intro.png");
 background-position: right bottom;
 background-repeat: no-repeat;
 background-size: 100%;
 margin-left: 50px;
 padding: 0 50px 50px 50px;
 width: calc(66% - 50px);
}
body.home .sec-intro .col-img img {
 border-radius: 10px;
}
@media only screen and (max-width: 767px) {
 body.home .sec-intro {
  margin: 10% auto;
 }
 body.home .sec-intro .intro-inr {
  display: block;
 }
 body.home .sec-intro .intro-copy-main {
  font-size: 20px;
  letter-spacing: 0.1em;
  text-align: center
 }
 body.home .sec-intro .intro-copy-main span {
  color: #009933;
 }
 body.home .sec-intro .intro-copy-sub {
  color: #333;
  font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
  font-size: 14px;
  line-height: 2;
  margin-top: 10%;
  width: 100%;
  z-index: 1;
 }
 body.home .sec-intro .col-img {
  margin: 10% auto 0;
  padding: 0 5% 5% 5%;
  width: 100%;
 }
}
/* ----------------------------------------------------------------
    home loop-txt
  ----------------------------------------------------------------- */
body.home .loop-txt {
 opacity: 1;
 overflow: hidden;
 width: 100%;
}
body.home .loop-txt .loop-img {
 display: flex;
 height: 113px;
 overflow: hidden;
 width: auto;
}
body.home .loop-txt .loop-img img {
 animation: loop 50s -25s linear infinite;
 height: 100%;
 max-width: none;
 width: auto;
}
body.home .loop-txt .loop-right img {
 animation: loop_right 50s -25s linear infinite;
}
body.home .loop-txt .loop-right img + img {
 animation: loop_right2 50s linear infinite;
}
body.home .loop-txt .loop-left img {
 animation: loop_left 50s -25s linear infinite;
}
body.home .loop-txt .loop-left img + img {
 animation: loop_left2 50s linear infinite;
}
@keyframes loop_right {
 0% {
  transform: translateX(-100%);
 }
 to {
  transform: translateX(100%);
 }
}
@keyframes loop_right2 {
 0% {
  transform: translateX(-200%);
 }
 to {
  transform: translateX(0);
 }
}
@keyframes loop_left {
 0% {
  transform: translateX(100%);
 }
 to {
  transform: translateX(-100%);
 }
}
@keyframes loop_left2 {
 0% {
  transform: translateX(0);
 }
 to {
  transform: translateX(-200%);
 }
}
@media only screen and (max-width: 767px) {
 body.home .loop-txt .loop-img {
  height: 56px;
 }
}
/* ----------------------------------------------------------------
    home service
  ----------------------------------------------------------------- */
body.home .sec-service {
 margin-top: 37px;
 position: relative;
}
body.home .sec-service::after {
 background-color: #009944;
 content: "";
 display: block;
 height: calc(100% + 32px);
 left: 0;
 position: absolute;
 top: -7px;
 width: 65%;
 z-index: -1;
}
body.home .sec-service .sec-inr {
 margin: 0 auto;
 max-width: 1200px;
 padding: 0;
 position: relative;
 width: 90%;
}
body.home .sec-service .sec-tit {
 align-items: flex-end;
 color: #fff;
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 display: flex;
 font-size: 68px;
 font-weight: 900;
 justify-content: flex-start;
 left: 0;
 line-height: 1;
 margin-bottom: 25px;
}
body.home .sec-service .sec-tit span {
 color: #000;
 display: block;
 font-size: 20px;
 font-weight: 400;
 padding: 0 0 9px 20px;
}
body.home .sec-service .service-menu {
 align-items: stretch;
 display: flex;
 justify-content: space-between;
 width: 100%;
}
body.home .sec-service .sub-menu {
 width: 60%;
}
body.home .sec-service .sub-menu ul {
 align-items: flex-start;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
body.home .sec-service .service-item {
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 border: 1px solid #fff;
 border-radius: 10px;
 display: block;
 position: relative;
}
body.home .sec-service .service-item a {
 display: block;
 height: 100%;
 width: 100%;
}
body.home .sec-service .service-item a:hover {
 background-color: rgba(255, 255, 255, 0.3);
}
body.home .sec-service .service01 {
 background-image: url("../img/home/img_service01.jpg");
 width: calc(40% - 9px);
}
body.home .sec-service .service02, .service03, .service04, .service05, .service06, .service07 {
 aspect-ratio: 1 / 0.816964;
 width: calc(33.3% - 6px);
}
body.home .sec-service .service02, .service03, .service04 {
 margin-bottom: 9px;
}
body.home .sec-service .service02 {
 background-image: url("../img/home/img_service02.jpg");
}
body.home .sec-service .service03 {
 background-image: url("../img/home/img_service03.jpg");
}
body.home .sec-service .service04 {
 background-image: url("../img/home/img_service04.jpg");
}
body.home .sec-service .service05 {
 background-image: url("../img/home/img_service05.jpg");
}
body.home .sec-service .service06 {
 background-image: url("../img/home/img_service06.jpg");
}
body.home .sec-service .service07 {
 background-image: url("../img/home/img_service07.jpg");
}
body.home .sec-service .service-name {
 align-items: center;
 background-image: url("../img/home/bkg_line.png");
 background-position: right bottom;
 background-size: 64px;
 border-radius: 0 0 10px 10px;
 bottom: 0px;
 color: #fff;
 display: flex;
 font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
 font-size: 16px;
 font-weight: 700;
 height: 63px;
 justify-content: center;
 line-height: 1.25;
 position: absolute;
 text-align: center;
 width: 100%;
}
body.home .sec-service .btn a {
 margin: 25px 0 0 auto;
 width: 177px;
}
@media only screen and (max-width: 767px) {
 body.home .sec-service {
  margin-top: 10%;
 }
 body.home .sec-service::after {
  height: 105%;
  top: -2.5%;
  width: 90%;
 }
 body.home .sec-service .sec-inr {
  padding: 0;
 }
 body.home .sec-service .sec-tit {
  display: block;
  font-size: 51px;
  margin: 0 auto 5%;
  position: static;
 }
 body.home .sec-service .sec-tit span {
  font-size: 15px;
  padding: 10px 0 0 0;
 }
 body.home .sec-service .service-menu {
  display: block;
 }
 body.home .sec-service .sub-menu {
  margin-top: 6px;
  width: 100%;
 }
 body.home .sec-service .service01 {
  aspect-ratio: 1 / 0.820175;
  width: 100%;
 }
 body.home .sec-service .service02, .service03, .service04, .service05, .service06, .service07 {
  width: calc(50% - 3px);
 }
 body.home .sec-service .service02, .service03, .service04 {
  margin-bottom: 6px;
 }
 body.home .sec-service .service-name {
  font-size: 14px;
  height: 42px;
 }
 body.home .sec-service .btn a {
  margin: 5% auto 0;
  width: 177px;
 }
}
/* ----------------------------------------------------------------
    home works
  ----------------------------------------------------------------- */
body.home .sec-works {
 margin: 82px auto 55px;
 position: relative;
}
body.home .sec-works::after {
 background-color: #009944;
 content: "";
 display: block;
 height: calc(100% + 32px);
 right: 0;
 position: absolute;
 top: -7px;
 width: 65%;
 z-index: -1;
}
body.home .sec-works .sec-inr {
 margin: 0 auto;
 max-width: 1200px;
 padding: 0;
 position: relative;
 width: 90%;
}
body.home .sec-works .sec-tit {
 align-items: flex-end;
 color: #009944;
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 display: flex;
 font-size: 68px;
 font-weight: 900;
 justify-content: flex-start;
 line-height: 1;
 margin-bottom: 25px;
}
body.home .sec-works .sec-tit span {
 color: #000;
 display: block;
 font-size: 20px;
 font-weight: 400;
 padding: 0 0 9px 20px;
}
body.home .sec-works .works-menu {
 align-items: stretch;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 width: 100%;
}
body.home .sec-works .works-item {
 aspect-ratio: 1 / 1.32653;
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 border: 1px solid #fff;
 border-radius: 10px;
 display: block;
 position: relative;
 width: calc(25% - 6px);
}
body.home .sec-works .works-item a {
 display: block;
 height: 100%;
 width: 100%;
}
body.home .sec-works .works-item a:hover {
 background-color: rgba(255, 255, 255, 0.3);
}
body.home .sec-works .works01 {
 background-image: url("../img/home/img_works01.jpg");
}
body.home .sec-works .works02 {
 background-image: url("../img/home/img_works02.jpg");
}
body.home .sec-works .works03 {
 background-image: url("../img/home/img_works03.jpg");
}
body.home .sec-works .works04 {
 background-image: url("../img/home/img_works04.jpg");
}
body.home .sec-works .works-name {
 align-items: center;
 background-image: url("../img/home/bkg_line.png");
 background-position: right bottom;
 background-size: 64px;
 border-radius: 0 0 10px 10px;
 bottom: 0px;
 color: #fff;
 display: flex;
 font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
 font-size: 16px;
 font-weight: 700;
 height: 63px;
 justify-content: center;
 line-height: 1.25;
 position: absolute;
 text-align: center;
 width: 100%;
}
body.home .sec-works .btn a {
 margin: 25px 0 0 auto;
 width: 177px;
}
@media only screen and (max-width: 767px) {
 body.home .sec-works {
  margin: 20% 0 10%;
 }
 body.home .sec-works::after {
  height: 105%;
  top: -2.5%;
  width: 90%;
 }
 body.home .sec-works .sec-tit {
  color: #fff;
  display: block;
  font-size: 51px;
  margin: 0 auto 5%;
  position: static;
 }
 body.home .sec-works .sec-tit span {
  font-size: 15px;
  padding: 10px 0 0 0;
 }
 body.home .sec-works .works-item {
  width: calc(50% - 6px);
 }
 body.home .sec-works .works03 {
  margin-top: 6px;
 }
 body.home .sec-works .works04 {
  margin-top: 6px;
 }
 body.home .sec-works .works-name {
  font-size: 14px;
  height: 42px;
 }
 body.home .sec-works .btn a {
  margin: 3.3% auto 0;
  width: 177px;
 }
}
/* ----------------------------------------------------------------
    home sec-bnr
  ----------------------------------------------------------------- */
body.home .sec-bnr {
 background-color: #e6e6e6;
 margin-top: 90px;
}
body.home .sec-bnr .sec-inr {
 margin: 0 auto;
 max-width: 900px;
 padding: 10px 0 50px;
 width: 90%;
}
body.home .sec-bnr .sec-tit {
 align-items: flex-end;
 color: #009944;
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 display: flex;
 font-size: 68px;
 font-weight: 900;
 justify-content: flex-start;
 line-height: 1;
}
body.home .sec-bnr .sec-tit span {
 color: #000;
 display: block;
 font-size: 20px;
 font-weight: 400;
 padding: 0 0 9px 20px;
}
body.home .sec-bnr .bnr-area {
 background-image: url("../img/home/bkg_intro.png");
 background-position: right bottom;
 background-repeat: no-repeat;
 background-size: 60%;
 padding: 0 50px 50px 0;
 margin: 22px auto 0;
 width: 100%;
}
body.home .sec-bnr .bnr-area img {
 border-radius: 10px;
}
body.home .sec-bnr .bnr-area img:hover {
 opacity: 0.7;
}
body.home .sec-bnr .bnr-area a {
 aspect-ratio: 1 / 0.308889;
 background-color: #fff;
 border-radius: 10px;
 display: block;
 height: 100%;
}
@media only screen and (max-width: 767px) {
 body.home .sec-bnr {
  margin-top: 10%;
 }
 body.home .sec-bnr .sec-inr {
  padding: 5% 0;
 }
 body.home .sec-bnr .sec-tit {
  display: block;
  font-size: 51px;
  margin: 0 auto 5%;
  position: static;
 }
 body.home .sec-bnr .sec-tit span {
  font-size: 15px;
  padding: 10px 0 0 0;
 }
 body.home .sec-bnr .bnr-area {
  padding: 0 5% 5% 0;
  margin: 5% auto 0;
  width: 100%;
 }
 body.home .sec-bnr .bnr-area img {
  border-radius: 10px;
 }
 body.home .sec-bnr .bnr-area img:hover {
  opacity: 0.7;
 }
 body.home .sec-bnr .bnr-area a {
  aspect-ratio: 1 / 0.5;
  background-color: #fff;
  border-radius: 10px;
  display: block;
  height: 100%;
 }
}
/* ----------------------------------------------------------------
    about
  ----------------------------------------------------------------- */
body.about .sec-messege .sec-inr {
 align-items: flex-start;
 display: flex;
 justify-content: space-between;
 padding: 0 5% 0;
}
body.about .sec-messege .sec-tit {
 line-height: 1.2em;
 width: 195px;
}
body.about .sec-messege .messege-area {
 width: calc(100% - 285px);
}
body.about .sec-messege .messege-txt {
 font-size: 20px;
 line-height: 2;
}
body.about .sec-messege .messege-name {
 color: #333;
 font-family: serif;
 font-size: 30px;
 margin-top: 20px;
 text-align: right;
}
body.about .sec-messege .messege-name span {
 color: #009944;
 font-family: sans-serif;
 font-size: 16px;
}
@media only screen and (max-width: 767px) {
 body.about .sec-messege .sec-inr {
  display: block;
  padding: 5% 0;
 }
 body.about .sec-messege .sec-tit {
  width: 100%;
 }
 body.about .sec-messege .messege-area {
  width: 100%;
 }
 body.about .sec-messege .messege-txt {
  font-size: 16px;
  margin-top: 5%;
 }
 body.about .sec-messege .messege-name {
  font-size: 20px;
 }
 body.about .sec-messege .messege-name span {
  font-size: 12px;
 }
}
/* ----------------------------------------------------------------
    service
  ----------------------------------------------------------------- */
body.service .page-tit-area {
 background-image: url("../img/service/bkg_tit.webp");
 background-position: center top;
}
body.service .sec-concept .concept-copy {
 margin: 0 auto;
 max-width: 726px;
 padding-top: 2.5%;
 width: 100%;
}
body.service .sec-concept .concept-txt {
 font-size: 20px;
 line-height: 2;
 margin-top: 5%;
 padding-bottom: 2.5%;
 text-align: center;
}
/* sec-detail */
body.service .sec-detail .sec-inr-border {
 padding: 0 5%;
}
body.service .sec-detail .service-item {
 align-items: center;
 border-top: 1px solid #009944;
 display: flex;
 justify-content: space-between;
 margin-top: 80px;
 padding-top: 80px;
}
body.service .sec-detail .service-item:first-child {
 border-top: none;
 margin-top: 0;
}
body.service .sec-detail .service-item:last-child {
 padding-bottom: 80px;
}
body.service .sec-detail .service-item:nth-child(even) {
 flex-direction: row-reverse;
}
body.service .sec-detail .col-img {
 max-width: 400px;
 width: 100%;
}
body.service .sec-detail .col-txt {
 width: calc(100% - 450px);
}
body.service .sec-detail .service-name {
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 font-size: 27px;
 font-weight: 700;
}
body.service .sec-detail .service-desc {
 font-size: 18px;
 line-height: 2;
 margin-top: 30px;
}
@media only screen and (max-width: 767px) {
 body.service .sec-concept .concept-copy {
  padding: 5% 0;
 }
 body.service .sec-concept .concept-txt {
  font-size: 16px;
  text-align: left;
 }
/* sec-detail */
 body.service .sec-detail .sec-inr-border {
  padding: 0 5%;
 }
 body.service .sec-detail .service-item {
  display: block;
  margin-top: 75px;
  padding-top: 75px;
 }
 body.service .sec-detail .service-item:last-child {
  padding-bottom: 75px;
 }
 body.service .sec-detail .col-txt {
  width: 100%;
 }
 body.service .sec-detail .service-name {
  font-size: 24px;
  margin-top: 20px;
  text-align: center;
 }
 body.service .sec-detail .service-desc {
  font-size: 16px;
  line-height: 2;
  margin-top: 20px;
 }
}
/* ----------------------------------------------------------------
    works
  ----------------------------------------------------------------- */
body.works .page-tit-area {
 background-image: url("../img/works/bkg_tit.webp");
 background-position: center;
}
body.works .sec-detail .works-item {
 align-items: center;
 border-top: 1px solid #009944;
 display: flex;
 justify-content: space-between;
 margin-top: 80px;
 padding-top: 80px;
}
body.works .sec-detail .works-item:last-child {
 border-bottom: 1px solid #009944;
 padding-bottom: 80px;
}
body.works .sec-detail .col-txt {
 width: 310px;
}
body.works .sec-detail .works-name {
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 font-size: 24px;
 font-weight: 700;
}
body.works .sec-detail .works-desc {
 font-size: 16px;
 line-height: 2;
 margin-top: 30px;
}
body.works .sec-detail .col-slider {
 width: calc(100% - 340px);
}
body.works .sec-detail .splide__slide {
 position: relative;
}
body.works .sec-detail .before {
 background-color: #fff;
 bottom: 0;
 color: #009944;
 font-size: 12px;
 font-weight: 700;
 padding: 5px 10px;
 position: absolute;
 right: 0;
 z-index: 1;
}
body.works .sec-detail .after {
 background-color: #009944;
 bottom: 0;
 color: #fff;
 font-size: 12px;
 font-weight: 700;
 padding: 5px 10px;
 position: absolute;
 right: 0;
 z-index: 1;
}
.splide__arrow {
 background: #009944 !important;
}
.splide__arrow svg {
 fill: #fff !important;
}
@media only screen and (max-width: 767px) {
 body.works .sec-detail .works-item {
  display: block;
  margin-top: 75px;
  padding-top: 75px;
 }
 body.works .sec-detail .works-item:last-child {
  padding-bottom: 75px;
 }
 body.works .sec-detail .col-txt {
  width: 100%;
 }
 body.works .sec-detail .works-name {
  font-size: 20px;
 }
 body.works .sec-detail .works-desc {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 5%;
 }
 body.works .sec-detail .col-slider {
  margin-top: 5%;
  width: 100%;
 }
}
/* ----------------------------------------------------------------
    contact
  ----------------------------------------------------------------- */
body.contact .page-tit-area {
 background-image: url("../img/contact/bkg_tit.webp");
}
body.contact .sec-tel .sec-inr-border {
 align-items: center;
 display: flex;
 justify-content: center;
 padding: 5% 0;
}
body.contact .sec-tel .sec-tit {
 color: #333;
 font-size: 30px;
 line-height: 1.5;
 text-align: center;
 width: 33.4%;
}
body.contact .sec-tel .contact-area {
 border-left: 1px solid #009944;
 align-items: center;
 display: flex;
 justify-content: center;
 width: 66.6%;
}
body.contact .sec-tel .contact-area-inr {
 width: 395px;
}
body.contact .sec-tel .contact-area .telnumber {
 width: 395px;
}
body.contact .sec-tel .contact-area .time {
 font-size: 18px;
 margin-top: 20px;
}
body.contact .sec-tel .contact-area .time span {
 background-color: #009944;
 border-radius: 3px;
 color: #fff;
 font-size: 12px;
 margin-right: 9px;
 padding: 3px 9px;
 vertical-align: middle;
}
body.contact .sec-tel .contact-area .manager {
 font-size: 18px;
 margin-top: 10px;
}
body.contact .sec-tel .contact-area .manager span {
 background-color: #009944;
 border-radius: 3px;
 color: #fff;
 font-size: 12px;
 margin-right: 9px;
 padding: 3px 9px;
 vertical-align: middle;
}
/* sec-mail */
body.contact .sec-mail .sec-inr-border {
 padding: 5%;
}
body.contact .sec-mail .sec-tit {
 color: #333;
 font-size: 30px;
 line-height: 1.5;
 text-align: center;
}
body.contact .sec-mail #formWrap {
 border-top: 1px solid #009944;
 margin-top: 5%;
 padding-top: 5%;
 width: 100%;
}
body.contact .sec-mail .caption {
 font-size: 16px;
 line-height: 2;
 text-align: center;
}
body.contact .sec-mail .formTable {
 border-collapse: collapse;
 margin-top: 5%;
 width: 100%;
}
body.contact .sec-mail table th, body.contact .sec-mail table td {
 border: none;
}
body.contact .sec-mail .formTable th {
 background: none;
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 font-size: 20px;
 font-weight: 700;
 padding: 15px 0;
 text-align: left;
 vertical-align: middle;
 width: 278px;
}
body.contact .sec-mail .formTable .multiple_lines th {
 padding-top: 25px;
 vertical-align: top;
}
body.contact .sec-mail .formTable td {
 padding: 15px 0;
 position: relative;
 width: calc(100% - 278px);
}
body.contact .sec-mail span {
 align-items: center;
 background-color: #009944;
 border-radius: 3px;
 color: #fff;
 display: flex;
 font-size: 12px;
 height: 20px;
 justify-content: center;
 left: -70px;
 position: absolute;
 top: 30px;
 width: 40px;
}
body.contact .sec-mail input {
 border-color: #009944;
 border-radius: 5px;
 border-style: solid;
 border-width: 1px;
 padding: 15px;
 width: 100%;
}
body.contact .sec-mail textarea {
 border-color: #009944;
 border-radius: 5px;
 border-style: solid;
 border-width: 1px;
 padding: 15px;
 width: 100%;
}
body.contact .sec-mail .btn-area {
 margin-left: auto;
 width: calc(100% - 278px);
}
body.contact .sec-mail input.btn {
 align-items: center;
 background: #f08c1d;
 border: 1px solid #f08c1d;
 border-radius: 50px;
 color: #fff;
 display: flex;
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 font-size: 16px;
 font-weight: 700;
 height: 50px;
 justify-content: center;
 letter-spacing: 0.1em;
 margin: 25px auto 0;
 max-width: 354px;
 padding: 0;
 transition: 0.5s;
 width: 80%;
}
body.contact .sec-mail input.btn:hover {
 background: #fff;
 color: #f08c1d;
}
@media only screen and (max-width: 767px) {
 body.contact .sec-tel .sec-inr-border {
  display: block;
 }
 body.contact .sec-tel .sec-tit {
  font-size: 24px;
  width: 100%;
 }
 body.contact .sec-tel .contact-area {
  border-left: none;
  display: block;
  margin: 5% auto;
  width: 100%;
 }
 body.contact .sec-tel .contact-area-inr {
  border-top: 1px solid #009944;
  margin: 0 auto;
  padding-top: 30px;
  text-align: center;
  width: 90%;
 }
 body.contact .sec-tel .contact-area .telnumber {
  margin: 0 auto;
  width: 90%;
 }
 body.contact .sec-tel .contact-area .time {
  font-size: 16px;
 }
 body.contact .sec-tel .contact-area .manager {
  font-size: 16px;
 }
/* sec-mail */
 body.contact .sec-mail .sec-tit {
  font-size: 24px;
 }
 body.contact .sec-mail .caption {
  text-align: left;
 }
 body.contact .sec-mail .formTable {
  border-collapse: collapse;
  margin-top: 6.6%;
  width: 100%;
 }
 body.contact .sec-mail .formTable th {
  font-size: 16px;
  padding: 0;
  text-align: left;
 }
 body.contact .sec-mail .formTable .required {
  padding: 0 0 0 45px;
 }
 body.contact .sec-mail .formTable td {
  width: 100%;
 }
 body.contact .sec-mail span {
  left: 0px;
  position: absolute;
  top: -20px;
 }
 body.contact .sec-mail .btn-area {
  width: 100%;
 }
 body.contact .sec-mail input.btn {
  margin: 25px auto 25px;
 }
}
/* ----------------------------------------------------------------
    recruit
  ----------------------------------------------------------------- */
body.recruit .page-tit-area {
 background-image: url("../img/recruit/bkg_tit.webp");
}
body.recruit .sec-recruitment .contact-area {
 background-color: #efefef;
 margin-top: 5%;
 padding: 30px 0;
 text-align: center;
}
body.recruit .sec-recruitment .contact-area .caption {
 font-family: YakuHanjP, "Zen Kaku Gothic New", sans-serif;
 font-size: 30px;
 font-weight: 700;
}
body.recruit .sec-recruitment .contact-area .tel {
 margin: 30px auto 0;
 max-width: 395px;
 width: 80%;
}
body.recruit .sec-recruitment .contact-area .manager {
 font-size: 18px;
 margin-top: 15px;
}
body.recruit .sec-recruitment .contact-area .manager span {
 background-color: #009944;
 border-radius: 3px;
 color: #fff;
 font-size: 12px;
 margin-right: 9px;
 padding: 3px 9px;
 vertical-align: middle;
}
@media only screen and (max-width: 767px) {
 body.recruit .sec-recruitment .contact-area .caption {
  font-size: 20px;
 }
}