@charset "UTF-8";
/* Scss Document */
@import url(//fonts.googleapis.com/css?family=Oswald:400);

.flex_30 {
  width: 30%;
}

.flex_31 {
  width: 31%;
}

.flex_32 {
  width: 32%;
}

.flex_33 {
  width: 33%;
}

.flex_34 {
  width: 34%;
}

.flex_35 {
  width: 35%;
}

.flex_36 {
  width: 36%;
}

.flex_37 {
  width: 37%;
}

.flex_38 {
  width: 38%;
}

.flex_39 {
  width: 39%;
}

.flex_40 {
  width: 40%;
}

.flex_41 {
  width: 41%;
}

.flex_42 {
  width: 42%;
}

.flex_43 {
  width: 43%;
}

.flex_44 {
  width: 44%;
}

.flex_45 {
  width: 45%;
}

.flex_46 {
  width: 46%;
}

.flex_47 {
  width: 47%;
}

.flex_48 {
  width: 48%;
}

.flex_49 {
  width: 49%;
}

.flex_50 {
  width: 50%;
}

.flex_51 {
  width: 51%;
}

.flex_52 {
  width: 52%;
}

.flex_53 {
  width: 53%;
}

.flex_54 {
  width: 54%;
}

.flex_55 {
  width: 55%;
}

.flex_56 {
  width: 56%;
}

.flex_57 {
  width: 57%;
}

.flex_58 {
  width: 58%;
}

.flex_59 {
  width: 59%;
}

.flex_60 {
  width: 60%;
}

.flex_61 {
  width: 61%;
}

.flex_62 {
  width: 62%;
}

.flex_63 {
  width: 63%;
}

.flex_64 {
  width: 64%;
}

.flex_65 {
  width: 65%;
}

.flex_66 {
  width: 66%;
}

.flex_67 {
  width: 67%;
}

.flex_68 {
  width: 68%;
}

.flex_69 {
  width: 69%;
}

.flex_70 {
  width: 70%;
}

.padding100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.padding110 {
  padding-top: 110px;
  padding-bottom: 110px;
}

.padding120 {
  padding-top: 120px;
  padding-bottom: 120px;
}

.padding130 {
  padding-top: 130px;
  padding-bottom: 130px;
}

.padding140 {
  padding-top: 140px;
  padding-bottom: 140px;
}

.padding150 {
  padding-top: 150px;
  padding-bottom: 150px;
}

.padding160 {
  padding-top: 160px;
  padding-bottom: 160px;
}

.padding170 {
  padding-top: 170px;
  padding-bottom: 170px;
}

.padding180 {
  padding-top: 180px;
  padding-bottom: 180px;
}

.padding190 {
  padding-top: 190px;
  padding-bottom: 190px;
}

.padding200 {
  padding-top: 200px;
  padding-bottom: 200px;
}

.padding210 {
  padding-top: 210px;
  padding-bottom: 210px;
}

.padding220 {
  padding-top: 220px;
  padding-bottom: 220px;
}

.padding230 {
  padding-top: 230px;
  padding-bottom: 230px;
}

.padding240 {
  padding-top: 240px;
  padding-bottom: 240px;
}

.padding250 {
  padding-top: 250px;
  padding-bottom: 250px;
}

.padding260 {
  padding-top: 260px;
  padding-bottom: 260px;
}

.padding270 {
  padding-top: 270px;
  padding-bottom: 270px;
}

.padding280 {
  padding-top: 280px;
  padding-bottom: 280px;
}

.padding290 {
  padding-top: 290px;
  padding-bottom: 290px;
}

.padding300 {
  padding-top: 300px;
  padding-bottom: 300px;
}

.margin100 {
  margin-top: 100px;
  margin-bottom: 100px;
}

.margin110 {
  margin-top: 110px;
  margin-bottom: 110px;
}

.margin120 {
  margin-top: 120px;
  margin-bottom: 120px;
}

.margin130 {
  margin-top: 130px;
  margin-bottom: 130px;
}

.margin140 {
  margin-top: 140px;
  margin-bottom: 140px;
}

.margin150 {
  margin-top: 150px;
  margin-bottom: 150px;
}

.margin160 {
  margin-top: 160px;
  margin-bottom: 160px;
}

.margin170 {
  margin-top: 170px;
  margin-bottom: 170px;
}

.margin180 {
  margin-top: 180px;
  margin-bottom: 180px;
}

.margin190 {
  margin-top: 190px;
  margin-bottom: 190px;
}

.margin200 {
  margin-top: 200px;
  margin-bottom: 200px;
}

.margin210 {
  margin-top: 210px;
  margin-bottom: 210px;
}

.margin220 {
  margin-top: 220px;
  margin-bottom: 220px;
}

.margin230 {
  margin-top: 230px;
  margin-bottom: 230px;
}

.margin240 {
  margin-top: 240px;
  margin-bottom: 240px;
}

.margin250 {
  margin-top: 250px;
  margin-bottom: 250px;
}

.margin260 {
  margin-top: 260px;
  margin-bottom: 260px;
}

.margin270 {
  margin-top: 270px;
  margin-bottom: 270px;
}

.margin280 {
  margin-top: 280px;
  margin-bottom: 280px;
}

.margin290 {
  margin-top: 290px;
  margin-bottom: 290px;
}

.margin300 {
  margin-top: 300px;
  margin-bottom: 300px;
}

.pt-110 {
  padding-top: 110px;
}

.pt-120 {
  padding-top: 120px;
}

.pt-130 {
  padding-top: 130px;
}

.pt-140 {
  padding-top: 140px;
}

.pt-150 {
  padding-top: 150px;
}

.pt-160 {
  padding-top: 160px;
}

.pt-170 {
  padding-top: 170px;
}

.pt-180 {
  padding-top: 180px;
}

.pt-190 {
  padding-top: 190px;
}

.pt-200 {
  padding-top: 200px;
}

.pt-210 {
  padding-top: 210px;
}

.pt-220 {
  padding-top: 220px;
}

.pt-230 {
  padding-top: 230px;
}

.pt-240 {
  padding-top: 240px;
}

.pt-250 {
  padding-top: 250px;
}

.pt-260 {
  padding-top: 260px;
}

.pt-270 {
  padding-top: 270px;
}

.pt-280 {
  padding-top: 280px;
}

.pt-290 {
  padding-top: 290px;
}

.pt-300 {
  padding-top: 300px;
}

.pb-110 {
  padding-bottom: 110px;
}

.pb-120 {
  padding-bottom: 120px;
}

.pb-130 {
  padding-bottom: 130px;
}

.pb-140 {
  padding-bottom: 140px;
}

.pb-150 {
  padding-bottom: 150px;
}

.pb-160 {
  padding-bottom: 160px;
}

.pb-170 {
  padding-bottom: 170px;
}

.pb-180 {
  padding-bottom: 180px;
}

.pb-190 {
  padding-bottom: 190px;
}

.pb-200 {
  padding-bottom: 200px;
}

.pb-210 {
  padding-bottom: 210px;
}

.pb-220 {
  padding-bottom: 220px;
}

.pb-230 {
  padding-bottom: 230px;
}

.pb-240 {
  padding-bottom: 240px;
}

.pb-250 {
  padding-bottom: 250px;
}

.pb-260 {
  padding-bottom: 260px;
}

.pb-270 {
  padding-bottom: 270px;
}

.pb-280 {
  padding-bottom: 280px;
}

.pb-290 {
  padding-bottom: 290px;
}

.pb-300 {
  padding-bottom: 300px;
}

.mt-110 {
  margin-top: 110px;
}

.mt-120 {
  margin-top: 120px;
}

.mt-130 {
  margin-top: 130px;
}

.mt-140 {
  margin-top: 140px;
}

.mt-150 {
  margin-top: 150px;
}

.mt-160 {
  margin-top: 160px;
}

.mt-170 {
  margin-top: 170px;
}

.mt-180 {
  margin-top: 180px;
}

.mt-190 {
  margin-top: 190px;
}

.mt-200 {
  margin-top: 200px;
}

.mt-210 {
  margin-top: 210px;
}

.mt-220 {
  margin-top: 220px;
}

.mt-230 {
  margin-top: 230px;
}

.mt-240 {
  margin-top: 240px;
}

.mt-250 {
  margin-top: 250px;
}

.mt-260 {
  margin-top: 260px;
}

.mt-270 {
  margin-top: 270px;
}

.mt-280 {
  margin-top: 280px;
}

.mt-290 {
  margin-top: 290px;
}

.mt-300 {
  margin-top: 300px;
}

.mb-110 {
  margin-bottom: 110px;
}

.mb-120 {
  margin-bottom: 120px;
}

.mb-130 {
  margin-bottom: 130px;
}

.mb-140 {
  margin-bottom: 140px;
}

.mb-150 {
  margin-bottom: 150px;
}

.mb-160 {
  margin-bottom: 160px;
}

.mb-170 {
  margin-bottom: 170px;
}

.mb-180 {
  margin-bottom: 180px;
}

.mb-190 {
  margin-bottom: 190px;
}

.mb-200 {
  margin-bottom: 200px;
}

.mb-210 {
  margin-bottom: 210px;
}

.mb-220 {
  margin-bottom: 220px;
}

.mb-230 {
  margin-bottom: 230px;
}

.mb-240 {
  margin-bottom: 240px;
}

.mb-250 {
  margin-bottom: 250px;
}

.mb-260 {
  margin-bottom: 260px;
}

.mb-270 {
  margin-bottom: 270px;
}

.mb-280 {
  margin-bottom: 280px;
}

.mb-290 {
  margin-bottom: 290px;
}

.mb-300 {
  margin-bottom: 300px;
}

* {
  text-decoration: none !important;
}

body {
  min-width: 1200px;
}

html {
  scroll-behavior: smooth;
}

.page_top {
  position: fixed;
  right: 20px;
  bottom: 2%;
  display: none;
}

.view {
  width: 100%;
  height: 951px;
}

.view2 {
  background: url(../images/main_bg2.jpg) 50%/cover;
  width: 100%;
  height: 600px;
}

.main_company {
  background: url(../images/main_company.jpg) 50%/cover;
}

.main_compliance {
  background: url(../images/main_compliance.jpg) 50%/cover;
}

.main_contact {
  background: url(../images/main_campaign.jpg) 50%/cover;
}

.main_history {
  background: url(../images/main_history.jpg) 50%/cover;
}

.main_home {
  background: url(../images/main_home.jpg) 50%/cover;
}

.main_management {
  background: url(../images/main_management.jpg) 50%/cover;
}

.main_marine {
  background: url(../images/main_marine.jpg) 50%/cover;
}

.main_news {
  background: url(../images/main_news.jpg) 50%/cover;
}

.main_office {
  background: url(../images/main_office.jpg) 50%/cover;
}

.main_privacy {
  background: url(../images/main_privacy.jpg) 50%/cover;
}

.main_campaign {
  background: url(../images/main_contact.jpg) 50%/cover;
}

.main_ss {
  background: url(../images/main_ss.jpg) 50%/cover;
}

.main_service05 {
  background: url(../images/main_service05.jpg) 50%/cover;
}

.main_title {
  position: absolute;
  left: 3vw;
  top: 44%;
  letter-spacing: 0.1em;
  font-size: 48px;
  line-height: inherit;
  padding-bottom: 5px;
  border-bottom: 2px solid #001278;
}

.main_title span {
  font-size: 29px;
}

.title_mini {
  position: absolute;
  left: 3vw;
  top: 40%;
  letter-spacing: 0.1em;
  font-size: 18px;
  font-weight: bold;
  line-height: inherit;
}

.main_title_eng {
  position: absolute;
  bottom: -42px;
  left: 2vw;
  line-height: 1em;
  letter-spacing: -0.03em;
  z-index: 1;
}

.main_list {
  position: absolute;
  bottom: 17%;
  right: 3%;
  display: flex;
  align-items: center;
  gap: 25px;
}

.main_list p {
  font-size: 14px;
}

.main_list i {
  background: #001278;
  width: 20px;
  height: 1px;
}

.main_list .c-001278 {
  font-weight: bold;
}

.main_list .c-001278 span {
  padding-left: 15px;
}

.main_deco01 {
  position: absolute;
  top: 0;
  left: 25%;
}

.main_deco02 {
  position: absolute;
  bottom: 0;
  right: 0;
}

.catch {
  position: absolute;
  top: 51%;
  left: 11%;
  transform: translateY(-50%);
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.catch h2 {
  line-height: 2.3em;
  letter-spacing: 0.13em;
}

.catch .right {
  -webkit-writing-mode: vertical-rl;
}

.catch .right h2 {
  position: relative;
  font-size: 60px;
  color: #fff;
  font-weight: bold;
  line-height: 1.8em;
  display: table;
}

.catch .right h2:nth-child(1) {
  position: relative;
  top: -50px;
}

.catch .left {
  -webkit-writing-mode: vertical-rl;
}

.catch .left h2 {
  font-size: 25px;
  color: #fff;
}

/*キャッチborder*/
.late1 {
  opacity: 0;
  animation: appeare 1s ease 0.3s 1 normal forwards running;
}

@keyframes appeare {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.catch_move01 {
  opacity: 0;
  transform: translateY(0);
  animation: catch_move01 1.5s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 1s;
  /*--3秒後に開始--*/
}

@keyframes catch_move01 {
  0% {
    opacity: 0;
    transform: translateY(-25%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.catch_line01 {
  position: absolute;
  top: 10%;
  right: 7px;
  width: 1px;
  height: 80%;
  opacity: 0;
  background: #fff;
  animation: catch_line-animation01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 1.5s;
  /*--3秒後に開始--*/
}

@keyframes catch_line-animation01 {
  0% {
    height: 0;
  }

  100% {
    height: 80%;
    opacity: 1;
  }
}

.catch_move02 {
  opacity: 0;
  transform: translateY(0);
  animation: catch_move02 1.5s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 1.5s;
  /*--3秒後に開始--*/
}

@keyframes catch_move02 {
  0% {
    opacity: 0;
    transform: translateY(-25%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.catch_line02 {
  position: absolute;
  top: 0;
  right: 7px;
  width: 1px;
  height: 100%;
  opacity: 0;
  background: #fff;
  animation: catch_line-animation02 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 2s;
  /*--3秒後に開始--*/
}

@keyframes catch_line-animation02 {
  0% {
    height: 0;
  }

  100% {
    height: 100%;
    opacity: 1;
  }
}

.catch_move03 {
  opacity: 0;
  transform: translateY(0);
  animation: catch_move03 1.5s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 2s;
  /*--3秒後に開始--*/
}

@keyframes catch_move03 {
  0% {
    opacity: 0;
    transform: translateY(-25%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.catch_move04 {
  opacity: 0;
  transform: translateY(0);
  animation: catch_move04 1.5s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 3s;
  /*--3秒後に開始--*/
}

@keyframes catch_move04 {
  0% {
    opacity: 0;
    transform: translateY(-25%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.header_wrap {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 45px 160px 0 3vw;
  z-index: 1;
}

.header_wrap nav ul {
  display: flex;
  justify-content: space-between;
  gap: 3vw;
}

.header_wrap nav ul li a {
  color: #fff;
  font-size: 17px;
  letter-spacing: 0.05em;
}

.header_wrap nav ul li .contact_btn {
  font-size: 18px;
  background: #ff6702;
  padding: 8px 35px;
  border-radius: 75px;
  text-align: center;
}

.nav_pulldown {
  position: absolute;
  top: 51px;
  left: 50%;
  transform: translateX(-50%);
  width: 130px;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
  z-index: 999;
}

.nav_pulldown a {
  transition: 0.3s;
  color: #fff;
  display: block;
  padding: 15px 0;
}

.pull {
  position: relative;
  overflow: unset !important;
}

.pull::after {
  content: url(../images/menu_sankaku.png);
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 13px;
  height: 6px;
}

.pull_container ul {
  display: block !important;
}

.pull_container ul li {
  font-size: 16px;
  background: #3540a4;
  border-bottom: 2px solid #172da4;
  margin: 0 !important;
  padding: 0 !important;
  transition: 0.3s;
  text-align: center;
  border-radius: 7px 7px 0 0;
}

.pull_container ul li a {
  line-height: 1.2em;
  font-size: 16px;
}

.pull_container ul li:hover {
  background: #011aa4;
}

.pull_container ul li:nth-child(n + 2) {
  border-radius: unset;
}

.pull_container ul li:nth-child(n + 2) a {
  padding: 10px 0;
}

.pull_container ul li:last-child {
  border-radius: 0 0 7px 7px;
  border-bottom: unset !important;
}

.pull_container ul li:last-child a {
  padding: 15px 0;
}

.pull_container span {
  position: relative;
  border: 1px solid #00bd50;
  color: #008738 !important;
  font-size: 17px;
  font-family: monospace;
  font-weight: bold;
  padding: 6px 7px 6px 10px;
  border-radius: 50%;
  text-align: center;
  margin-left: 30px;
  transition: 0.3s;
}

.pull:hover .nav_pulldown {
  visibility: visible;
  opacity: 1;
}

.recruit_nav_pulldown {
  position: absolute;
  top: 51px;
  left: 50%;
  transform: translateX(-50%);
  width: 230px;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
  z-index: 999;
}

.recruit_nav_pulldown a {
  transition: 0.3s;
  color: #fff;
  display: block;
  padding: 15px 0;
}

.recruit_pull {
  position: relative;
  overflow: unset !important;
}

.recruit_pull::after {
  content: url(../images/recruitment_nav_arrow.png);
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 13px;
  height: 6px;
}

.recruit_pull_container ul {
  display: block !important;
}

.recruit_pull_container ul li {
  font-size: 16px;
  background: #0026f1;
  padding: 5px 15px !important;
  transition: 0.3s;
  border-radius: 1px;
}

.recruit_pull_container ul li a {
  line-height: 1.2em;
  font-size: 16px !important;
  color: #fff !important;
}

.recruit_pull_container ul li:hover {
  background: url(../images/recruit_pull_bg.png) 50%/cover;
}

.recruit_pull_container ul li:nth-child(n + 2) {
  margin-top: 7px;
}

.recruit_pull:hover .recruit_nav_pulldown {
  visibility: visible;
  opacity: 1;
}

.hover_34c8fc {
  transition: .3s;
}

.hover_34c8fc:hover {
  color: #34c8fc !important;
}

.sec01 {
  background: url(../images/top_gradation.jpg) left/cover;
}

.top_narasaki_vision {
  width: 100%;
  max-width: 1128px;
}

.top_service_wrap {
  padding: 220px 70px 130px;
  border-radius: 35px;
}

.top_service_wrap ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3.3vw;
  row-gap: 6vw;
}

.top_service_wrap ul li {
  position: relative;
  padding-bottom: 15px;
}

.top_service_wrap ul li a img {
  display: block;
  padding-bottom: 15px;
  transition: .3s;
}

.top_service_wrap ul li a p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px 0 2.5vw;
}

.top_service_wrap ul li a .deco_img {
  position: absolute;
  top: -2.6vw;
  left: 1.8vw;
  max-width: 6.5vw;
  padding-bottom: 0;
}

.top_service_wrap ul li a:hover img {
  opacity: 0.7;
}

.top_service_wrap ul li a:hover .btn_orange {
  background: #fff;
}

.top_service_wrap ul li a:hover .btn_orange::after {
  transform: translate(150%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.top_service_wrap ul li a:hover .btn_orange::before {
  content: url(../images/btn_arrow_orange.png);
  position: absolute;
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.top_service_wrap ul li .text_wrap {
  overflow: hidden;
  margin-top: 15px;
  padding: 15px 0 0 2.5vw;
  font-size: 14px;
  letter-spacing: 0.06em;
}

.top_service_wrap .btn_orange {
  width: 50px !important;
  height: 50px !important;
}

.top_service_title {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  line-height: 0.35em;
  letter-spacing: 0em;
}

.title_text {
  line-height: 0.4em;
  letter-spacing: normal;
}

.title_text .eng1 {
  letter-spacing: -0.05em;
}

/*横border*/
.line {
  width: 1px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  transform: scaleX(1000);
}

@keyframes line-animation {
  0% {
    transform: scaleX(0);
  }

  100% {
    transform: scaleX(1000);
  }
}

.target {
  animation: line-animation 0.7s linear infinite;
  animation-iteration-count: 1;
}

/*縦border*/
.line02 {
  position: absolute;
  top: 43%;
  left: 15px;
  background: #fff;
  width: 1px;
  height: 380px;
}

@keyframes line-animation02 {
  0% {
    height: 0px;
  }

  100% {
    height: 380px;
  }
}

.target02 {
  animation: line-animation02 0.7s linear infinite;
  animation-iteration-count: 1;
}

.sec02 {
  background: url(../images/top_company_bg.jpg) bottom/cover;
  padding: 180px 0 660px;
}

.sec02 .title_text {
  line-height: 0.3em;
}

.sec02 .title_text .eng1 {
  letter-spacing: -0.05em;
  position: relative;
  right: 25px;
}

.view_more {
  width: 300px;
  font-size: 21px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.view_more:hover .btn_blue {
  background: #34c8fc;
}

.view_more:hover .btn_blue::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.view_more:hover .btn_blue::before {
  position: absolute;
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.view_more:hover .btn_lightBlue {
  background: #fff;
}

.view_more:hover .btn_lightBlue::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.view_more:hover .btn_lightBlue::before {
  position: absolute;
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.view_more:hover .btn_orange {
  background: #0926c0;
}

.view_more:hover .btn_orange::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.view_more:hover .btn_orange::before {
  position: absolute;
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.view_more:hover .btn_orange2 {
  background: #0926c0;
}

.view_more:hover .btn_orange2::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.view_more:hover .btn_orange2::before {
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.sec03 {
  background: url(../images/top_recruit_bg.jpg) center/cover;
}

.sec03 .title_text .eng1 {
  position: relative;
  right: 12px;
}

.information_wrap li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.information_wrap li a time {
  flex: 0.07;
  font-size: 18px;
  display: block;
  color: #001278;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.information_wrap li a div {
  flex: 0.13;
}

.information_wrap li a div span {
  display: inline-block;
  color: #fff;
  line-height: 1.6em;
  padding: 0 6px;
  border-radius: 1px;
}

.information_wrap li a p {
  flex: 0.76;
  color: #001278;
}

.information_wrap li:nth-child(n + 2) {
  margin-top: 20px;
}

.information_btn {
  position: absolute;
  right: 0;
  top: 15%;
}

.information_btn .view_more {
  justify-content: right;
}

.contact_wrap {
  background: url(../images/contact_bg.png) center/cover;
  padding: 90px 25px 100px;
}

.sec_contact .title_text {
  line-height: 0.6em;
}

.contact_wrap {
  border-radius: 35px;
}

.contact_wrap .contact_btn {
  width: 100%;
  max-width: 720px;
  display: inline-block;
  text-align: center;
  background: #34c8fc;
  color: #0926c0;
  border-radius: 75px;
  padding: 10px;
  font-size: 24px;
  transition: 0.3s;
}

.contact_wrap .contact_btn:hover {
  color: #34c8fc;
  background: #0926c0;
}

.f_contact_btn {
  width: 100%;
  max-width: 250px;
  text-align: center;
  font-size: 21px;
  padding: 10px;
  background: #ff6702;
  color: #fff;
  border-radius: 75px;
  display: inline-block;
  transition: 0.3s;
}

.f_contact_btn:hover {
  background: #0926c0;
}

.footer {
  padding: 60px 0 50px;
}

.footer .footer_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer .left {
  flex: 0.45;
}

.footer .left p,
.footer .left li {
  color: #001278;
}

.footer .left .logo_box {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 25px;
}

.footer .left .address_box {
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.footer .left .address_box div:nth-child(1) {
  flex: 0.9;
}

.footer .left .address_box div:nth-child(2) {
  width: 100%;
  max-width: 250px;
}

.footer .left .address_box p {
  line-height: 2em;
}

.footer .left .address_box p:nth-child(1) {
  padding-bottom: 5px;
}

.footer .left .address_box p:nth-child(4) {
  font-size: 17px;
  letter-spacing: 0.05em;
}

.footer .left .in_voice a {
  border-bottom: 1px solid #001278;
  color: #001278;
}

.footer .left .shop_box {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.footer .left .shop_box li {
  background: #92d2ff;
  text-align: center;
  font-size: 16px;
  transition: 0.3s;
}

.footer .left .shop_box li a {
  color: #001278;
  padding: 5px 10px;
  display: block;
}

.footer .left .shop_box li:hover {
  background: #fff;
}

.footer .right {
  flex: 0.46;
  padding: 50px 5px;
  border-top: 1px solid #c6dced;
  border-bottom: 1px solid #c6dced;
}

.footer .right .top_nav {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.footer .right .top_nav ul li:nth-child(1) {
  font-size: 14px;
  font-weight: bold;
}

.footer .right .top_nav ul li:nth-child(1) a {
  color: #001278;
}

.footer .right .top_nav ul li:nth-child(n + 2) a {
  color: #5f6274;
  font-size: 13px;
}

.footer .right .top_nav ul:nth-child(1) {
  flex: 0.1;
}

.footer .right .top_nav ul:nth-child(2) li:nth-child(n + 3) {
  padding-left: 5px;
}

.footer .right .top_nav ul:nth-child(2) li:nth-child(3) {
  padding-left: 5px;
}

.footer .right .top_nav ul:nth-child(2) li:nth-child(4) {
  padding-left: 5px;
}

.footer .right .top_nav ul:nth-child(2) li:nth-child(5) {
  padding-left: 5px;
}

.footer .right .top_nav ul:nth-child(2) li:nth-child(6) {
  padding-left: 5px;
}

.footer .right .top_nav ul:nth-child(2) {
  flex: 0.2;
}

.footer .right .top_nav ul:nth-child(3) {
  flex: 0.2;
}

.footer .right .top_nav ul:nth-child(4) {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex: 0.4;
}

.footer .right .top_nav ul:nth-child(4) li:nth-child(1) {
  width: 100%;
}

.footer .right .top_nav ul:nth-child(4) li:nth-child(n + 2) {
  width: 50%;
}

.footer .right .top_nav ul:nth-child(4) li:nth-child(9) {
  padding-left: 5px;
}

.footer .right .bottom_nav {
  display: flex;
  gap: 3vw;
}

.footer .right .bottom_nav ul li a {
  color: #001278;
  font-size: 14px;
  font-weight: bold;
}

.f_logo {
  width: 100%;
  max-width: 245px;
}

.f_eneos_logo {
  width: 100%;
  max-width: 336px;
}

.copy {
  font-weight: 100;
  font-size: 13px;
}

/**/
.btn {
  width: 62px;
  height: 62px;
}

.btn_orange {
  overflow: hidden;
  position: relative;
  background: #ff6702;
  border-radius: 50%;
  transition: .3s;
}

.btn_orange::after {
  content: url(../images/btn_arrow.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
}

.btn_orange::before {
  content: url(../images/btn_arrow_orange.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-150%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
  transition: .3s;
  opacity: 0;
  z-index: 1;
}

.btn_orange:hover {
  background: #fff;
}

.btn_orange:hover::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.btn_orange:hover::before {
  content: url(../images/btn_arrow_orange.png);
  position: absolute;
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.btn_orange2 {
  overflow: hidden;
  position: relative;
  background: #ff6702;
  border-radius: 50%;
  transition: .3s;
}

.btn_orange2::after {
  content: url(../images/btn_arrow2.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
}

.btn_orange2::before {
  content: url(../images/btn_arrow_orange2.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-150%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
  transition: .3s;
  opacity: 0;
  z-index: 1;
}

.btn_orange2:hover {
  background: #0926c0;
}

.btn_orange2:hover::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.btn_orange2:hover::before {
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

@keyframes btn_hover {
  0% {
    opacity: 0;
    transform: translate(-150%, -50%);
  }

  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

@keyframes btn_return {
  0% {
    transform: translate(-550%, -50%);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%);
  }
}

.btn_blue {
  overflow: hidden;
  position: relative;
  background: #0926c0;
  border-radius: 50%;
  transition: .3s;
}

.btn_blue::after {
  content: url(../images/btn_arrow2.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
}

.btn_blue::before {
  content: url(../images/btn_arrow_blue.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-150%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
  transition: .3s;
  opacity: 0;
  z-index: 1;
}

.btn_blue:hover {
  background: #34c8fc;
}

.btn_blue:hover::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.btn_blue:hover::before {
  position: absolute;
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.btn_recruitment {
  overflow: hidden;
  position: relative;
  background: #0026f1;
  border-radius: 50%;
  transition: .3s;
  border: 1px solid #0026f1;
}

.btn_recruitment::after {
  content: url(../images/btn_arrow2.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
}

.btn_recruitment::before {
  content: url(../images/recruitment_btn_arrow.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-550%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
  transition: .3s;
  opacity: 0;
  z-index: 1;
}

.btn_recruitment:hover {
  background: #fff;
}

.btn_recruitment:hover::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.btn_recruitment:hover::before {
  position: absolute;
  transform: translate(-50%, -50%);
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.view_more:hover .btn_recruitment02 {
  background: #fff;
}

.view_more:hover .btn_recruitment02::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.view_more:hover .btn_recruitment02::before {
  position: absolute;
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.btn_recruitment02 {
  overflow: hidden;
  position: relative;
  background: #01e8ff;
  border-radius: 50%;
  transition: .3s;
}

.btn_recruitment02::after {
  content: url(../images/recruitment_btn_arrow03.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
}

.btn_recruitment02::before {
  content: url(../images/recruitment_btn_arrow02.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-550%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 10px;
  height: 18px;
  opacity: 0;
  z-index: 1;
  transition: .3s;
}

.btn_recruitment02:hover {
  background: #fff;
}

.btn_recruitment02:hover::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.btn_recruitment02:hover::before {
  position: absolute;
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

.btn_lightBlue {
  overflow: hidden;
  position: relative;
  background: #59f0ff;
  border-radius: 50%;
  transition: .3s;
}

.btn_lightBlue::after {
  content: url(../images/btn_arrow_blue.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
}

.btn_lightBlue::before {
  content: url(../images/btn_arrow_blue.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-550%, -50%);
  line-height: 0;
  letter-spacing: 0;
  width: 8px;
  height: 15px;
  transition: .3s;
  opacity: 0;
  z-index: 1;
}

.btn_lightBlue:hover {
  background: #fff;
}

.btn_lightBlue:hover::after {
  transform: translate(550%, -50%);
  animation: btn_return 0s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.6s;
  transition: .2s;
}

.btn_lightBlue:hover::before {
  position: absolute;
  transform: translate(-50%, -50%);
  animation: btn_hover 0.1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: .5s;
}

/*company*/
.company01_bg_wrap {
  display: flex;
}

.company01_bg_wrap .left_bg {
  flex: 0.7;
  background: #ecf7ff;
  height: 660px;
}

.company01_bg_wrap .right_bg {
  flex: 0.3;
  background: #f7fcff;
  height: 660px;
  padding: 150px 0;
}

.company01_bg_wrap .company01_contents {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1000px;
}

.company01_bg_wrap .flex {
  justify-content: center;
  gap: 6vw;
  align-items: center;
}

.company01_bg_wrap .left p {
  padding-left: 35px;
}

.title01 {
  display: flex;
  gap: 15px;
  align-items: center;
  letter-spacing: 0.1em;
  line-height: inherit;
}

.title01 span {
  display: block;
  border-radius: 50%;
  background: #34c8fc;
  border: 6px solid #0820a2;
  width: 20px;
  height: 20px;
}

.sec_company01 {
  height: 660px;
}

.philo_sophy {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18.25vw;
}

.sec_company02 {
  background: url(../images/company_bg.png) 50%/cover;
  height: 1160px;
}

.sec_company02 .flex {
  position: absolute;
  top: 6.5%;
  left: 50%;
  transform: translateX(-50%);
  align-items: end;
  gap: 10vw;
  justify-content: center;
  width: 94%;
}

.sec_company02 .left {
  -webkit-writing-mode: vertical-rl;
}

.sec_company02 .left p {
  position: relative;
  font-size: 25px;
  color: #fff;
  line-height: 3.2em;
  display: table;
}

.sec_company02 .left p:nth-child(1) {
  position: relative;
}

.sec_company02 .left p:nth-child(2) {
  position: relative;
}

.sec_company02 .left p:nth-child(3) {
  position: relative;
  bottom: -2px;
}

.sec_company02 .left p:nth-child(4) {
  position: relative;
  bottom: 15px;
}

.sec_company02 .left p:nth-child(4):after {
  height: 94%;
}

/*border動き*/
.company_catch_move01 {
  opacity: 0;
  transform: translateY(0);
}

@keyframes catch_move01 {
  0% {
    opacity: 0;
    transform: translateY(-25%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.company_catch_move02 {
  opacity: 0;
  transform: translateY(0);
}

@keyframes catch_move02 {
  0% {
    opacity: 0;
    transform: translateY(-25%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.company_catch_move03 {
  opacity: 0;
  transform: translateY(0);
}

@keyframes catch_move03 {
  0% {
    opacity: 0;
    transform: translateY(-25%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.company_catch_move04 {
  opacity: 0;
  transform: translateY(0);
}

@keyframes catch_move04 {
  0% {
    opacity: 0;
    transform: translateY(-25%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.company_catch_line01,
.company_catch_line02,
.company_catch_line03,
.company_catch_line04 {
  position: absolute;
  opacity: 0;
  top: 0;
  right: 7px;
  width: 1px;
  height: 100%;
  background: #fff;
}

@keyframes company_catch_line-animation01 {
  0% {
    height: 0;
  }

  100% {
    height: 100%;
    opacity: 1;
  }
}

.company_catch_on01 {
  animation: catch_move01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 1s;
  /*--3秒後に開始--*/
}

.company_catch_on02 {
  animation: catch_move01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 1.5s;
  /*--3秒後に開始--*/
}

.company_catch_on03 {
  animation: catch_move01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 2s;
  /*--3秒後に開始--*/
}

.company_catch_on04 {
  animation: catch_move01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 2.5s;
  /*--3秒後に開始--*/
}

.company_catch_on01_2 {
  animation: company_catch_line-animation01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 1.5s;
  /*--3秒後に開始--*/
}

.company_catch_on02_2 {
  animation: company_catch_line-animation01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 2s;
  /*--3秒後に開始--*/
}

.company_catch_on03_2 {
  animation: company_catch_line-animation01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 2.5s;
  /*--3秒後に開始--*/
}

.company_catch_on04_2 {
  animation: company_catch_line-animation01 1s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 3s;
  /*--3秒後に開始--*/
}

.sec_company03 .container1820 {
  padding: 0 40px;
}

.sec_company03 ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
  row-gap: 20px;
}

.sec_company03 ul li:nth-child(1) {
  background: url(../images/company04.jpg) 50%/cover;
}

.sec_company03 ul li:nth-child(2) {
  background: url(../images/company05.jpg) 50%/cover;
}

.sec_company03 ul li:nth-child(3) {
  background: url(../images/company06.jpg) 50%/cover;
}

.sec_company03 ul li:nth-child(4) {
  background: url(../images/company07.jpg) 50%/cover;
}

.sec_company03 ul li {
  overflow: hidden;
  padding-top: 16vw;
  padding-bottom: 2vw;
  transition: .3s;
}

.sec_company03 ul li h3 {
  padding: 0 50px 15px 50px;
  display: inline-block;
  font-size: 33px;
}

.sec_company03 ul li p {
  padding-left: 50px;
  padding-top: 25px;
  padding-right: 45px;
}

.sec_company03 ul li:hover {
  opacity: 0.7;
}

.sec_company03 ul .title_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 45px;
}

/*横border*/
.company_line01 {
  opacity: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}

@keyframes company_line01 {
  0% {
    width: 0;
  }

  100% {
    opacity: 1;
    width: 100%;
  }
}

.company_line_target01 {
  animation: company_line01 0.7s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.company_line02 {
  opacity: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}

.company_line_target02 {
  animation: company_line01 0.7s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.company_line03 {
  opacity: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}

.company_line_target03 {
  animation: company_line01 0.7s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.company_line04 {
  opacity: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}

.company_line_target04 {
  animation: company_line01 0.7s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

/*縦border*/
.company_line01_2 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 25px;
  background: #fff;
  width: 1px;
  height: 1000%;
}

@keyframes company_line01_2 {
  0% {
    height: 0;
  }

  100% {
    opacity: 1;
    height: 1000%;
  }
}

.company_line_target01_2 {
  animation: company_line01_2 1.5s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.company_line02_2 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 25px;
  background: #fff;
  width: 1px;
  height: 1000%;
}

.company_line_target02_2 {
  animation: company_line01_2 1.5s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.company_line03_2 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 25px;
  background: #fff;
  width: 1px;
  height: 1000%;
}

.company_line_target03_2 {
  animation: company_line01_2 1.5s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.company_line04_2 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 25px;
  background: #fff;
  width: 1px;
  height: 1000%;
}

.company_line_target04_2 {
  animation: company_line01_2 1.5s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.sec_company04 .container1820 {
  display: flex;
  justify-content: space-evenly;
  align-items: flex-start;
}

.sec_company04 .container1820 .title01 {
  flex: 0.15;
}

.company_list {
  flex: 0.8;
}

.company_list li {
  display: flex;
  border-top: 1px solid #dbdbdb;
  padding: 30px 10px;
  justify-content: space-between;
}

.company_list li p {
  color: #001278;
}

.company_list li p:nth-child(1) {
  flex: 0.17;
  font-size: 17px;
}

.company_list li p:nth-child(2) {
  flex: 0.78;
}

.company_list li a {
  border-bottom: 1px solid #001278;
}

.company_list li:nth-child(7) p:nth-child(2) {
  flex: unset;
}

.company_list li:nth-child(7) .list_box {
  flex: 0.78;
  display: flex;
  gap: 4vw;
}

.company_list li:nth-child(7) .list_box .list01 p:nth-child(n + 3) {
  padding-left: 15px;
}

.company_list li:nth-child(7) .list_box .list01 p:nth-child(6) {
  padding-left: 0;
}

.company_list li:nth-child(7) .list_box .list01 p:nth-child(n + 7) {
  padding-left: 15px;
}

.company_list li:nth-child(7) .list_box .list02 p:nth-child(n + 2) {
  padding-left: 15px;
}

.company_list li:last-child {
  border-bottom: 1px solid #dbdbdb;
}

.company_list .list01 p:nth-child(1) {
  font-size: 15px;
}

.company_list .list02 p:nth-child(1) {
  font-size: 15px;
}

.company_eneos {
  position: absolute;
  right: 15px;
  top: 15px;
}

/**/
.sec_management01 .container1820 {
  width: 98%;
  max-width: 1870px;
  margin-right: unset;
  margin-left: auto;
}

.sec_management01 .flex {
  justify-content: space-between;
  align-items: flex-start;
  width: 98%;
}

.sec_management01 .flex p {
  flex: 0.88;
}

.management_list {
  padding: 80px 70px 130px;
  border-radius: 20px;
}

.management_list ul li .right {
  flex: 0.96;
}

.management_list ul li .right h2 {
  margin-bottom: 35px;
  padding-bottom: 15px;
  border-bottom: 1px solid #92d2ff;
}

.management_list ul li:nth-child(n + 2) {
  margin-top: 65px;
}

/*ss*/
.company_title01 {
  padding-bottom: 10px;
  border-bottom: 1px solid #92d2ff;
}

.sec_ss02 {
  background: url(../images/ss_bg.jpg) 50% 103%/auto no-repeat;
}

.sec_ss02 .container1820.bg_e2f3ff {
  padding: 100px 60px 120px;
  border-radius: 20px;
}

.sec_ss02 .flex_56 .bg_d2ecff {
  padding: 20px 40px;
  border-radius: 7px;
}

.ss_bg_title {
  position: absolute;
  right: 1%;
  top: 50%;
  transform: translateY(-40%);
  width: 11.2vw;
}

.ss_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5vw;
}

.ss_list li {
  border-radius: 20px;
  padding: 2vw;
  display: grid;
}

.ss_list div {
  display: grid;
  align-items: flex-end;
}

.ss_list a {
  width: 100%;
  padding: 10px;
  text-align: center;
  color: #fff;
  background: #0820a2;
  border-radius: 75px;
  display: block;
  transition: .3s;
}

.ss_list a:hover {
  background: #0926c0;
}

.ss_list .bg_e0fef3 h3 {
  border-bottom: 1px solid #2dcdcf;
}

.ss_list .bg_e0fef3 span:after {
  content: "";
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #2dcdcf;
  border-radius: 50%;
}

.ss_list .bg_e0fef3 span::before {
  content: "";
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #2dcdcf;
  border-radius: 50%;
}

.ss_list .bg_d7fcfd h3 {
  border-bottom: 1px solid #4dbfd8;
}

.ss_list .bg_d7fcfd span:after {
  content: "";
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #4dbfd8;
  border-radius: 50%;
}

.ss_list .bg_d7fcfd span::before {
  content: "";
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #4dbfd8;
  border-radius: 50%;
}

.ss_list .bg_e2f3ff h3 {
  border-bottom: 1px solid #4dacd8;
}

.ss_list .bg_e2f3ff span:after {
  content: "";
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #4dacd8;
  border-radius: 50%;
}

.ss_list .bg_e2f3ff span::before {
  content: "";
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #4dacd8;
  border-radius: 50%;
}

/*marine*/
.sec_marine02 {
  padding: 50vw 0;
  height: 2879px;
  transition: .8s;
}

.sec_marine02 .container1820 {
  height: 1529px;
}

.sec_marine02 .container1820 .marine_box .flex_43 {
  width: 43vw;
}

.marine_box_right {
  width: 51%;
  margin-left: auto;
}

.marine_box_right h3 {
  border-bottom: 1px solid #34c8fc;
  padding-bottom: 20px;
  margin-bottom: 70px;
}

.marine_box_right p {
  padding-bottom: 400px;
}

.marine_box_right p:last-child {
  padding-bottom: 0;
}

.marine_box_left {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  transition: .4s;
  z-index: 5;
}

.hidden_img {
  z-index: -5;
}

.marine_add01 {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  transition: .8s;
  opacity: 1;
  visibility: visible;
  z-index: 4;
}

.marine_add02 {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  transition: .8s;
  opacity: 1;
  visibility: visible;
  z-index: 3;
}

.marine_add03 {
  position: sticky;
  top: 50%;
  transform: translateY(-50%);
  transition: .8s;
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.marine_add04 {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  transition: .8s;
  opacity: 1;
  visibility: visible;
  z-index: 5;
}

.marine_add01_return {
  position: absolute;
  top: 6%;
  transform: translateY(-50%);
  transition: unset;
  opacity: 1;
  visibility: visible;
  z-index: 4;
}

#point04 {
  background: #0820a2;
  width: 100%;
  height: 100%;
}

.point06 {
  position: absolute;
  top: 60%;
  opacity: 0;
}

.sec_marine03 {
  background: url(../images/marine_bg.jpg) center/cover;
}

.sec_marine03 .container1820 {
  padding: 130px 4vw;
  border-radius: 25px;
  background: #fff;
}

.sec_marine03 .bg_ededed {
  border-radius: 2px;
  padding: 25px 40px;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  gap: 3.5vw;
}

.sec_marine03 .bg_ededed li {
  font-size: 21px;
}

.sec_marine03 .bg_ededed li:nth-child(1) {
  position: relative;
  padding-right: 35px;
}

.sec_marine03 .bg_ededed li:nth-child(1):after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 2px;
  height: 45%;
  background: #001278;
}

.marine_line01,
.marine_line02,
.marine_line03,
.marine_line04 {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #34c8fc;
  opacity: 0;
  width: 100%;
  height: 1px;
}

@keyframes marine_line01 {
  0% {
    width: 0;
  }

  100% {
    opacity: 1;
    width: 100%;
  }
}

.marine_line_target01 {
  animation: marine_line01 0.7s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.marine_line01_2,
.marine_line02_2,
.marine_line03_2,
.marine_line04_2 {
  position: absolute;
  top: 57%;
  left: 2.5%;
  background: #34c8fc;
  opacity: 0;
  width: 1px;
  height: 43%;
}

@keyframes marine_line01_2 {
  0% {
    height: 0;
  }

  100% {
    opacity: 1;
    height: 43%;
  }
}

.marine_line_target01_2 {
  animation: marine_line01_2 0.7s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.marine_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.5vw 3vw;
}

.marine_list li {
  position: relative;
  padding-bottom: 25px;
}

.marine_list li h3 {
  position: relative;
  padding-bottom: 15px;
  padding-left: 50px;
}

.marine_list li .flex {
  padding-left: 50px;
  padding-top: 35px;
  justify-content: space-between;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px 20px;
}

.marine_list li .flex p {
  display: flex;
  justify-content: space-between;
  background: #e1f7ff;
  padding: 0 5px;
  border-radius: 2px;
}

.marine_list li .flex p span:nth-child(1) {
  position: relative;
  flex: 0.35;
}

.marine_list li .flex p span:nth-child(1):after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #001278;
  width: 1px;
  height: 50%;
}

.marine_list li .flex p span:nth-child(2) {
  flex: 0.55;
}

.marineList_title {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
  line-height: inherit;
}

.marineList_title {
  letter-spacing: -0.05em;
  color: transparent;
  -webkit-text-stroke: 1px #59f0ff;
  font-size: 10.2vw;
}

.marine_list_deco {
  position: absolute;
  bottom: -10%;
  right: 5%;
  max-width: 160px;
}

.company_contact {
  background: url(../images/company_contact_bg.jpg) center/cover;
  padding: 90px 0 100px;
  overflow: hidden;
}

.company_contact .c-34c8fc.midashi90 {
  line-height: 0.7em;
}

.company_contact .flex_box {
  justify-content: center !important;
  gap: 5vw;
}

.company_contact .flex_box .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 460px;
  background: #34c8fc;
  color: #0926c0;
  border-radius: 75px;
  padding: 0 15px;
  text-align: center;
  transition: .3s;
}

.company_contact .flex_box .btn:hover {
  background: #0926c0;
  color: #34c8fc;
}

.company_contact .flex_box .tel {
  border-bottom: 2px solid #34c8fc;
  border-top: 2px solid #34c8fc;
  padding: 30px 0;
}

.company_contact .bg01 {
  position: absolute;
  left: 0;
  bottom: -12vw;
}

.company_contact .bg02 {
  position: absolute;
  top: 15%;
  right: 0;
}

/**/
.sec_home01 .flex {
  justify-content: space-between;
}

.sec_home01 .flex p {
  flex: 0.95;
}

.home_product_list li {
  color: #001278;
}

.home_title {
  border-bottom: 1px solid #dbdbdb;
  padding-bottom: 10px;
}

.sec_home02 {
  background: url(../images/home_bg.png) 50% 100%/auto no-repeat;
}

.sec_home02 .container1820 {
  padding: 90px 4vw;
  border-radius: 25px;
}

.home_product_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3.5vw;
  row-gap: 6vw;
}

.home_product_wrap li .img100 p {
  position: absolute;
  bottom: 7px;
  left: 25px;
  font-size: 27px;
  z-index: 1;
}

.home_product_wrap li p {
  font-size: 16px;
}

.home_deco {
  position: absolute;
  bottom: -25px;
  left: -30px;
  max-width: 129px;
}

.home_deco02 {
  position: absolute;
  top: 30px;
  right: -50px;
  max-width: 171px;
}

.home_product_wrap02 .left p {
  position: absolute;
  top: 70px;
  right: 25px;
  font-size: 36px;
}

.homeEnergy {
  position: absolute;
  top: 5vw;
  right: 2vw;
  width: 14.25vw;
}

.campaign_banner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 25px;
  display: flex;
}

.campaign_banner .left {
  width: 58%;
  padding: 2.5vw 2.5vw 4vw 2.5vw;
  border-radius: 25px 0 0 25px;
}

.campaign_banner .left .flex {
  gap: 3vw;
  transition: .3s;
}

.campaign_banner .right {
  width: 42%;
}

.campaign_banner .right img {
  height: -webkit-fill-available;
  transition: .3s;
}

.campaign_banner:hover .left .flex {
  gap: 4vw;
}

.campaign_banner:hover .right {
  width: 42%;
}

.campaign_banner:hover .right img {
  opacity: 0.7;
}

.campaign_banner:hover .campaign_banner_title {
  opacity: 0.7;
}

.campaign_banner_title {
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-style: italic;
  font-size: 110px;
  letter-spacing: -0.05em;
  color: transparent;
  -webkit-text-stroke: 1px #59f0ff;
  line-height: normal;
  transition: .3s;
}

.home_contact .flex_box {
  gap: 2vw;
}

.home_contact .flex_box .tel {
  border-bottom: 2px solid #34c8fc;
  border-top: 2px solid #34c8fc;
  padding: 20px 0;
  width: 100%;
  max-width: 350px;
}

.home_contact .flex_box .tel span {
  display: block;
  padding-bottom: 10px;
}

.home_contact .flex_box .tel:nth-child(3) {
  border-bottom: 2px solid #59f0ff;
  border-top: 2px solid #59f0ff;
}

.campaign_banner_title {
  font-size: 80px;
}

/*his*/
.history_list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #dbdbdb;
  padding: 45px 10px;
}

.history_list li h3 {
  flex: 0.15;
  letter-spacing: 0.01em;
  line-height: inherit;
  color: transparent;
  -webkit-text-stroke: 1px #0926c0;
  font-size: 80px;
}

.history_list li p {
  flex: 0.8;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  color: #001278;
}

.history_list li p span:nth-child(1) {
  display: block;
  flex: 0.05;
}

.history_list li p span:nth-child(2) {
  flex: 0.94;
}

.history_list li div {
  flex: 0.8;
}

.history_list li:last-child {
  border-bottom: 1px solid #dbdbdb;
}

/*offices*/
.sec_offices01 {
  background: url(../images/offices_bg.jpg) top/auto no-repeat;
  overflow: hidden;
}

.map {
  display: grid;
  align-items: end;
}

.map iframe {
  width: 100%;
  height: 380px;
}

.offices_line01,
.offices_line02,
.offices_line03,
.offices_line04 {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #34c8fc;
  opacity: 0;
  width: 100%;
  height: 1px;
}

@keyframes offices_line01 {
  0% {
    width: 0;
  }

  100% {
    opacity: 1;
    width: 100%;
  }
}

.offices_line_target01 {
  animation: offices_line01 0.7s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.offices_line01_2,
.offices_line02_2,
.offices_line03_2,
.offices_line04_2 {
  position: absolute;
  opacity: 0;
  left: 15px;
  top: 0;
  background: #34c8fc;
  width: 1px;
  height: 51%;
}

@keyframes offices_line01_2 {
  0% {
    height: 0;
  }

  100% {
    opacity: 1;
    height: 51%;
  }
}

.offices_line_target01_2 {
  animation: offices_line01_2 0.7s normal forwards running;
  animation-iteration-count: 1;
  animation-delay: 0.3s;
}

.offices_map_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2vw;
}

.offices_map_wrap li {
  position: relative;
  display: grid;
}

.offices_map_wrap li h3 {
  position: relative;
  line-height: normal;
  padding-bottom: 15px;
  padding-left: 45px;
  margin-bottom: 25px;
}

.offices_map_wrap li .text_box {
  padding-left: 45px;
}

.offices_map_wrap li .text_box div {
  font-size: 17px;
}

.offices_title {
  border-bottom: 2px solid #dbdbdb;
  padding-bottom: 15px;
}

.service_stations_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3vw 4vw;
}

.service_stations_list li h4 {
  letter-spacing: 0.1em;
}

.service_stations_list li h4 .flex {
  flex: 0.9;
}

.service_stations_list li h4 img {
  display: block;
  height: 34px;
}

.service_stations_list li h4 .c-2dcdcf {
  font-size: 11px;
  margin-right: 10px;
}

.service_stations_list li .enejet_title {
  justify-content: space-between;
}

.service_stations_list li .bg_e0fef3 {
  display: flex;
  align-items: baseline;
  gap: 25px;
  padding: 10px 20px;
}

.service_stations_list li .bg_e0fef3 div:nth-child(1) {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 30px;
  padding-right: 35px;
}

.service_stations_list li .bg_e0fef3 div:nth-child(2) {
  flex: 1;
}

.service_stations_list li .bg_e0fef3 div:nth-child(1):after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.5px;
  height: 40%;
  background: #001278;
}

.service_stations_list li:nth-child(6) .bg_e0fef3 div:nth-child(1) {
  padding-right: 0;
}

.service_stations_list li:nth-child(6) .bg_e0fef3 div:nth-child(1):after {
  display: none;
}

.service_stations_list .btn_blue {
  display: block;
  width: 55px !important;
  height: 55px !important;
}

.service_stations_list .btn_wrap {
  flex: 0.5;
}

.service_stations_list .ss_time_wrap p:nth-child(2) {
  line-height: normal;
}

.service_stations_list02 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3vw 4vw;
}

.service_stations_list02 li h4 {
  letter-spacing: 0.1em;
}

.service_stations_list02 li h4 img {
  display: block;
  margin-left: auto;
}

.service_stations_list02 li h4 .c-2dcdcf {
  font-size: 11px;
  margin-right: 10px;
}

.service_stations_list02 li .bg_d7fcfd {
  display: flex;
  align-items: baseline;
  gap: 25px;
  padding: 10px 20px;
}

.service_stations_list02 li .bg_d7fcfd div:nth-child(1) {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 30px;
}

.service_stations_list02 li .bg_e2f3ff {
  display: flex;
  align-items: baseline;
  gap: 25px;
  padding: 10px 20px;
}

.service_stations_list02 li .bg_e2f3ff div:nth-child(1) {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 30px;
}

.service_stations_list02 li .bg_e2f3ff div:nth-child(2) {
  flex: 1;
}

.service_stations_list02 li .bg_e2f3ff div p span {
  font-family: "fot-cezanne-pron", sans-serif;
  font-size: 15px;
}

.service_stations_list02 .btn_blue {
  display: block;
  width: 55px !important;
  height: 55px !important;
}

.service_stations_list02 .btn_wrap {
  flex: 0.5;
}

.service_stations_list02 .ss_time_wrap p:nth-child(2) {
  line-height: normal;
}

.offices_ss_title {
  position: absolute;
  right: -2.6vw;
  top: 140px;
  width: 46vw;
}

/*service01*/
.view_service01 {
  position: relative;
  background: url(../images/service01_9.png) 100% 0/auto no-repeat;
  background-size: 100%;
  height: 72vw;
}

.view_service01 .bg_fff {
  position: absolute;
  top: 0;
  left: 0;
  width: 23.4vw;
  height: 225px;
  background: #fff;
}

.service_main_title {
  position: absolute;
  top: 20%;
  left: 2.5%;
  z-index: 1;
}

.service_main_title h2 {
  padding-bottom: 4vw;
  letter-spacing: 0.1em;
}

.service_main_title h2 span {
  border-bottom: 1px solid #001278;
  padding-bottom: 10px;
}

.service_pankuzu {
  display: flex;
  align-items: center;
  font-size: 14px;
}

.service_pankuzu a {
  font-size: 14px;
}

.service_pankuzu i {
  display: block;
  width: 20px;
  height: 1px;
  background: #001278;
  margin: 0 25px;
}

.service01_titleText_img {
  position: absolute;
  bottom: 18vw;
  left: 3vw;
  z-index: 2;
  width: 64vw;
}

.service01_round_img {
  position: absolute;
  bottom: 9vw;
  right: 6vw;
  z-index: 2;
  width: 24.75vw;
}

.main_text_wrap {
  position: absolute;
  bottom: 4%;
  left: 7vw;
  z-index: 2;
  width: 94%;
}

.main_text_wrap .font18 {
  padding-bottom: 3vw;
}

.service_bg_color {
  background: linear-gradient(180deg, transparent 0%, transparent 70%, #0820a2 0%);
  padding-bottom: 30px;
}

.service01_main_title {
  width: 100%;
  position: absolute;
  bottom: -18vw;
  padding: 120px 0;
}

.service01_sec {
  background: url(../images/service01_point8_bg.jpg) center/cover;
}

.service01_pickup {
  padding: 80px 5vw;
  border-radius: 25px;
}

.point8_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 20px;
  row-gap: 30px;
}

.service01_pickup_title {
  font-size: 38px;
}

.service01_pickup_title span {
  font-size: 60px;
  color: #59f0ff;
  -webkit-text-stroke: 2px #0820a2;
}

.service01_pickup_title span:nth-child(1) {
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
}

.service01_pickup_title span:nth-child(2) {
  font-size: 34px;
  -webkit-text-stroke: 0.1px #0820a2;
}

.service01_pickup_title span:nth-child(3) {
  font-size: 52px;
  -webkit-text-stroke: 0.1px #0820a2;
}

.point_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2vw;
  row-gap: 2vw;
}

.service01_other {
  padding: 80px 6vw;
  border-radius: 25px;
}

.service01_other .flex_box p {
  line-height: 1.9em;
  letter-spacing: normal;
}

.service01_other .flex_box .bg_59f0ff {
  padding: 3px 5px;
}

.service01_course_top {
  background: url(../images/service_course01.jpg) center/cover;
  height: 1080px;
}

.service01_course2_top {
  background: url(../images/service_course02_newbg.jpg) center/cover;
  height: 1080px;
  border-top: 6px solid #0820a2;
}

.service01_course_top .blue_bg_wrap {
  position: absolute;
  right: 0;
  bottom: 0;
}

.service01_course_top .blue_bg_wrap .blue_bg {
  opacity: 0.93;
}

.service01_course_top .blue_bg_wrap .text_box {
  position: absolute;
  top: 0;
  left: 0;
  padding: 2.5vw 3vw;
}

.service01_course_top .blue_bg_wrap .midashi52 {
  font-style: italic;
}

.service01_course_top .flex_box .left {
  flex: 0.39;
  padding-top: 20px;
}

.service01_course_top .flex_box .left p {
  font-size: 13px;
}

.service01_course_top .flex_box .right {
  flex: 0.56;
}

.service01_course_top .fukidashi {
  position: absolute;
  top: -25%;
  left: 20px;
}


.service01_course_top .fukidashi2 {
  position: absolute;
  top: -9%;
  left: 20px;
}

.service01_course_top .number {
  position: absolute;
  right: 2.5%;
  top: -100px;
  color: #fff;
  -webkit-text-stroke: 3px #59f0ff;
  font-size: 210px;
}

.service01_course_bottom {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  background: #0820a2;
}

.service01_course_bottom .midashi41 {
  font-style: italic;
}

.service01_course_bottom .left {
  width: 50%;
  background: url(../images/service_course02.jpg) center/cover;
  height: 650px;
}

.service01_course_bottom .left .fukidashi {
  position: absolute;
  top: -17%;
  left: 6%;
}

.service01_course_bottom .right {
  width: 50%;
  background: url(../images/service_course03.jpg) center/cover;
  height: 650px;
}

.service01_course_bottom .text_box {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 2vw 3vw;
  z-index: 1;
  width: 100%;
  max-width: 600px;
  height: 325px;
}

.service01_course_bottom .blue_bg {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  max-width: 600px;
  height: 325px;
  background: #0820a2;
  opacity: 0.93;
  z-index: -1;
}

.service01_course_bottom .number {
  position: absolute;
  right: 6.5%;
  top: -68px;
  color: #fff;
  -webkit-text-stroke: 3px #59f0ff;
  font-size: 160px;
}

.service03_sec {
  padding: 90px 0 260px;
}

.perfect_course {
  display: flex;
  justify-content: space-between;
  gap: 2.2vw;
}

.perfect_course li {
  position: relative;
  background: #e2f3ff;
  border-radius: 25px;
  padding: 5vw 2vw 35px 2vw;
}

.perfect_course li .car_title {
  position: absolute;
  left: 0;
  top: 3vw;
  background: #92d2ff;
  color: #0926c0;
  font-size: 25px;
  font-weight: bold;
  padding: 0 40px;
  line-height: normal;
}

.perfect_course li .car_title:after {
  content: "";
  position: absolute;
  right: -13px;
  top: 0;
  transform: rotateZ(20deg);
  background: #e2f3ff;
  width: 25px;
  height: 125%;
  display: inline-block;
}

.perfect_course li .img100 {
  display: grid;
  height: 255px;
  align-items: end;
  justify-content: center;
}

.perfect_course li .price_box_top {
  display: flex;
  align-items: end;
  justify-content: space-between;
}

.perfect_course li .price_box_top .price_left {
  position: relative;
  display: flex;
  align-items: baseline;
  line-height: inherit;
  justify-content: right;
  letter-spacing: normal;
  flex: 0.41;
  font-size: 33px;
}

.perfect_course li .price_box_top .price_left .font15 {
  position: relative;
  margin-right: 10px;
  margin-left: 3px;
  font-style: italic;
  font-family: 'fot-cezanne-pron';
}

.perfect_course li .price_box_top .price_left .font15::before {
  content: "";
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #0820a2;
  width: 100%;
  height: 2px;
  opacity: 0.7;
}

.perfect_course li .price_box_top .price_left .price {
  position: relative;
}

.perfect_course li .price_box_top .price_left .price:after {
  content: "値引き前金額";
  position: absolute;
  top: -30px;
  left: 2px;
  font-size: 15px;
  color: #0820a2;
  font-family: "fot-cezanne-pron", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.perfect_course li .price_box_top .price_left .price::before {
  content: "";
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #0820a2;
  width: 100%;
  height: 3px;
  opacity: 0.7;
}

.perfect_course li .price_box_top .price_right {
  font-size: 76px;
  line-height: 0.6em;
  letter-spacing: 0.03em;
  flex: 0.55;
}

.perfect_course li .price_box_top .price_right .bg_0820a2 {
  display: inline-block;
  padding: 2px 10px;
  line-height: normal;
  font-weight: 300;
  margin-bottom: 20px;
}

.perfect_course li .price_box_top .price_right .midashi36 {
  font-weight: 700;
  font-style: italic;
  font-family: 'fot-cezanne-pron';
}

.perfect_course li .price_box_top .price_right .tax {
  -webkit-writing-mode: vertical-rl;
  line-height: 1.5em;
  letter-spacing: normal;
  font-style: italic;
  font-family: 'fot-cezanne-pron';
  position: relative;
  top: 5px;
}

.perfect_course li .price_box_bottom {
  display: flex;
  flex-wrap: wrap;
  column-gap: 10px;
}

.perfect_course li .price_box_bottom p {
  width: 48%;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid #82bae2;
  padding: 10px 25px 10px 0;
}

.perfect_course li .price_box_bottom p span {
  font-size: 15px;
}

.perfect_course li .price_box_bottom p:last-child {
  width: 100%;
}

.perfect_course02 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.7vw;
  row-gap: 1.7vw;
}

.perfect_course02 li {
  position: relative;
  background: #e2f3ff;
  border-radius: 25px;
  padding: 5vw 1.5vw 35px 1.5vw;
}

.perfect_course02 li .car_title {
  position: absolute;
  left: 0;
  top: 3vw;
  background: #92d2ff;
  color: #0926c0;
  font-size: 25px;
  font-weight: bold;
  padding: 0 60px 0 40px;
  line-height: normal;
}

.perfect_course02 li .car_title:after {
  content: "";
  position: absolute;
  right: -13px;
  top: 0;
  transform: rotateZ(20deg);
  background: #e2f3ff;
  width: 25px;
  height: 125%;
  display: inline-block;
}

.perfect_course02 li .img100 {
  display: grid;
  height: 255px;
  align-items: end;
  justify-content: center;
}

.perfect_course02 li .price_box_top .price_left {
  position: relative;
  display: flex;
  align-items: baseline;
  line-height: inherit;
  justify-content: right;
  letter-spacing: normal;
}

.perfect_course02 li .price_box_top .price_left .font15 {
  position: relative;
  margin-right: 10px;
  margin-left: 3px;
  font-style: italic;
  font-family: 'fot-cezanne-pron';
}

.perfect_course02 li .price_box_top .price_left .font15::before {
  content: "";
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #0820a2;
  width: 100%;
  height: 2px;
  opacity: 0.7;
}

.perfect_course02 li .price_box_top .price_left .eng1 {
  position: relative;
  font-size: 28px;
  font-weight: bold;
  margin-left: 10px;
}

.perfect_course02 li .price_box_top .price_left .eng1::before {
  content: "";
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #0820a2;
  width: 100%;
  height: 2px;
  opacity: 0.7;
}

.perfect_course02 li .price_box_top .price_right {
  display: flex;
  font-size: 65px;
  align-items: center;
  line-height: normal;
  letter-spacing: 0.03em;
}

.perfect_course02 li .price_box_top .price_right .bg_0820a2 {
  display: inline-block;
  padding: 4px 10px;
  line-height: normal;
  font-weight: 300;
  font-size: 15px;
  letter-spacing: normal;
  text-align: center;
  margin-right: 12px;
}

.perfect_course02 li .price_box_top .price_right .midashi30 {
  font-weight: 700;
  font-style: italic;
  font-family: 'fot-cezanne-pron';
  position: relative;
  top: 5px;
}

.perfect_course02 li .price_box_top .price_right .tax {
  -webkit-writing-mode: vertical-rl;
  line-height: 1.5em;
  letter-spacing: normal;
  font-style: italic;
  font-family: 'fot-cezanne-pron';
  position: relative;
  top: 5px;
  font-size: 15px;
}

.perfect_course02 li .price_box_bottom p {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid #82bae2;
  padding: 10px 0;
}

.perfect_course02 li .price_box_bottom p span {
  font-size: 15px;
}

.sec_service_contact {
  background: url(../images/service_contact_bg.jpg) center/cover;
  height: 622px;
}

.sec_service_contact .container1820 {
  position: relative;
  bottom: 18%;
}

.sec_service_contact .container1820 .flex_box .flex_49 {
  width: 49.4%;
}

.sec_service_contact .container1820 .flex_box .bg_34c8fc {
  padding: 4vw 2vw;
}

.sec_service_contact .container1820 .flex_box .bg_34c8fc .contact_btn {
  display: inline-block;
  color: #0926c0;
  background: #fff;
  border-radius: 75px;
  padding: 10px;
  width: 100%;
  max-width: 470px;
  font-size: 24px;
  transition: .3s;
}

.sec_service_contact .container1820 .flex_box .bg_34c8fc .contact_btn:hover {
  color: #34c8fc;
  background: #0926c0;
}

.sec_service_contact .container1820 .flex_box .bg_e2f3ff {
  padding: 3vw 2vw;
}

.service_contact_title {
  font-size: 150px;
  color: transparent;
  -webkit-text-stroke: 1px #f3e55a;
  word-break: break-all;
}

.narasaki_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.5vw;
  row-gap: 25px;
}

.narasaki_list li {
  background: #92d2ff;
  border-radius: 75px;
  text-align: center;
  font-weight: bold;
}

.narasaki_list li a {
  font-size: 16px;
  padding: 5px 10px;
  display: block;
  color: #0926c0;
}

.narasaki_list.coating li {
  background: #34c8fc;
}

.star_deco {
  position: relative;
}

.star_deco::after {
  content: url(../images/star.png);
  position: absolute;
  top: 50%;
  right: 1vw;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  line-height: 0;
}

/**/
.view_service {
  background: url(../images/service_coating_main.jpg) right/cover;
  height: 100vh;
  width: 77%;
  margin-left: auto;
}

.service_main_title02 {
  position: absolute;
  top: 30%;
  left: 2.5%;
  z-index: 1;
}

.service_main_title02 h2 {
  padding-bottom: 4vw;
  letter-spacing: 0.1em;
}

.service_main_title02 h2 span {
  border-bottom: 1px solid #001278;
  padding-bottom: 10px;
}

.coating_main_text {
  position: absolute;
  bottom: -150px;
  left: 2.5%;
  background: #0820a2;
  padding: 25px 35px;
  width: 100%;
  max-width: 910px;
}

.coating_main_text .flex {
  align-items: center;
  gap: 25px;
}

.coating_main_text .flex img {
  width: 100%;
  max-width: 321px;
}

.coating_main_text .flex h2 {
  font-size: 41px;
  line-height: 1.2em;
}

.coating_main_text:after {
  content: "";
  position: absolute;
  left: 0;
  top: 35%;
  background: white;
  width: 100%;
  height: 2px;
}

.merit4_bg {
  background: url(../images/merit_bg.jpg) center/cover;
}

.merit4_bg_car {
  background: url(../images/merit_bg_car.png) 50% 100%/auto no-repeat;
  background-size: 45%;
}

.merit_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 19vw;
  row-gap: 13vw;
}

.merit_list li {
  border-radius: 25px;
  padding: 30px 25px 10px 25px;
}

.merit_list li .midashi29 {
  line-height: 1.3em;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 20px;
}

.merit_list li:nth-child(1) {
  background: #ffe745;
}

.merit_list li:nth-child(2) {
  background: #39b574;
}

.merit_list li:nth-child(3) {
  background: #ff8738;
}

.merit_list li:nth-child(4) {
  background: #1b8cf1;
}

.construction_works_flow {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #dbdbdb;
  padding-top: 70px;
}

.construction_works_flow .left {
  position: relative;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}

.construction_works_flow .left .round {
  position: relative;
  background: #59f0ff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  width: 240px;
  height: 240px;
  padding-top: 60px;
  z-index: 1;
}

.construction_works_flow .left:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../images/service_work_border.png);
  height: 83%;
  width: 3px;
  z-index: 0;
}

.construction_works_flow .right {
  flex: 0.96;
}

.construction_works_flow .right ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  row-gap: 5vw;
}

.construction_works_flow .right ul li:nth-child(6) {
  display: none;
}

.construction_works_flow .right ul li:nth-child(12) {
  display: none;
}

.construction_works_flow .right ul li:nth-child(18) {
  display: none;
}

.construction_works_flow .right ul li:nth-child(24) {
  display: none;
}

.construction_works_flow .right ul li:nth-child(odd) {
  width: 29.5%;
}

.construction_works_flow .right ul li:nth-child(even) {
  width: 3%;
  text-align: center;
}

.step_img01 {
  padding-bottom: 35px;
}

.step_img02 {
  padding-bottom: 25px;
}

.coating_plan {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  border: 2px solid #fff;
}

.coating_plan thead {
  font-size: 18px;
  text-align: center;
  color: #0820a2;
  border-bottom: 4px solid #fff;
  background: #92d2ff !important;
}

.coating_plan thead tr td {
  background: #92d2ff !important;
  padding: 5px 15px !important;
}

.coating_plan tr td:nth-child(n + 2) {
  text-align: center;
  padding: 20px 5px;
  border-left: 2px solid #fff;
  color: #0820a2;
}

.coating_plan tr td:nth-child(1) {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 25px 10px;
}

.coating_plan tr td:last-child {
  padding: 25px 25px;
}

.coating_plan tr:nth-child(odd) td {
  background: #f0f9ff;
}

.coating_plan tr:nth-child(even) td {
  background: #e2f3ff;
}

.service_course_sec .container1680 {
  padding: 0 2.5vw;
}

.course_tab {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 4px;
  position: relative;
  top: 3px;
  background: #fff;
}

.course_tab li {
  display: grid;
  padding: 15px 1vw;
  text-align: center;
  cursor: pointer;
  transition: .3s;
}

.course_tab li div {
  display: grid;
  align-items: center;
  height: 90px;
}

.course_tab li p {
  font-weight: bold;
}

.course_tab li:nth-child(odd) {
  background: #f0f9ff;
}

.course_tab li:nth-child(even) {
  background: #e2f3ff;
}

#tab1 {
  position: relative;
  z-index: 1;
  border-left: 3px solid #0926c0;
  border-right: 3px solid #0926c0;
  border-top: 3px solid #0926c0;
}

.course_contents {
  position: relative;
  z-index: 0;
  border-top: 3px solid #0926c0;
}

.course_contents .bg_0820a2.c-fff {
  width: fit-content;
  line-height: inherit;
  padding: 5px 10px;
}

.course_title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #82bae2;
  padding-bottom: 15px;
}

.coating_list01 {
  background: #92d2ff;
  width: 100%;
  max-width: 615px;
}

.coating_list01 li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px;
}

.coating_list01 li span:nth-child(1) {
  flex: 0.18;
}

.coating_list01 li span:nth-child(2) {
  flex: 0.82;
}

.coating_list01 li:nth-child(n + 2) {
  border-top: 1px solid #82bae2;
}

.coating_list02 {
  width: 100%;
  max-width: 615px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 7px;
}

.coating_list02 li {
  display: flex;
  justify-content: space-between;
  padding: 5px 20px 5px 10px;
}

#course01 .course_box {
  display: flex;
  justify-content: space-between;
  background: url(../images/coating_car.png) 108% 0/auto no-repeat;
}

#course02 .course_box {
  display: flex;
  justify-content: space-between;
  background: url(../images/coating_car2.png) 108% 0/auto no-repeat;
}

#course03 .course_box {
  display: flex;
  justify-content: space-between;
  background: url(../images/coating_car3.png) 108% 100%/auto no-repeat;
  background-size: 38%;
}

#course04 .course_box {
  display: flex;
  justify-content: space-between;
  background: url(../images/coating_car4.png) 108% 100%/auto no-repeat;
  background-size: 39%;
}

#course05 .course_box {
  display: flex;
  justify-content: space-between;
  background: url(../images/coating_car5.png) 108% 70px/auto no-repeat;
  background-size: 39%;
}

#course06 .course_box {
  display: flex;
  justify-content: space-between;
  background: url(../images/coating_car6.png) 108% 50px/auto no-repeat;
  background-size: 41%;
}

.coating_text_img01 {
  position: absolute;
  top: 50%;
  left: 61%;
  transform: translate(-50%, -50%);
}

.coating_text_img02 {
  position: absolute;
  top: 50%;
  left: 61%;
  transform: translate(-50%, -50%);
}

.coating_text_img03 {
  position: absolute;
  top: 65%;
  left: 65%;
  transform: translate(-50%, -50%);
}

.coating_text_img04 {
  position: absolute;
  top: 65%;
  left: 65%;
  transform: translate(-50%, -50%);
}

.coating_text_img05 {
  position: absolute;
  top: 66%;
  left: 63%;
  transform: translate(-50%, -50%);
}

.coating_text_img06 {
  position: absolute;
  top: 66%;
  left: 62%;
  transform: translate(-50%, -50%);
}

.service_size_sec {
  background: url(../images/service_size_bg.jpg) center/cover;
  padding-bottom: 190px;
}

.btn_car_size {
  display: inline-block;
  width: 100%;
  max-width: 470px;
  text-align: center;
  font-size: 24px;
  line-height: normal;
  padding: 2px;
  border-radius: 75px;
  transition: .3s;
}

.btn_car_size:hover {
  background: #0926c0;
  color: #59f0ff;
}

.course_car_wrap {
  display: none;
}

#course02,
#course03,
#course04,
#course05,
#course06 {
  display: none;
}

.switch_on {
  position: relative;
  z-index: 1;
  border-left: 3px solid #0926c0;
  border-right: 3px solid #0926c0;
  border-top: 3px solid #0926c0;
}

.switch_off {
  position: relative;
  z-index: 0 !important;
  border-left: unset !important;
  border-right: unset !important;
  border-top: unset !important;
}

.on {
  display: block !important;
}

.delete {
  display: none;
}

.add_e2f3ff {
  background: #e2f3ff;
}

.late {
  opacity: 0;
  animation: appeare 1s ease 0.3s 1 normal forwards running;
}

@keyframes appeare {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*service_03*/
.service_03_main_car {
  position: absolute;
  bottom: 4%;
  right: 1.5%;
  width: 78.3vw;
}

.service_03_catch {
  position: absolute;
  top: 17%;
  left: 53%;
  transform: translateX(-50%);
  width: 43vw;
}

.view_service_03 {
  background: url(../images/service_03_main_bg.jpg) right/cover;
  height: 50.8vw;
  width: 91%;
  margin-left: auto;
}

/**/
.car_list_wrap .car_list_box {
  border-top: 2px solid #dbdbdb;
  padding-top: 60px;
  padding-bottom: 60px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.car_list_wrap .car_list_box .left {
  width: 34%;
  padding: 2vw 2vw 5vw;
  border-radius: 3px;
}

.car_list_wrap .car_list_box .left ul li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-top: 1px solid #82bae2;
  padding: 15px 0;
}

.car_list_wrap .car_list_box .left ul li p {
  line-height: normal;
}

.car_list_wrap .car_list_box .left ul li div:nth-child(1) {
  flex: 0.22;
}

.car_list_wrap .car_list_box .left ul li div:nth-child(2) {
  flex: 0.73;
}

.car_list_wrap .car_list_box .left ul li div:nth-child(2) p:nth-child(n + 2) {
  padding-top: 10px;
}

.car_list_wrap .car_list_box .right {
  position: relative;
  width: 60%;
}

.car_list_wrap .car_list_box .right .midashi21.bg_0820a2 {
  padding: 0 7px;
  line-height: normal;
  width: fit-content;
  letter-spacing: 0.1em;
}

.car_list_wrap .car_list_box .right .car_title01 {
  position: absolute;
  top: -4vw;
  left: 0vw;
}

.car_list_wrap .car_list_box .right .car_title02 {
  position: absolute;
  top: 4vw;
  left: 4vw;
}

.car_list_wrap .car_list_box .right .car_title03 {
  position: absolute;
  top: -1vw;
  left: 2vw;
}

.car_list_wrap .car_list_box:last-child {
  border-bottom: 2px solid #dbdbdb;
}

.car_list_price span:nth-child(1) {
  font-size: 35px;
  -webkit-writing-mode: vertical-rl;
  font-style: italic;
}

.car_list_price span:nth-child(2) {
  font-size: 100px;
}

.car_list_price span:nth-child(3) {
  font-size: 45px;
  font-style: italic;
}

.car_list_price span:nth-child(4) {
  font-size: 29px;
  font-style: italic;
}

.eneos_car_title {
  position: relative;
  display: inline-block;
  font-weight: bold;
  letter-spacing: normal;
}

.eneos_car_title .c-ff6702 {
  font-size: 48px;
}

.eneos_car_title span:nth-child(2) {
  color: #0926c0;
  font-size: 41px;
}

.eneos_car_title span:nth-child(3) {
  color: #0926c0;
  font-size: 33px;
}

.eneos_car_title::after {
  content: "";
  position: absolute;
  left: -13%;
  bottom: 0;
  background-image: url(../images/service_03_title_deco02.png);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 28px;
  height: 37px;
}

.eneos_car_title::before {
  content: "";
  position: absolute;
  right: -13%;
  bottom: 0;
  background-image: url(../images/service_03_title_deco01.png);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 28px;
  height: 37px;
}

.youtube_wrap iframe {
  width: 100%;
  height: 440px;
}

.service_03_sec02 .container1820 {
  padding: 130px 4vw 100px;
}

.service_03_sec03 {
  padding: 80px 0 230px;
  background: url(../images/service_03_planBg.png) top/cover;
}

.service_03_plan_container {
  border-radius: 1px;
  padding: 110px 6vw 140px;
}

.plan_title01_wrap,
.plan_title02_wrap,
.plan_title03_wrap {
  position: relative;
  z-index: 1;
}

.plan_title01_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #59f0ff;
  width: 100%;
  height: 2px;
  z-index: -1;
}

.plan_title02_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #92d2ff;
  width: 100%;
  height: 2px;
  z-index: -1;
}

.plan_title03_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #34c8fc;
  width: 100%;
  height: 2px;
  z-index: -1;
}

.plan_title01 {
  display: table;
  padding: 3px;
  line-height: normal;
  text-align: center;
  width: 100%;
  max-width: 400px;
  border-radius: 75px;
  margin: 0 auto;
}

.plan_title02 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
  gap: 5px;
  border-top: 2px solid #0820a2;
  border-bottom: 2px solid #0820a2;
  padding: 5px 10px;
  letter-spacing: normal;
  line-height: normal;
}

.plan_title02 span {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #0820a2;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  letter-spacing: 0;
  padding-right: 2px;
}

.plan_title03 {
  display: flex;
  align-items: center;
  gap: 15px;
}

.plan_title03 span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #fff;
  background: #0820a2;
  text-align: center;
  line-height: normal;
  letter-spacing: normal;
  border-radius: 50%;
}

.plan01_box .img100 img {
  max-width: 571px;
}

.plan02_box .img100 img {
  max-width: 641px;
}

.plan03_box ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1vw;
  row-gap: 1vw;
}

.plan03_box ul li {
  padding: 1vw 1vw 1vw 1.2vw;
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  height: 190px;
}

.plan03_box ul li img {
  width: 6.5vw;
}

.plan04_box .img100 img {
  max-width: 614px;
}

.service_03_plan_container .c-0820a2.bg_ffe745 {
  border-radius: 75px;
  padding: 15px 40px;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  width: fit-content;
  margin: 0 auto;
}

.service_03_plan_container .bg_92d2ff.text_box {
  padding: 3vw 4vw;
  border-radius: 25px;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}

.service_03_plan_container .bg_92d2ff.text_box .midashi21.bg_e2f3ff {
  padding: 5px 10px;
}

.plan2_list .c-0820a2.midashi21 {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 15px 20px;
  line-height: normal;
  letter-spacing: normal;
}

.plan2_list .c-0820a2.midashi21 span {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0820a2;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  line-height: 0;
  letter-spacing: 0;
  padding-right: 2px;
}

.plan2_list .c-0820a2.midashi21:nth-child(odd) {
  background: #e0fef3;
}

.plan2_list .c-0820a2.midashi21:nth-child(even) {
  background: #e0fbfe;
}

.plan2_list .c-0820a2.midashi21:nth-child(n + 2) {
  margin-top: 1.3vw;
}

.plan_titleBorder {
  padding-bottom: 15px;
  border-bottom: 2px solid #0820a2;
}

.plan_service_list li {
  border-radius: 1px;
  padding: 20px;
}

.plan_service_list li:nth-child(n + 2) {
  margin-top: 10px;
}

.coating_shop_deco {
  position: absolute;
  top: 4%;
  right: 3%;
}

/**/
.view_service_04 {
  background: url(../images/service_04_main.jpg) right/cover;
  height: 48.15vw;
  height: 900px;
  width: 77%;
  margin-left: auto;
}

.service_04_catch {
  position: absolute;
  top: 19vw;
  right: 6vw;
  z-index: 1;
}

.service_04_catch h2 {
  color: #0820a2;
  background: #59f0ff;
  font-size: 29px;
  border-radius: 75px;
  text-align: center;
  width: fit-content;
  padding: 10px 90px;
  margin-top: 30px;
  font-weight: bold;
}

.service_04_catch p {
  padding-top: 25px;
  color: #0820a2;
  font-size: 18px;
  padding-left: 3vw;
}

.service_04_catch_img {
  width: 100%;
  max-width: 961px;
  height: auto;
}

.truck {
  position: absolute;
  bottom: -9vw;
  left: 0;
  width: 42vw;
}

.service_04_sec01 {
  background: url(../images/point5_bg.jpg) center/cover;
}

.point5_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2vw;
}

.point5_list li {
  display: grid;
  width: 31.9%;
}

.point5_list li .img100 img {
  border-radius: 7px 7px 0 0;
}

.point5_list li .bg_0820a2 {
  border-radius: 0 0 7px 7px;
  padding: 35px 30px;
  height: 250px;
}

.point5_list li .bg_0820a2 .midashi33.flex {
  gap: 30px;
}

.service_04_sec02 .flex_50 {
  display: grid;
  align-items: center;
  justify-content: center;
  padding: 3vw;
}

.service_04_sec02 .flex_50 .flex {
  gap: 4vw;
}

.campaign_btn {
  width: 100%;
  max-width: 550px;
  text-align: center;
  color: #fff;
  background: #0926c0;
  border-radius: 75px;
  padding: 10px;
}

.service_04_sec03 {
  background: url(../images/map_bg.png) top right/cover no-repeat;
  height: 895px;
}

.service_04_sec03 ul {
  display: grid;
  align-items: baseline;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.service_04_sec03 ul li {
  background: #ededed;
  border-radius: 1px;
  padding: 2vw;
}

.service_04_sec03 ul li p {
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: normal;
}

.service_04_sec03 ul li p span {
  font-size: 18px;
}

.service_04_sec03 ul li .flex {
  flex-wrap: wrap;
  gap: 0 3vw;
}

.contact_region {
  position: absolute;
  left: 2.5vw;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  max-width: 1110px;
}

.service_04_tel {
  font-size: 45px;
  border-top: 1px solid #dbdbdb;
}

.service_04_tel span {
  font-size: 29px;
}

.map_fukidashi {
  position: absolute;
  top: 10%;
  right: 26%;
}

.eneos_ssapp_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3vw;
  row-gap: 2vw;
}

.eneos_ssapp_list li {
  position: relative;
  background: #e2f3ff;
  border-radius: 25px;
  padding: 2vw;
}

.eneos_ssapp_list li .number {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 37px;
  height: 37px;
  margin: 0 auto;
  font-size: 21px;
}

.app_gentei {
  position: absolute;
  left: 0;
  top: -10px;
}

.service_05_fukidashi {
  position: absolute;
  left: 10%;
  top: -7%;
}

.service_05_fukidashi3 {
  position: absolute;
  top: -0.5vw;
  right: -1vw;
}

.eneos_icon_title {
  border-bottom: 2px solid #ededed;
}

.service_05_btn {
  display: inline-block;
  width: 100%;
  max-width: 510px;
  border-radius: 75px;
  padding: 3px;
  line-height: normal;
  letter-spacing: normal;
  transition: .3s;
}

.service_05_btn:hover {
  background: #fff;
  color: #ff6702;
}

.card_list {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  padding: 0 5vw;
}

.card_tokuten_bg {
  background: url(../images/card_tokuten_bg.png) top center/cover;
}

.card_tokuten_bg ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3vw;
}

.card_tokuten_bg ul li {
  background: #fff;
  border-radius: 25px;
  padding: 1.2vw;
}

.card_tokuten_bg ul li h3 {
  line-height: 1.5em;
  font-weight: bold;
}

.enekey_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2vw 4vw;
}

.enekey_list li p {
  padding: 0 25px;
}

.enekey_list li .bg_92d2ff {
  position: relative;
  bottom: 25px;
  padding: 5px 15px;
  border-radius: 7px;
  width: 91%;
  margin: 0 auto;
  justify-content: center;
}

.enekey_list li .bg_92d2ff span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  border-radius: 50%;
}

.sec_other_products .midashi29.bg_ff6702 {
  padding: 2px 20px;
  border-radius: 12px;
}

/*service_06*/
.service_06_tab {
  width: 94%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 65px;
}

.service_06_tab li {
  width: 100%;
  max-width: 590px;
  border-radius: 12px 12px 0 0;
  padding: 25px 15px 10px 15px;
  background: #fff;
}

.service_06_tab li h2 {
  line-height: 1.7em;
}

.service_06_tab .bg_e2f3ff {
  position: relative;
  border-bottom: 3px solid #0926c0;
}

.service_06_tab .bg_e2f3ff::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -25px;
  background-image: url(../images/service_06_tab03.png);
  background-repeat: no-repeat;
  width: 26px;
  height: 24px;
}

.service_06_tab .bg_e2f3ff::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: -25px;
  background-image: url(../images/service_06_tab04.png);
  background-repeat: no-repeat;
  width: 26px;
  height: 24px;
}

.service_06_tab .bg_fff {
  position: relative;
}

.service_06_tab .bg_fff::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -25px;
  background-image: url(../images/service_06_tab01.png);
  background-repeat: no-repeat;
  width: 26px;
  height: 24px;
}

.service_06_tab .bg_fff::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: -25px;
  background-image: url(../images/service_06_tab02.png);
  background-repeat: no-repeat;
  width: 26px;
  height: 24px;
}

.service_06_sec01 .container1200 .img100 {
  padding: 0 5vw;
}

.service_06_title {
  border-bottom: 2px solid #ededed;
}

.service_06_sec02 .container1200 {
  padding: 0 4vw;
}

.service_06_list {
  border-bottom: 1px solid #dbdbdb;
  padding-bottom: 4vw;
}

.service_06_list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.service_06_list li a time {
  flex: 0.1;
}

.service_06_list li a span {
  flex: 0.13;
  padding: 0 4px;
  border-radius: 2px;
  line-height: 1.6em;
  text-align: center;
}

.service_06_list li a p {
  flex: 0.73;
  padding-left: 40px;
}

.service_06_list li:nth-child(n + 2) {
  margin-top: 25px;
}

.service06_page {
  position: relative;
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: center;
  margin: 100px auto 0;
}

.service06_page li a {
  color: #5f6274;
}

.service_06_prev a {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  line-height: normal;
  letter-spacing: normal;
  background: url(../images/page_arrow03.png) 50%/auto no-repeat;
  background-color: unset;
  border: 1px solid #001278;
  border-radius: 50%;
  transition: .3s;
}

.service_06_next a {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  line-height: normal;
  letter-spacing: normal;
  background: url(../images/page_arrow04.png) 50%/auto no-repeat;
  background-color: unset;
  border: 1px solid #001278;
  border-radius: 50%;
  transition: .3s;
}

.service_06_prev a:hover {
  background: url(../images/page_arrow01.png) 50%/auto no-repeat;
  background-color: #001278;
  border: 1px solid #001278;
}

.service_06_next a:hover {
  background: url(../images/page_arrow02.png) 50%/auto no-repeat;
  background-color: #001278;
  border: 1px solid #001278;
}

/**/
.border_recruit span {
  border-bottom: 2px solid #0026f1 !important;
}

.view_recruitment {
  background: url(../images/recruitment_main.jpg) 50%/cover;
  height: 1450px;
}

.recruit_catch {
  position: absolute;
  top: 50%;
  left: 50px;
  transform: translateY(-50%);
}

.recruitment_main_text {
  position: absolute;
  bottom: 16%;
  left: 50px;
  width: 94%;
}

.header_wrap.recruitment nav ul li a {
  color: #0026f1;
  font-size: 18px;
  font-weight: bold;
  font-style: italic;
}

.recruitment_sec01 {
  background: url(../images/recruitment_interview_logo.png);
  background-position: 0 9%;
  background-size: 40%;
  background-repeat: no-repeat;
}

.recruitment_sec01 .container1800 {
  margin-right: auto;
  margin-left: unset;
}

.recruitment_sec01 .container1800 .text_box {
  display: table;
  padding-right: 12vw;
  padding-bottom: 130px;
  margin-left: auto;
}

.interview_number {
  position: absolute;
  bottom: 15px;
  right: 5px;
  font-size: 73px;
  color: #0026f1;
  display: flex;
  gap: 5px;
  align-items: baseline;
  line-height: normal;
}

.interview_number span:nth-child(1) {
  font-size: 21px;
}

.interview_number span:nth-child(2) {
  font-size: 52px;
}

.interview_title {
  padding: 0 10px;
  border-bottom: 1px solid #0926c0;
}

.slider li .midashi21 {
  padding: 0 10px;
}

.slider li .midashi21 span {
  text-align: right;
}

.recruitment_sec02 .flex {
  height: 54.5vw;
}

.recruitment_sec02 .flex .left {
  width: 27%;
  background: url(../images/recruitment_conversation_bg.jpg) center/cover;
}

.recruitment_sec02 .flex .right {
  width: 73%;
  padding: 0 4vw 3vw;
  display: grid;
  align-items: end;
}

.recruitment_sec02 .flex .right div {
  height: 300px;
}

.recruitment_sec02 .img_box {
  position: absolute;
  top: 0;
  right: 0;
}

.recruitment_sec02 .img_box img {
  width: 80.2vw;
}

.recruitment_sec02 .img_box h2 {
  position: absolute;
  left: -10%;
  bottom: -7%;
  font-style: italic;
}

.recruitment_sec02 .img_box h2 span {
  margin-right: 30px;
  letter-spacing: normal;
}

.recruitment_sec03 {
  background: url(../images/recruitment_bg02.jpg) center/cover;
  padding: 90px 0;
}

.recruitment_sec03 .flex_box .flex_49 {
  background: #01e8ff;
  border-radius: 1px;
  padding: 1vw 3vw 6vw;
}

.recruitment_sec03 .flex_box .flex_49 h2 {
  font-style: italic;
}

.recruitment_sec03 .flex_box .flex_49 h2 span {
  margin-right: 30px;
}

.recruitment_welfare_img {
  position: absolute;
  right: 6%;
  bottom: 8%;
  width: 19.3vw;
}

.recruitment_number_img {
  position: absolute;
  right: 8%;
  bottom: 11%;
  width: 19vw;
}

.recruitment_sec04 {
  background: url(../images/recruitment_bg.jpg) center/cover;
}

.recruitment_sec04 .view_more {
  width: auto;
  justify-content: center;
}

.recruitment_sec05 {
  overflow: hidden;
  border-left: 15px solid #0926c0;
  border-right: 15px solid #0926c0;
}

.recruitment_sec05 .entry_wrap {
  display: flex;
  height: 620px;
}

.recruitment_sec05 .entry_wrap .left {
  width: 25%;
}

.recruitment_sec05 .entry_wrap .right {
  width: 25%;
}

.recruitment_sec05 .entry_wrap .center {
  width: 50%;
  padding: 112px 4vw;
}

.recruitment_sec05 .entry_wrap .entry_btn {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 340px;
  padding: 2px 10px;
  text-align: center;
  background: #fff10d;
  border-radius: 75px;
  transition: .3s;
}

.recruitment_sec05 .entry_wrap .entry_btn:hover {
  background: #01e8ff;
}

.recruitments_btn {
  display: inline-block;
  text-align: center;
  background: #0820a2;
  color: #fff;
  width: 100%;
  max-width: 320px;
  padding: 10px;
  border-radius: 75px;
  transition: .3s;
}

.recruitments_btn:hover {
  background: #0026f1;
}

/*画像縦スクロール*/
.loop_left {
  width: auto;
  height: 100%;
  overflow: hidden;
}

.loop_left ul {
  width: 100%;
  height: auto;
}

.loop_left li {
  width: 100%;
  overflow: hidden;
  margin: 11px 0 0 0;
}

.loop_left li div {
  width: 100%;
  height: 1016px;
  position: relative;
}

.loop_left li div img {
  position: absolute;
  left: -31%;
}

@keyframes loop_left01 {
  0% {
    transform: translateY(100%);
  }

  to {
    transform: translateY(-100%);
  }
}

@keyframes loop_left02 {
  0% {
    transform: translateY(0);
  }

  to {
    transform: translateY(-200%);
  }
}

.loop_left ul:first-child {
  animation: loop_left01 120s -60s linear infinite;
}

.loop_left ul:last-child {
  animation: loop_left02 120s linear infinite;
}

.loop_right {
  width: auto;
  height: 100%;
  overflow: hidden;
}

.loop_right ul {
  width: 100%;
  height: auto;
}

.loop_right li {
  width: 100%;
  overflow: hidden;
}

.loop_right li div {
  width: 100%;
  height: 1016px;
  position: relative;
  margin: 0 0 11px 0;
}

.loop_right li div img {
  position: absolute;
  right: -31%;
}

@keyframes loop_right01 {
  0% {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(100%);
  }
}

@keyframes loop_right02 {
  0% {
    transform: translateY(-200%);
  }

  to {
    transform: translateY(0);
  }
}

.loop_right ul:first-child {
  animation: loop_right01 120s -60s linear infinite;
}

.loop_right ul:last-child {
  animation: loop_right02 120s linear infinite;
}

.recruitment_footer_btn {
  position: relative;
  display: block;
  background: #0820a2;
  width: 100%;
  max-width: 400px;
  border-radius: 75px;
  text-align: left;
  color: #fff;
  padding: 10px 35px;
  margin: 50px auto 50px;
  transition: .3s;
}

.recruitment_footer_btn::after {
  content: url(../images/btn_arrow.png);
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 0;
  width: 8px;
  height: 15px;
}

.recruitment_footer_btn:hover {
  background: #0026f1;
}

.recruit_footer {
  padding: 80px 0 60px;
}

.recruitment_copy {
  font-size: 16px;
}

.pankuzu {
  position: absolute;
  right: 35px;
  top: 24%;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-writing-mode: vertical-rl;
  gap: 15px;
}

.pankuzu p {
  font-size: 12px;
  letter-spacing: 0.1em;
}

.pankuzu a {
  font-size: 12px;
}

.pankuzu span {
  display: block;
  width: 1px;
  height: 20px;
}

.fix_entry_btn {
  position: fixed;
  bottom: 19%;
  right: -42px;
  width: 100%;
  max-width: 170px;
  text-align: center;
  background: #fff10d;
  border-radius: 75px;
  transform: rotateZ(90deg);
  padding: 5px;
  transition: .3s;
  z-index: 11;
}

.fix_entry_btn:hover {
  background: #01e8ff;
}

/**/
.view_conversation {
  background: url(../images/conversation_main.jpg) center/cover;
  height: 1100px;
}

.recruit_main_title {
  position: absolute;
  left: 2%;
  bottom: 28%;
  font-size: 83px;
  font-style: italic;
  line-height: 0.7em;
}

.recruit_main_title span {
  font-size: 39px;
  letter-spacing: normal;
  font-weight: 300;
}

.conversation_main_text {
  position: absolute;
  left: 2%;
  bottom: 6%;
}

.conversation_main_text table {
  width: 720px;
}

.conversation_main_text table tbody {
  border: 2px solid #fff;
}

.conversation_main_text table tbody td {
  font-weight: 300;
}

.conversation_main_text table thead {
  border: 2px solid #fff;
}

.conversation_main_text table tr td {
  color: #fff;
  border: 1px solid #fff;
  padding: 0 10px;
}

.conversation_main_text table tr td:nth-child(1) {
  width: 50%;
}

.conversation_main_text table tr td:nth-child(2) {
  width: 50%;
}

.conversation_sec01 {
  background: url(../images/member_bg.jpg) center/cover;
  padding: 40px 0 60px;
}

.conversation_title {
  width: 100%;
  max-width: 718px;
}

.member_wrap {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
  padding: 0 3vw;
}

.member_wrap li {
  text-align: center;
}

.member_wrap li span {
  display: block;
  width: fit-content;
  color: #0926c0;
  background: #01e8ff;
  line-height: 1.5em;
  margin: 0 auto;
  padding: 0 5px;
}

.member_wrap li .font18 {
  margin-top: 5px;
}

.member_wrap li:nth-child(odd) img {
  margin-bottom: 12px;
  width: 100%;
  height: auto;
}

.member_wrap li:nth-child(even) img {
  position: relative;
  bottom: 40px;
}

.conversation_number_box {
  border-bottom: 2px solid #01e8ff;
  display: flex;
  gap: 25px;
  padding-bottom: 30px;
}

.conversation_number_box .left {
  display: flex;
  line-height: 5em;
}

.conversation_number_box .left .slash {
  width: 2px;
  height: 93%;
  background: #01e8ff;
  transform: rotateZ(7deg);
  display: block;
  margin-left: 23px;
}

.conversation_number_box .right {
  line-height: 2.5em;
}

.conversation_number_box .right .midashi26 {
  font-size: 26px;
}

.conversation_number_box .right .midashi33 {
  font-style: italic;
}

.conversation_list li {
  display: flex;
  align-items: baseline;
  gap: 4vw;
}

.conversation_list li .right {
  padding: 35px;
  border-radius: 0 25px 25px 25px;
}

.conversation_list li .right::after {
  content: url(../images/conversation_fukidashi.jpg.png);
  position: absolute;
  left: -23px;
  top: 0;
  width: 25px;
  height: 15px;
  line-height: 0;
}

.conversation_list li:nth-child(n + 2) {
  margin-top: 35px;
}

.conversation_sec02 .flex_49 {
  width: 49.5%;
}

/*interview*/
.view_interview {
  height: 950px;
  width: 95%;
  margin-left: auto;
}

.interview01 {
  background: url(../images/interview01_1.jpg) center/cover;
}

.interview02 {
  background: url(../images/interview02_main.jpg) center/cover;
}

.interview03 {
  background: url(../images/interview03_main.jpg) center/cover;
}

.interview04 {
  background: url(../images/interview04_main.jpg) center/cover;
}

.interview_main_title {
  position: absolute;
  left: 2%;
  bottom: 26%;
}

.interview_main_title h2 {
  font-size: 83px;
  font-style: italic;
  line-height: 0.7em;
}

.interview_main_title h2 span {
  font-size: 39px;
  letter-spacing: normal;
  font-weight: 300;
  padding-left: 20px;
}

.interview_main_title ul {
  padding-top: 50px;
  padding-left: 20px;
}

.interview_main_title ul li {
  width: fit-content;
  line-height: 1.3em;
  padding: 0 12px;
  font-style: italic;
}

.interview_main_title ul li:nth-child(2) {
  padding: 5px 10px;
}

.interview_main_title ul li:nth-child(2) span {
  position: relative;
  padding-left: 10px;
  margin-left: 15px;
}

.interview_main_title ul li:nth-child(2) span:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: #fff;
  width: 1px;
  height: 80%;
}

.interview_main_title .midashi29 {
  font-style: italic;
  padding-left: 20px;
}

.narasaki_recruit01 {
  position: absolute;
  bottom: -10%;
  left: 0;
  z-index: -1;
}

.narasaki_recruit02 {
  position: absolute;
  top: 44%;
  left: 0;
  z-index: 0;
}

.narasaki_recruit03 {
  position: absolute;
  top: -6vw;
  right: -4vw;
  z-index: 0;
  max-width: 220px;
}

.interview_sec01 .midashi52 {
  font-style: italic;
}

.interview_sec01 .interview_number {
  position: absolute;
  right: 5px;
  top: 10px;
  z-index: 10;
}

/*welfare*/
.view_welfare {
  background: url(../images/welfare_main.jpg) center/cover;
  height: 830px;
}

.welfare_main_title {
  position: absolute;
  left: 2%;
  bottom: 5%;
}

.welfare_main_title h2 {
  font-size: 83px;
  font-style: italic;
  line-height: 0.7em;
}

.welfare_main_title h2 span {
  font-size: 39px;
  letter-spacing: normal;
  font-weight: 300;
  padding-left: 10px;
}

.welfare_main_title p {
  padding-top: 4vw;
  padding-left: 10px;
}

.welfare_sec01 {
  background: url(../images/welfare_bg.jpg) center/cover;
  padding: 100px 0;
}

.welfare_wrap {
  display: flex;
  justify-content: space-between;
  gap: 2vw;
}

.welfare_wrap .left {
  width: 67%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2vw;
}

.welfare_wrap .left ul li {
  padding: 1.5vw;
  background: #01e8ff;
  border-radius: 3px;
  height: 100%;
}

.welfare_wrap .left ul li h2 {
  display: flex;
  align-items: center;
  gap: 15px;
  font-style: italic;
}

.welfare_wrap .left ul li h2 span {
  font-style: normal !important;
}

.welfare_wrap .left ul li .bg_fff {
  padding: 1px 15px;
  border-radius: 75px;
  width: fit-content;
  line-height: normal;
}

.welfare_wrap .left ul li .list_left {
  flex: 0.45;
}

.welfare_wrap .left ul li .list_right {
  flex: 0.5;
}

.welfare_wrap .right {
  width: 33%;
}

.welfare_title {
  line-height: 2em;
  font-style: italic;
}

.career_path_list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 3.5vw;
}

/**/
.view_app {
  background: url(../images/app_main.png) 85% 80%/45% no-repeat;
  height: 41.2vw;
}

.application_sec01 {
  background: url(../images/application_bg01.jpg) center/cover;
}

.application_sec01 .service06_page {
  background: #fff;
  border-radius: 25px;
  width: 50%;
  padding: 5px 0;
}

.app_list {
  position: relative;
  bottom: 7vw;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 20px;
  row-gap: 60px;
  z-index: 10;
}

.app_list li {
  background: url(../images/application_bg02.jpg) center/cover;
  border-radius: 1px;
  padding: 20px;
  justify-content: space-between;
}

.app_list li h2 {
  font-style: italic;
}

.app_list li p {
  background: #fff;
  padding: 10px 10px;
  border-bottom: 1px solid #0926c0;
  justify-content: space-between;
  align-items: baseline;
}

.app_list li p span {
  line-height: 2em;
}

.app_list li p span:nth-child(1) {
  flex: 0.2;
}

.app_list li p span:nth-child(2) {
  flex: 0.75;
}

/*詳細*/
.view_app02 {
  height: 640px;
}

.interview_main_title.recruitment02 {
  bottom: 13%;
}

.interview_main_title.recruitment02 h2 {
  line-height: 0.9em;
}

.interview_main_title.recruitment02 .midashi45 {
  font-size: 45px;
}

.application_sec02 {
  background: url(../images/app_bg02.jpg) center/cover;
}

.application_sec02 h2 {
  font-style: italic;
}

.app_list02 li {
  background: #fff;
  padding: 25px 20px;
}

.app_list02 li p {
  display: grid;
  grid-template-columns: 150px 1fr;
}

.app_list02 li:nth-child(n + 2) {
  border-top: 1px solid #0926c0;
}

/*entry*/
.view_entry {
  background: #fff;
  height: 500px;
}

.entry_main_title {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 33px;
  line-height: 3.7em;
  text-align: center;
  font-style: oblique;
}

.entry_main_title span {
  font-size: 126px;
  font-style: italic;
}


.entry_main_title2 {
  font-size: 33px;
  line-height: 3.7em;
  text-align: center;
  font-style: oblique;
}

.mynavi_box {
  max-width: 480px;
  margin: 0 auto;
}

.mynavi_box a {
  width: 100%;
  height: auto;
}

.mynavi_box a img {
  width: 100%;
  height: auto;
}


.mynavi_box2 {
  max-width: 300px;
  margin-left: auto;
}

.mynavi_box2 a {
  width: 100%;
  height: auto;
}

.mynavi_box2 a img {
  width: 100%;
  height: auto;
}


.entry_flow {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 5vw;
}

.entry_flow li {
  position: relative;
  z-index: 1;
}

.entry_flow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 4px;
  background-image: url(../images/entry_flow_border.png);
  z-index: 0;
}

.form_bg {
  background: url(../images/entry_bg.jpg) center/cover;
}

.entry_title {
  width: 100%;
  max-width: 876px;
}

.form_wrap li {
  display: grid;
  grid-template-columns: 230px 1fr;
  align-items: center;
  background: #fff;
  padding: 10px 10px 10px 15px;
  border-bottom: 1px solid #0926c0;
}

.form_wrap li .form_list01 p {
  font-style: oblique;
}

.form_wrap li .form_list01 p span {
  font-size: 20px;
  margin-right: 5px;
}

.form_wrap li:nth-child(n + 8) {
  padding: 25px 10px 25px 15px;
}

.radio_list {
  display: flex;
  gap: 45px;
}

.radio_list label {
  display: flex;
  align-items: center;
  gap: 15px;
}

.privacy_list {
  display: flex;
  align-items: center;
  gap: 5vw;
}

.privacy_list label {
  display: flex;
  align-items: center;
  gap: 25px;
}

.kome {
  position: relative;
  color: #f30112;
  font-style: normal !important;
  font-weight: 100 !important;
  font-size: 17px !important;
  bottom: 5px;
  left: 3px;
}

.kome02 {
  position: relative;
  color: #f30112;
  font-style: normal !important;
  font-weight: 100 !important;
  font-size: 17px !important;
  bottom: 5px;
  left: -2px;
}

.text {
  background: #f7f7f7;
  border-radius: 1px;
  width: 100%;
  height: 70px;
  border: unset;
}

.textarea {
  background: #f7f7f7;
  border-radius: 1px;
  width: 100%;
  height: 150px;
  border: unset;
}

.privacy_btn {
  display: block;
  background: #dbdbdb;
  text-align: center;
  padding: 2px 10px;
  width: 100%;
  max-width: 300px;
  color: #001278;
}

.submit {
  width: 100%;
  max-width: 330px;
  background: #fff10d;
  text-align: center;
  color: #0926c0;
  font-weight: 700;
  border: unset;
  border-radius: 75px;
  font-size: 18px;
  padding: 3px;
}

.contact_text {
  max-width: 720px;
  margin: 0 auto;
}

/*news*/
.main_title_news {
  top: 56% !important;
}

.main_title_news.c-fff {
  border-bottom: 2px solid #fff;
}

.news_sec .container1200 {
  padding: 0 5vw;
}

.news_sec .information_wrap {
  border-bottom: 1px solid #dbdbdb;
  padding-bottom: 4vw;
}

/*contact*/
.contactform_wrap li {
  display: grid;
  grid-template-columns: 330px 1fr;
  border-top: 1px solid #dbdbdb;
  padding: 15px 20px 15px 30px;
}

.contactform_wrap li .text {
  height: 60px !important;
}

.contactform_wrap li .textarea {
  height: 180px;
}

.contactform_wrap li:last-child {
  padding: 20px 20px 20px 30px;
}

.contact_submit {
  width: 100%;
  max-width: 320px;
  background: #0820a2;
  border: 1px solid #0820a2;
  border-radius: 1px;
  text-align: center;
  color: #fff;
  padding: 20px;
  display: inline-block;
  transition: .3s;
}

.contact_submit:hover {
  background: #34c8fc;
  border: 1px solid #34c8fc;
}

/*number*/
.number_bg {
  background: url(../images/number_bg.jpg) center/cover;
}

.view_number {
  height: 530px;
}

.number_main_title {
  position: absolute;
  left: 2%;
  bottom: 5%;
  font-size: 83px;
  font-style: italic;
  line-height: 0.7em;
}

.number_main_title span {
  font-size: 39px;
  letter-spacing: normal;
  font-weight: 300;
  padding-left: 10px;
}

.number_main_title p {
  padding-top: 4vw;
  padding-left: 10px;
}

.number_wrap01 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
  align-items: center;
}

.number_wrap02 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  align-items: baseline;
}

.number_wrap02 .number_title {
  left: 3.7%;
}

.number_wrap03 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
  align-items: center;
}

.number_wrap03 .grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  align-items: baseline;
}

.number_wrap03 .grid .number_title {
  top: 4%;
}

.number_title {
  position: absolute;
  top: 8%;
  left: 2.7%;
  background: #fff;
  color: #0026f1;
  padding: 0 15px;
  border-radius: 1px;
  font-weight: 700;
  font-style: oblique;
  line-height: 1.5em;
  font-size: 1.55vw;
  width: fit-content;
  z-index: 1;
}

.count_number,
.count_number01,
.count_number02,
.count_number03,
.count_number04 {
  color: #0026f1;
  font-weight: 300;
  line-height: normal;
  display: flex;
  align-items: baseline;
  width: max-content;
}

.count_number_left {
  color: #0026f1;
  font-weight: 300;
  line-height: normal;
  display: flex;
  align-items: baseline;
  width: max-content;
}

.count_number_right {
  color: #0026f1;
  font-weight: 300;
  line-height: normal;
  display: flex;
  align-items: baseline;
  width: max-content;
}

.count-up {
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
}

/*カウント*/
.number_box01 .count_number {
  position: absolute;
  right: 5%;
  bottom: 5%;
  font-size: 1.6vw;
  font-family: "futura-pt", sans-serif;
  font-weight: 300;
}

.number_box01 .count_number .count-up {
  font-size: 3.5vw;
}

.number_box02 .count_number {
  position: absolute;
  left: 14%;
  top: 36%;
  font-size: 1.6vw;
}

.number_box02 .count_number .count-up {
  font-size: 4vw;
  font-weight: 700;
}

.number_box02 .count_number .eng5 {
  font-size: 4vw;
}

.number_box03 .number_title {
  top: 4%;
}

.number_box03 .count_number01 {
  position: absolute;
  top: 26%;
  left: 17.5%;
  display: block;
  line-height: 1.7em;
  font-size: 1vw;
  text-align: center;
}

.number_box03 .count_number01 .count-up {
  font-size: 2.5vw;
}

.number_box03 .count_number02 {
  position: absolute;
  top: 17.5%;
  left: 36.5%;
  display: block;
  line-height: 1.7em;
  font-size: 1vw;
  text-align: center;
}

.number_box03 .count_number02 .count-up {
  font-size: 2.5vw;
}

.number_box03 .count_number03 {
  position: absolute;
  top: 18.5%;
  right: 30.5%;
  display: block;
  line-height: 1.7em;
  font-size: 1vw;
  text-align: center;
}

.number_box03 .count_number03 .count-up {
  font-size: 2.5vw;
}

.number_box03 .count_number04 {
  position: absolute;
  top: 15.6%;
  right: 11.5%;
  display: block;
  line-height: 1.7em;
  font-size: 1vw;
  text-align: center;
}

.number_box03 .count_number04 .count-up {
  font-size: 2.5vw;
}

.number_box04 .count_number {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.6vw;
}

.number_box04 .count_number .count-up {
  font-size: 3vw;
  font-weight: 700;
}

.number_box04 .count_number span:nth-child(2) {
  font-size: 1.5vw;
}

.number_box04 .count_number_left {
  position: absolute;
  left: 10%;
  bottom: 7%;
  font-size: 1.1vw;
  display: block;
}

.number_box04 .count_number_left .count-up {
  font-size: 2.7vw;
  font-weight: 700;
}

.number_box04 .count_number_left span:nth-child(3) {
  font-size: 1.5vw;
}

.number_box04 .count_number_left::after {
  content: "";
  position: absolute;
  top: 15%;
  left: 0;
  background-image: url(../images/number04_shape01.png);
  background-repeat: no-repeat;
  background-size: 7.7vw;
  width: 7.7vw;
  height: 23px;
}

.number_box04 .count_number_right {
  position: absolute;
  right: 10%;
  top: 19%;
  font-size: 1.1vw;
  display: block;
  text-align: right;
}

.number_box04 .count_number_right .count-up {
  font-size: 2.7vw;
  font-weight: 700;
}

.number_box04 .count_number_right span:nth-child(3) {
  font-size: 1.5vw;
}

.number_box04 .count_number_right::after {
  content: "";
  position: absolute;
  top: 36%;
  right: 0;
  background-image: url(../images/number04_shape02.png);
  background-repeat: no-repeat;
  background-size: 7.7vw;
  width: 7.7vw;
  height: 23px;
}

.number_box05 .count_number {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.6vw;
}

.number_box05 .count_number .count-up {
  font-size: 4vw;
  font-weight: 700;
}

.number_box05 .count_number .eng5 {
  font-size: 4vw;
}

.number_box05 .count_number .round {
  font-size: 3.3vw;
  font-family: 'futura-pt-bold';
}

.number_box06 .count_number {
  position: absolute;
  left: 50%;
  top: 62%;
  transform: translate(-50%, -50%);
  font-size: 1vw;
  color: #0e218a;
}

.number_box06 .count_number .count-up {
  font-size: 2.3vw;
  font-weight: 700;
}

.number_box06 .count_number span:nth-child(2) {
  font-size: 1.1vw;
}

.number_box06 .count_number_left {
  position: absolute;
  left: 10%;
  top: 27%;
  font-size: 1.1vw;
  display: block;
}

.number_box06 .count_number_left .count-up {
  font-size: 2.7vw;
  font-weight: 700;
}

.number_box06 .count_number_left span:nth-child(3) {
  font-size: 1.5vw;
}

.number_box06 .count_number_left::after {
  content: "";
  position: absolute;
  top: 15%;
  left: 0;
  background-image: url(../images/number06_shape01.png);
  background-repeat: no-repeat;
  background-size: 8.55vw;
  width: 8.55vw;
  height: 27px;
}

.number_box06 .count_number_right {
  position: absolute;
  right: 8%;
  bottom: 7%;
  font-size: 1.1vw;
  display: block;
  text-align: right;
}

.number_box06 .count_number_right .count-up {
  font-size: 2.7vw;
  font-weight: 700;
}

.number_box06 .count_number_right span:nth-child(3) {
  font-size: 1.5vw;
}

.number_box06 .count_number_right::after {
  content: "";
  position: absolute;
  top: 13%;
  right: 0;
  background-image: url(../images/number06_shape02.png);
  background-repeat: no-repeat;
  background-size: 8vw;
  width: 8vw;
  height: 27px;
}

.number_box07 .number_title {
  top: 3%;
}

.number_box07 .count_number {
  position: absolute;
  left: 53%;
  top: 62.5%;
  transform: translate(-50%, -50%);
  font-size: 1vw;
  color: #0e218a;
}

.number_box07 .count_number .count-up {
  font-size: 3.6vw;
  font-weight: 700;
}

.number_box07 .count_number span:nth-child(2) {
  font-size: 1.8vw;
}

.number_box07 .count_number01 {
  position: absolute;
  right: 7%;
  bottom: 7%;
  display: block;
  text-align: right;
  font-size: 1.4vw;
}

.number_box07 .count_number01 .count-up {
  font-size: 4.5vw;
  font-weight: 700;
}

.number_box07 .count_number01 span:nth-child(3) {
  font-size: 1.9vw;
}

.number_box07 .count_number01::after {
  content: "";
  position: absolute;
  top: 13%;
  right: 0;
  background-image: url(../images/number07_shape04.png);
  background-repeat: no-repeat;
  background-size: 12.55vw;
  width: 12.55vw;
  height: 34px;
}

.number_box07 .count_number02 {
  position: absolute;
  left: 9%;
  top: 32%;
  display: block;
  font-size: 1.1vw;
}

.number_box07 .count_number02 .count-up {
  font-size: 4vw;
  font-weight: 700;
}

.number_box07 .count_number02 span:nth-child(3) {
  font-size: 1.7vw;
}

.number_box07 .count_number02::after {
  content: "";
  position: absolute;
  top: 17%;
  left: 0;
  background-image: url(../images/number07_shape01.png);
  background-repeat: no-repeat;
  background-size: 11.4vw;
  width: 11.4vw;
  height: 23px;
}

.number_box07 .count_number03 {
  position: absolute;
  left: 21%;
  top: 14%;
  display: block;
  font-size: 1vw;
}

.number_box07 .count_number03 .count-up {
  font-size: 3vw;
  font-weight: 700;
}

.number_box07 .count_number03 span:nth-child(3) {
  font-size: 1.5vw;
}

.number_box07 .count_number03::after {
  content: "";
  position: absolute;
  top: 33%;
  left: 0;
  background-image: url(../images/number07_shape02.png);
  background-repeat: no-repeat;
  background-size: 9.6vw;
  width: 9.6vw;
  height: 48px;
}

.number_box07 .count_number04 {
  position: absolute;
  right: 25%;
  top: 9%;
  display: block;
  text-align: right;
  font-size: 0.9vw;
}

.number_box07 .count_number04 .count-up {
  font-size: 2.7vw;
  font-weight: 700;
}

.number_box07 .count_number04 span:nth-child(3) {
  font-size: 1.4vw;
}

.number_box07 .count_number04::after {
  content: "";
  position: absolute;
  top: 33%;
  right: 0;
  background-image: url(../images/number07_shape03.png);
  background-repeat: no-repeat;
  background-size: 11.15vw;
  width: 11.15vw;
  height: 65px;
}

.number_box08 .count_number {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.6vw;
}

.number_box08 .count_number .count-up {
  font-size: 4vw;
  font-weight: 700;
}

.number_box08 .count_number .eng5 {
  font-size: 4vw;
}

.number_box09 .count_number {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.6vw;
}

.number_box09 .count_number .count-up {
  font-size: 4vw;
  font-weight: 700;
}

.number_box10 .count_number {
  display: block;
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  font-size: 1.1vw;
  line-height: 1.5em;
}

.number_box10 .count_number .count-up {
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 0.9em;
}

.number_box10 .count_number .eng2 {
  font-size: 2.2vw;
}

.number_box11 .count_number {
  position: absolute;
  right: 22%;
  top: 58%;
  transform: translateY(-50%);
  font-size: 1.6vw;
}

.number_box11 .count_number .count-up {
  font-size: 4vw;
  font-weight: 700;
}

.shape {
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  width: 12.2vw;
  height: 12.2vw;
  background-image: conic-gradient(#0026f1 0deg, #01e8ff 0deg);
  clip-path: circle();
  display: grid;
  place-items: center;
}

.shape::before {
  content: "";
  width: 10.5vw;
  height: 10.5vw;
  background-color: #01e8ff;
  clip-path: circle();
}

.chart {
  position: absolute;
  width: 12vw;
  height: 12vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

.chart02 {
  position: absolute;
  width: 12vw;
  height: 12vw;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

.chart03 {
  position: absolute;
  width: 25vw;
  height: 25vw;
  top: 52%;
  left: 53%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

.chart03::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: unset;
  width: 21vw;
  height: 21vw;
  border: 30px solid #01e8ff;
  border-radius: 50%;
  display: block;
}

.doughnutTip {
  position: absolute;
  min-width: 30px;
  max-width: 300px;
  padding: 5px 15px;
  border-radius: 1px;
  background: rgba(0, 0, 0, 0.8);
  color: #ddd;
  font-size: 17px;
  text-shadow: 0 1px 0 #000;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.3;
  letter-spacing: .06em;
  pointer-events: none;
}

.doughnutTip::after {
  position: absolute;
  left: 50%;
  bottom: -6px;
  content: "";
  height: 0;
  margin: 0 0 0 -6px;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 6px solid rgba(0, 0, 0, 0.7);
  line-height: 0;
}

.doughnutSummary {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  color: #d5d5d5;
  text-align: center;
  text-shadow: 0 -1px 0 #111;
  cursor: default;
}

.doughnutSummaryTitle {
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: -27%;
  font-size: 22px;
  letter-spacing: .06em;
}

.doughnutSummaryNumber {
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: -15%;
  font-size: 55px;
}

.chart path:hover {
  opacity: 0.65;
}

#doughnutChart svg {
  width: 12vw !important;
  height: 12vw !important;
}

#doughnutChart02 svg {
  width: 12vw !important;
  height: 12vw !important;
}

#doughnutChart03 svg {
  width: 25vw !important;
  height: 25vw !important;
}

/*棒graph--------------------------------*/
.bar-graph {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.bar-graph-wrap {
  position: relative;
  height: 85.9%;
  overflow: hidden;
}

.bar-graph-wrap .graph {
  position: absolute;
  width: 2vw;
  bottom: 0;
  border-radius: 1px 1px 0 0;
  flex-direction: column-reverse;
  background: #0026f1;
  top: unset;
}

.bar-graph-wrap .graph1 {
  left: 22%;
  height: 54%;
}

.bar-graph-wrap .graph2 {
  left: 41%;
  height: 63%;
}

.bar-graph-wrap .graph3 {
  right: 35%;
  height: 62%;
}

.bar-graph-wrap .graph4 {
  right: 16%;
  height: 65%;
}

@keyframes graphAnim02 {
  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(0);
  }
}

.graph_on {
  animation: graphAnim02 3s forwards;
}

.year01,
.year02,
.year03,
.year04 {
  position: absolute;
  bottom: 6.5%;
  color: #fff;
  font-size: 1.1vw;
}

.year01 {
  left: 21.7%;
}

.year02 {
  left: 40.5%;
}

.year03 {
  right: 34.5%;
}

.year04 {
  right: 15.2%;
}

/*-----------------------------------------*/
/*スクロール*/
.scroll_left {
  animation: scroll_animation 28s linear infinite;
}

@keyframes scroll_animation {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(-360deg);
  }
}

/* テーブル追加 */
.others_table {
  width: 100%;
  border: 1px solid #dbdbdb;
  flex: 0.78;
  color: #001278;
}

.others_table th {
  width: 35%;
  padding: 10px;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #dbdbdb;
  border-right: 1px solid #dbdbdb;
}

.others_table td {
  width: 65%;
  border-bottom: 1px solid #dbdbdb;
  padding: 10px;
}

/************************/
/* PC用
------------------------------------------------------------*/
@media only screen and (max-width: 1800px) {
  .welfare_wrap .left ul li .bg_fff {
    font-size: 13px;
  }

  .welfare_wrap .left {
    width: 72%;
  }

  .welfare_wrap .right {
    width: 28%;
  }
}

@media only screen and (max-width: 1780px) {
  .truck {
    bottom: -9vw;
    width: 31vw;
  }
}

@media only screen and (max-width: 1780px) {
  .footer .left {
    flex: 0.42;
  }

  .f_logo {
    max-width: 200px;
  }

  .f_eneos_logo {
    max-width: 240px;
  }

  .footer .left .address_box div:nth-child(2) {
    max-width: 180px;
  }

  .f_contact_btn {
    max-width: 180px;
    font-size: 17px;
  }

  .footer .right .top_nav ul li:nth-child(n + 2) a {
    color: #5f6274;
    font-size: 12px;
  }

  .footer .left .shop_box {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .footer .right {
    flex: 0.53;
  }

  .footer .right .top_nav ul:nth-child(1) {
    flex: 0.08;
  }

  .footer .right .top_nav ul li:nth-child(1) {
    font-size: 13px;
  }

  .footer .right .top_nav ul:nth-child(2) {
    flex: 0.24;
  }

  .footer .right .top_nav ul:nth-child(3) {
    flex: 0.24;
  }

  .footer .right .top_nav ul:nth-child(4) {
    flex: 0.5;
  }

  .plan03_box ul li img {
    width: 5.5vw;
  }
}

@media only screen and (max-width: 1650px) {
  .service_course_sec .container1680 {
    padding: 0;
  }

  .service_course_sec .container1680 .font18 {
    font-size: 16px;
  }

  .narasaki_list.coating {
    padding-bottom: 25px;
    grid-template-columns: repeat(2, 1fr);
  }

  .plan03_box ul li p {
    font-size: 14px;
  }

  .contact_region {
    max-width: 785px;
  }

  .service_04_tel {
    font-size: 37px;
  }

  .service_04_sec03 ul li p span {
    font-size: 18px;
  }

  .service_05_fukidashi3 {
    top: -0.5vw;
    right: -2vw;
    width: 150px;
  }

  .app_list {
    grid-template-columns: repeat(3, 1fr);
  }

  .sec_service_contact02 {
    height: 722px;
  }
}

@media only screen and (max-width: 1600px) {

  /*縦border*/
  .line02 {
    height: 470px;
    top: 26%;
  }

  @keyframes line-animation02 {
    0% {
      height: 0px;
    }

    100% {
      height: 470px;
    }
  }

  .sec_company04 .container1820 .title01 {
    flex: 0.2;
  }

  .marine_list li .flex p span:nth-child(1) {
    flex: 0.5;
  }

  .marine_list li .flex p span:nth-child(2) {
    flex: 0.4;
  }

  .service_contact_title {
    font-size: 110px;
  }

  .construction_works_flow .left .round {
    width: 15vw;
    height: 15vw;
    padding-top: 50px;
  }

  .construction_works_flow .left .round:nth-child(2) {
    margin-bottom: 2vw;
  }

  .construction_works_flow .left .round:nth-child(3) {
    margin-bottom: 1vw;
  }

  .construction_works_flow .left .round:nth-child(4) {
    margin-bottom: 8vw;
  }

  #course01 .course_box {
    background: url(../images/coating_car.png) 108% bottom/auto no-repeat;
    background-size: 40%;
  }

  #course02 .course_box {
    background: url(../images/coating_car2.png) 108% bottom/auto no-repeat;
    background-size: 40%;
  }

  #course03 .course_box {
    background: url(../images/coating_car3.png) 108% bottom/auto no-repeat;
    background-size: 40%;
  }

  .swift {
    width: 100%;
    max-width: 450px;
  }

  .N-BOX {
    width: 100%;
    max-width: 400px;
  }

  .tanto {
    width: 100%;
    max-width: 400px;
  }

  .car_list_wrap .car_list_box .right .car_title01 {
    top: -9vw;
    left: 0vw;
  }
}

@media only screen and (max-width: 1550px) {
  .perfect_course li .price_box_top .price_right .midashi36 {
    font-size: 28px;
  }

  .perfect_course li .price_box_top .price_right {
    font-size: 55px;
    flex: 0.55;
  }

  .perfect_course li .price_box_top .price_right .tax {
    font-size: 14px;
  }

  .perfect_course02 li .price_box_top .price_right {
    font-size: 43px;
  }
}

@media only screen and (max-width: 1500px) {
  .service_stations_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw 4vw;
  }

  .service_stations_list02 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw 4vw;
  }

  .service_bg_color {
    padding-bottom: 80px;
  }

  .main_text_wrap {
    bottom: 0;
    left: 7vw;
    width: 94%;
  }

  .plan03_box ul li p {
    font-size: 0.93vw;
  }

  .plan03_box ul li {
    height: 150px;
  }

  .service_04_catch {
    top: 19vw;
    right: 3vw;
    width: 88%;
  }

  .service_04_catch h2 {
    font-size: 1.9vw;
  }

  .service_04_catch_img {
    max-width: 64vw;
  }

  .map_fukidashi {
    top: 8%;
    right: 32%;
    width: 100%;
    max-width: 200px;
  }

  .recruitment_sec02 .flex .right {
    padding: 0 4vw 0;
  }
}

@media only screen and (max-width: 1400px) {
  .top_service_wrap .btn_orange {
    width: 40px !important;
    height: 40px !important;
  }

  .sec_service_contact {
    height: 532px;
  }

  .sec_company03 ul li h3 {
    font-size: 27px;
  }

  .narasaki_list li a {
    padding: 5px 10px;
    font-size: 14px;
  }

  .service_course_sec .container1680 .font18 {
    font-size: 14px;
  }

  .service_03_catch {
    top: 17%;
    left: 58%;
    width: 43vw;
  }

  #recruitment_logo img {
    width: 320px;
  }

  .header_wrap.recruitment nav ul li a {
    font-size: 16px;
  }

  .interview_number {
    font-size: 48px;
  }

  .interview_number span:nth-child(2) {
    font-size: 30px;
  }

  .member_wrap {
    gap: 15px;
    padding: 0;
  }

  .sec_service_contact02 {
    height: 722px;
  }
}

@media only screen and (max-width: 1200px) {
  .service_bg_color {
    padding-bottom: 130px;
  }

  .view_service01 .bg_fff {
    position: absolute;
    top: 0;
    left: 0;
    width: 23.4%;
    height: 225px;
    background: #fff;
  }

  .main_text_wrap {
    bottom: -7vw;
    left: 7vw;
    width: 94%;
  }

  .service01_titleText_img {
    bottom: 13vw;
    left: 3vw;
    width: 64vw;
  }
}

@media only screen and (max-width: 1024px) {
  .padding100 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding110 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding120 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding130 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding140 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding150 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding160 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding170 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding180 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding190 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding200 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding210 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding220 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding230 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding240 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding250 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding260 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding270 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding280 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding290 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding300 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .margin100 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin110 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin120 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin130 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin140 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin150 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin160 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin170 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin180 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin190 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin200 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin210 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin220 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin230 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin240 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin250 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin260 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin270 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin280 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin290 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin300 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .pt-120 {
    padding-top: 80px;
  }

  .pt-130 {
    padding-top: 80px;
  }

  .pt-140 {
    padding-top: 80px;
  }

  .pt-150 {
    padding-top: 80px;
  }

  .pt-160 {
    padding-top: 80px;
  }

  .pt-170 {
    padding-top: 80px;
  }

  .pt-180 {
    padding-top: 80px;
  }

  .pt-190 {
    padding-top: 80px;
  }

  .pt-200 {
    padding-top: 80px;
  }

  .pt-210 {
    padding-top: 80px;
  }

  .pt-220 {
    padding-top: 80px;
  }

  .pt-230 {
    padding-top: 80px;
  }

  .pt-240 {
    padding-top: 80px;
  }

  .pt-250 {
    padding-top: 80px;
  }

  .pt-260 {
    padding-top: 80px;
  }

  .pt-270 {
    padding-top: 80px;
  }

  .pt-280 {
    padding-top: 80px;
  }

  .pt-290 {
    padding-top: 80px;
  }

  .pt-300 {
    padding-top: 80px;
  }

  .pb-120 {
    padding-bottom: 80px;
  }

  .pb-130 {
    padding-bottom: 80px;
  }

  .pb-140 {
    padding-bottom: 80px;
  }

  .pb-150 {
    padding-bottom: 80px;
  }

  .pb-160 {
    padding-bottom: 80px;
  }

  .pb-170 {
    padding-bottom: 80px;
  }

  .pb-180 {
    padding-bottom: 80px;
  }

  .pb-190 {
    padding-bottom: 80px;
  }

  .pb-200 {
    padding-bottom: 80px;
  }

  .pb-210 {
    padding-bottom: 80px;
  }

  .pb-220 {
    padding-bottom: 80px;
  }

  .pb-230 {
    padding-bottom: 80px;
  }

  .pb-240 {
    padding-bottom: 80px;
  }

  .pb-250 {
    padding-bottom: 80px;
  }

  .pb-260 {
    padding-bottom: 80px;
  }

  .pb-270 {
    padding-bottom: 80px;
  }

  .pb-280 {
    padding-bottom: 80px;
  }

  .pb-290 {
    padding-bottom: 80px;
  }

  .pb-300 {
    padding-bottom: 80px;
  }

  .mt-120 {
    margin-top: 80px;
  }

  .mt-130 {
    margin-top: 80px;
  }

  .mt-140 {
    margin-top: 80px;
  }

  .mt-150 {
    margin-top: 80px;
  }

  .mt-160 {
    margin-top: 80px;
  }

  .mt-170 {
    margin-top: 80px;
  }

  .mt-180 {
    margin-top: 80px;
  }

  .mt-190 {
    margin-top: 80px;
  }

  .mt-200 {
    margin-top: 80px;
  }

  .mt-210 {
    margin-top: 80px;
  }

  .mt-220 {
    margin-top: 80px;
  }

  .mt-230 {
    margin-top: 80px;
  }

  .mt-240 {
    margin-top: 80px;
  }

  .mt-250 {
    margin-top: 80px;
  }

  .mt-260 {
    margin-top: 80px;
  }

  .mt-270 {
    margin-top: 80px;
  }

  .mt-280 {
    margin-top: 80px;
  }

  .mt-290 {
    margin-top: 80px;
  }

  .mt-300 {
    margin-top: 80px;
  }

  .mb-120 {
    margin-bottom: 80px;
  }

  .mb-130 {
    margin-bottom: 80px;
  }

  .mb-140 {
    margin-bottom: 80px;
  }

  .mb-150 {
    margin-bottom: 80px;
  }

  .mb-160 {
    margin-bottom: 80px;
  }

  .mb-170 {
    margin-bottom: 80px;
  }

  .mb-180 {
    margin-bottom: 80px;
  }

  .mb-190 {
    margin-bottom: 80px;
  }

  .mb-200 {
    margin-bottom: 80px;
  }

  .mb-210 {
    margin-bottom: 80px;
  }

  .mb-220 {
    margin-bottom: 80px;
  }

  .mb-230 {
    margin-bottom: 80px;
  }

  .mb-240 {
    margin-bottom: 80px;
  }

  .mb-250 {
    margin-bottom: 80px;
  }

  .mb-260 {
    margin-bottom: 80px;
  }

  .mb-270 {
    margin-bottom: 80px;
  }

  .mb-280 {
    margin-bottom: 80px;
  }

  .mb-290 {
    margin-bottom: 80px;
  }

  .mb-300 {
    margin-bottom: 80px;
  }

  body {
    min-width: 1024px;
  }

  .header nav {
    display: none;
  }

  .top_service_wrap ul {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3.3vw;
    row-gap: 60px;
  }

  .top_service_wrap ul li a .deco_img {
    top: -4.6vw;
    left: 1.8vw;
    max-width: 11.5vw;
  }

  /*縦border*/
  .line02 {
    height: 420px;
    top: 30%;
  }

  @keyframes line-animation02 {
    0% {
      height: 0px;
    }

    100% {
      height: 420px;
    }
  }

  .information_btn {
    right: 0;
    top: 5%;
  }

  .information_wrap li a div {
    flex: 0.18;
  }

  .information_wrap li a p {
    flex: 0.7;
  }

  .footer .footer_wrap {
    display: block;
  }

  .footer .left .logo_box {
    justify-content: unset;
    gap: 40px;
  }

  .footer .left .address_box {
    display: block;
  }

  .footer .right .bottom_nav ul li a {
    font-size: 13px;
  }

  .sec_company03 ul li h3 {
    font-size: 24px;
  }

  .sec_company03 ul li {
    padding-top: 10vw;
    padding-bottom: 3vw;
  }

  .company_eneos {
    max-width: 150px;
  }

  .marine_list li .flex {
    padding-left: 35px;
  }

  .marine_list li h3 {
    padding-left: 35px;
  }

  .marine_list li .flex p span:nth-child(1) {
    flex: 0.55;
  }

  .marine_list li .flex p span:nth-child(2) {
    flex: 0.35;
  }

  .service01_titleText_img {
    bottom: 13vw;
    left: 3vw;
    width: 64vw;
  }

  .main_text_wrap {
    bottom: -28%;
    left: 5vw;
    width: 93%;
  }

  .service_bg_color {
    padding-bottom: 225px;
  }

  .main_text_wrap .font18 {
    padding-bottom: 3vw;
    font-size: 16px !important;
  }

  .posint8_title img {
    width: 100%;
    max-width: 350px;
  }

  .service01_pickup_title img {
    width: 100%;
    max-width: 350px;
  }

  .perfect_course li .price_box_top .price_right .bg_0820a2 {
    display: table;
  }

  .perfect_course {
    display: block;
  }

  .perfect_course li .price_box_top {
    justify-content: right;
    gap: 20px;
  }

  .perfect_course li .price_box_top .price_right {
    flex: unset;
  }

  .perfect_course li .price_box_top .price_left {
    flex: unset;
  }

  .perfect_course02 {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2vw;
    row-gap: 2vw;
  }

  .sec_service_contact .container1820 {
    bottom: 31%;
  }

  .sec_service_contact02 {
    padding-top: 80px;
    height: 722px;
  }

  .service_contact_title {
    font-size: 90px;
  }

  .narasaki_list {
    grid-template-columns: repeat(2, 1fr);
  }

  .service01_course_bottom {
    display: block;
  }

  .service01_course_bottom .left {
    width: 100%;
    height: 550px;
  }

  .service01_course_bottom .right {
    width: 100%;
    height: 550px;
  }

  .service01_course_top .fukidashi {
    top: -29%;
    left: 20px;
  }

  .service01_course_top .fukidashi2 {
    position: absolute;
    top: -25%;
    left: 20px;
  }

  .service01_course_bottom .left .fukidashi {
    top: -24%;
    left: 6%;
  }

  .coating_main_text .flex img {
    max-width: 221px;
  }

  .coating_main_text .flex h2 {
    font-size: 29px;
  }

  .merit4_bg {
    padding-top: 230px;
  }

  .construction_works_flow .left .round {
    padding-top: 35px;
  }

  .construction_works_flow .left .round .midashi25 {
    font-size: 16px;
  }

  .step_img01 {
    padding-bottom: 25px;
  }

  .step_img02 {
    padding-bottom: 15px;
  }

  #course01 .course_box,
  #course02 .course_box,
  #course03 .course_box,
  #course04 .course_box,
  #course05 .course_box,
  #course06 .course_box {
    background: unset;
  }

  #course01 .course_car_wrap {
    position: relative;
    display: block;
    background: url(../images/coating_car.png) 120% bottom/auto no-repeat;
    height: 900px;
  }

  #course01 .coating_text_img01 {
    top: 50%;
    left: 42%;
    transform: translate(-50%, -50%);
  }

  #course02 .course_car_wrap {
    position: relative;
    display: block;
    background: url(../images/coating_car2.png) 120% bottom/auto no-repeat;
    height: 900px;
  }

  #course02 .coating_text_img02 {
    top: 50%;
    left: 42%;
    transform: translate(-50%, -50%);
  }

  #course03 .course_car_wrap {
    position: relative;
    display: block;
    background: url(../images/coating_car3.png) 120% bottom/auto no-repeat;
    height: 900px;
  }

  #course03 .coating_text_img03 {
    top: 50%;
    left: 42%;
    transform: translate(-50%, -50%);
  }

  #course04 .course_car_wrap {
    position: relative;
    display: block;
    background: url(../images/coating_car4.png) 120% bottom/auto no-repeat;
    height: 900px;
  }

  #course04 .coating_text_img04 {
    top: 50%;
    left: 42%;
    transform: translate(-50%, -50%);
  }

  #course05 .course_car_wrap {
    position: relative;
    display: block;
    background: url(../images/coating_car5.png) 120% bottom/auto no-repeat;
    height: 900px;
  }

  #course05 .coating_text_img05 {
    top: 50%;
    left: 42%;
    transform: translate(-50%, -50%);
  }

  #course06 .course_car_wrap {
    position: relative;
    display: block;
    background: url(../images/coating_car6.png) 120% 0/auto no-repeat;
    height: 900px;
  }

  #course06 .coating_text_img06 {
    top: 50%;
    left: 37%;
    transform: translate(-50%, -50%);
  }

  .course_tab li div {
    height: 105px;
  }

  .course_tab {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 4px;
    row-gap: 4px;
    top: 3px;
  }

  .coating_plan tr td:nth-child(1) {
    display: block;
    text-align: center;
  }

  .service_03_catch {
    top: 20%;
    left: 70%;
    width: 43vw;
  }

  .service_03_main_car {
    bottom: 4%;
    right: 1.5%;
    width: 71.3vw;
  }

  .car_list_wrap .car_list_box .left ul li div:nth-child(1) {
    flex: 0.25;
  }

  .car_list_wrap .car_list_box .left ul li div:nth-child(2) {
    flex: 0.71;
  }

  .car_list_wrap .car_list_box .right .car_title01 {
    top: -16vw;
    left: 0vw;
  }

  .car_list_wrap .car_list_box .right .car_title02 {
    top: -4vw;
    left: 4vw;
  }

  .car_list_wrap .car_list_box .right .car_title03 {
    top: -11vw;
    left: 2vw;
  }

  /******************/
  .service_04_catch_img {
    max-width: 645px;
  }

  .service_04_catch h2 {
    font-size: 21px;
    padding: 10px;
    width: 100%;
    max-width: 630px;
  }

  .truck {
    bottom: -9vw;
    width: 430px;
  }

  .service_04_sec03 {
    background-size: 118%;
    height: 745px;
  }

  .contact_region {
    max-width: 630px;
  }

  .service_04_tel {
    font-size: 28px;
  }

  .map_fukidashi {
    top: 8%;
    right: 29%;
    max-width: 160px;
  }

  .point5_list li .bg_0820a2 {
    padding: 35px 30px;
    height: 290px;
  }

  .service_05_fukidashi {
    left: 10%;
    top: -2vw;
    width: 70px;
  }

  .eneos_ssapp_list {
    grid-template-columns: repeat(2, 1fr);
  }

  .recruitment_sec02 .flex {
    height: 76.5vw;
  }

  .recruitment_sec02 .img_box img {
    width: 87.2vw;
  }

  .recruitment_title02 {
    width: 100%;
    max-width: 971px;
  }

  .recruit_f_logo {
    width: 100%;
    max-width: 300px;
  }

  .recruit_main_title {
    left: 2%;
    bottom: 28%;
    font-size: 63px;
  }

  .recruit_main_title span {
    font-size: 29px;
  }

  .member_wrap {
    display: flex;
    padding: 0;
    gap: 10px;
  }

  .member_wrap li:nth-child(odd) img {
    width: 100%;
    height: auto;
  }

  .interview_main_title h2 {
    font-size: 63px;
  }

  .interview_main_title h2 span {
    font-size: 29px;
  }

  .welfare_main_title h2 {
    font-size: 63px;
  }

  .welfare_main_title h2 span {
    font-size: 29px;
  }

  .view_app {
    height: 50.2vw;
  }

  .view_app02 {
    height: 550px;
  }

  .interview_main_title.recruitment02 .midashi45 {
    font-size: 24px;
  }

  .interview_main_title.recruitment02 h2 {
    line-height: 1.2em;
  }

  .app_list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 35px;
  }

  .entry_flow::after {
    display: none;
  }

  .entry_flow {
    justify-content: center;
    grid-template-columns: repeat(2, 350px);
    column-gap: 5vw;
    row-gap: 5vw;
  }

  .entry_title {
    width: 100%;
    margin: 0 auto;
  }

  .contactform_wrap .radio_list .font17 {
    font-size: 15px;
  }

  .number_main_title {
    font-size: 63px;
  }

  .number_main_title span {
    font-size: 29px;
  }
}

@media only screen and (max-width: 850px) {
  .recruitment_sec02 .flex {
    height: 84.5vw;
  }

  .recruitment_sec02 .img_box img {
    width: 101.2vw;
  }
}

@media only screen and (max-width: 740px) {
  .flex_30 {
    width: 100%;
  }

  .flex_31 {
    width: 100%;
  }

  .flex_32 {
    width: 100%;
  }

  .flex_33 {
    width: 100%;
  }

  .flex_34 {
    width: 100%;
  }

  .flex_35 {
    width: 100%;
  }

  .flex_36 {
    width: 100%;
  }

  .flex_37 {
    width: 100%;
  }

  .flex_38 {
    width: 100%;
  }

  .flex_39 {
    width: 100%;
  }

  .flex_40 {
    width: 100%;
  }

  .flex_41 {
    width: 100%;
  }

  .flex_42 {
    width: 100%;
  }

  .flex_43 {
    width: 100%;
  }

  .flex_44 {
    width: 100%;
  }

  .flex_45 {
    width: 100%;
  }

  .flex_46 {
    width: 100%;
  }

  .flex_47 {
    width: 100%;
  }

  .flex_48 {
    width: 100%;
  }

  .flex_49 {
    width: 100%;
  }

  .flex_50 {
    width: 100%;
  }

  .flex_51 {
    width: 100%;
  }

  .flex_52 {
    width: 100%;
  }

  .flex_53 {
    width: 100%;
  }

  .flex_54 {
    width: 100%;
  }

  .flex_55 {
    width: 100%;
  }

  .flex_56 {
    width: 100%;
  }

  .flex_57 {
    width: 100%;
  }

  .flex_58 {
    width: 100%;
  }

  .flex_59 {
    width: 100%;
  }

  .flex_60 {
    width: 100%;
  }

  .flex_61 {
    width: 100%;
  }

  .flex_62 {
    width: 100%;
  }

  .flex_63 {
    width: 100%;
  }

  .flex_64 {
    width: 100%;
  }

  .flex_65 {
    width: 100%;
  }

  .flex_66 {
    width: 100%;
  }

  .flex_67 {
    width: 100%;
  }

  .flex_68 {
    width: 100%;
  }

  .flex_69 {
    width: 100%;
  }

  .flex_70 {
    width: 100%;
  }

  .padding100 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding110 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding120 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding130 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding140 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding150 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding160 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding170 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding180 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding190 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding200 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding210 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding220 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding230 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding240 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding250 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding260 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding270 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding280 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding290 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding300 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .margin100 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin110 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin120 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin130 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin140 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin150 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin160 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin170 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin180 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin190 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin200 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin210 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin220 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin230 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin240 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin250 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin260 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin270 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin280 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin290 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin300 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .pt-110 {
    padding-top: 60px;
  }

  .pt-120 {
    padding-top: 60px;
  }

  .pt-130 {
    padding-top: 60px;
  }

  .pt-140 {
    padding-top: 60px;
  }

  .pt-150 {
    padding-top: 60px;
  }

  .pt-160 {
    padding-top: 60px;
  }

  .pt-170 {
    padding-top: 60px;
  }

  .pt-180 {
    padding-top: 60px;
  }

  .pt-190 {
    padding-top: 60px;
  }

  .pt-200 {
    padding-top: 60px;
  }

  .pt-210 {
    padding-top: 60px;
  }

  .pt-220 {
    padding-top: 60px;
  }

  .pt-230 {
    padding-top: 60px;
  }

  .pt-240 {
    padding-top: 60px;
  }

  .pt-250 {
    padding-top: 60px;
  }

  .pt-260 {
    padding-top: 60px;
  }

  .pt-270 {
    padding-top: 60px;
  }

  .pt-280 {
    padding-top: 60px;
  }

  .pt-290 {
    padding-top: 60px;
  }

  .pt-300 {
    padding-top: 60px;
  }

  .pb-110 {
    padding-bottom: 60px;
  }

  .pb-120 {
    padding-bottom: 60px;
  }

  .pb-130 {
    padding-bottom: 60px;
  }

  .pb-140 {
    padding-bottom: 60px;
  }

  .pb-150 {
    padding-bottom: 60px;
  }

  .pb-160 {
    padding-bottom: 60px;
  }

  .pb-170 {
    padding-bottom: 60px;
  }

  .pb-180 {
    padding-bottom: 60px;
  }

  .pb-190 {
    padding-bottom: 60px;
  }

  .pb-200 {
    padding-bottom: 60px;
  }

  .pb-210 {
    padding-bottom: 60px;
  }

  .pb-220 {
    padding-bottom: 60px;
  }

  .pb-230 {
    padding-bottom: 60px;
  }

  .pb-240 {
    padding-bottom: 60px;
  }

  .pb-250 {
    padding-bottom: 60px;
  }

  .pb-260 {
    padding-bottom: 60px;
  }

  .pb-270 {
    padding-bottom: 60px;
  }

  .pb-280 {
    padding-bottom: 60px;
  }

  .pb-290 {
    padding-bottom: 60px;
  }

  .mt-110 {
    margin-top: 60px;
  }

  .mt-120 {
    margin-top: 60px;
  }

  .mt-130 {
    margin-top: 60px;
  }

  .mt-140 {
    margin-top: 60px;
  }

  .mt-150 {
    margin-top: 60px;
  }

  .mt-160 {
    margin-top: 60px;
  }

  .mt-170 {
    margin-top: 60px;
  }

  .mt-180 {
    margin-top: 60px;
  }

  .mt-190 {
    margin-top: 60px;
  }

  .mt-200 {
    margin-top: 60px;
  }

  .mt-210 {
    margin-top: 60px;
  }

  .mt-220 {
    margin-top: 60px;
  }

  .mt-230 {
    margin-top: 60px;
  }

  .mt-240 {
    margin-top: 60px;
  }

  .mt-250 {
    margin-top: 60px;
  }

  .mt-260 {
    margin-top: 60px;
  }

  .mt-270 {
    margin-top: 60px;
  }

  .mt-280 {
    margin-top: 60px;
  }

  .mt-290 {
    margin-top: 60px;
  }

  .mt-300 {
    margin-top: 60px;
  }

  .mb-110 {
    margin-bottom: 60px;
  }

  .mb-120 {
    margin-bottom: 60px;
  }

  .mb-130 {
    margin-bottom: 60px;
  }

  .mb-140 {
    margin-bottom: 60px;
  }

  .mb-150 {
    margin-bottom: 60px;
  }

  .mb-160 {
    margin-bottom: 60px;
  }

  .mb-170 {
    margin-bottom: 60px;
  }

  .mb-180 {
    margin-bottom: 60px;
  }

  .mb-190 {
    margin-bottom: 60px;
  }

  .mb-200 {
    margin-bottom: 60px;
  }

  .mb-210 {
    margin-bottom: 60px;
  }

  .mb-220 {
    margin-bottom: 60px;
  }

  .mb-230 {
    margin-bottom: 60px;
  }

  .mb-240 {
    margin-bottom: 60px;
  }

  .mb-250 {
    margin-bottom: 60px;
  }

  .mb-260 {
    margin-bottom: 60px;
  }

  .mb-270 {
    margin-bottom: 60px;
  }

  .mb-280 {
    margin-bottom: 60px;
  }

  .mb-290 {
    margin-bottom: 60px;
  }

  .mb-300 {
    margin-bottom: 60px;
  }

  body {
    min-width: auto;
  }

  .view {
    width: 100%;
    height: 100vh !important;
  }

  .header_wrap {
    padding: 15px 0 0 3vw;
  }

  #logo img {
    max-width: 200px;
  }

  .catch {
    top: 51%;
    left: 5%;
    gap: 5px;
  }

  .catch .left h2 {
    font-size: 19px;
  }

  .catch .right h2 {
    font-size: 43px;
    line-height: 1.8em;
  }

  .top_service_wrap {
    padding: 110px 25px 80px;
  }

  .top_service_wrap ul {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 16vw;
  }

  .top_service_wrap ul li a .deco_img {
    top: -6.6vw;
    left: 2.8vw;
    max-width: 20.5vw;
  }

  .top_service_wrap ul li a p {
    padding: 0 15px 0 25px;
  }

  .top_service_wrap ul li .text_wrap {
    margin-top: 15px;
    padding: 15px 0 0 25px;
    font-size: 13px;
  }

  /*縦border*/
  .line02 {
    height: 76%;
    top: 30%;
  }

  @keyframes line-animation02 {
    0% {
      height: 0px;
    }

    100% {
      height: 76%;
    }
  }

  .sec02 .title_text {
    line-height: 0.5em;
  }

  .sec02 .title_text .eng1 {
    letter-spacing: -0.05em;
    right: 15px;
  }

  .sec02 {
    background: url(../images/top_company_bg.jpg) bottom/cover;
    padding: 90px 0 260px;
  }

  .btn {
    width: 45px;
    height: 45px;
  }

  .view_more {
    width: 300px;
    font-size: 18px;
    gap: 5px;
  }

  .sec03 .title_text .eng1 {
    right: 4px;
  }

  .title_text {
    line-height: 0.5em;
  }

  .sec03 {
    background: url(../images/sp/top_recruit_bg.jpg) 50%/cover;
  }

  .information_btn {
    position: unset;
    padding-top: 40px;
  }

  .information_btn .view_more {
    justify-content: unset;
  }

  .title_text {
    line-height: 0.7em;
  }

  .information_wrap li a {
    display: block;
  }

  .information_wrap li a p {
    padding-top: 7px;
  }

  .sec_contact .title_text {
    line-height: 0.8em;
  }

  .contact_wrap .contact_btn {
    padding: 10px;
    font-size: 17px;
  }

  .footer .left .logo_box {
    gap: 15px;
  }

  .f_logo {
    max-width: 130px;
  }

  .f_eneos_logo {
    max-width: 185px;
  }

  .footer .right .top_nav {
    flex-wrap: wrap;
  }

  .footer .right .top_nav ul:nth-child(1) {
    flex: 0.15;
  }

  .footer .right .top_nav ul:nth-child(2) {
    flex: unset;
  }

  .footer .right .top_nav ul:nth-child(3) {
    flex: 0.7;
    margin-left: 3vw;
  }

  .footer .right .top_nav ul:nth-child(4) {
    flex: unset;
    justify-content: unset;
    padding-top: 25px;
  }

  .footer .right .top_nav ul:nth-child(4) li:nth-child(n + 2) {
    width: 33%;
  }

  .footer .left .shop_box li {
    font-size: 14px;
  }

  .footer .left .shop_box li a {
    padding: 5px 10px;
  }

  .footer .left .shop_box {
    gap: 10px;
  }

  .f_contact_btn {
    font-size: 16px;
    padding: 7px;
  }

  .footer .left .address_box p:nth-child(4) {
    font-size: 16px;
  }

  /*****************/
  .view2 {
    background: url(../images/sp/main_bg2.jpg) 50%/cover;
    height: 500px;
  }

  .main_company {
    background: url(../images/sp/main_company.jpg) 50%/cover;
  }

  .main_compliance {
    background: url(../images/sp/main_compliance.jpg) 50%/cover;
  }

  .main_contact {
    background: url(../images/sp/main_campaign.jpg) 50%/cover;
  }

  .main_history {
    background: url(../images/sp/main_history.jpg) 50%/cover;
  }

  .main_home {
    background: url(../images/sp/main_home.jpg) 50%/cover;
  }

  .main_management {
    background: url(../images/sp/main_management.jpg) 50%/cover;
  }

  .main_marine {
    background: url(../images/sp/main_marine.jpg) 50%/cover;
  }

  .main_news {
    background: url(../images/sp/main_news.jpg) 50%/cover;
  }

  .main_office {
    background: url(../images/sp/main_office.jpg) 50%/cover;
  }

  .main_privacy {
    background: url(../images/sp/main_privacy.jpg) 50%/cover;
  }

  .main_campaign {
    background: url(../images/sp/main_contact.jpg) 50%/cover;
  }

  .main_ss {
    background: url(../images/sp/main_ss.jpg) 50%/cover;
  }

  .main_service05 {
    background: url(../images/sp/main_service05.jpg) 50%/cover;
  }

  .main_title {
    top: 36%;
    left: 3vw;
    font-size: 31px;
    padding-bottom: 5px;
  }

  .main_title span {
    font-size: 16px;
  }

  .main_title_eng {
    bottom: -16px;
    left: 2vw;
    font-size: 50px;
  }

  .main_list {
    gap: 10px;
    bottom: 20%;
  }

  .main_list p {
    font-size: 12px;
  }

  .title_mini {
    left: 3vw;
    top: 34%;
    font-size: 13px;
  }

  .title01 span {
    border: 5px solid #0820a2;
    width: 16px;
    height: 16px;
  }

  .company01_bg_wrap .flex {
    display: block;
  }

  .company01_bg_wrap .company01_contents {
    width: 88%;
  }

  .company01_bg_wrap .company01_contents .right {
    padding-top: 25px;
  }

  .company01_bg_wrap .company01_contents .right img {
    max-width: 300px;
  }

  .philo_sophy {
    width: 27.25vw;
  }

  .sec_company02 {
    height: 217vw;
  }

  .sec_company02 .flex {
    flex-wrap: wrap-reverse;
    gap: 16vw;
  }

  .sec_company02 .right {
    width: 76%;
  }

  .sec_company02 .left p {
    font-size: 20px;
    line-height: 2.9em;
  }

  .sec_company03 .container1820 {
    padding: 0;
  }

  .sec_company03 ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 20px;
    row-gap: 20px;
  }

  .sec_company03 ul li {
    padding-top: 16vw;
    padding-bottom: 4vw;
  }

  .sec_company03 ul li h3 {
    font-size: 21px;
    padding: 0 25px 5px 25px;
    display: inline-block;
  }

  .sec_company04 .container1820 {
    display: block;
  }

  .company_list {
    margin-top: 25px;
  }

  .company_list li {
    display: block;
    padding: 15px 10px;
  }

  .company_list li:nth-child(7) .list_box {
    display: block;
  }

  .company_list .list02 p:nth-child(1) {
    font-size: 14px;
  }

  .company_list .list02 p:nth-child(2) {
    font-size: 14px;
  }

  .company_list li p:nth-child(1) {
    font-size: 15px;
  }

  .list02 {
    padding-top: 15px;
  }

  /**/
  .sec_management01 .container1820 {
    width: 88%;
    margin-right: auto;
    margin-left: auto;
  }

  .sec_management01 .flex {
    display: block;
    width: 100%;
  }

  .management_list {
    padding: 60px 25px 70px;
  }

  .management_list .left {
    text-align: center;
  }

  .management_list .left img {
    max-width: 120px;
  }

  .management_list ul li .right h2 {
    margin-bottom: 15px;
    padding-bottom: 5px;
  }

  .management_list ul li:nth-child(n + 2) {
    margin-top: 35px;
  }

  /*ss*/
  .sec_ss02 .container1820.bg_e2f3ff {
    padding: 40px 25px 60px;
  }

  .ss_bg_title {
    width: 17.2vw;
  }

  .sec_ss02 .flex_56 .bg_d2ecff {
    padding: 15px 15px;
  }

  .ss_list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3.5vw;
  }

  .ss_list li {
    padding: 30px 25px;
  }

  /**/
  .marine_box_right p {
    padding-bottom: 25px;
  }

  .marine_box_right h3 {
    padding-bottom: 15px;
    margin-bottom: 35px;
  }

  .sec_marine03 .container1820 {
    padding: 25vw 25px 60px;
  }

  .marineList_title {
    font-size: 13.2vw;
    line-height: 0.9em;
  }

  .marine_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 10vw;
  }

  .marine_list li .flex p {
    display: block;
    padding: 0 7px;
  }

  .marine_list_deco {
    bottom: -6vw;
    right: 5%;
    max-width: 19vw;
  }

  .marine_list li h3 {
    padding-bottom: 5px;
    padding-left: 25px;
  }

  .marine_list li .flex {
    padding-left: 25px;
    padding-top: 15px;
    gap: 3px 5px;
  }

  .marine_list li .flex p span:nth-child(1) {
    display: inline-block;
  }

  .marine_list li .flex p span:nth-child(2) {
    display: block;
  }

  .marine_list li .flex p span:nth-child(1):after {
    right: -15px;
  }

  .sec_marine02 {
    padding: 175vw 0;
    height: 2729px;
  }

  .marine_tel {
    max-width: 370px !important;
  }

  .marine_line01_2,
  .marine_line02_2,
  .marine_line03_2,
  .marine_line04_2 {
    height: 77%;
    top: 23%;
  }

  @keyframes marine_line01_2 {
    0% {
      height: 0;
    }

    100% {
      opacity: 1;
      height: 77%;
    }
  }

  .sec_marine03 .bg_ededed {
    padding: 10px 20px;
    display: block;
  }

  .sec_marine03 .bg_ededed li:nth-child(1) {
    display: inline-block;
    padding-right: 0;
  }

  .sec_marine03 .bg_ededed li:nth-child(1):after {
    right: -25px;
  }

  .sec_marine03 .bg_ededed li {
    font-size: 15px;
  }

  .company_contact {
    padding: 60px 0 80px;
  }

  .home_contact .flex_box .tel:nth-child(3) {
    border-bottom: 1px solid #59f0ff;
    border-top: 1px solid #59f0ff;
  }

  .company_contact .flex_box .tel {
    border-bottom: 1px solid #34c8fc;
    border-top: 1px solid #34c8fc;
    padding: 17px 0;
    margin-top: 25px;
    display: block;
  }

  .company_contact .flex_box .tel img {
    width: 100%;
    max-width: 320px;
  }

  .company_contact .bg01 {
    bottom: -12vw;
    width: 195px;
  }

  .company_contact .bg02 {
    top: 15%;
    right: 0;
    width: 120px;
  }

  .sec_home01 .flex {
    display: block;
  }

  .sec_home02 .container1820 {
    padding: 60px 25px;
  }

  .home_product_wrap {
    grid-template-columns: repeat(1, 1fr);
    column-gap: unset;
    row-gap: unset;
    gap: 45px;
  }

  .campaign_banner .left {
    width: 100%;
    padding: 25px;
    border-radius: 25px;
  }

  .campaign_banner .right {
    display: none;
  }

  .campaign_banner_title {
    font-size: 43px;
  }

  .campaign_banner .left .flex {
    align-items: end;
  }

  .home_product_wrap02 .left p {
    top: unset;
    bottom: -10px;
    right: 55px;
    font-size: 27px;
  }

  .home_deco02 {
    top: unset;
    bottom: -35px;
    right: 8px;
    max-width: 111px;
  }

  .homeEnergy {
    top: 5vw;
    right: 2vw;
    width: 21.25vw;
  }

  .home_product_wrap li .img100 p {
    bottom: 0px;
    left: 15px;
    font-size: 25px;
  }

  .home_deco {
    bottom: -16px;
    left: -22px;
    max-width: 90px;
  }

  .home_product_wrap li p {
    font-size: 13px;
  }

  .company_contact .flex_box .tel {
    margin: 25px auto;
  }

  .company_contact .flex_box .btn {
    margin: 0 auto;
  }

  .company_contact .flex_box .tel img {
    max-width: 230px;
  }

  /*his*/
  .history_list li {
    display: block;
    padding: 25px 10px;
  }

  .history_list li h3 {
    flex: 0.15;
    font-size: 41px;
    padding-bottom: 23px;
  }

  .history_list li p span:nth-child(1) {
    flex: 0.15;
  }

  .history_list li p span:nth-child(2) {
    flex: 0.83;
  }

  .history_list li div p:nth-child(n + 2) {
    padding-top: 5px;
  }

  /**/
  .title01 {
    gap: 5px;
  }

  .offices_title {
    padding-bottom: 5px;
  }

  .offices_ss_title {
    right: -6vw;
    top: 127px;
    width: 56vw;
  }

  .offices_map_wrap {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 21vw;
  }

  .offices_map_wrap li h3 {
    padding-bottom: 15px;
    padding-left: 35px;
    margin-bottom: 10px;
  }

  .map iframe {
    height: 320px;
  }

  .service_stations_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 50px;
  }

  .service_stations_list02 {
    grid-template-columns: repeat(1, 1fr);
    gap: 50px;
  }

  .service_stations_list .btn_blue {
    width: 41px !important;
    height: 41px !important;
  }

  .btn_wrap {
    padding-top: 25px;
  }

  .service_stations_list li .bg_e0fef3 div:nth-child(1) {
    gap: 10px;
    padding-right: 15px;
  }

  .service_stations_list02 li .bg_d7fcfd div:nth-child(1) {
    gap: 10px;
  }

  .service_stations_list li .sp_flex740 div:nth-child(1) {
    flex-wrap: wrap;
  }

  .service_stations_list li .sp_flex740 div:nth-child(1) h4 {
    width: 100%;
  }

  .service_stations_list02 li .sp_flex740 div:nth-child(1) {
    flex-wrap: wrap;
  }

  .service_stations_list02 li .sp_flex740 div:nth-child(1) h4 {
    width: 100%;
  }

  .service_stations_list02 li .bg_e2f3ff div:nth-child(1) {
    gap: 5px;
  }

  .service_stations_list li .bg_e0fef3 .eng2 {
    font-size: 15px;
  }

  .service_stations_list02 li .bg_e2f3ff div p span {
    font-size: 15px;
  }

  .service_stations_list02 li .bg_d7fcfd div p span {
    font-size: 15px;
  }

  /**/
  .main_text_wrap {
    display: none;
  }

  .service_bg_color {
    padding-bottom: 0;
  }

  .view_service01 {
    background: url(../images/sp/service01_main.png) 63% 0/auto no-repeat;
    background-size: 237%;
    height: 177vw;
  }

  .view_service01:after {
    content: "";
    position: absolute;
    bottom: 34.7%;
    left: 0;
    background: url(../images/service01_10.png) 70% 0/auto no-repeat;
    background-repeat: no-repeat;
    background-size: 140%;
    width: 100%;
    height: 20vw;
    z-index: 0;
  }

  .service_main_title {
    top: 20%;
    left: 2.5%;
    z-index: 1;
  }

  .service_pankuzu {
    font-size: 10px;
  }

  .service_pankuzu i {
    width: 8px;
    height: 1px;
    background: #001278;
    margin: 0 5px;
  }

  .view_service01 .bg_fff {
    width: 25%;
    height: 62%;
  }

  .service01_titleText_img {
    bottom: 43vw;
    left: 3vw;
    width: 93vw;
  }

  .service01_round_img {
    bottom: 4vw;
    right: 6vw;
    width: 37.75vw;
  }

  .point8_list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px;
    row-gap: 15px;
  }

  /**/
  .service01_pickup {
    padding: 60px 25px;
  }

  .point_list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2vw;
    row-gap: 2vw;
  }

  .service01_other {
    padding: 60px 25px;
  }

  .other_img {
    max-width: 90px;
  }

  .service01_course_top {
    background: url(../images/sp/service_course01.jpg) 65% 550%/auto;
    height: 1020px;
  }

  .service01_course2_top {
    background: url(../images/sp/service_course02.jpg) 15% 550% / auto no-repeat;
    height: 540px;
    background-color: #0820a2;
  }

  .service01_course_top .blue_bg_wrap {
    left: 0;
    bottom: 0;
  }

  .service01_course_top .blue_bg_wrap .blue_bg {
    opacity: 0.93;
    width: 100%;
    height: 680px;
  }


  .service01_course2_top .blue_bg_wrap .blue_bg {
    display: none;
  }

  .blue_bg_sp {
    background: #0820a2;
    opacity: 0.93;
    height: 210px;
    max-width: unset;
  }

  .service01_course_top .blue_bg_wrap .text_box {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 2.5vw 3vw;
    height: auto;
  }

  .service01_course_top .flex_box .right {
    padding-top: 25px;
  }

  .service01_course_top .flex_box .right img {
    width: 100%;
    max-width: 280px;
  }

  .service01_course_top .number {
    right: 2.5%;
    top: -100px;
    font-size: 130px;
  }

  .perfect_course02 {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 25px;
  }

  .service01_course_top .fukidashi {
    top: -21%;
    left: 20px;
    max-width: 180px;
  }


  .service01_course_top .fukidashi2 {
    max-width: 180px;
    top: -27%;
  }

  .service01_course_bottom .number {
    right: 6.5%;
    top: -68px;
    font-size: 105px;
  }

  .service01_course_bottom .left .fukidashi {
    top: -20%;
    left: 6%;
    max-width: 170px;
  }

  .service01_course_bottom .text_box {
    padding: 25px 25px;
    height: 290px;
    max-width: unset;
  }

  .service01_course_bottom .blue_bg {
    height: 290px;
    max-width: unset;
  }

  .service02_sec .font15 {
    font-size: 13px !important;
  }

  .perfect_course li .price_box_bottom p {
    width: 100%;
  }

  .perfect_course li .price_box_bottom {
    grid-template-columns: repeat(1, 1fr);
  }

  .perfect_course li .price_box_top {
    display: block;
  }

  .perfect_course li .price_box_top .price_right {
    padding-top: 15px;
  }

  .perfect_course li .car_title {
    top: 8vw;
    font-size: 19px;
    padding: 0 30px 0 20px;
  }

  .perfect_course li {
    padding: 60px 25px;
  }

  .perfect_course li .img100 {
    height: 225px;
  }

  .perfect_course02 li {
    padding: 25px;
  }

  .perfect_course02 li .car_title {
    top: 8vw;
    font-size: 19px;
    padding: 0 30px 0 20px;
  }

  .perfect_course02 li .img100 {
    height: 225px;
  }

  .perfect_course li .price_box_top .price_right {
    font-size: 46px;
  }

  .perfect_course02 li .price_box_top .price_right {
    flex-wrap: wrap;
  }

  .perfect_course02 li .price_box_top .price_right .bg_0820a2 {
    display: table;
    margin-top: 15px;
  }

  .perfect_course02 li .price_box_top .price_left {
    padding-top: 5px;
  }

  .sec_service_contact .container1820 .flex_box .bg_34c8fc {
    padding: 35px 25px;
    width: 100%;
  }

  .service_contact_title {
    font-size: 54px;
    line-height: normal;
  }

  .sec_service_contact .container1820 .flex_box .bg_34c8fc .contact_btn {
    max-width: 470px;
    font-size: 19px;
  }

  .service03_sec {
    padding: 90px 0 170px;
  }

  .sec_service_contact .container1820 .flex_box .bg_e2f3ff {
    padding: 35px 25px;
    width: 100%;
    margin-top: 15px;
  }

  .narasaki_list li a {
    padding: 5px 10px;
    font-size: 12px;
  }

  .sec_service_contact {
    height: unset;
  }

  .sec_service_contact02 {
    padding-top: 0;
  }

  .sec_service_contact .container1820 {
    bottom: unset;
  }

  .sec_service_contact .container1820 .flex_box {
    position: relative;
    bottom: 85px;
  }

  .service01_course_bottom .left {
    background: url(../images/sp/service_course02.jpg) 15% 550%/auto no-repeat;
    height: 517px;
  }

  .service01_course_bottom .right {
    background: url(../images/sp/service_course03.jpg) 50% 550%/auto no-repeat;
    height: 517px;
  }

  .coating_shop_deco {
    top: 2%;
    right: 3%;
    width: 70px;
  }

  .coating_main_text .flex {
    display: block;
  }

  .view_service {
    background: url(../images/sp/service_coating_main.jpg) 65%/cover;
    height: 850px;
    width: 75%;
  }

  .coating_main_text {
    bottom: -18%;
    left: 50%;
    transform: translateX(-50%);
    padding: 25px 25px;
    width: 90%;
    max-width: unset;
  }

  .coating_main_text .flex h2 {
    font-size: 23px;
    padding-top: 10px;
  }

  .coating_plan tr td:nth-child(1) img {
    max-width: 100px;
  }

  .merit4_title img {
    width: 100%;
    max-width: 280px;
  }

  .coating_main_text:after {
    top: 170px;
    height: 1px;
  }

  .coating_plan tr td:last-child {
    padding: 15px 5px;
  }

  .coating_plan tr td:last-child img {
    width: 100%;
    max-width: 25px;
  }

  .merit4_bg {
    padding-top: 230px !important;
  }

  .merit_list {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 3vw;
    row-gap: 3vw;
  }

  .merit4_bg_car {
    background: unset;
  }

  .plan6_title {
    width: 100%;
    max-width: 250px;
  }

  .merit_list li p {
    line-height: 2em;
  }

  .construction_works_flow .left {
    position: relative;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    justify-items: center;
  }

  .construction_works_flow .left p {
    font-size: 16px;
  }

  .construction_works_flow .left .round {
    width: 100%;
    max-width: 150px;
    height: 150px;
  }

  .construction_works_flow .right {
    display: none;
  }

  .construction_works_flow {
    display: block;
  }

  .construction_works_flow .left:after {
    display: none;
  }

  .construction_works_flow .left .round:nth-child(2) {
    margin-bottom: 0;
  }

  .construction_works_flow .left .round:nth-child(3) {
    margin-bottom: 0;
  }

  .construction_works_flow .left .round:nth-child(4) {
    margin-bottom: 0;
  }

  .sp_work_arrow {
    max-width: 30px;
    transform: rotateZ(90deg);
  }

  .construction_works_flow {
    padding-top: 60px;
  }

  .step_img01 {
    padding-bottom: 15px;
  }

  .step_img02 {
    padding-bottom: 5px;
  }

  .coating_plan_wrap {
    overflow-x: scroll;
  }

  .coating_plan {
    width: 180%;
    max-width: 1140px;
  }

  .coating_plan tr td:nth-child(1) {
    padding: 15px 10px;
  }

  .coating_plan thead tr td {
    font-size: 16px;
  }

  .coating_list02 li {
    display: block;
  }

  .coating_list02 li span:nth-child(1) {
    display: block;
  }

  #course01 .course_car_wrap {
    background: url(../images/coating_car.png) 150%/auto no-repeat;
    background-size: 80%;
    height: 610px;
  }

  #course01 .coating_text_img01 {
    top: 50%;
    left: 14%;
  }

  #course02 .course_car_wrap {
    background: url(../images/coating_car2.png) 150%/auto no-repeat;
    background-size: 80%;
    height: 610px;
  }

  #course02 .coating_text_img02 {
    top: 50%;
    left: 14%;
    width: 85px;
  }

  #course03 .course_car_wrap {
    background: url(../images/coating_car3.png) 150%/auto no-repeat;
    background-size: 80%;
    height: 610px;
  }

  #course03 .coating_text_img03 {
    top: 50%;
    left: 14%;
    width: 85px;
  }

  #course04 .course_car_wrap {
    background: url(../images/coating_car4.png) 150%/auto no-repeat;
    background-size: 80%;
    height: 610px;
  }

  #course04 .coating_text_img04 {
    top: 50%;
    left: 18%;
    width: 100px;
  }

  #course05 .course_car_wrap {
    background: url(../images/coating_car5.png) 150%/auto no-repeat;
    background-size: 80%;
    height: 610px;
  }

  #course05 .coating_text_img05 {
    top: 50%;
    left: 14%;
    width: 90px;
  }

  #course06 .course_car_wrap {
    background: url(../images/coating_car6.png) 195%/auto no-repeat;
    background-size: 88%;
    height: 122vw;
  }

  #course06 .coating_text_img06 {
    top: 50%;
    left: 18%;
    width: 110px;
  }

  .course_tab li {
    padding: 15px 3vw;
    transition: .1s;
  }

  .course_tab {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px;
    row-gap: 10px;
  }

  .course_contents {
    border-top: 3px solid #0926c0;
  }

  #tab1 {
    border-left: 2px solid #0926c0;
    border-right: 2px solid #0926c0;
    border-top: 2px solid #0926c0;
    border-bottom: 2px solid #0926c0;
  }

  .switch_on {
    z-index: 0;
    border-left: 2px solid #0926c0;
    border-right: 2px solid #0926c0;
    border-top: 2px solid #0926c0;
    border-bottom: 2px solid #0926c0;
  }

  .switch_off {
    border-bottom: unset !important;
  }

  .course_tab li div {
    height: unset;
    margin-bottom: 10px;
  }

  .service_course_sec .container1680 .font18 {
    font-size: 16px;
  }

  .course_title {
    display: block;
  }

  .coating_list01 li {
    display: block;
  }

  .coating_list01 li span:nth-child(1) {
    display: block;
    font-size: 16px;
  }

  .star_deco::after {
    top: -8px;
    right: unset;
    left: 50%;
    transform: translateX(-50%);
  }

  .service_size_sec {
    padding-bottom: 145px;
  }

  .btn_car_size {
    max-width: 280px;
    font-size: 17px;
    padding: 5px;
  }

  /**/
  .view_service_03 {
    background: url(../images/service_03_main_bg.jpg) left/cover;
    height: 171vw;
  }

  .service_03_catch {
    top: unset;
    bottom: 38%;
    left: 50%;
    width: 85vw;
  }

  .service_main_title02 {
    top: 30%;
    left: 2.5%;
  }

  .service_main_title02.service03_main_title02 {
    top: 21%;
  }

  .service_main_title02.service04_main_title02 {
    top: 11%;
  }

  .service_03_main_car {
    bottom: 11%;
    right: 1.5%;
    width: 94.3vw;
  }

  /**/
  .service_03_plan_title {
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
  }

  .car_list_wrap .car_list_box {
    padding-top: 35px;
    padding-bottom: 35px;
    display: block;
  }

  .car_list_wrap .car_list_box .left {
    width: 100%;
    padding: 30px 25px;
    margin-bottom: 45px;
  }

  .car_list_wrap .car_list_box .left ul li {
    display: block;
    padding: 10px 0;
  }

  .car_list_wrap .car_list_box .left ul li div:nth-child(1) {
    padding-bottom: 5px;
  }

  .car_list_wrap .car_list_box .right {
    width: 100%;
  }

  .car_list_wrap .car_list_box .right .car_title01 {
    position: unset;
    margin-bottom: 25px;
  }

  .car_list_wrap .car_list_box .right .car_title02 {
    position: unset;
    margin-bottom: 25px;
  }

  .car_list_wrap .car_list_box .right .car_title03 {
    position: unset;
    margin-bottom: 25px;
  }

  .swift {
    width: 86%;
    margin-bottom: 25px;
  }

  .N-BOX {
    width: 86%;
    margin-bottom: 25px;
  }

  .tanto {
    width: 86%;
    margin-bottom: 25px;
  }

  .car_list_price span:nth-child(1) {
    font-size: 22px;
  }

  .car_list_price span:nth-child(2) {
    font-size: 50px;
  }

  .car_list_price span:nth-child(3) {
    font-size: 27px;
  }

  .car_list_price span:nth-child(4) {
    font-size: 17px;
  }

  .service_03_sec02 .container1820 {
    padding: 60px 25px 40px;
  }

  .eneos_car_title::before {
    content: "";
    right: -8%;
    width: 14px;
    height: 23px;
  }

  .eneos_car_title .c-ff6702 {
    font-size: 27px;
  }

  .eneos_car_title span:nth-child(2) {
    font-size: 22px;
  }

  .eneos_car_title span:nth-child(3) {
    font-size: 19px;
  }

  .eneos_car_title::after {
    left: -8%;
    width: 14px;
    height: 23px;
  }

  .youtube_wrap iframe {
    height: 50vw;
  }

  .service_03_sec03 {
    position: relative;
    padding: 60px 0 180px;
    background: url(../images/sp/service_03_bg02.png) top/auto;
    background-size: 100%;
  }

  .service_03_plan_container {
    padding: 60px 25px 70px;
  }

  .service_03_plan_container {
    padding: 60px 25px 70px;
  }

  .plan_title01 {
    width: 76%;
    margin: 0 auto;
    font-size: 19px;
  }

  .plan_title02 {
    padding: 5px 10px;
    font-size: 16px;
  }

  .plan_title02 span {
    width: 33px;
    height: 33px;
    padding-right: 2px;
  }

  .plan_title03 {
    display: block;
    text-align: center;
  }

  .plan_title03 span {
    width: 33px;
    height: 33px;
    margin: 0 auto;
    padding-right: 1px;
  }

  .plan03_box ul {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 10px;
  }

  .plan03_box ul li {
    padding: 10px 25px;
    justify-content: center;
    gap: 10vw;
  }

  .plan03_box ul li p {
    font-size: 14px;
  }

  .plan03_box ul li .midashi21 {
    font-size: 17px;
  }

  .plan03_box ul li img {
    width: 80px;
  }

  .service_03_plan_container .c-0820a2.bg_ffe745 {
    border-radius: 25px;
    padding: 15px 25px;
  }

  .plan2_list .c-0820a2.midashi21 {
    display: block;
    text-align: center;
  }

  .plan2_list .c-0820a2.midashi21 span {
    width: 33px;
    height: 33px;
    margin: 0 auto 10px;
  }

  .service_03_plan_container .bg_92d2ff.text_box {
    padding: 30px 20px;
    text-align: unset;
  }

  .service_03_plan_container .bg_92d2ff.text_box .midashi21.bg_e2f3ff {
    padding: 3px 10px;
    width: fit-content;
    display: block;
  }

  /**/
  .view_service_04 {
    background: url(../images/sp/service_04_main.jpg) center/cover;
    height: 1150px;
    width: 86%;
  }

  .service_04_catch {
    top: 32%;
    right: 3vw;
    width: 88%;
  }

  .service_04_catch h2 {
    font-size: 16px;
    padding: 10px 15px;
  }

  .service_04_catch p {
    padding-top: 30px;
    font-size: 15px;
    padding-left: 3vw;
  }

  .truck {
    bottom: -9vw;
    width: 84%;
    max-width: 350px;
  }

  /**/
  .service_04_sp_map {
    background: url(../images/sp/map_bg.jpg) right/cover no-repeat;
    height: 500px;
  }

  .service_04_point5 {
    width: 94%;
    max-width: 350px;
  }

  .service_04_sec03 {
    background: url(../images/sp/map_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    height: auto;
    padding: 60px 0 150vw;
  }

  .contact_region {
    position: unset;
    transform: unset;
    width: 88%;
    margin: 0 auto;
  }

  .point5_list li {
    width: 48%;
  }

  .point5_list li .bg_0820a2 {
    padding: 15px 25px;
  }

  .service_04_sec02 .flex_50 {
    padding: 30px 25px;
  }

  .service_04_sec03 ul {
    display: block;
  }

  .service_04_sec03 ul li .flex {
    display: block;
  }

  .service_04_sec03 ul li:nth-child(n + 2) {
    margin-top: 10px;
  }

  .service_04_sec03 ul li p span {
    font-size: 10px;
  }

  .map_fukidashi {
    position: absolute;
    top: unset;
    bottom: 48vw;
    left: 4%;
    right: unset;
    max-width: 35vw;
  }

  .point5_list {
    display: block;
  }

  .point5_list li {
    width: 100%;
  }

  .point5_list li:nth-child(n + 2) {
    margin-top: 25px;
  }

  .point5_list li .bg_0820a2 {
    padding: 15px 25px;
    height: 215px;
  }

  .sp_fukidashi {
    max-width: 160px;
  }

  .eneos_icon {
    max-width: 50px;
  }

  .eneos_ssapp_list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 10px;
  }

  .eneos_ssapp_list li {
    padding: 25px;
  }

  .service_05_fukidashi {
    left: 50%;
    transform: translateX(-180%);
    top: -2vw;
    width: 65px;
  }

  .app_gentei {
    left: 50%;
    transform: translateX(-150%);
    top: -10px;
    width: 90px;
  }

  .eneos_ssapp_list li .number {
    width: 30px;
    height: 30px;
    font-size: 18px;
  }

  .service_05_fukidashi3 {
    top: -0.5vw;
    left: 50%;
    right: unset;
    transform: translateX(25%);
    width: 128px;
  }

  .eneos_icon_title {
    flex-wrap: wrap;
    margin-top: 10px;
  }

  .enekey_img {
    max-width: 250px;
  }

  .enekey_img02 {
    max-width: 210px;
  }

  .enekey_img03 {
    max-width: 180px;
  }

  .card_list {
    display: block;
    padding: 0 14vw;
  }

  .card_list li:nth-child(n + 2) {
    margin-top: 25px;
  }

  .card_tokuten_title {
    width: 100%;
    max-width: 350px;
  }

  .card_tokuten_bg {
    position: relative;
    background: url(../images/sp/card_tokuten_bg.png) top center/cover;
  }

  .card_tokuten_bg::after {
    content: "";
    position: absolute;
    top: -5vw;
    left: 0;
    background-image: url(../images/sp/card_tokuten_bg_round.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 97px;
  }

  .card_tokuten_bg ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }

  .card_tokuten_bg ul li {
    padding: 25px 25px;
  }

  .card_tokuten_bg ul li h3 {
    line-height: 2.5em;
  }

  .enekey_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 5vw 4vw;
  }

  .enekey_list li .bg_92d2ff {
    padding: 10px 25px;
    margin: 0 auto;
    line-height: 1.8em;
    display: block;
    text-align: center;
  }

  .enekey_list li .bg_92d2ff span {
    width: 35px;
    height: 35px;
    margin: 0 auto 10px;
  }

  /**/
  .service_06_tab .bg_fff::after {
    display: none;
  }

  .service_06_tab .bg_fff::before {
    display: none;
  }

  .service_06_tab .bg_e2f3ff::after {
    display: none;
  }

  .service_06_tab .bg_e2f3ff::before {
    display: none;
  }

  .service_06_tab .bg_e2f3ff {
    border-bottom: unset;
  }

  .service_06_tab {
    display: block;
    padding-bottom: 45px;
  }

  .service_06_tab {
    width: 74%;
  }

  .service_06_tab li {
    border-radius: 12px;
    padding: 20px 15px 10px 15px;
  }

  .service_06_tab li:nth-child(2) {
    margin-top: 15px;
  }

  .service_06_list {
    padding-bottom: 25px;
  }

  .service_06_list li a {
    display: block;
  }

  .service_06_list li a span {
    padding: 1px 3px;
  }

  .service_06_list li a p {
    padding-left: 0;
    padding-top: 10px;
  }

  /**/
  .view_recruitment {
    background: url(../images/sp/recruitment_main.jpg) 71% 0/cover;
    height: 1100px;
  }

  .recruit_catch {
    left: 15px;
    width: 91%;
    max-width: 450px;
  }

  .recruitment_main_text {
    bottom: 2%;
    left: 25px;
    width: 86%;
  }

  .recruitment_sec01 {
    padding-top: 200px;
    background-position: 0 2%;
    background-size: 250px;
  }

  .recruitment_sec01 .container1800 {
    margin-right: auto;
    margin-left: auto;
  }

  .recruitment_sec01 .container1800 .text_box {
    padding-right: 0vw;
  }

  .recruitment_sec02 .img_box h2 {
    left: 1%;
    bottom: -14%;
  }

  .recruitment_sec02 .img_box h2 span {
    margin-right: 10px;
  }

  .recruitment_sec02 .img_box {
    position: relative;
  }

  .recruitment_sec02 .flex {
    height: auto;
  }

  .recruitment_sec02 .flex .right div {
    height: auto;
  }

  .recruitment_sec02 .flex .right {
    padding: 60px 25px 30px;
    display: block;
    width: 90%;
  }

  .recruitment_sec02 .flex .left {
    width: 10%;
  }

  .recruitment_sec03 {
    padding: 40px 0;
  }

  .recruitment_sec03 .flex_box .flex_49 {
    padding: 40px 25px;
  }

  .recruitment_sec03 .flex_box .flex_49 h2 {
    font-size: 17px;
  }

  .recruitment_number_img {
    position: unset;
    width: 71%;
    display: block;
    margin-left: auto;
    margin-top: 25px;
  }

  .recruitment_welfare_img {
    position: unset;
    width: 74%;
    display: block;
    margin-left: auto;
    margin-top: 25px;
  }

  .recruitment_sec03 .flex_box .flex_49 h2 span {
    margin-right: 10px;
  }

  .recruitment_footer_btn {
    font-size: 13px;
    padding: 10px 25px;
    margin: 25px auto 25px;
  }

  .recruitment_copy {
    font-size: 13px;
  }

  .recruitment_sec05 .entry_wrap {
    display: block;
    height: auto;
  }

  .recruitment_sec05 .entry_wrap .left {
    width: 100%;
  }

  .recruitment_sec05 .entry_wrap .center {
    width: 100%;
    padding: 40px 25px;
  }

  .recruitment_sec05 .entry_wrap .right {
    width: 100%;
  }

  .recruitments_btn {
    max-width: 200px;
  }

  .loop_left {
    width: 100vw;
    height: auto;
    display: flex;
    overflow: hidden;
  }

  .loop_left ul {
    width: auto;
    height: auto;
    display: flex;
  }

  .loop_left li {
    width: 100%;
    max-width: 210px;
    height: 180px;
    display: flex;
    overflow: hidden;
    margin: 0 3px;
  }

  .loop_left li div {
    width: 210px;
    height: 180px;
  }

  .loop_left li div img {
    position: absolute;
    top: -15%;
    left: -33%;
  }

  @keyframes loop_left01 {
    0% {
      transform: translateX(100%);
    }

    to {
      transform: translateX(-100%);
    }
  }

  @keyframes loop_left02 {
    0% {
      transform: translateX(0);
    }

    to {
      transform: translateX(-200%);
    }
  }

  .loop_left ul:first-child {
    animation: loop_left01 70s -35s linear infinite;
  }

  .loop_left ul:last-child {
    animation: loop_left02 70s linear infinite;
  }

  .loop_right {
    width: 100vw;
    height: auto;
    display: flex;
    overflow: hidden;
  }

  .loop_right ul {
    width: auto;
    height: auto;
    display: flex;
  }

  .loop_right li {
    width: 100%;
    max-width: 210px;
    height: 180px;
    display: flex;
    overflow: hidden;
    margin: 0 3px;
  }

  .loop_right li div {
    width: 210px;
    height: 180px;
    margin: 0;
  }

  .loop_right li div img {
    position: absolute;
    top: -15%;
    left: -33%;
  }

  @keyframes loop_right01 {
    0% {
      transform: translateX(-100%);
    }

    to {
      transform: translateX(100%);
    }
  }

  @keyframes loop_right02 {
    0% {
      transform: translateX(-200%);
    }

    to {
      transform: translateX(0);
    }
  }

  .loop_right ul:first-child {
    animation: loop_right01 70s -35s linear infinite;
  }

  .loop_right ul:last-child {
    animation: loop_right02 70s linear infinite;
  }

  .interview_number {
    font-size: 37px;
  }

  .interview_number span:nth-child(2) {
    font-size: 23px;
  }

  .pankuzu {
    right: 10px;
    top: 11%;
  }

  .fix_entry_btn {
    bottom: 86px;
    right: -20px;
    max-width: 100px;
    padding: 0;
    font-size: 23px;
    z-index: 10;
    line-height: 1.13em;
  }

  #recruitment_logo img {
    width: 210px;
  }

  /**/
  .view_conversation {
    background: url(../images/sp/conversation_main.jpg) 70%/cover;
    height: 650px;
  }

  .recruit_main_title {
    left: 4%;
    bottom: 30%;
    font-size: 37px;
    line-height: 0.8em;
  }

  .recruit_main_title span {
    font-size: 23px;
  }

  .conversation_main_text {
    left: 4%;
    bottom: 2%;
  }

  .conversation_main_text .font18 {
    font-size: 14px;
  }

  .conversation_main_text table {
    width: 100%;
  }

  .conversation_main_text table thead td {
    font-size: 20px;
  }

  .conversation_main_text table tr td:nth-child(1) {
    width: unset;
  }

  .conversation_main_text table tr td {
    padding: 0 30px 0 10px;
  }

  .member_wrap {
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 25px;
    row-gap: 20px;
  }

  .member_wrap li:nth-child(1) {
    width: 40%;
  }

  .member_wrap li:nth-child(2) {
    display: none;
  }

  .member_wrap li:nth-child(3) {
    width: 40%;
  }

  .member_wrap li:nth-child(5) {
    width: 40%;
  }

  .member_wrap li:nth-child(6) {
    display: none;
  }

  .member_wrap li:nth-child(7) {
    width: 40%;
  }

  .member_wrap li:nth-child(4) {
    display: none;
  }

  .member_wrap li:nth-child(even) img {
    bottom: 0px;
  }

  .conversation_list .left {
    margin-bottom: 40px;
    width: 80px;
  }

  .conversation_list .left img {
    width: 100%;
    max-width: 100px;
  }

  .conversation_list li:nth-child(even) .left {
    order: 2;
  }

  .conversation_list li:nth-child(even) .right {
    border-radius: 25px 0 25px 25px;
  }

  .conversation_list li:nth-child(even) .right::after {
    left: unset;
    top: 0px;
    right: -13px;
    transform: rotateZ(180deg) rotateX(180deg);
  }

  .conversation_list li .right {
    padding: 20px 15px;
    flex: 0.99;
  }

  .conversation_list li .right::after {
    left: -12px;
  }

  .conversation_sec02 .flex_49 {
    width: 100%;
  }

  .conversation_sec02 .flex_49:nth-child(1) {
    margin-bottom: 10px;
  }

  .conversation_sec02 .flex_49:nth-child(2) {
    margin-bottom: 35px;
  }

  .conversation_number_box .midashi120 {
    font-size: 65px;
  }

  .conversation_number_box .midashi26 {
    font-size: 21px !important;
  }

  /*interview*/
  .interview_main_title h2 {
    font-size: 37px;
  }

  .interview_main_title h2 span {
    font-size: 23px;
  }

  .view_interview {
    height: 700px;
  }

  .interview01 {
    background: url(../images/sp/interview01_main.jpg) center/cover;
  }

  .interview02 {
    background: url(../images/sp/interview02_main.jpg) center/cover;
  }

  .interview03 {
    background: url(../images/sp/interview03_main.jpg) center/cover;
  }

  .interview04 {
    background: url(../images/sp/interview04_main.jpg) center/cover;
  }

  .interview_main_title .midashi29 {
    padding-left: 10px;
  }

  .interview_main_title h2 span {
    padding-left: 10px;
  }

  .interview_sec01 .img100 {
    margin-bottom: 25px;
  }

  .interview_sec01 .interview_number {
    right: 5px;
    top: 10px;
    width: 80px;
  }

  .interview_sec01 .midashi52 {
    font-size: 24px;
  }

  .narasaki_recruit01 {
    width: 34vw;
    bottom: -10%;
  }

  .narasaki_recruit02 {
    width: 20vw;
  }

  /**/
  .view_welfare {
    background: url(../images/sp/welfare_main.jpg) center/cover;
    height: 600px;
  }

  .welfare_sec01 {
    padding: 50px 0;
  }

  .welfare_wrap {
    display: block;
  }

  .welfare_wrap .left {
    width: 100%;
    grid-template-columns: repeat(1, 1fr);
    gap: 4vw;
  }

  .welfare_wrap .left ul li {
    padding: 25px 20px;
  }

  .welfare_wrap .left ul li .list_right {
    padding-top: 10px;
  }

  .welfare_wrap .right {
    width: 62%;
    margin-top: 25px;
    margin-left: auto;
  }

  .career_path_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
  }

  .welfare_main_title h2 {
    font-size: 37px;
  }

  .welfare_main_title h2 span {
    font-size: 23px;
  }

  /**/
  .interview_main_title {
    bottom: 10%;
  }

  .interview_main_title.app {
    bottom: 49%;
  }

  .view_app {
    height: 385px;
    background: url(../images/app_main.png) 85% 81%/50% no-repeat;
  }

  .application_sec01 .service06_page {
    width: 84%;
  }

  .app_list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 25px;
    bottom: 50px;
  }

  .app_list .app_list li {
    padding: 20px 10px;
  }

  .app_list li p {
    display: block;
  }

  .app_list li p span {
    display: block;
  }

  .app_list li p span:nth-child(1) {
    padding-bottom: 3px;
  }

  .app_list02 li p {
    grid-template-columns: repeat(1, 1fr);
  }

  .app_list02 li {
    padding: 20px 15px;
  }

  /*entry*/
  .entry_flow {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5vw;
    row-gap: 5vw;
  }

  .entry_main_title {
    bottom: 25%;
    font-size: 21px;
    line-height: 3em;
  }


  .entry_main_title2 {
    font-size: 21px;
  }

  .entry_main_title span {
    font-size: 66px;
  }

  
.mynavi_box {
  max-width: 280px;
  margin: 0 auto;
}


  .mynavi_box2 {
    max-width: 180px;
  }

  /**/
  .form_wrap {
    width: 97%;
    margin: 0 auto;
  }

  .form_wrap li {
    display: block;
  }

  .form_wrap li .form_list02 {
    margin-top: 10px;
  }

  /* 
  .radio {
    display: grid;
  } */

  .radio_list {
    display: block;
  }

  .text {
    height: 35px;
  }

  .textarea {
    height: 110px;
  }

  .radio_list label {
    gap: 10px;
  }

  .privacy_list {
    display: block;
  }

  .privacy_btn {
    margin-top: 15px;
    max-width: 220px;
  }

  .privacy_list label {
    gap: 10px;
  }

  .submit {
    display: table;
    max-width: 230px;
    font-size: 16px;
    margin: 0 auto;
  }

  /*news*/
  .news_sec .information_wrap {
    padding-bottom: 25px;
  }

  .news_sec .container1200 {
    padding: 0;
  }

  /*contact*/
  .contactform_wrap li {
    display: block;
    padding: 10px 10px 10px 15px;
  }

  .contactform_wrap li .form_list02 {
    margin-top: 10px;
  }

  .contactform_wrap li .privacy_list {
    text-align: -webkit-center;
  }

  .contactform_wrap li .text {
    height: 35px !important;
  }

  .contactform_wrap li .textarea {
    height: 130px;
  }

  .contact_submit {
    max-width: 230px;
    padding: 13px;
  }

  /*number*/
  .view_number {
    height: 430px;
  }

  .number_main_title {
    font-size: 37px;
    line-height: inherit;
  }

  .number_main_title span {
    font-size: 23px;
  }

  .number_wrap01 {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }

  .number_wrap02 {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }

  .number_wrap03 {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }

  .number_wrap03 .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }

  .number_title {
    padding: 0 10px;
    font-size: 17px;
  }

  .number_box01 .count_number {
    font-size: 4vw;
  }

  .number_box01 .count_number .count-up {
    font-size: 7vw;
  }

  .number_box02 .count_number {
    left: 10%;
    top: 38%;
    font-size: 4.6vw;
  }

  .number_box02 .count_number .count-up {
    font-size: 7.5vw;
  }

  .number_box02 .count_number .eng5 {
    font-size: 7.5vw;
  }

  .chart {
    position: absolute;
    width: 37vw;
    height: 37vw;
  }

  .number_box04 .count_number .count-up {
    font-size: 7vw;
  }

  .number_box04 .count_number span:nth-child(2) {
    font-size: 4vw;
  }

  #doughnutChart svg {
    width: 37vw !important;
    height: 37vw !important;
  }

  .number_box04 .count_number_left {
    left: 10%;
    bottom: 7%;
    font-size: 3.1vw;
  }

  .number_box04 .count_number_left .count-up {
    font-size: 6.7vw;
  }

  .number_box04 .count_number_left span:nth-child(3) {
    font-size: 3.4vw;
  }

  .number_box04 .count_number_left::after {
    background-size: 22.7vw;
    width: 22.7vw;
  }

  .number_box04 .count_number_right {
    right: 10%;
    top: 19%;
    font-size: 3.1vw;
  }

  .number_box04 .count_number_right .count-up {
    font-size: 6.7vw;
  }

  .number_box04 .count_number_right span:nth-child(3) {
    font-size: 3.4vw;
  }

  .number_box04 .count_number_right::after {
    top: 37%;
    background-size: 22.7vw;
    width: 22.7vw;
  }

  .number_box05 .count_number {
    font-size: 4.6vw;
  }

  .number_box05 .count_number .count-up {
    font-size: 9vw;
  }

  .number_box05 .count_number .round {
    font-size: 7.3vw;
  }

  .chart02 {
    position: absolute;
    width: 37vw;
    height: 37vw;
  }

  #doughnutChart02 svg {
    width: 37vw !important;
    height: 37vw !important;
  }

  .number_box06 .count_number .count-up {
    font-size: 5.6vw;
  }

  .number_box06 .count_number span:nth-child(2) {
    font-size: 3.1vw;
  }

  .number_box06 .count_number_left {
    font-size: 3.1vw;
  }

  .number_box06 .count_number_left .count-up {
    font-size: 5.7vw;
  }

  .number_box06 .count_number_left span:nth-child(3) {
    font-size: 3.5vw;
  }

  .number_box06 .count_number_left::after {
    background-size: 24.55vw;
    width: 24.55vw;
  }

  .number_box06 .count_number_right {
    font-size: 3.1vw;
  }

  .number_box06 .count_number_right .count-up {
    font-size: 5.7vw;
  }

  .number_box06 .count_number_right span:nth-child(3) {
    font-size: 3.5vw;
  }

  .number_box06 .count_number_right::after {
    background-size: 23vw;
    width: 23vw;
  }

  .chart03 {
    width: 45vw;
    height: 45vw;
    top: 51%;
    left: 54.5%;
  }

  #doughnutChart03 svg {
    width: 45vw !important;
    height: 45vw !important;
  }

  .chart03::after {
    width: 41vw;
    height: 41vw;
    border: 8px solid #01e8ff;
  }

  .number_box07 .count_number .count-up {
    font-size: 6.1vw;
  }

  .number_box07 .count_number span:nth-child(2) {
    font-size: 3vw;
  }

  .number_box07 .count_number01 {
    right: 9%;
    bottom: 10%;
    font-size: 3.4vw;
  }

  .number_box07 .count_number01 .count-up {
    font-size: 5.6vw;
  }

  .number_box07 .count_number01 span:nth-child(3) {
    font-size: 3.1vw;
  }

  .number_box07 .count_number01::after {
    top: 15%;
    right: 0;
    background-size: 23.55vw;
    width: 23.55vw;
  }

  .number_box07 .count_number02 {
    left: 3%;
    top: 32%;
    font-size: 2.9vw;
  }

  .number_box07 .count_number02 .count-up {
    font-size: 6vw;
  }

  .number_box07 .count_number02 span:nth-child(3) {
    font-size: 3.1vw;
  }

  .number_box07 .count_number02::after {
    top: 17%;
    background-size: 31.4vw;
    width: 31.4vw;
  }

  .number_box07 .count_number03 {
    left: 21%;
    top: 14%;
    font-size: 2.7vw;
  }

  .number_box07 .count_number03 .count-up {
    font-size: 5vw;
  }

  .number_box07 .count_number03 span:nth-child(3) {
    font-size: 3vw;
  }

  .number_box07 .count_number03::after {
    top: 37%;
    background-size: 22.6vw;
    width: 22.6vw;
  }

  .number_box07 .count_number04 {
    right: 22%;
    top: 11%;
    font-size: 2.6vw;
  }

  .number_box07 .count_number04 .count-up {
    font-size: 4.5vw;
  }

  .number_box07 .count_number04 span:nth-child(3) {
    font-size: 2.1vw;
  }

  .number_box07 .count_number04::after {
    top: 37%;
    background-size: 22.15vw;
    width: 22.15vw;
  }

  .number_box08 .count_number {
    font-size: 4.1vw;
  }

  .number_box08 .count_number .count-up {
    font-size: 9vw;
  }

  .number_box11 .count_number {
    right: 25%;
    top: 58%;
    font-size: 5.6vw;
  }

  .number_box11 .count_number .count-up {
    font-size: 11vw;
  }

  .number_box09 .count_number {
    font-size: 6vw;
  }

  .number_box09 .count_number .count-up {
    font-size: 11vw;
  }

  .shape {
    top: 55%;
    width: 37.2vw;
    height: 37.2vw;
  }

  .shape::before {
    width: 31.5vw;
    height: 31.5vw;
  }

  .number_box10 .count_number {
    top: 56%;
    font-size: 3.8vw;
  }

  .number_box10 .count_number .count-up {
    font-size: 9.2vw;
  }

  .number_box10 .count_number .eng2 {
    font-size: 4.8vw;
  }

  .number_box03 .count_number01,
  .number_box03 .count_number02,
  .number_box03 .count_number03,
  .number_box03 .count_number04 {
    font-size: 2vw;
  }

  .number_box03 .count_number01 .count-up,
  .number_box03 .count_number02 .count-up,
  .number_box03 .count_number03 .count-up,
  .number_box03 .count_number04 .count-up {
    font-size: 4.5vw;
  }

  .number_box03 .count_number01 {
    top: 38%;
    left: 15.5%;
  }

  .number_box03 .count_number02 {
    top: 31.5%;
    left: 34%;
  }

  .number_box03 .count_number03 {
    top: 32.5%;
    right: 33%;
  }

  .number_box03 .count_number04 {
    top: 30%;
    right: 14.5%;
  }

  .bar-graph-wrap {
    height: 88.6%;
  }

  .bar-graph-wrap .graph {
    width: 4vw;
  }

  .bar-graph-wrap .graph1 {
    left: 19%;
    height: 43%;
  }

  .bar-graph-wrap .graph2 {
    left: 38%;
    height: 50%;
  }

  .bar-graph-wrap .graph3 {
    right: 38%;
    height: 49%;
  }

  .bar-graph-wrap .graph4 {
    right: 19%;
    height: 51.3%;
  }

  .year01,
  .year02,
  .year03,
  .year04 {
    bottom: 2.5%;
    font-size: 3.4vw;
  }

  .year01 {
    left: 17.7%;
  }

  .year02 {
    left: 35.9%;
  }

  .year03 {
    right: 35.5%;
  }

  .year04 {
    right: 16.9%;
  }
}

/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width: 600px) {
  .footer .right .top_nav ul:nth-child(4) li:nth-child(n + 2) {
    width: 47%;
  }

  .footer .right .top_nav ul:nth-child(1) {
    flex: unset;
    width: 100%;
    margin-bottom: 15px;
  }

  .footer .right .top_nav ul:nth-child(2) {
    flex: unset;
    width: 43%;
  }

  .footer .right .top_nav ul:nth-child(3) {
    flex: unset;
    width: 53%;
    margin-left: 0;
  }

  .footer .right .top_nav ul:nth-child(4) {
    flex: unset;
    justify-content: unset;
    padding-top: 25px;
  }

  .footer .right .bottom_nav {
    display: grid;
    gap: 3vw;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (max-width: 480px) {
  .sec_company03 ul .title_wrap {
    align-items: unset;
    padding-right: 25px;
  }

  .company_line01_2,
  .company_line02_2,
  .company_line03_2,
  .company_line04_2 {
    left: 10px;
  }

  .sec_company03 ul li p {
    padding-left: 25px;
    padding-top: 25px;
    padding-right: 25px;
  }

  .point8_list {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 10px;
    row-gap: 15px;
  }

  .point_list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 15px;
  }

  .service_course_sec .container1680 .font18 {
    font-size: 13px;
    line-height: 1.7em;
  }

  .plan03_box ul li {
    justify-content: space-between;
    gap: unset;
  }

  .service_04_sp_map {
    height: 410px;
  }

  .enekey_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 35px 4vw;
  }

  .view_recruitment {
    height: 1200px;
  }

  .recruit_catch {
    max-width: 350px;
  }

  .entry_flow {
    grid-template-columns: repeat(1, 280px);
    row-gap: 20px;
  }
}