@charset "UTF-8";
:where(html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video) {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

:where(article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,img,svg,video,canvas,audio,iframe,embed,object) {
  display: block;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where(button) {
  border: none;
  background: none;
}

:where(ul,ol,summary) {
  list-style: none;
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(:-webkit-any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
  cursor: pointer;
}

:where(:-moz-any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
  cursor: pointer;
}

:where(:any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
  cursor: pointer;
}

:where(img,picture,svg) {
  max-inline-size: 100%;
  block-size: auto;
  width: 100%;
  height: auto;
}

:where(input,select,button,textarea) {
  color: #333;
  font-family: inherit;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}

:where(button,[type=button],[type=reset],[type=submit]) {
  touch-action: manipulation;
}

:where(label) {
  display: inline-flex;
  align-items: center;
}

:where(input:-webkit-autofill,textarea:-webkit-autofill) {
  box-shadow: 0 0 0 1000px #fff inset;
}

:where(select)::-ms-expand {
  display: none;
}

:where(input)::-webkit-input-placeholder {
  color: #b6bcc4;
}

:where(input)::-moz-placeholder {
  color: #b6bcc4;
}

:where(input):-ms-input-placeholder {
  color: #b6bcc4;
}

:where(input)::placeholder {
  color: #b6bcc4;
}

:where(input) ::-ms-input-placeholder {
  color: #b6bcc4;
}

:where(input) :-ms-input-placeholder {
  color: #b6bcc4;
}

:where(input)[type=radio],
:where(input)[type=checkbox] {
  opacity: 0;
  overflow: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

.u-hidden {
  display: none !important;
  visibility: hidden;
}

.u-hidden-up-sm {
  display: none !important;
  visibility: hidden;
}

.u-hidden-down-lg {
  display: none !important;
  visibility: hidden;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}

.-leadingTrim {
  margin-block: var(--leading-trim);
}

html {
  overflow-y: scroll;
}

body {
  color: #121212;
  font-size: 16px;
  line-height: 2.0625;
  font-family: "Noto Sans JP",sans-serif;
  font-weight: 400;
  letter-spacing: .04em;
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

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

a.no-link {
  pointer-events: none;
  cursor: default;
}

.en {
  font-family: "futura-pt",sans-serif;
}

.-spOnly {
  display: none;
}

.l-wrapper {
  overflow: hidden;
}

.l-sec {
  position: relative;
}

.l-sec__inner {
  width: 1140px;
  margin: 0 auto;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: #fff;
  -webkit-filter: drop-shadow(0px 3px 6px rgba(20, 44, 96, 0.09));
  filter: drop-shadow(0px 3px 6px rgba(20, 44, 96, 0.09));
}

.l-header-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 234px 10px 24px;
}

.l-header-logo {
  position: relative;
  z-index: 101;
}

.l-header-logo-link {
  display: block;
  width: 64px;
}

.l-header-logo-link svg {
  fill: #000;
  transition: .3s;
}

.l-nav-list {
  display: flex;
  align-items: center;
  gap: 57px;
}

.l-nav-item.-contact {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}

.l-nav-item.-contact>a {
  transition: .3s;
}

.l-nav-item.-contact .l-nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
  padding: 0 55px;
  height: 100%;
  font-size: 22px;
  font-weight: 400;
}

.l-nav-link {
  position: relative;
  display: block;
  font-size: 14px;
  transition: .3s;
}

.l-nav-link.is-current::after {
  transition: -webkit-transform 0s;
  transition: transform 0s;
  transition: transform 0s, -webkit-transform 0s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.l-nav-group {
  display: none;
}

.l-menu {
  display: none;
}

.l-footer {
  background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
  color: #fff;
}

.l-footer-inner {
  width: 1245px;
  margin-inline: auto;
  padding: 40px 0 15px;
}

.l-footer-top {
  display: flex;
  align-items: center;
  gap: 60px;
}

.l-footer-logo {
  width: 135px;
}

.l-footer-info-name {
  font-size: 18px;
  font-weight: bold;
}

.l-footer-info-address {
  font-size: 14px;
  line-height: 1.5714285714;
}

.l-footer-info-tel {
  font-size: 15px;
  font-weight: 500;
}

.l-footer-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 47px;
  margin-top: 45px;
}

.l-footer-group-items>a {
  display: flex;
  align-items: center;
  gap: 7px;
  transition: .3s;
}

.l-footer-group-items .tit {
  font-size: 18px;
  font-weight: bold;
}

.l-footer-group-items .txt {
  font-size: 13px;
}

.l-footer-btm {
  margin-top: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.l-footer-link {
  display: flex;
  align-items: center;
  gap: 20px;
}

.l-footer-link-items {
  position: relative;
  line-height: 1;
  font-size: 12px;
}

.l-footer-link-items:not(:first-child)::after {
  content: "";
  position: absolute;
  top: 0;
  left: -10px;
  width: 1px;
  height: 100%;
  background: #fff;
}

.l-footer-link-items>a {
  transition: .3s;
}

.l-footer-copy {
  font-size: 12px;
  line-height: 1;
}

.c-hoverStyle1 {
  padding-bottom: 3px;
}

.c-hoverStyle1::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #ff9c00;
  border-radius: 10px;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.a-blink {
  -webkit-animation: blinkObject 2.2s cubic-bezier(0.42, 0, 0.58, 1) infinite;
  animation: blinkObject 2.2s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}

.delay1 {
  -webkit-animation-delay: 1.5081623082;
  animation-delay: 1.5081623082;
}

.delay2 {
  -webkit-animation-delay: 2.6443273911s;
  animation-delay: 2.6443273911s;
}

.delay3 {
  -webkit-animation-delay: 3.5981297217s;
  animation-delay: 3.5981297217s;
}

@-webkit-keyframes blinkObject {
  50% {
    opacity: 0;
  }
}

@keyframes blinkObject {
  50% {
    opacity: 0;
  }
}

@-webkit-keyframes scrollAnimation {
  0% {
    translate: 0 0;
  }

  100% {
    translate: -100% 0;
  }
}

@keyframes scrollAnimation {
  0% {
    translate: 0 0;
  }

  100% {
    translate: -100% 0;
  }
}

.c-buttonStyle1 {
  position: relative;
  width: 150px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  transition: .3s;
  overflow: hidden;
  border-radius: 30px;
}

.c-buttonStyle1::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 30px;
  border: 2px solid #24407f;
}

.c-buttonStyle1.-colorChange {
  background: none;
}

.c-buttonStyle1.-colorChange::after {
  border: 2px solid #fff;
}

.c-buttonStyle1.-colorChange .en,
.c-buttonStyle1.-colorChange .ja {
  color: #fff;
}

.c-buttonStyle1 .en,
.c-buttonStyle1 .ja {
  font-size: 20px;
  color: #24407f;
  padding-left: 30px;
  line-height: 1;
  transition: .3s;
}

.c-buttonStyle1 .icon {
  position: absolute;
  top: 50%;
  right: 18px;
  translate: 0 -50%;
  width: 13px;
  height: 11px;
}

input,
select,
textarea {
  width: 100%;
  height: 50px;
  font-size: 16px;
  padding: 4px 15px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #dbdbdb;
}

input.myError,
select.myError,
textarea.myError {
  color: #d90000;
  border: 1px solid #e59a9a;
  background: #ffebeb;
}

input[type=radio],
input[type=checkbox] {
  opacity: 0;
  overflow: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

input[type=checkbox]+.input_checkbox {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  margin-right: 15px;
  background: #e2e2e2;
}

input[type=checkbox]:checked+.input_checkbox:after,
input[type=checkbox]:checked+.input_checkbox:before {
  content: "";
  display: block;
  height: 3px;
  border-radius: 2px;
  background: #24407f;
  position: absolute;
}

input[type=checkbox]:checked+.input_checkbox:before {
  width: 40%;
  top: 52%;
  left: 10%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

input[type=checkbox]:checked+.input_checkbox:after {
  width: 65%;
  top: 45%;
  left: 28%;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

input[type=radio]+.input_radio {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin-right: 5px;
  background: #e2e2e2;
}

input[type=radio]:checked+.input_radio::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #24407f;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

textarea {
  resize: none;
  height: 232px;
  padding: 15px 15px;
  overflow-y: scroll;
}

textarea::-webkit-input-placeholder {
  color: #b6bcc4;
}

textarea::-moz-placeholder {
  color: #b6bcc4;
}

textarea:-ms-input-placeholder {
  color: #b6bcc4;
}

textarea::placeholder {
  color: #b6bcc4;
}

.myError:not(input,select,textarea) {
  color: #d90000;
  font-size: 14px;
  line-height: 1.4;
  margin-top: 6px;
}

.selectBox {
  position: relative;
}

.selectBox:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 20px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
}

.selectBox.birthyear {
  width: 100px;
}

.selectBox.birthmonth,
.selectBox.birthdate,
.selectBox.age {
  width: 80px;
}

.selectBox.prefecture {
  width: 180px;
}

.post {
  width: 120px;
}

.contact {
  padding: 64px 0 113px;
}

.contact.-check dd {
  width: 100%;
  font-size: 16px;
  padding: 7.5px 15px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #dbdbdb;
}

.contact .require {
  color: #d90000;
  font-size: 13px;
  vertical-align: top;
  padding-left: 3px;
}

.contact__inner {
  width: 90%;
  max-width: 990px;
  margin: 0 auto;
}

.contact__txt {
  font-size: 14px;
  line-height: 2;
}

.contact__box {
  border-radius: 10px;
}

.contact__tit {
  border-bottom: 1px solid #dedede;
}

.contact__tit span {
  position: relative;
  display: inline-block;
  font-size: 23px;
  font-weight: 500;
  font-family: "Noto Sans JP",sans-serif;
  color: #24407f;
  padding-bottom: 10px;
}

.contact__tit span::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
}

.contact__tit span::after {
  background: #24407f;
}

.contact__item dl {
  border-bottom: 1px solid rgba(110,110,110,.3);
  padding-bottom: 40px;
}

.contact__item dl.-borderNone {
  border: none;
  padding-bottom: 0;
}

.contact__item dl:nth-child(n+2) {
  margin-top: 32px;
}

.contact__item dl dt {
  font-size: 16px;
  font-weight: 500;
}

.contact__item dl dd {
  margin-top: 12px;
}

.contact__item dl dd .subtit {
  display: block;
  width: 210px;
}

.contact__item dl dd .comment {
  font-size: 12px;
}

.contact__item dl dd .name,
.contact__item dl dd .furigana,
.contact__item dl dd .post,
.contact__item dl dd .birth,
.contact__item dl dd .age,
.contact__item dl dd .sex,
.contact__item dl dd .addr {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.contact__item dl dd .name .firstName,
.contact__item dl dd .name .lastName,
.contact__item dl dd .name .firstFurigana,
.contact__item dl dd .name .lastFurigana,
.contact__item dl dd .furigana .firstName,
.contact__item dl dd .furigana .lastName,
.contact__item dl dd .furigana .firstFurigana,
.contact__item dl dd .furigana .lastFurigana {
  width: 100%;
}

.contact__item dl dd .addr__inner {
  width: 100%;
}

.contact__btm {
  margin-top: 68px;
}

.contact__btm form {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 64px;
}

.contact__btm form .contact__btn {
  margin: 0;
}

.contact__btm form a {
  background: #999;
}

.contact__btm form a:hover {
  background: none;
}

.contact__privacy--tit {
  font-size: 18px;
  font-weight: 500;
}

.contact__privacyBox--txt {
  margin-top: 24px;
  font-size: 14px;
}

.contact__privacyBox--txt a {
  text-decoration: underline;
}

.contact__privacyBox--txt a:hover {
  text-decoration: none;
}

.contact__agreeBox {
  margin-top: 12px;
}

.contact__btn {
  width: 211px;
  margin: 66px auto 0;
}

.contact__btn .c-buttonStyle1 {
  width: 100%;
  background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
}

.contact__btn .c-buttonStyle1 .ja {
  font-size: 18px;
  color: #fff;
}

.contact__btn .c-buttonStyle1.-colorChange::after {
  border-color: rgba(0,0,0,0);
}

.contact__btn .c-buttonStyle1.-gray {
  background: #bdbdbd;
}

.contact__btn .c-buttonStyle1.-gray::after {
  border-color: rgba(0,0,0,0);
}

.c-headingStyle1 {
  line-height: 1;
}

.c-headingStyle1 .en {
  display: block;
  font-size: 62px;
  color: #24407f;
  margin-top: 10px;
}

.c-headingStyle1 .ja {
  font-size: 17px;
}

.c-headingStyle1.-layoutChange {
  display: flex;
  flex-direction: column-reverse;
}

.c-headingStyle1.-layoutChange .en {
  font-size: 22px;
  margin-top: 0;
}

.c-headingStyle1.-layoutChange .ja {
  font-size: 39px;
  line-height: 1.4615384615;
  margin-top: 3px;
}

.c-headingStyle2 {
  position: relative;
  font-size: 24px;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  padding-bottom: 22px;
}

.c-headingStyle2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 44px;
  height: 2px;
  background: #24407f;
}

.c-headingStyle3 {
  position: relative;
  padding-top: 23px;
  line-height: 1;
}

.c-headingStyle3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 3px;
  background: #ff9c00;
}

.c-headingStyle3 .en {
  font-size: 20px;
  color: #24407f;
}

.c-headingStyle3 .ja {
  display: block;
  font-size: 30px;
  margin-top: 20px;
  font-weight: 500;
}

.c-rhombus {
  position: fixed;
  top: 8.1259150805vw;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
}

.c-rhombus-items {
  position: absolute;
  bottom: 0;
  width: 19.6925329429vw;
  height: 10.4685212299vw;
  background: #fff;
  opacity: .5;
  -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}

.c-rhombus-items._01 {
  top: 0;
  left: calc(50% - 59.2972181552vw);
}

.c-rhombus-items._02 {
  top: 10.4685212299vw;
  left: calc(50% - 59.2972181552vw);
  opacity: .4;
}

.c-rhombus-items._03 {
  bottom: 5.1244509517vw;
  left: calc(50% - 59.2972181552vw);
}

.c-rhombus-items._04 {
  top: 0;
  left: calc(50% - 38.8726207906vw);
  opacity: .1;
}

.c-rhombus-items._05 {
  top: 5.270863836vw;
  left: calc(50% + 27.8184480234vw);
}

.c-rhombus-items._06 {
  top: 15.7393850659vw;
  left: calc(50% + 27.8184480234vw);
  opacity: .1;
}

.c-rhombus-items._07 {
  bottom: 14.6412884334vw;
  left: calc(50% + 39.5314787701vw);
}

.c-rhombus-items._08 {
  bottom: 5.1244509517vw;
  left: calc(50% + 18.3016105417vw);
  opacity: .4;
}

.c-rhombus-items._09 {
  top: 20.9370424597vw;
  left: calc(50% - 59.2972181552vw);
  opacity: .25;
}

.c-rhombus-items._10 {
  top: 20.9370424597vw;
  left: calc(50% - 38.8726207906vw);
  opacity: .25;
}

.c-mainv {
  position: relative;
  z-index: -2;
  padding: 135px 0 60px;
}

.c-mainv-tit {
  line-height: 1;
}

.c-mainv-tit .en {
  display: block;
  font-size: 78px;
  color: #24407f;
  margin-top: 10px;
}

.c-mainv-tit .ja {
  font-size: 17px;
}

.c-mainv-img {
  margin-top: 45px;
  height: 405px;
}

.c-mainv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#about .secPhilosophy-txt {
  margin-top: 90px;
  width: 834px;
}

#about .secPhilosophy-list {
  margin-top: 138px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding-left: 25px;
  width: 125%;
}

#about .secPhilosophy-items {
  overflow: hidden;
  border-radius: 15px;
}

#about .secGuidelines {
  padding: 167px 0 175px;
}

#about .secGuidelines-box {
  background: #f2f3f7;
  border-radius: 15px;
  padding: 46px 144px 53px;
}

#about .secGuidelines-box:first-of-type {
  margin-top: 54px;
}

#about .secGuidelines-box:not(:first-of-type) {
  margin-top: 40px;
}

#about .secGuidelines-list {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

#about .secGuidelines-items {
  width: calc((100% - 40px)/3);
  background: #fff;
  border-radius: 15px;
  display: -ms-grid;
  display: grid;
  place-items: center;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 2;
  grid-row: span 2;
  padding: 33px 0 22px;
  gap: 23px;
  text-align: center;
}

#about .secGuidelines-items:nth-child(4) {
  margin-left: auto;
}

#about .secGuidelines-items:nth-child(5) {
  margin-right: auto;
}

#about .secGuidelines-icon._01 {
  width: 64px;
}

#about .secGuidelines-icon._02 {
  width: 88px;
}

#about .secGuidelines-icon._03 {
  width: 87px;
}

#about .secGuidelines-icon._04 {
  width: 93px;
}

#about .secGuidelines-icon._05 {
  width: 99px;
}

#about .secGuidelines-img {
  margin-top: 32px;
}

#about .secGuidelines-action-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  grid-template-areas: ". top ." "left . right" ". bottom .";
  place-items: center;
  width: 100%;
  margin-top: 64px;
}

#about .secGuidelines-action-list::after {
  content: "";
  position: absolute;
  top: calc(50% - 60px);
  left: 50%;
  translate: -50% -50%;
  width: 868.13px;
  height: 474.21px;
  background: #fff;
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

#about .secGuidelines-action-items {
  position: relative;
  background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
  width: 270px;
  height: 270px;
  border-radius: 100vmax;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  z-index: 1;
}

#about .secGuidelines-action-items::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 120%;
  height: 120%;
  background: rgba(78,101,179,.06);
  border-radius: 100vmax;
  z-index: -1;
}

#about .secGuidelines-action-items:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: top;
}

#about .secGuidelines-action-items:nth-child(2) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: left;
  top: -60px;
  left: -30px;
}

#about .secGuidelines-action-items:nth-child(3) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  grid-area: right;
  top: -60px;
  right: -30px;
}

#about .secGuidelines-action-items:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: bottom;
  top: -120px;
}

#about .secGuidelines-action-tit {
  font-size: 27px;
  font-weight: bold;
}

#about .secGuidelines-action-txt {
  font-size: 16px;
  margin-top: 7px;
  line-height: 1.5;
}

#about .secMessage {
  position: relative;
  padding: 150px 0;
  color: #fff;
}

#about .secMessage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
  z-index: -2;
}

#about .secMessage-tit .en,
#about .secMessage-tit .ja {
  color: #fff;
}

#about .secMessage-img {
  width: 362px;
  border-radius: 15px;
  overflow: hidden;
}

#about .secMessage-txt1 {
  font-size: 51px;
  line-height: 1.7058823529;
  margin: 140px 0;
}

#about .secMessage-txt2 {
  font-size: 16px;
  line-height: 2.0625;
  margin-top: 60px;
}

#about .secMessage-sign {
  font-size: 14px;
  margin-top: 60px;
  line-height: 1;
}

#about .secMessage-sign .name {
  display: block;
  width: 180px;
  margin-top: 20px;
}

#about .secHistory {
  padding: 127px 0 185px;
}

#about .secHistory-box {
  margin-top: 68px;
}

#about .secHistory-timeline {
  position: relative;
  align-items: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 214px 70px 1fr;
  grid-template-columns: 214px 1fr;
  padding: 30px 0;
  font-size: 16px;
  gap: 70px;
}

#about .secHistory-timeline:first-child {
  padding-top: 0;
}

#about .secHistory-timeline::before,
#about .secHistory-timeline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
}

#about .secHistory-timeline::before {
  width: 214px;
  background: #ff9c00;
}

#about .secHistory-timeline::after {
  width: 100%;
  background: #d6d6d6;
  z-index: -1;
}

#about .secHistory-timeline-year {
  font-weight: 500;
}

#business .secCompany {
  padding-bottom: 270px;
}

#business .secCompany-nav {
  position: fixed;
  top: 0;
  right: calc((100% - 1140px)/2);
  padding: 120px 70px;
  z-index: 1;
}

#business .secCompany-nav-toggle.is-show .secCompany-nav-toggle-icon {
  rotate: -180deg;
}

#business .secCompany-nav-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
  transition: .3s;
  opacity: 0;
  pointer-events: none;
}

#business .secCompany-nav-list.is-show {
  opacity: 1;
  pointer-events: all;
}

#business .secCompany-nav-link {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  color: #b7b7b7;
  z-index: 1;
  transition: .3s;
}

#business .secCompany-nav-link::before,
#business .secCompany-nav-link::after {
  content: "";
  position: absolute;
  top: 50%;
  opacity: 0;
  transition: .3s;
}

#business .secCompany-nav-link::before {
  left: -20px;
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  background: #ff9c00;
  border-radius: 100vmax;
}

#business .secCompany-nav-link::after {
  left: 50%;
  translate: -50% -50%;
  width: 160%;
  height: 130%;
  background: #fff;
  border-radius: 23px;
  z-index: -1;
}

#business .secCompany-nav-link.is-current {
  color: #000;
}

#business .secCompany-nav-link.is-current::before,
#business .secCompany-nav-link.is-current::after {
  opacity: 1;
}

#business .secCompany-box {
  padding: 100px 370px 100px 100px;
  background: #f2f3f7;
  border-radius: 15px;
}

#business .secCompany-box:nth-of-type(n+2) {
  margin-top: 55px;
}

#business .secCompany-tit:not(:has(.en)) .ja {
  margin-top: 5px;
}

#business .secCompany-intro-tag {
  margin-top: 25px;
  display: flex;
  align-items: center;
  gap: 15px;
}

#business .secCompany-intro-tag .label {
  font-size: 15px;
  color: #24407f;
  border-radius: 8px;
  border: 1px solid #24407f;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 7px 12px;
}

#business .secCompany-intro-img {
  margin-top: 60px;
}

#business .secCompany-intro-tit {
  font-size: 36px;
  color: #24407f;
  font-weight: 500;
  line-height: 1.7906976744;
  margin-top: 35px;
}

#business .secCompany-intro-txt {
  font-size: 16px;
  margin-top: 25px;
}

#business .secCompany-intro-txt .strong {
  display: block;
  color: #24407f;
  font-weight: bold;
}

#business .secCompany-work {
  margin-top: 90px;
}

#business .secCompany-work-list {
  margin-top: 55px;
}

#business .secCompany-work-items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 90px 1fr;
  grid-template-columns: 90px 1fr;
  border-bottom: 1px solid rgba(0,0,0,.3);
  padding-bottom: 40px;
}

#business .secCompany-work-items:nth-child(n+2) {
  margin-top: 40px;
}

#business .secCompany-work-step {
  width: 65px;
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #24407f;
  border-radius: 100vmax;
  font-size: 27px;
  font-weight: 300;
  color: #24407f;
  line-height: 1;
}

#business .secCompany-work-tit {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4545454545;
}

#business .secCompany-work-txt {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 15px;
}

#business .secCompany-btn {
  margin-top: 65px;
}

#business .secCompany-btn>a {
  display: flex;
  gap: 15px;
  color: #fff;
  padding: 30px 40px;
  border-radius: 15px;
  transition: .3s;
}

#business .secCompany-btn>a._01 {
  background: url(/assets/img/business/detail_bg1.png) no-repeat center/cover;
}

#business .secCompany-btn>a._02 {
  background: url(/assets/img/business/detail_bg2.png) no-repeat center/cover;
}

#business .secCompany-btn>a._03 {
  background: url(/assets/img/business/detail_bg3.png) no-repeat center/cover;
}

#business .secCompany-btn>a._04 {
  background: url(/assets/img/business/detail_bg4.png) no-repeat center/cover;
}

#business .secCompany-btn>a._05 {
  background: url(/assets/img/business/detail_bg5.png) no-repeat center/cover;
}

#business .secCompany-btn>a._06 {
  background: url(/assets/img/business/detail_bg6.png) no-repeat center/cover;
}

#business .secCompany-btn>a .txt {
  font-size: 25px;
}

#page_contact .secContact {
  background: #f1f4f7;
  padding: 40px 0;
}

#page_contact .secContact dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 280px 1fr;
  grid-template-columns: 280px 1fr;
}

#page_contact .secContact dl dt {
  padding-top: 10px;
}

#page_contact .secContact dd {
  margin-top: 0;
}

#page_contact .secContact__tit {
  width: 320px;
  margin-inline: auto;
}

#page_contact .secContact__txt {
  font-size: 16px;
}

#page_contact .secContact__txt .red {
  color: #ff1d00;
}

#page_contact .secContact .contact__txt {
  text-align: center;
}

#page_contact .secContact .contact__top--btn {
  text-align: center;
}

#index .secHero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100dvh;
}

#index .secHero-mov {
  position: fixed;
  inset: 0;
  z-index: -1;
}

#index .secHero-mov video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#index .secHero-head {
  position: relative;
  bottom: 104px;
  left: 114px;
  color: #fff;
  line-height: 1;
}

#index .secHero-tit {
  font-size: 99px;
}

#index .secHero-txt {
  font-size: 34px;
  margin-top: 15px;
}

#index .secAbout {
  position: relative;
  color: #fff;
  text-align: center;
  padding: 115px 0 142px;
}

#index .secAbout::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
  opacity: .83;
  z-index: -1;
}

#index .secAbout-txt {
  font-size: 18px;
  line-height: 2.1666666667;
}

#index .secAbout-btn {
  margin-top: 77px;
}

#index .secBusiness {
  padding: 142px 0 156px;
  background: #fff;
}

#index .secBusiness-inner {
  position: relative;
}

#index .secBusiness-txt {
  margin-top: 26px;
  font-size: 16px;
  line-height: 2.0625;
  width: 34%;
}

#index .secBusiness-btn {
  margin-top: 84px;
}

#index .secBusiness-img {
  position: absolute;
  top: -37px;
  right: -74px;
  width: 778px;
}

#index .secBusiness-clients {
  margin-top: 280px;
  text-align: center;
}

#index .secBusiness-clients-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10px 1fr 10px 1fr 10px 1fr 10px 1fr 10px 1fr 10px 1fr;
  grid-template-columns: repeat(7, 1fr);
  gap: 10px;
  margin-top: 35px;
}

#index .secBusiness-clients-list:nth-of-type(2) {
  display: none;
}

#index .secBusiness-clients-txt {
  font-size: 12px;
  text-align: right;
  margin-top: 20px;
  margin-right: 15px;
}

#index .secRecruit {
  position: relative;
  background: #f2f3f7;
  padding: 358px 0 171px;
}

#index .secRecruit-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 1188px;
}

#index .secRecruit-inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}

#index .secRecruit-txt {
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.8333333333;
}

#index .secRecruit-btn {
  margin-top: 42px;
}

#index .secData {
  background: #f2f3f7;
  padding-bottom: 100px;
}

#index .secData-inner {
  position: relative;
}

#index .secData-txt {
  font-size: 16px;
  margin-top: 25px;
}

#index .secData-btn {
  margin-top: 42px;
}

#index .secData-img {
  position: absolute;
  top: 50%;
  right: -110px;
  translate: 0 -50%;
  width: 720px;
}

#privacy .secPrivacy__table {
  padding: 30px 50px 180px;
}

#privacy .secPrivacy__table dl {
  padding-bottom: 35px;
  border-bottom: 1px solid rgba(110,110,110,.3);
}

#privacy .secPrivacy__table dl:nth-child(n+2) {
  margin-top: 35px;
}

#privacy .secPrivacy__table dl dt {
  font-size: 22px;
  font-weight: 500;
}

#privacy .secPrivacy__table dl dd {
  font-size: 16px;
  margin-top: 20px;
}

#recruit .secJobInformation-sort {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 15px 1fr 15px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

#recruit .secJobInformation-sort-items {
  position: relative;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
  padding: 20px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
}

#recruit .secJobInformation-sort-items::before,
#recruit .secJobInformation-sort-items::after {
  content: "";
  position: absolute;
  inset: 0;
  transition: .3s;
}

#recruit .secJobInformation-sort-items::before {
  background: #c2c2c2;
  z-index: -1;
}

#recruit .secJobInformation-sort-items::after {
  background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
  z-index: -2;
}

#recruit .secJobInformation-sort-items.is-active::before {
  opacity: 0;
}

#recruit .secJobInformation-box {
  position: relative;
  padding: 42px 0 135px;
  margin-top: 40px;
}

#recruit .secJobInformation-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  width: 100vw;
  height: 100%;
  background: #f2f3f7;
  z-index: -1;
}

#recruit .secJobInformation-subtit {
  font-size: 15px;
  color: #7c7c7c;
}

#recruit .secJobInformation-slide {
  position: relative;
  margin-top: 45px;
}

#recruit .secJobInformation-list {
  display: block;
}

#recruit .secJobInformation-items {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 25px 2fr;
  grid-template-columns: 1fr 2fr;
  gap: 25px;
  background: #fff;
  padding: 40px;
  border-radius: 3px;
}

#recruit .secJobInformation-items:nth-of-type(n+2) {
  margin-top: 30px;
}

#recruit .secJobInformation-items-content {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 2;
  grid-row: span 2;
}

#recruit .secJobInformation-items-img {
  position: relative;
  border-radius: 3px;
  overflow: hidden;
  flex-shrink: 0;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
}

#recruit .secJobInformation-items-labellist {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 5px;
}

#recruit .secJobInformation-items-label {
  font-size: 14px;
  line-height: 1;
  color: #fff;
  border-radius: 3px;
  padding: 10px 14px;
}

#recruit .secJobInformation-items-label.-newGraduate {
  background: #538cc6;
}

#recruit .secJobInformation-items-label.-midCareer {
  background: #00489b;
}

#recruit .secJobInformation-items-name {
  font-size: 15px;
  line-height: 1.4;
}

#recruit .secJobInformation-items-tit {
  font-size: 20px;
  font-weight: bold;
}

#recruit .secJobInformation-items-txt {
  font-size: 14px;
  line-height: 1.5714285714;
  color: #727272;
}

#recruit .secJobInformation-items-taglist {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 350px;
}

#recruit .secJobInformation-items-tag {
  border: 1px solid #121212;
  border-radius: 15px;
  padding: 5px 12px;
  font-size: 15px;
  line-height: 1;
}

#recruit .secJobInformation-items-local {
  margin-top: 10px;
  font-size: 12px;
  color: #8d8d8d;
}

#recruit .secJobInformation-items-btn {
  position: absolute;
  bottom: 40px;
  right: 40px;
}

#recruit .secJobInformation-items-btn .c-buttonStyle1 {
  width: 225px;
  height: 50px;
  background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
  border-radius: 3px;
  -webkit-filter: none;
  filter: none;
  border-radius: 30px;
  transition: .3s;
}

#recruit .secJobInformation-items-btn .c-buttonStyle1::after {
  border: none;
}

#recruit .secJobInformation-items-btn .c-buttonStyle1 .txt {
  font-size: 16px;
  color: #fff;
}

#recruit .secJobInformation-items-btn .c-buttonStyle1 .icon {
  right: 12px;
  width: 15px;
  height: 15px;
}

#recruit .secJobInformation .swiper-button-next,
#recruit .secJobInformation .swiper-button-prev {
  display: none;
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 50%;
  top: -155px;
  margin-top: 0;
  transition: .3s;
  -webkit-filter: drop-shadow(8px 10px 13px rgba(138, 167, 157, 0.7));
  filter: drop-shadow(8px 10px 13px rgba(138, 167, 157, 0.7));
}

#recruit .secJobInformation .swiper-button-next::after,
#recruit .secJobInformation .swiper-button-prev::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 8px;
  height: 16px;
  background: url(/assets/img/recruit/recruit_slide_icon.svg) no-repeat center/cover;
  transition: .3s;
}

#recruit .secJobInformation .swiper-button-next {
  right: 100px;
}

#recruit .secJobInformation .swiper-button-prev {
  left: auto;
  right: 175px;
}

#recruit .secJobInformation .swiper-button-prev::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
  transform: translate(-50%, -50%) rotate(180deg);
}

@media (min-width: 768px) {
  .u-hidden-up-md {
    display: none !important;
    visibility: hidden;
  }

  a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
    cursor: default;
    text-decoration: none;
  }
}

@media (min-width: 1366px) {
  .u-hidden-lg {
    display: none !important;
    visibility: hidden;
  }

  .u-hidden-up-lg {
    display: none !important;
    visibility: hidden;
  }
}

@media (max-width: 1365.98px) {
  .u-hidden-down-md {
    display: none !important;
    visibility: hidden;
  }

  body {
    font-size: 1.0248901903vw;
  }

  .l-sec__inner {
    width: 83.4553440703vw;
  }

  .l-header-inner {
    padding: .7320644217vw 17.1303074671vw .7320644217vw 1.756954612vw;
  }

  .l-header-logo-link {
    width: 4.6852122987vw;
  }

  .l-nav-list {
    gap: 3.6603221083vw;
  }

  .l-nav-item.-contact .l-nav-link {
    font-size: 1.6105417277vw;
    padding: .7320644217vw 4.0263543192vw;
  }

  .l-nav-link {
    font-size: 1.0248901903vw;
  }

  .l-footer-inner {
    width: 91.1420204978vw;
    padding: 2.9282576867vw 0 1.0980966325vw;
  }

  .l-footer-top {
    gap: 4.39238653vw;
  }

  .l-footer-logo {
    width: 9.8828696925vw;
  }

  .l-footer-info-name {
    font-size: 1.317715959vw;
  }

  .l-footer-info-address {
    font-size: 1.0248901903vw;
  }

  .l-footer-info-tel {
    font-size: 1.0980966325vw;
  }

  .l-footer-group {
    gap: 3.074670571vw;
    margin-top: 3.2942898975vw;
  }

  .l-footer-group-items>a {
    gap: .3660322108vw;
  }

  .l-footer-group-items .tit {
    font-size: 1.317715959vw;
  }

  .l-footer-group-items .txt {
    font-size: .9516837482vw;
  }

  .l-footer-btm {
    margin-top: 3.6603221083vw;
  }

  .l-footer-link {
    gap: 1.4641288433vw;
  }

  .l-footer-link-items {
    font-size: .878477306vw;
  }

  .l-footer-link-items:not(:first-child)::after {
    width: .0732064422vw;
    left: -.7320644217vw;
  }

  .l-footer-copy {
    font-size: .878477306vw;
  }

  .c-hoverStyle1 {
    padding-bottom: .2196193265vw;
  }

  .c-hoverStyle1::after {
    height: .1464128843vw;
    border-radius: .7320644217vw;
  }

  .c-buttonStyle1::after {
    border: .1464128843vw solid #24407f;
    border-radius: 2.196193265vw;
  }

  .c-buttonStyle1 {
    width: 10.980966325vw;
    height: 3.6603221083vw;
    border-radius: 2.196193265vw;
  }

  .c-buttonStyle1.-colorChange::after {
    border: .1464128843vw solid #fff;
  }

  .c-buttonStyle1 .en,
  .c-buttonStyle1 .ja {
    font-size: 1.4641288433vw;
    padding-left: 2.196193265vw;
  }

  .c-buttonStyle1 .icon {
    right: 1.317715959vw;
    width: .9516837482vw;
    height: .8052708638vw;
  }

  input,
  select,
  textarea {
    font-size: 1.1713030747vw;
    height: 3.6603221083vw;
    padding: .2928257687vw 1.0980966325vw;
  }

  input[type=checkbox]+.input_checkbox {
    width: 1.4641288433vw;
    height: 1.4641288433vw;
    border-radius: .2928257687vw;
    margin-right: 1.0980966325vw;
  }

  input[type=checkbox]:checked+.input_checkbox:after,
  input[type=checkbox]:checked+.input_checkbox:before {
    height: .2196193265vw;
    border-radius: .1464128843vw;
  }

  input[type=radio]+.input_radio {
    width: 1.4641288433vw;
    height: 1.4641288433vw;
    margin-right: .3660322108vw;
  }

  input[type=radio]:checked+.input_radio::after {
    width: .878477306vw;
    height: .878477306vw;
  }

  textarea {
    height: 16.9838945827vw;
    padding: 1.0980966325vw 1.0980966325vw;
  }

  .myError:not(input,select,textarea) {
    font-size: 1.0248901903vw;
    margin-top: .439238653vw;
  }

  .selectBox:before {
    top: calc(50% - .3660322108vw);
    right: 1.4641288433vw;
    width: .5856515373vw;
    height: .5856515373vw;
    border-left-width: .0732064422vw;
    border-bottom-width: .0732064422vw;
  }

  .contact {
    padding: 4.6852122987vw 0 8.2723279649vw;
  }

  .contact.-check dd {
    font-size: 1.1713030747vw;
    padding: .7320644217vw 1.4641288433vw;
    height: 3.6603221083vw;
    border-radius: .2196193265vw;
  }

  .contact .require {
    font-size: .9516837482vw;
    padding-left: .2196193265vw;
  }

  .contact__txt {
    font-size: 1.0248901903vw;
  }

  .contact__box {
    border-radius: .7320644217vw;
  }

  .contact__tit span {
    font-size: 1.6837481698vw;
    padding-bottom: .7320644217vw;
  }

  .contact__item dl:nth-child(n+2) {
    margin-top: 2.3426061493vw;
  }

  .contact__item dl dt {
    font-size: 1.1713030747vw;
  }

  .contact__item dl dd {
    margin-top: .878477306vw;
  }

  .contact__item dl dd .comment {
    font-size: .878477306vw;
  }

  .contact__item dl dd .name,
  .contact__item dl dd .furigana,
  .contact__item dl dd .post,
  .contact__item dl dd .birth,
  .contact__item dl dd .age,
  .contact__item dl dd .sex,
  .contact__item dl dd .addr {
    gap: .7320644217vw;
  }

  .contact__btm {
    margin-top: 4.9780380673vw;
  }

  .contact__btm form {
    gap: 0 4.6852122987vw;
  }

  .contact__privacy--tit {
    font-size: 1.317715959vw;
  }

  .contact__privacyBox--txt {
    margin-top: 1.756954612vw;
    font-size: 1.0248901903vw;
  }

  .contact__agreeBox {
    margin-top: .878477306vw;
  }

  .contact__btn {
    width: 15.4465592972vw;
    margin: 4.831625183vw auto 0;
  }

  .c-headingStyle1 .en {
    font-size: 4.5387994143vw;
    margin-top: .7320644217vw;
  }

  .c-headingStyle1 .ja {
    font-size: 1.2445095168vw;
  }

  .c-headingStyle1.-layoutChange .en {
    font-size: 1.6105417277vw;
  }

  .c-headingStyle1.-layoutChange .ja {
    font-size: 2.8550512445vw;
    margin-top: .2196193265vw;
  }

  .c-headingStyle2 {
    font-size: 1.756954612vw;
    padding-bottom: 1.6105417277vw;
  }

  .c-headingStyle2::after {
    width: 3.2210834553vw;
    height: .1464128843vw;
  }

  .c-headingStyle3 {
    padding-top: 1.6837481698vw;
  }

  .c-headingStyle3::before {
    width: 2.635431918vw;
    height: .2196193265vw;
  }

  .c-headingStyle3 .en {
    font-size: 1.4641288433vw;
  }

  .c-headingStyle3 .ja {
    font-size: 2.196193265vw;
    margin-top: 1.4641288433vw;
  }

  .c-mainv {
    padding: 9.8828696925vw 0 4.39238653vw;
  }

  .c-mainv-tit .en {
    font-size: 4.5387994143vw;
    margin-top: .7320644217vw;
  }

  .c-mainv-tit .ja {
    font-size: 1.2445095168vw;
  }

  .c-mainv-img {
    margin-top: 3.2942898975vw;
    height: 29.6486090776vw;
  }

  #about .secPhilosophy-txt {
    margin-top: 6.588579795vw;
    width: 61.0541727672vw;
  }

  #about .secPhilosophy-list {
    margin-top: 10.102489019vw;
    padding-left: 1.8301610542vw;
    width: 9.1508052709vw;
    gap: 2.0497803807vw;
  }

  #about .secGuidelines {
    padding: 12.2254758419vw 0 12.8111273792vw;
  }

  #about .secGuidelines-box {
    padding: 3.3674963397vw 10.541727672vw 3.8799414348vw;
    border-radius: 1.0980966325vw;
  }

  #about .secGuidelines-box:first-of-type {
    margin-top: 3.953147877vw;
  }

  #about .secGuidelines-box:not(:first-of-type) {
    margin-top: 2.9282576867vw;
  }

  #about .secGuidelines-list {
    margin-top: 2.196193265vw;
    gap: 1.4641288433vw;
  }

  #about .secGuidelines-items {
    width: calc((100% - 2.9282576867vw)/3);
    border-radius: 1.0980966325vw;
    padding: 2.4158125915vw 0 1.6105417277vw;
    gap: 1.6837481698vw;
  }

  #about .secGuidelines-icon._01 {
    width: 4.6852122987vw;
  }

  #about .secGuidelines-icon._02 {
    width: 6.4421669107vw;
  }

  #about .secGuidelines-icon._03 {
    width: 6.3689604685vw;
  }

  #about .secGuidelines-icon._04 {
    width: 6.8081991215vw;
  }

  #about .secGuidelines-icon._05 {
    width: 7.2474377745vw;
  }

  #about .secGuidelines-img {
    margin-top: 2.3426061493vw;
  }

  #about .secGuidelines-action-list {
    margin-top: 4.6852122987vw;
  }

  #about .secGuidelines-action-list::after {
    top: calc(50% - 4.39238653vw);
    width: 63.5527086384vw;
    height: 34.71522694vw;
  }

  #about .secGuidelines-action-items {
    width: 19.7657393851vw;
    height: 19.7657393851vw;
  }

  #about .secGuidelines-action-items:nth-child(2) {
    top: -4.39238653vw;
    left: -2.196193265vw;
  }

  #about .secGuidelines-action-items:nth-child(3) {
    top: -4.39238653vw;
    right: -2.196193265vw;
  }

  #about .secGuidelines-action-items:nth-child(4) {
    top: -8.78477306vw;
  }

  #about .secGuidelines-action-tit {
    line-height: 1;
    font-size: 1.9765739385vw;
  }

  #about .secGuidelines-action-txt {
    font-size: 1.1713030747vw;
    margin-top: 1.8666666667vw;
  }

  #about .secMessage {
    padding: 10.980966325vw 0;
  }

  #about .secMessage-img {
    width: 26.5007320644vw;
    border-radius: 1.0980966325vw;
  }

  #about .secMessage-txt1 {
    font-size: 3.7335285505vw;
    margin: 37.3333333333vw 0;
  }

  #about .secMessage-txt2 {
    margin-top: 4.39238653vw;
    font-size: 1.1713030747vw;
  }

  #about .secMessage-sign {
    font-size: 1.0248901903vw;
    margin-top: 4.39238653vw;
  }

  #about .secMessage-sign .name {
    width: 13.17715959vw;
    margin-top: 1.4641288433vw;
  }

  #about .secHistory {
    padding: 9.2972181552vw 0 13.5431918009vw;
  }

  #about .secHistory-box {
    margin-top: 4.9780380673vw;
  }

  #about .secHistory-timeline {
    font-size: 1.1713030747vw;
    padding: 2.196193265vw 0;
    -ms-grid-columns: 15.6661786237vw 5.1244509517vw 1fr;
    grid-template-columns: 15.6661786237vw 1fr;
    gap: 5.1244509517vw;
  }

  #about .secHistory-timeline::before,
  #about .secHistory-timeline::after {
    height: .0732064422vw;
  }

  #about .secHistory-timeline::before {
    width: 15.6661786237vw;
  }

  #business .secCompany-nav {
    right: calc((100% - 83.4553440703vw)/2);
    padding: 8.78477306vw 5.1244509517vw;
  }

  #business .secCompany-nav-list {
    gap: 1.6105417277vw;
  }

  #business .secCompany-nav-link {
    font-size: 1.0248901903vw;
  }

  #business .secCompany-nav-link::before {
    left: -1.4641288433vw;
    width: .7320644217vw;
    height: .7320644217vw;
  }

  #business .secCompany-box {
    padding: 7.3206442167vw 27.0863836018vw 7.3206442167vw 7.3206442167vw;
    border-radius: 1.0980966325vw;
  }

  #business .secCompany-box:nth-of-type(n+2) {
    margin-top: 4.0263543192vw;
  }

  #business .secCompany-tit:not(:has(.en)) .ja {
    margin-top: .3660322108vw;
  }

  #business .secCompany-intro-tag {
    margin-top: 1.8301610542vw;
    gap: 1.0980966325vw;
  }

  #business .secCompany-intro-tag .label {
    font-size: 1.0980966325vw;
    padding: .5124450952vw .878477306vw;
    border-width: .0732064422vw;
    border-radius: .5856515373vw;
  }

  #business .secCompany-intro-img {
    margin-top: 4.39238653vw;
  }

  #business .secCompany-intro-tit {
    font-size: 2.635431918vw;
    margin-top: 2.5622254758vw;
  }

  #business .secCompany-intro-txt {
    font-size: 1.1713030747vw;
    margin-top: 1.8301610542vw;
  }

  #business .secCompany-work {
    margin-top: 6.588579795vw;
  }

  #business .secCompany-work-list {
    margin-top: 4.0263543192vw;
  }

  #business .secCompany-work-items {
    -ms-grid-columns: 6.588579795vw 1fr;
    grid-template-columns: 6.588579795vw 1fr;
    border-width: .0732064422vw;
    padding-bottom: 2.9282576867vw;
  }

  #business .secCompany-work-items:nth-child(n+2) {
    margin-top: 2.9282576867vw;
  }

  #business .secCompany-work-step {
    width: 4.7584187408vw;
    height: 4.7584187408vw;
    font-size: 1.9765739385vw;
    border-width: .0732064422vw;
  }

  #business .secCompany-work-tit {
    font-size: 1.6105417277vw;
  }

  #business .secCompany-work-txt {
    font-size: 1.1713030747vw;
    margin-top: 1.0980966325vw;
  }

  #business .secCompany-btn {
    margin-top: 4.7584187408vw;
  }

  #business .secCompany-btn>a {
    padding: 2.196193265vw 2.9282576867vw;
    border-radius: 1.0980966325vw;
    gap: 1.0980966325vw;
  }

  #business .secCompany-btn>a .txt {
    font-size: 1.8301610542vw;
  }

  #page_contact .secContact {
    padding: 2.9282576867vw 0;
  }

  #page_contact .secContact dl {
    -ms-grid-columns: 14.6412884334vw 1fr;
    grid-template-columns: 14.6412884334vw 1fr;
  }

  #page_contact .secContact dl dt {
    padding-top: .7320644217vw;
  }

  #page_contact .secContact__tit {
    width: 23.4260614934vw;
  }

  #page_contact .secContact__txt {
    font-size: 1.0980966325vw;
  }

  #index .secHero-head {
    bottom: 7.6134699854vw;
    left: 8.345534407vw;
  }

  #index .secHero-tit {
    font-size: 7.2474377745vw;
  }

  #index .secHero-txt {
    font-size: 2.4890190337vw;
    margin-top: 1.0980966325vw;
  }

  #index .secAbout {
    padding: 8.4187408492vw 0 10.3953147877vw;
  }

  #index .secAbout-txt {
    font-size: 1.317715959vw;
  }

  #index .secAbout-btn {
    margin-top: 5.6368960469vw;
  }

  #index .secBusiness {
    padding: 10.3953147877vw 0 11.420204978vw;
  }

  #index .secBusiness-txt {
    font-size: 1.1713030747vw;
    margin-top: 1.9033674963vw;
  }

  #index .secBusiness-btn {
    margin-top: 6.149341142vw;
  }

  #index .secBusiness-img {
    top: -2.7086383602vw;
    right: -5.4172767204vw;
    width: 56.9546120059vw;
  }

  #index .secBusiness-clients {
    margin-top: 20.4978038067vw;
  }

  #index .secBusiness-clients-list {
    gap: .7320644217vw;
    margin-top: 2.5622254758vw;
  }

  #index .secBusiness-clients-txt {
    font-size: .878477306vw;
    margin-top: 1.4641288433vw;
    margin-right: 1.0980966325vw;
  }

  #index .secRecruit {
    padding: 26.2079062958vw 0 12.5183016105vw;
  }

  #index .secRecruit-img {
    width: 86.9692532943vw;
  }

  #index .secRecruit-txt {
    font-size: 1.1713030747vw;
    margin-top: 1.317715959vw;
  }

  #index .secRecruit-btn {
    margin-top: 3.074670571vw;
  }

  #index .secData {
    padding-bottom: 7.3206442167vw;
  }

  #index .secData-txt {
    font-size: 1.1713030747vw;
    margin-top: 1.8301610542vw;
  }

  #index .secData-btn {
    margin-top: 3.074670571vw;
  }

  #index .secData-img {
    right: -8.0527086384vw;
    width: 52.7086383602vw;
  }

  #privacy .secPrivacy__table {
    padding: 2.196193265vw 3.6603221083vw 13.17715959vw;
  }

  #privacy .secPrivacy__table dl {
    padding-bottom: 2.5622254758vw;
    border-width: .0732064422vw;
  }

  #privacy .secPrivacy__table dl:nth-child(n+2) {
    margin-top: 2.5622254758vw;
  }

  #privacy .secPrivacy__table dl dt {
    font-size: 1.6105417277vw;
  }

  #privacy .secPrivacy__table dl dd {
    font-size: 1.1713030747vw;
    margin-top: 1.4641288433vw;
  }

  #recruit .secJobInformation-sort {
    gap: 1.0980966325vw;
  }

  #recruit .secJobInformation-sort-items {
    font-size: 1.2445095168vw;
    padding: 1.4641288433vw;
    border-radius: .7320644217vw;
  }

  #recruit .secJobInformation-box {
    padding: 3.074670571vw 0 9.8828696925vw;
  }

  #recruit .secJobInformation-subtit {
    font-size: 1.0980966325vw;
  }

  #recruit .secJobInformation-slide {
    margin-top: 3.2942898975vw;
  }

  #recruit .secJobInformation-items {
    padding: 2.9282576867vw;
    border-radius: .2196193265vw;
    gap: 1.8301610542vw;
  }

  #recruit .secJobInformation-items:nth-of-type(n+2) {
    margin-top: 2.196193265vw;
  }

  #recruit .secJobInformation-items-img {
    border-radius: .2196193265vw;
  }

  #recruit .secJobInformation-items-labellist {
    gap: .3660322108vw;
  }

  #recruit .secJobInformation-items-label {
    font-size: 1.0248901903vw;
    padding: .7320644217vw 1.0248901903vw;
    border-radius: .2196193265vw;
  }

  #recruit .secJobInformation-items-name {
    font-size: 1.0980966325vw;
  }

  #recruit .secJobInformation-items-tit {
    font-size: 1.4641288433vw;
  }

  #recruit .secJobInformation-items-txt {
    font-size: 1.0248901903vw;
  }

  #recruit .secJobInformation-items-taglist {
    max-width: 25.6222547584vw;
    gap: .7320644217vw;
  }

  #recruit .secJobInformation-items-tag {
    font-size: 1.0980966325vw;
    padding: .3660322108vw .878477306vw;
    border-radius: 1.0980966325vw;
  }

  #recruit .secJobInformation-items-local {
    font-size: .878477306vw;
    margin-top: .7320644217vw;
  }

  #recruit .secJobInformation-items-btn {
    bottom: 2.9282576867vw;
    right: 2.9282576867vw;
  }

  #recruit .secJobInformation-items-btn .c-buttonStyle1 {
    width: 16.4714494876vw;
    height: 3.6603221083vw;
    border-radius: .8vw;
  }

  #recruit .secJobInformation-items-btn .c-buttonStyle1 .txt {
    font-size: 1.1713030747vw;
  }

  #recruit .secJobInformation-items-btn .c-buttonStyle1 .icon {
    width: 1.0980966325vw;
    height: 1.0980966325vw;
    right: .878477306vw;
  }

  #recruit .secJobInformation .swiper-button-next,
  #recruit .secJobInformation .swiper-button-prev {
    width: 4.39238653vw;
    height: 4.39238653vw;
    top: -11.3469985359vw;
  }

  #recruit .secJobInformation .swiper-button-next::after,
  #recruit .secJobInformation .swiper-button-prev::after {
    width: .5856515373vw;
    height: 1.1713030747vw;
  }

  #recruit .secJobInformation .swiper-button-next {
    right: 7.3206442167vw;
  }

  #recruit .secJobInformation .swiper-button-prev {
    right: 12.8111273792vw;
  }
}

@media (any-hover: hover)and (max-width: 1365.98px) {
  .c-buttonStyle1:hover::after {
    border: .1464128843vw solid rgba(0,0,0,0);
  }
}

@media (max-width: 767.98px) {
  .u-hidden-sm {
    display: none !important;
    visibility: hidden;
  }

  .u-hidden-down-sm {
    display: none !important;
    visibility: hidden;
  }

  body {
    font-size: 3.2vw;
  }

  .-pcOnly {
    display: none;
  }

  .-spOnly {
    display: block;
  }

  .l-sec__inner {
    width: 92%;
  }

  .l-header {
    background: none;
  }

  .l-header.is-open .l-header-logo .l-header-logo-link svg {
    fill: #fff;
  }

  .l-header-inner {
    padding: 3.2vw 0 0 3.2vw;
  }

  .l-header-logo-link {
    width: 17.0666666667vw;
  }

  .l-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
    opacity: 0;
    pointer-events: none;
    transition: .3s;
  }

  .l-nav.is-open {
    opacity: 1;
    pointer-events: all;
  }

  .l-nav-inner {
    padding: 21.3333333333vw 5% 8vw;
    height: 100%;
    overflow-y: scroll;
  }

  .l-nav-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 4.5333333333vw;
  }

  .l-nav-item {
    position: relative;
    line-height: 1;
    width: 100%;
    border-bottom: 1px solid rgba(255,255,255,.4);
    padding-bottom: 4.5333333333vw;
  }

  .l-nav-item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4.5333333333vw;
    translate: 0 -50%;
    width: 2.9333333333vw;
    height: 2.4vw;
    background: url(/assets/img/common/nav_arrow.svg) no-repeat center/cover;
  }

  .l-nav-item.-contact {
    display: none;
  }

  .l-nav-link {
    font-size: 4.2666666667vw;
    color: #fff;
  }

  .l-nav-group {
    display: block;
    color: #fff;
    margin-top: 10.6666666667vw;
  }

  .l-nav-group-items:nth-child(n+2) {
    margin-top: 5.3333333333vw;
  }

  .l-nav-group-items>a {
    display: flex;
    align-items: center;
    gap: 1.8666666667vw;
  }

  .l-nav-group-items .tit {
    font-size: 4vw;
    font-weight: bold;
  }

  .l-nav-group-items .txt {
    font-size: 3.4666666667vw;
  }

  .l-nav-contact {
    margin-top: 8vw;
    text-align: center;
    color: #fff;
  }

  .l-nav-contact>a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8vw;
    border: .2666666667vw solid #fff;
    width: 70%;
    padding: 4vw 0;
    font-size: 5.3333333333vw;
    line-height: 1;
  }

  .l-menu {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5.3333333333vw 3.2vw;
    transition: .3s;
  }

  .l-menu .obj {
    display: block;
    position: relative;
    width: 7.2vw;
    height: 2.6666666667vw;
  }

  .l-menu .line {
    display: block;
    position: absolute;
    left: 50%;
    translate: -50% 0;
    width: 100%;
    height: .5333333333vw;
    background: #fff;
    transition: .3s;
  }

  .l-menu .line:nth-child(1) {
    top: 0;
  }

  .l-menu .line:nth-child(2) {
    bottom: 0;
  }

  .l-menu.is-open {
    background: rgba(0,0,0,0);
  }

  .l-menu.is-open .line:nth-child(1) {
    rotate: 45deg;
    top: 1.0666666667vw;
  }

  .l-menu.is-open .line:nth-child(2) {
    rotate: -45deg;
    bottom: 1.0666666667vw;
  }

  .l-footer-inner {
    width: 90%;
    padding: 10.6666666667vw 0 4vw;
  }

  .l-footer-top {
    flex-direction: column;
  }

  .l-footer-logo {
    width: 34.6666666667vw;
  }

  .l-footer-info {
    text-align: center;
  }

  .l-footer-info-name {
    font-size: 4.2666666667vw;
  }

  .l-footer-info-address {
    font-size: 3.7333333333vw;
    margin-top: 5.3333333333vw;
  }

  .l-footer-info-tel {
    font-size: 3.7333333333vw;
  }

  .l-footer-group {
    flex-direction: column;
    margin-top: 8vw;
  }

  .l-footer-group-items>a {
    gap: 1.3333333333vw;
  }

  .l-footer-group-items .tit {
    font-size: 4.2666666667vw;
  }

  .l-footer-group-items .txt {
    font-size: 3.7333333333vw;
  }

  .l-footer-btm {
    margin-top: 10.6666666667vw;
    flex-direction: column;
  }

  .l-footer-link {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4vw;
  }

  .l-footer-link-items {
    font-size: 3.7333333333vw;
    font-weight: 200;
  }

  .l-footer-link-items:not(:first-child)::after {
    width: .0732064422vw;
    left: -1.8666666667vw;
  }

  .l-footer-copy {
    margin-top: 13.3333333333vw;
    font-size: 3.2vw;
    font-weight: 300;
  }

  .c-buttonStyle1::after {
    border: .5333333333vw solid #24407f;
    border-radius: 8vw;
  }

  .c-buttonStyle1 {
    width: 40vw;
    height: 13.3333333333vw;
    border-radius: 8vw;
  }

  .c-buttonStyle1.-colorChange::after {
    border: .5333333333vw solid #fff;
  }

  .c-buttonStyle1 .en,
  .c-buttonStyle1 .ja {
    font-size: 5.0666666667vw;
    padding-left: 8vw;
  }

  .c-buttonStyle1 .icon {
    right: 4.8vw;
    width: 3.4666666667vw;
    height: 2.9333333333vw;
  }

  input,
  select,
  textarea {
    font-size: 4.2666666667vw;
    height: 13.3333333333vw;
    padding: 1.0666666667vw 4vw;
  }

  input[type=checkbox]+.input_checkbox {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    border-radius: 1.0666666667vw;
    margin-right: 2.6666666667vw;
  }

  input[type=checkbox]:checked+.input_checkbox:after,
  input[type=checkbox]:checked+.input_checkbox:before {
    height: .8vw;
    border-radius: .5333333333vw;
  }

  input[type=radio]+.input_radio {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-right: 1.3333333333vw;
  }

  input[type=radio]:checked+.input_radio::after {
    width: 3.2vw;
    height: 3.2vw;
  }

  textarea {
    height: 61.8666666667vw;
    padding: 4vw 4vw;
  }

  .myError:not(input,select,textarea) {
    font-size: 3.4666666667vw;
    margin-top: 1.6vw;
  }

  .selectBox:before {
    top: calc(50% - 1.3333333333vw);
    right: 3.2vw;
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    border-left-width: .2666666667vw;
    border-bottom-width: .2666666667vw;
  }

  .selectBox.birthyear {
    width: 26.6666666667vw;
  }

  .selectBox.birthmonth,
  .selectBox.birthdate,
  .selectBox.age {
    width: 21.3333333333vw;
  }

  .selectBox.prefecture {
    width: 48vw;
  }

  .post {
    width: 32vw;
  }

  .contact {
    padding: 13.8666666667vw 0 17.0666666667vw;
  }

  .contact.-check dd {
    font-size: 4.2666666667vw;
    padding: 2.6666666667vw 4.2666666667vw;
  }

  .contact .require {
    font-size: 3.4666666667vw;
    padding-left: .8vw;
  }

  .contact__txt {
    font-size: 3.7333333333vw;
  }

  .contact__box {
    border-radius: 2.6666666667vw;
  }

  .contact__tit span {
    font-size: 5.3333333333vw;
    padding-bottom: 2.6666666667vw;
  }

  .contact__tit span::after {
    width: 21.3333333333vw;
  }

  .contact__item dl:nth-child(n+2) {
    margin-top: 6.4vw;
  }

  .contact__item dl dt {
    font-size: 3.7333333333vw;
  }

  .contact__item dl dd {
    margin-top: 2.6666666667vw;
  }

  .contact__item dl dd .subtit {
    width: 100%;
  }

  .contact__item dl dd .comment {
    font-size: 3.2vw;
  }

  .contact__item dl dd .name,
  .contact__item dl dd .furigana,
  .contact__item dl dd .post,
  .contact__item dl dd .birth,
  .contact__item dl dd .age,
  .contact__item dl dd .sex,
  .contact__item dl dd .addr {
    gap: 2.6666666667vw;
  }

  .contact__item dl dd .name,
  .contact__item dl dd .furigana {
    flex-direction: column;
  }

  .contact__item dl dd .addr {
    display: block;
  }

  .contact__btm {
    margin-top: 12.8vw;
  }

  .contact__btm form {
    flex-direction: column;
    gap: 6.6666666667vw 0;
  }

  .contact__privacy--tit {
    font-size: 4.2666666667vw;
  }

  .contact__privacyBox--txt {
    margin-top: 4.2666666667vw;
    font-size: 3.2vw;
  }

  .contact__agreeBox {
    margin-top: 3.2vw;
  }

  .contact__btn {
    width: 56.2666666667vw;
    margin: 10.6666666667vw auto 0;
  }

  .c-headingStyle1 .en {
    font-size: 11.4666666667vw;
    margin-top: 2.6666666667vw;
  }

  .c-headingStyle1 .ja {
    font-size: 3.2vw;
  }

  .c-headingStyle1.-layoutChange .en {
    font-size: 4.8vw;
  }

  .c-headingStyle1.-layoutChange .ja {
    font-size: 8.5333333333vw;
    margin-top: .8vw;
  }

  .c-headingStyle2 {
    font-size: 4.8vw;
    padding-bottom: 4.8vw;
  }

  .c-headingStyle2::after {
    width: 11.7333333333vw;
    height: .5333333333vw;
  }

  .c-headingStyle3 {
    padding-top: 6.1333333333vw;
  }

  .c-headingStyle3::before {
    width: 6.6666666667vw;
    height: .5333333333vw;
  }

  .c-headingStyle3 .en {
    font-size: 3.4666666667vw;
  }

  .c-headingStyle3 .ja {
    font-size: 5.8666666667vw;
    margin-top: 4vw;
  }

  .c-rhombus {
    top: -10.6666666667vw;
  }

  .c-rhombus-items {
    width: 71.7333333333vw;
    height: 38.1333333333vw;
  }

  .c-rhombus-items._01 {
    left: calc(50% - 88vw);
  }

  .c-rhombus-items._02 {
    top: 38.1333333333vw;
    left: calc(50% - 88vw);
  }

  .c-rhombus-items._03 {
    bottom: -13.3333333333vw;
    left: calc(50% - 88vw);
  }

  .c-rhombus-items._04 {
    top: 74.6666666667vw;
    left: calc(50% - 88vw);
  }

  .c-rhombus-items._05 {
    top: 19.2vw;
    left: 50%;
  }

  .c-rhombus-items._06 {
    top: 57.3333333333vw;
    left: 50%;
  }

  .c-rhombus-items._07 {
    bottom: 53.3333333333vw;
    left: calc(50% + 32vw);
  }

  .c-rhombus-items._08 {
    bottom: -13.3333333333vw;
    left: calc(50% + 8vw);
  }

  .c-rhombus-items._09 {
    display: none;
  }

  .c-rhombus-items._10 {
    display: none;
  }

  .c-mainv {
    padding: 25.6vw 0 19.2vw;
  }

  .c-mainv-tit .en {
    font-size: 11.7333333333vw;
    margin-top: 2.6666666667vw;
  }

  .c-mainv-tit .ja {
    font-size: 3.2vw;
  }

  .c-mainv-img {
    margin-top: 11.4666666667vw;
    height: 67.4666666667vw;
  }

  #about .secPhilosophy-txt {
    margin-top: 13.3333333333vw;
    width: 100%;
  }

  #about .secPhilosophy-list {
    margin-top: 24.2666666667vw;
    padding-left: 4%;
    width: 280%;
  }

  #about .secGuidelines {
    padding: 28vw 0 26.6666666667vw;
  }

  #about .secGuidelines-box {
    padding: 13.3333333333vw 8.5333333333vw;
    border-radius: 4vw;
  }

  #about .secGuidelines-box:first-of-type {
    margin-top: 12vw;
  }

  #about .secGuidelines-box:not(:first-of-type) {
    margin-top: 6.6666666667vw;
  }

  #about .secGuidelines-list {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2.6666666667vw;
    margin-top: 8vw;
  }

  #about .secGuidelines-items {
    width: 100%;
    border-radius: 4vw;
    padding: 8.2666666667vw 0 6.1333333333vw;
    gap: 2.6666666667vw;
  }

  #about .secGuidelines-icon._01 {
    width: 17.0666666667vw;
  }

  #about .secGuidelines-icon._02 {
    width: 23.4666666667vw;
  }

  #about .secGuidelines-icon._03 {
    width: 23.2vw;
  }

  #about .secGuidelines-icon._04 {
    width: 24.8vw;
  }

  #about .secGuidelines-icon._05 {
    width: 26.4vw;
  }

  #about .secGuidelines-img {
    margin-top: 7.2vw;
  }

  #about .secGuidelines-action-list {
    display: flex;
    flex-direction: column;
    gap: 9.6vw;
    margin-top: 13.3333333333vw;
  }

  #about .secGuidelines-action-list::after {
    display: none;
  }

  #about .secGuidelines-action-items {
    width: 68.2666666667vw;
    height: 68.2666666667vw;
  }

  #about .secGuidelines-action-items::after {
    width: 110%;
    height: 110%;
  }

  #about .secGuidelines-action-items:nth-child(2) {
    top: 0;
    left: 0;
  }

  #about .secGuidelines-action-items:nth-child(3) {
    top: 0;
    right: 0;
  }

  #about .secGuidelines-action-items:nth-child(4) {
    top: 0;
  }

  #about .secGuidelines-action-tit {
    font-size: 5.8666666667vw;
  }

  #about .secGuidelines-action-txt {
    font-size: 3.7333333333vw;
    margin-top: 5.3333333333vw;
  }

  #about .secMessage {
    padding: 18.6666666667vw 0 25.6vw;
  }

  #about .secMessage-img {
    width: 69.8666666667vw;
    border-radius: 4vw;
  }

  #about .secMessage-txt1 {
    font-size: 6.9333333333vw;
    margin: 0 0 14.6666666667vw;
  }

  #about .secMessage-txt2 {
    font-size: 4vw;
    line-height: 1.9333333333;
    margin-top: 12vw;
  }

  #about .secMessage-sign {
    font-size: 3.4666666667vw;
    margin-top: 13.3333333333vw;
  }

  #about .secMessage-sign .name {
    width: 33.6vw;
    margin-top: 3.2vw;
  }

  #about .secHistory {
    padding: 22.6666666667vw 0 46.6666666667vw;
  }

  #about .secHistory-box {
    margin-top: 12vw;
  }

  #about .secHistory-timeline {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    align-items: flex-start;
    font-size: 4vw;
    padding: 6.1333333333vw 0;
    gap: 1.3333333333vw;
  }

  #about .secHistory-timeline::before,
  #about .secHistory-timeline::after {
    height: .2666666667vw;
  }

  #about .secHistory-timeline::before {
    width: 19.2vw;
  }

  #business .secCompany-nav {
    top: auto;
    bottom: 8vw;
    right: 5.3333333333vw;
    padding: 0;
  }

  #business .secCompany-nav-toggle {
    position: relative;
    font-size: 3.7333333333vw;
    margin-top: 10.6666666667vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 56vw;
    -webkit-filter: drop-shadow(3px 8px 8px rgba(20, 44, 96, 0.44));
    filter: drop-shadow(3px 8px 8px rgba(20, 44, 96, 0.44));
  }

  #business .secCompany-nav-toggle::before,
  #business .secCompany-nav-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    transition: .3s;
  }

  #business .secCompany-nav-toggle::before {
    translate: 0 -50%;
    background: #ff9c00;
    border-radius: 100vmax;
    left: -5.3333333333vw;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }

  #business .secCompany-nav-toggle::after {
    left: -8.5333333333vw;
    translate: 0 -50%;
    width: 66.6666666667vw;
    height: 13.3333333333vw;
    background: #fff;
    border-radius: 6.6666666667vw;
    z-index: -1;
  }

  #business .secCompany-nav-toggle-icon {
    position: absolute;
    top: 50%;
    right: 1.3333333333vw;
    translate: 0 -50%;
    width: 3.2vw;
    height: 1.6vw;
    transition: .3s;
  }

  #business .secCompany-nav-list {
    position: relative;
    gap: 4vw;
    -webkit-filter: drop-shadow(3px 8px 8px rgba(20, 44, 96, 0.44));
    filter: drop-shadow(3px 8px 8px rgba(20, 44, 96, 0.44));
  }

  #business .secCompany-nav-list::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -8.5333333333vw;
    translate: 0 -50%;
    width: 66.6666666667vw;
    height: 110%;
    background: #fff;
    border-radius: 6.1333333333vw;
    z-index: -1;
  }

  #business .secCompany-nav-link {
    font-size: 3.7333333333vw;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 56vw;
  }

  #business .secCompany-nav-link::before {
    display: none;
  }

  #business .secCompany-nav-link::after {
    display: none;
  }

  #business .secCompany-box {
    padding: 13.3333333333vw 4vw;
    border-radius: 4vw;
  }

  #business .secCompany-box:nth-of-type(n+2) {
    margin-top: 8vw;
  }

  #business .secCompany-tit:not(:has(.en)) .ja {
    margin-top: 0;
  }

  #business .secCompany-intro-tag {
    margin-top: 5.3333333333vw;
    gap: 2.6666666667vw;
  }

  #business .secCompany-intro-tag .label {
    font-size: 3.4666666667vw;
    padding: 1.3333333333vw 2.6666666667vw;
    border-width: .2666666667vw;
    border-radius: 2.1333333333vw;
  }

  #business .secCompany-intro-img {
    margin-top: 8vw;
  }

  #business .secCompany-intro-tit {
    font-size: 6.6666666667vw;
    margin-top: 5.3333333333vw;
  }

  #business .secCompany-intro-txt {
    font-size: 4vw;
    margin-top: 2.6666666667vw;
  }

  #business .secCompany-work {
    margin-top: 16vw;
  }

  #business .secCompany-work-list {
    margin-top: 12vw;
  }

  #business .secCompany-work-items {
    -ms-grid-columns: 16vw 1fr;
    grid-template-columns: 16vw 1fr;
    border-width: .2666666667vw;
    padding-bottom: 8vw;
  }

  #business .secCompany-work-items:nth-child(n+2) {
    margin-top: 8vw;
  }

  #business .secCompany-work-step {
    width: 12vw;
    height: 12vw;
    font-size: 5.3333333333vw;
    border-width: .2666666667vw;
  }

  #business .secCompany-work-tit {
    font-size: 5.3333333333vw;
    line-height: 1.45;
  }

  #business .secCompany-work-txt {
    font-size: 4vw;
    line-height: 1.6666666667;
    margin-top: 2.6666666667vw;
  }

  #business .secCompany-btn {
    margin-top: 10.6666666667vw;
  }

  #business .secCompany-btn>a {
    padding: 5.3333333333vw 8vw;
    border-radius: 4vw;
    gap: 2.6666666667vw;
  }

  #business .secCompany-btn>a .txt {
    font-size: 4.2666666667vw;
  }

  #business .secCompany-btn>a .icon {
    width: 4vw;
  }

  #page_contact .secContact {
    padding: 26.6666666667vw 0;
  }

  #page_contact .secContact dl {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
  }

  #page_contact .secContact dl dt {
    padding: 0;
  }

  #page_contact .secContact dd {
    width: 100%;
  }

  #page_contact .secContact__tit {
    width: 50.6666666667vw;
  }

  #page_contact .secContact__txt {
    font-size: 4vw;
  }

  #index .secHero-head {
    bottom: 13.3333333333vw;
    left: 6.9333333333vw;
  }

  #index .secHero-tit {
    font-size: 17.3333333333vw;
  }

  #index .secHero-txt {
    font-size: 5.8666666667vw;
    margin-top: 2.4vw;
  }

  #index .secAbout {
    padding: 22.1333333333vw 4% 26.4vw;
  }

  #index .secAbout-txt {
    font-size: 4.8vw;
    -moz-text-align-last: left;
    text-align-last: left;
  }

  #index .secAbout-btn {
    margin-top: 8.8vw;
    text-align: right;
  }

  #index .secBusiness {
    padding: 19.2vw 0 21.3333333333vw;
  }

  #index .secBusiness-txt {
    font-size: 4vw;
    margin-top: 5.6vw;
    width: 100%;
  }

  #index .secBusiness-btn {
    margin-top: 9.3333333333vw;
    text-align: right;
  }

  #index .secBusiness-img {
    position: static;
    width: 120%;
    margin-top: 13.3333333333vw;
    margin-left: -10%;
  }

  #index .secBusiness-clients-wrapper {
    display: flex;
    align-items: center;
    width: 600%;
  }

  #index .secBusiness-clients-list {
    -webkit-animation: scrollAnimation 10s linear infinite;
    animation: scrollAnimation 10s linear infinite;
    margin-top: 10.6666666667vw;
  }

  #index .secBusiness-clients-list:nth-of-type(2) {
    display: -ms-grid;
    display: grid;
  }

  #index .secBusiness-clients-txt {
    font-size: 3.2vw;
    margin-right: 0;
    margin-top: 2.6666666667vw;
  }

  #index .secRecruit {
    padding: 65.6vw 0 36.8vw;
  }

  #index .secRecruit-img {
    width: 100%;
  }

  #index .secRecruit-inner {
    margin-left: 0;
  }

  #index .secRecruit-tit {
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  #index .secRecruit-txt {
    font-size: 4vw;
    margin-top: 5.3333333333vw;
    line-height: 1.6666666667;
  }

  #index .secRecruit-btn {
    margin-top: 9.3333333333vw;
    text-align: right;
  }

  #index .secData {
    padding-bottom: 25.3333333333vw;
  }

  #index .secData-txt {
    font-size: 4vw;
    margin-top: 4.8vw;
  }

  #index .secData-btn {
    margin-top: 9.3333333333vw;
    text-align: right;
  }

  #index .secData-img {
    position: static;
    width: 100%;
    translate: 0;
    margin-bottom: 5.3333333333vw;
  }

  #privacy .secPrivacy__table {
    padding: 2.6666666667vw 0 24vw;
  }

  #privacy .secPrivacy__table dl {
    padding-bottom: 6.6666666667vw;
    border-width: .2666666667vw;
  }

  #privacy .secPrivacy__table dl:nth-child(n+2) {
    margin-top: 6.6666666667vw;
  }

  #privacy .secPrivacy__table dl dt {
    font-size: 4.8vw;
  }

  #privacy .secPrivacy__table dl dd {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }

  #recruit .secJobInformation-sort {
    -ms-grid-columns: 1fr 2.6666666667vw 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.6666666667vw;
  }

  #recruit .secJobInformation-sort-items {
    font-size: 3.7333333333vw;
    padding: 0;
    border-radius: 2.6666666667vw;
    min-height: 14.6666666667vw;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.4285714286;
  }

  #recruit .secJobInformation-subtit {
    font-size: 4vw;
  }

  #recruit .secJobInformation-slide {
    margin-top: 10.6666666667vw;
  }

  #recruit .secJobInformation-list {
    display: flex;
  }

  #recruit .secJobInformation-items {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    padding: 4.8vw;
    gap: 5.3333333333vw;
  }

  #recruit .secJobInformation-items:nth-of-type(n+2) {
    margin-top: 0;
  }

  #recruit .secJobInformation-items-content {
    -ms-grid-row-span: 3;
    grid-row: span 3;
    display: contents;
  }

  #recruit .secJobInformation-items-img {
    border-radius: .8vw;
    -ms-grid-row: 1;
    grid-row: 1/1;
  }

  #recruit .secJobInformation-items-labellist {
    gap: 1.3333333333vw;
  }

  #recruit .secJobInformation-items-label {
    font-size: 3.2vw;
    padding: 2.1333333333vw 3.2vw;
    border-radius: .8vw;
  }

  #recruit .secJobInformation-items-name {
    font-size: 3.4666666667vw;
    margin-bottom: 1.3333333333vw;
  }

  #recruit .secJobInformation-items-tit {
    font-size: 4.5333333333vw;
    line-height: 1.4705882353;
  }

  #recruit .secJobInformation-items-txt {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }

  #recruit .secJobInformation-items-taglist {
    max-width: 100%;
    gap: 1.3333333333vw;
  }

  #recruit .secJobInformation-items-tag {
    font-size: 3.2vw;
    padding: 1.3333333333vw 2.6666666667vw;
    border-radius: 4vw;
  }

  #recruit .secJobInformation-items-local {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }

  #recruit .secJobInformation-items-btn {
    position: static;
  }

  #recruit .secJobInformation-items-btn .c-buttonStyle1 {
    width: 100%;
    height: 16vw;
    border-radius: .8vw;
  }

  #recruit .secJobInformation-items-btn .c-buttonStyle1 .txt {
    font-size: 4.2666666667vw;
  }

  #recruit .secJobInformation-items-btn .c-buttonStyle1 .icon {
    width: 3.2vw;
    height: 3.2vw;
    right: 5.3333333333vw;
  }

  #recruit .secJobInformation .swiper-button-next,
  #recruit .secJobInformation .swiper-button-prev {
    display: block;
    width: 12vw;
    height: 12vw;
    top: -17.3333333333vw;
  }

  #recruit .secJobInformation .swiper-button-next::after,
  #recruit .secJobInformation .swiper-button-prev::after {
    width: 2.1333333333vw;
    height: 4.2666666667vw;
  }

  #recruit .secJobInformation .swiper-button-next {
    right: 5%;
  }

  #recruit .secJobInformation .swiper-button-prev {
    right: 20vw;
  }
}

@media (min-width: 768px)and (max-width: 1365.98px) {
  .u-hidden-md {
    display: none !important;
    visibility: hidden;
  }
}

@media print {
  *,
  *::before,
  *::after {
    background: rgba(0,0,0,0) !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

@media (any-hover: hover) {
  .l-nav-item.-contact>a:hover {
    opacity: .7;
  }

  .l-footer-group-items>a:hover {
    opacity: .7;
  }

  .l-footer-link-items>a:hover {
    opacity: .7;
  }

  .c-hoverStyle1:hover::after {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  .c-buttonStyle1:hover {
    background: linear-gradient(120deg, rgb(72, 140, 178) 0%, rgb(30, 39, 157) 100%);
  }

  .c-buttonStyle1:hover::after {
    border: 2px solid rgba(0,0,0,0);
  }

  .c-buttonStyle1:hover.-colorChange {
    background: #fff;
  }

  .c-buttonStyle1:hover.-colorChange .en,
  .c-buttonStyle1:hover.-colorChange .ja {
    color: #24407f;
  }

  .c-buttonStyle1:hover .en,
  .c-buttonStyle1:hover .ja {
    color: #fff;
  }

  .contact__btn .c-buttonStyle1.-gray:hover {
    background: #fff;
  }

  .contact__btn .c-buttonStyle1.-gray:hover::after {
    border-color: #bdbdbd;
  }

  .contact__btn .c-buttonStyle1.-gray:hover .ja {
    color: #bdbdbd;
  }

  .contact__btn .c-buttonStyle1:hover::after {
    border-color: #24407f;
  }

  #business .secCompany-btn>a:hover {
    opacity: .7;
  }

  #recruit .secJobInformation-items-btn .c-buttonStyle1:hover {
    opacity: .7;
  }

  #recruit .secJobInformation .swiper-button-next:hover,
  #recruit .secJobInformation .swiper-button-prev:hover {
    background: #121212;
  }

  #recruit .secJobInformation .swiper-button-next:hover::after,
  #recruit .secJobInformation .swiper-button-prev:hover::after {
    background: url(/assets/img/recruit/recruit_slide_icon_white.svg) no-repeat center/cover;
  }
}
/*# sourceMappingURL=styles.css.map */