@charset "UTF-8";
.l-main__body {
  max-width: none;
  padding: 0;
}

.l-main__body * {
  font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}

.p-sectionContents {
  width: 100%;
  max-width: 1584px;
  margin: 0 auto;
  padding: 50px 16px 0;
}

@media screen and (min-width: 768px) {
  .p-sectionContents {
    padding: 100px 72px 0;
  }
}

.p-sectionKeyImg + .p-sectionContents {
  margin-top: 65px;
}

@media screen and (min-width: 768px) {
  .p-sectionKeyImg + .p-sectionContents {
    margin-top: 133px;
  }
}

.p-sectionMovie + .p-sectionContents {
  margin-top: 57px;
  padding: 0 16px;
}

@media screen and (min-width: 768px) {
  .p-sectionMovie + .p-sectionContents {
    margin-top: 100px;
    padding: 0 72px;
  }
}

.p-sectionMovie {
  margin-top: 65px;
}

@media screen and (min-width: 768px) {
  .p-sectionMovie {
    margin-top: 129px;
  }
}

.c-title {
  padding: 0 0 0;
  border-bottom: none;
  color: #222;
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-title {
    font-size: 222.22222%;
    line-height: 175%;
    letter-spacing: 4px;
  }
}

@media screen and (min-width: 768px) {
  .c-mainImg {
    margin-top: 84px;
  }
}

.c-mainImg img {
  width: 100%;
}

.p-leadTxt {
  text-align: center;
}

.p-leadTxt__ttl {
  padding: 0 0 0;
  border-bottom: none;
  color: #222;
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-leadTxt__ttl {
    font-size: 166.66667%;
    line-height: 200%;
    letter-spacing: 3px;
  }
}

.p-leadTxt__txt {
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-leadTxt__txt {
    font-size: 100%;
    line-height: 223%;
    letter-spacing: 1.8px;
  }
}

.p-leadTxt__ttl + .p-leadTxt__txt {
  margin-top: 34px;
}

@media screen and (min-width: 768px) {
  .p-leadTxt__ttl + .p-leadTxt__txt {
    margin-top: 55px;
  }
}

.p-leadTxt__txt + .p-leadTxt__txt {
  margin-top: 26px;
}

@media screen and (min-width: 768px) {
  .p-leadTxt__txt + .p-leadTxt__txt {
    margin-top: 40px;
  }
}

.p-leadTxt__img {
  margin-top: 65px;
}

@media screen and (min-width: 768px) {
  .p-leadTxt__img {
    margin-top: 135px;
  }
}

.p-guideline {
  margin: 115px 0 0;
}

@media screen and (min-width: 768px) {
  .p-guideline {
    margin: 190px 0 0;
  }
}

.p-guideline + figure {
  margin-top: 55px;
}

@media screen and (min-width: 768px) {
  .p-guideline + figure {
    margin-top: 90px;
  }
}

.p-guideline__item + .p-guideline__item {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #005bac;
}

@media screen and (min-width: 768px) {
  .p-guideline__item + .p-guideline__item {
    margin-top: 53px;
    padding-top: 50px;
  }
}

@media screen and (min-width: 768px) {
  .p-guideBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 40px;
  }
}

.p-guideBox__img {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-guideBox__img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 40px;
  }
}

.p-guideBox__body {
  margin: 15px 0 0;
}

@media screen and (min-width: 768px) {
  .p-guideBox__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0;
  }
}

.p-guideBox__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0;
  color: #005091;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-guideBox__ttl {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-size: 155.55556%;
    line-height: 136%;
    letter-spacing: 2.8px;
  }
}

.p-guideBox__ttl:before {
  display: none;
}

.p-guideBox__ttl__line {
  position: relative;
  display: inline-block;
  width: 80px;
  height: 18px;
  margin: 0 20px 0 14px;
  background-color: #0064b6;
}

@media screen and (min-width: 768px) {
  .p-guideBox__ttl__line {
    width: 117px;
    height: 22px;
    margin: 0 43px 0 28px;
  }
}

.p-guideline__item:nth-child(2) .p-guideBox__ttl__line {
  background-color: #0156aa;
}

.p-guideline__item:nth-child(3) .p-guideBox__ttl__line {
  background-color: #006dc6;
}

.p-guideline__item:nth-child(4) .p-guideBox__ttl__line {
  background-color: #0083de;
}

.p-guideline__item:nth-child(5) .p-guideBox__ttl__line {
  background-color: #0ea7e9;
}

.p-guideBox__ttl__line::before, .p-guideBox__ttl__line::after {
  position: absolute;
  top: 0;
  display: block;
  width: 18px;
  height: 18px;
  content: '';
  background-color: #004b9e;
  border-radius: 50%;
}

@media screen and (min-width: 768px) {
  .p-guideBox__ttl__line::before, .p-guideBox__ttl__line::after {
    width: 22px;
    height: 22px;
  }
}

.p-guideBox__ttl__line::before {
  left: -9px;
}

@media screen and (min-width: 768px) {
  .p-guideBox__ttl__line::before {
    left: -11px;
  }
}

.p-guideBox__ttl__line::after {
  right: -9px;
}

@media screen and (min-width: 768px) {
  .p-guideBox__ttl__line::after {
    right: -11px;
  }
}

.p-guideBox__txt {
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-guideBox__txt {
    margin: 25px 0 0 30px;
    font-size: 100%;
    line-height: 223%;
    letter-spacing: 1.8px;
  }
}

@media screen and (min-width: 768px) {
  .p-guideBox__btn {
    margin: 23px 0 0 30px;
  }
}

.p-guideBox__btn__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 300px;
  height: 50px;
  margin: 0 auto;
  padding-top: 1px;
  color: #085091 !important;
  font-weight: bold;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #085091;
}

@media screen and (min-width: 768px) {
  .p-guideBox__btn__link {
    width: 360px;
    height: 50px;
    margin: 0;
    font-size: 111.11111%;
    line-height: 120%;
    letter-spacing: 2px;
  }
  .p-guideBox__btn__link:hover {
    color: #ffffff !important;
    background-color: #085091;
  }
}

@media screen and (min-width: 768px) {
  .p-guideBox__list {
    margin: 25px 0 0 30px;
  }
}

.p-guideBox__list li {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-guideBox__list li {
    font-size: 100%;
    line-height: 223%;
    letter-spacing: 1.8px;
  }
}

.p-guideBox__list li:before {
  content: '';
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

@media screen and (min-width: 768px) {
  .p-guideBox__list li:before {
    top: 14px;
    width: 10px;
    height: 10px;
  }
}

@media screen and (min-width: 768px) {
  .p-guideBox__list li + li {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-guideBox__values {
    margin: 25px 0 0 30px;
  }
}

.p-guideBox__values__item {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .p-guideBox__values__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 0;
  }
}

.p-guideBox__values__ttl {
  color: #005091;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-guideBox__values__ttl {
    font-size: 100%;
    line-height: 223%;
    letter-spacing: 1.8px;
  }
}

.p-guideBox__values__txt {
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-guideBox__values__txt {
    font-size: 111.11111%;
    line-height: 250%;
    letter-spacing: 2px;
  }
}

.p-introMovie {
  padding: 50px 16px 60px;
  background-color: #f0f0f0;
}

@media screen and (min-width: 768px) {
  .p-introMovie {
    padding: 112px 16px 121px;
  }
}

.p-introMovie__ttl {
  padding: 0 0 0;
  border-bottom: none;
  color: #005091;
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-introMovie__ttl {
    font-size: 188.88889%;
    line-height: 148%;
    letter-spacing: 3.4px;
  }
}

.p-introMovie__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 26px;
}

@media screen and (min-width: 768px) {
  .p-introMovie__body {
    margin-top: 55px;
  }
}

.p-introMovie__frameWrap {
  position: relative;
  width: 100%;
  max-width: 810px;
  height: 0;
  padding-top: 56.25%;
}

@media screen and (min-width: 768px) {
  .p-introMovie__frameWrap {
    padding-top: 455px;
  }
}

.p-introMovie__frameWrap iframe,
.p-introMovie__frameWrap video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-catchArea {
    margin-top: 50px;
  }
}

.p-catchArea__body {
  margin: 0;
}

@media screen and (min-width: 768px) {
  .p-catchArea__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .p-catchArea__img {
    width: 27.77778%;
    margin-right: 30px;
  }
}

.p-catchArea__txt {
  margin: 20px 0 0;
}

@media screen and (min-width: 768px) {
  .p-catchArea__txt {
    width: 70.13889%;
    margin: 6px 0 0;
    font-size: 111.11111%;
    line-height: 150%;
  }
}

.is-philosophy.modaal-wrapper {
  height: 100vh;
}

@media screen and (min-width: 768px) {
  .is-philosophy.modaal-wrapper {
    height: 100%;
  }
}

.is-philosophy .modaal-outer-wrapper {
  display: block;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .is-philosophy .modaal-outer-wrapper {
    display: table;
    height: auto;
  }
}

.is-philosophy .modaal-inner-wrapper {
  display: block;
  padding: 66px 20px;
}

@media screen and (min-width: 768px) {
  .is-philosophy .modaal-inner-wrapper {
    display: table-cell;
    padding: 90px;
  }
}

.is-philosophy .modaal-container {
  position: relative;
  max-width: 1440px;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .is-philosophy .modaal-container {
    height: auto;
  }
}

.is-philosophy .modaal-content {
  height: 100%;
}

@media screen and (min-width: 768px) {
  .is-philosophy .modaal-content {
    height: auto;
  }
}

.is-philosophy .modaal-content-container {
  position: relative;
  height: 100%;
  overflow: hidden;
  padding: 86px 0 40px;
}

@media screen and (min-width: 768px) {
  .is-philosophy .modaal-content-container {
    position: static;
    height: auto;
    overflow: visible;
    padding: 52px 108px 29px 40px;
  }
}

.is-philosophy .modaal-close {
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 60px;
  height: 60px;
  font-size: 66.66667%;
  line-height: 100%;
  background: #085091;
  border-radius: 0;
}

@media screen and (min-width: 768px) {
  .is-philosophy .modaal-close {
    width: 90px;
    height: 90px;
    font-size: 88.88889%;
    line-height: 100%;
  }
}

.is-philosophy .modaal-close span {
  position: relative !important;
  clip: none;
  clip: none;
  display: block;
  height: auto !important;
  width: auto !important;
  margin-top: 10px;
  padding: 0 !important;
  text-align: center;
  border: 0 !important;
  overflow: hidden;
}

.is-philosophy .modaal-close::after {
  display: none;
}

.is-philosophy .modaal-close::before {
  display: block;
  content: "";
  position: relative;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  margin: 0 auto;
  background-image: url("/company/philosophy/images/close-icon.svg");
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: none;
  -webkit-transition: none;
  transition: none;
  -webkit-transform: none;
  transform: none;
}

@media screen and (min-width: 768px) {
  .is-philosophy .modaal-close::before {
    width: 37px;
    height: 37px;
  }
}

.is-philosophy .p-modal__ttl {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% - 90px);
  height: 60px;
  padding-left: 21px;
  font-weight: bold;
  font-size: 88.88889%;
  line-height: 169%;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .is-philosophy .p-modal__ttl {
    position: relative;
    display: block;
    height: auto;
    margin-bottom: 84px;
    font-size: 122.22222%;
    line-height: 169%;
  }
}

.is-philosophy .p-modal__body {
  overflow-y: auto;
  height: 100%;
  margin: 0;
  padding: 0 12px;
}

@media screen and (min-width: 768px) {
  .is-philosophy .p-modal__body {
    overflow-y: visible;
    height: auto;
  }
}

.c-textLink {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .c-textLink {
    margin-top: 40px;
  }
}

.c-textLink__link {
  font-weight: bold;
  color: #005091;
}

@media screen and (min-width: 768px) {
  .c-textLink__link {
    font-size: 111.11111%;
    line-height: 150%;
  }
}

.u-coloBlue {
  color: #005091;
}

.p-catchList {
  padding: 0;
}

.p-catchList {
  padding: 0;
}

.p-catchList__item {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .p-catchList__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-catchList__item + .p-catchList__item {
    margin-top: 10px;
  }
}

.p-catchList__ttl {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 15px;
  font-weight: bold;
  color: #005091;
}

.p-mvMovie {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-mvMovie {
    height: calc(100vh - 185px);
    min-height: 579px;
  }
}

.p-mvMovie__video {
  width: 100%;
  height: auto;
  vertical-align: top;
}

@media screen and (min-width: 768px) {
  .p-mvMovie__video {
    position: absolute;
    width: 100%;
    height: 100%;
    min-height: 579px;
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
  }
}
