@charset "utf-8";

.inner {
  max-width: 1300px;
  padding-left: 30px;
  padding-right: 30px;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .inner {
    width: calc(100% - 40px);
    padding-left: 0;
    padding-right: 0;
  }
}
.title-area {
  position: relative;
  z-index: 3;
}
.title-area.full {
  padding: 0 50px;
}

.title-area picture {
  width: calc(100% - 330px);
  height: 686px;
  border-radius: 20px 0 0 20px;
  overflow: hidden;
  margin: 0 0 0 auto;
  display: block;
}
.title-area.full picture {
  width: 100%;
  border-radius: 20px;
}
.title-area picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.title-area .text {
  position: absolute;
  top: 120px;
  left: 0;
  right: 0;
  color: #0058a6;
  padding-left: 30px;
  box-sizing: border-box;
}
.category .title-area .text {
  top: 150px;
}
.title-area.full .text {
  color: #fff;
  top: 200px;
}
@media screen and (max-width: 1350px) {
  .title-area.full .text {
    padding-left: 93px;
  }
}
.title-area .text h1 {
  font-size: 120px;
  /*absoluteをリセット*/
  position: static;
  letter-spacing: -6px;
}
.title-area .text h1 span {
  font-size: 40px;
  display: block;
  letter-spacing: 0.5px;
}
.title-area.sdgs-title .text h1 span {
  font-size: inherit;
  color: #5db033;
  display: inline;
}

.title-area .text .sub-title {
  font-size: 24px;
}
@media screen and (min-width: 1580px) {
  .title-area picture {
    width: calc(50% + 290px);
  }
}
@media screen and (max-width: 768px) {
  .title-area {
    padding-top: 50px;
  }
  .title-area.full {
    padding: 0;
  }
  .title-area picture {
    width: calc(100% - 45px);
    height: 260px;
    border-radius: 10px 0 0 10px;
  }
  .title-area.full picture {
    width: calc(100% - 40px);
    height: 430px;
    border-radius: 10px;
    margin: 0 auto;
  }
  .title-area .text {
    top: 0px;
    color: #0058a6;
    padding-left: 0px;
  }
  .category .title-area .text {
    top: 30px;
  }
  .title-area.sdgs-title .text {
    top: 20px;
  }
  .title-area.labels-title .text {
    top: 30px;
  }
  .title-area.data-title .text {
    top: 30px;
  }
  .title-area.strength-title .text {
    top: 20px;
  }
  .title-area.property-title .text {
    top: 20px;
  }
  .title-area.faq-title .text {
    top: 20px;
  }
  .title-area.blog-title .text {
    top: -30px;
  }
  .title-area.policy-title .text {
    top: -30px;
  }
  .title-area.full .text {
    padding: 0 30px;
    top: 250px;
  }
  .title-area .text h1 {
    font-size: 55px;
    letter-spacing: -1.5px;
  }
  .title-area .text h1 span {
    font-size: 16px;
  }

  .title-area .text .sub-title {
    font-size: 22px;
  }
}

.page .content {
  padding-top: 370px;
  margin-top: -290px;
  background: #f1f3f8;
}
.category .content,
.date .content {
  padding-top: 370px;
  margin-top: -290px;
  background: #f1f3f8;
}
.single-post .content {
  background: #f1f3f8;
  padding: 80px 0 100px 0;
}
.page h2 {
  font-size: 40px;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  color: #0058a6;
  width: 100%;
}
.page h2.horizontal {
  flex-direction: column;
}
.page h2 span {
  font-size: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.page h2.vertical {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.page h2.vertical span {
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;
}
.page h2 span:before {
  display: block;
  width: 85px;
  height: 1px;
  content: "";
  background: #0058a6;
  margin: 20px 0;
}
.page .content .sub-title {
  text-align: center;
  font-weight: 700;
  font-size: 24px;
  display: block;
}
.page #footer {
  margin-top: 0;
}
#footer-recruit {
  background: #fff;
  padding-top: 30px;
}
#footer-recruit .container {
  padding: 0;
}
#footer-recruit .recruit__link a {
  background-color: #5db033;
  height: 160px;
}
#footer-recruit .recruit__link__title {
  font-size: 22px;
}
#footer-recruit .recruit__link__subtitle {
  font-size: 15px;
  line-height: 20px;
}
#footer-recruit .recruit__link a:hover {
  background-color: #004481;
}
@media screen and (max-width: 768px) {
  .page .content {
    padding-top: 160px;
    margin-top: -120px;
  }
  .category .content,
  .date .content {
    padding-top: 160px;
    margin-top: -120px;
  }
  .single-post .content {
    padding-top: 160px;
    margin-top: -120px;
    padding-bottom: 0px;
  }
  .single-post .post-info {
    padding-bottom: 0px;
  }
  .page h2 {
    font-size: 30px;
  }
  .page h2 span {
    font-size: 15px;
  }
  .page h2.horizontal {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    flex-direction: row;
    margin: 0 auto 30px auto;
  }
  .page h2.horizontal span {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }
  .page .content .sub-title {
    font-size: 25px;
    line-height: 40px;
  }
  #footer-recruit .recruit__links {
    padding: 0;
    position: relative;
    z-index: 3;
    width: 85%;
  }
  #footer-recruit .recruit__link {
    margin: 0 0 15px 0;
  }
  #footer-recruit .recruit__link a {
    height: auto;
  }
  .page .footer__contact,
  .archive .footer__contact,
  .single .footer__contact {
    display: none;
  }
  .page #footer {
    margin-top: -50px;
  }
  .archive #footer,
  .single #footer {
    margin-top: 0px;
  }
}
.grid {
  padding: 0 0 80px 0;
}
.grid .grid-item {
  width: 48%;
  padding-bottom: 40px;
}
.grid .grid-item:nth-of-type(odd) {
  padding-right: 2%;
}
.grid .grid-item:nth-of-type(even) {
  padding-left: 2%;
}
.grid .box {
  background: #fff;
  padding: 50px 40px 40px 40px;
  border-radius: 20px;
  position: relative;
}
.grid .box em {
  font-style: normal;
  color: #58af00;
  font-size: 70px;
  position: absolute;
  top: -20px;
  left: 40px;
}

.grid .box h3 {
  font-weight: 700;
  font-size: 28px;
  color: #0058a6;
  margin-bottom: 20px;
}
.grid .box p {
  font-size: 15px;
  line-height: 32px;
  color: #0058a6;
}
@media screen and (max-width: 768px) {
  .grid {
    padding-bottom: 40px;
  }
  .grid .grid-item {
    width: 100%;
    box-sizing: border-box;
  }
  .grid .grid-item .box {
    box-sizing: border-box;
    padding: 50px 30px 30px 30px;
    border-radius: 10px;
  }
  .grid .grid-item:nth-of-type(odd) {
    padding-right: 0%;
  }
  .grid .grid-item:nth-of-type(even) {
    padding-left: 0%;
  }
  .grid .box em {
    font-size: 60px;
    top: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
  }
  .grid .box h3 {
    font-size: 25px;
    line-height: 40px;
    margin-bottom: 20px;
  }
  .grid .box p {
    font-size: 14px;
    line-height: 24px;
  }
}

#kop strong {
  color: #0058a6;
  margin-bottom: 60px;
}

#career-path {
  background: #005aac;
  padding: 80px 0;
}
#career-path .container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#career-path .left {
  width: 50%;
}
#career-path .left picture {
  height: 380px;
  display: block;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 50px;
}
#career-path .left picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#career-path .left p {
  color: #fff;
  font-size: 15px;
  line-height: 32px;
}
#career-path h2 {
  color: #fff;
  margin: 0 auto 50px auto;
}
#career-path h2 span:before {
  background: #fff;
}

#career-path .right {
  width: 43%;
  padding-left: 20px;
  border-left: 1px solid #fff;
}

#career-path .right table tr th {
  font-size: 35px;
  color: #fff;
  text-align: left;
  border-bottom: 1px solid #0079e8;
  padding: 10px 0 30px 0;
  width: 70px;
  position: relative;
}

#career-path .right tr th:before {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fff;
  content: "";
  position: absolute;
  left: -25px;
  top: 35px;
}
#career-path .right table tr th span {
  font-size: 19px;
  font-weight: 400;
  display: block;
}
#career-path .right table tr:last-of-type th {
  border-bottom: none;
}
#career-path .right table tr td.text {
  padding: 20px 0 30px 0;
  color: #fff;
  font-size: 15px;
  line-height: 32px;
  border-bottom: 1px solid #0079e8;
  width: 300px;
}
#career-path .right table tr:last-of-type td.text {
  border-bottom: none;
}
#career-path .right table tr td.text dl {
  margin-bottom: 20px;
}
#career-path .right table tr td.text dl:last-of-type {
  margin-bottom: 0px;
}
#career-path .right table tr td.text dt {
  color: #fff;
  font-size: 15px;
  line-height: 32px;
  font-weight: 700;
}
#career-path .right table tr:last-of-type td.text {
  border-bottom: none;
}
#career-path .right table tr td.arrow {
  position: relative;
}
#career-path .right table tr td.arrow.a1 {
  width: 100px;
}
#career-path .right table tr td.arrow.a1 div {
  left: 40px;
}
#career-path .right table tr td.arrow.a2 {
  width: 50px;
}
#career-path .right table tr td.arrow.a2 div {
  left: 0px;
}

#career-path .right table tr td.arrow div {
  width: 40px;
  height: calc(100% - 40px);
  background: #004d77;
  color: #fff;
  position: absolute;
  top: 20px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  display: flex;
  align-items: center;
  padding-top: 10px;
  z-index: 3;
}
#career-path .right table tr td.arrow div:after {
  border-top: 30px solid #004d77;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  content: "";
  position: absolute;
  bottom: -20px;
}
@media screen and (max-width: 768px) {
  #career-path {
    padding: 50px 0;
  }
  #career-path .left {
    width: auto;
    margin-bottom: 50px;
    margin-left: 20px;
    margin-right: 20px;
  }
  #career-path .left picture {
    height: 240px;
    border-radius: 10px;
    width: calc(100% - 20px);
    margin: 0 auto 30px auto;
  }
  #career-path .right {
    width: auto;
    padding-left: 20px;
    border-left: 1px solid #fff;
    margin-left: 20px;
    margin-right: 20px;
  }
  #career-path .right table th:after {
    position: absolute;
    content: "";
    width: calc(100vw - 60px);
    height: 1px;
    background: #0079e8;
    left: 0;
    bottom: 0;
  }
  #career-path .right table tr:last-of-type th:after {
    display: none;
  }
  #career-path .right table tr th {
    font-size: 29px;
    padding: 10px 0 30px 0;
    width: 60px;
    border-bottom: none;
  }
  #career-path .right table tr th span {
    font-size: 19px;
  }
  #career-path .right table tr td.text {
    padding: 20px 0 30px 0;
    font-size: 14px;
    line-height: 21px;
    width: 190px;
    border-bottom: none;
  }
  #career-path .right table tr td {
    border-bottom: none;
  }
  #career-path .right table tr td.arrow.a1 {
    width: 60px;
  }
  #career-path .right table tr td.arrow.a1 div {
    left: 20px;
  }
  #career-path .right table tr td.arrow.a2 {
    width: 40px;
  }
  #career-path .right table tr td.arrow.a2 div {
    left: 10px;
  }
  #career-path .right table tr td.arrow div {
    width: 30px;
    height: calc(100% - 30px);
    top: 15px;
    padding-top: 10px;
    font-size: 14px;
  }
  #career-path .right table tr td.arrow div:after {
    border-top: 25px solid #004d77;
    border-right: 25px solid transparent;
    border-left: 25px solid transparent;
    bottom: -15px;
  }
}
#education {
  padding: 80px 0;
  background: #fff;
}
#education h2 {
  margin-bottom: 50px;
}
#education .system {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#education .system-item {
  width: 32%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 30px;
  border-bottom: 1px solid #0058a6;
}
#education .system-item:before {
  width: 1px;
  height: 40px;
  content: "";
  background: #0058a6;
  margin-bottom: 30px;
}
#education .system-item h3 {
  font-size: 24px;
  color: #0058a6;
  height: 60px;
  text-align: center;
}
#education .system-item h3 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  display: block;
}

#education .system-item p {
  font-size: 15px;
  line-height: 32px;
  color: #0058a6;
}
@media screen and (max-width: 768px) {
  #education {
    padding: 50px 0 10px 0;
  }
  #education .system-item {
    width: auto;
    margin-bottom: 30px;
    margin-left: 20px;
    margin-right: 20px;
  }
  #education .system-item:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
  }
  #education .system-item h3 {
    font-size: 22px;
    height: 50px;
  }
  #education .system-item h3 span {
    font-size: 15px;
  }
  #education .system-item p {
    font-size: 14px;
    line-height: 24px;
  }
}

.janpara-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 80px;
}
.janpara-item {
  width: 48%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 50px 40px 50px;
  background: #fff;
  border-radius: 20px;
  margin-bottom: 40px;
  box-sizing: border-box;
}
.janpara-item.full {
  width: 100%;
}
.janpara-item:before {
  width: 1px;
  height: 40px;
  content: "";
  background: #0058a6;
  margin-bottom: 30px;
  margin-top: -20px;
}
.janpara-item h3 {
  font-size: 24px;
  color: #0058a6;
  height: 60px;
  text-align: center;
}
.janpara-item p {
  font-size: 15px;
  line-height: 32px;
  color: #0058a6;
}
.janpara-item .other-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.janpara-item .other-list li {
  display: flex;
  color: #0058a6;
}
.janpara-item .other-list li:before {
  content: "●";
  color: #a9ceee;
  margin-right: 3px;
}
.janpara-item .other-list li:after {
  content: "/";
  margin: 0 10px;
}
.janpara-item .other-list li:last-of-type:after {
  display: none;
}
@media screen and (max-width: 768px) {
  .janpara-item {
    width: 100%;
    padding: 0 30px 30px 30px;
    border-radius: 10px;
  }
  .janpara-item h3 {
    height: 40px;
  }
  .janpara-item p {
    font-size: 14px;
    line-height: 24px;
  }
  .janpara-item .other-list li {
    width: 100%;
    margin-bottom: 10px;
    font-size: 14px;
  }
  .janpara-item .other-list li:after {
    display: none;
  }
}
#enviroment h2 {
  margin-bottom: 60px;
}
#culture-climate {
  background: #005aac;
  padding-bottom: 180px;
}
#culture-climate .upper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
#culture-climate .upper .text h2 {
  color: #fff;
}
#culture-climate .upper .text h2 span:before {
  background: #fff;
}
#culture-climate .upper .text {
  width: 35%;
  padding-left: calc(50% - 620px);
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
#culture-climate .upper picture {
  width: 65%;
  height: 550px;
  border-radius: 0 0 0 20px;
  overflow: hidden;
  display: block;
}

#culture-climate .upper picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#culture-climate .bottom p {
  font-size: 15px;
  line-height: 32px;
  color: #fff;
  max-width: 1034px;
  margin: 0 auto;
}
.culture #footer-recruit .container {
  position: relative;
  height: 200px;
  /* width: 100%; */
}
.culture #footer-recruit {
  padding-top: 0;
}
.culture #footer-recruit .recruit__links {
  top: -100px;
  /* position: absolute; */
  width: 100%;
}
@media screen and (max-width: 768px) {
  #culture-climate {
    padding-top: 50px;
    padding-bottom: 180px;
  }
  #culture-climate .upper {
    margin-bottom: 30px;
  }
  #culture-climate .upper .text {
    width: 100%;
    padding-left: 0;
  }
  #culture-climate .upper picture {
    width: 100%;
    height: auto;
    border-radius: 0;
  }
  .culture #footer-recruit .container {
    height: 150vw;
    width: 85%;
  }
  .culture #footer-recruit .recruit__links {
    top: -50px;
    position: relative;
  }
  #culture-climate .bottom p {
    font-size: 14px;
    line-height: 28px;
  }
  #culture-climate .upper .text h2 {
    height: 206px;
  }
}

.benefit #footer-recruit .container {
  position: relative;
  height: 200px;
}
.benefit #footer-recruit {
  padding-top: 0;
}
.benefit #footer-recruit .recruit__links {
  top: -100px;
  position: absolute;
  width: 100%;
}
#benefit h2 {
  margin-bottom: 60px;
}
#benefit .janpara-list {
  padding-bottom: 130px;
}
@media screen and (max-width: 768px) {
  .benefit #footer-recruit .container {
    height: 150vw;
    width: 85%;
  }
  .benefit #footer-recruit .recruit__links {
    top: -50px;
    position: relative;
  }
}
.company-list {
  padding-bottom: 200px;
}
.company-list .block {
  position: relative;
  margin-bottom: 130px;
  display: flex;
  padding: 0 50px;
}
.company-list .block:before {
  position: absolute;
  content: "";
  background: #fff;
  border-radius: 30px;
  display: block;
}
.company-list .block:after {
  width: 80%;
  height: 540px;
  display: block;
  position: absolute;
  content: "";
  background: #005aac;
  border-radius: 30px;
  z-index: 0;
}
.company-list .block .image {
  width: 80%;
  height: 540px;
  display: block;
  position: absolute;
  z-index: 3;
}
.company-list .block .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
  z-index: 2;
  position: relative;
}
.company-list .block .text {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
}
.company-list .block strong {
  font-size: 200px;
  line-height: 180px;
  font-family: "Overpass", sans-serif;
  font-weight: 700;
  color: #0058a6;
  opacity: 0.35;
  display: block;
  text-align: center;
}
.company-list .block .btn-area {
  display: flex;
}
.company-list .block .text p {
  font-size: 24px;
  color: #0058a6;
  margin-right: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .company-list {
    padding-bottom: 100px;
  }
  .company-list .block {
    position: relative;
    margin-bottom: 90px;
    padding: 0 20px;
    overflow: hidden;
  }
  .company-list .block:before {
    border-radius: 20px;
  }
  .company-list .block:after {
    width: 80%;
    height: 200px;
    border-radius: 20px;
  }
  .company-list .block .image {
    width: 80%;
    height: 200px;
  }
  .company-list .block .image img {
    border-radius: 20px;
  }
  .company-list .block strong {
    font-size: 65px;
    line-height: 70px;
  }
  .company-list .block .text p {
    font-size: 17px;
    margin-right: 80px;
  }
  .company-list .btn-area {
    width: 310px;
    justify-content: space-between;
  }
}

.company-list .block-message {
  height: 930px;
}
.company-list .block-message:before {
  width: 70%;
  height: 540px;
  top: 100px;
  right: -30px;
}
.company-list .block-message:after {
  left: -30px;
  top: 300px;
}
.company-list .block-message .text {
  margin: 0 auto;
}
.company-list .block-message .image {
  right: 50px;
  bottom: 0;
}
.company-list .block-message .btn-area {
  margin: 50px 0 0 auto;
}
@media screen and (max-width: 768px) {
  .company-list .block-message {
    height: 360px;
  }
  .company-list .block-message:before {
    width: 65%;
    height: 240px;
    top: 30px;
    right: -20px;
  }
  .company-list .block-message:after {
    left: -20px;
    top: 130px;
  }
  .company-list .block-message .image {
    right: 20px;
  }
  .company-list .block-message .btn-area {
    margin: 10px auto 0 auto;
  }
}

.company-list .block-philosophy {
  height: 720px;
}
.company-list .block-philosophy:before {
  width: 60%;
  height: 672px;
  bottom: 0;
  right: -30px;
}
.company-list .block-philosophy:after {
  display: none;
}
.company-list .block-philosophy .text {
  margin-top: 350px;
}
.company-list .block-philosophy .image {
  right: 0;
  top: 0;
}
.company-list .block-philosophy .btn-area {
  margin: 50px 0 0 auto;
}
@media screen and (max-width: 768px) {
  .company-list .block-philosophy {
    height: 300px;
  }
  .company-list .block-philosophy:before {
    height: 250px;
    right: -20px;
  }
  .company-list .block-philosophy .text {
    margin-top: 130px;
  }
  .company-list .block-philosophy .image {
    right: -20px;
  }
  .company-list .block-philosophy .btn-area {
    margin: 10px auto 0 auto;
  }
  .company-list .block-philosophy strong {
    margin-bottom: 20px;
  }
}
.company-list .block-information {
  height: 1120px;
}
.company-list .block-information:before {
  width: 50%;
  height: 500px;
  bottom: 0;
  left: -30px;
}
.company-list .block-information:after {
  left: 0;
  right: 0;
  margin: 0 auto;
}
.company-list .block-information .text {
  margin: 580px auto 0 auto;
}
.company-list .block-information .image {
  left: 0;
  top: 160px;
}
.company-list .block-information .btn-area {
  margin: 50px 0 0 auto;
}

@media screen and (max-width: 768px) {
  .title-area.company-list-title .text {
    top: 20px;
  }
  .company-list .block-information {
    height: 450px;
  }
  .company-list .block-information:before {
    height: 260px;
    left: -20px;
  }
  .company-list .block-information .text {
    margin: 200px auto 0 auto;
  }
  .company-list .block-information .image {
    left: -20px;
    top: 50px;
  }
  .company-list .block-information .btn-area {
    margin: 10px auto 0 auto;
  }
}

.company-list .block-history {
  height: 950px;
}
.company-list .block-history:before {
  width: 70%;
  height: 950px;
  top: 0;
  right: -30px;
}
.company-list .block-history:after {
  display: none;
}
.company-list .block-history .text {
  margin: 80px 0 0 auto;
}
.company-list .block-history strong {
  text-shadow: 10px 10px 10px #efefef;
}
.company-list .block-history .image {
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 230px;
}
.company-list .block-history .btn-area {
  margin: 540px auto 0 auto;
}
@media screen and (max-width: 768px) {
  .company-list .block-history {
    height: 360px;
  }
  .company-list .block-history:before {
    width: 90%;
    height: 360px;
    right: -20px;
  }
  .company-list .block-history .text {
    margin: 35px 0 0 auto;
  }
  .company-list .block-history .image {
    top: 80px;
  }
  .company-list .block-history .btn-area {
    margin: 190px auto 0 auto;
  }
}

.page-message {
  padding-bottom: 200px;
}

.page-message .normal {
  font-size: 22px;
  line-height: 40px;
  color: #0058a6;
  margin-bottom: 50px;
}
.page-message .name {
  font-size: 24px;
  font-weight: bold;
  color: #0058a6;
  width: 110px;
  margin: 0 0 0 auto;
  text-align: center;
}
.page-message p.name span {
  font-weight: 400;
  font-size: 15px;
  display: block;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .page-message {
    padding-bottom: 100px;
  }

  .page-message .normal {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 30px;
  }
  .page-message .name {
    font-size: 17px;
    width: 90px;
  }
  .page-message p.name span {
    font-size: 12px;
    margin-bottom: 5px;
  }
}
.philosophy {
  padding-bottom: 140px;
}
.philosophy .block {
  width: 70%;
  box-sizing: border-box;
}
.philosophy .block h3 {
  color: #80acd3;
  font-size: 80px;
  line-height: 80px;
}
.philosophy .block h3 span {
  font-size: 24px;
  display: block;
}
.philosophy .block p {
  font-size: 24px;
  line-height: 46px;
}
.philosophy .block p.name {
  text-align: right;
  margin-top: 30px;
}
.philosophy .block.blue {
  padding: 370px 160px 100px calc(50% - 500px);
  background: #0058a6;
  border-radius: 0 30px 30px 0;
  margin-top: -370px;
  position: relative;
  z-index: 2;
}
.philosophy .block.blue p {
  color: #fff;
}
.philosophy .block.blue h3 span {
  color: #fff;
}
.philosophy .block.white {
  padding: 350px calc(50% - 500px) 100px 160px;
  background: #fff;
  border-radius: 30px 0 0 30px;
  margin: -300px 0 0 auto;
}
.philosophy .block.white h3 span {
  color: #0058a6;
}
.philosophy .block.white p {
  color: #0058a6;
}
@media screen and (max-width: 768px) {
  .title-area.philosophy-title .text {
    top: 20px;
  }
  .philosophy .block {
    background: transparent !important;
    border-radius: 0 !important;
    width: calc(100% - 40px);
    margin: 0 auto !important;
  }
  .philosophy .block.blue {
    padding: 0 0 30px 0 !important;
    border-bottom: 1px solid #0058a6;
  }
  .philosophy .block.white {
    padding: 30px 0 0 0 !important;
  }
  .philosophy .block h3 {
    font-size: 50px;
    line-height: 50px;
  }
  .philosophy .block h3 span {
    color: #0058a6 !important;
    font-size: 18px;
  }
  .philosophy .block p {
    color: #0058a6 !important;
    font-size: 18px;
    line-height: 33px;
  }
}

.page-company h4 {
  font-size: 24px;
  color: #0058a6;
  margin-bottom: 30px;
  font-weight: 700;
}
.page-company p {
  font-size: 15px;
  color: #0058a6;
  line-height: 32px;
}
.page-company .block {
  padding: 25px 5px;
  border-bottom: 1px solid #0058a6;
}
.page-company .full-block {
  padding: 100px 5px;
  border-top: 1px solid #0058a6;
}
.page-company .block.last {
  border-bottom: none;
}
.page-company .cover {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#page-company .left {
  width: 49%;
}
#page-company .right {
  width: 49%;
}
.page-company .list {
  display: flex;
}
.page-company .list dt {
  width: 50%;
  font-size: 15px;
  color: #0058a6;
  line-height: 32px;
}
.page-company .list dd {
  width: 50%;
  font-size: 15px;
  color: #0058a6;
  line-height: 32px;
}
.page-company .url {
  margin-bottom: 30px;
}
.page-company .url dt {
  font-size: 15px;
  color: #0058a6;
  line-height: 32px;
}
.page-company .url dd {
  font-size: 15px;
  color: #0058a6;
  line-height: 32px;
}
@media screen and (max-width: 768px) {
  .title-area.company-title .text {
    top: -20px;
  }
  .page-company h4 {
    font-size: 17px;
    margin-bottom: 10px;
  }
  .page-company p {
    font-size: 14px;
    line-height: 28px;
  }
  .page-company .block {
    padding: 25px 5px;
  }
  .page-company .full-block {
    display: none;
  }

  #page-company .left {
    width: 100%;
  }
  #page-company .right {
    width: 100%;
  }
  .page-company .list dt {
    font-size: 14px;
    line-height: 28px;
  }
  .page-company .list dd {
    font-size: 14px;
    line-height: 28px;
  }
  .page-company .url {
    margin-bottom: 20px;
  }
  .page-company .url dt {
    font-size: 14px;
    line-height: 28px;
  }
  .page-company .url dd {
    font-size: 14px;
    line-height: 28px;
  }
}
.data-list01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 60px;
}
.data-list01 > dl {
  background: #fff;
  border-radius: 10px;
  padding: 15px 10px;
  display: flex;
  justify-content: space-between;
  color: #0058a6;
  width: 390px;
  box-sizing: border-box;
}
.data-list01 > dl > dt {
  width: 40%;
}
.data-list01 > dl > dd {
  width: 58%;
}
.data-list01 dl dl dt {
  font-size: 15px;
  text-align: center;
  margin-bottom: 10px;
}
.data-list01 dl dl dd {
  font-size: 28px;
  text-align: center;
}
.data-list01 dl dt dd {
  font-weight: 700;
}

.data-list02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 60px;
}
.data-list02 dl {
  background: #fff;
  border-radius: 10px;
  padding: 30px;
  display: flex;
  justify-content: space-between;
  color: #0058a6;
  width: 48%;
  align-items: center;
  margin-bottom: 20px;
  box-sizing: border-box;
}

.data-list02 dt {
  width: 70%;
  font-size: 28px;
  font-weight: 700;
}
.data-list02 dt span {
  font-size: 24px;
  font-weight: 400;
  display: block;
  margin-top: 10px;
}
.data-list02 dd {
  width: 30%;
  font-size: 28px;
  text-align: right;
}

#access {
  background: #fff;
  padding: 110px 0;
}
#access .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1300px;
  padding: 0 30px;
  margin: 0 auto;
}
#access .left {
  width: 70%;
  position: relative;
  height: 0;
  padding-top: 45%;
}
#access .left iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#access .right {
  width: 25%;
}
#access .right h4 {
  margin-bottom: 50px;
}
#access .right p {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #access {
    padding: 60px 0 110px 0;
  }
  #access h4 {
    padding: 0 20px;
    margin-bottom: 30px;
  }
  #access .left {
    width: 100%;
    padding-top: 100%;
    margin-bottom: 40px;
  }
  #access .right {
    width: 100%;
    padding: 0 20px;
  }
}
.page .content.page-history {
  padding-top: 0;
}
.page .content.page-business {
  padding-top: 0;
}
.page .content.page-property {
  padding-top: 0;
}
.page .content.page-policy {
  padding-top: 0;
}
.page-history .text-area {
  margin-bottom: 110px;
}
.text-area {
  padding: 370px 0 110px 0;
  background: #0058a6;
  border-radius: 20px;
}
.text-area p {
  color: #fff;
  font-size: 15px;
  line-height: 32px;
  margin-bottom: 20px;
}
.text-area ul {
  padding-left: 1rem;
}
.text-area ul li {
  color: #fff;
  font-size: 15px;
  line-height: 32px;
  margin-bottom: 20px;
}
.text-area p.center {
  text-align: center;
}
.text-area .icon {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}
.text-area .icon img {
  width: 70px;
}
.text-area strong {
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 50px;
  display: flex;
  justify-content: center;
}
.text-area strong span {
  margin: 0 15px;
  display: block;
}
.text-area figure {
  width: 390px;
  margin: 0 auto;
}
.page-history h3 {
  font-size: 26px;
  color: #0058a6;
}
#history-janpara h3 {
  margin-bottom: 80px;
}
.history-list {
  padding-bottom: 100px;
}
.history-list dl {
  display: flex;
  justify-content: space-between;
}
.history-list dl dt {
  width: 80px;
  color: #0058a6;
  font-size: 40px;
  padding: 20px 0;
  text-align: center;
  font-weight: 700;
  font-family: "Overpass", sans-serif;
  position: relative;
}
.history-list dl dt span {
  display: block;
  font-size: 24px;
}
.history-list dl dt:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 35%;
  background: #0058a6;
  top: 85px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.history-list dl:last-of-type dt:after {
  display: none;
}
.history-list dl dd {
  width: calc(100% - 150px);
  padding: 40px 0 50px 0;
  border-bottom: 1px solid #0058a6;
  color: #0058a6;
  font-size: 15px;
  line-height: 32px;
}
.history-list dl:last-of-type dd {
  border-bottom: none;
}
#history-twe {
  background: #fff;
  padding: 110px 0 0 0;
}
#history-twe h3 {
  margin-bottom: 20px;
}
#history-twe p {
  font-size: 15px;
  line-height: 32px;
  color: #0058a6;
  margin-bottom: 250px;
}
@media screen and (max-width: 768px) {
  .title-area.history-title .text {
    top: 20px;
  }
  .page-history .text-area {
    margin-bottom: 50px;
  }
  .text-area {
    padding: 160px 0 50px 0;
    border-radius: 15px;
  }
  .text-area p {
    color: #fff;
    font-size: 15px;
    line-height: 32px;
    margin-bottom: 20px;
    text-align: justify;
  }
  .page-history h3 {
    font-size: 19px;
  }
  .text-area strong {
    font-size: 25px;
    line-height: 40px;
    margin-bottom: 30px;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .text-area figure {
    width: 210px;
  }
  .text-area .icon {
    width: 100px;
    height: 100px;
  }
  .text-area .icon img {
    width: 60px;
  }
  #history-janpara h3 {
    margin-bottom: 40px;
  }
  .history-list dl dt {
    width: 70px;
    font-size: 25px;
  }
  .history-list dl dt span {
    font-size: 17px;
  }
  .history-list dl dt:after {
    height: 30%;
    top: 65px;
  }
  .history-list dl dd {
    width: calc(100% - 90px);
    padding: 20px 0 30px 0;
    font-size: 14px;
    line-height: 24px;
  }
  .history-list {
    padding-bottom: 50px;
  }
  #history-twe {
    padding: 50px 0 20px 0;
  }
  #history-twe p {
    margin-bottom: 20px;
  }
  #access .container {
    padding: 0;
  }
}

.text-block {
  padding: 100px 50px;
  border-bottom: 1px solid #0058a6;
}
.text-block:last-of-type {
  border-bottom: none;
}
.text-block > p {
  margin-bottom: 20px;
}
.text-block .inner > p {
  margin-bottom: 20px;
}
.text-block p {
  color: #0058a6;
  font-size: 15px;
  line-height: 32px;
}
.text-block h3 {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 60px;
  color: #0058a6;
}
.text-block .shop-list {
  background: #fff;
  padding: 50px;
  border-radius: 10px;
}
.text-block .bnr-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 70px;
}
.text-block .bnr-list .bnr-item {
  width: 47%;
}
.text-block .link-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 70px;
}
.text-block .link-list:before {
  width: 22%;
  content: "";
  order: 3;
}
.text-block .link-list:after {
  width: 22%;
  content: "";
  order: 4;
}
.text-block .link-list .button-arrow {
  width: 22%;
}
.text-block .bnr {
  width: 100%;
  display: block;
}
.text-block .bnr2 {
  width: 45%;
  display: block;
  margin-bottom: 70px;
}
.coverage {
  padding: 90px 0;
}
.coverage h3 {
  text-align: center;
  font-size: 30px;
  color: #0058a6;
  font-weight: 700;
  margin-bottom: 20px;
}
.coverage h3 span {
  display: block;
  font-size: 15px;
  font-weight: 400;
  margin-top: 40px;
}
.coverage .recruit__links {
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .title-area.business-title .text {
    top: -30px;
  }
  .text-block {
    padding: 45px 0px;
  }
  .text-block:last-of-type {
    border-bottom: none;
    padding-bottom: 95px;
  }
  .text-block > p {
    margin-bottom: 15px;
  }
  .text-block p {
    font-size: 14px;
    line-height: 24px;
  }
  .text-block h3 {
    font-size: 19px;
    margin-bottom: 30px;
  }
  #page-business .text-block .shop-list {
    background: #fff;
    padding: 40px 25px;
  }
  #page-business .text-block .bnr-list {
    row-gap: 40px;
  }
  #page-business .text-block .bnr-list .bnr-item {
    width: 100%;
  }
  #page-business .text-block .link-list {
    row-gap: 40px;
    flex-direction: column;
  }
  #page-business .text-block .link-list:before {
    display: none;
  }
  #page-business .text-block .link-list:after {
    display: none;
  }
  #page-business .text-block .link-list .button-arrow {
    width: auto;
  }
  #page-business .text-block .bnr2 {
    width: 100%;
    margin-bottom: 40px;
  }
  .coverage {
    padding: 40px 0 0 0;
  }
  .coverage h3 {
    font-size: 17px;
    color: #0058a6;
    margin-bottom: 30px;
  }
  .coverage h3 span {
    font-size: 14px;
    margin-top: 20px;
  }
}

.cate-archive-area {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 80px;
  margin-bottom: 90px;
}
.cate-archive-area .list-block {
  width: 250px;
  position: relative;
}
.cate-archive-area .list-block ul {
  position: absolute;
  top: 59px;
  background: #fff;
  width: 100%;
}
.cate-archive-area .list-block ul li {
  padding: 20px 10px;
  color: #0058a6;
  font-size: 14px;
  border-bottom: 1px solid #0058a6;
  width: 100%;
  box-sizing: border-box;
}
.cate-archive-area .list-block p {
  border-bottom: 1px solid #0058a6;
  padding: 20px 3px;
  color: #0058a6;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cate-archive-area .list-block p:after {
  border-top: 8px solid #0058a6;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  content: "";
}

/*pager*/

.nav-links ul {
  display: flex;
  margin: 60px auto 150px auto;
  justify-content: center;
  max-width: 100%;
}

.nav-links li {
  margin-right: 10px;
}

.nav-links li:last-of-type {
  margin-right: 0;
}

.nav-links li a,
.nav-links li span {
  display: flex;
  justify-content: center;
  align-items: center;

  color: #0058a6;
  width: 30px;
  height: 30px;
  border-radius: 3px;
  overflow: hidden;
}

.nav-links li .page-numbers {
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0.1em;
}

.nav-links li .current {
  background-color: #0058a6;
  color: #fff;
}

.nav-links li .prev,
.nav-links li .next {
  width: 30px;
  text-align: center;
}

.post section {
  padding-bottom: 100px;
}
.post .news__items {
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 80px;
}
.post .news__items:after {
  width: 355px;
  content: "";
}
.post .news__item__parts {
  display: flex;
  align-items: center;
}
.post .news__item_content {
  font-size: 15px;
  line-height: 32px;
  color: #0058a6;
}
.single-post .post-title-area {
  margin-bottom: 70px;
}
.single-post .post .news__item__parts {
  margin-bottom: 40px;
}
.single-post h1 {
  font-size: 50px;
  color: #0058a6;
  position: static;
}
.post .news__item__cat {
  color: #fff;
  padding: 4px 8px;
  background: #0058a6;
  border-radius: 5px;
  margin: 22px 0 0;
  font-size: 14px;
}
.post .news__item__date {
  color: #0058a6;
  margin-left: 0;
}
.post .news__item__title {
  color: #0058a6;
  margin-left: 0;
}
.single-image-area {
  background: #f1f3f8;
}
.post-thumbnail {
  max-width: 1200px;
  height: 600px;
  margin: 0 auto;
}
.post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.post-content-area {
  padding: 0 70px;
}
.post-content-area h2 {
  text-align: center;
  margin-bottom: 80px;
  color: #0058a6;
  font-size: 24px;
}
.post-content-area p {
  font-size: 15px;
  line-height: 32px;
  color: #0058a6;
  margin-bottom: 80px;
}
.post-content-area .wp-block-image {
  margin-bottom: 80px;
  width: 100%;
}
.post-content-area .wp-block-image img {
  border-radius: 20px;
  width: 100%;
}
.post-info {
  display: none;
  border-top: 1px solid #0058a6;
}
.post-info-block {
  padding: 50px 30px;
  border-bottom: 1px solid #0058a6;
}
.post-info-block h3 {
  font-size: 19px;
  margin-bottom: 20px;
  color: #0058a6;
}
.post-info-block ul {
  padding-left: 15px;
}
.post-info-block ul li {
  font-size: 13px;
  list-style: disc;
  line-height: 20px;
}
@media screen and (max-width: 768px) {
  .single-image-area {
    background: transparent;
  }
  .post-thumbnail {
    width: calc(100% - 40px);
    margin: 0 auto;
    height: 270px;
  }
  .post-thumbnail img {
    border-radius: 20px;
  }
  .cate-archive-area {
    gap: 10px;
    margin-bottom: 40px;
  }
  .cate-archive-area .list-block {
    width: 100%;
  }
  .cate-archive-area .list-block ul {
    position: static;
  }
  .post .news__item {
    margin: 0 0 20px 0;
    justify-content: space-between;
  }
  .post .news__item__img {
    width: 140px;
  }
  .post .news__item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .post .news__item__cat {
    margin: 0 0 10px 0;
    font-size: 10px;
  }
  .post .news__item__body {
    width: calc(100% - 140px);
  }
  .nav-links ul {
    margin: 30px auto 0px auto;
  }
  .single-post .post-title-area {
    margin-bottom: 20px;
    padding: 0 10px;
  }
  .single-post .post .news__item__parts {
    margin-bottom: 10px;
  }
  .single-post h1 {
    font-size: 25px;
  }
  .post-content-area {
    padding: 0 10px;
  }
  .post-info {
    display: block;
  }
  .single-post .post-info .news__item__parts {
    margin-bottom: 0;
  }
  .post .news__item_content {
    font-size: 12px;
    line-height: 18px;
  }
  .post-content-area h2 {
    margin-bottom: 40px;
  }
  .post-content-area p {
    margin-bottom: 40px;
  }
  .post-content-area .wp-block-image {
    margin-bottom: 40px;
  }
}

.post-single-pagenation {
  width: 260px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.post-single-pagenation p a {
  transition: 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}

.post-single-pagenation p.center {
  margin: 0 36px;
}

.post-single-pagenation p.prev {
  width: 16px;
}
.post-single-pagenation p.next {
  width: 16px;
}
@media (max-width: 768px) {
  .post-single-pagenation {
    width: 180px;
    justify-content: space-between;
  }
  .post-single-pagenation p.prev {
    width: 10px;
  }
  .post-single-pagenation p.next {
    width: 10px;
  }
}
#page-sdgs {
  padding-bottom: 180px;
}
.text-image-block {
  margin-bottom: 100px;
}
.text-image-block h3 {
  font-size: 30px;
  margin-bottom: 40px;
  color: #0058a6;
}
.text-image-block .text p {
  font-size: 15px;
  letter-spacing: 0.05rem;
  line-height: 32px;
  color: #0058a6;
  text-align: justify;
}
.text-image-block .text-image {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.text-image-block .text-image .text {
  width: 600px;
}
.text-image-block .text-image .text p {
  margin-bottom: 30px;
}
.text-image-block .text-image figure {
  width: 600px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.text-image-block .text-image figure img {
  width: 344px;
}
@media (max-width: 768px) {
  #page-sdgs {
    padding-bottom: 60px;
  }
  .text-image-block {
    margin-bottom: 50px;
  }
  .text-image-block h3 {
    font-size: 19px;
    margin-bottom: 30px;
  }
  .text-image-block .text-image {
    padding: 0 15px;
  }
  .text-image-block .text-image figure {
    order: -1;
    margin-bottom: 30px;
  }
}

.date .title-area {
  display: none;
}
.date .list-block {
  display: none;
}
.post-single-pagenation .button-arrow {
  display: none;
}
.cate-news .filter-news {
  display: block;
}
.cate-recruit-blog .filter-recruit-blog {
  display: block;
}
.single-cate-news .button-arrow.filter-news {
  display: block;
}
.single-cate-recruit-blog .button-arrow.filter-recruit-blog {
  display: block;
}
#page-data {
  margin-bottom: 40px;
}
.page-data .container {
  padding: 80px 0;
}
#page-data .container {
  padding-top: 0;
}
.page-data .data-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 60px;
  margin-bottom: 50px;
}
.data-list dl {
  width: 48.5%;
  background: #fff;
  border-radius: 20px;
  padding: 40px 30px;
  box-sizing: border-box;
}
.data-list dl dt {
  font-size: 45px;
  line-height: 55px;
  color: #0058a6;
  text-align: center;
  margin-bottom: 20px;
  font-weight: 600;
  letter-spacing: -1px;
}
.data-list dl dt span {
  font-size: 30px;
  line-height: 40px;
  display: block;
}
.data-list dl dd {
  width: 100%;
  height: 390px;
}
.data-list dl dd img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.page-data .jiten {
  font-size: 25px;
  text-align: center;
  color: #0058a6;
}

@media (max-width: 768px) {
  .page-data .data-list {
    row-gap: 40px;
  }
  .data-list dl {
    width: 100%;
    border-radius: 10px;
    padding: 20px 15px;
  }
  .data-list dl dt {
    font-size: 25px;
    line-height: 30px;
    margin-bottom: 10px;
  }
  .data-list dl dt span {
    font-size: 15px;
    line-height: 20px;
  }
  .data-list dl dd {
    width: 100%;
    height: 200px;
  }
  .page-data .jiten {
    font-size: 13px;
  }
}
#page-strengths .inner {
  padding: 80px 0;
}
.strength-block {
  padding-bottom: 150px;
}
.strength-block strong {
  margin-bottom: 60px;
  color: #0058a6;
}
.strength-block .text-image {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.strength-block:nth-of-type(even) .text-image picture {
  order: -1;
}
.strength-block .text {
  width: 48%;
}
.strength-block p {
  color: #0058a6;
  font-size: 15px;
  line-height: 32px;
  margin-bottom: 20px;
}
.strength-block picture {
  width: 600px;
  height: 600px;
  display: block;
}
.strength-block picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
}

@media (max-width: 768px) {
  #page-strengths .inner {
    padding: 50px 0;
  }
  .page-data .container {
    padding: 50px 0;
  }
  .page-strengths .strength-block {
    padding-bottom: 50px;
  }
  .page-strengths strong {
    margin-bottom: 30px;
  }
  .strength-block:nth-of-type(even) .text-image picture {
    order: 2;
  }
  .strength-block .text {
    width: 100%;
  }
  .strength-block picture {
    width: 100%;
    height: calc(100vw - 40px);
    display: block;
  }
  .strength-block picture img {
    border-radius: 10px;
  }
  .page-strengths #footer-recruit .container {
    height: 150vw;
    width: 85%;
  }
  .page-data #footer-recruit .container {
    height: 150vw;
    width: 85%;
  }
}

.text-area .img-text {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 50px;
}
.text-area .img-text picture {
  width: 370px;
}
.text-area .img-text picture img {
  border-radius: 20px;
}
.text-area .img-text .text {
  width: 720px;
}
.text-area .img-text .text h3 {
  font-size: 32px;
  color: #fff;
  font-weight: 500;
  margin-bottom: 30px;
}
.footer-tell-area dl {
  margin-top: 40px;
  text-align: center;
  color: #0058a6;
}
.footer-tell-area dl dt {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 10px;
}
.footer-tell-area dl dd.tell {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 45px;
  font-weight: 600;
  margin-bottom: 10px;
}
.footer-tell-area dl dd.tell img {
  width: 30px;
}
.footer-tell-area dl dd {
  font-size: 15px;
}
.footer-tell-area dl dd.time {
  margin-bottom: 30px;
}
.footer-tell-area dl dd.fax {
  margin-bottom: 20px;
}
.footer-tell-area dl dd.mail {
  margin-bottom: 40px;
}
.footer-tell-area dl dd.annotation {
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .text-area .img-text {
    padding: 0 10px;
  }
  .text-area .img-text picture {
    width: 100%;
  }
  .text-area .img-text picture img {
    border-radius: 10px;
  }
  .text-area .img-text .text {
    width: 100%;
    order: -1;
    margin-bottom: 30px;
  }
  .text-area .img-text .text h3 {
    font-size: 25px;
    margin-bottom: 50px;
    text-align: center;
  }
  .footer-tell-area {
    padding: 0 40px;
  }
  .footer-tell-area dl dt {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 10px;
  }
  .footer-tell-area dl dd.tell {
    gap: 10px;
    font-size: 35px;
    margin-bottom: 10px;
  }
  .footer-tell-area dl dd {
    font-size: 14px;
  }
  .footer-tell-area dl dd.tell img {
    width: 25px;
  }
  .footer-tell-area dl dd.time {
    margin-bottom: 30px;
  }
  .footer-tell-area dl dd.fax {
    margin-bottom: 10px;
    text-align: left;
  }
  .footer-tell-area dl dd.mail {
    margin-bottom: 30px;
    text-align: left;
  }
  .footer-tell-area dl dd.annotation {
    margin-bottom: 40px;
    text-align: left;
  }
}
.page-faq .faq-link {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.page-faq .faq-link li a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  color: #0058a6;
  font-weight: 500;
}
.page-faq .faq-link li a span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #0058a6;
  display: flex;
  justify-content: center;
  align-items: center;
}
.faq-block {
  padding: 45px 50px;
  background: #fff;
  margin-bottom: 20px;
  color: #0058a6;
  border-radius: 10px;
}
.faq-block dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
  line-height: 32px;
  font-weight: 600;
  cursor: pointer;
  padding-left: 1.2em;
  text-indent: -1.2em;
}

.faq-block dt .acc-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #0058a6;
  position: relative;
  flex-shrink: 0;
}
.faq-block dt .acc-icon span {
  width: 15px;
  height: 1px;
  background: #0058a6;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 14px;
}
.faq-block dt .acc-icon span:first-of-type {
  transform: rotate(90deg);
  transition: ease 0.3s;
}
.faq-block dt.action .acc-icon span:first-of-type {
  transform: rotate(0);
}
.faq-block dd {
  padding-top: 20px;
  font-size: 15px;
  line-height: 32px;
}
.page-faq .topup {
  color: #0058a6;
  margin: 0 0 0 auto;
  display: block;
  width: 96px;
}
@media screen and (max-width: 768px) {
  .page-faq .text-block:first-of-type {
    border-top: 1px solid #0058a6;
  }
  .page-faq .faq-link {
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
    margin-bottom: 40px;
  }
  .page-faq .faq-link li a {
    gap: 7px;
    font-size: 15px;
  }
  .page-faq .faq-link li a span {
    width: 18px;
    height: 18px;
  }
  .faq-block {
    padding: 12px 15px;
    margin-bottom: 10px;
    border-radius: 10px;
  }
  .faq-block dt {
    font-size: 14px;
    line-height: 32px;
  }

  .faq-block dt .acc-icon {
    width: 18px;
    height: 18px;
  }
  .faq-block dt .acc-icon span {
    width: 10px;
    top: 8px;
  }
  .faq-block dd {
    padding-top: 10px;
    font-size: 14px;
    line-height: 32px;
  }
}
.page-policy {
  color: #0058a6;
  font-size: 15px;
  line-height: 32px;
}
.page-policy p.right {
  text-align: right;
}
#page-policy .inner {
  padding-top: 90px;
}
.page-policy .policy-block {
  margin-bottom: 50px;
}
.page-policy h3 {
  font-size: 26px;
  margin-bottom: 35px;
}
.page-policy h4 {
  font-weight: 600;
  margin-bottom: 35px;
}
.page-policy .parent {
  margin-bottom: 60px;
  padding-left: 10px;
}
.page-policy .parent > dd {
  padding-left: 1rem;
}
.page-policy .parent > dd > ul {
  margin-top: 40px;
}
.page-policy .parent > dd > ul > li {
  margin-bottom: 35px;
}
.page-policy .parent li ul {
  margin-top: 40px;
}
.page-policy .parent li li {
  margin-top: 40px;
}
.page-policy .parent dl {
  margin-top: 40px;
}
.page-policy table {
  width: calc(100% - 100px);
  margin: 50px auto;
}
.page-policy table th {
  width: 100%;
  text-align: left;
  padding: 15px;
  border: 1px solid #0058a6;
}
.page-policy table td {
  width: 100%;
  padding: 15px;
  background: #fff;
  border: 1px solid #0058a6;
}
.grandchild {
  padding-left: 1rem;
}
.policy-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 130px;
  margin-top: -130px;
}
.policy-link p {
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .page-policy {
    font-size: 14px;
    line-height: 24px;
  }
  #page-policy .inner {
    padding-top: 50px;
  }
  .page-policy a {
    display: block;
    word-wrap: break-word;
  }
  .page-policy table {
    width: 100%;
    margin: 30px auto;
    border: none;
  }
  .page-policy table th {
    padding: 10px;
  }
  .page-policy table td {
    padding: 10px;
  }
  .page-policy .parent {
    margin-bottom: 30px;
  }
  .page-policy .parent > dd > ul {
    margin-top: 30px;
  }
  .page-policy .parent > dd > ul > li {
    margin-bottom: 30px;
  }
  .page-policy .parent li ul {
    margin-top: 30px;
  }
  .page-policy .parent li li {
    margin-top: 30px;
  }
  .page-policy .parent dl {
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  #page-company .left,
  #page-company .right {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  #page-business .container,
  #page-message .container {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  #history-janpara .container,
  #history-twe .container {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  #news-list .container {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}


/* ページ内リンク対策:BEGIN */
.page-policy .policy-block dt::before,
.page-policy .policy-block h3::before,
.page-policy .policy-block h4::before,
.page-policy .policy-block h5::before,
.page-policy .policy-block h6::before {
  content: "";
  display: block;
  margin-top: -180px;
  padding-top: 180px;
}
@media screen and (max-width: 768px) {
  .page-policy .policy-block dt::before,
  .page-policy .policy-block h3::before,
  .page-policy .policy-block h4::before,
  .page-policy .policy-block h5::before,
  .page-policy .policy-block h6::before {
    margin-top: -50px;
    padding-top: 50px;
  }
}
/* ページ内リンク対策:END */