@charset "UTF-8";
@media screen and (max-width: 1200px) {
  /**************************************************
    サブ共通
  **************************************************/
  .main_wiz_index .index_wrap {
    display: none !important;
  }
  .main_wiz_index .contents_wrap {
    width: 100%;
  }
  .anchor_wrap.partners_anchor_wrap {
    display: block !important;
  }
  /**************************************************
    ボタン
  **************************************************/
  .cmn_btn {
    width: 30vw;
  }
  .cmn_btn.large {
    width: 40vw;
  }
  /**************************************************
    サービス
  **************************************************/
  .service02 .service02_inner {
    flex-direction: column;
    align-items: center;
  }
  .service02 .txtbox {
    margin-bottom: min(2.0833333333vw, 40px);
  }
  .service02 .lists {
    width: 100%;
    max-width: 960px;
  }
  /**************************************************
    TOP MV
  **************************************************/
  .top_mv_inner {
    grid-template-columns: minmax(280px, 42%) minmax(0, 58%);
    gap: 40px;
  }
  .top_mv_inner::after {
    bottom: -35px;
  }
  .top_mv_visuals {
    min-height: 500px;
  }
  /**************************************************
    TOP Strength
  **************************************************/
  .top_strength_cards {
    width: calc(100% - 44px);
    flex-wrap: wrap;
    margin-top: -44px;
    bottom: -80%;
  }
  .top_strength_card {
    flex: 1 1 calc(50% - 16px);
  }
  .top_strength_inner .top_btn_wrap {
    margin-top: 40% !important;
  }
  .top_section_head--center {
    gap: 2em;
  }
  .top_strength_catch {
    min-width: 460px;
  }
  /**************************************************
    TOP Business
  **************************************************/
  .top_business_inner {
    gap: 46px;
  }
  .top_business_cards {
    flex-basis: 48%;
  }
  .top_business_inner {
    min-height: clamp(500px, 54vw, 680px);
    gap: 48px;
  }
  .top_business_map {
    left: 43%;
    width: min(58vw, 720px);
  }
  .top_business_cards {
    flex-basis: 44%;
  }
  .top_business_card_title {
    padding: 0.3em 0.3em;
  }
  /**************************************************
    TOP Staff
  **************************************************/
  .top_staff_inner,
  .top_company_inner,
  .top_blog_inner {
    width: min(100% - 88px, 1100px);
  }
  /**************************************************
    TOP Company
  **************************************************/
  .top_company_media {
    width: 76%;
  }
  .top_company_media {
    width: 72%;
  }
}
@media screen and (min-width: 767px) {
  /**************************************************
    表示制御
  **************************************************/
  header nav.sp-only {
    display: none;
  }
  main .top02 .about-btn.sp-only,
  main .top02 .bg .sp-only,
  main .top04 .bg .sp-only {
    display: none;
  }
  main .company02 .top .bg .sp-only {
    display: none;
  }
  br.sp {
    display: none;
  }
  /**************************************************
    ニュース
  **************************************************/
  .news01 .side.sp-only {
    display: none;
  }
  .newsdetail01 .side.sp-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  /**************************************************
    共通
  **************************************************/
  body:has(#menu_trigger.active) {
    overflow: hidden;
  }
  .recruit-card,
  .site-footer .recruit_bnr a {
    width: 100%;
    min-height: 0;
    overflow: hidden;
  }
  .recruit-card {
    display: block;
    flex: none;
  }
  .recruit-card_picture,
  .recruit-card_picture img,
  .site-footer .recruit_bnr_picture,
  .site-footer .recruit_bnr img {
    display: block;
    width: 100%;
  }
  .recruit-card_picture img,
  .site-footer .recruit_bnr img {
    height: auto;
  }
  :root {
    --header-h: 70px;
  }
  .menu-control {
    width: 52px;
    min-height: 52px;
  }
  .menu-icon {
    width: 34px;
    height: 34px;
  }
  .menu-control_icon {
    font-size: 43px;
  }
  .contact-card_number {
    font-size: 23px;
  }
  .contact-card_time {
    width: 100%;
    text-align: center;
  }
  main {
    margin-top: var(--header-h) !important;
  }
  main {
    margin-top: 0 !important;
  }
  /**************************************************
    サブ共通
  **************************************************/
  .pagetitle .en_title {
    margin-left: unset;
  }
  .pagetitle .en_title::before {
    width: 1.3em;
    right: -1em;
    top: -0.3em;
  }
  .pagetitle .sub_label {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    min-width: min(220px, 100%, 383px);
    margin-right: 0;
  }
  /**************************************************
    フォントサイズ
  **************************************************/
  .f_10 {
    font-size: 2.8vw;
  }
  .f_12 {
    font-size: 2.8vw;
  }
  .f_12-sp {
    font-size: clamp(10px, 3.0769230769vw, 12px) !important;
  }
  .f_14 {
    font-size: clamp(12px, 2.8vw, 14px);
  }
  .f_14-sp {
    font-size: clamp(12px, 3.5897435897vw, 14px) !important;
  }
  .f_16 {
    font-size: clamp(16px, 3.2vw, 16px);
  }
  .f_16-sp {
    font-size: clamp(14px, 4.1025641026vw, 16px) !important;
  }
  .f_18 {
    font-size: clamp(16px, 3.6vw, 18px);
  }
  .f_18-sp {
    font-size: clamp(14px, 4.6153846154vw, 18px) !important;
  }
  .f_19 {
    font-size: clamp(14px, 3.7vw, 19px);
  }
  .f_20 {
    font-size: clamp(15px, 3.8vw, 20px);
  }
  .f_20-sp {
    font-size: clamp(16px, 5.1282051282vw, 20px) !important;
  }
  .f_21-sp {
    font-size: clamp(14px, 5.3846153846vw, 21px) !important;
  }
  .f_22 {
    font-size: clamp(18px, 4vw, 22px);
  }
  .f_22-sp {
    font-size: clamp(14px, 5.641025641vw, 22px) !important;
  }
  .f_24 {
    font-size: clamp(18px, 4.5vw, 24px);
  }
  .f_24-sp {
    font-size: clamp(15px, 6.1538461538vw, 24px) !important;
  }
  .f_25-sp {
    font-size: clamp(15px, 6.4102564103vw, 25px) !important;
  }
  .f_26 {
    font-size: clamp(15px, 4.4vw, 26px);
  }
  .f_26-sp {
    font-size: clamp(15px, 6.6666666667vw, 26px) !important;
  }
  .f_28 {
    font-size: clamp(15px, 4.6vw, 28px);
  }
  .f_28-sp {
    font-size: clamp(15px, 7.1794871795vw, 28px) !important;
  }
  .f_29-sp {
    font-size: clamp(15px, 7.4358974359vw, 29px) !important;
  }
  .f_30 {
    font-size: clamp(15px, 4.4vw, 30px);
  }
  .f_32 {
    font-size: clamp(15px, 4.8vw, 32px);
  }
  .f_32-sp {
    font-size: clamp(15px, 8.2051282051vw, 32px) !important;
  }
  .f_34 {
    font-size: clamp(22px, 4.8vw, 34px);
  }
  .f_34-sp {
    font-size: clamp(15px, 8.7179487179vw, 34px) !important;
  }
  .f_36 {
    font-size: clamp(15px, 5.8vw, 36px);
  }
  .f_36-sp {
    font-size: clamp(15px, 9.2307692308vw, 36px) !important;
  }
  .f_38 {
    font-size: clamp(15px, 5vw, 38px);
  }
  .f_40 {
    font-size: clamp(22px, 7vw, 40px);
  }
  .f_40-sp {
    font-size: clamp(15px, 10.2564102564vw, 40px) !important;
  }
  .f_42 {
    font-size: clamp(20px, 5vw, 42px);
  }
  .f_44 {
    font-size: clamp(20px, 5.2vw, 44px);
  }
  .f_46 {
    font-size: clamp(15px, 5.2vw, 46px);
  }
  .f_48 {
    font-size: clamp(15px, 5.4vw, 48px);
  }
  .f_50 {
    font-size: clamp(15px, 5.4vw, 50px);
  }
  .f_50-sp {
    font-size: clamp(15px, 12.8205128205vw, 50px) !important;
  }
  .f_52 {
    font-size: clamp(15px, 5.6vw, 52px);
  }
  .f_54 {
    font-size: clamp(15px, 5.6vw, 54px);
  }
  .f_56 {
    font-size: clamp(15px, 5.8vw, 56px);
  }
  .f_58 {
    font-size: clamp(15px, 5.8vw, 58px);
  }
  .f_60 {
    font-size: clamp(15px, 6vw, 60px);
  }
  .f_62 {
    font-size: clamp(15px, 6vw, 62px);
  }
  .f_64 {
    font-size: clamp(15px, 6.2vw, 64px);
  }
  .f_65 {
    font-size: clamp(15px, 6.2vw, 65px);
  }
  .f_66 {
    font-size: clamp(15px, 6.2vw, 66px);
  }
  .f_68 {
    font-size: clamp(15px, 6.4vw, 68px);
  }
  .f_70 {
    font-size: clamp(15px, 6.4vw, 70px);
  }
  .f_72 {
    font-size: clamp(15px, 6.6vw, 72px);
  }
  .f_74 {
    font-size: clamp(30px, 10vw, 74px);
  }
  .f_76 {
    font-size: clamp(15px, 6.8vw, 76px);
  }
  .f_78 {
    font-size: clamp(15px, 6.8vw, 78px);
  }
  .f_80 {
    font-size: clamp(15px, 7vw, 80px);
  }
  .f_82 {
    font-size: clamp(15px, 7vw, 82px);
  }
  .f_84 {
    font-size: clamp(15px, 7.2vw, 84px);
  }
  .f_86 {
    font-size: clamp(15px, 7.2vw, 86px);
  }
  .f_88 {
    font-size: clamp(15px, 7.4vw, 88px);
  }
  .f_90 {
    font-size: clamp(15px, 7.4vw, 90px);
  }
  .f_92 {
    font-size: clamp(15px, 7.6vw, 92px);
  }
  .f_94 {
    font-size: clamp(15px, 7.6vw, 94px);
  }
  .f_96 {
    font-size: clamp(15px, 7.8vw, 96px);
  }
  .f_98 {
    font-size: clamp(15px, 7.8vw, 98px);
  }
  .f_100 {
    font-size: clamp(70px, 8vw, 100px);
  }
  .f_102 {
    font-size: clamp(15px, 8vw, 102px);
  }
  .f_104 {
    font-size: clamp(15px, 8.2vw, 104px);
  }
  .f_106 {
    font-size: clamp(15px, 8.2vw, 106px);
  }
  .f_108 {
    font-size: clamp(15px, 8.4vw, 108px);
  }
  .f_110 {
    font-size: clamp(15px, 8.4vw, 110px);
  }
  .f_112 {
    font-size: clamp(15px, 8.6vw, 112px);
  }
  .f_114 {
    font-size: clamp(15px, 8.6vw, 114px);
  }
  .f_116 {
    font-size: clamp(15px, 8.8vw, 116px);
  }
  .f_118 {
    font-size: clamp(15px, 8.8vw, 118px);
  }
  .f_120 {
    font-size: clamp(15px, 9vw, 120px);
  }
  .f_122 {
    font-size: clamp(15px, 9vw, 122px);
  }
  .f_124 {
    font-size: clamp(15px, 9.2vw, 124px);
  }
  .f_126 {
    font-size: clamp(15px, 9.2vw, 126px);
  }
  .f_128 {
    font-size: clamp(15px, 9.4vw, 128px);
  }
  .f_130 {
    font-size: clamp(70px, 9.4vw, 130px);
  }
  .f_132 {
    font-size: clamp(15px, 9.6vw, 132px);
  }
  .f_134 {
    font-size: clamp(15px, 9.6vw, 134px);
  }
  .f_136 {
    font-size: clamp(15px, 9.8vw, 136px);
  }
  .f_138 {
    font-size: clamp(15px, 9.8vw, 138px);
  }
  .f_140 {
    font-size: clamp(15px, 10vw, 140px);
  }
  .f_142 {
    font-size: clamp(15px, 10vw, 142px);
  }
  .f_144 {
    font-size: clamp(15px, 10.2vw, 144px);
  }
  .f_146 {
    font-size: clamp(15px, 10.2vw, 146px);
  }
  .f_148 {
    font-size: clamp(15px, 10.4vw, 148px);
  }
  .f_150 {
    font-size: clamp(15px, 10.4vw, 150px);
  }
  .f_152 {
    font-size: clamp(15px, 10.6vw, 152px);
  }
  .f_154 {
    font-size: clamp(15px, 10.6vw, 154px);
  }
  .f_156 {
    font-size: clamp(15px, 10.8vw, 156px);
  }
  .f_158 {
    font-size: clamp(15px, 10.8vw, 158px);
  }
  .f_160 {
    font-size: clamp(15px, 11vw, 160px);
  }
  .f_162 {
    font-size: clamp(15px, 11vw, 162px);
  }
  .f_164 {
    font-size: clamp(15px, 11vw, 164px);
  }
  .f_18-sp {
    font-size: 18px;
  }
  .f_15-sp {
    font-size: 15px;
  }
  /**************************************************
    余白
  **************************************************/
  .mt10 {
    margin-top: 1vw;
  }
  .mb10 {
    margin-bottom: 1vw;
  }
  .ml10 {
    margin-left: 1vw;
  }
  .mr10 {
    margin-right: 1vw;
  }
  .my10 {
    margin-top: 1vw;
    margin-bottom: 1vw;
  }
  .mx10 {
    margin-left: 1vw;
    margin-right: 1vw;
  }
  .mt20 {
    margin-top: 2vw;
  }
  .mb20 {
    margin-bottom: 2vw;
  }
  .ml20 {
    margin-left: 2vw;
  }
  .mr20 {
    margin-right: 2vw;
  }
  .my20 {
    margin-top: 2vw;
    margin-bottom: 2vw;
  }
  .mx20 {
    margin-left: 2vw;
    margin-right: 2vw;
  }
  .mt30 {
    margin-top: 3vw;
  }
  .mb30 {
    margin-bottom: 3vw;
  }
  .ml30 {
    margin-left: 3vw;
  }
  .mr30 {
    margin-right: 3vw;
  }
  .my30 {
    margin-top: 3vw;
    margin-bottom: 3vw;
  }
  .mx30 {
    margin-left: 3vw;
    margin-right: 3vw;
  }
  .mt40 {
    margin-top: 4vw;
  }
  .mb40 {
    margin-bottom: 4vw;
  }
  .ml40 {
    margin-left: 4vw;
  }
  .mr40 {
    margin-right: 4vw;
  }
  .my40 {
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
  .mx40 {
    margin-left: 4vw;
    margin-right: 4vw;
  }
  .mt50 {
    margin-top: 5vw;
  }
  .mb50 {
    margin-bottom: 5vw;
  }
  .ml50 {
    margin-left: 5vw;
  }
  .mr50 {
    margin-right: 5vw;
  }
  .my50 {
    margin-top: 5vw;
    margin-bottom: 5vw;
  }
  .mx50 {
    margin-left: 5vw;
    margin-right: 5vw;
  }
  .mt60 {
    margin-top: 6vw;
  }
  .mb60 {
    margin-bottom: 6vw;
  }
  .ml60 {
    margin-left: 6vw;
  }
  .mr60 {
    margin-right: 6vw;
  }
  .my60 {
    margin-top: 6vw;
    margin-bottom: 6vw;
  }
  .mx60 {
    margin-left: 6vw;
    margin-right: 6vw;
  }
  .mt70 {
    margin-top: 7vw;
  }
  .mb70 {
    margin-bottom: 7vw;
  }
  .ml70 {
    margin-left: 7vw;
  }
  .mr70 {
    margin-right: 7vw;
  }
  .my70 {
    margin-top: 7vw;
    margin-bottom: 7vw;
  }
  .mx70 {
    margin-left: 7vw;
    margin-right: 7vw;
  }
  .mt80 {
    margin-top: 8vw;
  }
  .mb80 {
    margin-bottom: 8vw;
  }
  .ml80 {
    margin-left: 8vw;
  }
  .mr80 {
    margin-right: 8vw;
  }
  .my80 {
    margin-top: 8vw;
    margin-bottom: 8vw;
  }
  .mx80 {
    margin-left: 8vw;
    margin-right: 8vw;
  }
  .mt90 {
    margin-top: 9vw;
  }
  .mb90 {
    margin-bottom: 9vw;
  }
  .ml90 {
    margin-left: 9vw;
  }
  .mr90 {
    margin-right: 9vw;
  }
  .my90 {
    margin-top: 9vw;
    margin-bottom: 9vw;
  }
  .mx90 {
    margin-left: 9vw;
    margin-right: 9vw;
  }
  .mt100 {
    margin-top: 10vw;
  }
  .mb100 {
    margin-bottom: 10vw;
  }
  .ml100 {
    margin-left: 10vw;
  }
  .mr100 {
    margin-right: 10vw;
  }
  .my100 {
    margin-top: 10vw;
    margin-bottom: 10vw;
  }
  .mx100 {
    margin-left: 10vw;
    margin-right: 10vw;
  }
  .mt110 {
    margin-top: 11vw;
  }
  .mb110 {
    margin-bottom: 11vw;
  }
  .ml110 {
    margin-left: 11vw;
  }
  .mr110 {
    margin-right: 11vw;
  }
  .my110 {
    margin-top: 11vw;
    margin-bottom: 11vw;
  }
  .mx110 {
    margin-left: 11vw;
    margin-right: 11vw;
  }
  .mt120 {
    margin-top: 12vw;
  }
  .mb120 {
    margin-bottom: 12vw;
  }
  .ml120 {
    margin-left: 12vw;
  }
  .mr120 {
    margin-right: 12vw;
  }
  .my120 {
    margin-top: 12vw;
    margin-bottom: 12vw;
  }
  .mx120 {
    margin-left: 12vw;
    margin-right: 12vw;
  }
  .mt130 {
    margin-top: 13vw;
  }
  .mb130 {
    margin-bottom: 13vw;
  }
  .ml130 {
    margin-left: 13vw;
  }
  .mr130 {
    margin-right: 13vw;
  }
  .my130 {
    margin-top: 13vw;
    margin-bottom: 13vw;
  }
  .mx130 {
    margin-left: 13vw;
    margin-right: 13vw;
  }
  .mt140 {
    margin-top: 14vw;
  }
  .mb140 {
    margin-bottom: 14vw;
  }
  .ml140 {
    margin-left: 14vw;
  }
  .mr140 {
    margin-right: 14vw;
  }
  .my140 {
    margin-top: 14vw;
    margin-bottom: 14vw;
  }
  .mx140 {
    margin-left: 14vw;
    margin-right: 14vw;
  }
  .mt150 {
    margin-top: 15vw;
  }
  .mb150 {
    margin-bottom: 15vw;
  }
  .ml150 {
    margin-left: 15vw;
  }
  .mr150 {
    margin-right: 15vw;
  }
  .my150 {
    margin-top: 15vw;
    margin-bottom: 15vw;
  }
  .mx150 {
    margin-left: 15vw;
    margin-right: 15vw;
  }
  .mt160 {
    margin-top: 16vw;
  }
  .mb160 {
    margin-bottom: 16vw;
  }
  .ml160 {
    margin-left: 16vw;
  }
  .mr160 {
    margin-right: 16vw;
  }
  .my160 {
    margin-top: 16vw;
    margin-bottom: 16vw;
  }
  .mx160 {
    margin-left: 16vw;
    margin-right: 16vw;
  }
  .mt170 {
    margin-top: 17vw;
  }
  .mb170 {
    margin-bottom: 17vw;
  }
  .ml170 {
    margin-left: 17vw;
  }
  .mr170 {
    margin-right: 17vw;
  }
  .my170 {
    margin-top: 17vw;
    margin-bottom: 17vw;
  }
  .mx170 {
    margin-left: 17vw;
    margin-right: 17vw;
  }
  .mt180 {
    margin-top: 18vw;
  }
  .mb180 {
    margin-bottom: 18vw;
  }
  .ml180 {
    margin-left: 18vw;
  }
  .mr180 {
    margin-right: 18vw;
  }
  .my180 {
    margin-top: 18vw;
    margin-bottom: 18vw;
  }
  .mx180 {
    margin-left: 18vw;
    margin-right: 18vw;
  }
  .mt190 {
    margin-top: 19vw;
  }
  .mb190 {
    margin-bottom: 19vw;
  }
  .ml190 {
    margin-left: 19vw;
  }
  .mr190 {
    margin-right: 19vw;
  }
  .my190 {
    margin-top: 19vw;
    margin-bottom: 19vw;
  }
  .mx190 {
    margin-left: 19vw;
    margin-right: 19vw;
  }
  .mt200 {
    margin-top: 20vw;
  }
  .mb200 {
    margin-bottom: 20vw;
  }
  .ml200 {
    margin-left: 20vw;
  }
  .mr200 {
    margin-right: 20vw;
  }
  .my200 {
    margin-top: 20vw;
    margin-bottom: 20vw;
  }
  .mx200 {
    margin-left: 20vw;
    margin-right: 20vw;
  }
  .mt210 {
    margin-top: 21vw;
  }
  .mb210 {
    margin-bottom: 21vw;
  }
  .ml210 {
    margin-left: 21vw;
  }
  .mr210 {
    margin-right: 21vw;
  }
  .my210 {
    margin-top: 21vw;
    margin-bottom: 21vw;
  }
  .mx210 {
    margin-left: 21vw;
    margin-right: 21vw;
  }
  .mt220 {
    margin-top: 22vw;
  }
  .mb220 {
    margin-bottom: 22vw;
  }
  .ml220 {
    margin-left: 22vw;
  }
  .mr220 {
    margin-right: 22vw;
  }
  .my220 {
    margin-top: 22vw;
    margin-bottom: 22vw;
  }
  .mx220 {
    margin-left: 22vw;
    margin-right: 22vw;
  }
  .mt230 {
    margin-top: 23vw;
  }
  .mb230 {
    margin-bottom: 23vw;
  }
  .ml230 {
    margin-left: 23vw;
  }
  .mr230 {
    margin-right: 23vw;
  }
  .my230 {
    margin-top: 23vw;
    margin-bottom: 23vw;
  }
  .mx230 {
    margin-left: 23vw;
    margin-right: 23vw;
  }
  .mt240 {
    margin-top: 24vw;
  }
  .mb240 {
    margin-bottom: 24vw;
  }
  .ml240 {
    margin-left: 24vw;
  }
  .mr240 {
    margin-right: 24vw;
  }
  .my240 {
    margin-top: 24vw;
    margin-bottom: 24vw;
  }
  .mx240 {
    margin-left: 24vw;
    margin-right: 24vw;
  }
  .mt250 {
    margin-top: 25vw;
  }
  .mb250 {
    margin-bottom: 25vw;
  }
  .ml250 {
    margin-left: 25vw;
  }
  .mr250 {
    margin-right: 25vw;
  }
  .my250 {
    margin-top: 25vw;
    margin-bottom: 25vw;
  }
  .mx250 {
    margin-left: 25vw;
    margin-right: 25vw;
  }
  .mt260 {
    margin-top: 26vw;
  }
  .mb260 {
    margin-bottom: 26vw;
  }
  .ml260 {
    margin-left: 26vw;
  }
  .mr260 {
    margin-right: 26vw;
  }
  .my260 {
    margin-top: 26vw;
    margin-bottom: 26vw;
  }
  .mx260 {
    margin-left: 26vw;
    margin-right: 26vw;
  }
  .mt270 {
    margin-top: 27vw;
  }
  .mb270 {
    margin-bottom: 27vw;
  }
  .ml270 {
    margin-left: 27vw;
  }
  .mr270 {
    margin-right: 27vw;
  }
  .my270 {
    margin-top: 27vw;
    margin-bottom: 27vw;
  }
  .mx270 {
    margin-left: 27vw;
    margin-right: 27vw;
  }
  .mt280 {
    margin-top: 28vw;
  }
  .mb280 {
    margin-bottom: 28vw;
  }
  .ml280 {
    margin-left: 28vw;
  }
  .mr280 {
    margin-right: 28vw;
  }
  .my280 {
    margin-top: 28vw;
    margin-bottom: 28vw;
  }
  .mx280 {
    margin-left: 28vw;
    margin-right: 28vw;
  }
  .mt290 {
    margin-top: 29vw;
  }
  .mb290 {
    margin-bottom: 29vw;
  }
  .ml290 {
    margin-left: 29vw;
  }
  .mr290 {
    margin-right: 29vw;
  }
  .my290 {
    margin-top: 29vw;
    margin-bottom: 29vw;
  }
  .mx290 {
    margin-left: 29vw;
    margin-right: 29vw;
  }
  .mt300 {
    margin-top: 30vw;
  }
  .mb300 {
    margin-bottom: 30vw;
  }
  .ml300 {
    margin-left: 30vw;
  }
  .mr300 {
    margin-right: 30vw;
  }
  .my300 {
    margin-top: 30vw;
    margin-bottom: 30vw;
  }
  .mx300 {
    margin-left: 30vw;
    margin-right: 30vw;
  }
  .pt10 {
    padding-top: 1vw;
  }
  .pb10 {
    padding-bottom: 1vw;
  }
  .pl10 {
    padding-left: 1vw;
  }
  .pr10 {
    padding-right: 1vw;
  }
  .py10 {
    padding-top: 1vw;
    padding-bottom: 1vw;
  }
  .px10 {
    padding-left: 1vw;
    padding-right: 1vw;
  }
  .pt20 {
    padding-top: 2vw;
  }
  .pb20 {
    padding-bottom: 2vw;
  }
  .pl20 {
    padding-left: 2vw;
  }
  .pr20 {
    padding-right: 2vw;
  }
  .py20 {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
  .px20 {
    padding-left: 2vw;
    padding-right: 2vw;
  }
  .pt30 {
    padding-top: 3vw;
  }
  .pb30 {
    padding-bottom: 3vw;
  }
  .pl30 {
    padding-left: 3vw;
  }
  .pr30 {
    padding-right: 3vw;
  }
  .py30 {
    padding-top: 3vw;
    padding-bottom: 3vw;
  }
  .px30 {
    padding-left: 3vw;
    padding-right: 3vw;
  }
  .pt40 {
    padding-top: 4vw;
  }
  .pb40 {
    padding-bottom: 4vw;
  }
  .pl40 {
    padding-left: 4vw;
  }
  .pr40 {
    padding-right: 4vw;
  }
  .py40 {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
  .px40 {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .pt50 {
    padding-top: 5vw;
  }
  .pb50 {
    padding-bottom: 5vw;
  }
  .pl50 {
    padding-left: 5vw;
  }
  .pr50 {
    padding-right: 5vw;
  }
  .py50 {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  .px50 {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .pt60 {
    padding-top: 6vw;
  }
  .pb60 {
    padding-bottom: 6vw;
  }
  .pl60 {
    padding-left: 6vw;
  }
  .pr60 {
    padding-right: 6vw;
  }
  .py60 {
    padding-top: 6vw;
    padding-bottom: 6vw;
  }
  .px60 {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .pt70 {
    padding-top: 7vw;
  }
  .pb70 {
    padding-bottom: 7vw;
  }
  .pl70 {
    padding-left: 7vw;
  }
  .pr70 {
    padding-right: 7vw;
  }
  .py70 {
    padding-top: 7vw;
    padding-bottom: 7vw;
  }
  .px70 {
    padding-left: 7vw;
    padding-right: 7vw;
  }
  .pt80 {
    padding-top: 8vw;
  }
  .pb80 {
    padding-bottom: 8vw;
  }
  .pl80 {
    padding-left: 8vw;
  }
  .pr80 {
    padding-right: 8vw;
  }
  .py80 {
    padding-top: 8vw;
    padding-bottom: 8vw;
  }
  .px80 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  .pt90 {
    padding-top: 9vw;
  }
  .pb90 {
    padding-bottom: 9vw;
  }
  .pl90 {
    padding-left: 9vw;
  }
  .pr90 {
    padding-right: 9vw;
  }
  .py90 {
    padding-top: 9vw;
    padding-bottom: 9vw;
  }
  .px90 {
    padding-left: 9vw;
    padding-right: 9vw;
  }
  .pt100 {
    padding-top: 10vw;
  }
  .pb100 {
    padding-bottom: 10vw;
  }
  .pl100 {
    padding-left: 10vw;
  }
  .pr100 {
    padding-right: 10vw;
  }
  .py100 {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .px100 {
    padding-left: 10vw;
    padding-right: 10vw;
  }
  .pt110 {
    padding-top: 11vw;
  }
  .pb110 {
    padding-bottom: 11vw;
  }
  .pl110 {
    padding-left: 11vw;
  }
  .pr110 {
    padding-right: 11vw;
  }
  .py110 {
    padding-top: 11vw;
    padding-bottom: 11vw;
  }
  .px110 {
    padding-left: 11vw;
    padding-right: 11vw;
  }
  .pt120 {
    padding-top: 12vw;
  }
  .pb120 {
    padding-bottom: 12vw;
  }
  .pl120 {
    padding-left: 12vw;
  }
  .pr120 {
    padding-right: 12vw;
  }
  .py120 {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
  .px120 {
    padding-left: 12vw;
    padding-right: 12vw;
  }
  .pt130 {
    padding-top: 13vw;
  }
  .pb130 {
    padding-bottom: 13vw;
  }
  .pl130 {
    padding-left: 13vw;
  }
  .pr130 {
    padding-right: 13vw;
  }
  .py130 {
    padding-top: 13vw;
    padding-bottom: 13vw;
  }
  .px130 {
    padding-left: 13vw;
    padding-right: 13vw;
  }
  .pt140 {
    padding-top: 14vw;
  }
  .pb140 {
    padding-bottom: 14vw;
  }
  .pl140 {
    padding-left: 14vw;
  }
  .pr140 {
    padding-right: 14vw;
  }
  .py140 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
  .px140 {
    padding-left: 14vw;
    padding-right: 14vw;
  }
  .pt150 {
    padding-top: 15vw;
  }
  .pb150 {
    padding-bottom: 15vw;
  }
  .pl150 {
    padding-left: 15vw;
  }
  .pr150 {
    padding-right: 15vw;
  }
  .py150 {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .px150 {
    padding-left: 15vw;
    padding-right: 15vw;
  }
  .pt160 {
    padding-top: 16vw;
  }
  .pb160 {
    padding-bottom: 16vw;
  }
  .pl160 {
    padding-left: 16vw;
  }
  .pr160 {
    padding-right: 16vw;
  }
  .py160 {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
  .px160 {
    padding-left: 16vw;
    padding-right: 16vw;
  }
  .pt170 {
    padding-top: 17vw;
  }
  .pb170 {
    padding-bottom: 17vw;
  }
  .pl170 {
    padding-left: 17vw;
  }
  .pr170 {
    padding-right: 17vw;
  }
  .py170 {
    padding-top: 17vw;
    padding-bottom: 17vw;
  }
  .px170 {
    padding-left: 17vw;
    padding-right: 17vw;
  }
  .pt180 {
    padding-top: 18vw;
  }
  .pb180 {
    padding-bottom: 18vw;
  }
  .pl180 {
    padding-left: 18vw;
  }
  .pr180 {
    padding-right: 18vw;
  }
  .py180 {
    padding-top: 18vw;
    padding-bottom: 18vw;
  }
  .px180 {
    padding-left: 18vw;
    padding-right: 18vw;
  }
  .pt190 {
    padding-top: 19vw;
  }
  .pb190 {
    padding-bottom: 19vw;
  }
  .pl190 {
    padding-left: 19vw;
  }
  .pr190 {
    padding-right: 19vw;
  }
  .py190 {
    padding-top: 19vw;
    padding-bottom: 19vw;
  }
  .px190 {
    padding-left: 19vw;
    padding-right: 19vw;
  }
  .pt200 {
    padding-top: 20vw;
  }
  .pb200 {
    padding-bottom: 20vw;
  }
  .pl200 {
    padding-left: 20vw;
  }
  .pr200 {
    padding-right: 20vw;
  }
  .py200 {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
  .px200 {
    padding-left: 20vw;
    padding-right: 20vw;
  }
  .pt210 {
    padding-top: 21vw;
  }
  .pb210 {
    padding-bottom: 21vw;
  }
  .pl210 {
    padding-left: 21vw;
  }
  .pr210 {
    padding-right: 21vw;
  }
  .py210 {
    padding-top: 21vw;
    padding-bottom: 21vw;
  }
  .px210 {
    padding-left: 21vw;
    padding-right: 21vw;
  }
  .pt220 {
    padding-top: 22vw;
  }
  .pb220 {
    padding-bottom: 22vw;
  }
  .pl220 {
    padding-left: 22vw;
  }
  .pr220 {
    padding-right: 22vw;
  }
  .py220 {
    padding-top: 22vw;
    padding-bottom: 22vw;
  }
  .px220 {
    padding-left: 22vw;
    padding-right: 22vw;
  }
  .pt230 {
    padding-top: 23vw;
  }
  .pb230 {
    padding-bottom: 23vw;
  }
  .pl230 {
    padding-left: 23vw;
  }
  .pr230 {
    padding-right: 23vw;
  }
  .py230 {
    padding-top: 23vw;
    padding-bottom: 23vw;
  }
  .px230 {
    padding-left: 23vw;
    padding-right: 23vw;
  }
  .pt240 {
    padding-top: 24vw;
  }
  .pb240 {
    padding-bottom: 24vw;
  }
  .pl240 {
    padding-left: 24vw;
  }
  .pr240 {
    padding-right: 24vw;
  }
  .py240 {
    padding-top: 24vw;
    padding-bottom: 24vw;
  }
  .px240 {
    padding-left: 24vw;
    padding-right: 24vw;
  }
  .pt250 {
    padding-top: 25vw;
  }
  .pb250 {
    padding-bottom: 25vw;
  }
  .pl250 {
    padding-left: 25vw;
  }
  .pr250 {
    padding-right: 25vw;
  }
  .py250 {
    padding-top: 25vw;
    padding-bottom: 25vw;
  }
  .px250 {
    padding-left: 25vw;
    padding-right: 25vw;
  }
  .pt260 {
    padding-top: 26vw;
  }
  .pb260 {
    padding-bottom: 26vw;
  }
  .pl260 {
    padding-left: 26vw;
  }
  .pr260 {
    padding-right: 26vw;
  }
  .py260 {
    padding-top: 26vw;
    padding-bottom: 26vw;
  }
  .px260 {
    padding-left: 26vw;
    padding-right: 26vw;
  }
  .pt270 {
    padding-top: 27vw;
  }
  .pb270 {
    padding-bottom: 27vw;
  }
  .pl270 {
    padding-left: 27vw;
  }
  .pr270 {
    padding-right: 27vw;
  }
  .py270 {
    padding-top: 27vw;
    padding-bottom: 27vw;
  }
  .px270 {
    padding-left: 27vw;
    padding-right: 27vw;
  }
  .pt280 {
    padding-top: 28vw;
  }
  .pb280 {
    padding-bottom: 28vw;
  }
  .pl280 {
    padding-left: 28vw;
  }
  .pr280 {
    padding-right: 28vw;
  }
  .py280 {
    padding-top: 28vw;
    padding-bottom: 28vw;
  }
  .px280 {
    padding-left: 28vw;
    padding-right: 28vw;
  }
  .pt290 {
    padding-top: 29vw;
  }
  .pb290 {
    padding-bottom: 29vw;
  }
  .pl290 {
    padding-left: 29vw;
  }
  .pr290 {
    padding-right: 29vw;
  }
  .py290 {
    padding-top: 29vw;
    padding-bottom: 29vw;
  }
  .px290 {
    padding-left: 29vw;
    padding-right: 29vw;
  }
  .pt300 {
    padding-top: 30vw;
  }
  .pb300 {
    padding-bottom: 30vw;
  }
  .pl300 {
    padding-left: 30vw;
  }
  .pr300 {
    padding-right: 30vw;
  }
  .py300 {
    padding-top: 30vw;
    padding-bottom: 30vw;
  }
  .px300 {
    padding-left: 30vw;
    padding-right: 30vw;
  }
  .sp {
    display: block !important;
  }
  .tab {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  .sp-flex {
    display: flex !important;
  }
  .pc-flex {
    display: none !important;
  }
  br.pc {
    display: none;
  }
  span.pc-only {
    display: none;
  }
  header nav.sp-only {
    display: block;
  }
  main .top02 .bg .pc-only,
  main .top04 .bg .pc-only {
    display: none;
  }
  /**************************************************
    ボタン
  **************************************************/
  .wrap_btn {
    right: 5px;
    bottom: 25px;
    width: 12vw;
    height: 12vw;
  }
  .wrap_btn_img {
    width: auto;
    height: auto;
  }
  .wrap_btn_img span {
    text-align: center;
  }
  .wrap_btn_img:hover {
    opacity: 1;
  }
  .wrap_btn p {
    font-size: 12px;
  }
  .cmn_btn {
    width: 85%;
    padding: 2vw 3vw;
  }
  .cmn_btn.large {
    width: 85%;
  }
  /**************************************************
    ヘッダー
  **************************************************/
  .mega-contact {
    padding-bottom: 0;
  }
  .contact-card {
    min-height: clamp(72px, 4.38vw, 84px);
  }
  header .header_inner nav.sp-only:has(#menu_trigger.active) {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    z-index: 3;
    background-color: #fff;
  }
  header .header_inner nav.sp-only:has(#menu_trigger:not(.active)) .header_row {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;
    background-color: #fff;
  }
  header .header_inner nav.sp-only .header_row {
    padding: 0 0 0 3.8461538462%;
  }
  header .header_inner nav.sp-only .header_row .logo a img {
    width: 44.8717948718vw;
  }
  header .header_inner nav.sp-only .bugerbtn {
    width: 60px;
    aspect-ratio: 1/1;
    text-align: center;
  }
  header .header_inner nav.sp-only .bugerbtn #menu_trigger {
    width: 50%;
    aspect-ratio: 1/1;
    row-gap: 4.5px;
  }
  header .header_inner nav.sp-only .bugerbtn #menu_trigger span {
    width: 66.6666666667%;
    height: 2px;
    background-color: #032437;
    transition: all 0.5s ease-out;
  }
  header .header_inner nav.sp-only .bugerbtn #menu_trigger.active span {
    position: absolute;
  }
  header .header_inner nav.sp-only .bugerbtn #menu_trigger.active span:nth-child(1) {
    transform: rotate(45deg);
  }
  header .header_inner nav.sp-only .bugerbtn #menu_trigger.active span:nth-child(2) {
    display: none;
  }
  header .header_inner nav.sp-only .bugerbtn #menu_trigger.active span:nth-child(3) {
    transform: rotate(-45deg);
  }
  header .header_inner nav.sp-only .bugerbtn .tx {
    font-size: 12px;
  }
  header .header_inner nav.sp-only .buger {
    display: none;
  }
  header .header_inner nav.sp-only .buger .navi {
    padding: 10.2564102564vw 8.2051282051%;
  }
  header .header_inner nav.sp-only .buger .navi ul li {
    border-bottom: 1px solid #032437;
    padding-bottom: min(1.2820512821vw, 5px);
  }
  header .header_inner nav.sp-only .buger .navi ul li a.f_14 {
    letter-spacing: 0.1428571429em;
  }
  header .header_inner nav.sp-only .buger .navi ul li a::after {
    content: "";
    width: 20px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: url(../img/common/arow-white.webp) no-repeat center/60% auto #0e7abc;
    margin-left: auto;
  }
  header .header_inner nav.sp-only .buger .navi ul li:not(:first-child) {
    padding: min(3.0769230769vw, 12px) min(5.8974358974vw, 23px) min(3.0769230769vw, 12px) min(2.0512820513vw, 8px);
  }
  header .header_inner nav.sp-only .buger.open {
    display: block;
  }
  header .header_inner nav.sp-only .bottom {
    padding: 9.7435897436vw 8.7179487179%;
  }
  header .header_inner nav.sp-only .bottom .btns {
    margin-bottom: min(8.4615384615vw, 33px);
  }
  header .header_inner nav.sp-only .bottom .btns .b-btn a {
    width: min(100%, 322px);
    aspect-ratio: 322/70;
    max-height: 70px;
    padding: 0 5.900621118%;
    -moz-column-gap: 4.5774647887%;
         column-gap: 4.5774647887%;
    margin: 0 auto;
  }
  header .header_inner nav.sp-only .bottom .btns .b-btn a::after {
    content: "";
    width: 7.0422535211%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    margin-left: auto;
  }
  header .header_inner nav.sp-only .bottom .btns .b-btn.contactbtn a::after {
    background: url(../img/common/arow-white.webp) no-repeat center/60% auto #0e7abc;
  }
  header .header_inner nav.sp-only .bottom .btns .b-btn.linebtn a span.bg_white {
    padding: min(1.7948717949vw, 7px) 3.1690140845%;
  }
  header .header_inner nav.sp-only .bottom .btns .b-btn.linebtn a::after {
    background: url(../img/common/arow-green.webp) no-repeat center/60% auto #fff;
  }
  header .header_inner nav.sp-only .bottom .btns .b-btn:not(:last-child) {
    margin-bottom: min(2.8205128205vw, 11px);
  }
  header .header_inner nav.sp-only .bottom .copyright {
    text-align: center;
  }
  header .header_inner .global-menu nav {
    gap: unset;
  }
  header .header_inner .global-menu nav ul {
    padding-left: unset;
    margin-bottom: unset;
  }
  header .header_inner .global-menu nav ul ul li a {
    padding-left: 1em;
  }
  header .header_inner .global-menu nav ul li a {
    border-bottom: 1px solid #00a0e9;
  }
  header .header_inner .global-menu nav ul li a .mega-arrow {
    display: none;
  }
  /**************************************************
    TOP共通
  **************************************************/
  .top_container {
    width: min(100% - 44px, 680px);
  }
  .top_tag {
    min-width: min(100%, 260px);
    font-size: clamp(16px, 6vw, 30px);
    padding: 0.2em 0.7em;
  }
  .top_btn {
    width: min(100%, 322px);
    min-height: 60px;
  }
  .top_h2_en,
  .top_section_en {
    font-size: clamp(42px, 19vw, 90px);
    margin-bottom: unset;
  }
  .top_section_head--small {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px 14px;
  }
  .top_section_head--center {
    flex-direction: column;
    gap: 1em;
  }
  .top_section_jp {
    font-size: 18px;
    margin-right: auto;
    margin-top: 10px;
  }
  .top_btn {
    width: min(100%, 260px);
    min-width: 0;
    min-height: 40px;
  }
  #message::before {
    width: 100%;
    left: 0;
    background-image: url(../img/top/messeage-bg-sp.webp);
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat;
    aspect-ratio: 19/44;
  }
  /**************************************************
    TOP メインビジュアル
  **************************************************/
  .top_mv {
    overflow: hidden;
  }
  .top_mv::before {
    width: 100%;
    top: 0px;
    left: unset;
    right: 0;
    background-image: url(../img/top/mv-shape-sp.webp);
    background-position: center top;
    background-size: 100% auto;
    background-repeat: no-repeat;
    aspect-ratio: 8/17;
  }
  .top_mv_inner,
  .top_business_inner {
    grid-template-columns: 1fr;
  }
  .top_mv_inner {
    display: flex;
    flex-direction: column;
  }
  .top_mv_visuals,
  .top_mv_content,
  .top_business_text,
  .top_business_cards {
    width: 100%;
  }
  .top_mv_visuals {
    min-height: 520px;
  }
  .top_mv {
    min-height: auto;
    padding: 46px 0 74px;
  }
  .top_mv_inner {
    gap: 30px;
  }
  .top_mv_visuals {
    min-height: min(100vw, 700px);
  }
  .top_mv_photo--main {
    left: -15%;
    top: 10%;
    width: 130%;
    position: relative;
  }
  .top_mv_photo--sub01 {
    display: none;
  }
  .top_mv_photo--sub02 {
    display: none;
  }
  .top_mv_content {
    position: relative;
  }
  .top_mv_content .top_tag {
    display: flex;
    align-items: center;
    padding: unset;
  }
  .top_mv_title {
    font-size: clamp(42px, 12vw, 58px);
  }
  .top_mv_anchor {
    gap: 8px;
    padding-left: unset;
  }
  .top_mv_anchor li {
    width: calc(50% - 4px);
  }
  .top_mv_anchor p {
    padding: 0.6em;
    width: 100%;
    min-width: unset;
    margin-bottom: unset;
  }
  .top_mv {
    padding: 0px 0 74px;
    margin-bottom: 0;
  }
  /**************************************************
    TOP 選ばれる理由
  **************************************************/
  .top_strength {
    padding: 74px 0 78px;
  }
  .top_strength_catch {
    min-width: 0;
    font-size: clamp(12px, 3.6vw, 32px);
    line-height: 2 !important;
  }
  .top_strength_catch .bg_white {
    font-size: 1.1em;
    padding: 0.2em 0.5em;
  }
  .top_strength_visual {
    margin-top: 20px;
  }
  .top_strength_media {
    aspect-ratio: unset;
    display: flex;
    flex-direction: column-reverse;
  }
  .top_strength_media::before {
    display: none;
  }
  .top_strength_media picture {
    margin-top: -50px;
  }
  .top_strength_media::after {
    font-size: 58px;
  }
  .top_strength_cards {
    position: relative;
    width: 85%;
    min-width: 300px;
    flex-direction: column;
    flex-wrap: nowrap;
    margin-top: 16px;
    gap: 14px;
    margin-left: auto;
    margin-right: auto;
    transform: unset;
    top: unset;
    left: unset;
  }
  .top_strength_card {
    min-height: auto;
  }
  .top_strength_card_title {
    padding: 0.7em 0.6em;
  }
  .top_strength_card_title h3 {
    margin-bottom: unset;
  }
  .top_strength {
    padding: 4px 0 4px;
    margin-bottom: 0;
  }
  /**************************************************
    TOP 事業内容
  **************************************************/
  .top_business_inner {
    flex-direction: column;
    align-items: flex-start !important;
  }
  .top_business_cards {
    flex-basis: auto;
  }
  .top_business {
    padding: 78px 0 84px;
  }
  .top_business::before {
    display: none;
  }
  .top_business_map {
    width: 100%;
  }
  .top_business_cards {
    grid-template-columns: 1fr;
  }
  .top_business {
    padding: 40px 0 40px;
    margin-bottom: 0;
  }
  .top_business_inner {
    min-height: auto;
    flex-direction: column;
    align-items: flex-start !important;
    padding-left: unset;
  }
  .top_business_text,
  .top_business_cards {
    width: 100%;
    flex-basis: auto;
  }
  .top_business_text .top_h2_head {
    margin-left: auto;
    margin-right: auto;
  }
  .top_business_text .top_catch,
  .top_business_text .top_text {
    margin-left: auto;
    margin-right: auto;
    max-width: 90%;
  }
  .top_business_map {
    position: relative;
    left: auto;
    top: auto;
    order: 2;
    z-index: 1;
    width: min(100%, 620px);
    margin: -24px auto -10px;
    transform: none;
  }
  .top_business_cards {
    order: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .top_business {
    padding: 80px 0 40px;
  }
  .top_business::after {
    bottom: -10%;
    width: 190%;
    aspect-ratio: 2.3/1;
  }
  .top_business_map {
    margin: 4px auto 8px;
    position: absolute;
    top: 250px;
  }
  .top_business_cards {
    gap: 12px;
  }
  .top_business_area {
    margin-top: 100vw;
  }
  /**************************************************
    TOP About Links
  **************************************************/
  .top_link_panels,
  .top_company_panel {
    flex-direction: column;
  }
  .top_about_links {
    padding: 76px 0 86px;
  }
  .top_link_panels {
    gap: 64px;
  }
  .top_link_panel_media {
    aspect-ratio: 322/185;
  }
  .top_about_links {
    padding: 40px 0 40px;
    margin-bottom: 0;
  }
  .top_link_panels {
    flex-direction: column;
  }
  .top_link_panel {
    width: 100%;
    flex-basis: auto;
  }
  .top_link_panel--story {
    margin-top: 0;
  }
  .top_about_links {
    padding: 40px 0 40px;
  }
  .top_about_links::before {
    bottom: -12%;
    width: 230%;
    aspect-ratio: 2.3/1;
  }
  .top_link_panel .top_section_en {
    font-size: clamp(42px, 12vw, 58px);
  }
  .top_link_panel_media {
    aspect-ratio: 322/196;
  }
  /**************************************************
    TOP 実績紹介
  **************************************************/
  .top_achievements {
    padding: 76px 0 82px;
  }
  .top_case_grid,
  .top_blog_grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .top_achievements {
    padding: 76px 0 40px;
    margin-bottom: 0;
  }
  .top_case_grid,
  .top_blog_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .top_case_grid .top_case_card:last-child,
  .top_blog_grid .top_blog_card:last-child {
    grid-column: 1/-1;
    width: min(100%, 50% - 14px);
    margin-inline: auto;
  }
  .top_achievements {
    padding: 40px 0 40px;
  }
  .top_achievements .top_section_en {
    font-size: clamp(42px, 13.5vw, 90px);
  }
  .top_achievements::before {
    top: -14%;
    width: 220%;
    aspect-ratio: 2.4/1;
  }
  .top_case_grid,
  .top_blog_grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .top_case_grid .top_case_card:last-child,
  .top_blog_grid .top_blog_card:last-child {
    grid-column: auto;
    width: 100%;
  }
  .top_case_copy {
    min-height: 0;
  }
  /**************************************************
    TOP スタッフ紹介
  **************************************************/
  .top_staff_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .top_staff_grid.slick-initialized {
    display: block;
    gap: 0;
  }
  .top_staff {
    padding: 78px 0 84px;
  }
  .top_staff_grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .top_staff_media {
    aspect-ratio: 322/360;
  }
  .top_staff {
    padding: 40px 0 40px;
    margin-bottom: 0;
    clip-path: none;
  }
  .top_staff {
    padding: 78px 0 86px;
  }
  .top_staff_media {
    aspect-ratio: 322/390;
  }
  .top_staff_inner,
  .top_company_inner,
  .top_blog_inner {
    width: min(100% - 64px, 860px);
  }
  .top_staff_grid,
  .top_blog_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .top_staff_inner,
  .top_company_inner,
  .top_blog_inner {
    width: min(100% - 44px, 680px);
  }
  .top_staff {
    padding: 40px 0 40px;
  }
  .top_staff_inner {
    padding: 0 20px;
    padding-bottom: 20px;
  }
  .top_staff_inner::before {
    border-radius: 50px 0 0 0;
    height: 60%;
  }
  .top_staff_inner .slick-slide {
    margin: 0 15px;
  }
  .top_staff_inner .slick-arrow {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 45%;
  }
  .top_staff_inner .slick-arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    background-image: url(../img/top/slider-arrow.webp);
    display: block;
    position: absolute;
  }
  .top_staff_inner .slick-prev {
    transform: rotate(180deg);
    left: 0px;
    z-index: 2;
  }
  .top_staff_inner .slick-next {
    right: 0px;
  }
  .top_staff::before {
    left: -20px;
    top: 18px;
  }
  .top_staff::after {
    right: -30px;
    top: 38%;
  }
  .top_staff_grid,
  .top_blog_grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .top_staff_title {
    min-height: 0;
    font-size: 13px;
  }
  .top_staff_name {
    font-size: 16px;
  }
  /**************************************************
    TOP 会社概要
  **************************************************/
  .top_company_text,
  .top_company_media {
    width: 100%;
    flex-basis: auto;
  }
  .top_company {
    padding: 74px 0;
  }
  .top_company {
    padding: 74px 0;
    margin-bottom: 0;
  }
  .top_company_panel {
    flex-direction: column;
    align-items: flex-start !important;
    min-height: auto;
  }
  .top_company_text {
    width: 100%;
    flex-basis: auto;
  }
  .top_company_media {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    height: clamp(260px, 45vw, 420px);
    margin-top: 24px;
  }
  .top_company_person {
    height: 112%;
  }
  .top_company {
    padding: 76px 0;
  }
  .top_company_media {
    height: min(88vw, 330px);
    margin-top: 18px;
  }
  .top_company_person {
    height: 108%;
  }
  .top_company_person--01 {
    left: -14%;
  }
  .top_company_person--02 {
    left: 10%;
  }
  .top_company_person--03 {
    left: 36%;
  }
  .top_company_person--04 {
    left: 60%;
  }
  .top_company_panel {
    flex-direction: column;
    align-items: flex-start !important;
    min-height: auto;
    padding-top: 34px;
  }
  .top_company_panel::before {
    top: 0;
    width: 100%;
    height: 100%;
  }
  .top_company_text {
    width: -moz-fit-content;
    width: fit-content;
    flex-basis: auto;
    padding-left: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .top_company_media {
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
    height: auto;
    margin-top: 20px;
    transform: none;
  }
  .top_company {
    padding: 40px 0;
  }
  .top_company_text .top_btn {
    min-width: 0;
  }
  /**************************************************
    TOP ブログ
  **************************************************/
  .top_section_head--small,
  .top_blog_head {
    display: block !important;
  }
  .top_blog {
    padding: 76px 0 82px;
  }
  .top_blog_inner {
    padding: unset;
  }
  .top_blog_inner::before {
    display: none;
  }
  .top_blog_head .top_btn {
    display: none !important;
  }
  .top_blog_card {
    padding: 28px 24px;
  }
  .top_blog_title {
    min-height: auto;
  }
  .top_blog {
    padding: 76px 0 82px;
    margin-bottom: 0;
  }
  .top_blog {
    padding: 76px 0 84px;
  }
  .top_blog::before {
    bottom: 12%;
    height: 68%;
  }
  .top_blog_head {
    display: flex !important;
    align-items: center !important;
  }
  .top_blog_card {
    min-height: 0;
    padding: 28px 24px;
  }
  .top_blog {
    padding: 40px 0 40px;
  }
  .top_blog::before {
    bottom: 40px;
    height: 72%;
  }
  .top_blog_head {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 28px;
  }
  .top_blog_card {
    min-height: 0;
  }
  /**************************************************
    TOP 採用情報
  **************************************************/
  .top_recruit {
    padding: 72px 0 82px;
  }
  .top_recruit_banner {
    min-height: 420px;
    clip-path: polygon(0 0, 100% 0, 96% 100%, 0 100%);
  }
  .top_recruit_content {
    padding: 42px 28px;
  }
  .top_recruit_title {
    font-size: clamp(58px, 18vw, 88px);
  }
  .top_recruit_text {
    font-size: 18px;
  }
  .top_recruit {
    padding: 72px 0 82px;
    margin-bottom: 0;
  }
  .top_recruit {
    padding: 30px 0 100px;
  }
  .top_recruit_banner {
    min-height: 0;
    clip-path: none;
  }
  .top_recruit_banner img {
    position: static;
    height: auto;
    opacity: 1;
  }
  /**************************************************
    お問い合わせ
  **************************************************/
  .top07.contact01 .contact01_inner {
    display: flex;
    flex-direction: column;
  }
  .top07.contact01 .head {
    order: 1;
    font-size: clamp(70px, 8vw, 100px);
  }
  .top07.contact01 .head h3 {
    font-size: 16px;
  }
  .top07.contact01 .text {
    order: 2;
    text-align: left;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  .top07.contact01 .links {
    order: 3;
    flex-direction: column;
    align-items: center;
  }
  .top07.contact01 .links .item a {
    padding: 10px 1em;
  }
  .top07.contact01 .links .tel {
    order: 1;
  }
  .top07.contact01 .links .tel .num {
    margin-bottom: 10px;
  }
  .top07.contact01 .links .tel .time {
    margin-bottom: 10px;
  }
  .top07.contact01 .links .mail {
    order: 2;
  }
  .top07.contact01 .links .mail a .mail_text {
    font-size: clamp(16px, 3cqw, 28px);
    margin-bottom: unset;
  }
  .top07.contact01 {
    padding-top: 72px;
  }
  .top07.contact01 {
    padding: 72px 0 92px;
    padding-top: unset;
    margin-bottom: 0;
  }
  /**************************************************
    フッター
  **************************************************/
  .site-footer .brand,
  .copyright_inner {
    align-items: flex-start !important;
  }
  .copyright_inner {
    align-items: center !important;
  }
  .copyright_inner .f_16 {
    font-size: clamp(14px, 3.2vw, 16px);
  }
  .site-footer .head-item {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .site-footer .txbox,
  .site-footer .nav-block {
    display: contents;
  }
  .site-footer .brand {
    width: 100%;
    margin-bottom: unset;
  }
  .site-footer .footer_contact_btn {
    display: none !important;
  }
  .site-footer .navs {
    order: 2;
    width: 100%;
  }
  .site-footer .recruit_bnr {
    order: 3;
    width: 100%;
  }
  .site-footer .data {
    order: 4;
    width: 100%;
  }
  .site-footer .map {
    order: 5;
    width: 100%;
  }
  /**************************************************
    その他
  **************************************************/
  .top_mv_lead {
    margin-left: unset;
    letter-spacing: -0.05em;
  }
  .top-page main {
    margin-top: 60px;
  }
  .top-page main .mv .catch {
    padding: 0 5.641025641% calc(var(--pb) + min(10.7692307692vw, 42px) + min(8.2051282051vw, 32px)) 8.4615384615%;
  }
  .top-page main .mv .catch .f_32-sp {
    margin-right: -5px;
  }
  .top-page main .mv .catch .name {
    max-width: 97.0149253731%;
  }
  .top-page main .mv .bnr:not(.vartical) {
    position: absolute;
    bottom: min(10.7692307692vw, 42px);
    right: unset;
    left: 50%;
    transform: translateX(-50%);
    width: min(100% - 20px, 324px);
    height: 54px;
  }
  .top-page main .mv .bnr:not(.vartical).scroll {
    position: fixed;
    bottom: 10px;
  }
  .top-page main .mv .bnr:not(.vartical).end {
    bottom: 0;
  }
  .top-page main .mv .bnr:not(.vartical) a {
    padding: 0 min(2.5641025641vw, 10px) 0 min(4.6153846154vw, 18px);
    -moz-column-gap: 3.3783783784%;
         column-gap: 3.3783783784%;
  }
  .top-page main .mv .bnr:not(.vartical) a .box {
    display: flex;
    align-items: center;
    -moz-column-gap: min(3.8461538462vw, 15px);
         column-gap: min(3.8461538462vw, 15px);
  }
  .top-page main .mv .bnr:not(.vartical) a .box .f_14-sp {
    letter-spacing: 0;
  }
  .top-page main .mv .bnr:not(.vartical) a::after {
    width: 10.1351351351%;
  }
  .top-page main .top01 {
    /* width: 100%;
    aspect-ratio: 390/330;
    max-height: 330px; */
    padding: min(17.9487179487vw, 70px) 10px;
  }
  .top-page main .top01 .top01_inner {
    /* display: none !important; */
    flex-direction: column;
    align-items: center;
    row-gap: min(16.6666666667vw, 65px);
  }
  .top-page main .top01 .top01_inner .logo img {
    width: min(77.6923076923vw, 303px);
  }
  .top-page main .top01 .top01_inner .logo img.mb20 {
    margin-bottom: min(5.1282051282vw, 20px);
  }
  .top-page main .top01 .top01_inner .txbox h2 {
    margin-bottom: min(5.1282051282vw, 20px);
  }
  .top-page main .top01 .top01_inner .txbox .text {
    max-width: 329px;
  }
  .top-page main .top01 .top01_inner .txbox .catch {
    margin-bottom: min(6.9230769231vw, 27px);
  }
  .top-page main .top02 {
    padding: 0;
  }
  .top-page main .top02 .top02_inner {
    flex-direction: column;
    align-items: center !important;
    padding: min(21.2820512821vw, 83px) 8.7179487179% min(23.0769230769vw, 90px);
  }
  .top-page main .top02 .top02_inner .txbox {
    margin-bottom: min(64.1025641026vw, 250px);
  }
  .top-page main .top02 .top02_inner .txbox .head {
    margin-bottom: min(9.7435897436vw, 38px);
  }
  .top-page main .top02 .top02_inner .txbox .head h2 {
    margin-top: max(-2.5641025641vw, -10px);
  }
  .top-page main .top02 .top02_inner .txbox .catch {
    padding-top: min(2.8205128205vw, 11px);
    padding-right: min(8.2051282051vw, 32px);
    margin-bottom: min(7.9487179487vw, 31px);
  }
  .top-page main .top02 .top02_inner .txbox .catch::before, .top-page main .top02 .top02_inner .txbox .catch::after {
    width: 6.2111801242%;
  }
  .top-page main .top02 .top02_inner .txbox .catch2 {
    margin-bottom: min(3.8461538462vw, 15px);
  }
  .top-page main .top02 .top02_inner .txbox .catch2 .f_18-sp {
    letter-spacing: 0;
  }
  .top-page main .top02 .top02_inner .txbox .text {
    max-width: 318px;
    margin-bottom: 0;
  }
  .top-page main .top02 .top02_inner .names {
    margin: 0 auto min(15.3846153846vw, 60px);
    padding: min(6.1538461538vw, 24px) 10.5590062112%;
  }
  .top-page main .top02 .top02_inner .names ul {
    padding-top: min(4.1025641026vw, 16px) !important;
  }
  .top-page main .top02 .top02_inner .about-btn {
    width: 100%;
  }
  .top-page main .top02 .top02_inner .about-btn:not(.sp-only) {
    display: none;
  }
  .top-page main .top02 .top02_inner .about-btn a {
    width: min(100%, 322px);
    aspect-ratio: 322/60;
    max-height: 60px;
    padding: 5.900621118%;
    margin: 0 auto;
  }
  .top-page main .top03 {
    padding-top: min(20.5128205128vw, 80px);
    margin-bottom: min(12.0512820513vw, 47px);
  }
  .top-page main .top03 .top03_head {
    flex-direction: column;
    row-gap: min(10.7692307692vw, 42px);
    padding: 0 10px 0 0;
    margin-bottom: min(14.6153846154vw, 57px);
  }
  .top-page main .top03 .top03_head .image {
    width: min(100%, 310px);
  }
  .top-page main .top03 .top03_head .txbox {
    padding: 0 0 0 10px;
    max-width: 332px;
    margin: 0 auto;
  }
  .top-page main .top03 .top03_head .txbox .heading {
    flex-direction: column;
    align-items: start !important;
    margin-bottom: min(10.2564102564vw, 40px);
  }
  .top-page main .top03 .top03_head .txbox .catch {
    padding-right: 0;
    padding-top: min(3.0769230769vw, 12px);
    margin-bottom: min(7.6923076923vw, 30px);
    padding-left: min(1.5625vw, 30px);
  }
  .top-page main .top03 .top03_head .txbox .catch::before, .top-page main .top03 .top03_head .txbox .catch::after {
    width: min(6.3492063492%, 20px);
  }
  .top-page main .top03 .top03_head .txbox .catch2 {
    margin-bottom: min(5.1282051282vw, 20px);
  }
  .top-page main .top03 .top03_head .txbox .text {
    margin-bottom: min(10.2564102564vw, 40px);
  }
  .top-page main .top03 .top03_head .txbox .business-btn a {
    width: min(100%, 322px);
    aspect-ratio: 322/60;
    max-height: 60px;
    padding: 5.900621118%;
    margin: 0 auto;
  }
  .top-page main .top03 .top03_bottom {
    min-width: 83.5897435897vw;
    align-items: unset !important;
  }
  .top-page main .top03 .top03_bottom h3 {
    text-align: center;
    padding-bottom: min(5.1282051282vw, 20px);
    margin-bottom: min(10.2564102564vw, 40px);
  }
  .top-page main .top03 .top03_bottom h3.f_22-sp {
    letter-spacing: 0.0909090909em;
    line-height: 1.4;
  }
  .top-page main .top03 .top03_bottom .contents {
    gap: min(6.1538461538vw, 24px) 7.9754601227%;
  }
  .top-page main .top03 .top03_bottom .contents .item {
    width: 46.0122699387%;
    flex-direction: column;
    align-items: center;
    padding: min(5.1282051282vw, 20px) min(2.5641025641vw, 10px) min(6.6666666667vw, 26px) 0;
  }
  .top-page main .top03 .top03_bottom .contents .item .icon {
    width: 57.1428571429%;
    margin-bottom: min(2.5641025641vw, 10px);
  }
  .top-page main .top03 .top03_bottom .contents .item .tx .f_16-sp.lh_14 {
    min-height: calc(clamp(14px, 4.1025641026vw, 16px) * 1.4 * 2);
  }
  .top-page main .top04 {
    padding: min(22.5641025641vw, 88px) 8.3333333333% min(23.8461538462vw, 93px);
    margin-bottom: min(20.5128205128vw, 80px);
  }
  .top-page main .top04::before {
    display: none;
  }
  .top-page main .top04 .top04_contents {
    flex-direction: column;
    row-gap: min(12.3076923077vw, 48px);
    width: 100%;
    padding: min(10.7692307692vw, 42px) 10.7692307692% min(12.8205128205vw, 50px);
  }
  .top-page main .top04 .top04_contents .txbox .topbtn.company-btn a {
    width: min(100%, 255px);
    aspect-ratio: 255/60;
    max-height: 60px;
    padding: 0 9.0196078431%;
    margin: 0 auto;
  }
  .top-page main .top04 .top04_contents .txbox .topbtn.company-btn a::after {
    width: min(9.6618357488%, 20px);
  }
  .top-page main .top04 .top04_contents .links ul li {
    padding-bottom: min(3.0769230769vw, 12px);
  }
  .top-page main .top04 .top04_contents .links ul li a::after {
    width: min(7.8431372549%, 20px);
  }
  .top-page main .top04 .top04_contents .links ul li:not(:last-child) {
    margin-bottom: min(2.5641025641vw, 10px);
  }
  .top-page main .top05 {
    padding: min(26.1538461538vw, 102px) 0 min(25.641025641vw, 100px);
    margin-bottom: min(20.5128205128vw, 80px);
  }
  .top-page main .top05::after {
    display: none;
  }
  .top-page main .top05 .top05_inner {
    flex-direction: column;
    padding: 0;
    row-gap: min(31.5384615385vw, 123px);
  }
  .top-page main .top05 .top05_inner .txbox {
    width: min(322px, 100% - 20px);
    margin: 0 auto;
  }
  .top-page main .top05 .top05_inner .txbox .head {
    flex-direction: column;
    margin-bottom: min(9.7435897436vw, 38px);
  }
  .top-page main .top05 .top05_inner .txbox .head h2 {
    margin-top: min(0.7692307692vw, 3px);
  }
  .top-page main .top05 .top05_inner .txbox .catch {
    margin-bottom: min(7.1794871795vw, 28px);
  }
  .top-page main .top05 .top05_inner .txbox .catch small {
    margin-left: 0;
  }
  .top-page main .top05 .top05_inner .txbox .catch small.f_36 .ml {
    letter-spacing: 0;
  }
  .top-page main .top05 .top05_inner .txbox .text {
    margin: 0 0 min(4.358974359vw, 17px);
  }
  .top-page main .top05 .top05_inner .txbox .list {
    width: 100%;
    margin-left: 0;
    margin-bottom: min(7.6923076923vw, 30px);
  }
  .top-page main .top05 .top05_inner .txbox .list ul {
    flex-direction: column;
    row-gap: min(2.0512820513vw, 8px);
  }
  .top-page main .top05 .top05_inner .txbox .list ul li {
    width: min(100%, 313px);
  }
  .top-page main .top05 .top05_inner .txbox .topbtn.recruit-btn {
    width: 100%;
  }
  .top-page main .top05 .top05_inner .txbox .topbtn.recruit-btn a {
    margin-left: 0;
    width: min(100%, 322px);
    aspect-ratio: 322/60;
    max-height: 60px;
    padding: 5.900621118%;
  }
  .top-page main .top05 .top05_inner .image {
    width: 100%;
    padding: 0 6.4102564103% 0 8.2051282051%;
    position: relative;
  }
  .top-page main .top05 .top05_inner .image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-28.1954887218%);
    width: 99.4871794872%;
    aspect-ratio: 388/266;
    background: url(../img/top/recruit-shape.webp) no-repeat center/cover;
    z-index: -1;
  }
  .top-page main .top05 .linebnr {
    flex-direction: column;
    align-items: center;
    width: calc(96.6666666667% - 10px);
    padding: min(5.1282051282vw, 20px) 5.1282051282% min(7.1794871795vw, 28px) 8.2051282051%;
    margin: 0 0 0 3.3333333333% !important;
    row-gap: min(3.5897435897vw, 14px);
    border-top-left-radius: 11.3636363636% 16.1943319838%;
    border-top-right-radius: 11.3636363636% 16.1943319838%;
    border-bottom-left-radius: 11.3636363636% 16.1943319838%;
    border-bottom-right-radius: 11.3636363636% 16.1943319838%;
  }
  .top-page main .top05 .linebnr .title {
    white-space: nowrap;
  }
  .top-page main .top05 .linebnr .title * {
    line-height: 1.4;
  }
  .top-page main .top05 .linebnr .title .bd {
    border: unset;
  }
  .top-page main .top05 .linebnr .title .f_21-sp.ls_m14px {
    letter-spacing: -0.6666666667em;
  }
  .top-page main .top05 .linebnr .title .f_25-sp.ls_m12px {
    letter-spacing: -0.48em;
  }
  .top-page main .top05 .linebnr .title .bd-sp {
    border-bottom: 4px solid #ffeb11;
  }
  .top-page main .top05 .linebnr .linebtn {
    width: 100%;
  }
  .top-page main .top05 .linebnr .linebtn p {
    width: min(100%, 292px);
    aspect-ratio: 292/61;
    padding: 0 0 0 1.7123287671%;
    -moz-column-gap: 4.5138888889%;
         column-gap: 4.5138888889%;
    margin: 0 auto;
  }
  .top-page main .top06 {
    padding-top: min(18.9743589744vw, 74px);
    padding-bottom: min(24.1025641026vw, 94px);
    margin-bottom: min(20.2564102564vw, 79px);
    clip-path: polygon(0 min(3.125vw, 60px), 50% min(0.5208333333vw, 10px), 100% min(3.125vw, 60px), 100% calc(100% - min(3.125vw, 60px)), 50% calc(100% - min(0.5208333333vw, 10px)), 0 calc(100% - min(3.125vw, 60px)));
  }
  .top-page main .top06 .top06_inner {
    min-width: min(100% - 20px, 320px);
  }
  .top-page main .top06 .top06_inner .head {
    flex-direction: column;
    align-items: start !important;
    margin-bottom: min(5.1282051282vw, 20px);
  }
  .top-page main .top06 .top06_inner .contents {
    margin-bottom: min(9.7435897436vw, 38px);
  }
  .top-page main .top06 .top06_inner .contents article:not(:has(a)),
  .top-page main .top06 .top06_inner .contents article a {
    flex-wrap: wrap;
    row-gap: 1px;
    padding: min(5.1282051282vw, 20px) min(6.1538461538vw, 24px) min(5.1282051282vw, 20px) min(4.1025641026vw, 16px);
  }
  .top-page main .top06 .top06_inner .contents article a::after {
    width: min(10.7142857143%, 30px);
  }
  .top-page main .top06 .top06_inner .contents article .title {
    width: calc(100% - min(10.7142857143%, 30px) - 2.9661016949%);
    flex: unset;
  }
  .top-page main .top06 .top06_inner .contents article:not(:last-child) {
    margin-bottom: min(5.641025641vw, 22px);
  }
  .top-page main .top06 .topbtn.newsbtn a {
    width: min(100%, 322px);
    aspect-ratio: 322/60;
    max-height: 60px;
    padding: 5.900621118%;
  }
  .top-page main .contact01 {
    padding-bottom: min(23.5897435897vw, 92px);
  }
  .top-page main .contact01 .top07_inner {
    min-width: min(81.7948717949vw, 319px);
    flex-direction: column;
    row-gap: min(11.2820512821vw, 44px);
  }
  .top-page main .contact01 .top07_inner .txbox .head {
    margin-bottom: min(5.641025641vw, 22px);
  }
  .top-page main .contact01 .top07_inner .txbox .head .eg {
    margin-bottom: min(2.3076923077vw, 9px);
  }
  .top-page main .contact01 .top07_inner .txbox .text p {
    letter-spacing: 0;
  }
  .top-page main .contact01 .top07_inner .links {
    width: min(100%, 303px);
    margin: 0 auto;
    row-gap: min(5.1282051282vw, 20px);
  }
  .top-page main .contact01 .top07_inner .links .item {
    width: 100%;
  }
  .top-page main .contact01 .top07_inner .links .item:not(:has(a)),
  .top-page main .contact01 .top07_inner .links .item a {
    padding-top: min(8.2051282051vw, 32px);
    padding-bottom: min(14.8717948718vw, 58px);
  }
  .top-page main .contact01 .top07_inner .links .item .icon {
    width: min(28.6738351254%, 80px);
    margin-bottom: min(11.7948717949vw, 46px);
  }
  .top-page main .contact01 .top07_inner .links .item.tel:not(:has(a)),
  .top-page main .contact01 .top07_inner .links .item.tel a {
    padding-bottom: min(5.1282051282vw, 20px);
  }
  .top-page main .contact01 .top07_inner .links .item.tel .icon {
    margin-bottom: min(4.8717948718vw, 19px);
  }
  .top-page main .contact01 .top07_inner .links .item.tel .title {
    margin-bottom: min(3.3333333333vw, 13px);
  }
  .top-page main .pagetitle .txbox {
    padding: calc(min(3.125vw, 60px) + 10px) 0px;
  }
  .top-page main .company02 .top .bg .pc-only {
    display: none;
  }
  footer .footer_inner .head-item {
    flex-direction: column;
    row-gap: min(15.8974358974vw, 30px);
    min-width: 82.5641025641vw;
  }
  footer .footer_inner .head-item .txbox .logo {
    width: 260px;
    margin-bottom: unset;
  }
  footer .footer_inner .head-item .txbox .btns {
    justify-content: center;
    row-gap: 20px;
  }
  footer .footer_inner .head-item .txbox .btns .topbtn.contactbtn, footer .footer_inner .head-item .txbox .btns .topbtn.linebtn {
    width: 100%;
  }
  footer .footer_inner .head-item .txbox .btns .topbtn.contactbtn a, footer .footer_inner .head-item .txbox .btns .topbtn.linebtn a {
    width: min(100%, 322px);
    aspect-ratio: 322/60;
    max-height: 60px;
    padding: 5.900621118%;
  }
  footer .footer_inner .head-item .navs {
    margin-right: auto;
    flex-direction: column;
    width: 100%;
    gap: unset;
  }
  footer .footer_inner .head-item .navs .title {
    padding-bottom: min(1.7948717949vw, 7px);
    margin-bottom: min(3.8461538462vw, 15px) !important;
  }
  footer .footer_inner .head-item .navs ul li:not(:last-child) {
    margin-bottom: min(2.8205128205vw, 11px);
  }
  /******************************************************
  ソニックのストーリー　about
  ******************************************************/
  .about-page .pagetitle--about .pagetitle_inner {
    flex-direction: column-reverse;
    align-items: flex-start !important;
    gap: 15px;
    padding-top: 40px;
    padding-bottom: 24px;
  }
  .about-page .pagetitle--about .leadbox,
  .about-page .pagetitle--about .txbox {
    width: 100%;
    text-align: left !important;
  }
  .about-page .pagetitle--about .txbox .en_title {
    margin-left: 0;
    font-size: clamp(70px, 9.4vw, 130px);
  }
  .about-page .pagetitle--about .sub_label {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    min-width: min(220px, 100%);
    margin-right: 0;
    font-size: 18px;
    padding: 0.35em 0.7em;
  }
  .about-page .breadcrumbs nav {
    margin-right: auto;
  }
  .about01 {
    padding: 64px 0 0px;
  }
  .about01_inner,
  .about02_inner,
  .about03_inner,
  .about04_inner,
  .about05_inner {
    width: min(100% - 44px, 680px);
  }
  .about01_head {
    margin-bottom: 28px;
    padding-bottom: 24px;
  }
  .about01_eg {
    font-size: clamp(40px, 12vw, 110px);
  }
  .about01_visuals {
    flex-direction: column;
    gap: 0;
    width: var(--wide-liquid);
    margin-left: auto;
    margin-right: auto;
  }
  .about02,
  .about03,
  .about04 {
    padding: 56px 0;
  }
  .about_block {
    flex-direction: column;
    gap: 24px;
  }
  .about_block_lead,
  .about_block_content {
    width: 100%;
    max-width: none;
    flex: unset;
  }
  .about_block_tag {
    display: flex;
    width: 100%;
    font-size: 15px;
    margin-bottom: 20px;
  }
  .about_block_catch {
    font-size: 20px;
  }
  .about_block_text p {
    font-size: 16px;
  }
  .about_block_btn {
    font-size: 16px;
    padding: 8px 24px;
  }
  .about_block_media {
    display: block !important;
  }
  .about05_bg {
    height: calc(100% - 60px);
  }
  .about05_cards {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .about_link_card {
    width: 100%;
  }
  /******************************************************
  事業案内　business
  ******************************************************/
  .business-page .pagetitle--business .pagetitle_inner {
    flex-direction: column-reverse;
    align-items: flex-start !important;
    gap: 20px;
    padding-top: 40px;
    padding-bottom: 24px;
  }
  .business-page .pagetitle--business .leadbox,
  .business-page .pagetitle--business .txbox {
    width: 100%;
    text-align: left !important;
  }
  .business-page .pagetitle--business .txbox .en_title {
    margin-left: 0;
    font-size: 70px;
  }
  .business-page .pagetitle--business .sub_label {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    min-width: min(220px, 100%);
    margin-right: 0;
    font-size: 18px;
    padding: 0.35em 0.7em;
  }
  .business-page .breadcrumbs nav {
    margin-right: auto;
  }
  .business01 {
    padding: 64px 0 56px;
  }
  .business01_inner,
  .business_detail_inner {
    width: min(100% - 44px, 680px);
    display: block !important;
  }
  .business01_catch {
    margin-bottom: 32px;
    font-size: clamp(20px, 5.6vw, 40px);
  }
  .business01_cards {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  .business_overview_card {
    width: 100%;
    max-width: 360px;
    min-height: 160px;
    padding: 15px 28px;
  }
  .business_overview_card_label {
    margin-bottom: 7px;
  }
  .business_detail {
    padding: 56px 0;
  }
  .business_detail_head::before {
    width: 100%;
  }
  .business_detail_eg {
    font-size: clamp(30px, 9vw, 70px);
  }
  .business_section_label {
    font-size: 15px;
  }
  .business_detail_body {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 28px;
  }
  .business_detail_lists {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .business_detail_list li {
    font-size: 15px;
  }
  .business_detail_text {
    width: 100%;
    margin-top: unset;
  }
  .business_detail_text p {
    font-size: 16px;
  }
  .business_detail_gallery {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .business_detail_note {
    font-size: 14px;
    text-align: left;
  }
  /******************************************************
  実績紹介　case
  ******************************************************/
  .case_nav_inner {
    width: min(100% - 44px, 680px);
  }
  .case_body_inner {
    width: min(100% - 44px, 680px);
  }
  .case_nav_list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  .case_nav_card {
    width: 100%;
    max-width: 360px;
    min-height: 160px;
    padding: 15px 28px;
  }
  .case_nav_card_eg {
    margin-bottom: 10px;
  }
  .case_item_images {
    grid-template-columns: 1fr;
  }
  .case_section_head::before {
    width: 100%;
  }
  .case_section_eg {
    font-size: clamp(30px, 9vw, 70px);
  }
  /******************************************************
  会社概要　company
  ******************************************************/
  .company-page .pagetitle--company .pagetitle_inner {
    flex-direction: column-reverse;
    align-items: flex-start !important;
    gap: 20px;
    padding-top: 40px;
    padding-bottom: 24px;
  }
  .company-page .pagetitle--company .leadbox,
  .company-page .pagetitle--company .txbox {
    width: 100%;
    text-align: left !important;
  }
  .company-page .pagetitle--company .txbox .en_title {
    margin-left: 0;
    font-size: 70px;
  }
  .company-page .pagetitle--company .sub_label {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    min-width: min(220px, 100%);
    margin-right: 0;
    font-size: 18px;
    padding: 0.35em 0.7em;
  }
  .company-page .breadcrumbs nav {
    margin-right: auto;
  }
  .company_section {
    padding: 64px 0;
  }
  .company_section_inner,
  .company04_inner {
    width: min(100% - 44px, 680px);
  }
  .company_section_head::before {
    width: min(100%, 280px);
    height: 36px;
  }
  .company_section_eg {
    font-size: clamp(40px, 12vw, 110px);
  }
  .company01 .company_data .row_data {
    flex-direction: column;
    grid-template-columns: clamp(100px, 14vw, 200px) minmax(0, 1fr);
  }
  .company01 .company_data dt {
    flex: none;
    width: auto;
  }
  .company02_clients {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: unset;
  }
  .company03_address {
    text-align: left;
    font-size: 15px;
  }
  .company03_map {
    max-width: unset;
  }
  .company03_map iframe {
    height: 240px;
  }
  .company04 {
    padding: 56px 0 64px;
  }
  .company04_cards {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .company_link_card {
    width: 100%;
    max-width: 325px;
  }
  .company_link_card_eg {
    font-size: 34px;
  }
  .company_link_card_label {
    font-size: 14px;
  }
  .company_link_card_text {
    font-size: 14px;
  }
  .company_link_card_media img {
    aspect-ratio: 325/160;
  }
  /******************************************************
  代表メッセージ　message
  ******************************************************/
  .message_section_label {
    letter-spacing: -0.1em;
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
  .message-page .pagetitle--message .pagetitle_inner {
    flex-direction: column-reverse;
    align-items: flex-start !important;
    gap: 20px;
    padding-top: 40px;
    padding-bottom: 24px;
  }
  .message-page .pagetitle--message .leadbox,
  .message-page .pagetitle--message .txbox {
    width: 100%;
    text-align: left !important;
  }
  .message-page .pagetitle--message .txbox .en_title {
    margin-left: 0;
    font-size: 70px;
  }
  .message-page .pagetitle--message .sub_label {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    min-width: min(220px, 100%);
    margin-right: 0;
    font-size: 18px;
    padding: 0.35em 0.7em;
  }
  .message-page .breadcrumbs nav {
    margin-right: auto;
  }
  .message01_hero_img {
    min-height: 400px;
    -o-object-position: center;
       object-position: center;
  }
  .message01_profile {
    left: 22px;
    right: 22px;
    bottom: 24px;
  }
  .message02,
  .message03 {
    padding-top: 56px;
  }
  .message02_inner,
  .message03_inner,
  .message04_inner {
    width: min(100% - 44px, 680px);
  }
  .message02_head,
  .message03_head {
    margin-bottom: 32px;
  }
  .message02_head::before,
  .message03_head::before {
    bottom: -0.6em;
  }
  .message02_eg,
  .message03_eg {
    font-size: clamp(35px, 9.5vw, 110px);
  }
  .message_block {
    padding: 32px 0;
  }
  .message_block.message_block--reverse {
    margin-bottom: unset;
  }
  .message_block_inner {
    flex-direction: column;
    gap: 24px;
  }
  .message_block--reverse .message_block_inner {
    flex-direction: column-reverse;
  }
  .message_block_body,
  .message_block_media {
    width: 100%;
    max-width: none;
  }
  .message_block_catch {
    font-size: clamp(18px, 5.641025641vw, 22px);
    margin-bottom: 20px;
    letter-spacing: -0.08em;
  }
  .message03_catch {
    font-size: 22px;
    margin-bottom: 24px;
  }
  .message03_text p {
    font-size: 15px;
  }
  .message04 {
    padding: 56px 0 64px;
  }
  .message04_cards {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .message_link_card {
    width: 100%;
    max-width: 325px;
  }
  .message_link_card_eg {
    font-size: 34px;
  }
  .message_link_card_label {
    font-size: 14px;
  }
  .message_link_card_text {
    font-size: 14px;
  }
  .message_link_card_media img {
    aspect-ratio: 325/160;
  }
  /******************************************************
  お知らせ＆ブログ　news
  ******************************************************/
  .pagetitle .en_title {
    font-size: clamp(45px, 15vw, 130px) !important;
  }
  .news_main_inner {
    padding-left: unset;
  }
  .news_grid {
    grid-template-columns: 1fr;
  }
  .news_card {
    width: 80%;
    min-width: 325px;
    margin-left: auto;
    margin-right: auto;
    max-width: 450px;
  }
  .news_layout {
    display: block;
  }
  .news_sidebar {
    margin-top: 70px;
  }
  .news_detail_nav {
    flex-direction: column;
    gap: 7px;
  }
  /******************************************************
  プライバシーポリシー　privacy
  ******************************************************/
  .pagetitle .en_title {
    font-size: clamp(35px, 12vw, 130px) !important;
  }
  .privacy01 {
    min-height: auto;
    padding: 64px 0 82px;
  }
  .privacy01_inner {
    width: min(100% - 44px, 680px);
  }
  .privacy_block {
    padding-bottom: 34px;
    margin-bottom: 34px;
  }
  /******************************************************
  選ばれる理由　strength
  ******************************************************/
  .strength-page .pagetitle--strength .pagetitle_inner {
    flex-direction: column-reverse;
    align-items: flex-start !important;
    gap: 20px;
    padding-top: 40px;
    padding-bottom: 24px;
  }
  .strength-page .pagetitle--strength .leadbox,
  .strength-page .pagetitle--strength .txbox {
    width: 100%;
    text-align: left !important;
  }
  .strength-page .pagetitle--strength .txbox .en_title {
    margin-left: 0;
    font-size: 70px;
  }
  .strength-page .pagetitle--strength .sub_label {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    min-width: min(220px, 100%);
    margin-right: 0;
    font-size: 18px;
    padding: 0.35em 0.7em;
  }
  .strength-page .breadcrumbs nav {
    margin-right: auto;
  }
  .strength01 {
    padding: 64px 0 0;
  }
  .strength01_inner,
  .strength02_inner,
  .strength03_inner {
    width: min(100% - 44px, 680px);
  }
  .strength01_row {
    flex-direction: column;
    gap: 24px;
  }
  .strength01_lead,
  .strength01_text {
    width: 100%;
    max-width: none;
  }
  .strength01_catch {
    font-size: 20px;
  }
  .strength_section_label {
    font-size: 15px;
  }
  .strength02 {
    padding: 56px 0 40px;
  }
  .strength02_head {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 70px;
    align-items: baseline !important;
  }
  .strength02_head::before {
    bottom: -0.5em;
    height: clamp(70px, 25vw, 130px);
    width: calc(100% + 20px);
    left: 50%;
    transform: translateX(-50%);
  }
  .strength02_catch {
    max-width: none;
    margin-left: 0;
    padding: 0 0.3em;
    padding-bottom: 0.5em;
  }
  .strength02_eg {
    font-size: 60px;
  }
  .strength_scroll {
    grid-template-columns: 1fr;
    gap: 0;
    display: flex;
    flex-direction: column-reverse;
  }
  .strength_scroll_body {
    gap: 40px;
    padding-top: 0;
  }
  .strength_scroll_visual_sp {
    margin: 8px 0 16px;
  }
  .strength_scroll_visual_sp img {
    display: block;
    width: 100%;
    height: auto;
    border-top-right-radius: 100px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: bottom;
       object-position: bottom;
  }
  .strength_reason {
    width: 100%;
  }
  .strength_reason_label {
    min-height: 30px;
    padding: 0.4em 10px;
    font-size: 16px;
  }
  .strength_reason_title_main,
  .strength_keyword,
  .strength_keyword_plain {
    font-size: clamp(22px, 7.1vw, 40px);
  }
  .strength_reason_text p {
    font-size: 15px;
  }
  .strength03 {
    padding: 56px 0 64px;
  }
  .strength03_cards {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .strength_link_card {
    width: 100%;
    max-width: 325px;
  }
  .strength_link_card_eg {
    font-size: 34px;
  }
  .strength_link_card_label {
    font-size: 14px;
  }
  .strength_link_card_text {
    font-size: 14px;
  }
  .strength_link_card_media img {
    aspect-ratio: 325/160;
  }
  .strength_scroll_visual {
    position: relative;
    width: calc(100% + 5vw);
    top: unset;
    margin-left: -5vw;
    margin-top: 40px;
  }
  .strength_scroll_visual img {
    aspect-ratio: 36/44;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: left;
       object-position: left;
  }
  /******************************************************
  社員紹介 member
  ******************************************************/
  .member-page .pagetitle--member .pagetitle_inner,
  .member-detail-page .pagetitle--member .pagetitle_inner {
    align-items: flex-start;
    gap: 20px;
  }
  .member-page .pagetitle--member .leadbox,
  .member-page .pagetitle--member .txbox,
  .member-detail-page .pagetitle--member .leadbox,
  .member-detail-page .pagetitle--member .txbox {
    width: 100%;
  }
  .member-page .pagetitle--member .txbox,
  .member-detail-page .pagetitle--member .txbox {
    text-align: left !important;
  }
  .member-page .pagetitle--member .en_title,
  .member-detail-page .pagetitle--member .en_title {
    margin-left: 0;
    font-size: clamp(52px, 14vw, 72px);
  }
  .member-page .pagetitle--member .sub_label,
  .member-detail-page .pagetitle--member .sub_label {
    font-size: clamp(18px, 4.8vw, 24px);
  }
  .member01_inner {
    width: min(100% - 44px, 680px);
  }
  .member01_item,
  .member01_item--reverse {
    grid-template-columns: 1fr;
  }
  .member01_item .member01_text,
  .member01_item .member01_media,
  .member01_item--reverse .member01_text,
  .member01_item--reverse .member01_media {
    order: unset;
  }
  .member01_item .member01_text::after,
  .member01_item .member01_media::after,
  .member01_item--reverse .member01_text::after,
  .member01_item--reverse .member01_media::after {
    width: 100%;
    height: clamp(36px, 4vw, 90px);
  }
  .member01_item .member01_text,
  .member01_item--reverse .member01_text {
    margin-bottom: 50px;
  }
  .member01_item {
    padding: 40px 0;
  }
  .member01_text::after {
    height: 40px;
  }
  .member01_name {
    font-size: 22px;
  }
  .member01_en {
    font-size: clamp(42px, 11vw, 76px);
  }
  .member01_more {
    margin-left: 0;
    right: 0;
    bottom: -57px;
  }
  .member01_role {
    width: calc(100% - 40px);
  }
  .member_detail01 {
    padding-bottom: unset;
  }
  .member_detail01_inner {
    width: min(100% - 44px, 680px);
    grid-template-columns: 1fr;
    gap: 32px;
    border-bottom: unset;
    padding: unset;
  }
  .member_detail01_title::before {
    bottom: -1em;
  }
  .member_detail01_name {
    width: 100%;
  }
  .member_detail01_en {
    font-size: clamp(34px, 11vw, 76px);
  }
  .member_detail01_media {
    position: absolute;
    height: auto;
    top: 10em;
    border-bottom: 1px solid #333333;
    padding-bottom: 15px;
  }
  .member_detail_history {
    margin-top: 92vw;
  }
  .member_detail_history_title {
    margin-bottom: 0;
    font-size: 18px;
  }
  .member_detail_history_item:last-of-type {
    border-bottom: #333333 solid 1px;
  }
  .member_detail_history_item {
    display: block;
  }
  .member_detail_history_item dt {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .member_detail01_intro {
    margin-top: 89vw;
  }
  .member_detail01_profile {
    margin-top: unset;
  }
  .member_detail02_inner {
    width: min(100% - 44px, 680px);
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .member_detail02_visual {
    position: static;
    margin-left: unset;
    grid-row: 2/3;
    width: 200%;
    margin-left: -8vw;
  }
  .member_detail02_body {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 50px;
  }
  .member_detail02_block {
    grid-column: unset;
    margin-bottom: unset !important;
  }
  .member_detail02_block:first-of-type {
    grid-row: 1/2;
  }
  .member_detail_label {
    min-width: unset;
    width: 100%;
    font-size: 18px;
  }
  .member_detail_catch {
    font-size: clamp(18px, 4.6vw, 32px);
  }
  .member_detail03_inner,
  .member_detail_next_inner,
  .member_detail_back_inner {
    width: min(100% - 44px, 680px);
  }
  .member_detail03 .member_detail_text {
    max-width: none;
    margin-left: 0;
  }
  .member_detail_next {
    padding: unset;
  }
  .member_detail_next_inner {
    padding: clamp(50px, 5vw, 100px) 0 clamp(50px, 5vw, 120px);
  }
  .member_detail_next_link {
    grid-template-columns: 1fr;
  }
  .member_detail_next_bg {
    height: calc(100% - 60px);
  }
  .member_detail_next_text {
    margin-left: auto;
    margin-right: auto;
  }
  .member_detail_next_eg {
    font-size: clamp(30px, 13vw, 60px);
    margin-bottom: 30px;
  }
  .member_detail_next_name {
    width: 100%;
  }
  .member_detail_next_more {
    position: absolute;
    right: 0;
    bottom: 0;
    color: #0897d8;
  }
  .member_detail_history_item {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  br.pc {
    display: none;
  }
}
@media (min-width: 768px) {
  br.sp {
    display: none;
  }
}/*# sourceMappingURL=mediaquery.css.map */