@charset "UTF-8";
/* base
==================================*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
ul,
li,
ol,
dl,
dd,
tr {
  font-size: 16px;
  line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
  font-weight: 900;
}

.pc {
  display: none !important;
}

a {
  color: #545666;
  text-decoration: none;
}
a:visited {
  color: #545666;
}
a:active {
  color: #545666;
}

/* main
==================================*/
main {
  margin-top: 55px;
}

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

/* header
==================================*/
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: #fff;
  width: 100%;
}
header.hidden {
  display: none;
}
header .header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 20px;
  box-sizing: border-box;
}
header .header_inner .logo {
  width: 220px;
}
header .header_inner .menu_btn {
  width: 55px;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #2d82b4;
}
header .header_inner .menu_btn .btn_wrap {
  width: 30px;
  height: 24px;
  position: relative;
}
header .header_inner .menu_btn .btn_wrap span {
  position: absolute;
  display: inline-block;
  width: 30px;
  height: 2px;
  background: #fff;
  left: 0;
  transition: 0.3s;
}
header .header_inner .menu_btn .btn_wrap span:nth-of-type(1) {
  top: 0;
  transform-origin: left top;
}
header .header_inner .menu_btn .btn_wrap span:nth-of-type(2) {
  top: 11px;
}
header .header_inner .menu_btn .btn_wrap span:nth-of-type(3) {
  bottom: 0;
  transform-origin: left bottom;
}
header .header_inner .menu_btn.open .btn_wrap span:nth-of-type(1) {
  width: 37px;
  transform: rotate(38deg);
}
header .header_inner .menu_btn.open .btn_wrap span:nth-of-type(2) {
  opacity: 0;
}
header .header_inner .menu_btn.open .btn_wrap span:nth-of-type(3) {
  width: 37px;
  transform: rotate(-38deg);
}
header .header_inner nav {
  display: none;
  position: fixed;
  left: 0;
  top: 55px;
  right: 0;
  bottom: 0;
  padding: 13px 20px 40px;
  box-sizing: border-box;
  background: #fff;
}
header .header_inner nav > ul {
  height: 100%;
  overflow: scroll;
}
header .header_inner nav > ul > li {
  border-bottom: 1px solid #e5e5e5;
}
header .header_inner nav > ul > li > a {
  display: flex;
  align-items: flex-end;
  line-height: 1;
  position: relative;
  padding: 14px 0;
}
header .header_inner nav > ul > li > a .jp {
  font-size: 17px;
  font-weight: 700;
}
header .header_inner nav > ul > li > a .en {
  margin-left: 13px;
  background-image: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  max-inline-size: max-content;
  border: 1px solid #fff;
  font-size: 13px;
  font-weight: 900;
}
header .header_inner nav .slide_wrap {
  margin-top: 10px;
  margin-bottom: 40px;
}
header .header_inner nav .slide_wrap .row {
  display: block;
  margin-bottom: -20px;
}
header .header_inner nav .slide_wrap .row dl {
  margin-bottom: 20px;
}
header .header_inner nav .slide_wrap .row dl dt {
  line-height: 35px;
  border-radius: 17px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  padding: 0 20px;
  box-sizing: border-box;
  min-width: 250px;
}
header .header_inner nav .slide_wrap .row dl dd {
  display: flex;
  margin-top: 13px;
}
header .header_inner nav .slide_wrap .row dl dd ul:first-of-type {
  width: 60%;
}
header .header_inner nav .slide_wrap .row dl dd ul:last-of-type {
  width: 40%;
}
header .header_inner nav .slide_wrap .row dl dd ul li {
  line-height: 1.3;
  padding-left: 14px;
  position: relative;
}
header .header_inner nav .slide_wrap .row dl dd ul li:not(:last-of-type) {
  margin-bottom: 11px;
}
header .header_inner nav .slide_wrap .row dl dd ul li::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 7px;
  height: 12px;
  background: url(/images/common/arrow_bl.png) no-repeat 0/contain;
  left: 0;
  top: 6px;
}
header .header_inner nav .slide_wrap .row dl dd ul li a {
  font-size: 15px;
  font-weight: 500;
}
header .header_inner nav .slide_wrap .row .right_wrap dl:first-of-type dd ul {
  width: 100%;
}

/* footer
==================================*/
footer {
  position: relative;
  padding: 42px 0 30px;
}
footer.hidden {
  display: none;
}
footer::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  left: 0;
  top: 0;
}
footer .logo {
  width: 215px;
  margin: auto;
}
footer .foot_row {
  margin-top: 35px;
}
footer .foot_row .left_wrap dt, footer .foot_row .left_wrap li {
  line-height: 1.5;
}
footer .foot_row .left_wrap dl {
  text-align: center;
}
footer .foot_row .left_wrap dl + dl {
  margin-top: 20px;
}
footer .foot_row .left_wrap dl dt {
  color: #2d82b4;
  font-weight: 700;
}
footer .foot_row nav {
  margin: 30px 10px 0;
}
footer .foot_row nav > ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px;
}
footer .foot_row nav > ul li {
  position: relative;
  padding-left: 15px;
  box-sizing: border-box;
}
footer .foot_row nav > ul li::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 7px;
  height: 12px;
  background: url(/images/common/arrow_bl.png) no-repeat 0/contain;
  left: 0;
  top: 4px;
}
footer .foot_row nav > ul > li {
  line-height: 1;
  margin-bottom: 20px;
  width: 55%;
}
footer .foot_row nav > ul > li:nth-of-type(2n) {
  width: 45%;
}
footer .foot_row nav > ul > li > a {
  font-size: 13px;
  font-weight: 700;
}
footer .foot_row nav .sub_list {
  margin: 17px 0 0 15px;
}
footer .foot_row nav .sub_list dl + dl {
  margin-top: 15px;
}
footer .foot_row nav .sub_list dl dt {
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
footer .foot_row nav .sub_list dl dd {
  margin-top: 8px;
  display: flex;
  justify-content: space-between;
}
footer .foot_row nav .sub_list ul:first-of-type {
  width: 165px;
}
footer .foot_row nav .sub_list ul:last-of-type {
  width: calc(100% - 165px);
}
footer .foot_row nav .sub_list ul.wide {
  width: 100%;
}
footer .foot_row nav .sub_list ul li {
  line-height: 1.2;
  padding-left: 13px;
  position: relative;
}
footer .foot_row nav .sub_list ul li::before {
  top: 5px;
}
footer .foot_row nav .sub_list ul li:not(:last-of-type) {
  margin-bottom: 5px;
}
footer .foot_row nav .sub_list ul li a {
  font-size: 13px;
  font-weight: 500;
}
footer .copy {
  font-size: 11px;
  line-height: 1;
  text-align: center;
  margin-top: 35px;
}

.pagetop {
  position: absolute;
  right: 20px;
  top: -25px;
  z-index: 1;
}
.pagetop a {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
}
.pagetop a img {
  width: 15px;
}

/* loader
==================================*/
#loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: 1001;
}

/* Animation
==================================*/
.c-anim-up {
  transform: translate(0, 30px);
  opacity: 0;
  transition: 0.3s ease;
}

.move {
  transform: translate(0, 0);
  opacity: 1;
}

.delay1 {
  -moz-transition-delay: 300ms;
  -webkit-transition-delay: 300ms;
  -o-transition-delay: 300ms;
  -ms-transition-delay: 300ms;
}

.delay2 {
  -moz-transition-delay: 600ms;
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  -ms-transition-delay: 600ms;
}

.delay3 {
  -moz-transition-delay: 900ms;
  -webkit-transition-delay: 900ms;
  -o-transition-delay: 900ms;
  -ms-transition-delay: 900ms;
}

.delay4 {
  -moz-transition-delay: 1200ms;
  -webkit-transition-delay: 1200ms;
  -o-transition-delay: 1200ms;
  -ms-transition-delay: 1200ms;
}

.delay5 {
  -moz-transition-delay: 1500ms;
  -webkit-transition-delay: 1500ms;
  -o-transition-delay: 1500ms;
  -ms-transition-delay: 1500ms;
}

.delay6 {
  -moz-transition-delay: 1800ms;
  -webkit-transition-delay: 1800ms;
  -o-transition-delay: 1800ms;
  -ms-transition-delay: 1800ms;
}

.delay7 {
  -moz-transition-delay: 2100ms;
  -webkit-transition-delay: 2100ms;
  -o-transition-delay: 2100ms;
  -ms-transition-delay: 2100ms;
}

/*==================================
  Component
==================================*/
html {
  overflow: auto;
}
html.no_move {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
}
img[src$=".png"], img[src$=".jpg"] {
  backface-visibility: hidden;
}

.container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 50px;
  padding-right: 50px;
  box-sizing: border-box;
}
@media (max-width: 899px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.row .col {
  position: relative;
  width: 100%;
  min-height: 1px;
  box-sizing: border-box;
}
@media (min-width: 900px) {
  .row .col.col3 {
    width: 25%;
  }
  .row .col.col4 {
    width: 33.33%;
  }
  .row .col.col6 {
    width: 50%;
  }
}

.link_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 435px;
  height: 56px;
  position: relative;
  border-radius: 28px;
  font-size: 19px;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  margin: auto;
  z-index: 1;
}
.link_btn:visited, .link_btn:active, .link_btn:hover {
  color: #fff;
}
.link_btn::after {
  content: "";
  display: inline-block;
  position: relative;
  width: 9px;
  height: 18px;
  background: url(/images/common/arrow_wh.png) no-repeat 0/contain;
  margin-left: 7px;
  top: 2px;
  transition: 0.3s;
}
@media (hover: hover) {
  .link_btn:hover::after {
    transform: translateX(5px);
  }
}
@media (max-width: 899px) {
  .link_btn {
    width: 235px;
    height: 45px;
    font-size: 16px;
    border-radius: 23px;
    margin: auto;
  }
  .link_btn::after {
    content: "";
    width: 9px;
    height: 15px;
    margin-left: 5px;
    top: 1px;
  }
}
.link_btn.grd_btn {
  overflow: hidden;
}
.link_btn.grd_btn::before {
  content: "";
  display: block;
  position: absolute;
  width: 200%;
  height: 100%;
  right: 0;
  top: 0;
  transition: 0.4s ease-out;
  background-image: linear-gradient(110deg, #2d82b4 50%, #2cbba5 100%);
  z-index: -1;
}
@media (hover: hover) {
  .link_btn.grd_btn:hover::before {
    transform: translateX(50%);
  }
}
.link_btn.wh_btn {
  border: 1px solid #fff;
}
@media (hover: hover) {
  .link_btn.wh_btn:hover {
    color: #2d82b4;
    background: #fff;
  }
  .link_btn.wh_btn:hover::after {
    background-image: url(/images/common/arrow_bl.png);
  }
}
.link_btn.bl_btn {
  border: 1px solid #2d82b4;
  color: #2d82b4;
}
.link_btn.bl_btn::after {
  background-image: url(/images/common/arrow_bl.png);
}
@media (hover: hover) {
  .link_btn.bl_btn:hover {
    background: #2d82b4;
    color: #fff;
  }
  .link_btn.bl_btn:hover::after {
    background-image: url(/images/common/arrow_wh.png);
  }
}

.grd_text {
  background-image: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  max-inline-size: max-content;
  border: 1px solid #fff;
}

.ttl_sec {
  display: flex;
  align-items: center;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.ttl_sec h1 {
  width: 100%;
  background: url(/images/common/bg_pt.svg) repeat center/cover;
  display: grid;
  place-items: center;
}
@media (min-width: 900px) {
  .ttl_sec {
    height: 480px;
  }
  .ttl_sec h1 {
    height: 117px;
  }
}
@media (max-width: 899px) {
  .ttl_sec {
    height: 200px;
  }
  .ttl_sec h1 {
    height: 58px;
  }
}

.bg_up {
  position: relative;
  box-sizing: border-box;
  z-index: 1;
}
.bg_up::before {
  content: "";
  display: inline-block;
  position: absolute;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  left: 0;
  top: 0;
  z-index: -1;
}
@media (min-width: 900px) {
  .bg_up {
    padding-top: 10px;
    padding-left: 10px;
  }
  .bg_up::before {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    transform: translate(10px, 10px);
  }
}
@media (max-width: 899px) {
  .bg_up {
    padding-top: 10px;
    padding-left: 10px;
  }
  .bg_up::before {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    transform: translate(10px, 10px);
  }
}
.bg_up.move::before {
  transform: translate(0);
  transition: 0.3s 0.3s;
}

.anchor {
  position: absolute;
}
@media (min-width: 900px) {
  .anchor {
    top: -85px;
  }
}
@media (max-width: 899px) {
  .anchor {
    top: -60px;
    position: relative;
  }
}

/*==================================
  Top
==================================*/
#Top main .sec_ttl {
  line-height: 1;
  text-align: center;
}
#Top main .sec_ttl img {
  height: 30px;
}
#Top main .sec_ttl span {
  display: block;
  margin-top: 12px;
  letter-spacing: 0.2em;
}
#Top main .mv_sec {
  overflow: hidden;
}
#Top main .mv_sec .swiper {
  transform: scale(1.1);
  transform-origin: center;
}
#Top main .mv_sec .swiper picture {
  display: block;
  transform: scale(1.1);
  transform-origin: center;
  transition: 0s 2s;
}
#Top main .mv_sec .swiper .swiper-slide-active picture, #Top main .mv_sec .swiper .swiper-slide-duplicate-active picture {
  transform: scale(1);
  transition: 5s ease-out;
}
#Top main .mv_sec.loaded .swiper {
  transform: scale(1);
  transition: 5s ease-out;
}
#Top main .news_sec {
  padding: 55px 0;
  background: #81b4d2;
}
#Top main .news_sec h2 {
  text-align: center;
}
#Top main .news_sec h2 img {
  height: 29px;
  margin: auto;
}
#Top main .news_sec ul {
  margin-top: 25px;
}
#Top main .news_sec ul li:not(:last-of-type) {
  margin-bottom: 15px;
}
#Top main .news_sec ul li a .info {
  display: flex;
  align-items: center;
  line-height: 1;
}
#Top main .news_sec ul li a .info .date {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
}
#Top main .news_sec ul li a .info .cate {
  font-size: 10px;
  font-weight: 500;
  color: #2d82b4;
  width: 60px;
  padding: 2px 0 3px;
  text-align: center;
  background: #fff;
  border-radius: 8px;
  margin-left: 6px;
}
#Top main .news_sec ul li a .ttl {
  font-weight: 500;
  color: #fff;
  line-height: 1.6;
  margin-top: 5px;
}
#Top main .news_sec .btn_wrap {
  margin-top: 25px;
}
#Top main .news_sec .btn_wrap .link_btn {
  width: 195px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
#Top main .business_sec {
  padding-top: 55px;
}
#Top main .business_sec .lead_wrap {
  margin: 0 20px;
}
#Top main .business_sec .lead_wrap p {
  line-height: 1.8;
  margin-top: 20px;
  text-align: center;
}
#Top main .business_sec .list_wrap {
  background: #ececec;
  padding: 25px 0;
  box-sizing: border-box;
  margin: 30px 20px 0;
}
#Top main .business_sec .list_wrap .row {
  margin: 0 -8px -15px;
  counter-reset: num 0;
}
#Top main .business_sec .list_wrap .row li {
  width: 50%;
  padding: 0 8px 15px;
  box-sizing: border-box;
}
#Top main .business_sec .list_wrap .row li a {
  display: block;
  text-align: center;
  height: 175px;
  background: #fff;
  position: relative;
  box-shadow: 2px 5px 5px rgba(0, 0, 0, 0.1);
  padding-top: 8px;
  box-sizing: border-box;
  counter-increment: num 1;
}
#Top main .business_sec .list_wrap .row li a::before {
  content: "0" counter(num);
  font-size: 20px;
  font-weight: 700;
  color: #2d82b4;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  left: 7px;
  top: -10px;
}
#Top main .business_sec .list_wrap .row li a figure {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 64px;
  margin: auto;
}
#Top main .business_sec .list_wrap .row li a p {
  font-weight: 500;
  line-height: 1.1;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 54px;
}
#Top main .business_sec .list_wrap .row li a .btn_wrap {
  margin-top: 10px;
}
#Top main .business_sec .list_wrap .row li a .btn_wrap .link_btn {
  width: calc(100% - 26px);
  height: 25px;
  border-radius: 13px;
  font-size: 14px;
  padding-bottom: 1px;
  box-sizing: border-box;
  pointer-events: none;
}
#Top main .business_sec .list_wrap .row li a .btn_wrap .link_btn::after {
  width: 7px;
  height: 14px;
  top: 1px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(1) img {
  width: 70px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(2) img {
  width: 54px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(3) img {
  width: 34px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(4) img {
  width: 41px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(5) img {
  width: 63px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(6) img {
  width: 55px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(7) img {
  width: 30px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(8) img {
  width: 61px;
}
#Top main .business_sec .list_wrap .row li:nth-of-type(9) img {
  width: 68px;
}
#Top main .case_sec {
  padding: 55px 0;
}
#Top main .case_sec .row {
  display: block;
  margin-top: 25px;
}
#Top main .case_sec .row .col:not(:last-of-type) {
  margin-bottom: 25px;
}
#Top main .case_sec .row .col a {
  position: relative;
  display: flex;
  padding-top: 53px;
}
#Top main .case_sec .row .col a h3 {
  font-size: 14px;
  color: #fff;
  letter-spacing: 0.1em;
  width: 164px;
  text-align: center;
  padding: 10px 0 7px;
  border-radius: 18px;
  background: #2d82b4;
  border: 2px solid #fff;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
}
#Top main .case_sec .row .col a picture {
  display: block;
  overflow: hidden;
  width: 50%;
  padding: 0 10px;
  box-sizing: border-box;
}
#Top main .case_sec .row .col a dl {
  width: 50%;
  padding: 0 10px;
  box-sizing: border-box;
  margin-top: -3px;
}
#Top main .case_sec .row .col a dl dt {
  font-size: 14px;
  font-weight: 700;
  color: #2d82b4;
  line-height: 1.5;
}
#Top main .case_sec .row .col a dl dd {
  line-height: 1.7;
  font-size: 14px;
  margin-top: 5px;
}
#Top main .case_sec .row .col.gr a h3 {
  background-color: #2ebca6;
}
#Top main .case_sec .row .col.gr a dl dt {
  color: #2ebca6;
}
#Top main .case_sec .btn_wrap {
  margin-top: 35px;
}
#Top main .activity_sec a {
  display: block;
  height: 116vw;
  position: relative;
  background: url(/images/top/activity_sp.jpg) no-repeat center bottom/cover;
}
#Top main .activity_sec .text_wrap {
  position: absolute;
  left: 0;
  bottom: 6.67vw;
  width: 100%;
  height: 37.33vw;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#Top main .activity_sec .text_wrap .left_wrap h2 {
  font-size: 21px;
  color: #fff;
}
#Top main .activity_sec .text_wrap .left_wrap p {
  font-size: 14px;
  color: #fff;
  line-height: 1.3;
  margin-top: 10px;
}
#Top main .link_sec {
  padding: 50px 0 55px;
}
#Top main .link_sec ul li + li {
  margin-top: 30px;
}
#Top main .link_sec a {
  display: block;
  height: 150px;
  position: relative;
  border-bottom: 5px solid #2d82b4;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#Top main .link_sec a.company {
  background-image: url(/images/top/company_sp.jpg);
}
#Top main .link_sec a.recruit {
  background-image: url(/images/top/recruit_sp.jpg);
}
#Top main .link_sec a.solution {
  background-image: url(/images/top/solution_sp.jpg);
}
#Top main .link_sec a.environment {
  background-image: url(/images/top/environment_sp.jpg);
}
#Top main .link_sec a h2 {
  position: absolute;
  left: 17px;
  color: #fff;
  font-weight: 700;
  line-height: 1.1;
}
#Top main .link_sec a h2.en {
  font-size: 28px;
  letter-spacing: 0.1em;
  top: 12px;
}
#Top main .link_sec a h2.en::after {
  content: "INFORMATION";
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
#Top main .link_sec a h2.jp {
  font-size: 22px;
  line-height: 1.2;
  top: 10px;
}
#Top main .link_sec a p {
  position: absolute;
  left: 18px;
  bottom: 6px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #fff;
}
#Top main .link_sec a .btn_wrap {
  position: absolute;
  right: 0;
  bottom: -5px;
  z-index: 1;
}
#Top main .link_sec a .btn_wrap::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0;
  height: 0;
  border-right: 15px solid #2d82b4;
  border-bottom: 15px solid #2d82b4;
  border-left: 15px solid transparent;
  border-top: 15px solid transparent;
  left: -30px;
  top: 0;
}
#Top main .link_sec a .btn_wrap .link_btn {
  width: 115px;
  height: 30px;
  border-radius: 0;
  pointer-events: none;
}
/*==================================
  News
==================================*/
#News main {
  margin-bottom: 50px;
}
#News main .ttl_sec {
  background-image: url(/images/news/sp/main.jpg);
}
#News main .ttl_sec h1 img {
  width: 85px;
}
#News main .main_row {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 50px;
}
#News main .main_row .side_nav {
  margin-top: 50px;
}
#News main .main_row .side_nav dl + dl {
  margin-top: 30px;
}
#News main .main_row .side_nav dl dt {
  color: #2d82b4;
  font-weight: 500;
  line-height: 1;
}
#News main .main_row .side_nav dl dd {
  margin-top: 10px;
}
#News main .main_row .side_nav dl dd .select_box {
  text-align: center;
  position: relative;
  border: 1px solid #bbbbc2;
  border-radius: 25px;
}
#News main .main_row .side_nav dl dd .select_box::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 23px;
  height: 12px;
  background: url(/images/common/arrow2_bl.svg) no-repeat 0/contain;
  right: 15px;
  top: 0;
  bottom: 0;
}
#News main .main_row .side_nav dl dd .select_box select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  outline: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  width: 100%;
  padding: 13px 17px;
  box-sizing: border-box;
}
#News main .main_row .side_nav dl dd .select_box select::-ms-expand {
  display: none;
}
#News main .main_row .side_nav dl dd .select_box select option {
  color: #545666;
}
#News main .main_row .side_nav dl dd ul li {
  padding-left: 15px;
  line-height: 1.2;
  position: relative;
}
#News main .main_row .side_nav dl dd ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
#News main .main_row .side_nav dl dd ul li::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 7px;
  height: 12px;
  background: url(/images/common/arrow_bl.svg) no-repeat 0/contain;
  top: 4px;
  left: 0;
}
#News main article {
  position: relative;
}
#News main article + article {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 1px solid #2d82b4;
}
#News main article .top_wrap {
  padding-bottom: 20px;
  border-bottom: 1px solid #2d82b4;
}
#News main article .top_wrap .tag {
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: grid;
  place-items: center;
  width: 70px;
  height: 18px;
  border-radius: 9px;
  background-color: #2d82b4;
}
#News main article .top_wrap .ttl_wrap {
  margin-top: 12px;
}
#News main article .top_wrap .ttl_wrap .date {
  font-size: 14px;
  line-height: 1;
}
#News main article .top_wrap .ttl_wrap h2 {
  line-height: 1.3;
  font-size: 18px;
  font-weight: 700;
  margin-top: 6px;
  word-wrap: break-word;
}
#News main article .free_area {
  margin-top: 20px;
}
#News main article .free_area p {
  line-height: 1.6;
  word-wrap: break-word;
}
#News main article .free_area p + p {
  margin-top: 40px;
}
#News main article .free_area p a {
  border-bottom: 1px solid #545666;
}
#News main .page_navigation {
  margin-top: 50px;
}
#News main .page_navigation .wp-pagenavi-sp {
  position: relative;
  height: 20px;
}
#News main .page_navigation .wp-pagenavi-sp a {
  position: absolute;
  display: inline-block;
  font-weight: 700;
  top: 0;
  bottom: 0;
  margin: auto;
}
#News main .page_navigation .wp-pagenavi-sp a::before, #News main .page_navigation .wp-pagenavi-sp a::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
#News main .page_navigation .wp-pagenavi-sp a::before {
  width: 8px;
  height: 8px;
  border-right: 2px solid #2d82b4;
  border-bottom: 2px solid #2d82b4;
}
#News main .page_navigation .wp-pagenavi-sp .prev, #News main .page_navigation .wp-pagenavi-sp .next {
  width: 40px;
  height: 20px;
  text-align: center;
}
#News main .page_navigation .wp-pagenavi-sp .prev::after, #News main .page_navigation .wp-pagenavi-sp .next::after {
  width: 2px;
  height: 20px;
  background: #e0e0e0;
}
#News main .page_navigation .wp-pagenavi-sp .prev {
  left: calc(50% - 75px);
  padding-left: 18px;
}
#News main .page_navigation .wp-pagenavi-sp .prev::before {
  transform: rotate(135deg);
  left: 0;
}
#News main .page_navigation .wp-pagenavi-sp .prev::after {
  left: -30px;
}
#News main .page_navigation .wp-pagenavi-sp .next {
  right: calc(50% - 75px);
  padding-right: 18px;
}
#News main .page_navigation .wp-pagenavi-sp .next::before {
  transform: rotate(-45deg);
  right: 0;
}
#News main .page_navigation .wp-pagenavi-sp .next::after {
  right: -30px;
}
#News main .page_navigation .wp-pagenavi-sp .first, #News main .page_navigation .wp-pagenavi-sp .last {
  width: 20px;
  height: 20px;
}
#News main .page_navigation .wp-pagenavi-sp .first::before, #News main .page_navigation .wp-pagenavi-sp .last::before {
  left: 0;
  right: 0;
}
#News main .page_navigation .wp-pagenavi-sp .first::after, #News main .page_navigation .wp-pagenavi-sp .last::after {
  width: 2px;
  height: 14px;
  background: #2d82b4;
}
#News main .page_navigation .wp-pagenavi-sp .first {
  left: calc(50% - 145px);
}
#News main .page_navigation .wp-pagenavi-sp .first::before {
  transform: rotate(135deg);
}
#News main .page_navigation .wp-pagenavi-sp .first::after {
  left: 2px;
}
#News main .page_navigation .wp-pagenavi-sp .last {
  right: calc(50% - 145px);
}
#News main .page_navigation .wp-pagenavi-sp .last::before {
  transform: rotate(-45deg);
}
#News main .page_navigation .wp-pagenavi-sp .last::after {
  right: 2px;
}

/*==================================
  Business
==================================*/
#Business main#Fuel {
  margin-bottom: 55px;
}
#Business main#Fuel .ttl_sec {
  background-image: url(/images/business/fuel/sp/main.jpg);
}
#Business main#Fuel .ttl_sec h1 img {
  width: 108px;
}
#Business main#Fuel .line_ttl {
  position: relative;
  padding-bottom: 15px;
}
#Business main#Fuel .line_ttl::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 95px;
  height: 2px;
  border-radius: 1px;
  background-color: #2ebca6;
  left: 0;
  right: 0;
  bottom: 0;
}
#Business main#Fuel .lead_sec {
  margin-top: 45px;
}
#Business main#Fuel .lead_sec h2 {
  font-size: 25px;
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 390px) {
  #Business main#Fuel .lead_sec h2 {
    font-size: 23px;
  }
}
#Business main#Fuel .lead_sec .img_wrap {
  margin-top: 20px;
}
#Business main#Fuel .lead_sec p {
  margin-top: 15px;
}
#Business main#Fuel .area_sec {
  margin-top: 50px;
}
#Business main#Fuel .area_sec h2 {
  font-size: 22px;
  margin: auto;
}
#Business main#Fuel .area_sec .area_wrap {
  margin-top: 20px;
  display: flex;
  flex-direction: column-reverse;
}
#Business main#Fuel .area_sec .area_wrap ul {
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
}
#Business main#Fuel .area_sec .area_wrap ul li {
  display: flex;
  align-items: center;
}
#Business main#Fuel .area_sec .area_wrap ul li::before {
  content: "";
  display: inline-block;
  width: 58px;
  height: 18px;
  border-radius: 9px;
  background-color: #d5e6f0;
  margin-right: 10px;
}
#Business main#Fuel .area_sec .area_wrap ul li:nth-of-type(2) {
  margin-left: 12px;
}
#Business main#Fuel .area_sec .area_wrap ul li:nth-of-type(2)::before {
  background-color: #f8f28c;
}
#Business main#Fuel .area_sec .bg_bl {
  background-color: #d5e6f0;
  box-sizing: border-box;
  margin-top: 40px;
  padding: 30px 20px 25px;
}
#Business main#Fuel .area_sec .tel_wrap {
  margin-top: 40px;
}
#Business main#Fuel .area_sec .tel_wrap a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 75px;
  border-radius: 10px;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  box-sizing: border-box;
  padding-top: 5px;
}
#Business main#Fuel .area_sec .tel_wrap a .ttl {
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  color: #2d82b4;
  width: 226px;
  height: 20px;
  border-radius: 10px;
  background-color: #fff;
}
#Business main#Fuel .area_sec .tel_wrap a dl {
  display: flex;
  margin-top: 1px;
}
#Business main#Fuel .area_sec .tel_wrap a dl dt, #Business main#Fuel .area_sec .tel_wrap a dl dd {
  font-weight: 900;
  color: #fff;
}
#Business main#Fuel .area_sec .tel_wrap a dl dd {
  display: flex;
  align-items: center;
  margin-left: 5px;
}
#Business main#Fuel .area_sec .tel_wrap a dl dd::before {
  content: "";
  display: inline-block;
  width: 21px;
  height: 14px;
  background: url(/images/business/fuel/icon_fd.svg) no-repeat 0/contain;
  margin-right: 2px;
}
#Business main#Fuel .area_sec .area1 .grid .wrap + .wrap {
  margin-top: 25px;
}
#Business main#Fuel .area_sec .area1 .grid .wrap h3 {
  height: 45px;
  display: grid;
  place-items: center;
  border: 1px solid #2ebca6;
  box-sizing: border-box;
  border-radius: 23px;
  color: #2ebca6;
  font-weight: 700;
}
#Business main#Fuel .area_sec .area1 .grid .wrap figure {
  width: 90%;
  margin: 15px auto 0;
}
#Business main#Fuel .area_sec .area1 .bg_bl h4 {
  text-align: center;
  color: #2d82b4;
  font-size: 24px;
  font-weight: 700;
}
#Business main#Fuel .area_sec .area1 .bg_bl .row {
  margin-top: 22px;
  margin-bottom: -10px;
  display: block;
}
#Business main#Fuel .area_sec .area1 .bg_bl .row .col dl {
  position: relative;
  margin-bottom: 10px;
}
#Business main#Fuel .area_sec .area1 .bg_bl .row .col dl dt {
  font-weight: 700;
  white-space: nowrap;
  margin-right: 15px;
  color: #2d82b4;
  line-height: 1;
  margin-bottom: 3px;
}
#Business main#Fuel .area_sec .area1 .bg_bl .row .col dl dt::before {
  content: "●";
  color: #2ebca6;
  font-size: 12px;
  position: relative;
  bottom: 1px;
  margin-right: 1px;
}
#Business main#Fuel .area_sec .area2 {
  margin-top: 55px;
}
#Business main#Fuel .area_sec .area2 .bg_bl dl {
  text-align: center;
}
#Business main#Fuel .area_sec .area2 .bg_bl dl dt {
  font-size: 20px;
  font-weight: 700;
  color: #2d82b4;
}
#Business main#Fuel .area_sec .area2 .bg_bl dl dd {
  font-size: 20px;
  margin-top: 15px;
}
#Business main#Fuel .area_sec .area2 .bg_bl ul {
  margin-top: 12px;
}
#Business main#Fuel .area_sec .area2 .bg_bl ul li {
  line-height: 1.4;
}
#Business main#Fuel .area_sec .area2 .bg_bl ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
#Business main#Fuel .area_sec .area2 .bg_bl ul li::before {
  content: "●";
  color: #2ebca6;
  font-size: 12px;
  position: relative;
  bottom: 2px;
  margin-right: 2px;
}
#Business main#Fuel .map_sec {
  margin-top: 50px;
}
#Business main#Fuel .map_sec h2 {
  font-size: 22px;
  margin: auto;
}
#Business main#Fuel .map_sec .map_wrap {
  margin-top: 25px;
  height: 330px;
}
#Business main#Fuel .map_sec .map_wrap iframe {
  width: 100%;
  height: 100%;
}
#Business main#Lubricant .ttl_sec {
  background-image: url(/images/business/lubricant/sp/main.jpg);
}
#Business main#Lubricant .ttl_sec h1 img {
  width: 90px;
}
#Business main#Lubricant .sec1 {
  margin-top: 45px;
}
#Business main#Lubricant .sec1 .lead_wrap h2 {
  font-size: 25px;
  line-height: 1.3;
  margin: auto;
  text-align: center;
}
#Business main#Lubricant .sec1 .lead_wrap figure {
  width: 145px;
  margin: 20px auto 0;
}
#Business main#Lubricant .sec1 .lead_wrap p {
  margin-top: 20px;
}
#Business main#Lubricant .sec1 .table_wrap {
  margin-top: 45px;
}
#Business main#Lubricant .sec1 .table_wrap h3 {
  font-size: 20px;
  font-weight: 700;
  color: #2d82b4;
  text-align: center;
  position: relative;
  padding-bottom: 13px;
}
#Business main#Lubricant .sec1 .table_wrap h3::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 95px;
  height: 2px;
  border-radius: 1px;
  background-color: #2ebca6;
  left: 0;
  right: 0;
  bottom: 0;
}
#Business main#Lubricant .sec1 .table_wrap table {
  width: 100%;
  margin-top: 25px;
}
#Business main#Lubricant .sec1 .table_wrap table tr {
  display: block;
}
#Business main#Lubricant .sec1 .table_wrap table tr:not(:last-of-type) {
  margin-bottom: 15px;
}
#Business main#Lubricant .sec1 .table_wrap table tr th, #Business main#Lubricant .sec1 .table_wrap table tr td {
  box-sizing: border-box;
}
#Business main#Lubricant .sec1 .table_wrap table tr th {
  background-color: #eaf8f6;
  color: #2ebca6;
  font-weight: 700;
  display: inline-block;
  padding: 4px 10px;
}
#Business main#Lubricant .sec1 .table_wrap table tr td {
  display: block;
  background-color: #eaf3f8;
  width: 100%;
  margin-top: 7px;
  padding: 10px 10px;
}
#Business main#Lubricant .list_sec {
  margin-top: 55px;
}
#Business main#Lubricant .list_sec h2 {
  margin: auto;
  text-align: center;
  line-height: 1.4;
  font-size: 20px;
}
#Business main#Lubricant .list_sec .list {
  margin-top: 20px;
  counter-reset: num 0;
}
#Business main#Lubricant .list_sec .list .wrap + .wrap {
  margin-top: 30px;
}
#Business main#Lubricant .list_sec .list .wrap .text_wrap .point {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 84px;
  height: 28px;
  border-radius: 14px;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  font-size: 14px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
  counter-increment: num 1;
  margin: auto;
}
#Business main#Lubricant .list_sec .list .wrap .text_wrap .point::after {
  content: counter(num);
}
#Business main#Lubricant .list_sec .list .wrap .text_wrap h3 {
  font-size: 20px;
  line-height: 1.4;
  margin-top: 5px;
  color: #2d82b4;
  text-align: center;
}
#Business main#Lubricant .list_sec .list .wrap .text_wrap .img_wrap {
  margin-top: 15px;
}
#Business main#Lubricant .list_sec .list .wrap .text_wrap .text {
  margin-top: 12px;
}
#Business main#Lubricant .table_sec {
  margin: 45px -8px 0;
}
#Business main#Lubricant .table_sec table {
  width: 100%;
}
#Business main#Lubricant .table_sec table tr th, #Business main#Lubricant .table_sec table tr td {
  text-align: center;
  box-sizing: border-box;
  border: 8px solid #fff;
  vertical-align: middle;
  font-size: 13px;
  line-height: 1.2;
}
#Business main#Lubricant .table_sec table tr th {
  background-color: #eaf8f6;
  font-weight: 700;
  color: #2ebca6;
  padding: 10px 7px;
  white-space: nowrap;
}
#Business main#Lubricant .table_sec table tr td {
  background-color: #eaf3f8;
  padding: 10px 6px;
}
#Business main#Lubricant .table_sec table tr:nth-of-type(1) th:nth-of-type(2) {
  color: #2d82b4;
  background-color: #d5e6f0;
}
#Business main#Lubricant .table_sec table tr:nth-of-type(2n + 3) td {
  background-color: #cae0ec;
}
#Business main#Lubricant .table_sec table tr:nth-of-type(3) th {
  background-color: #b5e7df;
}
#Business main#Lubricant .case_sec {
  margin: 50px -20px 0;
}
#Business main#Lubricant .case_sec a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 45px 0 50px;
  background: url(/images/business/lubricant/sp/contact.jpg) no-repeat 0/cover;
}
#Business main#Lubricant .case_sec a p {
  color: #fff;
  font-weight: 900;
  line-height: 1.6;
  text-align: center;
}
#Business main#Lubricant .case_sec a .btn_wrap {
  margin-top: 25px;
}
#Business main#Lubricant .case_sec a .btn_wrap span {
  border: 1px solid #fff;
}
#Business main#Lubricant .contact_sec {
  padding: 55px 0;
}
#Business main#Lubricant .contact_sec dl {
  text-align: center;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  padding: 25px 20px;
  box-sizing: border-box;
}
#Business main#Lubricant .contact_sec dl dt, #Business main#Lubricant .contact_sec dl a, #Business main#Lubricant .contact_sec dl span {
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.1em;
}
#Business main#Lubricant .contact_sec dl dt {
  font-size: 20px;
  padding-bottom: 23px;
  line-height: 1.5;
}
#Business main#Lubricant .contact_sec dl dt small {
  display: block;
  font-size: 14px;
  line-height: 1;
  margin-top: 9px;
}
#Business main#Lubricant .contact_sec dl dd {
  padding-top: 16px;
  line-height: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  width: 100%;
}
#Business main#Lubricant .contact_sec dl dd a {
  font-size: 30px;
}
#Business main#Lubricant .contact_sec dl dd a::before {
  content: "";
  display: inline-block;
  position: relative;
  width: 30px;
  height: 22px;
  background: url(/images/business/waste/icon_tel.svg) no-repeat 0/contain;
  margin-right: 7px;
  bottom: 1px;
}
#Business main#Lubricant .contact_sec dl dd span {
  font-size: 14px;
  display: block;
  line-height: 1;
  margin-top: 7px;
}
#Business main#Waste h2 {
  text-align: center;
  font-size: 22px;
  color: #2d82b4;
  line-height: 1.6;
}
#Business main#Waste h3 {
  height: 35px;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  border-radius: 18px;
  color: #fff;
  font-weight: 700;
  display: grid;
  place-items: center;
}
#Business main#Waste .ttl_sec {
  background-image: url(/images/business/waste/sp/main.jpg);
}
#Business main#Waste .ttl_sec h1 img {
  width: 225px;
}
#Business main#Waste .sec1 {
  padding: 55px 0 50px;
}
#Business main#Waste .sec1 picture {
  display: block;
}
#Business main#Waste .sec1 h2 {
  margin-top: 15px;
}
#Business main#Waste .sec1 p {
  margin-top: 15px;
}
#Business main#Waste .sec2 {
  background-color: #f3f3f4;
  padding: 55px 0 50px;
}
#Business main#Waste .sec2 .wrap + .wrap {
  margin-top: 35px;
}
#Business main#Waste .sec2 .sp_row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
}
#Business main#Waste .sec2 ul {
  margin-top: 10px;
}
#Business main#Waste .sec2 ul li {
  letter-spacing: 0;
  line-height: 1.3;
}
#Business main#Waste .sec2 ul li:not(:last-of-type) {
  margin-bottom: 7px;
}
#Business main#Waste .sec3 {
  padding: 55px 0 45px;
}
#Business main#Waste .sec3 .wrap:first-of-type .table_wrap {
  margin-right: -20px;
  overflow: scroll;
}
#Business main#Waste .sec3 .wrap:first-of-type .table_wrap table {
  width: 700px;
}
#Business main#Waste .sec3 .wrap:last-of-type {
  margin-top: 40px;
}
#Business main#Waste .sec3 .wrap:last-of-type tr:first-of-type th:nth-of-type(3) {
  padding-left: 0px;
  padding-right: 0px;
}
#Business main#Waste .sec3 h2 {
  margin-bottom: 15px;
}
#Business main#Waste .sec3 p {
  font-size: 14px;
  text-align: center;
  margin-bottom: 10px;
  line-height: 1;
}
#Business main#Waste .sec3 table {
  width: 100%;
}
#Business main#Waste .sec3 table tr th, #Business main#Waste .sec3 table tr td {
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  border: 5px solid #fff;
  line-height: 1.2;
  padding: 12px 30px;
  white-space: nowrap;
}
#Business main#Waste .sec3 table tr th {
  background-color: #d5e6f0;
  font-weight: 400;
  letter-spacing: 0;
}
#Business main#Waste .sec3 table tr td {
  background-color: #f3f3f4;
}
#Business main#Waste .sec3 table tr td .round {
  font-weight: 900;
  background-image: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  max-inline-size: max-content;
  border: 1px solid #f3f3f4;
}
#Business main#Waste .sec3 table tr:first-of-type th:first-of-type {
  color: #2d82b4;
  font-weight: 700;
}
#Business main#Waste .sec3 table tr:first-of-type th:nth-of-type(n + 2) {
  color: #2ebca6;
  background-color: #eaf8f6;
  font-weight: 700;
}
#Business main#Waste .sec3 table tr:nth-of-type(2) th {
  background-color: #eaf8f6;
}
#Business main#Waste .sec4 {
  background-color: #f3f3f4;
  padding: 55px 0 50px;
}
#Business main#Waste .sec4 .right_wrap {
  margin-top: 35px;
}
#Business main#Waste .sec4 .wrap + .wrap {
  margin-top: 35px;
}
#Business main#Waste .sec4 ul {
  margin-top: 20px;
}
#Business main#Waste .sec4 ul li {
  position: relative;
  padding-left: 15px;
  line-height: 1.1;
}
#Business main#Waste .sec4 ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
#Business main#Waste .sec4 ul li::before {
  content: "・";
  color: #2ebca6;
  left: 0;
  top: 0;
  position: absolute;
}
#Business main#Waste .sec4 ul li .num {
  display: block;
}
#Business main#Waste .sec4 ul li .num::before {
  content: "許可番号";
  margin-right: 20px;
}
#Business main#Waste .sec5 {
  padding: 55px 0;
}
#Business main#Waste .sec5 dl {
  text-align: center;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  padding: 25px 20px;
  box-sizing: border-box;
}
#Business main#Waste .sec5 dl dt, #Business main#Waste .sec5 dl a, #Business main#Waste .sec5 dl span {
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.1em;
}
#Business main#Waste .sec5 dl dt {
  font-size: 20px;
  padding-bottom: 23px;
  line-height: 1.5;
}
#Business main#Waste .sec5 dl dt small {
  display: block;
  font-size: 14px;
  line-height: 1;
  margin-top: 9px;
}
#Business main#Waste .sec5 dl dd {
  padding-top: 16px;
  line-height: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  width: 100%;
}
#Business main#Waste .sec5 dl dd a {
  font-size: 30px;
}
#Business main#Waste .sec5 dl dd a::before {
  content: "";
  display: inline-block;
  position: relative;
  width: 30px;
  height: 22px;
  background: url(/images/business/waste/icon_tel.svg) no-repeat 0/contain;
  margin-right: 7px;
  bottom: 1px;
}
#Business main#Waste .sec5 dl dd span {
  font-size: 14px;
  display: block;
  line-height: 1;
  margin-top: 7px;
}
#Business main#Station {
  margin-bottom: 50px;
}
#Business main#Station .ttl_sec {
  background-image: url(/images/business/station/sp/main.jpg);
}
#Business main#Station .ttl_sec h1 img {
  width: 271px;
}
#Business main#Station .lead_sec {
  margin-top: 50px;
}
#Business main#Station .lead_sec .logo_ttl {
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#Business main#Station .lead_sec .logo_ttl .eneos {
  width: 206px;
}
#Business main#Station .lead_sec .logo_ttl .thanks {
  width: 122px;
  margin-top: 20px;
}
#Business main#Station .lead_sec .wrap1 {
  margin-top: 25px;
}
#Business main#Station .lead_sec .wrap1 h3 {
  color: #2d82b4;
  font-size: 20px;
  font-weight: 900;
  text-align: center;
}
#Business main#Station .lead_sec .wrap1 h3 span {
  font-weight: 400;
  display: block;
  margin-top: 15px;
  text-align: center;
  color: #545666;
}
#Business main#Station .lead_sec .wrap1 .img_wrap {
  margin-top: 20px;
}
#Business main#Station .lead_sec .wrap1 ul {
  margin-top: 20px;
}
#Business main#Station .lead_sec .wrap1 ul li {
  font-weight: 700;
  display: flex;
  justify-content: center;
  position: relative;
  line-height: 1;
}
#Business main#Station .lead_sec .wrap1 ul li:not(:last-of-type) {
  margin-bottom: 15px;
}
#Business main#Station .lead_sec .wrap1 ul li::before {
  content: "●";
  font-size: 14px;
  color: #2ebca6;
  position: relative;
  margin-right: 5px;
  top: 2px;
}
#Business main#Station .lead_sec .wrap1 ul li .ss {
  display: inline-block;
  width: 135px;
}
#Business main#Station .lead_sec .wrap1 ul li .price {
  color: #2d82b4;
}
#Business main#Station .lead_sec .wrap1 ul li .price small {
  font-size: 13px;
}
#Business main#Station .lead_sec .wrap2 {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 45px;
}
#Business main#Station .lead_sec .wrap2 .img_wrap {
  margin-top: 25px;
}
#Business main#Station .lead_sec .wrap2 dl {
  align-items: center;
  padding: 20px 10px;
  box-sizing: border-box;
  border: 1px solid #000;
}
#Business main#Station .lead_sec .wrap2 dl dt {
  color: #2d82b4;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
}
#Business main#Station .lead_sec .wrap2 dl dd {
  margin: 20px 20px 0;
}
#Business main#Station .lead_sec .link_wrap {
  margin-top: 50px;
}
#Business main#Station .lead_sec .link_wrap h3 {
  font-size: 20px;
  font-weight: 900;
  color: #2d82b4;
  text-align: center;
  line-height: 1.3;
  position: relative;
}
#Business main#Station .lead_sec .link_wrap h3::before, #Business main#Station .lead_sec .link_wrap h3::after {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
}
#Business main#Station .lead_sec .link_wrap h3::before {
  width: 46px;
  height: 59px;
  background: url(/images/business/station/icon_gori01.jpg) no-repeat 0/contain;
  right: calc(50% + 117px);
}
#Business main#Station .lead_sec .link_wrap h3::after {
  width: 58px;
  height: 57px;
  background: url(/images/business/station/icon_gori02.jpg) no-repeat 0/contain;
  left: calc(50% + 115px);
}
#Business main#Station .lead_sec .link_wrap ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-top: 25px;
}
#Business main#Station .lead_sec .link_wrap ul li a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 45px;
  padding-left: 18px;
  box-sizing: border-box;
  border: 1px solid #2ebca6;
  color: #2ebca6;
  font-weight: 700;
  position: relative;
  border-radius: 23px;
}
#Business main#Station .lead_sec .link_wrap ul li a::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 23px;
  height: 12px;
  background-image: url(/images/common/arrow2.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  right: 11px;
  top: 0;
  bottom: 0;
}
#Business main#Station .ss_section {
  margin-top: 50px;
}
#Business main#Station .ss_section .area_wrap {
  position: relative;
}
#Business main#Station .ss_section .area_wrap + .area_wrap {
  margin-top: 50px;
}
#Business main#Station .ss_section .area_wrap h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 91px;
  box-sizing: border-box;
  position: relative;
  font-weight: 700;
  letter-spacing: 0.2em;
  background-color: #eaf8f6;
}
#Business main#Station .ss_section .area_wrap h2::before {
  content: "";
  display: inline-block;
  width: 140px;
  height: 2px;
  border-radius: 1px;
  background-color: #2d82b4;
}
#Business main#Station .ss_section .area_wrap h2 .jp {
  font-size: 20px;
  color: #2d82b4;
  margin: 10px 0 10px;
}
#Business main#Station .ss_section .area_wrap h2 .en {
  font-size: 13px;
  color: #545666;
}
#Business main#Station .ss_section .area_wrap .container {
  margin-top: 40px;
}
#Business main#Station .ss_section .area_wrap .container .ss_wrap + .ss_wrap {
  margin-top: 35px;
}
/*20231117 追記*/
#Business main#Station .ss_section .area_wrap .container .content_wrap {
  position: relative;
  margin-top: -50px;
  padding-top: 50px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap h3 {
  font-size: 20px;
  line-height: 1.2;
  padding-bottom: 10px;
  border-bottom: 1px solid #2d82b4;
  color: #2d82b4;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row {
  margin-top: 25px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap {
  margin-top: 25px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap .map_trigger {
  color: #fff;
  font-weight: 700;
  display: grid;
  place-items: center;
  width: 108px;
  height: 40px;
  border-radius: 20px;
  background-color: #2ebca6;
  line-height: 1;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap table {
  margin-top: 15px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap table tr {
  display: block;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap table tr:not(:last-of-type) {
  margin-bottom: 10px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap table tr th, #Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap table tr td {
  display: block;
  width: 100%;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap table tr th {
  font-weight: 500;
  color: #2ebca6;
  text-align: left;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap dl {
  margin-top: 15px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap dl dt {
  color: #2d82b4;
  font-weight: 700;
  line-height: 1;
  position: relative;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap dl dt::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: calc(100% - 150px);
  height: 1px;
  background-color: #2d82b4;
  right: 0;
  top: 0;
  bottom: 0;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .row .info_wrap dl dd {
  margin-top: 5px;
  line-height: 1.5;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 10px -7px -10px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list li {
  margin: 0 7px 10px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list .line {
  width: 108px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list .certifi {
  width: 74px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list .dd {
  width: 60px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list .eg {
  width: 106px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list .enejet {
  width: 80px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list .eneos {
  width: 50px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list .keeper {
  width: 70px;
}
#Business main#Station .ss_section .area_wrap .container .content_wrap .icon_list .rakuten {
  width: 100px;
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .filter {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  left: 0;
  top: 0;
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap {
  width: calc(100% - 40px);
  height: 350px;
  background-color: #fff;
  position: absolute;
  padding: 20px 10px 25px;
  box-sizing: border-box;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap p {
  font-size: 20px;
  font-weight: 900;
  color: #2d82b4;
  height: 45px;
  line-height: 1;
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap .map_wrap {
  height: calc(100% - 45px);
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap .map_wrap iframe {
  width: 100%;
  height: 100%;
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap .close {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 30px;
  height: 30px;
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap .close::before, #Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap .close::after {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 100%;
  height: 1px;
  background-color: #2ebca6;
  left: 0;
  top: 0;
  bottom: 0;
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap .close::before {
  transform: rotate(45deg);
}
#Business main#Station .ss_section .area_wrap .container .modal_wrap .wh_wrap .close::after {
  transform: rotate(-45deg);
}
#Business main#Car {
  margin-bottom: 55px;
}
#Business main#Car .ttl_sec {
  background-image: url(/images/business/car/sp/main.jpg);
}
#Business main#Car .ttl_sec h1 img {
  width: 146px;
}
#Business main#Car .lead_sec {
  padding: 50px 0 55px;
}
#Business main#Car .lead_sec h2 {
  font-size: 20px;
  margin: auto;
}
#Business main#Car .lead_sec .info_wrap {
  position: relative;
  margin-top: 20px;
}
#Business main#Car .lead_sec .info_wrap .map_wrap {
  margin-top: 25px;
  height: 330px;
}
#Business main#Car .lead_sec .info_wrap .map_wrap iframe {
  width: 100%;
  height: 100%;
}
#Business main#Car .lead_sec .info_wrap table {
  margin-top: 22px;
}
#Business main#Car .lead_sec .info_wrap table tr {
  display: block;
}
#Business main#Car .lead_sec .info_wrap table tr:not(:last-of-type) {
  margin-bottom: 10px;
}
#Business main#Car .lead_sec .info_wrap table tr th, #Business main#Car .lead_sec .info_wrap table tr td {
  display: block;
  width: 100%;
}
#Business main#Car .lead_sec .info_wrap table tr th {
  font-weight: 500;
  color: #2ebca6;
  text-align: left;
}
#Business main#Car .lead_sec .bottom_wrap {
  margin-top: 15px;
}
#Business main#Car .lead_sec .bottom_wrap .btn_wrap {
  margin-top: 25px;
}
#Business main#Car .gr_sec {
  background-color: #f3f3f4;
  padding: 45px 0 55px;
}
#Business main#Car .gr_sec .lead {
  line-height: 1.5;
}
#Business main#Car .gr_sec ul {
  margin-top: 30px;
}
#Business main#Car .gr_sec ul li + li {
  margin-top: 35px;
}
#Business main#Car .gr_sec ul li h3 {
  font-size: 20px;
  text-align: center;
  font-weight: 400;
}
#Business main#Car .gr_sec ul li h3 span {
  color: #2d82b4;
  font-weight: 900;
}
#Business main#Car .gr_sec ul li h3::before, #Business main#Car .gr_sec ul li h3::after {
  content: "";
  display: inline-block;
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #2d82b4;
  bottom: 3px;
}
#Business main#Car .gr_sec ul li h3::before {
  margin-right: 7px;
}
#Business main#Car .gr_sec ul li h3::after {
  margin-left: 7px;
}
#Business main#Car .gr_sec ul li .wh_wrap {
  background-color: #fff;
  position: relative;
  padding: 20px 20px 15px;
  box-sizing: border-box;
  border: 1px solid #dddde0;
  margin-top: 20px;
}
#Business main#Car .gr_sec ul li .wh_wrap::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 32px;
  height: 16px;
  background: url(/images/common/check_bl.svg) no-repeat 0/contain;
  left: 8px;
  top: -12px;
}
#Business main#Car .gr_sec ul li .wh_wrap p {
  margin-top: 13px;
  line-height: 1.5;
}
#Business main#Car .gr_sec ul li.gr h3::before, #Business main#Car .gr_sec ul li.gr h3::after {
  background-color: #2ebca6;
}
#Business main#Car .gr_sec ul li.gr h3 span {
  color: #2ebca6;
}
#Business main#Car .gr_sec ul li.gr .wh_wrap::before {
  background-image: url(/images/common/check_gr.svg);
}
#Business main#Car .voice_sec {
  margin-top: 50px;
}
#Business main#Car .voice_sec h2 {
  font-size: 20px;
  font-weight: 700;
  padding-bottom: 15px;
  text-align: center;
  color: #2d82b4;
  position: relative;
}
#Business main#Car .voice_sec h2::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 95px;
  height: 2px;
  border-radius: 1px;
  background-color: #2ebca6;
  left: 0;
  right: 0;
  bottom: 0;
}
#Business main#Car .voice_sec p {
  margin-top: 20px;
}
#Business main#Car .voice_sec .list {
  margin-top: 20px;
}
#Business main#Car .voice_sec .list dl + dl {
  margin-top: 25px;
}
#Business main#Car .voice_sec .list dl dt {
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
}
#Business main#Car .voice_sec .list dl dt::before {
  content: "";
  display: inline-block;
  width: 53px;
  height: 68px;
  background-repeat: no-repeat;
  background-position: 0;
  background-size: contain;
  margin-right: 2px;
}
#Business main#Car .voice_sec .list dl dd {
  font-weight: 700;
  display: grid;
  place-items: center;
  text-align: center;
  line-height: 1.6;
  height: 75px;
  box-sizing: border-box;
  margin-top: 10px;
  border: 1px solid #aaabb3;
  border-radius: 38px;
}
#Business main#Car .voice_sec .list dl.male dt {
  color: #2d82b4;
}
#Business main#Car .voice_sec .list dl.male dt::before {
  background-image: url(/images/business/car/icon_male.svg);
}
#Business main#Car .voice_sec .list dl.female dt {
  color: #2ebca6;
}
#Business main#Car .voice_sec .list dl.female dt::before {
  background-image: url(/images/business/car/icon_female.svg);
}
#Business main#Insurance {
  margin-top: 0;
  margin-bottom: 55px;
}
#Business main#Insurance .ttl_sec {
  background-image: url(/images/business/insurance/sp/main.jpg);
}
#Business main#Insurance .ttl_sec h1 img {
  width: 250px;
}
#Business main#Insurance .sec1 {
  margin-top: 50px;
}
#Business main#Insurance .sec1 h2 {
  font-size: 25px;
  text-align: center;
  margin: auto;
  line-height: 1.3;
}
#Business main#Insurance .sec1 p {
  margin-top: 15px;
}
#Business main#Insurance .sec2 {
  margin-top: 45px;
  text-align: center;
}
#Business main#Insurance .sec2 h3 {
  color: #2d82b4;
  font-weight: 700;
  font-size: 22px;
  padding-bottom: 13px;
  position: relative;
}
#Business main#Insurance .sec2 h3::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 95px;
  height: 2px;
  border-radius: 1px;
  background-color: #2ebca6;
  left: 0;
  right: 0;
  bottom: 0;
}
#Business main#Insurance .sec2 p {
  margin-top: 22px;
}
#Business main#Insurance .sec2 ul {
  max-width: 220px;
  margin: 20px auto 0;
}
#Business main#Insurance .sec2 ul li:not(:last-of-type) {
  margin-bottom: 15px;
}
#Business main#Insurance .sec3 {
  margin-top: 50px;
}
#Business main#Insurance .sec3 .list .border_wrap {
  padding: 125px 15px 30px;
  box-sizing: border-box;
  border: 1px solid #dddde0;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
  position: relative;
}
#Business main#Insurance .sec3 .list .border_wrap:nth-of-type(2) {
  margin-top: 40px;
}
#Business main#Insurance .sec3 .list .border_wrap::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  left: 0;
  top: 30px;
  right: 0;
  width: 72px;
  height: 87px;
  background: url(/images/business/insurance/icon01.svg) no-repeat 0/contain;
}
#Business main#Insurance .sec3 .list .border_wrap h2 {
  font-size: 22px;
  color: #2d82b4;
  text-align: center;
  letter-spacing: 0.1em;
}
#Business main#Insurance .sec3 .list .border_wrap p {
  font-size: 17px;
  margin-top: 23px;
}
#Business main#Insurance .sec3 .list .border_wrap ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-top: 25px;
}
#Business main#Insurance .sec3 .list .border_wrap ul li {
  display: grid;
  place-items: center;
  height: 44px;
  border-radius: 22px;
  background-color: #d5e6f0;
}
#Business main#Insurance .sec3 .list .border_wrap.gr::before {
  top: 44px;
  width: 96px;
  height: 74px;
  background-image: url(/images/business/insurance/icon02.svg);
}
#Business main#Insurance .sec3 .list .border_wrap.gr h2 {
  color: #2ebca6;
}
#Business main#Insurance .sec3 .list .border_wrap.gr ul li {
  background-color: #eaf8f6;
}
#Business main#Insurance .sec4 {
  margin-top: 55px;
}
#Business main#Insurance .sec4 h2 {
  font-size: 20px;
  padding-top: 78px;
  line-height: 1.4;
  text-align: center;
  position: relative;
  color: #2d82b4;
}
#Business main#Insurance .sec4 h2 span {
  color: #2ebca6;
}
#Business main#Insurance .sec4 h2::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 72px;
  height: 63px;
  background: url(/images/business/insurance/icon03.svg) no-repeat 0/contain;
  left: 0;
  right: 0;
  top: 0;
}
#Business main#Insurance .sec4 .img_wrap {
  margin-top: 25px;
}
#Business main#Insurance .sec5 {
  margin-top: 50px;
}
#Business main#Insurance .sec5 h2 {
  text-align: center;
  font-size: 20px;
  line-height: 1.4;
  margin: auto;
  position: relative;
  padding-right: 50px;
}
#Business main#Insurance .sec5 h2::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 42px;
  height: 65px;
  background: url(/images/business/insurance/icon04.svg) no-repeat 0/contain;
  bottom: 0;
  right: 0;
}
#Business main#Insurance .sec5 ul {
  margin-top: 15px;
}
#Business main#Insurance .sec5 ul li {
  font-weight: 700;
  padding-left: 27px;
  position: relative;
  line-height: 1.3;
}
#Business main#Insurance .sec5 ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
#Business main#Insurance .sec5 ul li::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  left: 0;
  top: 2px;
  width: 19px;
  height: 19px;
  background: url(/images/business/insurance/icon_check.svg) no-repeat 0/contain;
}
#Business main#Insurance .sec6 {
  margin-top: 25px;
}
#Business main#Insurance .sec6 h3 {
  color: #2ebca6;
  font-weight: 700;
  line-height: 1.6;
}
#Business main#Insurance .sec6 .row {
  margin-top: 45px;
  margin-bottom: -15px;
}
#Business main#Insurance .sec6 .row ul li {
  margin-bottom: 15px;
}

/*20230213追加*/
#Business main#Insurance .sec7 {
    margin-top: 65px;
}

#Business main#Insurance .sec7 a {
   font-size: 17px;
    width: 310px;
    padding: 25px 0;
    text-align: center;
    display: inline-block;
    border: 1px solid #ccc;
    margin-right: 18px;
}
#Business main#Insurance .sec7 a:last-child {
    margin-right: 0;
}
#Business main#Insurance .sec7 a span {
    color: #2ebca6;
}


/*==================================
  Company
==================================*/
#Company main#Top .ttl_sec {
  background-image: url(/images/company/top/sp/main.jpg);
}
#Company main#Top .ttl_sec h1 img {
  width: 120px;
}
#Company main#Top h2 {
  text-align: center;
}
#Company main#Top h2 .en {
  font-size: 36px;
  display: block;
  line-height: 1;
  margin: auto;
}
#Company main#Top h2 .jp {
  display: block;
  margin-top: 10px;
}
#Company main#Top .greet_sec {
  margin-top: 50px;
}
#Company main#Top .greet_sec .row {
  margin-top: 25px;
  display: flex;
  flex-direction: column-reverse;
}
#Company main#Top .greet_sec .row .text_wrap {
  margin-top: 20px;
}
#Company main#Top .greet_sec .row .text_wrap h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  color: #2d82b4;
}
#Company main#Top .greet_sec .row .text_wrap p {
  margin-top: 15px;
}
#Company main#Top .about_sec {
  margin-top: 50px;
}
#Company main#Top .about_sec .row {
  display: block;
}
#Company main#Top .about_sec .row .left_wrap h3 {
  margin-top: 25px;
  text-align: center;
}
#Company main#Top .about_sec .row .left_wrap h3 .jp {
  font-size: 25px;
  display: block;
  line-height: 1;
  margin: 0 auto 6px;
}
#Company main#Top .about_sec .row .left_wrap h3 .en {
  font-size: 14px;
}
#Company main#Top .about_sec .row .left_wrap .list {
  margin-top: 15px;
}
#Company main#Top .about_sec .row .left_wrap .list dl + dl {
  margin-top: 15px;
}
#Company main#Top .about_sec .row .left_wrap .list dl dt {
  font-weight: 700;
  color: #2d82b4;
  line-height: 1.5;
}
#Company main#Top .about_sec .row .left_wrap .list dl dd {
  line-height: 1.5;
}
#Company main#Top .about_sec .row .left_wrap figure {
  margin-top: 15px;
  width: 100px;
}
#Company main#Top .about_sec .row .right_wrap {
  margin-top: 40px;
}
#Company main#Top .about_sec .row .right_wrap .list {
  margin-top: 25px;
}
#Company main#Top .about_sec .row .right_wrap .list .wrap + .wrap {
  margin-top: 20px;
}
#Company main#Top .about_sec .row .right_wrap .list .wrap h3 {
  font-weight: 700;
  padding-left: 15px;
  box-sizing: border-box;
  line-height: 35px;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
  color: #fff;
  border-radius: 18px;
}
#Company main#Top .about_sec .row .right_wrap .list .wrap .list_row {
  margin-top: 10px;
}
#Company main#Top .about_sec .row .right_wrap .list .wrap .list_row ul li {
  padding-left: 15px;
  line-height: 1.2;
  margin-bottom: 10px;
  position: relative;
}
#Company main#Top .about_sec .row .right_wrap .list .wrap .list_row ul li::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background-color: #2d82b4;
  left: 0;
  top: 5px;
}
#Company main#Top .access_sec {
  padding: 55px 0 60px;
  background-color: #eaf8f6;
  margin-top: 45px;
}
#Company main#Top .access_sec h2 {
  text-align: center;
}
#Company main#Top .access_sec h2 .en {
  border-color: #eaf8f6;
  margin: auto;
}
#Company main#Top .access_sec .map_wrap {
  margin-top: 25px;
}
#Company main#Top .access_sec .map_wrap iframe {
  width: 100%;
  height: 325px;
}
#Company main#Group {
  margin-bottom: 55px;
}
#Company main#Group .ttl_sec {
  background-image: url(/images/company/group/main.jpg);
}
#Company main#Group .ttl_sec h1 img {
  width: 169px;
}
#Company main#Group .link_sec {
  margin-top: 55px;
}
#Company main#Group .link_sec ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
#Company main#Group .link_sec ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  box-sizing: border-box;
  border: 1px solid #2ebca6;
  color: #2ebca6;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  border-radius: 30px;
}
#Company main#Group .link_sec ul li a::after {
  content: "";
  display: inline-block;
  width: 23px;
  height: 12px;
  background: url(/images/common/arrow2.svg) no-repeat 0/contain;
  margin-top: 7px;
}
#Company main#Group .content_sec {
  margin-top: 15px;
}
/*20230421追記*/
#Company main#Group .content_sec .wrap {
  padding: 35px 0;
  position: relative;
}
#Company main#Group .content_sec .wrap:nth-of-type(2n) {
  background-color: #f5f5f5;
}
#Company main#Group .content_sec .inner h2 {
  font-size: 20px;
  color: #2d82b4;
  border-bottom: 1px solid #2d82b4;
  padding-bottom: 13px;
  letter-spacing: 0.1em;
}
#Company main#Group .content_sec .inner .map_wrap {
  height: 268px;
  margin-top: 25px;
}
#Company main#Group .content_sec .inner .map_wrap iframe {
  width: 100%;
  height: 100%;
}
#Company main#Group .content_sec .inner table {
  margin-top: 20px;
}
#Company main#Group .content_sec .inner table tr {
  display: block;
}
#Company main#Group .content_sec .inner table tr:not(:last-of-type) {
  margin-bottom: 5px;
}
#Company main#Group .content_sec .inner table tr th, #Company main#Group .content_sec .inner table tr td {
  display: block;
  width: 100%;
}
#Company main#Group .content_sec .inner table tr th {
  font-weight: 500;
  color: #2ebca6;
  text-align: left;
}

/*20230213追記*/
.history_sec {
  margin-top: 65px;
}
.history_sec .container .history_wrap .content_wrap .row table {
  margin-top: 65px;
}
.history_sec .container .history_wrap .content_wrap .row table tr:not(:last-of-type) {
  margin-bottom: 30px;
}
.history_sec .history_wrap .content_wrap .row table tr th {
  font-size: 18px;
  font-weight: 500;
  color: #2ebca6;
  width: 100px;
  text-align: left;
  border-bottom: 1px solid rgba(154, 154, 154, 0.8);
  width: 100px;
}
.history_sec .container .history_wrap .content_wrap .row table tr td {
  font-size: 18px;
  width: calc(100% - 100px);
  line-height: 1.68;
  border-bottom: 1px solid rgba(154, 154, 154, 0.8);
   padding: 10px;
}

/*20230823追記*/
.signature {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.signature img {
    width: 150px;
}


/*==================================
  Solution
==================================*/
#Solution main {
  margin-bottom: 55px;
}
#Solution main h2 {
  font-size: 41px;
  font-weight: 900;
  text-align: center;
  line-height: 1.15;
  margin: auto;
  background-image: linear-gradient(180deg, #2d82b4 0%, #2cbba5 100%);
}
#Solution main .ttl_sec {
  background-image: url(/images/solution/sp/main.jpg);
}
#Solution main .ttl_sec h1 img {
  width: 95%;
}
#Solution main .sustaina_sec {
  margin-top: 45px;
}
#Solution main .sustaina_sec h2 {
  margin: auto;
}
#Solution main .sustaina_sec .row {
  margin-top: 25px;
}
#Solution main .sustaina_sec .row .col {
  display: flex;
}
#Solution main .sustaina_sec .row .col:not(:last-of-type) {
  margin-bottom: 30px;
}
#Solution main .sustaina_sec .row .col figure {
  width: 143px;
}
#Solution main .sustaina_sec .row .col dl {
  margin-left: 15px;
  width: calc(100% - 158px);
}
#Solution main .sustaina_sec .row .col dl dt {
  font-weight: 700;
  line-height: 1;
}
#Solution main .sustaina_sec .row .col dl dt .jp {
  color: #2d82b4;
  font-size: 20px;
}
#Solution main .sustaina_sec .row .col dl dt .en {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  color: #2ebca6;
}
#Solution main .sustaina_sec .row .col p {
  margin-top: 10px;
  font-size: 12px;
}
#Solution main .img_wrap {
  margin-top: 25px;
  padding-top: 12px;
  padding-right: 12px;
  padding-left: 0;
}
#Solution main .img_wrap::before {
  left: auto;
  right: 0;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  transform: translate(-12px, 12px);
}
#Solution main .img_wrap.move::before {
  transform: translate(0);
}
#Solution main .img_wrap picture {
  display: block;
}
#Solution main .img_wrap p {
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(100% - 12px);
  padding: 12px;
  box-sizing: border-box;
  line-height: 1.6;
  background-color: rgba(61, 64, 99, 0.6);
  color: #fff;
  font-size: 14px;
  z-index: 1;
}
#Solution main .img_wrap p strong {
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
}
#Solution main .mobility_sec {
  margin-top: 50px;
}
#Solution main .living_sec {
  margin-top: 50px;
}
#Solution main .living_sec .fig_wrap {
  margin-top: 50px;
}
#Solution main .living_sec .fig_wrap h3 {
  font-size: 25px;
  margin: auto;
  padding-bottom: 20px;
  position: relative;
}
#Solution main .living_sec .fig_wrap h3::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 100px;
  height: 2px;
  border-radius: 1px;
  background-color: #2ebca6;
  left: 0;
  right: 0;
  bottom: 0;
}
#Solution main .living_sec .fig_wrap p {
  margin-top: 25px;
  text-align: center;
  font-size: 14px;
  color: #545666;
  line-height: 1;
}
#Solution main .living_sec .fig_wrap figure {
  margin-top: 15px;
}

/*==================================
  Environment
==================================*/
#Environment main h2 {
  font-size: 22px;
  margin: auto;
  padding-bottom: 20px;
  position: relative;
}
#Environment main h2::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 100px;
  height: 2px;
  border-radius: 1px;
  background-color: #2ebca6;
  left: 0;
  right: 0;
  bottom: 0;
}
#Environment main .ttl_sec {
  background-image: url(/images/environment/sp/main.jpg);
}
#Environment main .ttl_sec h1 img {
  width: 227px;
}
#Environment main .area1 {
  padding: 45px 0 50px;
}
#Environment main .area2 {
  padding: 50px 0 47px;
  background-color: #eaf8f6;
}
#Environment main .area2 h2 {
  border-color: #eaf8f6;
}
#Environment main .area2 p {
  margin-top: 15px;
}
#Environment main .area2 p strong {
  color: #2d82b4;
  font-weight: 900;
}
#Environment main .area3 {
  padding: 50px 0 55px;
}
#Environment main .area3 h2 small {
  font-size: 16px;
}
#Environment main .area3 h2 + p {
  margin-top: 20px;
}
#Environment main .area3 picture {
  display: block;
  margin-top: 25px;
}
#Environment main .area3 picture + p {
  margin-top: 15px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  color: #2ebca6;
}
#Environment main .area3 .wrap + .wrap {
  margin-top: 45px;
}
#Environment main .area3 .wrap + .wrap picture {
  margin-top: 38px;
}

/*==================================
  Case
==================================*/
#Case main {
  margin-bottom: 50px;
}
#Case main .ttl_sec {
  background-image: url(/images/case/sp/main.jpg);
}
#Case main .ttl_sec h1 img {
  width: 117px;
  margin-top: 13px;
}
#Case main .lead_sec {
  margin-top: 55px;
  position: relative;
}
#Case main .lead_sec ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -7px -15px;
}
#Case main .lead_sec ul li {
  width: 50%;
  padding: 0 7px 15px;
  box-sizing: border-box;
}
#Case main .lead_sec ul li a {
  display: grid;
  place-items: center;
  width: 100%;
  height: 45px;
  border-radius: 23px;
  overflow: hidden;
  font-weight: 900;
  color: #2ebca6;
  position: relative;
  letter-spacing: 0.2em;
  border: 1px solid #2ebca6;
  z-index: 1;
}
#Case main .lead_sec ul li a.here {
  color: #fff;
  border: none;
  background: linear-gradient(90deg, #2d82b4 0%, #2cbba5 100%);
}
#Case main .lead_sec p {
  margin-top: 20px;
  color: #545666;
}
#Case main .list_sec {
  margin-top: 45px;
}
#Case main .list_sec .row {
  display: block;
}
#Case main .list_sec .row .col:not(:last-of-type) {
  margin-bottom: 45px;
}
#Case main .list_sec .row .col a {
  position: relative;
  display: block;
}
#Case main .list_sec .row .col a .tag {
  font-size: 14px;
  color: #fff;
  letter-spacing: 0.05em;
  display: grid;
  place-items: center;
  width: 145px;
  height: 26px;
  border-radius: 13px;
  background: #2d82b4;
  border: 1px solid #fff;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: -13px;
  z-index: 1;
}
#Case main .list_sec .row .col a > dl {
  margin-top: 22px;
}
#Case main .list_sec .row .col a > dl dt {
  font-size: 20px;
  font-weight: 900;
  color: #2d82b4;
  line-height: 1.4;
  text-align: center;
}
#Case main .list_sec .row .col a > dl dd {
  line-height: 1.7;
  margin-top: 15px;
  transition: 0.2s;
}
#Case main .list_sec .row .col a .bottom_wrap {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #2d82b4;
}
#Case main .list_sec .row .col a .bottom_wrap dl {
  display: flex;
}
#Case main .list_sec .row .col a .bottom_wrap dl dt {
  font-weight: 700;
  color: #2d82b4;
  width: 65px;
}
#Case main .list_sec .row .col a .bottom_wrap dl dd {
  width: calc(100% - 65px);
}
#Case main .list_sec .row .col .modal_wrap {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: none;
  z-index: 999;
}
#Case main .list_sec .row .col .modal_wrap .filter {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: -1;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap {
  width: calc(100% - 40px);
  height: calc(100% - 150px);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  padding: 25px 12px;
  box-sizing: border-box;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .sp_scroll {
  height: 100%;
  overflow: scroll;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .top_wrap .cate {
  display: grid;
  place-items: center;
  width: 145px;
  height: 26px;
  border-radius: 13px;
  color: #fff;
  font-weight: 700;
  background-color: #2d82b4;
  font-size: 14px;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .top_wrap .info_wrap {
  margin-top: 10px;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .top_wrap .info_wrap dl {
  display: flex;
  align-items: center;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .top_wrap .info_wrap dl + dl {
  margin-top: 10px;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .top_wrap .info_wrap dl dt {
  font-weight: 700;
  color: #2d82b4;
  line-height: 1;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .top_wrap .info_wrap dl dd {
  margin-left: 20px;
  line-height: 1;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .ttl {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.4;
  color: #2d82b4;
  margin-top: 20px;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .modal_row {
  margin-top: 25px;
  display: flex;
  flex-direction: column-reverse;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .modal_row .left_wrap {
  margin-top: 15px;
}
#Case main .list_sec .row .col .modal_wrap .wh_wrap .modal_row .left_wrap .btn_wrap {
  margin-top: 25px;
}
#Case main .list_sec .row .col.gr a .tag {
  background-color: #2ebca6;
}
#Case main .list_sec .row .col.gr a > dl dt {
  color: #2ebca6;
}
#Case main .list_sec .row .col.gr a .bottom_wrap {
  border-color: #2ebca6;
}
#Case main .list_sec .row .col.gr a .bottom_wrap dl dt {
  color: #2ebca6;
}
#Case main .list_sec .row .col.gr .modal_wrap .wh_wrap .top_wrap .cate {
  background-color: #2ebca6;
}
#Case main .list_sec .row .col.gr .modal_wrap .wh_wrap .top_wrap .info_wrap dl dt {
  color: #2ebca6;
}
#Case main .list_sec .row .col.gr .modal_wrap .wh_wrap .ttl {
  color: #2ebca6;
}

/*==================================
  Recruit
==================================*/
#Recruit main {
  margin-bottom: 55px;
}
#Recruit main .ttl_sec {
  background-image: url(/images/recruit/sp/main.jpg);
}
#Recruit main .ttl_sec h1 img {
  width: 120px;
}
#Recruit main .lead_sec {
  padding: 50px 0 60px;
}
#Recruit main .lead_sec ul {
  display: flex;
  flex-wrap: wrap;
  margin: 30px -7px -14px;
}
#Recruit main .lead_sec ul li {
  width: 50%;
  padding: 0 7px 14px;
  box-sizing: border-box;
}
#Recruit main .lead_sec ul li a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 45px;
  padding-left: 18px;
  box-sizing: border-box;
  border: 1px solid #2ebca6;
  color: #2ebca6;
  font-weight: 700;
  position: relative;
  border-radius: 23px;
}
#Recruit main .lead_sec ul li a::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 23px;
  height: 12px;
  background-image: url(/images/common/arrow2.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  right: 11px;
  top: 0;
  bottom: 0;
}
#Recruit main h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 91px;
  box-sizing: border-box;
  position: relative;
  font-weight: 700;
  letter-spacing: 0.2em;
  background-color: #eaf8f6;
}
#Recruit main h2::before {
  content: "";
  display: inline-block;
  width: 140px;
  height: 2px;
  border-radius: 1px;
  background-color: #2d82b4;
}
#Recruit main h2 .jp {
  font-size: 20px;
  color: #2d82b4;
  margin: 10px 0 10px;
}
#Recruit main h2 .en {
  font-size: 13px;
  color: #545666;
}
#Recruit main .text_wrap {
  margin-top: 35px;
}
#Recruit main .text_wrap h3 {
  font-size: 20px;
  font-weight: 500;
  color: #2d82b4;
  text-align: center;
  line-height: 1.6;
}
#Recruit main .text_wrap h3 strong {
  font-weight: 900;
}
#Recruit main .text_wrap p {
  margin-top: 10px;
}
#Recruit main .bn_wrap {
  margin: 30px auto 0;
}
#Recruit main .new_sec .bn_wrap {
  width: 262px;
}
#Recruit main .part_sec .bn_wrap {
  width: 292px;
}
#Recruit main .list section {
  position: relative;
}
#Recruit main .list section + section {
  margin-top: 55px;
}

/*==================================
  Contact_reset
==================================*/
main#Contact {
  /*------ Reset CSS ------*/
  /*------ Reset END ------*/
}
main#Contact input {
  -webkit-appearance: none;
}
main#Contact input[type=text] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}
main#Contact input[type=radio] {
  opacity: 0;
  margin: 0;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 1;
}
main#Contact input[type=radio]:checked + label {
  background: #ff0000;
}
main#Contact input[type=checkbox] {
  opacity: 0;
  margin: 0;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 1;
}
main#Contact input[type=checkbox]:checked + label {
  background: #ff0000;
}
main#Contact input::placeholder {
  color: #b7b7b7;
}
main#Contact input:-ms-input-placeholder {
  color: #b7b7b7;
}
main#Contact input::-webkit-input-placeholder {
  color: #b7b7b7;
}
main#Contact button,
main#Contact input[type=button],
main#Contact input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}
main#Contact textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  border-radius: 0;
}
main#Contact select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  border-radius: 0;
}

/*==================================
  Contact_base
==================================*/
/* radio_button
--------------------------------*/
main#Contact {
  /*------ Form Base ------*/
  /*------ Form Base END ------*/
}
main#Contact span.error {
  color: #cc0303;
  display: block;
  margin: 7px 0 0;
}
main#Contact input:-webkit-autofill {
  animation-name: onAutoFillStart;
  background: rgb(255, 255, 255) !important;
  transition: background-color 50000s ease-in-out 0s;
}
main#Contact input[type=text]:focus,
main#Contact input[type=email]:focus,
main#Contact input[type=tel]:focus,
main#Contact input[type=search]:focus,
main#Contact input[type=url]:focus,
main#Contact textarea:focus {
  color: #000;
}
main#Contact .ERR {
  color: #cc0303;
}
main#Contact input[type=text] {
  font-size: 16px;
  line-height: 1.625;
  letter-spacing: 0.03em;
  padding: 14px 21px;
  box-sizing: border-box;
  border-radius: 27px;
  width: 100%;
  border: 2px solid #bbbbc2;
}
@media (max-width: 899px) {
  main#Contact input[type=text] {
    border-width: 1px;
    padding: 11px 15px;
  }
}
main#Contact .select-box {
  overflow: hidden;
  text-align: center;
  position: relative;
  border-radius: 2px;
  border: 2px solid #bbbbc2;
  border-radius: 27px;
}
@media (max-width: 899px) {
  main#Contact .select-box {
    border-width: 1px;
  }
}
main#Contact .select-box select {
  font-size: 16px;
  letter-spacing: 0.035em;
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 12px 38px 12px 21px;
}
@media (max-width: 899px) {
  main#Contact .select-box select {
    padding: 11px 38px 11px 15px;
  }
}
main#Contact .select-box select::-ms-expand {
  display: none;
}
main#Contact .select-box::before {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  width: 28px;
  height: 14px;
  background: url(/images/common/arrow2.svg) no-repeat 0/contain;
  right: 17px;
  top: 0;
  bottom: 0;
}
@media (max-width: 899px) {
  main#Contact .select-box::before {
    width: 23px;
    height: 12px;
    right: 10px;
  }
}
main#Contact textarea {
  font-size: 16px;
  line-height: 1.625;
  letter-spacing: 0.03em;
  box-sizing: border-box;
  width: 100%;
  padding: 14px 21px;
  border-radius: 27px;
  min-height: 310px;
  border: 2px solid #bbbbc2;
}
@media (max-width: 899px) {
  main#Contact textarea {
    border-width: 1px;
    padding: 11px 15px;
    min-height: 250px;
  }
}
main#Contact .submit_area {
  margin-top: 80px;
  text-align: center;
}
@media (max-width: 899px) {
  main#Contact .submit_area {
    margin-top: 25px;
  }
}
main#Contact .submit_area span::after {
  position: absolute;
  left: calc(50% + 50px);
  bottom: 0;
  margin: auto;
}
@media (max-width: 899px) {
  main#Contact .submit_area span::after {
    left: calc(50% + 42px);
    top: 2px;
  }
}
main#Contact .submit_area span input[type=submit] {
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  width: 100%;
  height: 100%;
  letter-spacing: 0.2em;
}
@media (max-width: 899px) {
  main#Contact .submit_area span input[type=submit] {
    font-size: 16px;
  }
}
main#Contact .submit_area ul.koumoku {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  margin: 20px auto 0;
}
main#Contact .submit_area ul.koumoku li::after {
  position: absolute;
  left: calc(50% + 50px);
  bottom: 0;
  margin: auto;
}
@media (max-width: 899px) {
  main#Contact .submit_area ul.koumoku li::after {
    left: calc(50% + 42px);
    top: 2px;
  }
}
main#Contact .submit_area ul.koumoku li p {
  width: 100%;
  height: 100%;
}
main#Contact .submit_area ul.koumoku li input {
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  width: 100%;
  height: 100%;
  letter-spacing: 0.2em;
}
@media (max-width: 899px) {
  main#Contact .submit_area ul.koumoku li input {
    font-size: 16px;
  }
}
main#Contact .submit_area ul.koumoku li.btn_back {
  margin-top: 25px;
}
@media (max-width: 899px) {
  main#Contact .submit_area ul.koumoku li.btn_back {
    margin-top: 15px;
  }
}
main#Contact .submit_area ul.koumoku li.btn_back::before {
  transform: scale(-1, 1);
  left: 0;
  right: auto;
}
main#Contact .submit_area ul.koumoku li.btn_back::after {
  right: calc(50% + 50px);
  left: auto;
  transform: scale(-1, 1);
}
@media (hover: hover) {
  main#Contact .submit_area ul.koumoku li.btn_back:hover::before {
    transform: scale(-1, 1) translateX(50%);
  }
  main#Contact .submit_area ul.koumoku li.btn_back:hover::after {
    transform: scale(-1, 1) translateX(5px);
  }
}
main#Contact .contact_back {
  margin-top: 50px;
  text-align: center;
}

#Competitive .screen-reader-response {
  display: none;
}
#Competitive .wpcf7-not-valid-tip {
  margin-top: 5px;
  color: #cc0303;
  display: block;
}
#Competitive .wpcf7-spinner {
  display: none;
}

/*==================================
  Contact
==================================*/
main#Contact {
  margin-bottom: 55px;
}
main#Contact .ttl_sec {
  background-image: url(/images/contact/sp/main.jpg);
}
main#Contact .ttl_sec h1 img {
  width: 172px;
}
main#Contact .lead {
  margin-top: 45px;
}
main#Contact .need {
  display: inline-block;
  font-size: 12px;
  width: 39px;
  line-height: 1;
  text-align: center;
  color: #fff;
  background-color: #ff0000;
  border-radius: 9px;
  margin-left: 10px;
  font-weight: 700;
  padding: 2px 0 4px;
}
main#Contact table {
  display: block;
  margin-top: 25px;
}
main#Contact table tbody {
  display: block;
}
main#Contact table tr {
  display: block;
  margin-bottom: 20px;
}
main#Contact table tr th {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 700;
  display: flex;
  align-items: center;
  text-align: left;
  margin-bottom: 7px;
  color: #2ebca6;
}
main#Contact table tr td {
  display: block;
}
main#Contact.sfm2 td p {
  overflow-wrap: break-word;
}

.wpcf7-response-output {
  text-align: center;
  border: none !important;
  font-size: 18px;
  color: #cc0303;
  margin: -40px 0 50px !important;
}

/*==================================
  Privacy
==================================*/
#Privacy main {
  margin-bottom: 45px;
}
#Privacy main .ttl_sec {
  background-image: url(/images/privacy/sp/main.jpg);
}
#Privacy main .ttl_sec h1 img {
  width: 233px;
}
#Privacy main p, #Privacy main li, #Privacy main a {
  color: #545666;
  word-wrap: break-word;
}
#Privacy main .lead_sec {
  margin-top: 50px;
}
#Privacy main .content_sec {
  margin-top: 50px;
}
#Privacy main .content_sec dl + dl {
  margin-top: 25px;
}
#Privacy main .content_sec dl dt {
  font-size: 19px;
  font-weight: 700;
  color: #2d82b4;
  line-height: 1.3;
}
#Privacy main .content_sec dl dd {
  margin-top: 5px;
}
#Privacy main .content_sec dl dd ol li {
  text-indent: -1em;
  margin-left: 1em;
}

/*==================================
  Solicitation
==================================*/
#Solicitation main {
  margin-bottom: 45px;
}
#Solicitation main .ttl_sec {
  background-image: url(/images/solicitation/sp/main.jpg);
}
#Solicitation main .ttl_sec h1 img {
  width: 352px;
}
#Solicitation main h2 {
  font-size: 25px;
  line-height: 1.4;
  padding-bottom: 30px;
  margin: auto;
  text-align: center;
}
#Solicitation main ul li {
  text-indent: -13px;
  margin-left: 13px;
  line-height: 1.5;
}
#Solicitation main ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
#Solicitation main ul li::before {
  content: "・";
  color: #2ebca6;
  margin-right: 3px;
}
#Solicitation main .sec1 {
  margin-top: 50px;
}
#Solicitation main .sec1 .wrap + .wrap {
  margin-top: 30px;
}
#Solicitation main .sec1 .wrap:first-of-type {
  border-top: 1px solid #2ebca6;
  padding-top: 40px;
}
#Solicitation main .sec1 .wrap h3 {
  font-size: 20px;
  padding-left: 20px;
  position: relative;
  color: #2d82b4;
  line-height: 1.5;
  margin-bottom: 15px;
}
#Solicitation main .sec1 .wrap h3::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 12px;
  height: 12px;
  background-color: #2ebca6;
  left: 0;
  top: 9px;
  transform: rotate(45deg);
}
#Solicitation main .sec2 {
  margin-top: 45px;
}
#Solicitation main .sec2 ul {
  border-top: 1px solid #2ebca6;
  border-bottom: 1px solid #2ebca6;
  padding: 30px 0;
}
#Solicitation main .sec2 p {
  margin-top: 25px;
}

/*==========================================
  Common
==========================================*/
/*==========================================
  Layout
==========================================*/