/* -------------------- */
/* moblie first styling */
/* -------------------- */
@charset "UTF-8";

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
  line-height: 1.5;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

h2,
h3 {
  font-weight: 500;
}

a:hover {
  transition: ease 0.3s;
}

img {
  max-width: 100%;
  height: auto;
}

html {
  font-size: 12px;
  color: #000000;
  overflow-y: scroll;
}

body {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 400;
  letter-spacing: normal;
  -webkit-text-size-adjust: 100%;
}

.ib {
  display: inline-block;
}

.hover-arrow {
  position: relative;
}

.hover-arrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -12px;
  margin: auto;
  width: 25px;
  height: 2px;
  background: #FFF;
  transition: .3s;
}

.hover-arrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 7px;
  margin: auto;
  width: 4px;
  height: 4px;
  border-left: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  transform: rotate(-135deg);
  transition: .3s;
}

.hover-arrow:hover::before {
  left: 88%;
}

.hover-arrow:hover::after {
  left: 106%;
}

.white::before {
  background: #FFF;
}

.white::after {
  border-left: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
}

.brown::before {
  background: #5F443E;
}

.brown::after {
  border-left: 2px solid #5F443E;
  border-bottom: 2px solid #5F443E;
}

.orange::before {
  background: #FEC453;
}

.orange::after {
  border-left: 2px solid #FEC453;
  border-bottom: 2px solid #FEC453;
}


.green::before {
  background: #168181;
}

.green::after {
  border-left: 2px solid #168181;
  border-bottom: 2px solid #168181;
}

.blue::before {
  background: #032969;
}

.blue::after {
  border-left: 2px solid #032969;
  border-bottom: 2px solid #032969;
}

input[type="radio"],
input[type="checkbox"] {
  position: relative;
  top: -2px;
  margin-right: 8px;
}

/* --------------------共通----------------------- */
body {
  padding-top: 60px;
}

.fixed {
  position: fixed;
  width: 100%;
}

@media print,
screen and (min-width: 1024px) {
  body {
    padding-top: 70px;
  }
}

.breadcrumbs {
  display: flex;
  padding: 8px 28px;
  gap: 8px;
  align-items: flex-end;
  justify-content: flex-end;
}

.breadcrumb-home {
  position: relative;
}

.breadcrumb-home::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: -16px;
  top: 50%;
  transform: translate(0, -50%);
  width: 12px;
  height: 12px;
  background-image: url('/img/breadcrunb-home.png');
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}

.title {
  background: -moz-linear-gradient(top, #FFF 20%, #FFE5B4);
  background: -webkit-linear-gradient(top, #FFF 20%, #FFE5B4);
  background: linear-gradient(to bottom, #FFF 20%, #FFE5B4);
}

.title-text {
  font-size: 20px;
  text-align: center;
  padding: 24px 0 8px;
  font-weight: 500;
}

.title-text:before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url('/img/title-icon.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position:left center;
  margin-right: .3em;
}

@media print,
screen and (min-width: 768px) {
  .title-text {
    font-size: 28px;
    text-align: left;
    padding: 32px 120px 8px;
  }
}

/* header */
header {
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0;
  z-index: 999;
  background-color: #FFF;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.header-title {
  padding-left: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.header-title img {
  height: 32px;
  width: auto;
}

.header-menu-wrapper {
  display: none;
}

.sp-header-menu-wrapper {
  position: fixed;
  top: 60px;
  right: -500px;
  height: 100%;
  background-color: #FDF6E5;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 100%;
  width: 320px;
  z-index: 999;
  transition: all 0.4s;
  overflow-y: scroll;
  border-left: 1px solid rgba(5, 57, 113, 0.1);
  overflow: hidden;
}

.panelactive {
  display: flex;
  right: 0px;
}

.sp-header-menu-wrapper .sp-header-menu {
  padding: 20px 20px 10px 20px;
  font-size: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sp-header-menu-wrapper .menu-item-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sp-header-menu-wrapper .menu-item-container img {
  height: 12px;
  width: 8px;
}

.sp-contact-wrapper {
  background-color: #fff;
  width: 95%;
  margin: 0 auto;
  padding: 8px;
  border-radius: 8px;
}

.sp-header-menu-wrapper .reception {
  text-align: center;
  padding-top: 8px;
}

.sp-header-menu-wrapper .sp-header-tel {
  text-align: center;
  color: #032969;
  font-size: 14px;
  background-color: #fff;
  padding: 8px;
  border-radius: 8px;
}

.sp-header-menu-wrapper .sp-header-tel a {
  font-weight: 700;
  font-size: 20px;
}

.sp-header-menu-wrapper .sp-header-icon {
  display: flex;
  gap: 4px;
  color: #FFF;
  width: 100%;
  justify-content: center;
  background-color: #fff;
}

.sp-header-menu-wrapper .sp-header-icon-contact,
.sp-header-menu-wrapper .sp-header-icon-visit {
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px;
  flex: 1;
}

.sp-header-menu-wrapper .sp-header-icon-contact {
  background-color: #38B2E2;
}

.sp-header-menu-wrapper .sp-header-icon-visit {
  background-color: #032969;
}

.sp-header-menu-wrapper .sp-header-icon img {
  width: 40px;
}

/* -----ハンバーガーメニュー----- */
.hamburger {
  position: relative;
  right: 0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  background-color: #FEC453;
  z-index: 9999;
}

.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 4px;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 18px;
}

.hamburger span:nth-child(2) {
  top: 28px;
}

.hamburger span:nth-child(3) {
  top: 38px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 29px;
  left: 15px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background: #000;
  box-shadow: none;
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 29px;
  left: 15px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #000;
  box-shadow: none;
}

/* -----ハンバーガーメニュー----- */

/* footer */
footer {
  background-color: #fff;
  text-align: center;
}

footer .privacy {
  background-color: #EDEDED;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
}

footer .footer-title {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

footer .footer-title a {
  display: block;
  height: 28px;
}

footer .footer-title img {
  height: 100%;
}

footer .copyright {
  color: #FFF;
  font-size: 10px;
  height: 40px;
  background: #032969;
  display: flex;
  align-items: center;
  justify-content: center;
}

#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 15px;
  bottom: 15px;
  background: #FEC453;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  border-radius: 25px;
  z-index: 900;
}

#page_top:hover {
  opacity: 0.7;
}

#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}

#page_top a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f106";
  font-size: 25px;
  color: #FFF;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -10px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #page_top {
    right: 20px;
    bottom: 20px;
  }
}

/* --------------------共通----------------------- */

/* top-page */
/* top-page */
/* top-page */
.top .top-hero {
  overflow: hidden;
  z-index: -1;
  position: fixed;
  height: calc(100vh - 60px);
  min-height: calc(100vh - 60px);
  min-width: 100%;
  width: 100%;
}

.top .top-hero .slide-1,
.top .top-hero .slide-2,
.top .top-hero .slide-3 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100vh;
  margin: 0;
  position: relative;
}

.top .top-hero .slide-1 {
  background-image: url(/img/sp-top-1.jpg?20221219);
}

.top .top-hero .slide-2 {
  background-image: url(/img/sp-top-2.jpg?20221219);
}

.top .top-hero .slide-3 {
  background-image: url(/img/sp-top-3.jpg?20221219);
}
@media print,
screen and (min-width: 768px) {
  .top .top-hero .slide-1 {
    background-image: url(/img/top-1.jpg);
  }

  .top .top-hero .slide-2 {
    background-image: url(/img/top-2.jpg);
  }

  .top .top-hero .slide-3 {
    background-image: url(/img/top-3.jpg);
  }
}

.top .top-hero .top-message-01,
.top .top-hero .top-message-02 {
  position: absolute;
  color: #FFF;
  text-shadow: 2px 2px 2px #707070;
}

.top .top-hero .top-message-01 {
  font-size: 32px;
  top: 60%;
  left: 3%;
}

.top .top-hero .top-message-02 {
  font-size: 32px;
  top: 67%;
  left: 3%;
}

@media print,
screen and (min-width: 480px) {
  .top .top-hero .top-message-01 {
    font-size: 48px;
    top: 60%;
    left: 5%;
  }

  .top .top-hero .top-message-02 {
    font-size: 48px;
    top: 70%;
    left: 5%;
  }
}

@media print,
screen and (min-width: 768px) {
  .top .top-hero .top-message-01 {
    font-size: 60px;
    top: 62%;
    left: 7%;
  }

  .top .top-hero .top-message-02 {
    font-size: 60px;
    top: 74%;
    left: 7%;
  }
}

@media print,
screen and (min-width: 1024px) {
  .top .top-hero .top-message-01 {
    font-size: 64px;
    top: 63%;
    left: 7%;
  }

  .top .top-hero .top-message-02 {
    font-size: 64px;
    top: 75%;
    left: 7%;
  }
}

@media print,
screen and (min-width: 1440px) {
  .top .top-hero .top-message-01 {
    font-size: 64px;
    top: 63%;
    left: 7%;
  }

  .top .top-hero .top-message-02 {
    font-size: 64px;
    top: 75%;
    left: 7%;
  }
}

.top .top-hero img {
  width: 100%;
}

.top .top-company {
  padding: 40px 20px;
  background-color: #c7bebc;
  text-align: center;
  color: #FFF;
  background-color: #524c4b;
  background-color: rgba(82, 76, 75, 0.7);
}

.top .spacer {
  padding-top: 100vh;
}

.top .top-company-text {
  text-shadow: 0 0 6px #312F2D;
  font-size: 14px;
}

.top .top-company-link {
  display: block;
  margin: 30px auto 0;
  width: 100px;
  height: 40px;
  padding: 10px;
  border: 1px solid #FFF;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top .top-staff {
  padding: 40px 0;
  background-color: #E6EEF2;
  text-align: center;
  color: #168181;
  font-size: 14px;
}

.top .top-staff p::before {
  content: '＼ ';
}

.top .top-staff p::after {
  content: ' ／';
}

.top .top-staff-slider {
  overflow: hidden;
  pointer-events: none;
}

.top .top-staff-slider img {
  width: 80px;
  height: 80px;
  border-radius: 80px;
  border: 4px solid #ABDBDB;
  margin: 30px 10px 0;
}

.top .top-staff-link {
  display: block;
  margin: 30px auto 0;
  width: 120px;
  height: 40px;
  padding: 10px;
  background-color: #FFF;
  border: 1px solid #168181;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top .top-service {
  padding: 40px 20px;
  background-color: #E6EEF2;
  border-top: 80px solid #FFF;
  border-bottom: 80px solid #FFF;
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.top .top-service img {
  display: block;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 80%;
  max-width: 500px;
  border-radius: 20px;
}

.top .top-service-text {
  padding-top: 40vw;
}

.top .top-service-text h2 {
  padding: 10px;
  color: #053971;
  font-size: 16px;
}

.top .top-service-text p {
  padding: 10px;
  color: #383634;
}

.top .top-service-link {
  display: block;
  margin: 30px auto 0;
  width: 120px;
  height: 40px;
  padding: 10px;
  background-color: #FFF;
  border: 1px solid #032969;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top .top-recruit {
  padding: 40px 20px;
  background-color: #F7F3EC;
  text-align: center;
  border-bottom: 80px solid #FFF;
}

.top .top-recruit-inner-box {
  background-color: #FFF;
  margin: 0 auto;
  border-radius: 32px;
  overflow: hidden;
  line-height: 0;
}

.top .top-recruit h2 {
  padding: 40px 10px 10px;
  color: #5F443E;
  font-size: 16px;
}

.top .top-recruit p {
  padding: 10px 40px 0;
}

.top .top-recruit-link {
  display: block;
  margin: 30px auto 30px;
  width: 100px;
  height: 40px;
  padding: 10px;
  background-color: #FFF;
  border: 1px solid #5F443E;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top .top-recruit img {
  width: 100%;
}

.top .top-contact,
.service .top-contact {
  padding: 40px 5%;
  background-color: #FFF;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
  position: relative;
  z-index: 0;
}

.top .top-contact::before,
.service .top-contact::before {
  content: '';
  background-image: url('/img/bg-hill.jpg');
  opacity: 0.3;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  filter: blur(4px);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.top .top-contact-inquiry,
.service .top-contact-inquiry {
  background-color: #FFF;
  display: flex;
  justify-content: space-around;
  flex-direction: column;
  border-radius: 20px;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.top .top-contact-inquiry h2,
.service .top-contact-inquiry h2 {
  display: inline-block;
  padding: 5px;
  margin: 10px;
  color: #032969;
  font-size: 16px;
  border-bottom: 2px solid #C6C6C6;
}

.top .top-contact-tel a,
.service .top-contact-tel a {
  font-size: 20px;
  font-weight: 900;
  color: #032969;
}

.top .top-contact-tel a:hover,
.service .top-contact-tel a:hover {
  opacity: 0.7;
}

.top .top-contact-form a,
.service .top-contact-form a {
  display: block;
  background-color: #FEC453;
  border-radius: 20px;
  width: 200px;
  height: 40px;
  padding: 10px;
  margin: 5px auto;
  font-size: 16px;
}

.top .top-contact-form a:hover,
.service .top-contact-form a:hover {
  opacity: 0.7;
}

.top .top-contact-map,
.service .top-contact-map {
  background-color: #FFF;
  border-radius: 20px;
  margin-bottom: 20px;
  position: relative;
  width: 100%;
  border-radius: 20px;
  line-height: 0;
}

.top .top-contact-map h2,
.service .top-contact-map h2 {
  display: inline-block;
  padding: 5px;
  margin: 10px;
  color: #032969;
  font-size: 16px;
  border-bottom: 2px solid #C6C6C6;
}

.top .top-contact-visit,
.service .top-contact-visit {
  display: flex;
  flex-direction: column;
}

.top .top-contact-reception,
.service .top-contact-reception {
  font-size: 14px;
  padding-top: 10px;
}

.top .top-contact-visit p,
.service .top-contact-visit p {
  font-size: 12px;
  padding: 0 10px 10px;
}

.top .top-contact-address,
.service .top-contact-address {
  font-size: 12px;
  padding: 0 20px 10px;
}

.top .top-contact-address-xl,
.service .top-contact-address-xl {
  font-size: 16px;
}

.top .top-contact-visit a,
.service .top-contact-visit a {
  display: block;
  margin: 10px auto 10px;
  width: 100px;
  height: 40px;
  padding: 10px;
  background-color: #032969;
  border: 1px solid #032969;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFF;
}

.top .top-contact-visit a:hover,
.service .top-contact-visit a:hover {
  opacity: 0.7;
}

.top .top-contact-map iframe,
.service .top-contact-map iframe {
  width: 100%;
  border-radius: 0 0 20px 20px;
  -webkit-border-radius: 0 0 20px 20px;
  -moz-border-radius: 0 0 20px 20px;
}

@media print,
screen and (min-width: 768px) {
  .top .top-staff-slider img {
    width: 160px;
    height: 160px;
    border-width: 8px;
  }

  .top .top-contact-inquiry,
  .service .top-contact-inquiry {
    flex-direction: row;
    justify-content: space-around;
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 20px;
  }

  .top .top-contact-visit,
  .service .top-contact-visit {
    padding: 0 80px;
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-start;
    gap: 40px;
  }
}

@media print,
screen and (min-width: 1024px) {
  .hamburger {
    display: none;
  }

  .sp-header-menu-wrapper {
    display: none;
  }

  header {
    height: 70px;
  }

  .header-title img {
    height: 32px;
  }

  .header-tel {
    text-align: center;
  }

  .header-tel p {
    color: #032969;
    font-size: 24px;
    font-weight: 700;
  }

  .header-tel .reception {
    background-color: #FEC453;
    padding: 4px 8px;
  }

  .header-menu-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: right;
    gap: 15px;
  }

  .header-icon {
    display: flex;
    flex-direction: row;
    gap: 10px;
    padding-right: 10px;
    height: 70%;
    align-items: center;
  }

  .header-icon .mapimg {
    background: url(/img/map.svg);
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: center;
  }

  .header-icon .mailimg {
    background: url(/img/mail.svg);
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: center;
  }

  .header-icon .mapimg:hover {
    background: url(/img/map-hover.svg);
  }

  .header-icon .mailimg:hover {
    background: url(/img/mail-hover.svg);
  }

  .header-menu {
    display: flex;
    flex-direction: row;
    height: 100%;
    gap: 20px;
    font-size: 16px;
    align-items: center;
    margin: 0 10px;
  }

  .header-menu a {
    position: relative;
  }

  .header-menu a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #0481A2;
    transition: all .3s;
    transform: scale(0, 1);
    transform-origin: left top;
  }

  .header-menu a:hover::after {
    transform: scale(1, 1);
  }

  footer .privacy {
    font-size: 16px;
  }

  footer .footer-title a {
    height: 40px;
  }

  .hover-arrow:hover::before {
    left: 95%;
  }

  .hover-arrow:hover::after {
    left: 104%;
  }

  .top .top-hero {
    z-index: -1;
    position: fixed;
    top: 70px;
  }

  .top .top-hero {
    height: calc(100vh - 70px);
    min-height: calc(100vh - 70px);
  }

  .top .spacer {
    padding-top: 100vh;
  }

  .top .top-company {
    background-color: #524c4b;
    background-color: rgba(82, 76, 75, 0.7);
  }

  .top .top-company p {
    margin: 100px;
    text-align: left;
    font-size: 24px;
    z-index: 2;
  }

  .top .top-company-link {
    margin: 0px auto 0;
    width: 240px;
    height: 80px;
    background-color: transparent;
    border-radius: 40px;
    font-size: 24px;
    color: #FFF;
  }

  .top .top-company-link:hover {
    background-color: #666;
  }

  .top .top-staff {
    padding: 120px 0;
  }

  .top .top-staff p {
    font-size: 28px;
  }

  .top .top-staff-slider {
    margin: 40px 0 60px;
  }

  .top .top-staff-slider img {
    width: 180px;
    height: 180px;
    border: 8px solid #ABDBDB;
    margin: 30px 20px 0;
    border-radius: 140px;
  }

  .top .top-staff-link {
    margin: 0px auto 0;
    width: 240px;
    height: 80px;
    border-radius: 40px;
    font-size: 24px;
  }

  .top .top-staff-link:hover {
    background-color: rgb(230, 238, 242);
  }

  .top .top-service {
    padding: 40px 20px;
    background-color: #E7EDF7;
    border-top: 160px solid #FFF;
    border-bottom: 160px solid #FFF;
    position: relative;
    display: flex;
    flex-direction: row;
    text-align: center;
    justify-content: space-around;
    align-items: flex-start;
  }

  .top .top-service img {
    top: -100px;
    left: 0;
    transform: none;
    display: block;
    max-width: 50vw;
    width: 50vw;
    position: relative;
    border-radius: 20px;
  }

  .top .top-service-text {
    padding-top: 0;
    text-align: left;
    padding: 40px;
  }

  .top .top-service-text h2 {
    font-size: 30px;
  }

  .top .top-service-text p {
    font-size: 20px;
  }

  .top .top-service-link {
    margin: 40px auto 0;
    width: 240px;
    height: 80px;
    border-radius: 40px;
    font-size: 24px;
  }

  .top .top-service-link:hover {
    background-color: #E7EDF7;
  }


  .top .top-recruit-inner-box {
    max-width: 80%;
    width: 75%;
  }

  .top .top-recruit img {
    width: 100%;
  }

  .top .top-recruit h2 {
    font-size: 30px;
  }

  .top .top-recruit p {
    font-size: 20px;
  }

  .top .top-recruit-link {
    margin: 40px auto 40px;
    width: 240px;
    height: 80px;
    border-radius: 40px;
    font-size: 24px;
  }

  .top .top-recruit-link:hover {
    background-color: #F7F3EC;
  }

  .top .top-contact-inquiry h2,
  .service .top-contact-inquiry h2 {
    font-size: 24px;
  }

  .top .top-contact-tel a,
  .service .top-contact-tel a {
    font-size: 32px;
  }

  .top .top-contact-form a,
  .service .top-contact-form a {
    font-size: 20px;
    width: 280px;
    height: 60px;
    border-radius: 30px;
    padding: 15px;
  }

  .top .top-contact-map,
  .service .top-contact-map {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 20px;
  }

  .top .top-contact-reception,
  .service .top-contact-reception {
    font-size: 20px;
  }

  .top .top-contact-visit p,
  .service .top-contact-visit p {
    font-size: 14px;
  }

  .top .top-contact-address,
  .service .top-contact-address {
    text-align: left;
    font-size: 16px;
  }

  .top .top-contact-address-container,
  .service .top-contact-address-container {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .top .top-contact-address-xl,
  .service .top-contact-address-xl {
    font-size: 20px;
    font-weight: 700;
  }

  .top .top-contact-visit a,
  .service .top-contact-visit a {
    font-size: 16px;
    width: 200px;
  }

  .top .top-contact-map iframe,
  .service .top-contact-map iframe {
    height: 400px;
  }

  .top .top-contact-map h2,
  .service .top-contact-map h2 {
    font-size: 24px;
  }

  .top .top-contact-privacy,
  .service .top-contact-privacy {
    margin-bottom: 0;
  }
}

@media print,
screen and (min-width: 1100px) {
  .header-title img {
    height: 45px;
  }
}

/*---------- company ----------*/
/*---------- company ----------*/
/*---------- company ----------*/

.company .inner-link {
  display: block;
  background-color: #FFF6E3;
  height: 70px;
}

.company .inner-link-list {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  color: #383634;
  gap: 8px;
  height: 100%;
}

.company .inner-link-item:after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url('/img/company/button-icon.png');
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}

.company .company-message {
  text-align: center;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)),
    url('/img/company/bg-sky.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 48px;
}

.company .company-message-title {
  display: inline-block;
  font-size: 20px;
  padding: 48px 0 16px;
  position: relative;
}

.company .company-message-title:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -8px;
  display: inline-block;
  width: 30%;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #3C70FD;
  border-radius: 2px;
}

.company .company-message-text {
  padding: 36px;
}

.company .company-message-subtitle {
  font-size: 20px;
  font-weight: 500;
}

.company .height-wrapper {
  padding-top: 20px;
}

.company .company-icon-container {
  display: flex;
  justify-content: center;
}

.company .company-icon-box {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.company .company-icon-text-trust-en,
.company .company-icon-text-service-en,
.company .company-icon-text-community-en {
  position: relative;
  z-index: 2;
  color: #FFF;
  width: 100px;
}

.company .company-icon-text-trust-en::before,
.company .company-icon-text-service-en::before,
.company .company-icon-text-community-en::before {
  position: absolute;
  top: 140%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border-radius: 40px;
  background-color: #3C70FD;
  background: linear-gradient(-45deg, #6BCEFA, #3C70FD);

  content: '';
  z-index: -1;
}

.company .company-icon-text-trust-en::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 230%;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  background-image: url('/img/company/icon-trust.png');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.company .company-icon-text-service-en::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 220%;
  left: 50%;
  width: 35px;
  height: 35px;
  transform: translate(-50%, -50%);
  background-image: url('/img/company/icon-service.png');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.company .company-icon-text-community-en::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 250%;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  background-image: url('/img/company/icon-community.png');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.company .company-icon-text-trust-jp,
.company .company-icon-text-service-jp,
.company .company-icon-text-community-jp {
  margin-top: 60px;
  background: linear-gradient(270deg, #6BCEFA, #3C70FD);
  color: #FFF;
  border-radius: 15px;
  width: 90px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 10px;
}

.company .company-icon-cross {
  width: 15px;
  height: auto;
  margin-top: 20px;
}

.company .company-overview {
  background-color: #FFF6E3;
  padding: 60px 0;
}

.company .company-overview-wrapper {
  background-color: #FFF;
  text-align: center;
  margin: 0 auto;
}

.company .company-overview-title {
  font-size: 20px;
  padding: 48px 0 12px;
  color: #383634;
}

.company .company-overview-subtitle {
  position: relative;
  display: inline-block;
  margin-bottom: 36px;
}

.company .company-overview-subtitle:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -25px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #FEC453;
  border-radius: 2px;
}

.company .company-overview-list {
  display: flex;
  margin: 0 auto;
  justify-content: center;
  flex-direction: column;
  gap: 0;
  padding: 24px 8px;
  overflow: hidden;
}

.company .company-overview-list dl {
  display: flex;
  padding: 16px;
  border-top: 1px solid #B7B7B7;
}

.company .company-overview-list .column-2 dl:last-child {
  border-bottom: 1px solid #B7B7B7;
}

.company .company-overview-list dt {
  width: 100px;
  text-align: left;
  color: #032969;
}

.company .company-overview-list dd {
  width: 220px;
  text-align: left;
}

.company .company-overview-wrapper .company-map {
  width: 90%;
  padding: 40px 0;
  margin: 0 auto;
}

.company .company-overview-wrapper .company-map iframe {
  width: 100%;
}

.company .company-overview-wrapper .company-map p {
  text-align: left;
}

.company .company-history {
  width: 90%;
  margin: 0 auto;
}

.company .company-history h2 {
  font-size: 20px;
  background-color: #FFE5B4;
  margin: 20px auto;
}

.company .company-history-item {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.company .company-history-year {
  border-top: 1px solid #CDCDCD;
  padding: 4px 4px 0px 4px;
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  color: #032969;
  min-width: 50px;
}

.company .company-history-year.none-item {
  border-top: none;
}

.company .company-history-text {
  padding: 0px 12px 12px 12px;
  text-align: left;
  color: #383634;
}

.company .company-staff {
  padding: 40px 0;
  background-color: #E6EEF2;
  text-align: center;
  color: #168181;
}

.company .company-staff h2 {
  font-size: 20px;
  padding: 4px;
}

.company .company-staff p {
  font-size: 12px;
  position: relative;
  display: inline-block;
  margin-bottom: 36px;
  color: #000;
}

.company .company-staff p:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -25px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #168181;
  border-radius: 2px;
}

.company .company-staff .slider {
  overflow: hidden;
  pointer-events: none;
}

.company .company-staff .slider img {
  width: 80px;
  height: 80px;
  border-radius: 80px;
  border: 4px solid #ABDBDB;
  margin: 30px 10px 0;
}

.company .company-staff .link {
  display: block;
  margin: 30px auto 0;
  width: 120px;
  height: 40px;
  padding: 10px;
  background-color: #FFF;
  border: 1px solid #168181;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.company .company-style {
  max-width: 100%;
  padding-bottom: 40px;
  margin: 40px auto 0;
  text-align: center;
  background-color: #FFF6E3;
}

.company .company-style-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 32px;
  max-width: 1200px;
  margin: 20px auto 0;
}

.company .company-style-title {
  font-size: 20px;
  padding: 40px 0 8px;
  color: #383634;
}

.company .company-style-item {
  max-width: 90%;
}

.company .company-style-img {
  width: 320px;
  border-radius: 20px;
  overflow: hidden;
  max-width: 95%;
  margin: 0 auto;
  line-height: 0;
}


.company .company-style-description {
  font-size: 12px;
  position: relative;
  display: inline-block;
  margin-bottom: 36px;
}

.company .company-style-description:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -25px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #FEC453;
  border-radius: 2px;
}

.company .company-health {
  padding: 40px 0;
  background-color: #ECF7FC;
  text-align: center;
}

.company .company-health-title {
  font-size: 20px;
  padding: 4px;
}

.company .company-health-description {
  font-size: 12px;
  position: relative;
  display: inline-block;
  margin-bottom: 36px;
}

.company .company-health-description:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -25px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #FEC453;
  border-radius: 2px;
}

.company .company-health-detail {
  padding: 28px 0;
}

.company .company-health-list {
  max-width: 90%;
  margin: 0 auto;
  width: 1120px;
}

.company .company-health-item {
  background-color: #FFFFFF;
  padding: 16px;
  margin: 20px 0;
  text-align: left;
  border-radius: 8px;
  box-shadow: 0 1px 2px 0 #707070;
}

.company .company-health-list li h3 {
  color: #032969;
  font-size: 16px;
}

.company .company-health-action {
  color: #032969;
  font-size: 16px;
}

.company .company-health-action {
  list-style-type: none;
  padding: 16px 0 0;
}

.company .company-health-action li {
  padding-left: 1.5em;
  text-indent: -1.3em;
  margin-bottom: 10px;
  font-size: 12px;
  color: #000;
}

.company .company-health-action li:before {
  content: '';
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  background: #032969;
  margin-right: 0.5em;
}

.company .company-recruit {
  position: relative;
  z-index: 0;
  padding: 40px 0;
}

.company .company-recruit::before {
  content: '';
  background-image: url('/img/company/company-recruit.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  filter: blur(2px);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.company .company-recruit-box {
  width: 80%;
  margin: 0 auto;
  background-color: rgba(247, 243, 236, 0.9);
  text-align: center;
  border-radius: 32px;
  padding-bottom: 30px;
  color: #5F443E;
}

.company .company-recruit-box h2 {
  font-size: 20px;
  padding: 20px 0 16px;
  position: relative;
  display: inline-block;
}

.company .company-recruit-box h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  display: inline-block;
  width: 10%;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5F443E;
  border-radius: 2px;
}

.company .company-recruit-box p {
  font-size: 12px;
  width: 90%;
  margin: 40px auto;
}

.company .company-recruit-link {
  display: block;
  margin: 30px auto 0;
  width: 120px;
  height: 40px;
  padding: 10px;
  background-color: #FFF;
  border: 1px solid #5F443E;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media print,
screen and (min-width: 768px) {

  .company .company-message-subtitle {
    font-size: 26px;
  }

  .company .company-history h2 {
    margin: 40px auto 60px;
    padding: 8px 0;
    font-size: 28px;
  }

  .company .company-history-item {
    flex-direction: row;
    justify-content: center;
  }

  .company .company-history-year {
    border-top: none;
    width: 25%;
    text-align: right;
    padding: 0;
    padding-right: 24px;
    font-size: 24px;
    line-height: 1rem;
  }

  .company .company-history-text {
    width: 75%;
    padding-left: 100px;
    padding-bottom: 40px;
    border-left: 1px solid #032969;
    position: relative;
    font-size: 16px;

    box-sizing: content-box;
  }

  .company .company-history-text.last-item {
    border-left: none;
  }

  .company .company-history-text::before {
    content: "";
    position: absolute;
    top: 0;
    left: -9px;
    width: 16px;
    height: 16px;
    background-color: #032969;
    border-radius: 8px;
  }

  .company .company-history-text::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 20px;
    width: 60px;
    height: 1px;
    background-color: #032969;
  }

  .company .inner-link-list {
    font-size: 14px;
    gap: 28px;
  }

  .company .company-message-title {
    display: inline-block;
    font-size: 28px;
    padding: 48px 0 16px;
    position: relative;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
  }

  .company .company-message-text {
    padding: 60px;
    font-size: 20px;
  }

  .company .company-icon-text-trust-en,
  .company .company-icon-text-service-en,
  .company .company-icon-text-community-en {
    width: 140px;
    font-size: 18px;
  }

  .company .company-icon-text-trust-en::before,
  .company .company-icon-text-service-en::before,
  .company .company-icon-text-community-en::before {
    top: 150%;
    width: 140px;
    height: 140px;
    border-radius: 70px;
  }

  .company .company-icon-text-trust-en::after {
    top: 250%;
    width: 60px;
    height: 60px;
  }

  .company .company-icon-text-service-en::after {
    top: 250%;
    width: 60px;
    height: 60px;
  }

  .company .company-icon-text-community-en::after {
    top: 250%;
    width: 60px;
    height: 60px;
  }

  .company .company-icon-text-trust-jp,
  .company .company-icon-text-service-jp,
  .company .company-icon-text-community-jp {
    margin-top: 120px;
    border-radius: 20px;
    width: 150px;
    height: 40px;
    font-size: 16px;
  }

  .company .company-icon-cross {
    width: 50px;
    margin-top: 30px;
  }

  .company .company-overview-title {
    font-size: 28px;
  }

  .company .company-overview-subtitle {
    font-size: 16px;
  }

  .company .company-overview-subtitle:after {
    bottom: -25px;
    width: 50%;
    height: 3px;
  }

  .company .company-overview-wrapper {
    max-width: 90%;
    border-radius: 32px;
  }

  .company .company-overview-list {
    flex-direction: row;
    gap: 8px;
  }

  .company .company-overview-list dl {
    display: flex;
    padding: 16px;
    border-top: 1px solid #B7B7B7;
  }

  .company .company-overview-list .column-1 dl:last-child {
    border-bottom: 1px solid #B7B7B7;
  }

  .company .company-staff .slider img {
    width: 160px;
    height: 160px;
    border: 8px solid #ABDBDB;
  }

  .company .company-style {
    max-width: 90%;
    border-radius: 32px;
    margin: 40px auto;
    text-align: center;
    background-color: #FFF6E3;
  }

  .company .company-style-container {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .company .company-style-item {
    width: 320px;
  }

  .company .company-style-text {
    font-size: 16px;
  }

  .company .company-health-action li {
    font-size: 14px;
  }


}

@media print,
screen and (min-width: 1024px) {
  .company .company-description:after {
    bottom: -25px;
    width: 10%;
  }

  .company .company-icon-container {
    gap: 36px;
  }

  .company .company-staff {
    padding: 60px 0;
  }

  .company .company-staff h2 {
    font-size: 28px;
    padding: 16px;
  }

  .company .company-staff p {
    font-size: 20px;
  }

  .company .company-staff .slider {
    margin: 40px 0 60px;
  }

  .company .company-staff .slider img {
    width: 180px;
    height: 180px;
    border: 8px solid #ABDBDB;
    margin: 30px 20px 0;
    border-radius: 140px;
  }

  .company .company-staff .link {
    margin: 0px auto 0;
    width: 240px;
    height: 80px;
    border-radius: 40px;
    font-size: 24px;
  }

  .company .company-staff .link:hover {
    background-color: #E6EEF2;
  }

  .company .company-style-title {
    font-size: 28px;
    padding: 40px 0 16px;
  }

  .company .company-style-description {
    font-size: 20px;
  }

  .company .company-health-title {
    font-size: 28px;
    padding: 4px;
  }

  .company .company-health-description {
    font-size: 20px;
  }

  .company .company-health-description:after {
    bottom: -25px;
  }

  .company .company-health-detail {
    padding: 28px 0;
    font-size: 20px;
  }

  .company .company-health-list li h3 {
    font-size: 20px;
  }

  .company .company-health-action li {
    font-size: 16px;
  }

  .company .company-recruit {
    padding: 80px 0;
  }

  .company .company-recruit-box h2 {
    font-size: 28px;
    padding: 32px 0 16px;
  }

  .company .company-recruit-box p {
    font-size: 20px;
  }

  .company .company-recruit-link {
    margin: 0px auto 0;
    width: 240px;
    height: 80px;
    border-radius: 40px;
    font-size: 24px;
  }

  .company .company-recruit-link:hover {
    background-color: #F7F3EC;
  }
}

@media print,
screen and (min-width: 1200px) {
  .company .company-overview-list dt {
    width: 150px;
  }

  .company .company-overview-list dd {
    width: 300px;
  }

  .company .company-overview-list {
    font-size: 16px;
    gap: 84px;
  }
}

/*---------- staff ----------*/
/*---------- staff ----------*/
/*---------- staff ----------*/

.staff {
  color: #383634;
}

.staff .staff-greeting {
  height: 600px;
  background: -moz-linear-gradient(left, #FFF 20%, #BFE6E6);
  background: -webkit-linear-gradient(left, #FFF 20%, #BFE6E6);
  background: linear-gradient(to right, #FFF 20%, #BFE6E6);
  text-align: left;
  padding: 20px;
  position: relative;
  justify-content: space-between;
}

.staff .staff-greeting-title {
  font-size: 20px;
  border-bottom: 3px solid #168181;
  display: inline-block;
  padding: 24px 0 4px;
  margin-bottom: 24px;
}

.staff .staff-greeting-text {
  font-size: 12px;
}

.staff .staff-greeting-sign {
  position: absolute;
  bottom: 30%;
  font-size: 12px;
}

.staff .staff-greeting-sign .name {
  font-size: 20px;
}

.staff .staff-greeting-item-image {
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 5%;
}

.staff .staff-greeting-image {
  width: 200px;
  height: auto;
}

.staff .stafflist {
  text-align: center;
  background-color: #E6EEF2;
  padding: 24px 0;
}

.staff .stafflist-title {
  display: inline-block;
  font-size: 20px;
  text-align: center;
  padding: 24px 0 4px;
  font-weight: 500;
}

.staff .stafflist-text {
  padding: 8px;
  position: relative;
}

.staff .stafflist-text::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #168181;
  border-radius: 2px;
}

.staff .stafflist-members-title {
  font-weight: 450;
  font-size: 18px;
  padding: 8px;
  position: relative;
  margin: 16px 0 32px;
  padding-top: 40px;
}

.staff .stafflist-members-title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #168181;
  border-radius: 2px;
}

.staff .stafflist-members-wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 32px;
  margin: 8px auto;
  max-width: 1200px;
  padding: 16px;
}

.staff .stafflist-members-wrapper li {
  background-color: #FFF;
  display: flex;
  flex-direction: column;
  width: 80vw;
  aspect-ratio: 2/1;
  max-width: 550px;
  padding: 12px;
}

.staff .stafflist-members-wrapper:after {
  width: 80vw;
  aspect-ratio: 2/1;
  max-width: 550px;
  height: 0;
  content: "";
  display: block;
}

.staff .stafflist-member-img {
  position: relative;
}

.staff .stafflist-member-img img {
  width: 45%;
}

.staff .stafflist-member-text {
  max-height: 250px;
  text-align: center;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.staff .stafflist-member-name {
  width: 100%;
  border-bottom: 2px solid #8EC9C9;
}

.staff .stafflist-member-jp {
  color: #168181;
  font-size: 18px;
}

.staff .stafflist-member-en {
  color: #AAAAAA;
  font-size: 12px;
}

.staff .stafflist-member-message {
  font-size: 12px;
  text-align: left;
}

.staff .stafflist-office-box {
  padding-top: 4px;
}

.staff .stafflist-office-message {
  font-size: 12px;
  background-color: #FFF6E3;
  padding: 8px;
  border-radius: 8px;
  text-align: left;
}

.staff .stafflist-office-members {
  background-color: #FFF;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  border-radius: 32px;
}

.staff .stafflist-office-members-title {
  font-weight: 450;
  font-size: 18px;
  padding: 8px;
  position: relative;
  margin: 16px 0 32px;
  padding-top: 32px;
}

.staff .stafflist-office-members-title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #168181;
  border-radius: 2px;
}

.staff .stafflist-office-members-wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 48px;
  margin: 0 auto;
  padding: 16px;
  padding-bottom: 36px;
}

.staff .stafflist-office-members-list img {
  max-width: 180px;
  width: 30vw;
  border-radius: 50%;
  border: 8px solid #8EC9C9;
}

.staff .stafflist-office-members-list .stafflist-member-en {
  border-bottom: 2px solid #8EC9C9;
}

@media print,
screen and (min-width: 400px) {
  .staff .staff-greeting {
    height: 560px;
  }

  .staff .staff-greeting-sign {
    right: 55%;
    bottom: 5%;
  }

  .staff .staff-greeting-sign .name {
    font-size: 20px;
  }

  .staff .staff-greeting-item-image {
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 5%;
  }

  .staff .staff-greeting-image {
    width: 200px;
    height: auto;
  }

}

@media print,
screen and (min-width: 450px) {
  .staff .staff-greeting-sign {
    bottom: 5%;
    right: 250px;
  }
}

@media print,
screen and (min-width: 600px) {
  .staff .staff-greeting {
    height: 400px;
    background: -moz-linear-gradient(left, #FFF 20%, #BFE6E6);
    background: -webkit-linear-gradient(left, #FFF 20%, #BFE6E6);
    background: linear-gradient(to right, #FFF 20%, #BFE6E6);
    text-align: left;
    margin: 0 0 0 40px;
    display: flex;
    padding: 0;
    justify-content: space-between;
  }

  .staff .staff-greeting-item {
    flex: 1;
  }

  .staff .staff-greeting-title {
    font-size: 20px;
    border-bottom: 3px solid #168181;
    display: inline-block;
    padding: 24px 0 4px;
    margin-bottom: 24px;
  }

  .staff .staff-greeting-text {
    font-size: 12px;
  }

  .staff .staff-greeting-sign {
    right: 250px;
  }

  .staff .staff-greeting-sign .name {
    font-size: 20px;
  }

  .staff .staff-greeting-item-image {
    display: flex;
    align-items: flex-end;
    position: static;
    bottom: 0;
    right: 0;
    top: 0;
    left: 0;
  }

  .staff .staff-greeting-image {
    margin: 40px 20px 0 0px;
    width: 200px;
    height: auto;
    object-fit: contain;
  }

  .staff .stafflist-members-wrapper li {
    background-color: #FFF;
    display: flex;
    flex-direction: row;
    width: 90%;
    max-width: 550px;
    height: 240px;
    padding: 0 12px;
  }

  .staff .stafflist-member-img {
    flex-basis: 40%;
    position: relative;
  }

  .staff .stafflist-member-img img {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .staff .stafflist-member-text {
    flex-basis: 60%;
    text-align: left;
    padding-left: 10px;
    padding-top: 12px;
  }

  .staff .stafflist-member-name {
    width: 100%;
    border-bottom: 2px solid #8EC9C9;
  }

  .staff .stafflist-member-jp {
    color: #168181;
    font-size: 22px;
  }

  .staff .stafflist-member-en {
    color: #AAAAAA;
    font-size: 16px;
  }


  .staff .stafflist-office-members-list {
    display: flex;
    width: 470px;
  }

  .staff .stafflist-office-members-wrapper:after {
    content: "";
    display: block;
    width: 470px;
    height: 0;
  }

  .staff .stafflist-office-members-list .stafflist-office-text {
    margin: 0 20px;
    text-align: left;
    width: 250px;
  }
}

@media print,
screen and (min-width: 768px) {
  .staff .staff-greeting {
    margin: 0 0 0 40px;
    padding-top: 40px;
  }

  .staff .staff-greeting-sign {
    right: 300px;
  }

  .staff .staff-greeting {
    height: 500px;
  }

  .staff .staff-greeting-title {
    font-size: 28px;
  }

  .staff .staff-greeting-text {
    font-size: 16px;
  }

  .staff .staff-greeting-image {
    margin: 40px 20px 0 0px;
    width: 250px;
  }

  .staff .stafflist-title {
    font-size: 28px;
  }

  .staff .stafflist-text {
    font-size: 20px;
  }

  .staff .stafflist-member-message {
    font-size: 14px;
  }

  .staff .stafflist-office-message {
    font-size: 14px;
  }

  .staff .stafflist-members-title,
  .staff .stafflist-office-members-title {
    font-size: 24px;
    padding-top: 40px;
  }
}

@media print,
screen and (min-width: 1024px) {
  .staff .staff-greeting {
    margin: 0px 0 0 80px;
  }

  .staff .staff-greeting-sign {
    right: 500px;
  }

  .staff .staff-greeting-image {
    margin: 40px 80px 0 40px;
    width: 350px;
  }
}

@media print,
screen and (min-width: 1200px) {
  .staff .staff-greeting {
    margin: 0px 0 0 160px;
  }
}

@media print,
screen and (min-width: 1440px) {
  .staff .staff-greeting-text {
    font-size: 20px;
    line-height: 1.8;
  }
}

/*---------- service ----------*/
/*---------- service ----------*/
/*---------- service ----------*/
.service .inner-link {
  display: block;
  background-color: #FFF6E3;
  height: 70px;
}

.service .inner-link-list {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  color: #383634;
  gap: 8px;
  height: 100%;
}

.service .inner-link-item:after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url('/img/company/button-icon.png');
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}

.service .service-caution {
  width: 90%;
  margin: 0 auto;
  font-size: 12px;
  background-color: #fdeff2;
  padding: 8px;
  border-radius: 8px;
}

.service .service-wrapper {
  background-color: #FFF6E3;
  padding: 10px 0;
}

.service .service-guidance-wrapper {
  background-color: #FFF;
  width: 100%;
  max-width: 1100px;
  margin: 20px auto;
  padding-bottom: 40px;
}

.service .service-guidance-wrapper h2 {
  font-size: 20px;
  margin: 20px 0 30px;
  position: relative;
  text-align: center;
  padding-top: 20px;
}

.service .service-guidance-wrapper h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #032969;
  border-radius: 2px;
}

.service .service-guidance-description {
  color: #383634;
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
  text-align: left;
  padding: 16px 0 32px;
}

.service .service-guidance-wrapper .personal-title,
.service .service-guidance-wrapper .corporation-title {
  width: 180px;
  margin: 0 auto;
  text-align: center;
  font-size: 16px;
}

.service .service-guidance-wrapper .personal-title {
  background-color: #FFF;
  color: #032969;
  border: 3px solid #032969;
}

.service .service-guidance-wrapper .corporation-title {
  background-color: #032969;
  color: #FFF;
  border: 3px solid #032969;
}

.service .service-guidance-wrapper .personal-text,
.service .service-guidance-wrapper .corporation-text {
  text-align: left;
  width: 90%;
  max-width: 1100px;
  margin: 20px auto;
}

.service .insurance-company-wrapper {
  margin: 20px auto;
  width: 90%;
  border-radius: 10px;
  border: 3px solid #E7EDF7;
}

.service .insurance-company-title-wrapper {
  background-color: #E7EDF7;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
}

.service .insurance-company-title {
  width: 250px;
  color: #032969;
  font-size: 16px;
  text-align: center;
  font-weight: 500;
}

.service .insurance-company-content-wrapper {
  text-align: center;
  width: 100%;
}

.service .insurance-icon-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 8px 0;
}

.service .insurance-icon {
  display: flex;
  background-color: #E7EDF7;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 8px 0;
  width: 120px;
  height: 40px;
  border-radius: 20px;
}

.service .insurance-icon img {
  max-width: 20px;
  height: auto;
}

.service .insurance-company-text {
  font-size: 12px;
  margin: 16px;
}

.service .insurance-company-card-wrapper {
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 500px;
  margin: 0 auto 20px;
  padding: 16px;
}

.service .insurance-company-card {
  width: 170px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: column;
  gap: 8px
}

.service .insurance-company-card .flex1 {
flex: 1 1 auto;
display: flex;
justify-content: center;
align-items: center;
}

.service .insurance-company-card img {
  max-width: 100%;
  max-height: 50px;
}

.service .insurance-company-card.tokyomarin img,
.service .insurance-company-card.aig img {
  max-height: 40px;
}

.service .service-contact-link-wrapper {
  margin: 24px auto 48px;
  text-align: center;
}

.service .service-contact-text {
  padding: 8px;
  max-width: 90%;
  margin: 0 auto;
}

.service .service-contact-link {
  display: block;
  background-color: #FEC453;
  border-radius: 20px;
  width: 200px;
  height: 40px;
  padding: 10px;
  margin: 0 auto;
  font-size: 16px;
  text-align: center;
}

.service .service-contact-link:hover {
  opacity: 0.7;
}

.service .service-consultation-wrapper h2 {
  font-size: 20px;
  margin: 20px 0 30px;
  position: relative;
  text-align: center;
  padding-top: 20px;
}

.service .service-consultation-wrapper h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #3C70FD;
  border-radius: 2px;
}

.service .service-consultation-box {
  display: flex;
  flex-direction: column;
  width: 89%;
  margin: 24px auto;
  background-color: #FFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 1px 0 #707070;
}

.service .service-consultation-innerbox {
  display: flex;
  flex-direction: column-reverse;
}

.service .service-consultation-box .columntype .img img {
  width: 100%;
}

.service .service-consultation-box .step {
  background-color: #3C70FD;
  color: #FFF;
  text-align: center;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}

.service .service-consultation-box .step-title {
  font-size: 16px;
}

.service .service-consultation-box .step-number {
  font-size: 24px;
}

.service .service-consultation-box .img {
  margin: 12px auto 8px;
  width: 60%;
  max-width: 500px;
}

.service .service-consultation-box .img img {
  border-radius: 8px;
}

.service .service-consultation-box .text {
  width: 90%;
  margin: 0 auto;
}

.service .service-consultation-box .text h3 {
  font-size: 16px;
  margin: 8px 0;
}

.service .service-consultation-box .text p {
  margin: 8px 0;
}

.service .service-solicitation-wrapper {
  background-color: #FFF;
  width: 100%;
  max-width: 1100px;
  margin: 20px auto;
}

.service .service-solicitation-wrapper h2 {
  font-size: 20px;
  margin: 20px 0 30px;
  position: relative;
  text-align: center;
  padding-top: 20px;
}

.service .service-solicitation-wrapper h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #032969;
  border-radius: 2px;
}

.service .service-solicitation-text {
  width: 90%;
  margin: 0 auto;
}

.service .service-solicitation-text h3 {
  border-left: 4px solid #053971;
  padding-left: 8px;
  margin: 8px 0;
  font-size: 16px;
}

.service .service-solicitation-text h4 {
  color: #053971;
  margin: 8px 0;
  font-size: 14px;
}

.service .service-solicitation-text ul {
  margin: 8px 0;
}

.service .service-solicitation-text li {
  list-style: square;
  margin-left: 20px;
  padding: 4px 0;
}

.service .service-solicitation-text p {
  padding: 16px 8px;
}

@media print,
screen and (min-width: 520px) {
  .service .service-consultation-box .text h3 {
    font-size: 20px;
  }

  .service .service-consultation-box .text p {
    font-size: 16px;
  }

  .service .service-consultation-box .step-title {
    font-size: 20px;
  }

  .service .service-consultation-box .step-number {
    font-size: 32px;
  }
}

@media print,
screen and (min-width: 768px) {
  .service .inner-link-list {
    font-size: 14px;
    gap: 28px;
  }

  .service .service-caution {
    font-size: 16px;
  }

  .service .service-guidance-wrapper {
    background-color: #FFF;
    width: 90%;
    max-width: 1100px;
    margin: 20px auto;
    border-radius: 32px;
    box-shadow: 0 1px 1px 0 #707070;
  }

  .service .service-guidance-wrapper h2 {
    font-size: 28px;
    padding-top: 40px;
  }

  .service .service-guidance-description {
    font-size: 16px;
  }

  .service .service-guidance-wrapper .personal-title,
  .service .service-guidance-wrapper .corporation-title {
    font-size: 22px;
    width: 100%;
    padding: 4px 0;
  }

  .service .service-guidance-wrapper .personal-text,
  .service .service-guidance-wrapper .corporation-text {
    font-size: 16px;
    width: 100%;
  }

  .service .personal-corporation-wrapper {
    display: flex;
    max-width: 90%;
    margin: 0 auto;
    gap: 24px;
  }

  .service .insurance-company-wrapper {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
  }

  .service .insurance-company-title-wrapper {
    height: auto;
  }

  .service .insurance-company-title {
    font-size: 22px;
  }

  .service .insurance-icon {
    width: 160px;
  }

  .service .insurance-icon img {
    max-width: 30px;
  }

  .service .insurance-company-text {
    font-size: 16px;
  }

  .service .insurance-company-card {
    width: 220px;
  }

  .service .service-contact-text {
    padding: 16px;
    font-size: 16px;
  }

  .service .service-contact-link {
    font-size: 20px;
    width: 280px;
    height: 60px;
    border-radius: 30px;
    padding: 15px;
  }

  .service .service-consultation-wrapper h2 {
    font-size: 28px;
    padding-top: 40px;
    margin-bottom: 60px;
  }

  .service .service-consultation-box {
    flex-direction: row;
    align-items: center;
    width: 90%;
    max-width: 1100px;
    margin: 24px auto;
    background-color: #FFF;
    height: 360px;
  }

  .service .service-consultation-innerbox {
    flex-direction: row;
    align-items: flex-start;
    height: 80%;
    flex: 1;
  }

  .service .service-consultation-innerbox.columntype {
    flex-direction: column;
  }

  .service .service-consultation-innerbox.columntype .image-box {
    display: flex;
    flex-shrink: 1;
  }

  .service .service-consultation-box .step {
    flex-basis: 60px;
    font-size: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex-shrink: 0;
  }

  .service .service-consultation-box .step-title {
    padding-top: 16px;
  }

  .service .service-consultation-box .step-number {
    font-size: 32px;
  }

  .service .service-consultation-box .img {
    margin: auto 12px;
  }

  .service .service-consultation-box .img img {
    border-radius: 8px;
    min-width: 300px;
  }

  .service .service-consultation-box .columntype .img img {
    min-width: 0;
  }

  .service .service-consultation-box .text {
    margin: auto 12px;
    height: 100%;
  }

  .service .service-solicitation-wrapper {
    background-color: #FFF;
    width: 90%;
    max-width: 1100px;
    margin: 20px auto;
    border-radius: 32px;
    box-shadow: 0 1px 1px 0 #707070;
  }

  .service .service-solicitation-wrapper h2 {
    font-size: 28px;
    padding-top: 40px;
    margin-bottom: 60px;
  }

  .service .service-solicitation-text h3 {
    margin: 16px 0;
    font-size: 20px;
  }

  .service .service-solicitation-text h4 {
    margin: 8px 0;
    font-size: 18px;
  }

  .service .service-solicitation-text li {
    font-size: 14px;
  }

  .service .service-solicitation-text p {
    font-size: 14px;
    padding-bottom: 40px;
  }
}

/*---------- recruit ----------*/
/*---------- recruit ----------*/
/*---------- recruit ----------*/
.recruit .inner-link {
  display: block;
  background-color: #FFF6E3;
  height: 70px;
}

.recruit .inner-link-list {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  color: #383634;
  gap: 8px;
  height: 100%;
}

.recruit .inner-link-item:after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url('/img/company/button-icon.png');
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}

.recruit .recruit-topimg {
  width: 100%;
  position: relative;
}

.recruit .recruit-topimg img {
  width: 100%;
}

.recruit .recruit-tomimg-text_1 {
  position: absolute;
  left: 10%;
  bottom: 30%;
  color: #FFF;
  background-color: rgba(158, 214, 171, 0.9);
  padding: 1vw;
  font-size: 3vw;
}

.recruit .recruit-tomimg-text_2 {
  position: absolute;
  left: 20%;
  bottom: 10%;
  color: #FFF;
  background-color: rgba(158, 214, 171, 0.9);
  padding: 1vw;
  font-size: 3vw;
}

.recruit .recruit-message {
  background-color: #FFF;
  text-align: center;
  max-width: 90%;
  margin: 0 auto;
}

.recruit .recruit-message h2 {
  background-color: #FFF;
  font-size: 20px;
  margin: 20px 0 30px;
  position: relative;
}

.recruit .recruit-message h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5F443E;
  border-radius: 2px;
}

.recruit .recruit-message h3 {
  font-size: 14px;
  padding: 8px;
  color: #5F443E;
}

.recruit .recruit-message p {
  font-size: 12px;
  padding: 16px 0 32px;
  text-align: center;
  color: #383634;
}

.recruit .recruit-qanda {
  background-color: #F7F3EC;
  padding: 40px 0
}

.recruit .recruit-qanda-wrapper {
  background-color: #FFF;
  width: 90%;
  max-width: 1100px;
  margin: 20px auto;
  border-radius: 32px;
  box-shadow: 0 1px 1px 0 #707070;
}

.recruit .recruit-qanda-wrapper h2 {
  font-size: 20px;
  margin: 20px 0 30px;
  position: relative;
  text-align: center;
  padding-top: 20px;
}

.recruit .recruit-qanda-wrapper h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5F443E;
  border-radius: 2px;
}

.recruit .recruit-qanda-wrapper p {
  color: #383634;
  max-width: 95%;
  margin: 0 auto;
  text-align: center;
  padding: 16px 0 32px;
}

.recruit .recruit-qanda-acc-wrapper {
  width: 95%;
  margin: 0 auto;
  padding-bottom: 50px;
}

.recruit .accordion-list {
  margin: 8px auto;
  max-width: 800px;
}

.recruit .accordion-title {
  position: relative;
  padding: 4px 24px 4px 8px;
  border: solid 1px#5F443E;
  background-color: #F7F3EC;
  display: flex;
  cursor: pointer;
}

.recruit .accordion-title h3 {
  flex: 1;
  color: #5F443E;
  font-weight: normal;
}

.recruit .accordion-title:before {
  position: absolute;
  content: '';
  top: 50%;
  right: 10px;
  height: 2px;
  width: 10px;
  background: #5F443E;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}

.recruit .accordion-title:after {
  position: absolute;
  content: '';
  top: 50%;
  right: 10px;
  height: 2px;
  width: 10px;
  background: #5F443E;
  transition: all .3s ease-in-out;
}

.recruit .accordion-title.open:before {
  transform: rotate(180deg);
}

.recruit .accordion-title.open:after {
  opacity: 0;
}

.recruit .q-icon {
  display: inline-block;
  background-color: #5F443E;
  color: #FFF;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  margin-right: 8px;
}

.recruit .a-icon {
  display: inline-block;
  background-color: #FFF;
  color: #5F443E;
  border: 1px solid #5F443E;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  margin: 4px 8px 0;
}

.recruit .toggle-content {
  display: none;
}

.recruit .accordion-text {
  display: flex;
  text-align: left;
  border: solid 1px #5F443E;
  border-top: 0;
  color: #5F443E;
  padding: 4px 24px 4px 0px;
}

.recruit .accordion-text p {
  text-align: left;
  padding: 0;
  margin: 0;
  flex: 1;
  margin-top: 4px;
}

.recruit .recruit-requirement-wrapper {
  background-color: #FFF;
  width: 90%;
  max-width: 1100px;
  margin: 20px auto;
  border-radius: 32px;
  box-shadow: 0 1px 1px 0 #707070;
}

.recruit .recruit-requirement-wrapper h2 {
  font-size: 20px;
  margin: 20px 0 30px;
  position: relative;
  text-align: center;
  padding-top: 20px;
}

.recruit .recruit-requirement-wrapper h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5F443E;
  border-radius: 2px;
}

.recruit .recruit-requirement-list {
  display: flex;
  margin: 0 auto 16px;
  max-width: 800px;
  justify-content: center;
  flex-direction: column;
  gap: 0;
  padding: 24px 8px;
  overflow: hidden;
}

.recruit .recruit-requirement-list dl {
  display: flex;
  padding: 16px 4px;
  margin: 0 12px;
  border-top: 1px solid #5F443E;
}

.recruit .recruit-requirement-list dl:last-child {
  border-bottom: 1px solid #5F443E;
}

.recruit .recruit-requirement-list dt {
  width: 80px;
  text-align: left;
  color: #5F443E;
}

.recruit .recruit-requirement-list dd {
  text-align: left;
  flex: 1;
}

.recruit .recruit-entry-banner {
  width: 800px;
  height: 200px;
  max-width: 80%;
  margin: 40px auto 10px;
  text-align: center;
  color: #FFF;
  background-image: url('/img/recruit/recruit-top.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}

.recruit .recruit-entry-banner::before {
  content: '';
  background-color: rgba(46, 34, 31, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.recruit .recruit-entry-banner h2 {
  font-size: 32px;
  position: absolute;
  width: 100%;
  top: 10%;
}

.recruit .recruit-entry-banner p {
  position: absolute;
  width: 100%;
  top: 40%;
}

.recruit .recruit-entry-banner a {
  position: absolute;
  display: block;
  width: 100%;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 40px;
  border: 1px solid #5F443E;
  color: #5F443E;
  background-color: #FFF;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.recruit .recruit-company-links {
  width: 100%;
  height: 240px;
  text-align: center;
  background-image: url('/img/recruit/recruit-links-bg.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}

.recruit .recruit-company-links::before {
  content: '';
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.recruit .recruit-company-links h2 {
  font-size: 20px;
  position: absolute;
  width: 100%;
  top: 10%;
}

.recruit .recruit-company-links h2::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5F443E;
  border-radius: 2px;
}

.recruit .links-wrapper {
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.recruit .recruit-company-link {
  width: 100px;
  height: 40px;
  border: 1px solid #FEC453;
  color: #2F2F2F;
  background-color: #FFF;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media print,
screen and (min-width: 768px) {

  .recruit .inner-link-list {
    font-size: 14px;
    gap: 28px;
  }

  .recruit .recruit-message h2 {
    font-size: 28px;
    padding-top: 40px;
  }

  .recruit .recruit-message h3 {
    font-size: 20px;
  }

  .recruit .recruit-message p {
    font-size: 16px;
  }

  .recruit .recruit-qanda-wrapper h2 {
    font-size: 28px;
    padding-top: 40px;
  }

  .recruit .recruit-qanda-wrapper p {
    font-size: 16px;
  }

  .recruit .recruit-requirement-list {
    width: 70%;
  }

  .recruit .accordion-title h3 {
    font-size: 20px;
  }

  .recruit .accordion-text p {
    margin-top: 4px;
  }

  .recruit .accordion-text p {
    font-size: 18px;
  }

  .recruit .q-icon {
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 20px;
  }

  .recruit .a-icon {
    margin-top: 4px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 20px;
  }

  .recruit .recruit-requirement-wrapper h2 {
    font-size: 28px;
    padding-top: 40px;
  }

  .recruit .recruit-requirement-list dt {
    width: 100px;
  }

  .recruit .recruit-entry-banner {
    width: 1000px;
    height: 300px;
    max-width: 80%;
    margin: 40px auto 10px;
  }

  .recruit .recruit-entry-banner h2 {
    font-size: 48px;
    top: 10%;
  }

  .recruit .recruit-entry-banner p {
    top: 40%;
    font-size: 20px;
  }

  .recruit .recruit-entry-banner a {
    top: 75%;
    left: 50%;
    width: 240px;
    height: 60px;
    border-radius: 30px;
    font-size: 20px;
  }

  .recruit .recruit-company-links h2 {
    top: 20%;
    font-size: 28px;
  }

  .recruit .links-wrapper {
    flex-direction: row;
    gap: 28px;
    top: 55%;
  }

  .recruit .recruit-company-link {
    width: 180px;
    height: 60px;
    border-radius: 30px;
    font-size: 20px;
  }
}

@media print,
screen and (min-width: 1024px) {

  .recruit .recruit-entry-link:hover {
    background-color: #F7F3EC;
  }

  .recruit .recruit-company-link:hover {
    background-color: #FFF6E3;
  }
}

@media print,
screen and (min-width: 1200px) {
  .recruit .recruit-requirement-list dt {
    width: 150px;
  }

  .recruit .recruit-requirement-list {
    font-size: 16px;
  }
}

/*---------- entry ----------*/
/*---------- entry ----------*/
/*---------- entry ----------*/
.entry .entry-area {
  background-color: #F7F3EC;
  text-align: center;
  padding: 0 0 20px
}

.entry .entry-note {
  max-width: 90%;
  margin: 0 auto;
}

.entry .entry-note-title {
  font-size: 20px;
  padding: 40px 0 20px;
  position: relative;
  margin-bottom: 20px;
}

.entry .entry-note-title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5F443E;
  border-radius: 2px;
}

.entry .entry-note-text {
  padding-bottom: 28px;
  font-size: 14px;
}

.entry .entry-form-container {
  background-color: #fff;
  padding: 40px 20px;
  max-width: 100%;
  width: 1100px;
  margin: 0 auto;
}

.entry .entry-form {
  margin: 0 auto;
  font-size: 16px;
  width: 95%;
  max-width: 600px;
}

.entry .entry-form tr {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 0;
}

.entry .entry-form td {
  padding-top: 16px;
  width: 100%;
  text-align: left;
  font-size: 14px;
  word-wrap: break-word;
}

.entry .entry-form .gender-radio-label {
  padding-right: 16px;
  padding-left: 4px;
}

.entry .entry-form .text-input {
  height: 40px;
  font-size: 16px;
  width: 100%;
  border-radius: 4px;
  border: 1px solid #DDD;
  background-color: #EAEDF2;
  padding-left: 8px;
}

.entry .entry-form select {
  height: 40px;
  font-size: 16px;
  width: 100%;
  border-radius: 4px;
  border: 1px solid #DDD;
  background-color: #EAEDF2;
  padding-left: 8px;
}

.entry .entry-form .birth-wrapper select,
.entry .entry-form .graduate-wrapper select {
  height: 40px;
  font-size: 16px;
  width: 80px;
  border-radius: 4px;
  border: 1px solid #DDD;
  background-color: #EAEDF2;
}

.entry .entry-form .address-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
}

.entry .entry-form .address-wrapper .address-input {
  height: 40px;
  font-size: 16px;
  width: 48%;
  min-width: 250px;
  border-radius: 4px;
  border: 1px solid #DDD;
  background-color: #EAEDF2;
  padding-left: 8px;
}

.entry .entry-form .address-note {
  font-size: 12px;
  color: #232323;
}

.entry .entry-form .tr-confirm td {
  width: 200px;
  margin: 0 auto;
}

.entry .entry-form .privacy-radio-label {
  width: 120px;
  padding: 16px;
  display: block;
  margin: 20px auto 0;
}

.entry .entry-form .privacy-radio {
  width: auto;
}

.entry .entry-form .btn_confirm {
  height: 60px;
  font-size: 16px;
  border-radius: 30px;
  width: 200px;
  margin: 0 auto;
  color: #FFF;
  background-color: #5F443E;
}

.entry .entry-form .btn_confirm:hover {
  opacity: 0.8;
  cursor: pointer;
}

.entry .entry-form textarea {
  height: 200px;
  width: 100%;
  font-size: 16px;
  border-radius: 4px;
  border: 1px solid #DDD;
  background-color: #F9FAFC;
  padding-left: 8px;
  padding-top: 8px;
}

.entry .attBox {
  background-color: #5F443E;
  color: #FFF;
  padding: 4px;
  border-radius: 4px;
  margin-right: 8px;
}

.div-alert {
  font-size: 14px;
  color: red;
}

.entry .entry-p01 {
  font-size: 14px;
}

.entry .btn_back {
  padding: 10px;
  font-size: 16px;
  border-radius: 20px;
  width: 120px;
  margin: 20px auto;
  color: #333;
  background-color: #DDD;
}

.entry .btn_back:hover {
  background-color: #CCC;
}

.entry .btn_submit {
  height: 60px;
  font-size: 16px;
  border-radius: 30px;
  width: 200px;
  margin: 0 auto;
  color: #FFF;
  background-color: #5F443E;
}

.entry .btn_submit:hover {
  opacity: 0.8;
  cursor: pointer;
}

.entry .btn_top {
  padding: 10px;
  font-size: 16px;
  border-radius: 20px;
  width: 120px;
  margin: 20px auto;
  color: #333;
  background-color: #DDD;
  border: solid 1px #DDD;
}

.entry .btn_top:hover {
  background-color: #CCC;
  cursor: pointer;
}

@media print,
screen and (min-width: 1024px) {

  .entry .entry-note-title {
    font-size: 28px;
  }

  .entry .entry-note-text {
    font-size: 16px;
  }

  .entry .entry-form td {
    font-size: 16px;
  }

  .entry .entry-p01 {
    font-size: 16px;
  }

  .entry .entry-form-container {
    border-radius: 32px;
  }
}

/*---------- contact ----------*/
/*---------- contact ----------*/
/*---------- contact ----------*/
.contact .contact-area {
  background-color: #FFF6E3;
  text-align: center;
  padding: 0 0 20px
}

.contact .contact-note {
  max-width: 90%;
  margin: 0 auto;
}

.contact .contact-note-title {
  font-size: 20px;
  padding: 40px 0 20px;
  position: relative;
  margin-bottom: 20px;
}

.contact .contact-note-text {
  padding-bottom: 28px;
  font-size: 14px;
}

.contact .contact-note-title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #FEC453;
  border-radius: 2px;
}

.contact .contact-form-container {
  background-color: #fff;
  padding: 40px 20px;
  max-width: 100%;
  width: 1100px;
  margin: 0 auto;
}

.contact .contact-form {
  margin: 0 auto;
  font-size: 16px;
  width: 95%;
  max-width: 600px;
}

.contact .contact-form tr {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 0;
}

.contact .contact-form td {
  padding-top: 16px;
  width: 100%;
  text-align: left;
  font-size: 14px;
  word-wrap: break-word;
}

.contact .contact-form .text-input {
  height: 40px;
  font-size: 16px;
  width: 100%;
  border-radius: 4px;
  border: 1px solid #DDD;
  background-color: #EAEDF2;
  padding-left: 8px;
}

.contact .contact-form .tr-confirm td {
  width: 200px;
  margin: 0 auto;
}

.contact .contact-form .privacy-radio-label {
  width: 120px;
  padding: 16px;
  display: block;
  margin: 20px auto 0;
}

.contact .contact-form .privacy-radio {
  width: auto;
}

.contact .contact-form .btn_confirm {
  height: 60px;
  font-size: 16px;
  border-radius: 30px;
  width: 200px;
  margin: 0 auto;
  color: #FFF;
  background-color: #032969;
}

.contact .contact-form .btn_confirm:hover {
  opacity: 0.8;
  cursor: pointer;
}

.contact .contact-form textarea {
  height: 200px;
  width: 100%;
  font-size: 16px;
  border-radius: 4px;
  border: 1px solid #DDD;
  background-color: #F9FAFC;
  padding-left: 8px;
  padding-top: 8px;
}

.contact .attBox {
  background-color: #032969;
  color: #FFF;
  padding: 4px;
  border-radius: 4px;
  margin-right: 8px;
}

.div-alert {
  font-size: 14px;
  color: red;
}

.contact .contact-p01 {
  font-size: 14px;
}

.contact .btn_back {
  padding: 10px;
  font-size: 16px;
  border-radius: 20px;
  width: 120px;
  margin: 20px auto;
  color: #333;
  background-color: #DDD;
}

.contact .btn_back:hover {
  background-color: #CCC;
}

.contact .btn_submit {
  height: 60px;
  font-size: 16px;
  border-radius: 30px;
  width: 200px;
  margin: 0 auto;
  color: #FFF;
  background-color: #032969;
}

.contact .btn_submit:hover {
  opacity: 0.8;
  cursor: pointer;
}

.contact .btn_top {
  padding: 10px;
  font-size: 16px;
  border-radius: 20px;
  width: 120px;
  margin: 20px auto;
  color: #333;
  background-color: #DDD;
  border: solid 1px #DDD;
}

.contact .btn_top:hover {
  background-color: #CCC;
  cursor: pointer;
}

@media print,
screen and (min-width: 1024px) {

  .contact .contact-note-title {
    font-size: 28px;
  }

  .contact .contact-note-text {
    font-size: 16px;
  }

  .contact .contact-form td {
    font-size: 16px;
  }

  .contact .contact-p01 {
    font-size: 16px;
  }

  .contact .contact-form-container {
    border-radius: 32px;
  }
}

/*---------- privacy ----------*/
/*---------- privacy ----------*/
/*---------- privacy ----------*/
.privacy .privacy-wrapper {
  background-color: #FFF6E3;
  padding: 10px 0;
}

.privacy .privacy-content-wrapper {
  background-color: #FFF;
  width: 100%;
  max-width: 1100px;
  margin: 20px auto;
  padding-bottom: 40px;
}

.privacy .privacy-content-wrapper h2 {
  font-size: 20px;
  margin: 20px 0 30px;
  position: relative;
  text-align: center;
  padding-top: 20px;
}

.privacy .privacy-content-wrapper h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #FEC453;
  border-radius: 2px;
}

.privacy .privacy-content-text {
  width: 90%;
  margin: 0 auto;
}

.privacy .privacy-content-text h3 {
  color: #053971;
  padding-left: 8px;
  margin: 8px 0;
  font-size: 16px;
}

.privacy .privacy-content-text h4 {
  color: #053971;
  margin: 8px 0;
  font-size: 14px;
}

.privacy .privacy-content-text ul {
  margin: 8px 0;
}

.privacy .privacy-content-text li {
  list-style: none;
  margin: 8px 0;
  margin-left: 24px;
}

.privacy .privacy-content-text li.decimal {
  list-style: decimal;
}

.privacy .privacy-content-text a {
  color: #0033cc;
}

.privacy .privacy-content-text p {
  margin-left: 8px;
  padding: 8px 0;
}

.privacy .privacy-content-text p.privacy-content-box {
  border: 1px solid #053971;
  margin: 4px;
  padding: 8px;
}

.privacy .privacy-addr-list {
  padding: 8px 0;
}

.privacy .privacy-addr-list dl {
  display: flex;
}

.privacy .privacy-addr-list dt {
  width: 130px;
  text-align: right;
}

.privacy .privacy-addr-list dd {
  flex: 1;
  flex-shrink: 1;
}

@media print,
screen and (min-width: 768px) {
  .privacy .privacy-content-wrapper {
    background-color: #FFF;
    width: 90%;
    max-width: 1100px;
    margin: 20px auto;
    border-radius: 16px;
    box-shadow: 0 1px 1px 0 #707070;
  }

  .privacy .privacy-content-wrapper h2 {
    font-size: 28px;
    padding-top: 40px;
  }

  .privacy .privacy-content-text h3 {
    margin: 16px 0;
    font-size: 20px;
  }

  .privacy .privacy-content-text h4 {
    margin: 8px 0;
    font-size: 18px;
  }

  .privacy .privacy-content-text li {
    font-size: 14px;
  }

  .privacy .privacy-content-text p {
    font-size: 14px;
  }

  .privacy .privacy-addr-list {
    font-size: 14px;
  }

  .privacy .privacy-addr-list {
    margin-left: 24px;
  }
}

/*---------- news ----------*/
/*---------- news ----------*/
/*---------- news ----------*/
.news .news-wrapper {
  background-color: #FFF6E3;
  padding: 10px 0;
}

.news .news-content-wrapper {
  background-color: #FFF;
  width: 100%;
  max-width: 1100px;
  margin: 20px auto;
  padding-bottom: 40px;
}

.news .news-content-wrapper h2 {
  font-size: 20px;
  margin: 20px 0 30px;
  position: relative;
  text-align: center;
  padding-top: 20px;
}

.news .news-content-wrapper h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #FEC453;
  border-radius: 2px;
}

.news .news-item-wrapper {
  max-width: 80%;
  margin: 0 auto;
}

.news .news-item {
  padding: 16px;
  border-bottom: 1px solid #053971;
}

.news .news-item-date {
  color: #053971;
}

.news .news-item-title {
  color: #053971;
  padding: 8px 0;
  font-size: 16px;
  font-weight: 500;
}

.news .news-item-content {
  font-size: 12px;
}

.news-strong {
  font-weight: 500;
}

.news-padding {
  padding: 16px 0;
}

.news .news-home-link {
  width: 100px;
  height: 40px;
  border: 1px solid #FEC453;
  color: #2F2F2F;
  background-color: #FFF;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px auto 20px;

}

@media print,
screen and (min-width: 768px) {
  .news .news-content-wrapper {
    background-color: #FFF;
    width: 90%;
    max-width: 1100px;
    margin: 20px auto;
    border-radius: 16px;
    box-shadow: 0 1px 1px 0 #707070;
  }

  .news .news-content-wrapper h2 {
    font-size: 28px;
    padding-top: 40px;
  }

  .news .news-item {
    padding: 24px;
  }

  .news .news-item-date {
    color: #053971;
  }

  .news .news-item-title {
    color: #053971;
    padding: 8px 0;
    font-size: 24px;
    font-weight: 500;
  }

  .news .news-item-content {
    font-size: 16px;
  }

  .news-padding {
    padding: 28px 0;
  }

  .news .news-home-link {
    width: 180px;
    height: 60px;
    border-radius: 30px;
    font-size: 20px;
  }

  .news .news-home-link:hover {
    background-color: #FFF6E3;
  }
}
