@charset "UTF-8";
/*--------------------------------------------------

    global-header

--------------------------------------------------*/
.global-header_bar {
  line-height: 1;
  align-items: center;
  width: 100%;
  height: 75px;
  padding: 0 30px;
  color: #fff;
  font-size: 1.5rem;
  background-color: rgba(35, 127, 203, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999; }

.global-header_logo {
  width: 228px; }
  .global-header_logo_large {
    width: 300px; }

.global-header_item {
  flex: 1;
  align-items: center;
  justify-content: flex-end; }

.global-header_navigation {
  font-weight: 700;
  font-style: italic; }
  .global-header_navigation_list {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
    letter-spacing: 0.1em; }
    .global-header_navigation_list_item {
      position: relative;
      z-index: 0; }
      .global-header_navigation_list_item:not(:last-child) {
        margin-right: 50px; }
    .global-header_navigation_list_link {
      padding: 15px 0; }
    .global-header_navigation_list [class*="_link"].is-current, .global-header_navigation_list [class*="_link"]:hover {
      color: #fbea76; }
    .global-header_navigation_list_sub-list {
      opacity: 0;
      pointer-events: none;
      font-size: 1.3rem;
      font-weight: 400;
      position: absolute;
      top: 45px;
      z-index: 999;
      transition: all 0.5s; }
      .global-header_navigation_list_sub-list_item:not(:last-child) {
        margin-bottom: 15px; }
      .global-header_navigation_list_sub-list_link {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        white-space: nowrap; }
        .global-header_navigation_list_sub-list_link::before {
          content: '-';
          margin-right: 10px; }
    .global-header_navigation_list_item:hover .global-header_navigation_list_sub-list {
      opacity: 1;
      pointer-events: auto; }

.global-header_button {
  margin-left: 40px; }

.global-header_main-visual {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
  width: 100%;
  height: 48.17708vw;
  min-height: 615px;
  background: url(../images/top/global-header_main-visual_bg.png) no-repeat center/cover;
  position: relative;
  z-index: 0; }
  .global-header_main-visual_title {
    margin: 0 0 8.59375% 3.125%; }
    .global-header_main-visual_title > span {
      display: block; }
    .global-header_main-visual_title_ja {
      margin-left: 30px;
      color: #001650;
      font-size: 3.2rem;
      font-weight: 700;
      font-family: "DFHSGothicStd", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
      letter-spacing: 0.1em; }
    .global-header_main-visual_title_white {
      color: #fff; }
    .global-header_main-visual_title_font-small {
      font-size: 100%;
      letter-spacing: 0.15em; }
    .global-header_main-visual_title_font-medium {
      font-size: 87.5%; }
    .global-header_main-visual_title_en {
      margin: 30px 0 33px; }
  .global-header_main-visual_slider {
    width: calc(50% + 280px);
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1; }
  .global-header_main-visual_slider .bx-wrapper,
  .global-header_main-visual_slider .bx-viewport, .global-header_main-visual_item, .global-header_main-visual_figure, .global-header_main-visual_image {
    width: 100% !important;
    height: 100% !important; }

.global-header_sub-visual {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 26.04167vw;
  min-height: 333px;
  background: url(../images/common/global-header_sub-visual_bg.png) no-repeat center/cover;
  position: relative;
  z-index: 0; }
  .global-header_sub-visual_title {
    margin-left: 5.20833%;
    line-height: 1.5;
    color: #fff;
    font-size: 2.8rem;
    letter-spacing: 0.15em; }
    .global-header_sub-visual_title > span {
      display: block; }
    .global-header_sub-visual_title_en {
      margin: 10px 0 0;
      line-height: 1;
      font-size: 13rem;
      font-weight: 400;
      font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
      letter-spacing: 0.05em; }
      .global-header_sub-visual_title_en::first-letter {
        color: #001650;
        font-size: 115.38462%;
        text-transform: capitalize; }
  .global-header_sub-visual_figure {
    width: calc(50% + 430px);
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1; }
  .global-header_sub-visual .global-header_sub-visual_image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right; }

@media screen and (max-width: 1600px) and (min-width: 768px) {
  .global-header_navigation_list_item:not(:last-child) {
    margin-right: 30px; } }

/*--------------------------------------------------

    entrance

--------------------------------------------------*/
.entrance {
  width: 100%;
  padding: 0; }
  .entrance_link {
    width: 50%;
    aspect-ratio: 32/31;
    position: relative;
    z-index: 0;
    overflow: hidden; }
  .entrance_text-box {
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: 700;
    letter-spacing: 0.1em;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999; }
  .entrance_title {
    width: 530px;
    margin: 0 0 58px;
    color: #001650;
    letter-spacing: 0.1em;
    text-align: center; }
    .entrance_title_font-small {
      margin: 0 0 -38px;
      font-size: 1.8rem;
      text-align: right;
      letter-spacing: 0.15em; }
      .entrance_title_font-small_color-change {
        color: #fbea76; }
    .entrance_title_en {
      margin: 0 0 6px;
      line-height: 1;
      font-size: 15rem;
      font-weight: 400;
      font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
      letter-spacing: 0.02em; }
      .entrance_title_en::first-letter {
        color: #fff;
        font-size: 133.33333%; }
    .entrance_title_ja {
      font-size: 3.2rem; }
      .entrance_title_ja_color-change {
        color: #fff; }
      .entrance_title_ja_font-small {
        font-size: 75%; }
  .entrance_button {
    align-items: center;
    justify-content: center;
    width: calc(100% - 100px);
    max-width: 650px;
    min-width: 400px;
    height: 50px;
    padding-left: 20px;
    color: #001650;
    border: 1px solid;
    transition: all 0.3s; }
    .entrance_button::after {
      content: '';
      width: 20px;
      height: 20px;
      margin-left: 20px;
      background: url(../images/common/button_arrow_blue.png) no-repeat center/contain;
      transition: all 0.3s; }
    .entrance_button:hover {
      background-color: rgba(0, 22, 80, 0.4); }
      .entrance_button:hover::after {
        transform: translateX(10px); }
  .entrance_figure, .entrance_image {
    width: 100%;
    height: 100%;
    transition: all 0.3s; }
  .entrance_link:nth-child(even) .entrance_title {
    color: #fff; }
    .entrance_link:nth-child(even) .entrance_title_en::first-letter {
      color: #001650; }
    .entrance_link:nth-child(even) .entrance_title_ja {
      color: #001650; }
  .entrance_link:nth-child(even) .entrance_button {
    color: #fff; }
    .entrance_link:nth-child(even) .entrance_button::after {
      background-image: url(../images/common/button_arrow_white.png); }
    .entrance_link:nth-child(even) .entrance_button:hover {
      background-color: rgba(255, 255, 255, 0.4); }
  .entrance_link:hover .entrance_image {
    transform: scale(1.3); }

/*--------------------------------------------------

    message

--------------------------------------------------*/
.message {
  padding: 180px 0 140px;
  line-height: 2.11111;
  color: #fff;
  background: url(../images/top/message/message_bg.png) no-repeat left/cover; }
  .message::before {
    opacity: 0.4;
    color: #9ea6a5;
    font-size: 36rem;
    top: 4.6875%;
    left: 7.55208%; }
  .message_title {
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    max-width: 1920px;
    padding-right: 5.20833%;
    margin: 0 auto 91px;
    line-height: 1.55; }
    .message_title::after {
      flex-shrink: 0;
      content: '';
      width: 240px;
      height: 1px;
      margin-left: 40px;
      background-color: #fff; }
    .message_title_item + .message_title_item {
      text-indent: 4.5em; }
    .message_title_emphasis {
      color: #fbea76; }
  .message_text-box {
    width: 640px;
    margin-left: auto; }
  .message_link {
    justify-content: flex-end;
    margin-top: 50px; }

/*--------------------------------------------------

    occupation

--------------------------------------------------*/
.occupation {
  padding: 60px 0 150px;
  line-height: 2.11111;
  color: #fff;
  background: url(../images/top/occupation/occupation_bg.png) no-repeat top/cover;
  z-index: 50; }
  .occupation::before {
    top: -120px;
    right: -30px; }
  .occupation_title {
    align-items: center;
    justify-content: flex-start;
    padding-left: 5.20833%;
    margin: 0 0 95px; }
    .occupation_title::before {
      content: '';
      width: 240px;
      height: 1px;
      margin-right: 40px;
      background-color: #fff; }
    .occupation_title_emphasis {
      color: #fbea76; }
    .occupation_title_number {
      font-size: 140%; }
  .occupation_wrapper {
    flex-direction: row-reverse; }
  .occupation_figure {
    margin: 125px -40px 0 0; }
  .occupation_text-box {
    width: 500px;
    margin: 0 -60px 0 -1em; }
  .occupation_link {
    justify-content: flex-start;
    margin: 90px 0 0; }
    .occupation_link_item + .occupation_link_item {
      margin-left: 100px; }

/*--------------------------------------------------

    about-top

--------------------------------------------------*/
.about-top {
  padding: 150px 0;
  color: #fff;
  background: url(../images/top/about-top/about-top_bg.png) no-repeat center/cover;
  position: relative;
  z-index: 100; }
  .about-top::before {
    content: '';
    width: 638px;
    height: 625px;
    background: url(../images/top/about-top/about-top_shape.png) no-repeat left top/contain;
    position: absolute;
    top: -270px;
    left: calc(50% - 960px);
    z-index: -1; }
  .about-top_title {
    margin: 0 0 20px; }
  .about-top_text {
    margin: 0 0 70px;
    text-align: center; }
  .about-top_list {
    margin: 0 0 50px; }
  @media screen and (min-width: 1920px) {
    .about-top::before {
      left: 0; } }

/*--------------------------------------------------

    fixed-bg

--------------------------------------------------*/
.fixed-bg {
  width: 100%;
  height: 500px;
  background: url(../images/top/fixed-bg/fixed-bg_bg.png) no-repeat center/cover;
  background-attachment: fixed; }

/*--------------------------------------------------

    partner

--------------------------------------------------*/
.partner {
  padding: 120px 0 80px;
  color: #fff;
  background: url(../images/top/partner/partner_bg.png) no-repeat center/cover;
  overflow: hidden; }
  .partner::before {
    font-size: 18.75vw;
    right: -20px;
    bottom: -35px; }
  .partner_title {
    align-items: center;
    justify-content: flex-end;
    padding-right: 7.29167%;
    margin: 0 0 45px; }
    .partner_title::after {
      content: '';
      width: 240px;
      height: 1px;
      margin-left: 40px;
      background-color: #fff; }
    .partner_title_font-yellow {
      color: #fbea76; }
  .partner_text-box {
    width: 520px;
    margin-left: auto; }
  .partner_link {
    justify-content: flex-end;
    margin: 50px 0 0; }

/*--------------------------------------------------

    news-top

--------------------------------------------------*/
.news-top {
  padding: 120px 0;
  background-color: #fff; }
  .news-top_wrapper {
    position: relative;
    z-index: 0; }
  .news-top_title {
    color: #001650;
    font-size: 2.8rem; }
    .news-top_title_en {
      color: #237fcb;
      font-size: 228.57143%;
      font-weight: 400;
      font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
      letter-spacing: 0.05em; }
  .news-top_list {
    width: 810px;
    min-height: 257px; }
  .news-top_link {
    display: flex;
    align-items: baseline;
    color: #001650;
    font-size: 1.6rem;
    border-bottom: 1px solid #fbea76;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 99; }
    .news-top_link::after {
      content: '';
      width: 17px;
      height: 6px;
      margin-left: 25px;
      background: url(../images/common/link_arrow_yellow.png) no-repeat center/contain; }
    .news-top_link:hover {
      color: #fbea76; }

/*--------------------------------------------------

    charm

--------------------------------------------------*/
.charm {
  padding-top: 140px;
  color: #fff;
  position: relative;
  z-index: 0; }
  .charm::before, .charm::after {
    content: '';
    width: 100%;
    position: absolute;
    left: 0; }
  .charm::before {
    height: calc(50% + 150px);
    background: url(../images/charm/charm_bg01.png) no-repeat top/cover;
    top: 0;
    z-index: -1; }
  .charm::after {
    height: 50%;
    background: url(../images/charm/charm_bg02.png) no-repeat top/cover;
    bottom: 0;
    z-index: -10; }
  .charm_content_item::before {
    right: -40px;
    bottom: 440px; }
  .charm_content_item:not(:last-child) {
    margin-bottom: 66px; }
  .charm_content_text-box {
    padding: 0 calc(50% - 540px);
    margin: 0 0 40px; }
  .charm_content_title {
    margin: 0 0 50px;
    font-size: 2.4rem; }
    .charm_content_title_number {
      margin: 0 0 2px;
      font-weight: 400;
      font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif; }
      .charm_content_title_number_emphasis {
        color: #fbea76;
        font-size: 200%; }
    .charm_content_title_ja {
      margin: 0 0 -4px;
      font-size: 166.66667%; }
    .charm_content_title_en {
      opacity: 0.4;
      font-weight: 400;
      font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
      letter-spacing: 0.05em; }
  .charm_content_link {
    margin: 25px 0 0; }
  .charm_content_figure {
    width: 1393px;
    margin-left: calc(50% - 440px); }
  .charm_content_item:first-child .charm_content_text-box {
    margin: 0; }
  .charm_content_item:nth-child(even) .charm_content_figure {
    margin-left: calc(50% - 960px); }
  .charm-model {
    padding-top: 245px;
    color: #001650; }
    .charm-model::before {
      opacity: 0.3;
      color: #237fcb;
      font-size: 36rem;
      top: -163px;
      left: -26px; }
    .charm-model_list_item {
      width: 100%;
      min-height: 348px;
      position: relative;
      z-index: 0; }
      .charm-model_list_item:not(:last-child) {
        margin-bottom: 50px; }
    .charm-model_list_text-box {
      width: 540px;
      margin-left: auto; }
    .charm-model_list_data {
      padding: 0 0 5px;
      margin: 0 0 13px;
      border-bottom: 1px solid #ccd0dc; }
    .charm-model_list_title {
      margin: 0 0 25px;
      font-size: 3.2rem; }
      .charm-model_list_title_label {
        display: inline-block;
        margin-right: 20px;
        font-size: 75%; }
    .charm-model_list_figure {
      width: 520px;
      aspect-ratio: 130/87;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0; }
    .charm-model_list_image {
      width: 100%;
      height: 100%; }
    .charm-model_list_sub-list {
      line-height: 1.5; }
      .charm-model_list_sub-list_item {
        padding: 22px 0; }
        .charm-model_list_sub-list_item:not(:last-child) {
          border-bottom: 1px solid #ccd0dc; }
      .charm-model_list_sub-list_title {
        width: 170px;
        padding-left: 25px; }
      .charm-model_list_sub-list_text {
        flex: 1; }

/*--------------------------------------------------

    about

--------------------------------------------------*/
.about {
  color: #fff;
  background: url(../images/about/about_bg.png) no-repeat center/cover;
  z-index: 99; }
  .about::before {
    font-size: 14.0625vw;
    right: -30px;
    bottom: -6.25vw; }
  .about_text {
    margin: 0 0 30px;
    text-align: center; }
  .about-flow {
    color: #fff;
    background: url(../images/about/about-flow_bg.png) no-repeat center/cover;
    overflow: hidden; }
    .about-flow::before {
      left: -20px;
      bottom: -40px; }
    .about-flow_content_item:not(:last-child) {
      margin-bottom: 90px; }
    .about-flow_content_title {
      margin: 0 0 35px; }
      .about-flow_content_title::after {
        background-color: #fff; }
    .about-flow_content_list {
      align-items: stretch;
      justify-content: flex-start;
      margin: 0 0 -25px;
      line-height: 1.66667; }
      .about-flow_content_list_item {
        width: 325px;
        margin: 0 0 50px; }
        .about-flow_content_list_item:not(:nth-child(3n)):not(:last-child) {
          margin-right: 52.5px;
          position: relative;
          z-index: 0; }
          .about-flow_content_list_item:not(:nth-child(3n)):not(:last-child)::after {
            content: '';
            width: 10px;
            height: 15px;
            background-color: #fbea76;
            clip-path: polygon(0 0, 0% 100%, 100% 50%);
            position: absolute;
            top: 90px;
            right: -30px;
            z-index: -1; }
      .about-flow_content_list_time {
        margin: 0 0 15px;
        line-height: 1;
        color: #001650;
        font-size: 4.8rem;
        font-weight: 400;
        font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif; }
      .about-flow_content_list_title {
        margin: 0 0 17px;
        line-height: 1.28571;
        font-size: 2.8rem; }

/*--------------------------------------------------

    recruit

--------------------------------------------------*/
.recruit {
  color: #fff;
  background: url(../images/recruit/recruit_bg.png) no-repeat center/cover; }
  .recruit-seeker {
    padding-top: 140px;
    color: #fff;
    background: url(../images/recruit/recruit-seeker_bg.png) no-repeat center/cover;
    z-index: 99; }
    .recruit-seeker::before {
      right: -30px;
      bottom: -148px; }
    .recruit-seeker_list_item {
      width: 328px;
      text-align: center; }
    .recruit-seeker_list_figure {
      margin: 0 0 12px;
      position: relative;
      z-index: 0;
      overflow: hidden; }
      .recruit-seeker_list_figure::before {
        content: attr(data-label);
        line-height: 1;
        color: #001650;
        font-size: 3.2rem;
        font-weight: 400;
        font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
        position: absolute;
        right: -1px;
        bottom: -5px;
        z-index: 99;
        pointer-events: none; }
    .recruit-seeker_list_item:nth-child(even) .recruit-seeker_list_figure::before {
      color: #fff; }
    .recruit-seeker_list_title {
      margin: 0 0 10px;
      font-size: 3.2rem; }
  .recruit_title::after {
    margin-left: 35px;
    background-color: #fff; }
  .recruit_navigation {
    margin: 0 -48px 30px 0; }
    .recruit_navigation_list {
      align-items: center;
      justify-content: flex-start; }
    .recruit_navigation_item {
      min-width: 328px;
      height: 50px;
      margin: 0 48px 20px 0; }
      .recruit_navigation_item.current {
        background-color: rgba(255, 255, 255, 0.3); }
    .recruit_navigation_button {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      padding: 0 20px 0 45px;
      border: 1px solid; }
      .recruit_navigation_button::after {
        content: '';
        width: 20px;
        height: 20px;
        margin-left: 25px;
        background: url(../images/common/button_arrow_white.png) no-repeat center/cover;
        transition: all 0.5s; }
      .recruit_navigation_button:hover {
        background-color: rgba(255, 255, 255, 0.3); }
        .recruit_navigation_button:hover::after {
          transform: translateX(10px); }
  .recruit_content_title {
    margin: 0 0 15px;
    font-size: 2.4rem; }
    .recruit_content_title::after {
      content: normal; }
  .recruit-partner {
    padding: 0; }
    .recruit-partner_content {
      padding: 100px 0;
      color: #fff;
      background: url(../images/recruit/recruit-partner_content_bg.png) no-repeat center/cover; }
      .recruit-partner_content::before {
        opacity: 0.3;
        color: #237fcb;
        font-size: 18.75vw;
        right: -20px;
        bottom: -7.55208vw; }
      .recruit-partner_content_wrapper {
        width: 540px;
        margin-left: 50%; }
      .recruit-partner_content_title {
        margin: 0 0 60px;
        background-position: left bottom; }
    .recruit-partner_detail {
      padding: 100px 0;
      color: #001650;
      position: relative;
      z-index: 999; }
      .recruit-partner_detail_title {
        margin: 0 0 15px;
        font-size: 2.4rem; }
        .recruit-partner_detail_title::after {
          content: normal; }
      .recruit-partner_detail_table_row:not(:last-child) {
        border-bottom: 1px solid #ccd0dc; }

/*--------------------------------------------------

    company

--------------------------------------------------*/
.company {
  color: #fff;
  padding-bottom: 100px;
  background: url(../images/company/company_bg.png) no-repeat center/cover;
  position: relative;
  z-index: 99; }
  .company_content:not(:last-child) {
    margin-bottom: 100px; }
  .company_greeting::before {
    right: -30px;
    bottom: -60px; }
  .company_greeting_title {
    margin: 0 0 28px; }
    .company_greeting_title::after {
      background-color: #fff; }
  .company_greeting_name-box {
    font-size: 1.6rem;
    text-align: right; }
    .company_greeting_name-box_font-large {
      display: inline-block;
      margin-left: 20px;
      font-size: 150%; }
  .company_video {
    margin: -85px 0 0;
    position: relative;
    z-index: 0; }
    .company_video_wrapper {
      width: 900px; }
    .company_video_text {
      margin: 0 0 6px;
      font-size: 2.2rem;
      color: #001650;
      text-align: center; }
    .company_video_box {
      width: 100%;
      aspect-ratio: 450/253; }
      .company_video_box video {
        width: 100% !important;
        height: 100% !important; }
  .company_policy::before {
    right: -20px;
    bottom: -50px; }
  .company_policy_title {
    margin: 0 0 28px; }
    .company_policy_title::after {
      background-color: #fff; }
  .company_philosophy::before {
    right: -20px;
    bottom: -185px; }
  .company_philosophy_title {
    margin: 0 0 17px; }
    .company_philosophy_title::after {
      background-color: #fff; }
  .company_philosophy_list_item {
    align-items: center;
    justify-content: flex-start;
    padding: 10px 20px;
    color: #001650;
    font-size: 2.4rem;
    background-color: rgba(255, 255, 255, 0.25); }
    .company_philosophy_list_item:not(:last-child) {
      margin-bottom: 30px; }
  .company_philosophy_list_number {
    margin-right: 25px;
    color: #fbea76;
    font-size: 3.2rem;
    font-weight: 400;
    font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif; }
    .company_philosophy_list_number_font-large {
      font-size: 125%; }
  .company-detail {
    padding-bottom: 70px;
    color: #fff;
    background: url(../images/company/company-detail_bg.png) no-repeat center/cover; }
    .company-detail_content {
      align-items: stretch; }
      .company-detail_content + .company-detail_content {
        margin-top: 55px; }
      .company-detail_content_title {
        margin: 0 0 42px;
        font-size: 2.4rem; }
        .company-detail_content_title::after {
          content: normal; }
      .company-detail_content_table {
        margin: -25px 0 0; }
      .company-detail_content_box {
        width: 520px;
        margin: 0 0 50px;
        color: #001650;
        background-color: rgba(255, 255, 255, 0.25); }
        .company-detail_content_box_figure {
          width: 100%;
          aspect-ratio: 13/7; }
        .company-detail_content_box_image {
          width: 100%;
          height: 100%; }
        .company-detail_content_box_title {
          padding: 19px 20px;
          font-size: 2.4rem;
          border-bottom: 1px solid rgba(35, 127, 203, 0.3); }
        .company-detail_content_box_list {
          padding: 20px;
          line-height: 1.5; }
          .company-detail_content_box_list_item:not(:last-child) {
            margin-bottom: 32px; }

/*--------------------------------------------------

    privacy

--------------------------------------------------*/
.privacy_title {
  background-image: linear-gradient(90deg, #000, #000); }

.privacy_content {
  padding: 50px;
  color: #fff;
  background-color: #237fcb; }
  .privacy_content:not(:last-child) {
    margin-bottom: 40px; }

.privacy_subtitle {
  margin: 0 0 15px;
  font-size: 2.4rem; }
  .privacy_subtitle::after {
    content: normal; }

.privacy_list_item {
  display: flex; }
  .privacy_list_item::before {
    content: '・'; }

/*--------------------------------------------------

    site

--------------------------------------------------*/
.site_title {
  background-image: linear-gradient(90deg, #000, #000); }

.site_list {
  display: flex;
  flex-flow: column wrap;
  align-content: space-between;
  height: 350px; }
  .site_list_item {
    width: 48%;
    border-bottom: 1px solid #000; }
  .site_list_link {
    display: flex;
    align-items: center;
    padding: 15px 7px 10px;
    position: relative; }
    .site_list_link:hover {
      color: #237fcb;
      transform: translateX(10px); }
    .site_list_link::before {
      content: '\f054';
      font-size: 1em;
      font-weight: 900;
      font-family: "Font Awesome 5 Free";
      margin-right: 1em; }

/*--------------------------------------------------

    e404

--------------------------------------------------*/
.error {
  text-align: center; }
  .error_title {
    background-image: linear-gradient(90deg, #000, #000); }
  .error a {
    color: #237fcb;
    display: inline;
    text-decoration: underline; }

/*--------------------------------------------------

    contact

--------------------------------------------------*/
.contact_title {
  background-image: linear-gradient(90deg, #000, #000); }

.contact_table {
  width: 100%;
  margin: 0 0 40px; }
  .contact_table_row:not(:last-child) {
    border-bottom-color: #ccd0dc; }
  .contact_table_title {
    justify-content: space-between;
    width: 340px;
    text-align: left;
    line-height: 1.5;
    vertical-align: middle;
    transition: all 0.5s; }
    .contact_table_title [class*="mark"] {
      line-height: 1.5;
      color: #fff;
      float: right;
      padding: 4px 12px;
      font-size: 1.2rem;
      border-radius: 16px; }
    .contact_table_title .required-mark {
      background-color: #237fcb; }
    .contact_table_title .arbitrary-mar {
      background-color: #15b91b; }
  .contact_table_text {
    padding-top: 20px;
    padding-left: 20px; }
    .contact_table_text a {
      display: inline-block;
      text-decoration: underline;
      white-space: nowrap; }
    .contact_table_text div:not(:last-child) {
      margin-bottom: 8px; }
    .contact_table_text label {
      white-space: nowrap; }
    .contact_table_text input:focus,
    .contact_table_text select:focus,
    .contact_table_text textarea:focus {
      outline: none;
      border-color: #000; }

.contact select,
.contact textarea,
.contact input[type='tel'],
.contact input[type='text'],
.contact input[type='num'],
.contact input[type='email'] {
  padding: 4px;
  border: 1px solid #dadada;
  border-radius: 2px;
  box-shadow: 0 1px 1px rgba(100, 100, 100, 0.1) inset;
  transition: all 0.4s; }

.contact textarea {
  display: block;
  resize: none; }

.contact input[type='button'],
.contact input[type='submit'] {
  border: none;
  -webkit-appearance: none;
  transition: all 0.5s;
  cursor: pointer; }

.contact input[type='button'][disabled],
.contact input[type='submit'][disabled] {
  background-color: #9a9a9a;
  pointer-events: none; }

.contact input[type=radio],
.contact input[type=checkbox] {
  display: inline-block;
  margin-right: 6px; }

.contact input[type=radio] + label,
.contact input[type=checkbox] + label {
  position: relative;
  display: inline-block;
  margin-right: 12px;
  line-height: 30px;
  cursor: pointer; }

.contact input[type=radio],
.contact input[type=checkbox] {
  display: none;
  margin: 0; }

.contact input[type=radio] + label,
.contact input[type=checkbox] + label {
  padding: 0 0 0 24px;
  color: inherit; }

.contact input[type=radio] + label::before,
.contact input[type=checkbox] + label::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0; }

.contact input[type=radio] + label::before {
  border: 2px solid #ccc;
  border-radius: 30px; }

.contact input[type=checkbox] + label::before {
  border: 2px solid #ccc; }

.contact input[type=radio]:checked + label::after,
.contact input[type=checkbox]:checked + label::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%; }

.contact input[type=radio]:checked + label::after {
  margin-top: -4px;
  background: #b91515;
  border-radius: 8px;
  left: 5px;
  width: 8px;
  height: 8px; }

.contact input[type=checkbox]:checked + label::after {
  width: 16px;
  height: 8px;
  margin-top: -8px;
  border-left: 3px solid #b91515;
  border-bottom: 3px solid #b91515;
  transform: rotate(-45deg);
  left: 3px; }

.contact input[name="items[address]"] {
  margin-top: 8px; }

.contact .sec-error-text {
  line-height: 80px;
  text-align: center;
  color: #fff;
  font-size: 20px;
  background: #3f955b; }

.contact .error-text {
  margin: 0 0 4px;
  color: #b91515; }

.contact_submits {
  display: flex;
  align-items: center;
  justify-content: center; }

.contact_button {
  display: block;
  max-width: 230px;
  height: 60px;
  padding: 0;
  margin: 0;
  border-color: #001650;
  transition: all 0.3s; }
  .contact_button + .contact_button {
    margin-left: 4%; }
  .contact_button::before, .contact_button::after {
    content: normal; }
  .contact_button:hover {
    color: #fff;
    background-color: #237fcb; }
  .contact_button input {
    width: 100%;
    height: 100%;
    background: transparent; }

.contact_recaptcha {
  margin: 0 0 20px;
  overflow: hidden; }
  .contact_recaptcha .g-recaptcha {
    width: 304px;
    margin: auto; }

.contact_text-box {
  text-align: center; }

.contact select,
.contact textarea,
.contact input[type='tel'],
.contact input[type='text'],
.contact input[type='email'] {
  width: 100%; }

.contact input[type='num'] {
  width: 70px; }

.contact textarea {
  min-height: 230px; }

.contact .upload-item {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between; }
  .contact .upload-item-wrap {
    width: 32%;
    font-size: 1.2rem;
    overflow: hidden; }
  .contact .upload-item input[type="file"] {
    display: none; }
  .contact .upload-item .thumb {
    width: 100%;
    aspect-ratio: 1/1;
    margin: 0 0 10px;
    position: relative;
    overflow: hidden; }
  .contact .upload-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .contact .upload-item img.thumb {
    width: 32%;
    margin: 0; }
  .contact .upload-item .ancion-btn-wrap {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%; }
  .contact .upload-item .ancion-btn {
    display: block;
    width: 48%;
    line-height: 35px;
    color: #fff;
    text-align: center;
    letter-spacing: 0;
    border-radius: 4px;
    background: #e6e6e6; }
    .contact .upload-item .ancion-btn + .contact .upload-item .ancion-btn {
      margin-top: 10px; }
    .contact .upload-item .ancion-btn:hover {
      cursor: pointer; }
  .contact .upload-item .select-file {
    background: #2ecc71; }
  .contact .upload-item .deselect-file {
    background: #e74c3c; }
  .contact .upload-item-attention {
    width: 100%;
    font-size: 1.4rem; }
    .contact .upload-item-attention_item {
      display: flex;
      align-items: baseline; }
      .contact .upload-item-attention_item::before {
        content: '※';
        margin-right: 5px; }

/*--------------------------------------------------

    global-footer

--------------------------------------------------*/
.global-footer {
  padding: 80px 0 30px;
  line-height: 1.625;
  color: #fff;
  font-size: 1.6rem;
  background: url(../images/common/global-footer_bg.png) no-repeat center/cover; }
  .global-footer_wrapper {
    align-items: stretch; }
  .global-footer_item {
    width: 320px;
    font-weight: 400; }
    .global-footer_item_logo {
      width: 228px;
      margin: 0 0 40px; }
      .global-footer_item_logo a {
        display: inline-block; }
    .global-footer_item_text-box + .global-footer_item_text-box {
      margin-top: 27px; }
    .global-footer_item_button {
      width: 100%;
      margin: 42px 0 0; }
  .global-footer_block {
    flex: 1;
    flex-direction: column;
    align-content: flex-start;
    margin-left: 200px; }
    .global-footer_block_list {
      justify-content: flex-end;
      font-weight: 700;
      font-style: italic; }
      .global-footer_block_list_item:not(:nth-child(3)), .global-footer_block_list_item:not(:last-child) {
        margin-right: 40px; }
      .global-footer_block_list_item:not(:nth-last-child(-n+4)) {
        margin-bottom: 39px; }
      .global-footer_block_list [class*="_link"]:hover {
        color: #fbea76; }
      .global-footer_block_list_sub-list {
        margin: 17px 0 0;
        font-size: 1.4rem;
        font-weight: 400; }
        .global-footer_block_list_sub-list_item:not(:last-child) {
          margin-bottom: 14px; }
        .global-footer_block_list_sub-list_link {
          display: flex;
          align-items: center; }
          .global-footer_block_list_sub-list_link::before {
            content: '-';
            margin-right: 10px; }
    .global-footer_block_box {
      width: 100%;
      text-align: right;
      letter-spacing: 0.1em; }
    .global-footer_block_another-list {
      justify-content: flex-end;
      margin: 0 0 20px;
      font-size: 1.4rem; }
      .global-footer_block_another-list_item {
        display: flex;
        align-items: baseline; }
        .global-footer_block_another-list_item:not(:last-child) {
          margin-right: 50px; }
        .global-footer_block_another-list_item::before {
          flex-shrink: 0;
          content: '';
          width: 5px;
          height: 10px;
          margin-right: 10px;
          background: url(../images/common/icon_arrow_white.png) no-repeat center/contain; }
      .global-footer_block_another-list_link {
        border-bottom: 1px solid; }
        .global-footer_block_another-list_link:hover {
          color: #fbea76; }
    .global-footer_block_official-site {
      display: inline-flex;
      align-items: center;
      line-height: 1;
      font-size: 2.4rem;
      font-weight: 400;
      font-family: "FjallaOne", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
      font-style: italic; }
      .global-footer_block_official-site::after {
        content: '';
        width: 21.25px;
        height: 21.25px;
        margin-left: 10px;
        background: url(../images/common/icon_blank.png) no-repeat center/contain; }
      .global-footer_block_official-site_font-large {
        font-size: 133.33333%; }
      .global-footer_block_official-site:hover {
        color: #fbea76; }
  .global-footer_copyright {
    width: 100%;
    margin: 60px 0 0;
    font-size: 1rem;
    text-align: center; }
    .global-footer_copyright a {
      display: inline; }
  .global-footer_fix {
    padding: 5px;
    line-height: 1;
    color: #000;
    background: #fff; }
    .global-footer_fix .global-footer_copyright {
      margin: 0; }

/*# sourceMappingURL=style.css.map */