@charset "UTF-8";
html {
  font-size: 1px;
  overflow-x: hidden;
}
html.lock {
  overflow-y: hidden;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
  max-width: 100vw;
  min-height: 100vh;
  color: #000;
  font-size: 16rem;
  overflow: hidden;
}

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

img,
svg {
  max-width: 100%;
  vertical-align: bottom;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-text-decoration: underline transparent;
          text-decoration: underline transparent;
  transition: 0.3s linear;
  backface-visibility: hidden;
}
a.tel_link {
  pointer-events: none;
}

main {
  display: block;
}

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

* {
  box-sizing: border-box;
}

.inner {
  width: 960rem;
  margin-left: auto;
  margin-right: auto;
}

.s_inner {
  width: 820rem;
  margin-left: auto;
  margin-right: auto;
}

.mt_l {
  margin-top: 100rem;
}

.mt_m {
  margin-top: 60rem;
}

.mt_s {
  margin-top: 20rem;
}

.fz_l {
  font-size: 1.2em;
}

.fz_s {
  font-size: 0.8em;
}

.ta_center {
  text-align: center;
}

.fwb {
  font-weight: bold;
}

.font_co {
  font-family: "Cormorant Infant", serif;
  font-weight: bold;
}

.font_san {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "メイリオ", Meiryo, "sans-serif", sans-serif;
}

.fadein {
  opacity: 0;
  transition: 1s;
}

.fade_left {
  transform: translate(-80px, 0);
}

.fade_right {
  transform: translate(80px, 0);
}

.fade_scale {
  transform: scale(0.5, 0.5) translate(0, 200px);
}

.fade_up {
  transform: translate(0, 80px);
}

.fade_down {
  transform: translate(0, -80px);
}

.fade_rotate_r {
  transform: rotate(-45deg);
}

.fade_rotate_l {
  transform: rotate(45deg);
}

.blur {
  filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.blur.on_action {
  animation: blur 0.75s linear forwards;
}

@keyframes blur {
  100% {
    filter: blur(0);
    -webkit-backdrop-filter: blur(0);
  }
}
.slidein2 {
  transition-delay: 200ms;
}

.slidein3 {
  transition-delay: 400ms;
}

.slidein4 {
  transition-delay: 600ms;
}

.slidein5 {
  transition-delay: 800ms;
}

.slidein6 {
  transition-delay: 800ms;
}

.slidein7 {
  transition-delay: 1000ms;
}

.slidein8 {
  transition-delay: 1200ms;
}

.slidein9 {
  transition-delay: 1400ms;
}

.slidein10 {
  transition-delay: 1600ms;
}

.inview.fadein.on_action {
  opacity: 1;
  transform: translate(0, 0);
}

.c_red {
  color: #df1616;
}

.deco_img {
  position: absolute;
  z-index: -1;
}

.f_roboto {
  font-family: "Roboto", sans-serif;
}

.btn a {
  display: block;
  width: 367rem;
  height: 70rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18rem;
  font-weight: bold;
  color: #fff;
  background-color: #00689D;
  position: relative;
  border-radius: 60rem;
  text-align: center;
  padding-right: 20rem;
}
.btn a::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/ico_arrow.svg);
  width: 18rem;
  height: 16rem;
  background-size: 18rem;
  background-repeat: no-repeat;
  top: calc(50% - 8rem);
  right: 40rem;
  transition: 0.2s;
}
.btn a:hover {
  filter: brightness(1.2);
}
.btn a:hover::after {
  right: 30rem;
}

.mv_wrap .mv {
  display: flex;
  justify-content: center;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
.mv_wrap .mv .swiper_wrap {
  width: 54.1666666667vw;
  max-width: 1040rem;
}
.mv_wrap .mv .ttl {
  width: 45.8333333333vw;
  background-color: #1E3250;
  padding-top: min(5.3125vw, 102rem);
  max-width: 880rem;
}
.mv_wrap .mv .ttl h1 {
  width: 36.40625vw;
  max-width: 699rem;
  margin-left: auto;
  margin-right: auto;
}
.mv_wrap .mv .ttl p {
  color: #fff;
  font-size: clamp(15rem, 1.0416666667vw, 20rem);
  text-align: center;
  margin-top: min(3.3854166667vw, 65rem);
  line-height: 1.8;
}

.lead_wrap {
  margin-top: 60rem;
  position: relative;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
.lead_wrap::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/bg_lead.png);
  background-repeat: no-repeat;
  width: 1793rem;
  height: 1026rem;
  top: 0;
  left: calc(50% - 896.5rem);
  pointer-events: none;
}
.lead_wrap .ttl h2 {
  font-size: 38rem;
  color: #1E3250;
  font-weight: bold;
  text-align: center;
}
.lead_wrap .lead {
  margin-top: 45rem;
  max-width: 792rem;
  margin-left: auto;
  margin-right: auto;
}
.lead_wrap .ttl_wrap {
  margin-top: 60rem;
}
.lead_wrap .ttl_wrap h3 {
  font-size: 18rem;
  font-weight: bold;
  text-align: center;
}
.lead_wrap .movie_wrap {
  display: flex;
  gap: 36rem;
  justify-content: center;
  margin-top: 30rem;
}
.lead_wrap .movie_wrap p {
  text-align: center;
  margin-top: 15rem;
}
.lead_wrap .movie_wrap iframe {
  width: 434rem;
  height: 294rem;
}
.lead_wrap .deco_01 {
  top: -60rem;
  left: 0;
  width: min(13.8541666667vw, 226rem);
}
.lead_wrap .deco_02 {
  right: 0;
  top: 26.0416666667vw;
  width: min(20vw, 384rem);
}

.ttl_wrap {
  color: #1E3250;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.ttl_wrap h2 {
  font-size: 64rem;
  font-weight: bold;
  position: relative;
}
.ttl_wrap h2::before {
  content: "";
  display: block;
  width: 32rem;
  height: 44rem;
  background-repeat: no-repeat;
  background-size: 32rem;
  left: -55rem;
  top: calc(50% - 21.5rem);
  position: absolute;
}
.ttl_wrap p {
  font-size: 18rem;
  margin-top: -15rem;
  text-align: center;
}

.message_wrap {
  margin-top: 175rem;
  position: relative;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
.message_wrap::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/bg_message.png);
  background-repeat: no-repeat;
  width: 1795rem;
  height: 774rem;
  top: -50rem;
  left: calc(50% - 897.5rem);
  pointer-events: none;
  z-index: -1;
}
.message_wrap .ttl_wrap h2::before {
  background-image: url(../img/pic_ttl_deco_01.png);
}
.message_wrap .message_contents {
  margin-top: 50rem;
  gap: 69rem;
  display: flex;
  flex-direction: row-reverse;
}
.message_wrap .message_contents .img_wrap {
  width: 340rem;
}
.message_wrap .message_contents .txt_wrap {
  width: 550rem;
  font-size: 18rem;
}
.message_wrap .message_contents .txt_wrap .name {
  font-weight: bold;
  margin-top: 50rem;
}
.message_wrap .deco_03 {
  left: 0;
  top: -11.9791666667vw;
  width: min(21.5625vw, 414rem);
}

.history_wrap {
  margin-top: 130rem;
  background-image: url(../img/bg_history.jpg);
  padding-top: 130rem;
  padding-bottom: 125rem;
  position: relative;
  height: 1816rem;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  background-position: center;
  background-size: cover;
}
.history_wrap .ttl_wrap h2::before {
  background-image: url(../img/pic_ttl_deco_02.png);
}
.history_wrap .history {
  margin-top: 80rem;
  position: relative;
}
.history_wrap .history dl {
  padding-left: 220rem;
}
.history_wrap .history dl dt {
  font-size: 40rem;
  font-weight: bold;
  color: #1E3250;
  position: relative;
  margin-top: 20rem;
}
.history_wrap .history dl dt::after, .history_wrap .history dl dt::before {
  content: "";
  display: block;
  position: absolute;
}
.history_wrap .history dl dt::before {
  width: 22rem;
  height: 22rem;
  background-color: #1E3250;
  left: -61rem;
  border-radius: 50%;
  top: calc(50% - 11rem);
}
.history_wrap .history dl dt::after {
  width: 1px;
  height: 0;
  background-color: #1E3250;
  left: -50.2rem;
  top: 40rem;
  transition: 1s;
}
.history_wrap .history dl dt.on_action::after {
  height: 120rem;
}
.history_wrap .history dl dt.col2.on_action::after {
  height: 145rem;
}
.history_wrap .history dl dt:first-of-type {
  margin-top: 0;
}
.history_wrap .history dl dt:last-of-type::after {
  content: none;
}
.history_wrap .history dl dd {
  font-size: 18rem;
  padding-bottom: 20rem;
  position: relative;
}
.history_wrap .history dl dd::after, .history_wrap .history dl dd::before {
  content: "";
  height: 1px;
  bottom: 0;
  display: block;
  position: absolute;
}
.history_wrap .history dl dd::before {
  width: 89rem;
  height: 1px;
  background-color: #1E3250;
  left: 0;
}
.history_wrap .history dl dd::after {
  width: 634rem;
  height: 1px;
  background-color: #DBDBDB;
  left: 97rem;
}
.history_wrap .history dl dd a {
  text-decoration: underline;
}
.history_wrap .history dl dd .companies {
  position: absolute;
  color: #fff;
  font-size: 14rem;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
.history_wrap .history dl dd .companies::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5rem 0 5rem 8rem;
  position: absolute;
  top: 0;
  right: -15rem;
  bottom: 0;
  margin: auto;
}
.history_wrap .history dl dd .companies b {
  font-size: 32rem;
  font-weight: bold;
}
.history_wrap .history dl dd .companies span {
  font-size: 16rem;
}
.history_wrap .history dl dd:first-of-type .companies {
  background-color: #0A96D8;
  width: 91rem;
  height: 91rem;
  left: -200rem;
  top: -78px;
}
.history_wrap .history dl dd:first-of-type .companies::before {
  border-color: transparent transparent transparent #0A96D8;
}
.history_wrap .history dl dd:last-of-type .companies {
  background-color: #02689B;
  width: 131rem;
  height: 131rem;
  left: -240rem;
  top: -95rem;
}
.history_wrap .history dl dd:last-of-type .companies::before {
  border-color: transparent transparent transparent #02689B;
}
.history_wrap .deco_04 {
  right: 0;
  top: 0;
  width: min(11.3541666667vw, 218rem);
  z-index: 0;
}
.history_wrap .deco_05 {
  left: 0;
  top: 605rem;
  width: min(24.7395833333vw, 475rem);
  z-index: 0;
}

.principles_wrap {
  margin-top: 125rem;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
.principles_wrap .ttl_wrap {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.principles_wrap .ttl_wrap h2::before {
  background-image: url(../img/pic_ttl_deco_01.png);
}
.principles_wrap .ttl_wrap p {
  text-align: center;
  margin-left: auto;
}
.principles_wrap .txt {
  margin-top: 25rem;
  text-align: center;
}
.principles_wrap .btn_wrap {
  position: relative;
  height: 294rem;
  background-image: url(../img/bg_btn.jpg);
  max-width: 1920rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.principles_wrap .btn_wrap .btn a {
  background-color: #FF3A21;
}
.principles_wrap .deco_06 {
  right: 0;
  top: max(-16.4583333333vw, -316rem);
  width: min(16.1458333333vw, 310rem);
}

.bottom_content {
  margin-top: 60rem;
  margin-bottom: 130rem;
}
.bottom_content .txt {
  font-size: 18rem;
  text-align: center;
  font-weight: bold;
}
.bottom_content .btn_wrap {
  margin-top: 45rem;
  display: flex;
  gap: 35rem;
  justify-content: center;
  align-items: center;
}

[target=_blank] .blank_marker {
  position: relative;
}
[target=_blank] .blank_text {
  font-size: 12rem;
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: -20rem;
  display: none;
  width: 116rem;
  height: 20rem;
  color: #333;
  border: 1px solid #3a78af;
  background: #ebf2f5;
  align-items: center;
  justify-content: center;
}
[target=_blank]:focus .blank_text, [target=_blank]:hover .blank_text {
  display: flex;
}

.pagetop {
  position: fixed;
  z-index: 999;
  right: 10px;
  bottom: 10px;
  display: none;
}

.pagetop_btn {
  font-size: 14rem;
  position: relative;
  display: block;
  display: flex;
  width: 78px;
  height: 78px;
  cursor: pointer;
  color: #fff;
  border: 1px solid #fff;
  background: #365f81;
  align-items: center;
  justify-content: center;
}
.pagetop_btn span {
  line-height: normal;
  display: block;
  padding-top: 20rem;
  text-align: center;
}
.pagetop_btn span::after {
  position: absolute;
  top: 25%;
  display: block;
  width: 12px;
  height: 1px;
  content: "";
  background: #fff;
}
.pagetop_btn span::before {
  position: absolute;
  top: 25%;
  display: block;
  width: 12px;
  height: 1px;
  content: "";
  background: #fff;
  left: 37%;
  transform: rotate(-45deg) translateY(-50%);
}
.pagetop_btn span::after {
  right: 37%;
  transform: rotate(45deg) translateY(-50%);
}

.pagetop_btn:focus, .pagetop_btn:hover {
  color: #365f81;
  border-color: #365f81;
  background: #fff;
}
.pagetop_btn:focus span, .pagetop_btn:hover span {
  text-decoration: underline;
}
.pagetop_btn:focus span::after, .pagetop_btn:focus span::before {
  background-color: #365f81;
}
.pagetop_btn:hover span::after, .pagetop_btn:hover span::before {
  background-color: #365f81;
}
.pagetop_btn:focus {
  outline: 2px solid #000;
}

footer {
  position: relative;
  padding-top: 50px;
  padding-bottom: 20px;
  background: #e0dedb;
  line-height: 1;
}
footer p {
  line-height: 1.4;
}
footer a.h-ul:hover {
  text-decoration: underline;
}
footer .footer_ttl {
  font-size: 15rem;
  line-height: 2.1;
  margin-bottom: 20px;
  border-bottom: 1px dotted;
}
footer .footer .container_l .footer_sns {
  margin-top: 0;
}
footer .footer_sns_lists {
  display: flex;
  align-items: center;
}
footer .footer_sns_item {
  margin-right: 18px;
}
footer .footer_sns_item a {
  display: block;
}
footer .footer_sns_img {
  width: 42px;
}
footer .footer_contact_item {
  margin-top: 16px;
}
footer .footer_contact_item:first-child {
  margin-top: 0;
}
footer .footer_contact_address {
  margin-top: 40px;
}
footer .footer_contact_address > p {
  margin-bottom: 20px;
}
footer .footer_contact_map {
  display: inline-block;
  padding-bottom: 4px;
  border-bottom: 1px solid;
}
footer .footer_contact_map:focus, footer .footer_contact_map:hover {
  border-color: transparent;
}
footer .footer_contact_map::before {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 5px;
  content: "";
  transform: rotate(45deg);
  border-top: 1px solid;
  border-right: 1px solid;
}
footer .footer_links {
  width: 26.6%;
  max-width: 320px;
  margin-top: -100px;
}
footer .footer_links_item {
  margin-top: 10px;
}
footer .footer_links_item:first-child {
  margin-right: 20px;
}
footer .footer_links_item a {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
footer .footer_links_item a[target=_blank]::after {
  position: absolute;
  top: 5rem;
  right: 5rem;
  display: block;
  width: 10rem;
  height: 10rem;
  content: "";
  background-image: url(../img/icon_out.png);
  background-size: cover;
}
footer .footer_links_img {
  width: 188px;
}
footer .footer_btm_item:first-child {
  margin-top: 0;
}
footer .footer_top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1280px;
  margin: 0 auto;
  padding-right: 40px;
  padding-left: 40px;
}
footer .footer_sns {
  margin-top: 0;
  width: 26.6%;
  max-width: 320px;
}
footer .footer_quicklink {
  display: block;
  width: 26.6%;
  max-width: 320px;
}
footer .footer_quicklink_item {
  line-height: 1.4;
  margin-top: 8px;
}
footer .footer_quicklink_item:first-child {
  margin-top: 0;
}
footer .footer_contact {
  width: 35%;
  max-width: 420px;
}
footer .footer_btm {
  display: flex;
  margin-top: 67px;
  justify-content: space-between;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 40px;
  padding-left: 40px;
}
footer .footer_btm_lists {
  font-size: 14rem;
  display: flex;
  align-items: center;
}
footer .footer_btm_item {
  margin-top: 0;
  padding-right: 20px;
  padding-left: 20px;
  border-right: 1px solid;
}
footer .footer_btm_item:first-child {
  padding-left: 0;
}
footer .footer_btm_item:last-child {
  border-right: none;
}
footer .footer_btm_copyright {
  font-size: 14rem;
  margin-top: 0;
}

[data-icon]:after {
  display: inline-block;
  width: 16rem;
  height: 18rem;
  margin-bottom: -3rem;
  margin-left: 5rem;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
}

[data-icon=pdf]:after {
  background-image: url(../img/icon_pdf.png);
}

[target=_blank] .blank_marker {
  position: relative;
}

@media screen and (min-width: 681px) {
  .sp_block {
    display: none !important;
  }
}
@media screen and (max-width: 1279px) {
  html {
    font-size: 0.0781860829vw;
  }
}
@media screen and (max-width: 680px) {
  .sp_none {
    display: none !important;
  }
  html {
    font-size: 0.2666666667vw;
  }
  body {
    line-height: 1.6;
    font-size: 14rem;
  }
  img {
    width: 100%;
  }
  .inner {
    width: 335rem;
  }
  .s_inner {
    width: 335rem;
  }
  .mt_l {
    margin-top: 80rem;
  }
  .mt_m {
    margin-top: 40rem;
  }
  .mt_s {
    margin-top: 16rem;
  }
  .fade_left {
    transform: translate(-40px, 0);
  }
  .fade_right {
    transform: translate(40px, 0);
  }
  .fade_up {
    transform: translate(0, 40px);
  }
  .fade_down {
    transform: translate(0, -40px);
  }
  .btn a {
    width: 265rem;
    height: 55rem;
    font-size: 14rem;
    border-radius: 30rem;
    padding-right: 20rem;
    margin-left: auto;
    margin-right: auto;
  }
  .btn a::after {
    width: 13rem;
    height: 8rem;
    background-size: 13rem;
    top: calc(50% - 4rem);
    right: 20rem;
    background-size: contain;
  }
  .mv_wrap .mv {
    display: block;
  }
  .mv_wrap .mv .swiper_wrap {
    width: 100%;
    max-width: unset;
  }
  .mv_wrap .mv .ttl {
    width: 100%;
    padding-top: 31.5rem;
    max-width: unset;
    height: 332.5rem;
    position: absolute;
    top: 180rem;
  }
  .mv_wrap .mv .ttl h1 {
    width: 305.5rem;
    max-width: unset;
  }
  .mv_wrap .mv .ttl p {
    font-size: 14rem;
    margin-top: 25rem;
    line-height: 1.8;
  }
  .lead_wrap {
    margin-top: 69rem;
  }
  .lead_wrap::after {
    background-image: url(../img/bg_lead_sp.png);
    width: 100vw;
    height: 331.5rem;
    left: calc(50% - 50vw);
    background-size: contain;
  }
  .lead_wrap .ttl h2 {
    font-size: 21rem;
  }
  .lead_wrap .lead {
    margin-top: 20rem;
    max-width: 335rem;
  }
  .lead_wrap .ttl_wrap {
    margin-top: 32.5rem;
  }
  .lead_wrap .ttl_wrap h3 {
    font-size: 14rem;
  }
  .lead_wrap .movie_wrap {
    display: block;
    margin-top: 20rem;
  }
  .lead_wrap .movie_wrap p {
    margin-top: 7.5rem;
  }
  .lead_wrap .movie_wrap .movie + .movie {
    margin-top: 27.5rem;
  }
  .lead_wrap .movie_wrap iframe {
    width: 216.5rem;
    height: 147rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .lead_wrap .deco_01 {
    top: -69rem;
    left: 0;
    width: 85rem;
  }
  .lead_wrap .deco_02 {
    right: -45rem;
    top: unset;
    width: 115rem;
    bottom: -175rem;
  }
  .ttl_wrap h2 {
    font-size: 39rem;
  }
  .ttl_wrap h2::before {
    width: 16rem;
    height: 22rem;
    background-size: 16rem;
    left: -30rem;
    top: calc(50% - 11rem);
  }
  .ttl_wrap p {
    font-size: 13rem;
    margin-top: -5rem;
  }
  .message_wrap {
    margin-top: 73.5rem;
  }
  .message_wrap::after {
    background-image: url(../img/bg_message_sp.png);
    width: 100vw;
    height: 387rem;
    top: 40rem;
    left: calc(50% - 50vw);
    background-size: contain;
  }
  .message_wrap .ttl_wrap h2::before {
    background-image: url(../img/pic_ttl_deco_01.png);
  }
  .message_wrap .message_contents {
    margin-top: 40rem;
    display: block;
  }
  .message_wrap .message_contents .img_wrap {
    width: 170rem;
    margin-left: auto;
    margin-right: auto;
  }
  .message_wrap .message_contents .txt_wrap {
    width: 335rem;
    font-size: 14rem;
    margin-top: 25rem;
  }
  .message_wrap .message_contents .txt_wrap .name {
    margin-top: 30rem;
  }
  .message_wrap .deco_03 {
    left: 0;
    top: unset;
    width: 162rem;
    bottom: -178rem;
  }
  .history_wrap {
    margin-top: 207rem;
    background-image: url(../img/bg_history_sp.jpg);
    padding-top: 58rem;
    padding-bottom: 118rem;
    height: auto;
    background-size: cover;
  }
  .history_wrap .history {
    margin-top: 63rem;
  }
  .history_wrap .history dl {
    padding-left: 32.5rem;
  }
  .history_wrap .history dl dt {
    font-size: 25rem;
    margin-top: 25rem;
  }
  .history_wrap .history dl dt::before {
    width: 11rem;
    height: 11rem;
    left: -20rem;
    top: calc(50% - 5.5rem);
  }
  .history_wrap .history dl dt::after {
    left: -14.5rem;
    top: 25rem;
  }
  .history_wrap .history dl dt.col2.on_action::after {
    height: unset;
  }
  .history_wrap .history dl dt.sp_col2 {
    margin-bottom: 18rem;
  }
  .history_wrap .history dl dt:nth-of-type(1) {
    margin-top: 0;
  }
  .history_wrap .history dl dt:nth-of-type(1).on_action::after {
    height: 145rem;
  }
  .history_wrap .history dl dt:nth-of-type(3).on_action::after {
    height: 95rem;
  }
  .history_wrap .history dl dt:nth-of-type(2).on_action::after, .history_wrap .history dl dt:nth-of-type(4).on_action::after {
    height: 120rem;
  }
  .history_wrap .history dl dt:nth-of-type(5).on_action::after {
    height: 115rem;
  }
  .history_wrap .history dl dt:nth-of-type(6).on_action::after {
    height: 140rem;
  }
  .history_wrap .history dl dt:nth-of-type(7).on_action::after {
    height: 120rem;
  }
  .history_wrap .history dl dt:nth-of-type(8).on_action::after {
    height: 140rem;
  }
  .history_wrap .history dl dd {
    font-size: 14rem;
    padding-bottom: 18rem;
    max-width: 296rem;
  }
  .history_wrap .history dl dd::before {
    width: 54.5rem;
    left: 0;
  }
  .history_wrap .history dl dd::after {
    width: 100%;
    left: 60rem;
  }
  .history_wrap .history dl dd .companies {
    font-size: 12rem;
  }
  .history_wrap .history dl dd .companies::before {
    border-width: 4rem 0 4rem 7rem;
    top: unset;
    right: 0;
    bottom: unset;
  }
  .history_wrap .history dl dd .companies b {
    font-size: 24rem;
  }
  .history_wrap .history dl dd .companies span {
    font-size: 12rem;
  }
  .history_wrap .history dl dd:first-of-type .companies {
    width: 71.5rem;
    height: 71.5rem;
    left: 0rem;
    left: -40rem;
    top: -115rem;
  }
  .history_wrap .history dl dd:first-of-type .companies::before {
    transform: rotate(45deg);
    bottom: 5rem;
  }
  .history_wrap .history dl dd:last-of-type .companies {
    width: 84rem;
    height: 84rem;
    left: -40rem;
    top: unset;
    bottom: -100rem;
    text-align: center;
  }
  .history_wrap .history dl dd:last-of-type .companies span {
    display: block;
  }
  .history_wrap .history dl dd:last-of-type .companies::before {
    transform: rotate(90deg);
    top: 10rem;
  }
  .history_wrap .deco_04 {
    display: none;
  }
  .history_wrap .deco_05 {
    left: unset;
    right: 0;
    top: unset;
    width: 160rem;
    bottom: -85rem;
  }
  .principles_wrap {
    margin-top: 110rem;
  }
  .principles_wrap .ttl_wrap h2 {
    font-size: 29rem;
  }
  .principles_wrap .txt {
    margin-top: 24rem;
    text-align: left;
  }
  .principles_wrap .btn_wrap {
    height: 147rem;
    background-image: url(../img/bg_btn_sp.jpg);
    margin-top: 110rem;
    background-size: contain;
  }
  .principles_wrap .deco_06 {
    top: -94rem;
    width: 92rem;
  }
  .bottom_content {
    margin-top: 33rem;
    margin-bottom: 80rem;
  }
  .bottom_content .txt {
    font-size: 14rem;
  }
  .bottom_content .btn_wrap {
    margin-top: 33rem;
    display: block;
  }
  .bottom_content .btn_wrap .btn + .btn {
    margin-top: 12rem;
  }
  [target=_blank] .blank_marker {
    position: relative;
  }
  [target=_blank] .blank_text {
    font-size: 12px;
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: -20px;
    display: none;
    width: 116rem;
    height: 20rem;
    color: #333;
    border: 1px solid #3a78af;
    background: #ebf2f5;
    align-items: center;
    justify-content: center;
  }
  [target=_blank]:focus .blank_text, [target=_blank]:hover .blank_text {
    display: flex;
  }
  .pagetop {
    right: 0;
  }
  .pagetop_btn {
    font-size: 14px;
    position: relative;
    display: block;
    display: flex;
    width: 78px;
    height: 78px;
    cursor: pointer;
    color: #fff;
    border: 1px solid #fff;
    background: #365f81;
    align-items: center;
    justify-content: center;
  }
  .pagetop_btn span {
    line-height: normal;
    display: block;
    padding-top: 20rem;
    text-align: center;
  }
  .pagetop_btn span::after {
    position: absolute;
    top: 25%;
    display: block;
    width: 12px;
    height: 1px;
    content: "";
    background: #fff;
  }
  .pagetop_btn span::before {
    position: absolute;
    top: 25%;
    display: block;
    width: 12px;
    height: 1px;
    content: "";
    background: #fff;
    left: 37%;
    transform: rotate(-45deg) translateY(-50%);
  }
  .pagetop_btn span::after {
    right: 37%;
    transform: rotate(45deg) translateY(-50%);
  }
  footer {
    padding-top: 50px;
    padding-bottom: 20px;
  }
  footer .footer_ttl {
    font-size: 15px;
    line-height: 2.1;
    margin-bottom: 20px;
    border-bottom: 1px dotted;
  }
  footer .footer .container_l .footer_sns {
    margin-top: 0;
  }
  footer .footer_sns_lists {
    display: flex;
    align-items: center;
  }
  footer .footer_sns_item {
    margin-right: 18px;
  }
  footer .footer_sns_item a {
    display: block;
  }
  footer .footer_sns_img {
    width: 42px;
  }
  footer .footer_contact {
    margin-top: 50px;
  }
  footer .footer_contact_item:first-child {
    margin-top: 0;
  }
  footer .footer_contact_address {
    margin-top: 40px;
  }
  footer .footer_contact_address > p {
    margin-bottom: 20px;
  }
  footer .footer_contact_map {
    display: inline-block;
    padding-bottom: 4px;
    border-bottom: 1px solid;
  }
  footer .footer_contact_map:focus, footer .footer_contact_map:hover {
    border-color: transparent;
  }
  footer .footer_contact_map::before {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 5px;
    content: "";
    transform: rotate(45deg);
    border-top: 1px solid;
    border-right: 1px solid;
  }
  footer .footer_links {
    width: 100%;
    max-width: unset;
    margin-top: 50px;
  }
  footer .footer_links_lists {
    display: flex;
    align-items: center;
  }
  footer .footer_links_item {
    margin-top: 10px;
  }
  footer .footer_links_item:first-child {
    margin-right: 20px;
  }
  footer .footer_links_item a {
    position: relative;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
  }
  footer .footer_links_item a[target=_blank]::after {
    position: absolute;
    top: 5rem;
    right: 5rem;
    display: block;
    width: 10rem;
    height: 10rem;
    content: "";
    background-image: url(../img/icon_out.png);
    background-size: cover;
  }
  footer .footer_links_img {
    width: 158px;
  }
  footer .footer_btm {
    margin-top: 50px;
  }
  footer .footer_btm_item {
    margin-top: 20px;
  }
  footer .footer_btm_item:first-child {
    margin-top: 0;
  }
  footer .footer_btm_copyright {
    font-size: 12px;
    line-height: 1.6;
    display: block;
    margin-top: 60px;
  }
  footer .footer_top {
    display: block;
    max-width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }
  footer .footer_sns {
    width: 100%;
    max-width: unset;
  }
  footer .footer_quicklink {
    display: block;
    width: 100%;
    max-width: unset;
  }
  footer .footer_quicklink_item {
    line-height: 1.4;
    margin-top: 8px;
  }
  footer .footer_quicklink_item:first-child {
    margin-top: 0;
  }
  footer .footer_contact {
    width: 100%;
    max-width: unset;
  }
  footer .footer_btm {
    display: block;
    margin-top: 67px;
    max-width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }
  footer .footer_btm_lists {
    font-size: 14rem;
    display: block;
  }
  footer .footer_btm_item {
    margin-top: 20px;
    padding-right: 0;
    padding-left: 0;
    border-right: none;
  }
  [data-icon]:after {
    display: inline-block;
    width: 16rem;
    height: 18rem;
    margin-bottom: -3rem;
    margin-left: 5rem;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
  }
  [data-icon=pdf]:after {
    background-image: url(../img/icon_pdf.png);
  }
  [target=_blank] .blank_marker {
    position: relative;
  }
}/*# sourceMappingURL=style.css.map */