@charset "utf-8";
/*-------------------------------------*/
/*	トップページ	*/
/*-------------------------------------*/
/*メインビジュアル*/
#main_img {
  height: 640px;
  width: 100%;
  background-size: cover;
  background-position: center top;
  position: relative;
  background-image: url(../images/index/main_img.jpg);
  overflow: hidden;
}
.main_ttl {
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
}
.main_ttl h2 {
  color: #FFFFFF;
  font-size: 6.0rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 40px;
}
.main_ttl p {
  color: #FFFFFF;
  font-size: 12.0rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Space Grotesk", sans-serif;
}
@media screen and (max-width: 991px) {
  .main_ttl h2 {
    font-size: 4.0rem;
  }
  .main_ttl p {
    font-size: 10.0rem;
  }
}
@media screen and (max-width: 768px) {
  #main_img {
    height: 520px;
    width: 100%;
    background-image: url(../images/index/main_img_sp.jpg);
  }
  .main_ttl h2 {
    font-size: 3.0rem;
    margin-bottom: 20px;
  }
  .main_ttl p {
    font-size: 8.0rem;
  }
}
@media screen and (max-width: 550px) {
  .main_ttl {
    bottom: -10px;
  }
  .main_ttl h2 {
    font-size: 3.0rem;
    margin-bottom: 10px;
  }
  .main_ttl p {
    font-size: 5.5rem;
  }
}
/* introduction */
#introduction {
  position: relative;
  padding-top: 100px;
}
#introduction::before {
  content: "";
  width: 100%;
  height: 80%;
  background-color: #399F81;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#introduction h2 {
  font-size: 3.2rem;
  color: #FFFFFF;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 40px;
}
#introduction .caption {
  max-width: 640px;
  margin-bottom: 100px;
  color: #FFFFFF;
}
#introduction .img {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 20px;
}
#introduction .img img {
  width: calc(100% / 4 - 20px);
}
@media screen and (max-width: 991px) {
  #introduction .img {
    gap: 20px 10px;
  }
  #introduction .img img {
    width: calc(100% / 2 - 10px);
  }
}
@media screen and (max-width: 768px) {
  #introduction {
    position: relative;
    padding-top: 40px;
  }
  #introduction::before {
    height: 70%;
  }
  #introduction h2 {
    font-size: 2rem;
  }
  #introduction .caption {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 550px) {}
/* top_about */
#top_about .inner {
  display: flex;
}
#top_about .inner h2, #top_service .inner h2, #top_csr .inner h2 {
  max-width: 90px;
  padding-right: 20px;
  writing-mode: vertical-lr;
  font-size: 2.4rem;
  font-weight: 700;
  color: #399F81;
  letter-spacing: 0.5em;
  width: 100%;
  padding-top: 30px;
  position: relative;
  text-align: left;
  text-orientation: upright;
}
#top_about .inner h2::before, #top_service .inner h2::before, #top_csr .inner h2::before {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../images/ico_label.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
#top_about .inner .txt, #top_service .inner .txt, #top_csr .inner .txt {
  max-width: 800px;
  padding-right: 100px;
  display: flex;
}
#top_about .inner .txt .en, #top_service .inner .txt .en, #top_csr .inner .txt .en {
  font-size: 8.0rem;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 60px;
}
#top_about .inner .txt h3, #top_service .inner .txt h3, #top_csr .inner .txt h3 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 60px;
}
#top_about .inner .txt p:not(:last-of-type), #top_service .inner .txt p:not(:last-of-type), #top_csr .inner .txt p:not(:last-of-type) {
  margin-bottom: 40px;
}
#top_about .inner .img {
  max-width: 480px;
  width: 100%;
}
@media screen and (max-width: 991px) {
  #top_about .inner {
    flex-direction: column;
  }
  #top_about .inner .txt, #top_service .inner .txt, #top_csr .inner .txt {
    max-width: 800px;
    padding-right: 0;
    display: flex;
  }
  #top_about .inner .img {
    margin: 40px auto 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #top_about .inner h2, #top_service .inner h2, #top_csr .inner h2 {
    max-width: 60px;
    padding-right: 10px;
    font-size: 1.6rem;
    padding-top: 30px;
  }
  #top_about .inner h2::before, #top_service .inner h2::before, #top_csr .inner h2::before {
    content: "";
    width: 17px;
    height: 17px;
  }
  #top_about .inner .txt .en, #top_service .inner .txt .en, #top_csr .inner .txt .en {
    font-size: 4.0rem;
    margin-bottom: 20px;
  }
  #top_about .inner .txt h3, #top_service .inner .txt h3, #top_csr .inner .txt h3 {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 550px) {}
/* top service */
#top_service {
  position: relative;
}
#top_service::before {
  content: "";
  width: 80%;
  height: 80%;
  background-color: #EEEEEE;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
ul.bt_service {
  display: flex;
  gap: 10px 20px;
  max-width: 1280px;
  margin: 60px 5% 0 auto;
  padding: 0 20px;
  justify-content: space-between;
}
ul.bt_service li {
  width: calc(100% / 3 - 20px);
}
ul.bt_service li:nth-child(1) {
  padding-top: 160px;
}
ul.bt_service li:nth-child(2) {
  padding-top: 80px;
}
ul.bt_service li a {
  display: flex;
  height: 240px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  justify-content: center;
  align-items: center;
  margin: 0 auto;

}
ul.bt_service li a div {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
ul.bt_service li:nth-child(1) a {
  background-image: url(../images/index/service_img01.jpg);
}
ul.bt_service li:nth-child(2) a {
  background-image: url(../images/index/service_img02.jpg);
}
ul.bt_service li:nth-child(3) a {
  background-image: url(../images/index/service_img03.jpg);
}
ul.bt_service li a h3 {
  color: #FFFFFF;
  font-weight: 700;
  font-size: 3.2rem;
  margin-bottom: 20px;
}
ul.bt_service li a p {
  background-color: #000000;
  text-align: center;
  color: #FFFFFF;
  position: relative;
  max-width: 200px;
  width: 100%;
  display: block;
  margin: 0 auto;
  padding: 0.5em;
 transition: all 0.5s ease-out;
}
ul.bt_service li a p::before {
  content: "\f105";
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
  font-family: FontAwesome;
}
ul.bt_service li a:hover p {
  background-color: #FFFFFF;
  text-align: center;
  color: #000000;
}
@media screen and (max-width: 1200px) {
  ul.bt_service {
    margin: 60px auto 0 auto;
  }
}
@media screen and (max-width: 991px) {
  ul.bt_service li a h3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  ul.bt_service {
    gap: 20px 20px;
    margin: 60px auto 0 auto;
    flex-direction: column;
    max-width: 500px;
  }
  ul.bt_service li {
    width: 100%;
  }
  ul.bt_service li:nth-child(1) {
    padding-top: 0;
  }
  ul.bt_service li:nth-child(2) {
    padding-top: 0;
  }
  ul.bt_service li a {
    display: flex;
    height: 140px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  #top_service::before {
  content: "";
  width: 100%;
  height: 100%;
}
#top_movie{
  padding-top: 80px;
  
}
}
@media screen and (max-width: 550px) {}

/* top csr */
#top_csr {
  position: relative;
  padding-top: 160px;
}
#top_csr::before {
  content: "";
  width: 80%;
  height: 100%;
  background-color: #EEEEEE;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#top_csr .wrap {
  position: relative;
}
#top_csr .wrap .csr_img01 {
  width: 40%;
  position: absolute;
  top: 0;
  right: 0;
}
#top_csr .wrap .csr_img01 img {
  width: 100%;
}
#top_csr .csr_list {
  margin-top: 160px;
}
.csr_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
  justify-content: space-between;
}
.csr_list::after {
  content: "";
  display: block;
  max-width: 400px;
  width: calc(100% / 3 - 20px);
}
.csr_list li {
  max-width: 400px;
  width: calc(100% / 3 - 20px);
}
@media screen and (max-width: 1400px) {
  #top_csr .wrap .csr_img01 {
    width: 35%;
  }
}
@media screen and (max-width: 991px) {
  #top_csr {
    padding-top: 0;
  }
  #top_csr::before {
    content: "";
    width: 100%;
    height: 80%;
    background-color: #EEEEEE;
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    z-index: -1;
  }
  #top_csr .wrap {
    padding: 0 20px;
  }
  #top_csr .wrap .csr_img01 {
    width: 100%;
    position: relative;
    top: auto;
    right: auto;
    margin-bottom: 40px;
  }
  #top_csr .wrap .csr_img01 img {
    width: 100%;
  }
  .csr_list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 10px;
    justify-content: space-between;
  }
  .csr_list::after {
    content: "";
    display: block;
    max-width: 400px;
    width: calc(100% / 3 - 10px);
  }
  .csr_list li {
    max-width: 400px;
    width: calc(100% / 3 - 10px);
  }
}
@media screen and (max-width: 768px) {
  .csr_list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 10px;
    justify-content: space-between;
    margin-top: 80px;
  }
  .csr_list::after {
    content: "";
    display: block;
    max-width: 400px;
    width: calc(100% / 2 - 10px);
  }
  .csr_list li {
    max-width: 400px;
    width: calc(100% / 2 - 10px);
  }
}
@media screen and (max-width: 550px) {}
/* top products */
#top #products {
  padding: 150px 0;
  position: relative;
}
#top #products::before {
  content: "";
  width: 60%;
  height: 80%;
  background-image: url(../images/index/products_img01.png);
  background-position: center;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  border-radius: 100px 0 0 100px;
  z-index: -1;
}
#top #products .inner {
  width: 50%;
}
@media screen and (max-width: 991px) {
  #top #products .inner {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  #top #products {
    padding: 60px 0;
  }
  #top #products .inner {
    width: 100%;
  }
  #top #products::before {
    content: none;
  }
  #top #products img {
    margin-top: 40px;
  }
}
@media screen and (max-width: 550px) {}
/*-------------------------------------*/
/*	ページ共通	*/
/*-------------------------------------*/
.ttl {
  font-size: 3.2rem;
  margin-bottom: 40px;
  position: relative;
  line-height: 1.5;
  color: #399F81;
  font-weight: 700;
  text-align: center;
}
.ttl span {
  font-size: 8rem;
  display: block;
  position: relative;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #000000;
}
.ttl02 {
  font-size: 3.2rem;
  margin-bottom: 20px;
  position: relative;
  line-height: 1.5;
  font-weight: 700;
}
.m80-40-b {
  margin-bottom: 80px !important;
}
/* explanation */
.explanation {
  position: relative;
}
.explanation::before {
  content: "";
  width: 42%;
  height: 550px;
  background-color: #EEEEEE;
  position: absolute;
  left: 0;
  top: 260px;
  z-index: -1;
}
.explanation p:not(:last-of-type) {
  margin-bottom: 35px;
}
.explanation p a {
  color: #399F81;
}
.single hr {
  margin-top: 40px;
  margin-bottom: 40px;
  border: 0;
  border-top: 1px solid #000000;
}
.base_list li:not(:last-child) {
  margin-bottom: 30px;
}
a .img_wrap {
  overflow: hidden;
  width: 100%;
}
a:hover .img_wrap img {
  transform: scale(1.1);
  transition-duration: 0.5s;
  opacity: 1;
}
/* Item Box */
.item_box h3 {
  color: #399F81;
  font-size: 2.0rem;
  font-weight: 700;
  padding-left: 40px;
  position: relative;
  padding-bottom: 20px;
  border-bottom: 1px solid #707070;
  line-height: 1.5;
}
.item_box h3::before {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../images/ico_label.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
.item_box h3 span {
  color: #000000;
  font-size: 1.6rem;
  display: block;
  margin-top: 20px;
  font-weight: 500;
}
/* Item Box 上部余白 */
.item_list .item_box:nth-of-type(3n+1) { /* 3の倍数+1(＝1,4,7……)番目 */
  padding-top: 80px;
}
.item_list .item_box:nth-of-type(3n+2) { /* 3の倍数+2(＝2,5,8……)番目 */
  padding-top: 40px;
}
.item_list .item_box:nth-of-type(3n) { /* 3の倍数(＝3,6,9……)番目 */
}
/* shadow box */
.shadow_box {
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
  padding: 40px;
}
/* check list */
.check_list li {
  padding-left: 30px;
  position: relative;
  margin-bottom: 10px;
  line-height: 1.8;
}
.check_list li:last-child {
  margin-bottom: 0;
}
.check_list li::before {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../images/ico_check.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0.2em;
}
@media screen and (max-width: 1200px) {
  .ttl {
    font-size: 2.0rem;
    margin-bottom: 40px;
  }
  .ttl span {
    font-size: 6rem;
  }
  .explanation::before {
    width: 42%;
    height: 500px;
    top: 200px;
  }
}
@media screen and (max-width: 991px) {
  /* Item Box 上部余白 */
  .item_list .item_box:nth-of-type(3n+1) { /* 3の倍数+1(＝1,4,7……)番目 */
    padding-top: 0px;
  }
  .item_list .item_box:nth-of-type(3n+2) { /* 3の倍数+2(＝2,5,8……)番目 */
    padding-top: 0px;
  }
  /* explanation */
  .explanation::before {
    width: 70%;
    height: 550px;
    top: 200px;
  }
  .explanation .col_box:first-of-type {
    margin-bottom: 100px;
  }
  .explanation .col_box:last-of-type {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .ttl {
    font-size: 1.6rem;
  }
  .ttl span {
    font-size: 4rem;
  }
  .ttl02 {
    font-size: 2rem;
    margin-bottom: 20px;
  }
  .m80-40-b {
    margin-bottom: 40px !important;
  }
  .col-3_list .item_box:last-of-type {
    margin-bottom: 0;
  }
  /* explanation */
  .explanation::before {
    width: 70%;
    height: 500px;
    top: 200px;
  }
}
@media screen and (max-width: 550px) {
  /* shadow box */
  .shadow_box {
    padding: 20px;
  }
  /* explanation */
  .explanation::before {
    width: 80%;
    height: 270px;
    top: 180px;
  }
  .explanation .col_box:first-of-type {
    margin-bottom: 60px;
  }
}
/*-------------------------------------*/
/*	下層ページ	*/
/*-------------------------------------*/
#sub_img {
  height: 480px;
  width: 100%;
  background-size: cover;
  background-position: center top;
  display: flex;
  align-items: center;
}
#sub_img.subimg_about {
  background-image: url(../images/page/subimg_about.jpg);
}
#sub_img.subimg_company {
  background-image: url(../images/page/subimg_company.jpg);
}
#sub_img.subimg_service {
  background-image: url(../images/page/subimg_service.jpg);
}
#sub_img.subimg_construction {
  background-image: url(../images/page/subimg_construction.jpg);
}
#sub_img.subimg_maintenance {
  background-image: url(../images/page/subimg_maintenance.jpg);
}
#sub_img.subimg_road {
  background-image: url(../images/page/subimg_road.jpg);
}
#sub_img.subimg_csr {
  background-image: url(../images/page/subimg_csr.jpg);
}
#sub_img.subimg_company {
  background-image: url(../images/page/subimg_company.jpg);
}
#sub_img .inner {
  width: 90%;
  max-width: 1300px;
  margin: 0 auto;
  color: #FFFFFF;
  text-align: center;
  padding-top: 90px;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
#sub_img .inner h2 {
  font-size: 3.2rem;
  margin-bottom: 10px;
  font-weight: 700;
  line-height: 1;
}
#sub_img .inner h2 span {
  font-size: 8rem;
  font-weight: 700;
  margin-bottom: 20px;
  font-family: "Space Grotesk", sans-serif;
  display: block;
}
#sub_img .inner p {
text-align: center;
}
/* sub ttl */
#sub_ttl {
  width: 100%;
  background-size: 100%;
  background-position: center top;
  background-image: url(../images/bg_page02.png);
}
#sub_ttl .container {
  height: 300px;
  display: flex;
  align-items: center;
}
#sub_ttl h2 {
  font-size: 4.0rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {}
@media screen and (max-width: 550px) {
  #sub_img {
    height: 400px;
  }
  #sub_img.subimg_about {
    background-image: url(../images/page/subimg_about_sp.jpg);
  }
  #sub_img.subimg_company {
    background-image: url(../images/page/subimg_company_sp.jpg);
  }
  #sub_img.subimg_service {
    background-image: url(../images/page/subimg_service_sp.jpg);
  }
  #sub_img.subimg_construction {
    background-image: url(../images/page/subimg_construction_sp.jpg);
  }
  #sub_img.subimg_maintenance {
    background-image: url(../images/page/subimg_maintenance_sp.jpg);
  }
  #sub_img.subimg_road {
    background-image: url(../images/page/subimg_road_sp.jpg);
  }
  #sub_img.subimg_csr {
    background-image: url(../images/page/subimg_csr_sp.jpg);
  }
  #sub_img.subimg_company {
    background-image: url(../images/page/subimg_company_sp.jpg);
  }
  #sub_img .inner {
    padding-top: 50px;
  }
  #sub_img .inner h2 {
    font-size: 2rem;
    margin-bottom: 10px;
  }
  #sub_img .inner h2 span {
    font-size: 4rem;
    margin-bottom: 20px;
  }
  #sub_img .inner p {
    font-size: 1.4rem;
  }
}
/*-------------------------------------*/
/*	about	*/
/*-------------------------------------*/
#a_worries .ttl02 {
  margin-bottom: 70px;
}
#a_worries .inner {
  max-width: 1110px;
  margin: 0 auto 10px auto;
  display: flex;
  justify-content: space-between;
}
#a_worries .inner ul {
  width: 48%;
  margin-bottom: 15px;
}
#a_worries .inner ul.check_list li {
  font-size: 2.0rem;
  margin-bottom: 20px;
  line-height: 1.8;
}
.arrow_down {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
  border-top: 40px solid #399f81;
  border-bottom: 0;
  margin: 30px auto 30px auto;
  animation: fluffy 2s infinite;
}
@keyframes fluffy {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}
#a_reason .item_box h3 {
  font-size: 2.0rem;
}
#a_shikaku .inner {
  display: flex;
  justify-content: space-between;
  max-width: 770px;
  margin: 0 auto;
}
#a_shikaku .inner .shikaku_box {
  width: 48%;
}
.shikaku_ttl {
  background-color: #000000;
  color: #FFFFFF;
  padding: 0 0.5em;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-image: url(../images/bg_shikaku.svg);
  background-position: center left;
  background-repeat: no-repeat;
}
.shikaku_ttl span {
  width: 4em;
  text-align: right;
}
#a_shikaku .inner .shikaku_box ul li {
  padding: 1em 0.5em;
  display: flex;
  justify-content: space-between;
}
#a_shikaku .inner .shikaku_box ul li span {
  width: 4em;
  text-align: right;
}
#a_shikaku .inner .shikaku_box ul li:nth-of-type(even) {
  background-color: #EEEEEE;
}
.banner {
  display: flex;
  justify-content: space-between;
  gap: 40px 20px;
}
.banner li {
  width: calc(100% / 4 - 20px);
  text-align: center;
}
.banner li a img {
  display: block;
  margin: 0 auto 10px auto;
}
#movie {
  background-color: #EEEEEE;
}
@media screen and (max-width: 991px) {
  #a_worries .inner {
    flex-direction: column;
  }
  #a_worries .inner ul {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 15px auto;
  }
  .banner {
    display: flex;
    justify-content: space-between;
    gap: 40px 10px;
    flex-wrap: wrap;
  }
  .banner li {
    width: calc(100% / 2 - 10px);
    text-align: center;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  #a_worries .ttl02 {
    margin-bottom: 40px;
  }
  .arrow_down {
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-top: 30px solid #399f81;
    border-bottom: 0;
    margin: 30px auto 30px auto;
    animation: fluffy 2s infinite;
  }
  #a_shikaku .inner {
    flex-direction: column;
  }
  #a_shikaku .inner .shikaku_box {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
  #a_shikaku .inner .shikaku_box ul li {
    font-size: 1.4rem;
    padding: 1.3em 0.5em;
  }
  #a_shikaku .inner .shikaku_box ul li:nth-of-type(even) {
    background-color: #EEEEEE;
  }
  #a_shikaku .inner .shikaku_box:last-of-type .shikaku_ttl {
    display: none;
  }
    #a_worries .inner ul {
    max-width: 280px;
  }
  #a_worries .inner ul.check_list li {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 550px) {

}
/*-------------------------------------*/
/*	company	*/
/*-------------------------------------*/
#company_profile {
  position: relative;
}
#company_profile::before {
  content: "";
  width: 45%;
  height: 300px;
  background-color: #EEEEEE;
  position: absolute;
  left: 0;
  top: 260px;
  z-index: -1;
}
#company_profile dl {
  display: flex;
  justify-content: space-between;
}
#company_profile dl dt {
  max-width: 500px;
}
#company_profile dl dd {
  max-width: 660px;
  padding-left: 40px;
  padding-top: 130px;
}
#company_profile dl dd p:not(:last-of-type), #company_greeting dl dd p:not(:last-of-type) {
  margin-bottom: 35px;
}
#company_greeting dl {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
#company_greeting dl dt {
  max-width: 400px;
  font-weight: normal;
}
#company_greeting dl dd {
  max-width: 880px;
  padding-right: 80px;
}
#company_policy .shadow_box:not(:last-of-type) {
  margin-bottom: 40px;
}
#company_policy .shadow_box p:not(:last-of-type) {
  margin-bottom: 20px;
}
#company_policy .shadow_box h2 {
  text-align: center;
  font-size: 3.2rem;
  margin-bottom: 20px;
  padding-bottom: 10px;
  line-height: 1.5;
  border-bottom: 1px solid #000000;
  font-weight: 700;
}
#company_policy .shadow_box h3 {
  color: #399F81;
  font-size: 2rem;
  margin-bottom: 10px;
  line-height: 1.5;
  font-weight: 700;
}
#company_policy .shadow_box .caption {
  text-align: center;
  font-weight: 700;
  margin-bottom: 20px;
}
table.gaiyo {
  width: 100%;
}
table.gaiyo, table.gaiyo td, table.gaiyo th {
  border-collapse: collapse;
  border: 1px solid #000000;
}
table.gaiyo td, table.gaiyo th {
  padding: 1em 1em;
  line-height: 1.8;
}
table.gaiyo th {
  color: #FFFFFF;
  background-color: #399F81;
  width: 25%;
  text-align: center;
  vertical-align: middle;
}
#company_service .shadow_box h3, #company_Initiatives .shadow_box h3 {
  color: #FFFFFF;
  background-color: #399F81;
  line-height: 1.5;
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
  padding: 0.7em 0.5em;
  margin-bottom: 10px;
}
#company_service .shadow_box h4, #company_Initiatives .shadow_box h4 {
  margin: 30px 0;
  line-height: 1.5;
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
  color: #399F81;
  display: flex;
  align-items: center;
}
#company_service .shadow_box h4 span, #company_Initiatives .shadow_box h4 span {
  font-weight: 700;
  margin: 0 auto;
}
#company_service .shadow_box p, #company_Initiatives .shadow_box p {
  letter-spacing: 0.01em;
}
#company_service .shadow_box p:not(:last-of-type), #company_Initiatives .shadow_box p:not(:last-of-type) {
  margin-bottom: 20px;
}
#company_service .shadow_box p span, #company_Initiatives .shadow_box p span {
  font-weight: 500;
}
@media screen and (max-width: 1200px) {
  #company_profile dl dt {
  width: 45%;
}
#company_profile dl dd {
  width: 55%;
  padding-left: 20px;
  padding-top: 130px;
}
#company_greeting dl dt {
  width: 40%;
}
#company_greeting dl dd {
  width: 60%;
  padding-right: 80px;
}
}
@media screen and (max-width: 991px) {
  #company_profile dl {
  flex-direction: column;
}
#company_profile dl dt {
  max-width: 500px;
  width: 100%;
}
#company_profile dl dd {
  width: 100%;
  padding-left:0;
  padding-top: 80px;
}
#company_greeting dl {
flex-direction: column-reverse;
}
#company_greeting dl dt {
  width: 100%;
  margin: 0 auto;
}
#company_greeting dl dd {
  width: 100%;
  padding-right: 0;
  margin-bottom: 40px;
}
}
@media screen and (max-width: 768px) {
 #company_profile::before {
  content: "";
  width: 80%;
  height: 223px;
  background-color: #EEEEEE;
  position: absolute;
  left: 0;
  top: 150px;
  z-index: -1;
} 
}
@media screen and (max-width: 550px) {
  table.gaiyo td, table.gaiyo th {
    display: block;
    width: 100%;
  }
}
/*-------------------------------------*/
/*	サービス内容	*/
/*-------------------------------------*/
#service h2 {
  color: #399F81;
  font-size: 3.2rem;
  font-weight: 700;
  margin-bottom: 30px;
}
#service .col_box p:not(:last-of-type) {
  margin-bottom: 30px;
}
@media screen and (max-width: 991px) {
  #service .col-2_list .col_box {
    width: 100%;
    margin: 0 auto 0px auto;
  }
  #service h2 {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  #service h2 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 550px) {}
/*-------------------------------------*/
/*	消防設備工事	*/
/*-------------------------------------*/
#c_about .c_about_box {
  max-width: 750px;
  margin: 0 auto 80px auto;
}
#c_about .c_about_box:last-of-type {
  margin: 0 auto;
}
#c_about .c_about_box .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 15px;
}
#c_about .c_about_box .inner .dtail_box {
  width: calc(100% / 2 - 15px);
}
#c_about .c_about_box .inner .dtail_box ul.dtail_list {
  display: flex;
  justify-content: space-between;
  gap: 30px 15px;
}
#c_about .c_about_box .inner .dtail_box ul.dtail_list li {
  width: calc(100% / 2 - 15px);
}
#c_about .c_about_box .inner .dtail_box h4 {
  color: #399F81;
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-size: 2.4rem;
  border-bottom: 2px solid #399F81;
  font-weight: 700;
}
#c_about .c_about_box .inner .dtail_box p.same_lh {
  margin-bottom: 20px;
}
#c_about .c_about_box .inner .dtail_box p:not(:last-of-type) {
  margin-bottom: 40px;
}
#c_about .c_about_box .inner .dtail_box.bg_gray {
  background-color: #EEEEEE;
  padding: 50px 30px;
}
#c_about .c_about_box .inner .dtail_box h5 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1.5;
  color: #399F81;
}
/* flow */
.shadow_box.flow:not(:last-of-type) {
  margin-bottom: 50px;
}
.shadow_box.flow h3 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1.5;
  padding-left: 50px;
  position: relative;
  color: #399F81;
}
.shadow_box.flow h3 span {
  background-color: #399F81;
  line-height: 1;
  color: #FFFFFF;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.6rem;
  text-align: center;
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50px;
  font-weight: 700;
  position: absolute;
  left: 0;
}
.shadow_box.flow ul.bt_list {
  width: 100%;
  max-width: 460px;
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.shadow_box.flow ul.bt_list li {
  width: 48%;
}
.shadow_box.flow ul.bt_list li:last-child {}
@media screen and (max-width: 991px) {}
@media screen and (max-width: 768px) {
  #c_about .c_about_box .inner {
    flex-direction: column;
  }
  #c_about .c_about_box .inner .dtail_box {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  #c_about .c_about_box .inner .dtail_box h4 {
    font-size: 2.0rem;
  }
  #c_about .c_about_box .inner .dtail_box p.same_lh {
    margin-bottom: 20px;
  }
  #c_about .c_about_box .inner .dtail_box.bg_gray {
    background-color: #EEEEEE;
    padding: 50px 30px;
  }
  .shadow_box.flow {
    margin-bottom: 20px;
  }
  .shadow_box.flow h3 {
    font-size: 2.0rem;
    padding-left: 40px;
  }
  .shadow_box.flow h3 span {
    font-size: 1.4rem;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50px;
  }
}
@media screen and (max-width: 550px) {
  .shadow_box.flow ul.bt_list {
    flex-direction: column;
  }
  .shadow_box.flow ul.bt_list li {
    width: 100%;
    margin-bottom: 15px;
  }
  .shadow_box.flow ul.bt_list li:last-child {
    margin-bottom: 0;
  }
}
/*-------------------------------------*/
/*	保守点検	*/
/*-------------------------------------*/
.tenken_table {
  width: 100%;
}
.tenken_table, th, td {
  border-collapse: collapse;
  border: 1px solid #000000;
}
.tenken_table th, .tenken_table td {
  padding: 1em;
}
.tenken_table th {
  vertical-align: middle;
  text-align: center;
  line-height: 1.8;
}
.tenken_table td {
  padding: 1em;
  line-height: 1.8;
  vertical-align: middle;
  text-align: center;
}
.tenken_table thead th {
  background-color: #399F81;
  color: #FFFFFF;
}
.tenken_table thead td {
  border-top: 1px solid #FFFFFF;
  border-left: 1px solid #FFFFFF;
}
.tenken_table tbody th {
  background-color: #EEEEEE;
}
@media screen and (max-width: 991px) {}
@media screen and (max-width: 768px) {
  .tenken_table th, .tenken_table td {
    font-size: 1.4rem;
    padding: 0.5em;
  }
  .tenken_table tbody td {
    vertical-align: top;
    text-align: left;
    width: 38%;
  }
  .tenken_table tbody th {
    width: 24%;
  }
}
@media screen and (max-width: 550px) {}
/*-------------------------------------*/
/*	道路システム	*/
/*-------------------------------------*/
#tunnel .inner {
  background-color: #EEEEEE;
  padding: 100px;
  margin-top: 80px;
}
#tunnel .inner dl {
  display: flex;
  justify-content: space-between;
}
#tunnel .inner dl dt {
  width: 75%;
  max-width: 700px;
}
#tunnel .inner dl dd {
  width: 35%;
  padding-left: 40px;
}
#tunnel .inner dl dd h4 {
  color: #FFFFFF;
  background-color: #399F81;
  line-height: 1.5;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  padding: 0.5em;
  margin-bottom: 10px;
}
#tunnel .inner dl dd ul li {
  margin-bottom: 40px;
  padding: 0.5em 0;
  text-align: center;
  position: relative;
}
#tunnel .inner dl dd ul li:last-child {
  margin-bottom: 0;
}
#tunnel .inner dl dd ul li::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 20px solid #399f81;
  border-bottom: 0;
  display: inline-block;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
#tunnel .inner dl dd ul li:last-child:before {
  content: none;
}
#tunnel .inner dl dd ul li span {
  color: #399F81;
  font-weight: 700;
  font-size: 2.0rem;
  display: block;
  border-bottom: 2px solid #399F81;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 1400px) {
  #tunnel .inner {
    padding: 60px;
  }
  #tunnel .inner dl dt {
    width: 60%;
  }
  #tunnel .inner dl dd {
    width: 40%;
    padding-left: 20px;
  }
  #tunnel .inner dl dd h4 {
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 991px) {
  .col-2_list.road_list {
    flex-direction: column-reverse;
    gap: 0 0;
  }
  #tunnel .inner {
    padding: 40px;
  }
  #tunnel .inner dl {
    flex-direction: column;
  }
  #tunnel .inner dl dt {
    width: 100%;
    margin-bottom: 40px;
  }
  #tunnel .inner dl dd {
    width: 100%;
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
    #tunnel .inner {
    padding: 20px;
  }
}
@media screen and (max-width: 550px) {}
/*-------------------------------------*/
/*	CSR	*/
/*-------------------------------------*/
#csr .caption {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
#csr dl.csr_box {
  display: flex;
  justify-content: space-between;
}
#csr .shadow_box {
  margin-bottom: 45px;
}
#csr dl.csr_box dt {
  max-width: 520px;
  width: 100%;
}
#csr dl.csr_box dt img {
  border: 1px solid #CCCCCC;
}
#csr dl.csr_box dd {
  width: 100%;
  padding-left: 60px;
}
#csr dl.csr_box dd h3 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #399F81;
  margin-bottom: 30px;
  line-height: 1.5;
}
#csr dl.csr_box dd p:not(:last-of-type) {
  margin-bottom: 25px;
}
#csr dl.csr_box ol.number {
  margin-bottom: 25px;
  counter-reset: number; /*数字をリセット*/
  list-style-type: none; /*数字を一旦消す*/
  padding: 0;
}
#csr dl.csr_box ol.number {
  counter-reset: item;
}
#csr dl.csr_box ol.number li {
  position: relative;
  margin-bottom: 25px;
  padding-left: 2em;
  line-height: 1.8;
}
#csr dl.csr_box ol.number li:before {
  counter-increment: item;
  content: counter(item)"）";
  position: absolute;
  top: 0;
  left: 0;
  text-align: right;
}
@media screen and (max-width: 991px) {
  #csr dl.csr_box {
    flex-direction: column;
  }
  #csr dl.csr_box dt {
    max-width: 520px;
    width: 100%;
    margin: 0 auto 40px auto;
  }
  #csr dl.csr_box dd {
    width: 100%;
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  #csr dl.csr_box dd h3 {
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 550px) {
  #csr .shadow_box {
    padding: 40px 20px;
  }
}
/*-------------------------------------*/
/*	お知らせ一覧	*/
/*-------------------------------------*/
/*一覧*/
.news_list {
  margin-bottom: 80px;
  border-top: 1px solid #000000;
}
.news_list dt {
  padding-top: 40px;
}
.news_list dd {
  border-bottom: 1px solid #000000;
  padding-bottom: 40px;
  line-height: 1.8;
}
.news_list dt ul {
  display: flex;
  margin-bottom: 20px;
  align-items: baseline;
}
.news_list dt ul li:first-child {
  display: flex;
  align-items: center;
  max-width: 200px;
}
.news_list dt ul li:last-child {
  width: 100%;
  padding-left: 30px;
}
.news_list dt ul li span.cat {
  width: 90px;
  display: block;
  padding: 0.4em 0.2em;
  margin-right: 10px;
}
.news_list a dt ul li.news_link {
  color: #399F81;
  font-size: 2.0rem;
  font-weight: 500;
  display: block;
}
.news_list a:hover {
opacity: 0.7;
}
@media screen and (max-width: 991px) {}
@media screen and (max-width: 768px) {
  .news_list dt ul {
    margin-bottom: 20px;
    flex-direction: column;
  }
  .news_list dt ul li:first-child {
    max-width: 500px;
    margin-bottom: 20px;
  }
  .news_list dt ul li:last-child {
    width: 100%;
    padding-left: 0;
  }
}
@media screen and (max-width: 550px) {}
/*-------------------------------------*/
/*	お知らせ・ページ */
/*-------------------------------------*/
/*　新着　*/
#toc_container{
  margin-bottom: 30px;
  padding: 40px 30px;
  border: 1px solid #000000;
  background-color: #f7f7f7;
  color: #000000;
}
#toc_container .toc_title{
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
}
#toc_container ul {
  padding: 0;
  margin-bottom: 0;
}
#toc_container ul li {
  margin-bottom: 10px;
  padding-left: 0;
}
#toc_container ul li:last-child {
  margin-bottom: 0;
}
#toc_container ul li::before {
  content: none;
}
#toc_container > ul > li {
  font-size: 2.4rem;
}
#toc_container > ul ul li {
  font-size: 2.0rem;
  padding-left: 1em;
}
#toc_container a {
  color: #399F81;
  text-decoration: none!important;
  font-weight: 700;
}
.mokuji a:hover {
  text-decoration: underline;
}
.news_ttl {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #399F81;
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid #000000;
}
.meta_entry {
  margin-bottom: 80px;
}
#single .date {
  margin-left: 20px;
}
.thumb {
  display: block;
  margin: 0 auto 40px auto;
  text-align: center;
}
.sns_box {
  margin-top: 80px;
}
.sns_box p.sns_ttl {
  text-align: center;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 2.0rem;
  color: #399F81;
  line-height: 1;
}
@media screen and (max-width: 991px) {}
@media screen and (max-width: 768px) {
  .thumb {
    margin: 0 auto 20px auto;
  }
  .news_ttl {
    font-size: 2.4rem;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .meta_entry {
    margin-bottom: 40px;
  }
  #single .date {
    margin-left: 20px;
  }
#toc_container > ul > li {
  font-size: 2.0rem;
}
#toc_container > ul ul li {
  font-size: 1.6rem;
  padding-left: 1em;
}
}
@media screen and (max-width: 550px) {

}
/*-------------------------------------*/
/*	制作実績一覧	*/
/*-------------------------------------*/
.item_box .img_wrap {
  margin-bottom: 10px;
}
.item_box h3 {
  margin: 15px 0;
  font-weight: 600;
  font-size: 2.0rem;
}
.item_box span.url {
  font-size: 1.4rem;
  display: block;
  margin-bottom: 10px;
}
.item_box span.url a {
  text-decoration: underline;
  position: relative;
  padding-right: 1.5em;
}
.item_box span.url a::after {
  content: "\f08e";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
  font-family: FontAwesome;
}
@media screen and (max-width: 991px) {}
@media screen and (max-width: 768px) {
  .item_box h3 {
    font-size: 2rem;
  }
  .item_box p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 550px) {}
/*-------------------------------------*/
/*	制作実績詳細	*/
/*-------------------------------------*/
.works_ttl {
  margin-bottom: 40px;
  font-weight: 700;
  font-size: 3.2rem;
  color: #399F81;
  font-weight: 700;
  padding-left: 40px;
  position: relative;
  padding-bottom: 40px;
  border-bottom: 1px solid #707070;
  line-height: 1.5;
}
.works_ttl::before {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../images/ico_label.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 20px;
}
.works_ttl span {
  color: #000000;
  font-size: 1.6rem;
  display: block;
  margin-top: 20px;
  font-weight: 500;
}
@media screen and (max-width: 991px) {}
@media screen and (max-width: 768px) {
  .works_ttl {
    margin-bottom: 20px;
    font-size: 2rem;
    padding-left: 40px;
    padding-bottom: 20px;
  }
  .works_ttl span {
    margin-top: 10px;
  }
}
@media screen and (max-width: 550px) {}
/*-------------------------------------*/
/*	投稿　共通	*/
/*-------------------------------------*/
.cat_list {
  text-align: center;
  margin-bottom: 80px;
  display: flex;
  gap: 15px 15px;
  flex-wrap: wrap;
  justify-content: center;
}
.cat_list li {
  max-width: 98px;
  width: 100%;
}
.cat_list li a {
  display: block;
  background-color: #399F81;
  color: #FFFFFF;
  border: 1px solid #399F81;
  padding: 0.7em 0.2em;
  font-weight: 500;
  line-height: 1;
  max-width: 98px;
  width: 100%;
}
.cat_list li a:hover {
  background-color: #FFFFFF;
  color: #399F81;
}
/* カテゴリーラベル */
.cat {
  letter-spacing: 0.05em;
  color: #FFFFFF !important;
  text-align: center;
  display: inline-block;
  padding: 0.4em 1.2em;
  font-size: 1.6rem;
  line-height: 1;
  background: #399F81;
  border: 1px solid #399F81;
}
a.cat:hover {
  color: #399F81 !important;
  background: #FFFFFF;
}
/*ページャー*/
#pager {
  margin: 80px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#pager li.back {
  width: 40%;
  text-align: center;
  max-width: 220px;
}
#pager li.prev {
  width: 30%;
}
#pager li.next {
  width: 30%;
  text-align: right;
}
#pager li.prev a, #pager li.next a {
  display: block;
  letter-spacing: 0.1em;
  color: #399F81;
  height: 40px;
  line-height: 40px;
  position: relative;
}
#pager li.prev a:hover, #pager li.next a:hover {
  color: #000000;
}
#pager li {
  line-height: 1;
}
#pager li.back a {
  background-color: #399F81;
  color: #FFFFFF;
  padding: 5px 20px;
  display: flex;
  align-items: center;
  height: 40px;
}
#pager li.back a:hover {
  background-color: #3BCCA2;
}
#pager li.back a span {
  margin: 0 auto;
}
#pager li.prev a {
  padding-left: 1.5em;
}
#pager li.prev a::before {
  content: "\f104";
  font-family: FontAwesome;
  margin-right: 10px;
  font-size: 3rem;
  position: absolute;
  left: 0;
  top: auto;
}
#pager li.next a {
  padding-right: 1.5em;
}
#pager li.next a::after {
  content: "\f105";
  font-family: FontAwesome;
  margin-left: 10px;
  position: absolute;
  right: 0;
  top: auto;
  font-size: 3rem;
}
/*ページネーション*/
.wp-pagenavi {
  clear: both;
  margin: 40px auto auto;
  text-align: center;
  font-size: 100%;
}
.wp-pagenavi a {
  text-decoration: none !important;
  padding: 1em 1.2em !important;
  margin: 3px;
  display: inline-block;
  color: #000000 !important;
  background: #FFFFFF;
  border: 1px solid #000000;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  font-size: 1.6rem;
  font-weight: 600;
}
.wp-pagenavi span {
  color: #000000;
}
.wp-pagenavi span.current {
  text-decoration: none !important;
  padding: 1em 1.2em !important;
  margin: 3px;
  display: inline-block;
  border: 1px solid #399F81!important;
  color: #FFFFFF;
  background: #399F81;
  font-size: 1.6rem;
  font-weight: 600;
  transition: 0.3s;
}
.wp-pagenavi span.current:hover {
  background-color: #3BCCA2;
  border: 1px solid #3BCCA2;
}
.wp-pagenavi a:hover {
  border: 1px solid #000000;
  color: #000000 !important;
  text-decoration: none !important;
  background: #EEEEEE;
}
.wp-pagenavi a:hover span {
  color: #FFFFFF;
}
.extend {
  padding: 0 10px 0 10px;
}
@media screen and (max-width: 768px) {
  .previouspostslink, .nextpostslink {
    font-size: 1.4rem;
  }
  .cat_list {
    margin-bottom: 40px;
    justify-content: left;
  }
  .cat_list li {
    width: calc(100% / 3 - 15px);
  }
  #pager {
    margin: 40px auto 0px auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #pager li.back {
    width: 50%;
    text-align: center;
    max-width: 220px;
  }
  #pager li.prev {
    width: 25%;
  }
  #pager li.next {
    width: 25%;
    text-align: right;
  }
  #pager li.prev a span, #pager li.next a span {
    display: none;
  }
}
@media screen and (max-width: 550px) {
  .cat_list li {
    width: calc(100% / 3 - 15px);
  }
}
/*-------------------------------------*/
/*	フォーム	*/
/*-------------------------------------*/
.form_area {}
.form_area h3 {
  margin-top: 40px !important;
  margin-bottom: 10px;
}
.form_area .col-2_list {
  gap: 0 5px;
}
.form_area .col-2_list .col_box {
  width: calc(100% / 2 - 5px);
}
.submit_btn_wrap {
  position: relative;
  width: 220px;
  margin: 0 auto;
}
ul.submit2_btn_wrap {
  position: relative;
  margin: 0 auto;
  text-align: center;
  max-width: 500px;
  display: flex;
  justify-content: space-between;
}
ul.submit2_btn_wrap li {
  width: 48%;
}
.submit_btn {
  width: 100%;
  padding: 0.8em 1em;
  display: inline-block;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 600;
  text-align: center;
  border: none;
  background: #399F81;
  color: #FFFFFF;
  border: 1px solid #399F81;
}
.submit_btn:hover {
  background: #FFFFFF;
  text-decoration: none;
  color: #399F81;
}
.back_btn {
  width: 100%;
  padding: 0.8em 1em;
  display: inline-block;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 600;
  text-align: center;
  border: none;
  background: #AAAAAA;
  color: #FFFFFF;
  border: 1px solid #AAAAAA;
}
.back_btn:hover {
  color: #AAAAAA;
  background: #FFFFFF;
  text-decoration: none;
}
/*-------------------------------------*/
/*	フォーム関連	*/
input::-webkit-input-placeholder {
  color: #989898;
}
input:-ms-input-placeholder {
  color: #989898;
}
input::-ms-input-placeholder {
  color: #989898;
}
input::placeholder {
  color: #989898;
}
.must {
  padding: 0.3em 0.6em;
  display: inline-block;
  color: #FFF;
  font-size: 1.1rem;
  font-weight: 400;
  background: #399F81;
  margin-left: 10px;
  vertical-align: middle;
  line-height: 1;
}
.consent_check_wrap {
  padding: 20px;
  margin-top: 40px;
  margin-bottom: 40px;
  text-align: center;
}
.consent_check_wrap p a {
  text-decoration: underline;
  color: #000000;
}
.form_area :focus {
  outline: solid 2px #3e4f69;
}
.form_area input[type="text"], .form_area input[type="email"], .form_area input[type="tel"], .form_area textarea, .form_area radio, .form_area select {
  border: 1px solid #EEEEEE;
  font-family: inherit;
  font-size: 1.6rem;
  padding: 1em;
  margin: 0;
  background-color: #EEEEEE;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 100%;
}
.form_area input[type="text"], .form_area input[type="email"], .form_area input[type="tel"], .form_area textarea, .form_area radio, .form_area select {
  margin-bottom: 0;
}
.form_area input[type="text"].text_fomr_01, .form_area input[type="email"].text_fomr_01, .form_area input[type="tel"].text_fomr_01 {
  width: 70%;
}
.form_area input[type="text"].text_fomr_02, .form_area input[type="email"].text_fomr_02, .form_area input[type="tel"].text_fomr_02 {
  width: 50%;
}
.form_area input[type="text"].text_fomr_03, .form_area input[type="email"].text_fomr_03, .form_area input[type="tel"].text_fomr_03 {
  width: 40%;
  margin: 0
}
.form_area input[type="text"].text_fomr_04, .form_area input[type="email"].text_fomr_04, .form_area input[type="tel"].text_fomr_04 {
  width: 100%;
}
.form_area textarea.form_txtarea_01 {
  width: 100%;
}
.form_area input[type="checkbox"] {
  height: 15px;
  width: 15px;
  margin: 5px;
  vertical-align: middle;
}
.form_area input[type="radio"] {
  vertical-align: middle;
  margin: 0 3px 0 0;
}
.form_area label {
  margin-right: 20px;
  margin-bottom: 10px;
  font-weight: normal !important;
  font-size: 100%;
  font-weight: 500;
  padding: 5px;
  display: inline-block;
}
span.wpcf7-list-item {
  display: block;
  margin: 0 0 0 0.5em !important;
}
.check_form{
  border: 1px solid #EEEEEE;
  font-family: inherit;
  font-size: 1.6rem;
  padding: 1em;
  margin: 0;
  background-color: #FFFFFF;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 100%;
  line-height: 1.5;
}
@media screen and (max-width: 991px) {
  .form_area .col-2_list {
    gap: 10px 0;
  }
  .form_area .col-2_list .col_box {
    width: 100%;
    margin: 0;
    max-width: 800px;
  }
}
@media screen and (max-width: 768px) {
  .form_area h4 {
    font-size: 1.8rem;
  }
  .tel_list {
    display: block;
  }
  .tel_list div {
    margin-right: 0;
  }
  .privacy_inner {
    padding: 10px;
  }
  .privacy_inner p {
    font-size: 75% !important;
  }
  .submit_btn_wrap {
    width: 80%;
    margin: 0 auto;
  }
  .submit_btn {
    width: 100%;
  }
  ul.submit2_btn_wrap li {
    margin-bottom: 20px;
  }
  input[type="text"].text_fomr_01, input[type="email"].text_fomr_01, input[type="tel"].text_fomr_01 {
    width: 100% !important;
  }
  input[type="text"].text_fomr_02, input[type="email"].text_fomr_02, input[type="tel"].text_fomr_02 {
    width: 100% !important;
  }
  input[type="text"].text_fomr_03, input[type="email"].text_fomr_03, input[type="tel"].text_fomr_03 {
    width: 100% !important;
  }
  ul.input_list li {
    margin-bottom: 20px;
  }
  ul.input_list li:last-child {
    margin-bottom: 0;
  }
  label {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 550px) {}