@charset "UTF-8";
/* ホバー可能なデバイスでのみ適用される */
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDGothic&family=Kantumruy+Pro:ital,wght@0,100..700;1,100..700&family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css");
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap");
@media (any-hover: hover) {
  .hoverLinkGood:hover {
    color: orangered;
  }
}
/* =======================
VARIABLES
* ======================= */
/* colors */
/* breakpoints */
/* =======================
 * Functions CLASS
 * ======================= */
/* ==========================================
   Modern CSS Reset
========================================== */
/* Box sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  font-family: "BIZ UDPGothic", sans-serif;
}
@media screen and (max-width: 767px) {
  body.home {
    padding-top: 0;
  }
}

img,
picture,
video,
canvas,
svg {
  display: block;
  width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

textarea {
  resize: vertical;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

ul[role=list],
ol[role=list] {
  list-style: none;
  padding: 0;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  cursor: pointer;
  background: none;
  border: none;
}

[hidden] {
  display: none !important;
}

#root,
#__next {
  isolation: isolate;
}

/*-----------------------------------------------
PC/SP
------------------------------------------------*/
.pcDb {
  display: block;
}

.pcDib {
  display: inline-block;
}

.pcDin {
  display: inline;
}

.pcDf {
  display: flex;
}

.pcDt {
  display: table;
}

.pcDtc {
  display: table-cell;
}

.spDb,
.spDib,
.spDin,
.spDf,
.spDt,
.spDtc {
  display: none;
}

@media screen and (max-width: 767px) {
  .pcDb,
  .pcDib,
  .pcDin,
  .pcDf,
  .pcDt,
  .pcDtc {
    display: none;
  }
  .spDb {
    display: block;
  }
  .spDib {
    display: inline-block;
  }
  .spDin {
    display: inline;
  }
  .spDf {
    display: flex;
  }
  .spDt {
    display: table;
  }
  .spDtc {
    display: table-cell;
  }
}
.breadcrumbs {
  margin: 10px auto 0;
  padding: 0 100px;
  width: 100%;
}
.breadcrumbs * {
  font-family: "BIZ UDPGothic", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.03em;
  color: #A1A1A1;
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
  .breadcrumbs {
    margin: 0.78125vw auto 0;
    padding: 0 7.8125vw;
    width: 100%;
  }
  .breadcrumbs * {
    font-family: "BIZ UDPGothic", sans-serif;
    font-size: 0.9375vw;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.03em;
    color: #A1A1A1;
  }
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    margin: 1.2820512821vw auto 0;
    padding: 0 5.1282051282vw;
    width: 100%;
  }
  .breadcrumbs * {
    font-family: "BIZ UDPGothic", sans-serif;
    font-size: 2.8205128205vw;
    letter-spacing: 0;
  }
}
.btnV1 {
  width: 179px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  width: 179px;
  cursor: pointer;
}
.btnV1.fixed {
  width: 179px;
}
.btnV1.fixed .btnV1__text {
  margin-right: 4px;
  padding: 10px 14px;
  height: 40px;
  font-size: 14px;
  border: 1px solid #004470;
  border-radius: 4px;
}
.btnV1.fixed .btnV1__arrow {
  width: 40px;
  height: 40px;
  border-radius: 2px;
}
.btnV1.fixed .btnV1__arrow:after {
  width: 5px;
  height: 10px;
}
.btnV1.contactFormBtn {
  width: 277px;
}
.btnV1.contactFormBtn .btnV1__text {
  width: 219px;
}
.btnV1.contactFormBtn .btnV1__arrow:after {
  width: 7px;
  height: 12px;
}
.btnV1__text {
  margin-right: 4px;
  padding: 10px 14px;
  width: 135px;
  height: 40px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-family: "BIZ UDPGothic", sans-serif;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.07em;
  line-height: 1.9;
  color: #004470;
  border: 1px solid #004470;
  background-color: #ffffff;
  border-radius: 4px;
  overflow: hidden;
}
.btnV1__arrow {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 40px;
  height: 40px;
  background-color: #004470;
  border-radius: 2px;
  overflow: hidden;
}
.btnV1__arrow:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, rgb(19, 96, 163) 0%, rgb(79, 198, 245) 100%);
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.btnV1__arrow:after {
  margin: auto;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 5px;
  height: 10px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top left;
  background-image: url("./../images/common/btn/btn-arrow-v1.svg");
}
.btnV1:hover .btnV1__arrow:before {
  opacity: 0;
}

.btnV2 {
  width: 256px;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  flex-direction: row;
  background-color: #004470;
  transition: all 0.6s ease-in-out 0s;
  border-radius: 5px;
  padding: 5px 16px;
  position: relative;
  overflow: hidden;
}
.btnV2.returnBtn {
  background-color: #464646;
}
.btnV2:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(227.36deg, #4FC6F5 23.35%, #1360A3 86.72%);
  opacity: 0;
  transition: all 0.6s ease-in-out 0s;
}
.btnV2:hover:after {
  opacity: 1;
}
.btnV2__text {
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.004em;
  line-height: 2;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .btnV2__text {
    font-size: 12px;
  }
}
.btnV2__text {
  position: relative;
  z-index: 2;
}

/*-----------------------------------------------
Btns PC Breakpoint
------------------------------------------------*/
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .btnV1 {
    width: auto;
    width: 13.984375vw;
  }
  .btnV1.fixed {
    width: auto;
  }
  .btnV1.fixed .btnV1__text {
    margin-right: 0.3125vw;
    padding: 0.78125vw 1.09375vw;
    height: 3.125vw;
    font-size: 1.09375vw;
    border: 0.078125vw solid #004470;
    border-radius: 0.3125vw;
  }
  .btnV1.fixed .btnV1__arrow {
    width: 3.125vw;
    height: 3.125vw;
    border-radius: 0.15625vw;
  }
  .btnV1.fixed .btnV1__arrow:after {
    width: 0.390625vw;
    height: 0.78125vw;
  }
  .btnV1.contactFormBtn {
    width: 21.640625vw;
  }
  .btnV1.contactFormBtn .btnV1__text {
    width: 17.109375vw;
  }
  .btnV1.contactFormBtn .btnV1__arrow:after {
    width: 0.546875vw;
    height: 0.9375vw;
  }
  .btnV1__text {
    margin-right: 0.3125vw;
    padding: 0.78125vw 1.09375vw;
    height: 3.125vw;
    font-size: 1.09375vw;
    border: 0.078125vw solid #004470;
    border-radius: 0.3125vw;
  }
  .btnV1__arrow {
    max-width: 3.125vw;
    height: 3.125vw;
    border-radius: 0.15625vw;
  }
  .btnV1__arrow:after {
    width: 0.390625vw;
    height: 0.78125vw;
  }
  .btnV2 {
    width: 20vw;
    min-height: 4.375vw;
    border-radius: 0.390625vw;
    padding: 0.390625vw 1.25vw;
  }
  .btnV2__text {
    font-size: 1.171875vw;
    font-weight: bold;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .btnV2__text {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .btnV1 {
    width: 51.2820512821vw;
  }
  .btnV1.fixed {
    width: 50.5128205128vw;
  }
  .btnV1.fixed .btnV1__text {
    margin-right: 1.0256410256vw;
    padding: 2.5641025641vw 3.5897435897vw;
    height: 10.2564102564vw;
    font-size: 3.5897435897vw;
    border: 0.2564102564vw solid #004470;
    border-radius: 1.0256410256vw;
  }
  .btnV1.fixed .btnV1__arrow {
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    border-radius: 0.5128205128vw;
  }
  .btnV1.fixed .btnV1__arrow:after {
    width: 1.2820512821vw;
    height: 2.5641025641vw;
  }
  .btnV1.contactFormBtn {
    padding: 0;
    width: 54.358974359vw;
  }
  .btnV1.contactFormBtn .btnV1__text {
    width: 43.0769230769vw;
  }
  .btnV1.contactFormBtn .btnV1__arrow:after {
    width: 1.7948717949vw;
    height: 3.0769230769vw;
  }
  .btnV1__text {
    margin-right: 1.0256410256vw;
    padding: 2.5641025641vw 3.5897435897vw;
    width: 34.6153846154vw;
    height: 10.2564102564vw;
    font-size: 3.5897435897vw;
    border-radius: 1.0256410256vw;
  }
  .btnV1__arrow {
    max-width: 10.2564102564vw;
    height: 10.2564102564vw;
    border-radius: 0.5128205128vw;
  }
  .btnV1__arrow:after {
    width: 1.2820512821vw;
    height: 2.5641025641vw;
  }
  .btnV2 {
    width: 65.641025641vw;
    min-height: 14.358974359vw;
    border-radius: 1.2820512821vw;
    padding: 1.2820512821vw 4.1025641026vw;
  }
  .btnV2__text {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .btnV2__text {
    font-size: 3.8461538462vw;
  }
}
.quickLinks__container {
  display: flex;
  justify-content: center;
  gap: 2.67px;
}
.quickLinks__item {
  width: 33.33%;
  position: relative;
  cursor: pointer;
  overflow: hidden;
  display: block;
}
.quickLinks__item:hover .quickLinks__itemArrow:before {
  opacity: 0;
}
.quickLinks__item:hover .quickLinks__itemImgWrapper {
  opacity: 0.8;
  transform: scale(1.05);
}
.quickLinks__itemImgWrapper {
  display: block;
  width: 100%;
  height: auto;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.quickLinks__itemText {
  margin: auto;
  padding: 10px 30px 10px 39px;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  color: #ffffff;
}
.quickLinks__itemText .en {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-family: "Kantumruy Pro", sans-serif;
  font-weight: bold;
  font-size: 38px;
  line-height: 0.78;
  letter-spacing: -0.03em;
}
.quickLinks__itemText .ja {
  margin: 12px 0 0 5px;
  display: block;
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: bold;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.04em;
}
.quickLinks__itemArrow {
  margin-left: 6px;
  display: inline-block;
  position: relative;
  width: 35px;
  height: 35px;
  background-color: #004470;
  border-radius: 4px;
  overflow: hidden;
}
.quickLinks__itemArrow:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, rgb(19, 96, 163) 0%, rgb(79, 198, 245) 100%);
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.quickLinks__itemArrow:after {
  margin: auto;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 7px;
  height: 12px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top left;
  background-image: url("./../images/common/btn/btn-arrow-v1.svg");
}

/*-----------------------------------------------
quicklinks PC Breakpoint
------------------------------------------------*/
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .quickLinks__container {
    display: flex;
    justify-content: space-between;
    gap: 0.20859375vw;
  }
  .quickLinks__item {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    display: block;
  }
  .quickLinks__item:hover .quickLinks__itemArrow:before {
    opacity: 0;
  }
  .quickLinks__item:hover .quickLinks__itemImgWrapper {
    opacity: 0.8;
    transform: scale(1.05);
  }
  .quickLinks__itemImgWrapper {
    display: block;
    width: 100%;
    height: auto;
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
  }
  .quickLinks__itemText {
    margin: auto;
    padding: 0.78125vw 2.34375vw 0.78125vw 3.046875vw;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    color: #ffffff;
  }
  .quickLinks__itemText .en {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    font-family: "Kantumruy Pro", sans-serif;
    font-weight: bold;
    font-size: 2.96875vw;
    line-height: 0.78;
    letter-spacing: -0.03em;
  }
  .quickLinks__itemText .ja {
    margin: 0.9375vw 0 0 0.390625vw;
    display: block;
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: bold;
    font-size: 1.171875vw;
    line-height: 2;
    letter-spacing: 0.04em;
  }
  .quickLinks__itemArrow {
    margin-left: 0.46875vw;
    display: inline-block;
    position: relative;
    width: 2.734375vw;
    height: 2.734375vw;
    background-color: #004470;
    border-radius: 0.3125vw;
    overflow: hidden;
  }
  .quickLinks__itemArrow:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, rgb(19, 96, 163) 0%, rgb(79, 198, 245) 100%);
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
  }
  .quickLinks__itemArrow:after {
    margin: auto;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 0.546875vw;
    height: 0.9375vw;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top left;
    background-image: url("./../images/common/btn/btn-arrow-v1.svg");
  }
}
@media screen and (max-width: 767px) {
  .quickLinks__container {
    flex-direction: column;
  }
  .quickLinks__item {
    width: 100%;
  }
  .quickLinks__item:not(:first-of-type) {
    margin-top: 0.7692307692vw;
  }
  .quickLinks__itemText {
    padding: 2.5641025641vw 7.1794871795vw 2.5641025641vw 9.2307692308vw;
  }
  .quickLinks__itemText .en {
    font-size: 8.7179487179vw;
    line-height: 0.78;
    letter-spacing: -0.03em;
  }
  .quickLinks__itemText .ja {
    margin: 2.5641025641vw 0 0 0.5128205128vw;
    display: block;
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: bold;
    font-size: 3.5897435897vw;
    line-height: 2;
    letter-spacing: 0.04em;
  }
  .quickLinks__itemArrow {
    margin-left: 1.5384615385vw;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    border-radius: 0.7692307692vw;
  }
  .quickLinks__itemArrow:after {
    width: 1.7948717949vw;
    height: 3.0769230769vw;
  }
}
.companyKv {
  width: 100%;
  background: linear-gradient(200deg, #4FC6F5 0%, #1360A3 100%);
  min-height: 380px;
}
.companyKv__container {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  flex-wrap: nowrap;
  flex-direction: row;
}
.companyKv__imgWrapper {
  width: 744px;
}
.companyKv__titleWrapper {
  position: absolute;
  top: 0;
  right: auto;
  left: 0;
  bottom: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.companyKv__title {
  margin-top: 30px;
  padding-left: 95px;
  width: 100%;
}
.companyKv__title .en {
  display: block;
  font-family: "Kantumruy Pro", sans-serif;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 64px;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #ffffff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.companyKv__title .ja {
  margin-left: 5px;
  display: block;
  font-family: "BIZ UDPGothic", sans-serif;
  font-size: 15px;
  letter-spacing: 0.07em;
  line-height: 1.9;
  color: #ffffff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.companyIntr {
  margin: 69.81px auto 109.81px;
  width: 100%;
}
.companyIntr__container {
  margin: auto;
  width: 1040px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 98px;
}
.companyIntr__thumb {
  width: 300px;
}
.companyIntr__details {
  width: 642px;
}
.companyIntr__details h2 {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1.9;
  color: #004470;
}
@media screen and (max-width: 767px) {
  .companyIntr__details h2 {
    font-size: 12px;
  }
}
.companyIntr__details h3 {
  margin-top: 5px;
  font-family: "Kantumruy Pro", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.003em;
  line-height: 1;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyIntr__details h3 {
    font-size: 12px;
  }
}
.companyIntr__details h3 {
  background: linear-gradient(86deg, #1360A3 0%, #4FC6F5 15%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-transform: uppercase;
}
.companyIntr__details p {
  margin-top: 45px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.004em;
  line-height: 2;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .companyIntr__details p {
    font-size: 12px;
  }
}

.companyPhilsophy {
  margin: 69.81px auto 129px;
  width: 100%;
  background: linear-gradient(225deg, #4FC6F5 0%, #1360A3 69%);
  position: relative;
}
.companyPhilsophy:after {
  content: "";
  position: absolute;
  top: 0;
  left: 71.56px;
  width: 117px;
  height: 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/page/company/slogan-bg-effect.webp);
}
.companyPhilsophy__container {
  margin: auto;
  padding: 99px 0 83.26px;
  width: 740px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  flex-direction: column;
  gap: 96.33px;
  text-align: center;
}
.companyPhilsophy__details {
  width: 100%;
}
.companyPhilsophy__details h2 {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1.9;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyPhilsophy__details h2 {
    font-size: 12px;
  }
}
.companyPhilsophy__details h3 {
  margin-top: 5px;
  font-family: "Kantumruy Pro", sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.003em;
  line-height: 1;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyPhilsophy__details h3 {
    font-size: 12px;
  }
}
.companyPhilsophy__details h3 {
  text-transform: uppercase;
}
.companyPhilsophy__details p {
  margin-top: 40px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.004em;
  line-height: 2;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyPhilsophy__details p {
    font-size: 12px;
  }
}

.companyProfile__container {
  margin: auto;
  padding: 0 0 143.73px;
  width: 1040px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 124px;
}
.companyProfile__heading {
  width: 175px;
}
.companyProfile__heading h2 {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1.9;
  color: #004470;
}
@media screen and (max-width: 767px) {
  .companyProfile__heading h2 {
    font-size: 12px;
  }
}
.companyProfile__heading h3 {
  margin-top: 5px;
  font-family: "Kantumruy Pro", sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyProfile__heading h3 {
    font-size: 12px;
  }
}
.companyProfile__heading h3 {
  background: linear-gradient(86deg, #1360A3 0%, #4FC6F5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-transform: uppercase;
}
.companyProfile__details {
  width: 741px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: column;
}
.companyProfile__itemBlock {
  padding: 20px 0;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
  border-top: 1px solid #2782BE;
}
.companyProfile__itemBlock:last-child {
  border-bottom: 1px solid #2782BE;
}
.companyProfile__itemBlock p {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.004em;
  line-height: 2;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .companyProfile__itemBlock p {
    font-size: 12px;
  }
}
.companyProfile__itemBlock p:nth-child(odd) {
  width: 132px;
}
.companyProfile__itemBlock p:nth-child(even) {
  padding-left: 47px;
  width: calc(100% - 132px);
}

.companyHistory {
  background: linear-gradient(to bottom, #1360A3 0%, #4FC6F5 33%, #1360A3 84%);
}
.companyHistory__container {
  margin: auto;
  padding: 71px 0 0;
  width: 1040px;
}
.companyHistory__heading {
  width: 100%;
  text-align: center;
}
.companyHistory__heading h2 {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1.9;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyHistory__heading h2 {
    font-size: 12px;
  }
}
.companyHistory__heading h3 {
  margin-top: 5px;
  font-family: "Kantumruy Pro", sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.003em;
  line-height: 1;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyHistory__heading h3 {
    font-size: 12px;
  }
}
.companyHistory__timelines {
  margin: 73.19px auto 0;
  padding-bottom: 101.8px;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: column;
  gap: 20px;
  position: relative;
}
.companyHistory__timelinesProgressLine {
  position: absolute;
  top: 23.17px;
  left: 10px;
  width: 2px;
  height: 100%;
  background-color: #ffffff;
}
.companyHistory__timelineBlock {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 17.86px;
  position: relative;
}
.companyHistory__timelineBlock:after {
  content: "";
  position: absolute;
  top: 22px;
  left: 3px;
  width: 16px;
  height: 16px;
  transform: rotate(-45deg);
  background-color: #ffffff;
}
.companyHistory__timelineBlock.is-open .companyHistory__timelineToggleIndicator:after {
  transform: translate(-50%, -50%) rotate(-90deg);
}
.companyHistory__timelineHeading {
  padding-left: 38px;
  width: 228px;
}
.companyHistory__timelineHeading h2 {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1.9;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineHeading h2 {
    font-size: 12px;
  }
}
.companyHistory__timelineHeading h3 {
  margin-top: 8px;
  font-family: "Kantumruy Pro", sans-serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.003em;
  line-height: 1;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineHeading h3 {
    font-size: 12px;
  }
}
.companyHistory__timelineHeading h3 span {
  font-size: 14px;
}
.companyHistory__timelineItemsBlock {
  width: 794px;
  display: block;
  padding: 24.83px 40.84px 43.34px 73.58px;
  border-radius: 5px;
  background-color: #ffffff;
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
}
.companyHistory__timelineItems {
  display: none;
  position: relative;
  width: 100%;
}
.companyHistory__timelineTtl {
  position: absolute;
  top: 25px;
  left: 83.44px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.004em;
  line-height: 1.7;
  color: #2d2d2d;
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineTtl {
    font-size: 12px;
  }
}
.companyHistory__timelineToggleIndicator {
  cursor: pointer;
  position: absolute;
  top: 26.3px;
  left: 22.69px;
  width: 20px;
  height: 20px;
  background-color: #d6d6d6;
  border-radius: 5px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  flex-direction: row;
  transition: all 0.6s ease-in-out 0s;
}
.companyHistory__timelineToggleIndicator:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  width: 5.5px;
  height: 11px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/common/icon-arrow-right-blue.svg);
  transition: all 0.6s ease-in-out 0s;
}
.companyHistory__timelineItem {
  padding: 10px 17.91px 10px 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 30px;
  border-bottom: 1px solid #d6d6d6;
}
.companyHistory__timelineItem:first-child {
  padding-top: 0;
}
.companyHistory__timelineItem.with--image {
  padding-bottom: 15px;
}
.companyHistory__timelineItem.with--image .companyHistory__timelineItemDetails {
  flex-direction: column;
  gap: 0;
}
.companyHistory__timelineItem.with--image .companyHistory__timelineItemThumb {
  display: block;
}
.companyHistory__timelineItem.with--image .companyHistory__timelineItemDate {
  text-align: left;
}
.companyHistory__timelineItemThumb {
  width: 100%;
  max-width: 235px;
  display: none;
}
.companyHistory__timelineItemThumb.small--image {
  width: 130px;
}
.companyHistory__timelineItemDetails {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 35px;
}
.companyHistory__timelineItemDetails.pcDf {
  display: flex;
}
.companyHistory__timelineItemDetails.spDf {
  display: none;
}
.companyHistory__timelineItemDate {
  min-width: 105px;
  text-align: right;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.004em;
  line-height: 2;
  color: #2d2d2d;
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineItemDate {
    font-size: 12px;
  }
}
.companyHistory__timelineItemCap {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.004em;
  line-height: 2;
  color: #2d2d2d;
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineItemCap {
    font-size: 12px;
  }
}
.companyHistory__timelineItemCap span {
  margin-top: 7px;
  display: block;
  font-size: 12px;
  line-height: 1.7;
}

.companyLocation {
  margin: 0 auto;
  width: 100%;
}
.companyLocation__container {
  margin: auto;
  padding: 88px 0 120px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 73.55px;
  width: 1040px;
}
.companyLocation__heading {
  width: 225px;
}
.companyLocation__heading h2 {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1.9;
  color: #004470;
}
@media screen and (max-width: 767px) {
  .companyLocation__heading h2 {
    font-size: 12px;
  }
}
.companyLocation__heading h3 {
  margin-top: 5px;
  font-family: "Kantumruy Pro", sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.003em;
  line-height: 1;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyLocation__heading h3 {
    font-size: 12px;
  }
}
.companyLocation__heading h3 {
  background: linear-gradient(86deg, #1360A3 0%, #4FC6F5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-transform: uppercase;
}
.companyLocation__items {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: column;
  gap: 30px;
}
.companyLocation__item {
  width: 740px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 37.39px;
}
.companyLocation__itemThumb {
  width: 365.5px;
}
.companyLocation__itemDetails {
  padding-top: 10px;
  width: 338px;
}
.companyLocation__itemDetails h4 {
  margin-bottom: 13.35px;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.004em;
  line-height: 2;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .companyLocation__itemDetails h4 {
    font-size: 12px;
  }
}
.companyLocation__itemDetails p {
  margin-bottom: 23.25px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.004em;
  line-height: 2;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .companyLocation__itemDetails p {
    font-size: 12px;
  }
}
.companyLocation__itemDetails a {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.004em;
  line-height: 2;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .companyLocation__itemDetails a {
    font-size: 12px;
  }
}
.companyLocation__itemDetails a {
  background: linear-gradient(86deg, #1360A3 0%, #4FC6F5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/*-----------------------------------------------
COMPANY PC Breakpoint
------------------------------------------------*/
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyKv {
    min-height: 29.6875vw;
  }
  .companyKv__imgWrapper {
    width: 58.125vw;
  }
  .companyKv__title {
    margin-top: 2.34375vw;
    padding-left: 7.421875vw;
  }
  .companyKv__title .en {
    font-size: 5vw;
    text-shadow: 0 0.3125vw 0.3125vw rgba(0, 0, 0, 0.25);
  }
  .companyKv__title .ja {
    margin-left: 0.390625vw;
    font-size: 1.171875vw;
    text-shadow: 0 0.3125vw 0.3125vw rgba(0, 0, 0, 0.25);
  }
  .companyIntr {
    margin: 5.45390625vw auto 8.57890625vw;
  }
  .companyIntr__container {
    width: 81.25vw;
    gap: 7.65625vw;
  }
  .companyIntr__thumb {
    width: 23.4375vw;
  }
  .companyIntr__details {
    width: 50.15625vw;
  }
  .companyIntr__details h2 {
    font-size: 2.5vw;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.9;
    color: #004470;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyIntr__details h2 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyIntr__details h3 {
    margin-top: 0.390625vw;
    font-size: 1.40625vw;
    font-weight: 700;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyIntr__details h3 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyIntr__details p {
    margin-top: 3.515625vw;
    font-size: 1.171875vw;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #000000;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyIntr__details p {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyPhilsophy {
    margin: 5.45390625vw auto 10.078125vw;
  }
  .companyPhilsophy:after {
    left: 5.590625vw;
    width: 9.140625vw;
  }
  .companyPhilsophy__container {
    padding: 7.734375vw 0 6.5046875vw;
    width: 57.8125vw;
    gap: 7.52578125vw;
  }
  .companyPhilsophy__details h2 {
    font-size: 2.5vw;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.9;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyPhilsophy__details h2 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyPhilsophy__details h3 {
    margin-top: 0.390625vw;
    font-size: 1.40625vw;
    font-weight: 600;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyPhilsophy__details h3 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyPhilsophy__details p {
    margin-top: 3.125vw;
    font-size: 1.5625vw;
    font-weight: 700;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyPhilsophy__details p {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyProfile__container {
    padding: 0 0 11.22890625vw;
    width: 81.25vw;
    gap: 9.6875vw;
  }
  .companyProfile__heading {
    width: 13.671875vw;
  }
  .companyProfile__heading h2 {
    font-size: 2.5vw;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.9;
    color: #004470;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyProfile__heading h2 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyProfile__heading h3 {
    margin-top: 0.390625vw;
    font-family: "Kantumruy Pro", sans-serif;
    font-size: 1.40625vw;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyProfile__heading h3 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyProfile__details {
    width: 57.890625vw;
  }
  .companyProfile__itemBlock {
    padding: 1.5625vw 0;
  }
  .companyProfile__itemBlock p {
    font-size: 1.171875vw;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #000000;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyProfile__itemBlock p {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyProfile__itemBlock p:nth-child(odd) {
    width: 10.3125vw;
  }
  .companyProfile__itemBlock p:nth-child(even) {
    padding-left: 3.671875vw;
    width: calc(100% - 10.3125vw);
  }
  .companyHistory__container {
    padding: 5.546875vw 0 0;
    width: 81.25vw;
  }
  .companyHistory__heading h2 {
    font-size: 2.5vw;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.9;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyHistory__heading h2 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyHistory__heading h3 {
    margin-top: 0.390625vw;
    font-size: 1.40625vw;
    font-weight: 600;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyHistory__heading h3 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyHistory__timelines {
    margin: 5.71796875vw auto 0;
    padding-bottom: 7.953125vw;
    gap: 1.5625vw;
  }
  .companyHistory__timelinesProgressLine {
    top: 1.81015625vw;
    left: 0.78125vw;
    width: 0.15625vw;
  }
  .companyHistory__timelineBlock {
    gap: 1.3953125vw;
  }
  .companyHistory__timelineBlock:after {
    top: 1.71875vw;
    left: 0.234375vw;
    width: 1.25vw;
    height: 1.25vw;
  }
  .companyHistory__timelineHeading {
    padding-left: 2.96875vw;
    width: 17.8125vw;
  }
  .companyHistory__timelineHeading h2 {
    font-size: 2.1875vw;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.9;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyHistory__timelineHeading h2 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyHistory__timelineHeading h3 {
    margin-top: 0.625vw;
    font-size: 1.5625vw;
    font-weight: 500;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyHistory__timelineHeading h3 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyHistory__timelineHeading h3 span {
    font-size: 1.09375vw;
  }
  .companyHistory__timelineItemsBlock {
    width: 62.03125vw;
    padding: 1.93984375vw 3.190625vw 3.3859375vw 5.7484375vw;
    border-radius: 0.390625vw;
  }
  .companyHistory__timelineTtl {
    top: 1.953125vw;
    left: 6.51875vw;
    font-size: 1.09375vw;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 1.7;
    color: #2d2d2d;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyHistory__timelineTtl {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyHistory__timelineToggleIndicator {
    top: 2.0546875vw;
    left: 1.77265625vw;
    width: 1.5625vw;
    height: 1.5625vw;
    border-radius: 0.390625vw;
  }
  .companyHistory__timelineToggleIndicator:after {
    width: 0.4296875vw;
    height: 0.859375vw;
  }
  .companyHistory__timelineItem {
    padding: 0.78125vw 1.39921875vw 0.78125vw 0;
    gap: 2.34375vw;
    border-bottom: 0.078125vw solid #d6d6d6;
  }
  .companyHistory__timelineItem:first-child {
    padding-top: 0;
  }
  .companyHistory__timelineItem.with--image {
    padding-bottom: 1.171875vw;
  }
  .companyHistory__timelineItem.with--image .companyHistory__timelineItemDetails {
    gap: 0;
  }
  .companyHistory__timelineItemThumb {
    max-width: 18.359375vw;
  }
  .companyHistory__timelineItemThumb.small--image {
    width: 10.15625vw;
  }
  .companyHistory__timelineItemDetails {
    gap: 2.734375vw;
  }
  .companyHistory__timelineItemDate {
    min-width: 8.203125vw;
    font-size: 1.09375vw;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #2d2d2d;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyHistory__timelineItemDate {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyHistory__timelineItemCap {
    font-size: 1.09375vw;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #2d2d2d;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyHistory__timelineItemCap {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyHistory__timelineItemCap span {
    margin-top: 0.546875vw;
    font-size: 0.9375vw;
  }
  .companyLocation__container {
    padding: 6.875vw 0 9.375vw;
    gap: 5.74609375vw;
    width: 81.25vw;
  }
  .companyLocation__heading {
    width: 17.578125vw;
  }
  .companyLocation__heading h2 {
    font-size: 2.5vw;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.9;
    color: #004470;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyLocation__heading h2 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyLocation__heading h3 {
    margin-top: 0.390625vw;
    font-size: 1.40625vw;
    font-weight: 600;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyLocation__heading h3 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyLocation__items {
    gap: 2.34375vw;
  }
  .companyLocation__item {
    width: 57.8125vw;
    gap: 2.92109375vw;
  }
  .companyLocation__itemThumb {
    width: 28.5546875vw;
  }
  .companyLocation__itemDetails {
    padding-top: 0.78125vw;
    width: 26.40625vw;
  }
  .companyLocation__itemDetails h4 {
    margin-bottom: 1.04296875vw;
    font-size: 1.171875vw;
    font-weight: bold;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #000000;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyLocation__itemDetails h4 {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyLocation__itemDetails p {
    margin-bottom: 1.81640625vw;
    font-size: 1.015625vw;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #000000;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyLocation__itemDetails p {
    font-size: 12px;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .companyLocation__itemDetails a {
    font-size: 1.015625vw;
    font-weight: 400;
    letter-spacing: -0.004em;
    line-height: 2;
    color: #ffffff;
  }
}
@media screen and (max-width: 1280px) and (min-width: 768px) and (max-width: 767px) {
  .companyLocation__itemDetails a {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .companyKv {
    min-height: 0;
  }
  .companyKv__imgWrapper {
    width: 70.5128205128vw;
  }
  .companyKv__titleWrapper {
    position: absolute;
    top: 0;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .companyKv__title {
    margin-top: 12.8205128205vw;
    padding-left: 5.1282051282vw;
    width: 100%;
  }
  .companyKv__title .en {
    font-size: 8.7179487179vw;
    line-height: 0.8;
    text-shadow: 0 0.5128205128vw 0.5128205128vw rgba(0, 0, 0, 0.25);
  }
  .companyKv__title .ja {
    margin-top: 3.8461538462vw;
    margin-left: 0.5128205128vw;
    font-size: 3.5897435897vw;
    text-shadow: 0 0.5128205128vw 0.5128205128vw rgba(0, 0, 0, 0.25);
  }
  .companyIntr {
    margin: 13.7820512821vw auto 28.1564102564vw;
  }
  .companyIntr__container {
    width: 86.1538461538vw;
    gap: 8.9743589744vw;
  }
  .companyIntr__thumb {
    width: 100%;
  }
  .companyIntr__details {
    width: 100%;
  }
  .companyIntr__details h2 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.6;
    color: #004470;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyIntr__details h2 {
    font-size: 7.1794871795vw;
  }
}
@media screen and (max-width: 767px) {
  .companyIntr__details h3 {
    margin: 2.5641025641vw auto 8.9743589744vw;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyIntr__details h3 {
    font-size: 4.6153846154vw;
  }
}
@media screen and (max-width: 767px) {
  .companyIntr__details p {
    margin-top: 8.9743589744vw;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #000000;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyIntr__details p {
    font-size: 3.5897435897vw;
  }
}
@media screen and (max-width: 767px) {
  .companyPhilsophy {
    margin: 14.0384615385vw auto 0;
  }
  .companyPhilsophy:after {
    left: 6.8615384615vw;
    width: 15vw;
    background-image: url(../images/page/company/slogan-bg-effect-sp.webp);
  }
  .companyPhilsophy__container {
    padding: 17.9487179487vw 0 25.3128205128vw;
    width: 89.7435897436vw;
    gap: 17.9487179487vw;
  }
  .companyPhilsophy__details {
    position: relative;
    z-index: 2;
  }
  .companyPhilsophy__details h2 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.6;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyPhilsophy__details h2 {
    font-size: 7.1794871795vw;
  }
}
@media screen and (max-width: 767px) {
  .companyPhilsophy__details h3 {
    margin-top: 2.5641025641vw;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyPhilsophy__details h3 {
    font-size: 4.6153846154vw;
  }
}
@media screen and (max-width: 767px) {
  .companyPhilsophy__details p {
    margin-top: 7.6923076923vw;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyPhilsophy__details p {
    font-size: 3.8461538462vw;
  }
}
@media screen and (max-width: 767px) {
  .companyProfile__container {
    padding: 20.1615384615vw 0 19.9vw;
    width: 87.1794871795vw;
    flex-direction: column;
    gap: 11.4461538462vw;
  }
  .companyProfile__heading {
    width: 100%;
  }
  .companyProfile__heading h2 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.6;
    color: #004470;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyProfile__heading h2 {
    font-size: 7.1794871795vw;
  }
}
@media screen and (max-width: 767px) {
  .companyProfile__heading h3 {
    margin-top: 2.5641025641vw;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyProfile__heading h3 {
    font-size: 4.6153846154vw;
  }
}
@media screen and (max-width: 767px) {
  .companyProfile__details {
    width: 100%;
  }
  .companyProfile__itemBlock {
    padding: 3.8461538462vw 0;
  }
  .companyProfile__itemBlock p {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #000000;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyProfile__itemBlock p {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .companyProfile__itemBlock p:nth-child(odd) {
    width: 22.8vw;
  }
  .companyProfile__itemBlock p:nth-child(even) {
    padding-left: 2.5641025641vw;
    padding-right: 5.3846153846vw;
    width: calc(100% - 22.8vw);
  }
  .companyProfile__itemBlock:nth-child(5) {
    align-items: center;
  }
  .companyHistory__container {
    padding: 15.8974358974vw 0 0;
    width: 84.1025641026vw;
  }
  .companyHistory__heading h2 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.6;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyHistory__heading h2 {
    font-size: 7.1794871795vw;
  }
}
@media screen and (max-width: 767px) {
  .companyHistory__heading h3 {
    margin-top: 2.5641025641vw;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyHistory__heading h3 {
    font-size: 4.6153846154vw;
  }
}
@media screen and (max-width: 767px) {
  .companyHistory__timelines {
    margin: 19.1615384615vw auto 0;
    padding-bottom: 36.9230769231vw;
    flex-direction: column;
    gap: 16.8461538462vw;
    position: relative;
  }
  .companyHistory__timelines:after {
    content: "";
    position: absolute;
    top: 5.941025641vw;
    left: 2.5641025641vw;
    width: 0.5128205128vw;
    height: 100%;
    background-color: #ffffff;
  }
  .companyHistory__timelinesProgressLine {
    display: none;
    top: 5.941025641vw;
    left: 2.5641025641vw;
    width: 0.5128205128vw;
  }
  .companyHistory__timelineBlock {
    flex-direction: column;
    gap: 5.1282051282vw;
  }
  .companyHistory__timelineBlock:after {
    top: 5.641025641vw;
    left: 0.7692307692vw;
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
  .companyHistory__timelineBlock.is-open .companyHistory__timelineToggleIndicator {
    top: 3.5897435897vw;
  }
  .companyHistory__timelineHeading {
    padding-left: 10.7692307692vw;
    width: 100%;
  }
  .companyHistory__timelineHeading h2 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.7;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyHistory__timelineHeading h2 {
    font-size: 5.1282051282vw;
  }
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineHeading h3 {
    margin-top: 1.2820512821vw;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyHistory__timelineHeading h3 {
    font-size: 4.1025641026vw;
  }
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineHeading h3 span {
    font-size: 3.0769230769vw;
  }
  .companyHistory__timelineItemsBlock {
    margin-left: 9.2307692308vw;
    width: 74.8717948718vw;
    padding: 3.5897435897vw 5.1282051282vw 10.2564102564vw 8.9743589744vw;
    border-radius: 1.2820512821vw;
  }
  .companyHistory__timelineTtl {
    top: 3.3333333333vw;
    left: 9.4871794872vw;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 1.7;
    color: #2d2d2d;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyHistory__timelineTtl {
    font-size: 3.5897435897vw;
  }
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineToggleIndicator {
    top: 4.6153846154vw;
    left: 3.0769230769vw;
    width: 3.8461538462vw;
    height: 3.8461538462vw;
    border-radius: 0.3846153846vw;
  }
  .companyHistory__timelineToggleIndicator:after {
    width: 1.2820512821vw;
    height: 2.1153846154vw;
  }
  .companyHistory__timelineItem {
    padding: 5.1282051282vw 0;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 2.5641025641vw;
    border-bottom: 0.2564102564vw solid #d6d6d6;
  }
  .companyHistory__timelineItem:first-child {
    padding-top: 0;
  }
  .companyHistory__timelineItem[data-year="2010"] .companyHistory__timelineItemCap span {
    font-size: 3.3333333333vw;
  }
  .companyHistory__timelineItem.with--image {
    padding-bottom: 5.1282051282vw;
  }
  .companyHistory__timelineItem.with--image .companyHistory__timelineItemDetails {
    gap: 0;
  }
  .companyHistory__timelineItemThumb {
    max-width: 100%;
  }
  .companyHistory__timelineItemThumb.small--image {
    width: 33.3333333333vw;
  }
  .companyHistory__timelineItemDetails {
    flex-direction: column;
    gap: 0;
  }
  .companyHistory__timelineItemDetails.pcDf {
    display: none;
  }
  .companyHistory__timelineItemDetails.spDf {
    display: flex;
  }
  .companyHistory__timelineItemDate {
    min-width: 0;
    width: 100%;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 1.6;
    color: #2d2d2d;
    text-align: left;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyHistory__timelineItemDate {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineItemCap {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.6;
    color: #2d2d2d;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyHistory__timelineItemCap {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .companyHistory__timelineItemCap span {
    margin-top: 1.2820512821vw;
    font-size: 3.0769230769vw;
  }
  .companyLocation__container {
    padding: 18.4615384615vw 0 13.3333333333vw;
    gap: 5.3846153846vw;
    flex-direction: column;
    width: 85.1282051282vw;
  }
  .companyLocation__heading {
    width: 100%;
  }
  .companyLocation__heading h2 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.6;
    color: #004470;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyLocation__heading h2 {
    font-size: 7.1794871795vw;
  }
}
@media screen and (max-width: 767px) {
  .companyLocation__heading h3 {
    margin-top: 2.5641025641vw;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.003em;
    line-height: 1;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyLocation__heading h3 {
    font-size: 4.6153846154vw;
  }
}
@media screen and (max-width: 767px) {
  .companyLocation__items {
    gap: 11.0256410256vw;
  }
  .companyLocation__item {
    width: 100%;
    flex-direction: column;
    gap: 2.3076923077vw;
  }
  .companyLocation__itemThumb {
    width: 100%;
  }
  .companyLocation__itemDetails {
    padding-top: 0;
    width: 100%;
  }
  .companyLocation__itemDetails h4 {
    margin-bottom: calc(3.3333333333vw / 1px);
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #000000;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyLocation__itemDetails h4 {
    font-size: 3.8461538462vw;
  }
}
@media screen and (max-width: 767px) {
  .companyLocation__itemDetails p {
    margin-bottom: 5.1282051282vw;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.004em;
    line-height: 2;
    color: #000000;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyLocation__itemDetails p {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .companyLocation__itemDetails a {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.004em;
    line-height: 2;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .companyLocation__itemDetails a {
    font-size: 3.3333333333vw;
  }
}/*# sourceMappingURL=company.css.map */