@charset "UTF-8";
@media screen and (max-width: 1500px) {
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
  footer .footer_inner {
    padding-right: 7.6vw;
  }
}
@media screen and (max-width: 1480px) {
  .header .header_inner .header_nav .header_nav_list {
    flex-wrap: wrap;
  }
  .header .header_inner .header_nav .header_nav_list .header_nav_item .header_dropdown {
    top: calc(200% + 6px + 1.51vw);
  }
  .header .header_inner .header_nav .header_nav_list .header_nav_item .header_dropdown::before {
    height: calc(30px + 1.51vw);
  }
}
@media screen and (max-width: 1300px) {
  .style_compare .style_compare_btn {
    column-gap: 12px;
    padding-inline: 12px;
  }
  .style_compare .style_compare_btn .sub_btn_text {
    letter-spacing: 1px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .style_compare .style_compare_btns {
    grid-template-columns: 1fr 1fr;
  }
  .style_compare .style_compare_btns .style_compare_btn:first-child {
    grid-column: auto;
  }
}
@media screen and (max-width: 1200px) {
  main {
    /*----------------------------------------------------------------

    reason_area

     ----------------------------------------------------------------*/
  }
  main .mv .mv_inner .mv_stats {
    left: auto;
    right: 4.661vw;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_card_img .reason_card_badge {
    width: 6vw;
    height: 6vw;
    right: -3vw;
  }
}
@media screen and (max-width: 1100px) {
  .header .header_inner .header_nav {
    gap: 1vw;
  }
  .header .header_inner .header_nav .header_nav_list {
    column-gap: 0.6vw;
  }
  .header .header_inner .header_nav .header_nav_list .header_nav_item .header_nav_link {
    letter-spacing: 0;
  }
}
@media screen and (max-width: 1000px) {
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item {
    min-width: 130px;
    min-height: 135px;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.564vw;
  }
  /*----------------------------------------------------------------

  フォントサイズ

  ----------------------------------------------------------------*/
  .f_10 {
    font-size: 2.8vw;
  }
  .f_12 {
    font-size: 2.8vw;
  }
  .f_14 {
    font-size: 2.8vw;
  }
  .f_16 {
    font-size: 3.2vw;
  }
  .f_18 {
    font-size: 3.6vw;
  }
  .f_20 {
    font-size: 3.8vw;
  }
  .f_22 {
    font-size: 4vw;
  }
  .f_24 {
    font-size: 4.2vw;
  }
  .f_26 {
    font-size: 4.4vw;
  }
  .f_28 {
    font-size: 4.6vw;
  }
  .f_30 {
    font-size: 4.6vw;
  }
  .f_32 {
    font-size: 4.8vw;
  }
  .f_34 {
    font-size: 4.8vw;
  }
  .f_36 {
    font-size: 4.8vw;
  }
  .f_38 {
    font-size: 5vw;
  }
  .f_40 {
    font-size: 5vw;
  }
  .f_42 {
    font-size: 5vw;
  }
  .f_44 {
    font-size: 5.2vw;
  }
  .f_46 {
    font-size: 5.2vw;
  }
  .f_48 {
    font-size: 5.4vw;
  }
  .f_50 {
    font-size: 5.4vw;
  }
  .f_52 {
    font-size: 5.6vw;
  }
  .f_54 {
    font-size: 5.6vw;
  }
  .f_56 {
    font-size: 5.8vw;
  }
  .f_58 {
    font-size: 5.8vw;
  }
  .f_60 {
    font-size: 6vw;
  }
  .f_62 {
    font-size: 6vw;
  }
  .f_64 {
    font-size: 6.2vw;
  }
  .f_66 {
    font-size: 6.2vw;
  }
  .f_68 {
    font-size: 6.4vw;
  }
  .f_70 {
    font-size: 6.4vw;
  }
  .f_72 {
    font-size: 6.6vw;
  }
  .f_74 {
    font-size: 6.6vw;
  }
  .f_76 {
    font-size: 6.8vw;
  }
  .f_78 {
    font-size: 6.8vw;
  }
  .f_80 {
    font-size: 7vw;
  }
  .f_82 {
    font-size: 7vw;
  }
  .f_84 {
    font-size: 7.2vw;
  }
  .f_86 {
    font-size: 7.2vw;
  }
  .f_88 {
    font-size: 7.4vw;
  }
  .f_90 {
    font-size: 7.4vw;
  }
  .f_92 {
    font-size: 7.6vw;
  }
  .f_94 {
    font-size: 7.6vw;
  }
  .f_96 {
    font-size: 7.8vw;
  }
  .f_98 {
    font-size: 7.8vw;
  }
  .f_100 {
    font-size: 8vw;
  }
  .f_102 {
    font-size: 8vw;
  }
  .f_104 {
    font-size: 8.2vw;
  }
  .f_106 {
    font-size: 8.2vw;
  }
  .f_108 {
    font-size: 8.4vw;
  }
  .f_110 {
    font-size: 8.4vw;
  }
  .f_112 {
    font-size: 8.6vw;
  }
  .f_114 {
    font-size: 8.6vw;
  }
  .f_116 {
    font-size: 8.8vw;
  }
  .f_118 {
    font-size: 8.8vw;
  }
  .f_120 {
    font-size: 9vw;
  }
  .f_122 {
    font-size: 9vw;
  }
  .f_124 {
    font-size: 9.2vw;
  }
  .f_126 {
    font-size: 9.2vw;
  }
  .f_128 {
    font-size: 9.4vw;
  }
  .f_130 {
    font-size: 9.4vw;
  }
  .f_132 {
    font-size: 9.6vw;
  }
  .f_134 {
    font-size: 9.6vw;
  }
  .f_136 {
    font-size: 9.8vw;
  }
  .f_138 {
    font-size: 9.8vw;
  }
  .f_140 {
    font-size: 10vw;
  }
  .f_142 {
    font-size: 10vw;
  }
  .f_144 {
    font-size: 10.2vw;
  }
  .f_146 {
    font-size: 10.2vw;
  }
  .f_148 {
    font-size: 10.4vw;
  }
  .f_150 {
    font-size: 10.4vw;
  }
  .f_152 {
    font-size: 10.6vw;
  }
  .f_154 {
    font-size: 10.6vw;
  }
  .f_156 {
    font-size: 10.8vw;
  }
  .f_158 {
    font-size: 10.8vw;
  }
  .f_160 {
    font-size: 11vw;
  }
  .f_162 {
    font-size: 11vw;
  }
  .f_164 {
    font-size: 11vw;
  }
  .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;
  }
  .pc {
    display: none !important;
  }
  .sp-flex {
    display: flex !important;
  }
  .pc-flex {
    display: none !important;
  }
  ::placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  .wrap_btn {
    right: 1rem;
    bottom: 10.4rem;
  }
  .wrap_btn_img:hover {
    opacity: 1;
  }
  .wrap_btn p {
    font-size: 12px;
  }
  .wrapper_1280 {
    width: 90%;
  }
  .section_title .en_title {
    font-size: 1.4rem;
  }
  .section_title .ja_title {
    font-size: 3.2rem;
  }
  .section_title .ja_title span {
    font-size: 3.2rem;
  }
  .section_btn {
    padding: 1rem;
    gap: 1rem;
  }
  .section_btn.section_btn--line {
    padding: 1.2rem 1.6rem;
    gap: 1.2rem;
  }
  .section_btn.section_btn--line .material-icons {
    width: 2.6rem;
    max-width: 32px;
    min-width: 19px;
    font-size: 1.6rem;
  }
  body {
    padding-bottom: 9.4rem;
  }
  /* お問い合わせページは画面下のバナーを出さないので、その分の余白も取らない（AUN No.25） */
  body.page-template-contact-php {
    padding-bottom: 0;
  }
  body.is-menu-open {
    overflow: hidden;
  }
  .hamburger .hamburger_contents .sp_logo {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1002;
    display: flex;
    align-items: center;
    width: 100%;
    height: 5.2rem;
    padding-left: 0.9rem;
  }
  .hamburger .hamburger_contents .sp_logo a {
    width: 14.4rem;
    max-width: 210px;
    min-width: 126px;
  }
  .hamburger .hamburger_contents .sp_logo a img {
    width: 100%;
    height: auto;
  }
  .hamburger .hamburger_contents .menu_trigger {
    position: fixed;
    top: 0.4rem;
    right: 0.8rem;
    z-index: 1003;
    width: 4.8rem;
    height: 4.4rem;
    cursor: pointer;
  }
  .hamburger .hamburger_contents .menu_trigger .menu_trigger_line {
    position: absolute;
    left: 0.3rem;
    width: 4.2rem;
    height: 1px;
    background-color: #FFFFFF;
    transition: transform 0.4s, opacity 0.4s;
  }
  .hamburger .hamburger_contents .menu_trigger .menu_trigger_line:nth-child(1) {
    top: 0.8rem;
  }
  .hamburger .hamburger_contents .menu_trigger .menu_trigger_line:nth-child(2) {
    top: 1.4rem;
  }
  .hamburger .hamburger_contents .menu_trigger .menu_trigger_line:nth-child(3) {
    top: 2rem;
  }
  .hamburger .hamburger_contents .menu_trigger .menu_trigger_text {
    position: absolute;
    top: 2.3rem;
    left: 0.4rem;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .hamburger .hamburger_contents .menu_trigger.active .menu_trigger_line:nth-child(1) {
    transform: translateY(0.6rem) rotate(15.95deg);
  }
  .hamburger .hamburger_contents .menu_trigger.active .menu_trigger_line:nth-child(2) {
    opacity: 0;
  }
  .hamburger .hamburger_contents .menu_trigger.active .menu_trigger_line:nth-child(3) {
    transform: translateY(-0.6rem) rotate(-15.95deg);
  }
  .hamburger .hamburger_contents .sp_nav {
    position: fixed;
    inset: 0;
    z-index: 1001;
    padding: 9.4rem 0 4rem;
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-2rem);
    transition: opacity 0.4s, transform 0.4s, visibility 0s 0.4s;
  }
  .hamburger .hamburger_contents .sp_nav.open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
  }
  .hamburger .hamburger_contents .sp_nav a {
    transition: opacity 0.4s;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 32.5rem;
    margin: 0 auto;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list {
    width: 26rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item {
    padding: 1.2rem 0 1.3rem;
    border-bottom: 1px solid #00175C;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item:first-child {
    padding-top: 0;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item .sp_menu_list_link {
    gap: 1.06rem;
    font-size: 1.8rem;
    line-height: 1.94;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item .sp_menu_list_link::before {
    content: "";
    border-top: 0.6rem solid transparent;
    border-bottom: 0.6rem solid transparent;
    border-left: 1.04rem solid #8FC320;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item .sp_menu_sub_list .sp_menu_sub_list_item {
    padding-left: 2.1rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item .sp_menu_sub_list .sp_menu_sub_list_item:first-child {
    margin-top: 0.3rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item .sp_menu_sub_list .sp_menu_sub_list_item:not(:first-child) {
    margin-top: 0.2rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item .sp_menu_sub_list .sp_menu_sub_list_item:last-child {
    padding-bottom: 0.7rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_menu_list .sp_menu_list_item .sp_menu_sub_list .sp_menu_sub_list_item .sp_menu_sub_list_link {
    font-size: 1.6rem;
    line-height: 1.96;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel {
    width: 100%;
    margin-top: 4.1rem;
    padding: 0.6rem 1.9rem 1.5rem;
    border: 1px solid #00175C;
    border-radius: 0.5rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel .sp_nav_tel_label {
    font-size: 1.38rem;
    letter-spacing: 0.083em;
    line-height: 1.5;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel .sp_nav_tel_number {
    gap: 0.9rem;
    margin-top: 0.6rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid #00175C;
    font-size: 3.13rem;
    letter-spacing: 0.037em;
    line-height: 1.5;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel .sp_nav_tel_number .sp_nav_tel_icon {
    width: 2.5rem;
    max-width: 25px;
    min-width: 15px;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel .sp_nav_tel_time {
    font-size: 1.43rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel .sp_nav_tel_time .sp_nav_tel_time_label {
    font-size: 1.14rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_contact {
    gap: 1.84rem;
    width: 32.1rem;
    height: 7.3rem;
    margin: 2.7rem auto 0;
    border-radius: 0.3rem;
    font-size: 2.33rem;
    letter-spacing: 0.053em;
    line-height: 1.5;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_contact:hover {
    color: #FFFFFF;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_contact .sp_nav_contact_icon {
    width: 2.2rem;
    max-width: 22px;
    min-width: 13px;
    aspect-ratio: 1/1;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_contact .sp_nav_contact_icon .material-icons {
    font-size: 1.4rem;
  }
  /* AUN No.11：フォームボタンを電話より押しやすいサイズに（並び順は電話→フォームのまま） */
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_contact {
    gap: 0.6rem;
    height: 9rem;
    margin-top: 2rem;
    padding-inline: 1.6rem;
    font-size: 2.1rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_contact .sp_nav_contact_mail {
    font-size: 2.6rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_contact .sp_nav_contact_icon {
    margin-left: 0.2rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel {
    width: 32.1rem;
    margin-top: 4.1rem;
    margin-inline: auto;
    padding: 0.5rem 1.9rem 0.6rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel .sp_nav_tel_number {
    gap: 0.7rem;
    margin-top: 0;
    padding-bottom: 0.3rem;
    font-size: 2.4rem;
    line-height: 1.4;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel .sp_nav_tel_number .sp_nav_tel_icon {
    width: 1.9rem;
  }
  .hamburger .hamburger_contents .sp_nav .nav_inner .sp_nav_tel .sp_nav_tel_time {
    margin-top: 0.3rem;
    font-size: 1.3rem;
    line-height: 1.4;
  }
  .side_banner {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    min-width: 0;
    border: 1px solid #00175C;
    border-bottom: 0;
    border-radius: 1rem 1rem 0 0;
    background-color: #FFFFFF;
  }
  .side_banner:hover {
    color: #00175C;
  }
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
}
@media screen and (max-width: 767px) and (hover: hover) and (pointer: fine) {
  .side_banner:hover {
    opacity: 1;
  }
  .side_banner:hover .side_banner_click .material-icons {
    transform: translateX(0.6rem);
  }
}
@media screen and (max-width: 767px) {
  .side_banner .side_banner_body {
    position: relative;
    padding: 0.6rem 0 0.7rem 1.4rem;
  }
  .side_banner .side_banner_body .side_banner_icon {
    position: absolute;
    top: 2rem;
    left: 1.2rem;
    color: #00175C;
    font-size: 3.2rem;
  }
  .side_banner .side_banner_body .side_banner_text {
    color: #00175C;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
  }
  .side_banner .side_banner_body .side_banner_text.side_banner_text--top {
    margin-top: 0;
    padding-bottom: 0.3rem;
  }
  .side_banner .side_banner_body .side_banner_text.side_banner_text--bottom {
    width: 28.9rem;
    max-width: none;
    min-width: 0;
    padding-top: 0.2rem;
    border-top-color: #00175C;
  }
}
@media screen and (max-width: 767px) {
  .side_banner .side_banner_click {
    padding: 0;
    font-size: 2rem;
  }
  .side_banner .side_banner_click .material-icons {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  main {
    /*----------------------------------------------------------------

    mv

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    worry_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    what_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    reason_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    methods_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    voice_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    flows_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    faq_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    info_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    会社概要とお問い合わせのエリア

    ----------------------------------------------------------------*/
  }
  main .mv {
    height: auto;
    padding: 7.2rem 0 6.4rem;
    background-image: url(../img/top/mv/mv_bg_line_sp.svg);
    background-position: center top;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }
  main .mv .mv_inner {
    display: flex;
    flex-direction: column;
  }
  main .mv .mv_inner .mv_content {
    position: relative;
    top: auto;
    left: auto;
    z-index: 1;
    order: 1;
    padding: 0.6rem 1.6rem 0 3.3rem;
  }
  main .mv .mv_inner .mv_content .mv_line {
    top: 0.2rem;
    left: 2.3rem;
    width: auto;
    max-width: none;
    min-width: 0;
    height: 17rem;
  }
  main .mv .mv_inner .mv_content .mv_sub_catch {
    margin-left: 0.6rem;
    font-size: 1.32rem;
    letter-spacing: 0.135em;
  }
  main .mv .mv_inner .mv_content .mv_sub_catch::before {
    top: 0;
    left: -0.6rem;
    width: 28.5rem;
    height: 2rem;
  }
  main .mv .mv_inner .mv_content .mv_catch {
    margin: 0.6rem 0 0;
  }
  main .mv .mv_inner .mv_content .mv_catch .mv_catch_top {
    font-size: 2rem;
    letter-spacing: 0.082em;
  }
  main .mv .mv_inner .mv_content .mv_catch .mv_catch_bottom {
    font-size: 2.1rem;
    line-height: 1.5;
  }
  main .mv .mv_inner .mv_content .mv_catch .mv_catch_bottom .mv_catch_large {
    font-size: 2.8rem;
  }
  main .mv .mv_inner .mv_content .mv_about {
    margin: 1.7rem 0 0;
  }
  main .mv .mv_inner .mv_content .mv_about .mv_about_logo {
    width: 26rem;
    max-width: none;
    min-width: 0;
  }
  main .mv .mv_inner .mv_content .mv_about .mv_about_name {
    gap: 0.7rem;
    margin-top: 1.3rem;
  }
  main .mv .mv_inner .mv_content .mv_about .mv_about_name .mv_about_name_en {
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    word-spacing: 0.4em;
  }
  main .mv .mv_inner .mv_content .mv_about .mv_about_name .mv_about_name_kana {
    font-size: 1.4rem;
    letter-spacing: 0.12em;
  }
  main .mv .mv_inner .mv_content .mv_about .mv_about_text {
    width: 34.8rem;
    max-width: none;
    margin-top: 1.6rem;
    font-size: 1.2rem;
    letter-spacing: 0.07em;
  }
  main .mv .mv_inner .mv_photo {
    position: relative;
    top: auto;
    left: auto;
    z-index: 0;
    order: 2;
    width: 35.7rem;
    height: 54.1rem;
    margin: -14.3rem auto 0;
    border-radius: 3.2rem;
  }
  main .mv .mv_inner .mv_photo::after {
    display: block;
    width: 100%;
    height: 33.8rem;
    background-image: linear-gradient(164.47deg, #FFFFFF 30.087%, rgba(255, 255, 255, 0) 71.038%);
  }
  main .mv .mv_inner .mv_photo .mv_photo_img {
    object-position: center;
  }
  main .mv .mv_inner .mv_stats {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    z-index: 1;
    order: 3;
    width: 35.4rem;
    margin: -17rem auto 0;
  }
  main .mv .mv_inner .mv_stats .mv_stats_list {
    justify-content: space-between;
  }
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item {
    width: 11.8rem;
    max-width: none;
    min-width: 0;
    height: 12.2rem;
    max-height: none;
    min-height: 0;
    padding-top: 0.7rem;
  }
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item:first-child .mv_stats_num .mv_stats_num_large {
    font-size: 2.4rem;
  }
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item:last-child .mv_stats_num .mv_stats_num_large {
    font-size: 2.6rem;
  }
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item .mv_stats_label {
    padding: 0.2rem 0.4rem;
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item .mv_stats_num {
    margin-top: 0.5rem;
    font-size: 1.1rem;
    text-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.25);
  }
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item .mv_stats_num .mv_stats_num_large {
    font-size: 2.6rem;
  }
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item .mv_stats_num .mv_stats_num_unit {
    font-size: 1.4rem;
  }
  main .mv .mv_inner .mv_stats .mv_stats_list .mv_stats_item .mv_stats_more {
    margin-top: 0.2rem;
    font-size: 0.8rem;
    -webkit-text-stroke-width: 1px;
  }
  main .mv .mv_inner .mv_stats .mv_stats_note {
    position: static;
    margin-top: 0.6rem;
    font-size: 1.1rem;
    text-align: right;
    -webkit-text-stroke-width: 1px;
  }
  main .worry_area {
    padding: 6rem 0;
  }
  main .worry_area .worry_area_inner {
    width: 90%;
  }
  main .worry_area .worry_area_inner .worry_area_title {
    margin-bottom: 4rem;
  }
  main .worry_area .worry_area_inner .worry_area_title::after {
    display: none;
  }
  main .worry_area .worry_area_inner .worry_area_title .worry_area_title_text {
    padding: 0 0.6rem 0.2rem;
    background: linear-gradient(#DFFDA1, #DFFDA1) no-repeat left bottom/100% 0.6rem;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
  main .worry_area .worry_area_inner .worry_area_title .worry_area_title_text span {
    font-size: 5.9vw;
  }
  main .worry_area .worry_area_inner .worry_area_title .worry_area_title_text span:nth-child(2) {
    font-size: 6.7vw;
  }
  main .worry_area .worry_area_inner .worry_list {
    grid-template-columns: minmax(0, 1fr);
  }
  main .worry_area .worry_area_inner .worry_list::before, main .worry_area .worry_area_inner .worry_list::after {
    display: none;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item:not(:first-child) {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid #CCCCD2;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_title {
    padding: 0.8rem 1.2rem;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_title .worry_list_item_title_inner {
    gap: 1rem;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_title .worry_list_item_title_icon {
    width: 2.4rem;
    max-width: 30px;
    min-width: 26px;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_content {
    gap: 1.2rem;
    margin-top: 2.4rem;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_content .worry_list_item_img {
    width: 9.6rem;
    max-width: 160px;
    min-width: 96px;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_content .worry_check_list {
    margin-right: 0;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_content .worry_check_list .worry_check_list_item {
    gap: 0.6rem;
    padding-bottom: 0.6rem;
    font-size: 3.6vw;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_content .worry_check_list .worry_check_list_item:not(:first-child) {
    margin-top: 0.6rem;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_list_item_content .worry_check_list .worry_check_list_item .worry_check_list_item_icon {
    width: 1.4rem;
    max-width: 17px;
    min-width: 10px;
    margin-top: 0.3rem;
  }
  main .worry_area .worry_area_inner .worry_list .worry_list_item .worry_answer {
    margin-top: 2rem;
    padding: 1.2rem 1.6rem;
  }
  main .what_area .what_bg {
    top: 6rem;
    width: 90%;
  }
  main .what_area .what_area_inner {
    width: 90%;
  }
  main .what_area .what_area_inner .what_area_inner_left {
    width: 100%;
  }
  main .what_area .what_area_inner .what_area_inner_right {
    width: 100%;
  }
  main .what_area .what_area_inner .what_area_inner_right .catch_text {
    font-size: 5.2vw;
  }
  main .what_area .what_area_inner .what_area_inner_right .catch_text span {
    font-size: 5.2vw;
  }
  main .reason_area .reason_area_inner {
    width: 90%;
    margin-inline: auto;
    padding: 5rem 0 6rem;
    border-radius: 2rem;
  }
  main .reason_area .reason_area_inner .section_title {
    margin-bottom: 3rem;
  }
  main .reason_area .reason_area_inner .section_title .en_title {
    width: 100%;
    padding: 0 2rem;
  }
  main .reason_area .reason_area_inner .section_title .ja_title {
    flex-direction: column;
    width: fit-content;
    margin-inline: auto;
    padding-bottom: 0.4rem;
    font-size: 3.2rem;
    line-height: 1.3;
  }
  main .reason_area .reason_area_inner .section_title .ja_title span {
    margin-top: 0;
    font-size: 1.8rem;
  }
  main .reason_area .reason_area_inner .reason_card_area {
    flex-wrap: wrap;
    gap: 1rem;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card {
    flex: 0 0 calc(45% - 0.5rem);
    width: auto;
    max-width: none;
    min-width: 0;
    padding: 1.6rem 0.8rem 2rem;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card img {
    width: 10rem;
    max-width: 100%;
    height: auto;
    margin-top: 1.4rem;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_label {
    padding: 0.2rem 1.6rem;
    font-size: 1.4rem;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_card_img {
    margin-top: 1.4rem;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_card_img img {
    margin-top: 0;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_card_img .reason_card_badge {
    top: -1rem;
    right: -1.6rem;
    width: 4.8rem;
    height: 4.8rem;
    max-width: 77px;
    min-width: 46px;
    padding: 0;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card p {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card p span {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
  /* AUN No.13：1列の横長カード（左にイラスト、右に理由）。
     4つを1画面でざっと見渡せる一覧性を保ちつつ、文章を細切れにせず読める大きさにする */
  main .reason_area .reason_area_inner .reason_card_area {
    flex-direction: column;
    gap: 1.2rem;
    width: 90%;
    margin-inline: auto !important;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card {
    display: grid !important;
    grid-template-columns: 7.8rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 1.2rem;
    row-gap: 0.8rem;
    flex: 0 0 auto;
    width: 100%;
    padding: 1.4rem 1.2rem;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_label {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    align-self: end;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card > img,
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_card_img {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    width: 100%;
    margin-top: 0;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_card_img img {
    width: 100%;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card img {
    min-width: 0;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card .reason_card_img .reason_card_badge {
    top: -0.8rem;
    right: -1rem;
    width: 3.8rem;
    height: 3.8rem;
    min-width: 0;
    font-size: 1rem;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card p {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-top: 0;
    text-align: left !important;
    font-size: 1.5rem;
    letter-spacing: 0;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card p span {
    font-size: 1.5rem;
    letter-spacing: 0;
  }
  main .reason_area .reason_area_inner .reason_card_area .reason_card p br.sp {
    display: none !important;
  }
  /* 理由02：「柔軟な講習スタイル」を途中で折り返さない */
  main .reason_area .reason_area_inner .reason_card_area .reason_card:nth-child(2) p > span:last-child {
    display: inline-block;
  }
  main .reason_area .reason_area_inner .section_btn {
    margin-top: 4rem;
    padding: 1.2rem 1.6rem;
    gap: 4.2rem;
    width: 90%;
    justify-content: space-between;
  }
  main .reason_area .reason_area_inner .section_btn .section_btn_text {
    font-size: 1.5rem;
    white-space: nowrap;
  }
  main .reason_area .reason_area_inner .section_btn .material-icons {
    width: 2.6rem;
    height: 2.6rem;
    max-width: 32px;
    min-width: 19px;
    font-size: 1.6rem;
  }
  main .methods_area {
    padding: 4rem 0 6rem;
  }
  main .methods_area .methods_area_inner {
    width: 90%;
  }
  main .methods_area .methods_area_inner .methods_area_head {
    gap: 1.6rem;
    margin-bottom: 2.4rem;
  }
  main .methods_area .methods_area_inner .methods_area_head .section_title .ja_title {
    font-size: 2.5rem;
  }
  main .methods_area .methods_area_inner .methods_area_head .methods_area_lead {
    width: 100%;
    max-width: none;
    margin-top: 0;
    font-size: 1.4rem;
  }
  main .methods_area .methods_area_inner .methods_list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_title {
    gap: 1rem;
    min-height: 5.6rem;
    padding: 0.8rem;
    border-radius: 2rem 2rem 0 0;
    font-size: 2rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_title .methods_card_title_icon {
    width: 3.6rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body {
    padding: 1.6rem 1.6rem 2rem;
    border-radius: 0 0 2rem 2rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_target_title {
    gap: 0.6rem;
    margin: 2rem 0 1rem;
    font-size: 2rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_target_title .methods_card_target_deco {
    width: 2rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_target_list .methods_card_target_item {
    gap: 0.4rem;
    font-size: 1.4rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_target_list .methods_card_target_item:last-child {
    margin-bottom: 2rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_target_list .methods_card_target_item .methods_card_target_icon {
    width: 1.6rem;
    margin-top: 0.3rem;
    top: 0;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_target_list .methods_card_target_item .methods_card_target_text {
    font-size: 1.4rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_info .methods_card_info_item {
    padding: 1.2rem 0.4rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_info .methods_card_info_item:nth-child(even) {
    padding-left: 1rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_info .methods_card_info_item dt {
    font-size: 1.5rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_info .methods_card_info_item dd {
    font-size: 1.3rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_body .methods_card_point {
    margin-top: 1.4rem;
    padding: 0.8rem 1.2rem;
    font-size: 1.3rem;
  }
  main .methods_area .methods_area_inner .methods_list .methods_list_item .methods_card_note {
    position: static;
    margin-top: 0.8rem;
    font-size: 1.2rem;
    text-align: center;
    white-space: normal;
  }
  main .methods_area .methods_area_inner .methods_area_btn {
    gap: 1.2rem;
    margin-top: 3rem;
    padding: 1.2rem 1.6rem;
  }
  main .methods_area .methods_area_inner .methods_area_btn .section_btn_text {
    font-size: 1.6rem;
  }
  main .methods_area .methods_area_inner .methods_area_btn .material-icons {
    width: 2.6rem;
    font-size: 1.6rem;
  }
  main .voice_area {
    padding-bottom: 6rem;
  }
  main .voice_area .voice_bg {
    top: 2rem;
  }
  main .voice_area .voice_area_inner {
    width: 90%;
    border-radius: 1.5rem;
  }
  main .voice_area .voice_area_inner .voice_area_top {
    padding: 4rem 1.6rem 6rem;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 3rem), 50% 100%, 0 calc(100% - 3rem));
  }
  main .voice_area .voice_area_inner .voice_area_top .section_title {
    margin: 0 0 2.4rem;
  }
  main .voice_area .voice_area_inner .voice_area_top .section_title .ja_title {
    margin-top: 0.4rem;
  }
  main .voice_area .voice_area_inner .voice_area_top .voice_list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.6rem;
  }
  main .voice_area .voice_area_inner .voice_area_top .voice_list .voice_list_item:nth-child(odd) {
    padding-left: 1.6rem;
  }
  main .voice_area .voice_area_inner .voice_area_top .voice_list .voice_list_item:nth-child(odd) .voice_list_item_text::before {
    border-right-width: 1.6rem;
  }
  main .voice_area .voice_area_inner .voice_area_top .voice_list .voice_list_item:nth-child(even) {
    top: 0;
    padding-right: 1.6rem;
  }
  main .voice_area .voice_area_inner .voice_area_top .voice_list .voice_list_item:nth-child(even) .voice_list_item_text::before {
    border-left-width: 1.6rem;
  }
  main .voice_area .voice_area_inner .voice_area_top .voice_list .voice_list_item .voice_list_item_text {
    padding: 1.4rem 1.6rem;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  main .voice_area .voice_area_inner .voice_area_top .voice_list .voice_list_item .voice_list_item_text::before {
    border-top-width: 0.7rem;
    border-bottom-width: 0.7rem;
  }
  main .voice_area .voice_area_inner .voice_area_top .voice_list .voice_list_item .voice_list_item_text .voice_list_item_role {
    display: block;
    text-align: right;
  }
  main .voice_area .voice_area_inner .voice_area_bottom {
    padding: 2rem 1.6rem 5rem;
  }
  main .voice_area .voice_area_inner .voice_area_bottom .voice_area_sub_title {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
  /* TOPの実績カードは一覧ページと同じスタイル（.voice_archive）を使う */
  main .voice_area .voice_area_inner .voice_area_bottom .voice_area_btn {
    margin-top: 3rem;
    padding: 1.2rem 1.6rem;
    gap: 1.2rem;
  }
  main .voice_area .voice_area_inner .voice_area_bottom .voice_area_btn .section_btn_text {
    font-size: 1.6rem;
  }
  main .voice_area .voice_area_inner .voice_area_bottom .voice_area_btn .material-icons {
    width: 2.6rem;
    max-width: 32px;
    min-width: 19px;
    font-size: 1.6rem;
  }
  main .flows_area {
    padding: 2rem 0 2rem;
    background-position: center 1rem;
    background-size: 100%;
  }
  main .flows_area .flows_area_inner {
    width: 90%;
    max-width: none;
    margin-inline: auto;
  }
  main .flows_area .flows_area_inner .section_title {
    margin: 0 0 4rem;
  }
  main .flows_area .flows_area_inner .flows_list {
    flex-wrap: wrap;
    align-items: stretch;
    gap: 4rem 4rem;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item {
    flex: 0 0 calc(50% - 2rem);
    max-width: none;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item:not(:last-child)::after {
    content: "east";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    min-width: 0;
    aspect-ratio: 1;
    margin-left: 0.7rem;
    background: none;
    color: #00175C;
    font-family: "Material Icons";
    font-size: 2.6rem;
    line-height: 1;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item:nth-child(2n)::after {
    display: none;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item:nth-child(2)::after {
    display: flex;
    top: calc(100% + 2rem);
    left: -2rem;
    margin-left: 0;
    transform: translate(-50%, -50%) rotate(135deg);
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item .flows_card {
    padding: 3.2rem 0 2rem;
    border-radius: 1.2rem;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item .flows_list_item_num {
    width: 4.8rem;
    min-width: 0;
    font-size: 1.8rem;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item .flows_list_item_img {
    width: 11rem;
    min-width: 0;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item .flows_check_list .flows_check_list_item {
    gap: 0.4rem;
    font-size: 1.4rem;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item .flows_check_list .flows_check_list_item:first-child {
    margin-top: 1.2rem;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item .flows_check_list .flows_check_list_item .flows_check_list_item_icon {
    width: 1.3rem;
  }
  /* AUN No.9：矢印をなくし、すき間を詰めてカードを拡大（01～04を1画面に収める） */
  main .flows_area .flows_area_inner .flows_list {
    gap: 3.6rem 1.4rem;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item {
    flex: 0 0 calc(50% - 0.7rem);
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item:not(:last-child)::after,
  main .flows_area .flows_area_inner .flows_list .flows_list_item:nth-child(2)::after {
    content: none;
    display: none;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item .flows_list_item_img {
    width: 12rem;
  }
  main .flows_area .flows_area_inner .flows_list .flows_list_item .flows_check_list .flows_check_list_item {
    font-size: 1.5rem;
  }
  main .faq_area .faq_area_inner .faq_accord_area .faq_accord_list {
    padding: 2rem 1.4rem;
  }
  main .faq_area .faq_area_inner .faq_accord_area .faq_accord_list .faq_accord_header .faq_accord_header_left {
    gap: 1.2rem;
    padding: 0 0.6rem;
  }
  main .faq_area .faq_area_inner .faq_accord_area .faq_accord_list .faq_accord_header .faq_accord_header_left .faq_accord_header_left_q {
    width: 3rem;
    max-width: 44px;
    min-width: 28px;
    height: 3rem;
    max-height: 44px;
    min-height: 28px;
  }
  main .faq_area .faq_area_inner .faq_accord_area .faq_accord_list .faq_accord_header .faq_accord_header_right .faq_accord_btn {
    width: 3.2rem;
    max-width: 44px;
    min-width: 28px;
    height: 3.2rem;
    max-height: 44px;
    min-height: 28px;
  }
  main .faq_area .faq_area_inner .faq_accord_area .faq_accord_list .faq_accord_answer {
    margin-top: 1.6rem;
  }
  main .faq_area .faq_area_inner .faq_accord_area .faq_accord_list .faq_accord_answer .faq_accord_answer_inner {
    gap: 1.2rem;
  }
  main .faq_area .faq_area_inner .faq_accord_area .faq_accord_list .faq_accord_answer .faq_accord_answer_inner .faq_accord_answer_a {
    width: 3rem;
    max-width: 44px;
    min-width: 28px;
    height: 3rem;
    max-height: 44px;
    min-height: 28px;
  }
  main .info_area {
    background-image: url(../img/top/info_bg.svg);
    background-position: left 2.6vw;
    background-size: 90%;
  }
  main .info_area .info_area_inner .info_post_area {
    margin-top: 2rem;
  }
  main .info_area .info_area_inner .info_post_area .info_post_list .info_post_list_item .info_post_list_item_link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem 1.6rem;
  }
  main .info_area .info_area_inner .info_post_area .info_post_list .info_post_list_item .info_post_list_item_link .info_post_list_item_link_left .info_cat {
    margin-top: 0.4rem;
  }
  main .info_area .info_area_inner .info_post_area .info_post_list .info_post_list_item .info_post_list_item_link .info_post_list_item_link_right {
    display: contents;
  }
  main .info_area .info_area_inner .info_post_area .info_post_list .info_post_list_item .info_post_list_item_link .info_post_list_item_link_right .info_title {
    grid-column: 1/-1;
  }
  main .info_area .info_area_inner .info_post_area .info_post_list .info_post_list_item .info_post_list_item_link .info_post_list_item_link_right .material-icons {
    grid-row: 1;
    grid-column: 2;
    align-self: end;
    width: 2.6rem;
    max-width: none;
    min-width: 0;
    font-size: 2rem;
    transition: 0.4s;
  }
  main .info_area .info_area_inner .section_btn {
    margin-top: 4rem;
  }
  main .company_contact_area .company_area .company_area_inner {
    width: 90%;
    margin-inline: auto;
  }
  main .company_contact_area .company_area .company_area_inner .company_btnarea {
    margin-top: 2.8rem;
  }
  main .company_contact_area .company_area .company_area_inner .company_btnarea .company_btnarea_upper .section_btn {
    margin-inline: auto;
    width: 30rem;
  }
  main .company_contact_area .company_area .company_area_inner .company_btnarea .company_btnarea_lower {
    margin-top: 4rem;
  }
  main .company_contact_area .contact_area {
    margin-top: 4rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
    border-radius: 40px 40px 0 0;
  }
  main .company_contact_area .contact_area::before {
    top: -1rem;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower {
    width: fit-content;
    margin-top: 4rem;
    margin-inline: auto;
    align-items: stretch;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower .contact_area_lower_tel {
    padding-right: 0;
    border-right: none;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower .contact_area_lower_tel .contact_area_lower_tel_text {
    text-align: center;
    margin-left: 0;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower .contact_area_lower_tel a {
    font-size: 3rem;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower .contact_area_lower_tel .material-symbols-outlined {
    font-size: 2.8rem;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower .contact_area_lower_mail {
    margin-top: 3.2rem;
    padding-left: 0;
    width: 100%;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower .contact_area_lower_mail .contact_area_lower_mail_text {
    margin-left: 0;
    text-align: center;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower .contact_area_lower_mail .material-symbols-outlined {
    margin-top: 0;
    font-size: 3.2rem;
  }
  main .company_contact_area .contact_area .contact_area_inner .contact_area_lower .contact_area_lower_mail a {
    justify-content: center;
    gap: 1rem;
    width: 100%;
    margin-top: 1.4rem;
    padding: 2rem 2.4rem;
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  footer .footer_inner {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
  footer .footer_inner .footer_inner_left .footer_logo {
    width: 20rem;
  }
  footer .footer_inner .footer_inner_right {
    margin-top: 3rem;
  }
}
/*----------------------------------------------------------------

下層ページ（sub.scss のメディアクエリ）

----------------------------------------------------------------*/
/*---- サイドバナー（サブページ） ----*/
@media screen and (min-width: 768px) {
  .side_banner.side_banner--sub {
    top: 9.948vw;
    width: 60px;
    max-width: none;
    min-width: 0;
    border-right-width: 0;
  }
  .side_banner.side_banner--sub .side_banner_body {
    position: relative;
    padding: 0;
  }
  .side_banner.side_banner--sub .side_banner_icon {
    width: 100%;
    padding: 8px 0 9px;
    border-bottom: 1px solid #00175C;
    font-size: 24px;
    line-height: 1;
  }
  .side_banner.side_banner--sub .side_banner_text {
    writing-mode: vertical-rl;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.1;
  }
  .side_banner.side_banner--sub .side_banner_text--top.side_banner_text {
    position: absolute;
    top: 50px;
    right: 10px;
    margin-top: 0;
    padding-bottom: 0;
  }
  .side_banner.side_banner--sub .side_banner_text--bottom.side_banner_text {
    align-self: flex-start;
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 8px 0 10px 10px;
    padding-top: 0;
    border-top: 0;
  }
  .side_banner.side_banner--sub .side_banner_click {
    height: 42px;
    padding: 0;
    font-size: 14px;
    letter-spacing: 0;
    line-height: 1.18;
  }
  .side_banner.side_banner--sub .side_banner_click .material-icons {
    display: none;
  }
}
/*----------------------------------------------------------------

768〜1023px

----------------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .sub_mv {
    padding-top: 150px;
  }
  .sub_mv--detail {
    padding-top: 140px;
  }
}
/*----------------------------------------------------------------

SP

----------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  /*---- 下層ページ MV ----*/
  .sub_mv {
    padding: 7.2rem 0 1.6rem;
    background-position: center top;
    background-size: cover;
  }
  .sub_mv .sub_mv_inner {
    flex-direction: column;
    padding-inline: 5%;
  }
  .sub_mv .sub_mv_title_wrap {
    margin: 1rem 0 0 0.4rem;
    padding-left: 2rem;
  }
  .sub_mv .sub_mv_title_line {
    top: -1rem;
    width: 0.6rem;
    max-width: none;
    min-width: 0;
  }
  .sub_mv .sub_mv_title {
    font-size: 3.6rem;
    letter-spacing: 0.3rem;
  }
  .sub_mv .sub_mv_lead {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    line-height: 1.7;
  }
  .sub_mv .sub_mv_photo {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-top: 2.6rem;
    border-radius: 1rem;
  }
  .sub_mv .sub_mv_photo_img {
    aspect-ratio: 35/16;
  }
  /*---- パンくずリスト ----*/
  .sub_breadcrumb {
    margin-top: 0.8rem;
    padding-right: 5%;
  }
  .sub_breadcrumb .sub_breadcrumb_list {
    font-size: 1.2rem;
  }
  /*---- ページ内リンク ----*/
  .sub_anchor {
    padding: 3rem 5%;
  }
  .sub_anchor .sub_anchor_list {
    justify-content: flex-start;
    gap: 1rem;
  }
  .sub_anchor .sub_anchor_item {
    display: flex;
    width: calc(50% - 0.5rem);
  }
  .sub_anchor .sub_anchor_link {
    column-gap: 0.8rem;
    width: 100%;
    min-width: 0;
    padding: 0.9rem 0.8rem 0.9rem 1.2rem;
    border-radius: 0.8rem;
  }
  .sub_anchor .sub_anchor_text {
    font-size: 1.3rem;
    letter-spacing: 0.05em;
  }
  .sub_anchor .sub_anchor_text--wrap {
    line-height: 1.5;
    white-space: normal;
  }
  .sub_anchor .sub_anchor_icon {
    width: 2.6rem;
    max-width: none;
    min-width: 0;
    font-size: 1.8rem;
  }
  /*---- 下層ページ 見出し ----*/
  .sub_heading {
    width: 90%;
    max-width: none;
    min-width: 0;
  }
  .sub_heading .en_title {
    margin-bottom: 0;
    text-align: center;
  }
  .style_strength .section_title .en_title {
    text-align: center;
  }
  /*---- 会社情報 ----*/
  .company_info {
    padding: 5rem 0 6rem;
    background-position: center 12rem;
    background-size: 200% auto;
  }
  .company_info .company_info_card {
    width: 90%;
    min-width: 0;
    margin-top: 3rem;
    padding: 2.4rem 2rem 3rem;
  }
  .company_info .company_info_list {
    gap: 1.6rem;
  }
  .company_info .company_info_row {
    flex-direction: column;
    row-gap: 0.8rem;
    padding-bottom: 1.6rem;
  }
  .company_info .company_info_row::after {
    width: 8rem;
    max-width: none;
    min-width: 0;
  }
  .company_info .company_info_term {
    width: auto;
    max-width: none;
    min-width: 0;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .company_info .company_info_data {
    padding-top: 0;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
  }
  .company_info .company_info_data--group {
    gap: 1.6rem;
  }
  .company_info .company_info_group {
    gap: 0.4rem;
  }
  .company_info .company_info_group_title {
    font-size: 1.5rem;
  }
  /* 拠点（AUN No.5）：SP は 〒・住所／ビル名／TEL／FAX をそれぞれ1行に */
  .company_info .company_info_office_bldg,
  .company_info .company_info_office_tel,
  .company_info .company_info_office_fax {
    display: block;
    min-width: 0;
    margin-left: 0;
  }
  /*---- 代表メッセージ ----*/
  .company_message {
    padding: 5rem 0 6rem;
  }
  .company_message .company_message_inner {
    width: 90%;
    min-width: 0;
    margin-top: 3rem;
  }
  .company_message .company_message_top {
    grid-template-columns: 1fr;
  }
  .company_message .company_message_box {
    padding: 2.4rem 2rem;
  }
  .company_message .company_message_catch {
    font-size: 2.2rem;
    letter-spacing: 0.15rem;
    line-height: 1.9;
  }
  .company_message .company_message_catch_line:not(:last-child) {
    background: linear-gradient(transparent calc(100% - 0.4rem), #DFE9F5 calc(100% - 0.4rem));
  }
  .company_message .company_message_name {
    margin-top: 1.6rem;
    letter-spacing: 0.2rem;
  }
  .company_message .company_message_name_role {
    font-size: 1.3rem;
  }
  .company_message .company_message_name_main {
    font-size: 2rem;
  }
  .company_message .company_message_text {
    margin-top: 3rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 2;
  }
  .company_message .company_message_text p + p {
    margin-top: 2em;
  }
  /*---- アクセス ----*/
  .company_access {
    padding: 5rem 0 2rem;
  }
  .company_access .company_access_inner {
    width: 90%;
    min-width: 0;
    margin-top: 3rem;
  }
  .company_access .company_access_block {
    gap: 1rem;
  }
  .company_access .company_access_label {
    padding: 0.6rem 1.4rem;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .company_access .company_access_text {
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  .company_access .company_access_route li + li {
    margin-top: 0.8em;
  }
  .company_access .company_access_address {
    margin-top: 0;
  }
  .company_access .company_access_note {
    margin-top: 0.8rem;
  }
  .company_access .company_access_cols {
    grid-template-columns: 1fr;
    row-gap: 3rem;
    margin-top: 3rem;
  }
  .company_access .company_access_map {
    margin-top: 4rem;
  }
  .company_access .company_access_map_iframe {
    height: 30rem;
    max-height: none;
    min-height: 0;
  }
  .company_access .company_access_btn_wrap {
    margin-top: 3rem;
  }
  .company_access .company_access_btn_wrap .sub_btn {
    padding-block: 1.2rem;
  }
  .company_access .company_access_btn_wrap .sub_btn_icon {
    width: 2.6rem;
  }
  /*---- 下線付きボタン ----*/
  .sub_btn.section_btn {
    column-gap: 1.6rem;
    padding: 1.4rem 1.6rem;
  }
  .sub_btn--wide {
    min-width: 26rem;
  }
  .sub_btn_text {
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .sub_btn_icon {
    width: 2.8rem;
    max-width: none;
    min-width: 0;
    font-size: 1.8rem;
  }
  /*---- 下層ページ MV（2行見出し・詳細ページ） ----*/
  .sub_mv .sub_mv_title_wrap--multi {
    margin-top: 1rem;
  }
  .sub_mv .sub_mv_title_wrap--multi .sub_mv_title_line {
    top: 0.2rem;
  }
  /* 1行見出しのみ（サブキャッチなし） */
  .sub_mv .sub_mv_title_wrap--single {
    min-height: 6rem;
    margin-top: 0;
  }
  .sub_mv .sub_mv_title--multi {
    font-size: 2.6rem;
    letter-spacing: 0;
  }
  .sub_mv--detail {
    padding: 7.2rem 0 3rem;
  }
  .sub_mv--detail .sub_breadcrumb {
    margin-top: 0;
  }
  .sub_mv--detail .sub_mv_inner {
    margin-top: 2rem;
  }
  .sub_mv--detail .sub_mv_title_wrap--detail {
    margin-top: 0;
  }
  .sub_mv--detail .sub_mv_title_wrap--detail .sub_mv_title_line {
    top: 0.4rem;
  }
  .sub_mv--detail .sub_mv_category {
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
  }
  .sub_mv--detail .sub_mv_title--detail {
    margin-top: 0.4rem;
    font-size: 2.2rem;
    letter-spacing: 0.1rem;
    line-height: 1.5;
  }
  /*---- 実績紹介 他の事例を探す ----*/
  .voice_search_area {
    padding: 5rem 0 6rem;
  }
  .voice_search_area .voice_search {
    width: 90%;
    min-width: 0;
    margin-top: 3rem;
  }
  .voice_search_area .voice_search_rows {
    gap: 1.2rem;
  }
  .voice_search_area .voice_search_row {
    grid-template-columns: minmax(0, 1fr);
  }
  .voice_search_area .voice_search_label {
    padding: 1rem 1.6rem;
    border-radius: 1rem 1rem 0 0;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .voice_search_area .voice_search_body {
    padding: 1.6rem;
    border-radius: 0 0 1rem 1rem;
  }
  .voice_search_area .voice_search_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
  }
  .voice_search_area .voice_search_group + .voice_search_group {
    margin-top: 1.6rem;
  }
  .voice_search_area .voice_search_group_label {
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
  }
  .voice_search_area .voice_search_chip_text {
    padding: 0.8rem 0.4rem;
    border-radius: 0.8rem;
    font-size: 1.3rem;
    letter-spacing: 0.05em;
  }
  .voice_search_area--blue {
    padding-bottom: 2rem;
  }
  /*---- 実績紹介 一覧 ----*/
  .voice_archive {
    padding: 5rem 0 2rem;
    background-position: right top 3rem;
    background-size: 80% auto;
  }
  .voice_archive .voice_archive_title_wrap {
    margin-bottom: 2.4rem;
  }
  .voice_archive .voice_archive_title_wrap .en_title,
  .voice_archive .voice_archive_title_wrap .ja_title {
    text-align: center;
  }
  .voice_archive .voice_card_list_wrap {
    width: 90%;
    min-width: 0;
  }
  .voice_archive .voice_card_list {
    grid-template-columns: minmax(0, 34rem);
    gap: 2rem;
  }
  .voice_archive .voice_card_link {
    padding: 1.6rem 1.4rem 2rem;
  }
  .voice_archive .voice_card_img {
    border-radius: 1.2rem;
  }
  .voice_archive .voice_card_date {
    margin-top: 1.2rem;
    font-size: 1.2rem;
  }
  .voice_archive .voice_card_title {
    margin-top: 0.6rem;
    padding-bottom: 1rem;
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
  }
  .voice_archive .voice_card_tag {
    margin-top: 1rem;
    font-size: 1.2rem;
    letter-spacing: 0.1rem;
  }
  .voice_archive .voice_card_tag--style {
    min-width: 6rem;
  }
  /* 実績カードの「事例の詳細を見る」ボタン（AUN No.45） */
  .voice_archive .voice_card_btn_wrap {
    padding-top: 3.2rem;
  }
  .voice_archive .voice_card_btn {
    padding: 1rem 1.6rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
  .voice_archive .voice_card_btn_icon {
    width: 1.8rem;
  }
  .voice_archive .voice_card_btn_icon .material-icons {
    font-size: 1.2rem;
  }
  /* 実績一覧：検索との間を詰める（AUN No.24） */
  .post-type-archive-works .voice_search_area {
    padding-bottom: 3rem;
  }
  .voice_archive.voice_archive--list {
    padding-top: 3rem;
  }
  .voice_pagination {
    margin-top: 4rem;
  }
  .voice_pagination .voice_pagination_list {
    gap: 0.6rem;
  }
  .voice_pagination a.page-numbers,
  .voice_pagination span.page-numbers {
    width: 3.4rem;
    height: 3.4rem;
    font-size: 1.4rem;
  }
  /*---- 実績紹介 詳細 ----*/
  .voice_detail_inner {
    width: 90%;
    min-width: 0;
  }
  .voice_detail_heading {
    column-gap: 0.8rem;
    padding: 0.6rem 1.2rem;
    border-radius: 0.8rem;
    font-size: 1.7rem;
  }
  .voice_detail_heading::before {
    width: 1.6rem;
  }
  .voice_detail_text {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 2;
  }
  .voice_detail {
    padding: 4rem 0 5rem;
  }
  .voice_detail .voice_detail_top {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2.4rem;
  }
  .voice_detail .voice_detail_table {
    gap: 0.8rem;
  }
  .voice_detail .voice_detail_row {
    grid-template-columns: 11rem minmax(0, 1fr);
  }
  .voice_detail .voice_detail_term {
    padding: 0.8rem 1rem;
    border-radius: 0.8rem 0 0 0.8rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .voice_detail .voice_detail_term span {
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .voice_detail .voice_detail_data {
    padding: 0.8rem 1rem;
    border-radius: 0 0.8rem 0.8rem 0;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .voice_detail .voice_detail_comment {
    margin-top: 4rem;
  }
  .voice_detail .voice_detail_btn_wrap {
    margin-top: 4rem;
  }
  .voice_detail_voice {
    padding: 5rem 0 6rem;
  }
  .voice_detail_voice .voice_detail_inner {
    row-gap: 4rem;
    margin-top: 3rem;
  }
  .voice_detail_voice .voice_detail_btn_wrap {
    margin-top: 0;
  }
  /*---- D=SEPとは ----*/
  .sub_mv .sub_mv_title_wrap--sub {
    margin-top: 1rem;
  }
  .sub_mv .sub_mv_title_wrap--sub .sub_mv_title_line {
    top: 0.2rem;
  }
  .sub_mv .sub_mv_sub_title {
    font-size: 1.8rem;
    letter-spacing: 0.2rem;
  }
  .about_anchor {
    padding: 3rem 5%;
  }
  .about_anchor .about_anchor_lead {
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: left !important;
  }
  .about_anchor .about_anchor_lead + .about_anchor_lead {
    margin-top: 1rem;
  }
  .about_anchor .about_anchor_lead br {
    display: none;
  }
  .about_anchor .about_anchor_nav {
    margin-top: 2rem;
  }
  .about_what {
    padding: 5rem 0 6rem;
    background-position: left -1rem top 12rem;
    background-size: 200% auto;
  }
  .about_what .about_what_title {
    white-space: normal;
  }
  .about_what .about_what_title .about_what_title_small {
    display: block;
    font-size: 1.6rem;
  }
  .about_what .about_what_inner {
    flex-direction: column;
    width: 90%;
    margin-top: 3rem;
  }
  .about_what .about_what_photo {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  .about_what .about_what_body {
    width: 100%;
    max-width: none;
    margin: 2.4rem 0 0;
  }
  .about_what .about_what_catch {
    font-size: 1.8rem;
    letter-spacing: 0.05rem;
  }
  .about_what .about_what_text {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  .about_what .about_what_text + .about_what_text {
    margin-top: 1.9em;
  }
  .about_what .about_compare {
    width: 90%;
    margin-top: 4rem;
    padding: 2.4rem 1.6rem 2rem;
  }
  .about_what .about_compare_title {
    font-size: 1.7rem;
    letter-spacing: 0.1rem;
  }
  .about_what .about_compare_btn {
    width: 100%;
    margin-top: 1.2rem;
  }
  .about_what .about_compare_btn .section_btn_text {
    font-size: 1.4rem;
    text-align: left;
  }
  .about_worry {
    margin-top: 5rem;
  }
  .about_worry .about_worry_inner {
    width: 90%;
    min-width: 0;
    padding: 3rem 1.6rem 2.4rem;
    border-radius: 1.5rem 1.5rem 0 0;
  }
  .about_worry .about_worry_inner::after {
    height: 3rem;
  }
  .about_worry .about_worry_title {
    margin-bottom: 2.4rem;
    padding-bottom: 0.8rem;
    font-size: 2.2rem;
    letter-spacing: 0.1rem;
  }
  .about_worry .about_worry_title_large {
    font-size: 3rem;
  }
  .about_worry .about_worry_list {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.4rem;
  }
  .about_worry .about_worry_item {
    column-gap: 1.2rem;
    min-height: 0;
    padding: 1.4rem 1.2rem 1.4rem 1rem;
  }
  .about_worry .about_worry_item::after {
    left: 2rem;
    border-width: 1rem 1rem 0;
  }
  .about_worry .about_worry_icon {
    width: 4.6rem;
    min-width: 0;
  }
  .about_worry .about_worry_text_small {
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
  .about_worry .about_worry_text_large {
    font-size: 1.7rem;
    letter-spacing: 0.1rem;
  }
  .about_reason {
    padding-bottom: 5rem;
  }
  .about_reason::before {
    background-position: left -2rem top 60rem;
    background-size: 225vw auto;
  }
  .about_reason .about_reason_inner {
    width: 90%;
    min-width: 0;
    padding: 5.4rem 5% 5rem;
    border-radius: 0 0 1.5rem 1.5rem;
  }
  .about_reason .about_reason_head {
    margin-bottom: 3rem;
  }
  .about_reason .about_reason_catch {
    padding: 2rem 1rem 2.8rem;
    border-radius: 4rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    line-height: 1.3;
  }
  .about_reason .about_reason_catch_marker {
    text-decoration-thickness: 0.6rem;
    white-space: nowrap;
  }
  .about_reason .about_reason_catch_large {
    font-size: 2.3rem;
  }
  .about_reason .about_reason_title {
    width: 24rem;
    min-width: 0;
    margin-top: -1.6rem;
    padding: 0.8rem 1.2rem;
    border-radius: 0.8rem;
    font-size: 1.5rem;
    letter-spacing: 0.15rem;
  }
  .about_reason .about_reason_title::before {
    border-width: calc(1.4rem + 3px) calc(1.4rem + 3px) 0;
  }
  .about_reason .about_reason_title::after {
    border-width: 1.4rem 1.4rem 0;
  }
  .about_reason .about_reason_item {
    flex-direction: column;
  }
  .about_reason .about_reason_item + .about_reason_item {
    margin-top: 5rem;
  }
  .about_reason .about_reason_item:nth-child(even) {
    flex-direction: column;
  }
  .about_reason .about_reason_body {
    width: 100%;
    max-width: none;
  }
  .about_reason .about_reason_label {
    padding: 0.6rem 1.4rem;
    border-radius: 1.5rem;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
  }
  .about_reason .about_reason_heading {
    margin-top: 1.4rem;
    font-size: 2.2rem;
    letter-spacing: 0.1rem;
  }
  .about_reason .about_reason_text {
    margin-top: 2rem;
    font-size: 1.4rem;
    letter-spacing: 0.03rem;
    line-height: 1.9;
  }
  .about_reason .about_reason_text + .about_reason_text {
    margin-top: 1.9em;
  }
  .about_reason .about_reason_photo {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-top: 2.4rem;
  }
  .about_reason .about_reason_photo picture {
    border-radius: 1.2rem;
  }
  .about_reason .about_reason_note {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
  .about_report {
    padding: 5rem 0 6rem;
    background-position: right -6rem top 10rem;
    background-size: 24rem auto;
  }
  .about_report .about_report_title {
    font-size: 2.4rem;
    white-space: normal;
  }
  .about_report .about_report_inner {
    flex-direction: column;
    width: 90%;
    margin-top: 3rem;
  }
  .about_report .about_report_photo {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 2rem 1.6rem 1.2rem;
    border-radius: 1.5rem;
  }
  .about_report .about_report_body {
    width: 100%;
    max-width: none;
    margin: 2.4rem 0 0;
  }
  .about_report .about_report_heading {
    padding-bottom: 1rem;
    font-size: 2rem;
  }
  .about_report .about_report_text {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  .about_report .about_report_label {
    margin-top: 2.4rem;
    padding: 0.8rem 1.2rem;
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
  }
  .about_report .about_report_note {
    margin-top: 1.2rem;
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
  }
  .about_area {
    padding: 5rem 0 4rem;
  }
  .about_area .about_area_inner {
    flex-direction: column;
    width: 90%;
  }
  .about_area .about_area_body {
    width: 100%;
    max-width: none;
  }
  .about_area .about_area_body .section_title {
    padding-bottom: 0.6rem;
  }
  .about_area .about_area_title {
    font-size: 2.6rem;
  }
  .about_area .about_area_catch {
    margin-top: 2rem;
    font-size: 1.8rem;
    letter-spacing: 0.05rem;
  }
  .about_area .about_area_text {
    margin-top: 1rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  .about_area .about_area_map {
    align-self: flex-end;
    width: 111.111%;
    max-width: none;
    min-width: 0;
    margin: 2rem -5.556% 0 0;
  }
  main .about_flows {
    padding: 5rem 0;
  }
  main .company_contact_area--middle {
    border-bottom-width: 1rem;
  }
  main .company_contact_area--middle .contact_area--middle {
    margin-top: 0;
    border-radius: 0;
  }
  .about_needs {
    padding: 5rem 0 6rem;
    background-position: left 50% top 30rem;
    background-size: 40rem auto;
  }
  .about_needs .about_needs_inner {
    width: 90%;
  }
  .about_needs .about_needs_title {
    padding: 0 0 1.2rem;
    font-size: 2.2rem;
    letter-spacing: 0.1rem;
  }
  .about_needs .about_needs_title::after {
    width: 100%;
    min-width: 0;
    height: 0.6rem;
  }
  .about_needs .about_needs_lead {
    margin: 2.4rem 0 4rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  .about_needs .about_needs_item {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: none;
    padding: 2rem 1.6rem;
    border-width: 2px;
    border-radius: 1.5rem;
  }
  .about_needs .about_needs_item + .about_needs_item {
    margin-top: 2.4rem;
  }
  .about_needs .about_needs_body {
    width: 100%;
    max-width: none;
  }
  .about_needs .about_needs_heading {
    column-gap: 1rem;
    padding: 0.8rem 1.2rem;
    border-radius: 0.8rem;
    font-size: 2rem;
    letter-spacing: 0.1rem;
    line-height: 1.5;
  }
  .about_needs .about_needs_icon {
    width: 3.4rem;
    min-width: 0;
    border-radius: 0.6rem;
  }
  .about_needs .about_needs_text {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  .about_needs .about_needs_photo {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-top: 1.6rem;
    border-radius: 0.8rem;
  }
  .about_outsource {
    padding: 5rem 0 1rem;
    background-position: center top 4rem;
    background-size: 200% auto;
  }
  .about_outsource .about_outsource_inner {
    width: 90%;
  }
  .about_outsource .about_outsource_title {
    padding: 0 0 1.2rem;
    font-size: 2.2rem;
    letter-spacing: 0.1rem;
  }
  .about_outsource .about_outsource_title::after {
    width: 100%;
    min-width: 0;
    height: 0.6rem;
  }
  .about_outsource .about_outsource_card {
    flex-direction: column;
    margin-top: 3rem;
    padding: 2.4rem 1.6rem;
    border-radius: 1.5rem;
  }
  .about_outsource .about_outsource_body {
    width: 100%;
    max-width: none;
  }
  .about_outsource .about_outsource_heading {
    font-size: 1.8rem;
    letter-spacing: 0.05rem;
  }
  .about_outsource .about_outsource_text {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  .about_outsource .about_outsource_text + .about_outsource_text {
    margin-top: 1.9em;
  }
  .about_outsource .about_outsource_figure {
    width: 24rem;
    max-width: 100%;
    min-width: 0;
    margin: 2.4rem auto 0;
  }
  .about_outsource .about_outsource_btn {
    margin-top: 3rem;
  }
  /*---- よくあるご質問 カテゴリ一覧 ----*/
  .faq_anchor .faq_anchor_title {
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
  }
  .faq_anchor .faq_anchor_nav {
    margin-top: 1.6rem;
  }
  .faq_anchor .sub_anchor_text {
    white-space: normal;
    line-height: 1.5;
  }
  /*---- よくあるご質問 一覧 ----*/
  .faq_archive {
    padding: 5rem 0 6rem;
  }
  .faq_archive .faq_archive_group + .faq_archive_group {
    margin-top: 5rem;
  }
  .faq_archive .sub_heading {
    margin-bottom: 2.4rem;
  }
  /*---- お問い合わせ 電話 ----*/
  .contact_tel {
    padding: 5rem 0;
  }
  /* 見出しが「お電話での／お問い合わせはこちら」の2行に収まるよう少し小さく（AUN 11/9 No.21） */
  .contact_tel .section_title .ja_title {
    font-size: 2.9rem;
  }
  .contact_tel .contact_tel_box {
    width: 90%;
    min-width: 0;
    margin-top: 2.4rem;
    padding: 2rem 1.6rem;
    border-radius: 0.8rem;
  }
  .contact_tel .contact_tel_time {
    margin-top: 0.8rem;
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
  }
  .contact_tel .contact_tel_number {
    column-gap: 0.6rem;
    padding-bottom: 0.6rem;
    font-size: 2.8rem;
    letter-spacing: 0.1rem;
  }
  .contact_tel .contact_tel_icon {
    font-size: 3.2rem;
  }
  /*---- お問い合わせ フォーム ----*/
  .contact_form {
    padding: 2rem 0 6rem;
  }
  .contact_form .contact_form_lead {
    width: 90%;
    margin: 2.4rem auto 0;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
    text-align: left;
  }
  .contact_form .contact_form_area {
    width: 100%;
    min-width: 0;
    margin-top: 3rem;
    padding: 0 5%;
  }
  .contact_form .contact_form_card {
    width: 100%;
    min-width: 0;
    min-height: 24rem;
    padding: 2rem 1.6rem;
    border-radius: 1.2rem;
  }
  /*---- 講習スタイル 比較表 ----*/
  .style_compare {
    padding: 5rem 0 6rem;
    background-position: center top 40rem;
    background-size: 200% auto;
  }
  .style_compare .style_compare_lead {
    width: 90%;
    min-width: 0;
    margin-top: 2rem;
    font-size: 1.4rem;
  }
  .style_compare .style_compare_scroll_note {
    width: 90%;
    margin: 2rem auto 0;
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
    line-height: 1.6;
  }
  .style_compare .style_compare_scroll {
    width: 100%;
    min-width: 0;
    margin-top: 3rem;
    padding: 0 5% 1rem;
    overflow-x: auto;
  }
  .style_compare .style_compare_scroll_note + .style_compare_scroll {
    margin-top: 1rem;
  }
  .style_compare .style_compare_table {
    min-width: 68rem;
  }
  .style_compare .style_compare_head {
    padding: 1.6rem 1.6rem 2rem;
    border-radius: 2rem 2rem 0 0;
  }
  .style_compare .style_compare_head_title {
    column-gap: 0.8rem;
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
  }
  .style_compare .style_compare_head_icon {
    width: 3.2rem;
    min-width: 0;
  }
  .style_compare .style_compare_head_img {
    margin-top: 1.2rem;
    border-radius: 0.8rem;
  }
  .style_compare .style_compare_term,
  .style_compare .style_compare_data {
    padding: 1.6rem 1.2rem;
    letter-spacing: 0.05rem;
  }
  .style_compare .style_compare_term {
    font-size: 1.4rem;
  }
  .style_compare .style_compare_data {
    font-size: 1.4rem;
  }
  .style_compare .style_compare_note {
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
  }
  .style_compare tbody tr:first-child .style_compare_term {
    border-top-left-radius: 2rem;
  }
  .style_compare tbody tr:last-child .style_compare_term {
    border-bottom-left-radius: 2rem;
  }
  .style_compare tbody tr:last-child .style_compare_data:last-child {
    border-bottom-right-radius: 2rem;
  }
  .style_compare .style_compare_btns {
    grid-template-columns: 1fr;
    row-gap: 1.6rem;
    width: 90%;
    min-width: 0;
    margin-top: 2.4rem;
  }
  .style_compare .style_compare_btn:first-child {
    grid-column: auto;
  }
  .style_compare .style_compare_btn {
    justify-self: stretch;
  }
  /*---- 講習スタイル 概要 ----*/
  .style_overview {
    padding: 5rem 0 6rem;
  }
  .style_overview::before {
    top: 20rem;
    width: 200%;
    height: 115vw;
  }
  .style_overview .style_overview_card {
    width: 90%;
    min-width: 0;
    margin-top: 3rem;
  }
  .style_overview .style_overview_catch {
    padding: 2rem 1.6rem;
    border-radius: 3rem 3rem 0 0;
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
  }
  .style_overview .style_overview_catch::after {
    width: 6rem;
    min-width: 0;
  }
  .style_overview .style_overview_body {
    padding: 4rem 1.6rem 4rem;
    border-radius: 0 0 3rem 3rem;
  }
  .style_overview .style_overview_head {
    grid-template-columns: minmax(0, 1fr) 2rem minmax(0, 1fr);
  }
  .style_overview .style_overview_head_icon {
    width: 4.4rem;
    min-width: 0;
  }
  .style_overview .style_overview_head_logo {
    width: 10rem;
    min-width: 0;
    margin-bottom: 0.8rem;
  }
  .style_overview .style_overview_label {
    margin-top: 0.4rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
  }
  .style_overview .style_overview_head {
    margin-bottom: 2rem;
  }
  .style_overview .style_overview_list {
    gap: 3rem;
  }
  .style_overview .style_overview_item {
    grid-template-columns: 1fr;
    row-gap: 0.8rem;
  }
  .style_overview .style_overview_need,
  .style_overview .style_overview_answer {
    min-height: 0;
    padding: 1.4rem 1.6rem;
    border-radius: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
  }
  .style_overview .style_overview_arrow {
    width: 3rem;
    min-width: 0;
    transform: rotate(90deg);
  }
  .style_overview .style_overview_btn_wrap {
    margin-top: 3rem;
  }
  .style_overview--instructor::before {
    top: 20rem;
    left: 0;
  }
  /*---- 教習所利用型 リード ----*/
  .style_intro {
    padding: 5rem 0;
  }
  .style_intro .style_intro_inner {
    flex-direction: column;
    row-gap: 2.4rem;
    width: 90%;
    min-width: 0;
  }
  .style_intro .style_intro_photo {
    width: 100%;
    min-width: 0;
  }
  .style_intro .style_intro_body {
    width: 100%;
    margin-right: 0;
    padding-top: 0;
  }
  .style_intro .style_intro_catch {
    font-size: 2.2rem;
    letter-spacing: 0.05rem;
  }
  .style_intro .style_intro_text {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  /*---- 教習所利用型 こんな企業様におすすめ・強み ----*/
  .style_recommend_wrap {
    padding-bottom: 6rem;
    background-size: 200% auto;
  }
  .style_recommend {
    padding: 5rem 0;
  }
  .style_recommend .sub_heading {
    margin-bottom: 2.4rem;
  }
  .style_recommend .style_recommend_list {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .style_recommend .style_recommend_item {
    width: 90%;
    max-width: none;
    min-width: 0;
    padding: 2rem 1.6rem;
    border-radius: 1.5rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  }
  .style_recommend .style_recommend_icon {
    width: 7rem;
    min-width: 0;
  }
  .style_recommend .style_recommend_title {
    min-height: 0;
    padding: 1.2rem 0;
    font-size: 1.7rem;
    letter-spacing: 0.1rem;
  }
  .style_recommend .style_recommend_text {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
  .style_strength {
    width: 90%;
    min-width: 0;
    padding: 3rem 1.6rem;
    border-radius: 1.5rem;
  }
  .style_strength .style_strength_title {
    font-size: 2.4rem;
    text-align: center;
  }
  .style_strength .section_title {
    margin-bottom: 2rem;
  }
  .style_strength .style_strength_item {
    grid-template-columns: 6rem minmax(0, 1fr);
    column-gap: 1.2rem;
    padding: 2rem 0;
  }
  .style_strength .style_strength_icon {
    width: 6rem;
    min-width: 0;
    margin-left: 0;
  }
  .style_strength .style_strength_heading {
    font-size: 1.7rem;
    letter-spacing: 0.1rem;
  }
  .style_strength .style_strength_marker {
    font-size: 1.9rem;
  }
  .style_strength .style_strength_text {
    grid-column: 1/-1;
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  /*---- 教習所利用型 コース紹介・料金・オプション ----*/
  .style_course {
    padding: 5rem 0 6rem;
    background-size: 200% auto;
  }
  .style_course::after {
    width: 90%;
    min-width: 0;
    margin-top: 4rem;
  }
  .style_course .style_course_title {
    font-size: 2.4rem;
  }
  .style_course .style_course_lead {
    width: 90%;
    min-width: 0;
    margin: 2rem auto 3rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
    text-align: left;
  }
  .style_course .style_course_list {
    flex-direction: column;
    align-items: center;
    gap: 3rem;
  }
  .style_course .style_course_item {
    width: 90%;
    min-width: 0;
    border-radius: 1.5rem;
  }
  .style_course .style_course_head {
    padding: 1.2rem 1rem;
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
  }
  .style_course .style_course_sub {
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
  }
  .style_course .style_course_body {
    padding: 2rem 1.6rem 2.4rem;
  }
  .style_course .style_course_figure {
    max-width: 100%;
    height: 4.8rem;
    min-height: 0;
    object-fit: contain;
  }
  .style_course .style_course_time {
    margin-top: 1.2rem;
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
  }
  .style_course .style_course_time_large {
    font-size: 1.9rem;
  }
  .style_course .style_course_time_mid {
    font-size: 1.6rem;
  }
  .style_course .style_course_time_small {
    font-size: 1.2rem;
  }
  .style_course .style_course_text {
    margin-top: 1rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    line-height: 1.8;
  }
  .school_price {
    margin-top: 5rem;
  }
  .school_price .school_price_title {
    column-gap: 1.6rem;
    width: 90%;
    min-width: 0;
    font-size: 2.2rem;
  }
  .school_price .school_price_box {
    width: 90%;
    min-width: 0;
    margin-top: 2.4rem;
    border-radius: 2rem;
  }
  .school_price .school_price_case {
    padding: 1.6rem 1rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .school_price .school_price_case_large {
    font-size: 1.5rem;
  }
  .school_price .school_price_case_num {
    font-size: 1.8rem;
  }
  .school_price .school_price_case_small {
    font-size: 1.3rem;
  }
  .school_price .school_price_cols {
    grid-template-columns: 1fr;
  }
  .school_price .school_price_col {
    padding: 2rem 1.6rem;
  }
  .school_price .school_price_course {
    min-height: 0;
    padding: 0.8rem 1.2rem;
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
  }
  .school_price .school_price_course_small {
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
  }
  .school_price .school_price_amount {
    margin-top: 1rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
  .school_price .school_price_amount_num {
    font-size: 2.4rem;
  }
  .school_price .school_price_amount_unit {
    font-size: 1.4rem;
  }
  .school_price .school_price_note {
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .school_price .school_price_notes {
    width: 90%;
    min-width: 0;
    margin-top: 2rem;
    padding-left: 0;
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
  }
  .school_price .school_price_notes p {
    padding-left: 1em;
    text-indent: -1em;
  }
  .school_option {
    width: 90%;
    min-width: 0;
    margin-top: 5rem;
    padding-top: 4rem;
  }
  .school_option .school_option_head {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 1.2rem;
    width: 100%;
    min-width: 0;
    margin-bottom: 2rem;
    padding-left: 0;
  }
  .school_option .school_option_title {
    font-size: 2.2rem;
  }
  .school_option .school_option_lead {
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
  }
  .school_option .school_option_list {
    flex-direction: column;
    gap: 1.6rem;
  }
  .school_option .school_option_item {
    width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 2rem 1.6rem;
    border-radius: 2rem;
  }
  .school_option .school_option_name {
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
  }
  .school_option .school_option_name::after {
    width: 80%;
    min-width: 0;
    height: 0.6rem;
    margin-top: 0.4rem;
  }
  .school_option .school_option_text {
    margin-top: 1rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
  .school_option .school_option_note {
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
  }
  .school_option .school_option_caution {
    margin-top: 2rem;
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
  }
  /*---- 教習所利用型 受講までの流れ ----*/
  .style_flow {
    padding: 5rem 0 6rem;
    background-size: 200% auto;
  }
  .style_flow .style_flow_inner {
    width: 90%;
    min-width: 0;
  }
  .style_flow .style_flow_title_wrap {
    margin: 0 0 5rem;
  }
  .style_flow .style_flow_title {
    font-size: 2.6rem;
  }
  .style_flow .style_flow_list {
    flex-wrap: wrap;
    align-items: stretch;
    gap: 4rem;
  }
  .style_flow .style_flow_item {
    width: calc(50% - 2rem);
    max-width: none;
    min-width: 0;
    min-height: 0;
    padding: 3.2rem 0.8rem 2rem;
  }
  .style_flow .style_flow_item + .style_flow_item::before {
    content: "east";
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    left: -2rem;
    width: 2.6rem;
    max-width: none;
    min-width: 0;
    aspect-ratio: 1;
    background: none;
    color: #00175C;
    font-family: "Material Icons";
    font-size: 2.6rem;
    line-height: 1;
    transform: translate(-50%, -50%);
  }
  .style_flow .style_flow_item:nth-child(3)::before {
    top: -2rem;
    left: calc(100% + 2rem);
    transform: translate(-50%, -50%) rotate(135deg);
  }
  /* 受講までの流れ：TOPと同じく矢印をなくし、間隔を詰めて枠を広げる */
  .style_flow .style_flow_list {
    gap: 3.6rem 1.4rem;
  }
  .style_flow .style_flow_item {
    width: calc(50% - 0.7rem);
  }
  .style_flow .style_flow_item + .style_flow_item::before,
  .style_flow .style_flow_item:nth-child(3)::before {
    content: none;
    display: none;
  }
  .style_flow .style_flow_num {
    width: 4.8rem;
    min-width: 0;
    font-size: 1.8rem;
  }
  .style_flow .style_flow_icon {
    width: 11rem;
    min-width: 0;
  }
  .style_flow .style_flow_text {
    padding-top: 1.2rem;
  }
  .style_flow .style_flow_text li {
    -moz-column-gap: 0.4rem;
         column-gap: 0.4rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
  .style_flow .style_flow_text li::before {
    width: 1.3rem;
  }
  .style_flow .style_flow_note {
    width: 100%;
    min-width: 0;
    margin-top: 3rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
    line-height: 1.8;
  }
  /*---- 教習所利用型 実績紹介・よくあるご質問 ----*/
  .voice_archive.style_voice {
    padding: 5rem 0 6rem;
  }
  .style_btn_wrap {
    width: 90%;
    margin: 3rem auto 0;
  }
  .style_btn_wrap .sub_btn_text {
    white-space: normal;
  }
  .style_faq {
    padding: 5rem 0 6rem;
  }
  .style_faq .section_title {
    margin-bottom: 2.4rem;
  }
  .style_faq .style_btn_wrap {
    margin-top: 3rem;
  }
  /*---- インストラクター派遣型 強みの注記・実績紹介 ----*/
  .style_strength .style_strength_note {
    margin-top: 1.6rem;
    padding-left: 2.6rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .style_strength .style_strength_note::before {
    width: 1.8rem;
    min-width: 0;
  }
  .voice_archive.style_voice--instructor {
    padding: 5rem 0 6rem;
  }
  /*---- インストラクター派遣型 リピート企業が多い理由 ----*/
  .instructor_feedback {
    padding: 6rem 0 5rem;
  }
  .instructor_feedback .instructor_feedback_card {
    width: 90%;
    min-width: 0;
    padding: 5rem 1.6rem 3rem;
    border-radius: 1.5rem;
  }
  .instructor_feedback .instructor_feedback_label {
    top: -1.8rem;
    padding: 0.6rem 1.6rem;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .instructor_feedback .instructor_feedback_title {
    width: 100%;
    min-width: 0;
    padding-bottom: 1.2rem;
    font-size: 2.2rem;
    letter-spacing: 0.1rem;
  }
  .instructor_feedback .instructor_feedback_title_small {
    font-size: 1.5rem;
  }
  .instructor_feedback .instructor_feedback_lead {
    width: 100%;
    min-width: 0;
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .instructor_feedback .instructor_feedback_body {
    flex-direction: column;
    row-gap: 1.6rem;
    margin-top: 2rem;
  }
  .instructor_feedback .instructor_feedback_photo {
    width: 100%;
    min-width: 0;
  }
  .instructor_feedback .instructor_feedback_list {
    width: 100%;
    gap: 1rem;
  }
  .instructor_feedback .instructor_feedback_item {
    column-gap: 0.8rem;
    min-height: 0;
    padding: 0.8rem 1rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .instructor_feedback .instructor_feedback_icon {
    width: 4rem;
    min-width: 0;
  }
  .instructor_feedback .instructor_feedback_item .instructor_feedback_large {
    font-size: 1.6rem;
  }
  .instructor_feedback .instructor_feedback_boss {
    margin-top: 3rem;
    padding: 2.4rem 1.6rem;
    border-radius: 3rem;
  }
  .instructor_feedback .instructor_feedback_boss_title {
    padding-bottom: 1rem;
    font-size: 1.7rem;
    letter-spacing: 0.05rem;
  }
  .instructor_feedback .instructor_feedback_boss_text {
    margin-top: 1.2rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  /*---- インストラクター派遣型 コース紹介 ----*/
  .style_course--instructor {
    padding-top: 5rem;
  }
  .style_course_other {
    width: 90%;
    min-width: 0;
    margin-top: 3rem;
    padding: 2.4rem 1.6rem;
    border-radius: 1.5rem;
  }
  .style_course_other .style_course_other_title {
    margin-bottom: 2rem;
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
  }
  .style_course_other .style_course_other_list {
    flex-direction: column;
    gap: 2rem;
  }
  .style_course_other .style_course_other_item {
    width: 100%;
    min-width: 0;
    border-radius: 1.5rem;
  }
  .style_course_other .style_course_other_head {
    padding: 1.2rem;
    font-size: 1.8rem;
  }
  /*---- インストラクター派遣型 料金 ----*/
  .instructor_price {
    padding: 5rem 0 6rem;
    background-position: center top 2rem;
    background-size: 200% auto;
  }
  .instructor_price .instructor_price_lead {
    width: 90%;
    min-width: 0;
    margin: 2rem auto 3rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
    text-align: left;
  }
  .instructor_price .instructor_price_plan {
    width: 90%;
    min-width: 0;
    border-radius: 3rem;
  }
  .instructor_price .instructor_price_plan + .instructor_price_plan {
    margin-top: 2rem;
  }
  .instructor_price .instructor_price_plan--main,
  .instructor_price .instructor_price_plan--sub {
    padding: 2.4rem 1.2rem 3rem;
  }
  .instructor_price .instructor_price_plan--sub .instructor_price_box {
    width: 100%;
    min-width: 0;
    margin-top: 1.6rem;
    padding-block: 1.6rem;
  }
  .instructor_price .instructor_price_name {
    font-size: 2.2rem;
    letter-spacing: 0.1rem;
  }
  .instructor_price .instructor_price_box {
    width: 100%;
    min-width: 0;
    margin-top: 1.6rem;
    padding: 1.6rem 1.2rem;
    border-radius: 1.6rem;
  }
  .instructor_price .instructor_price_case {
    width: 100%;
    min-width: 0;
    border-bottom-width: 0.6rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .instructor_price .instructor_price_case_large {
    font-size: 1.5rem;
  }
  .instructor_price .instructor_price_case_num {
    font-size: 1.8rem;
  }
  .instructor_price .instructor_price_case_small {
    font-size: 1.3rem;
  }
  .instructor_price .instructor_price_amount {
    margin-top: 1.2rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .instructor_price .instructor_price_num {
    font-size: 2.2rem;
  }
  .instructor_price .instructor_price_unit {
    font-size: 1.3rem;
  }
  .instructor_price .instructor_price_note,
  .instructor_price .instructor_price_caution {
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
  }
  .instructor_price .instructor_price_caution {
    margin-top: 1.2rem;
  }
  .instructor_price .instructor_price_arrange {
    width: 90%;
    min-width: 0;
    margin-top: 3rem;
    padding: 2.4rem 1.6rem;
    border-radius: 3rem;
  }
  .instructor_price .instructor_price_arrange_title {
    font-size: 1.7rem;
    letter-spacing: 0.05rem;
  }
  .instructor_price .instructor_price_arrange_text {
    margin-top: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
    line-height: 1.9;
  }
  /*---- インストラクター派遣型 対応車種 ----*/
  .instructor_car {
    padding: 5rem 0 6rem;
  }
  .instructor_car .instructor_car_catch {
    margin-top: 2.4rem;
    font-size: 1.9rem;
  }
  .instructor_car .instructor_car_note {
    margin: 0.4rem 0 2.4rem;
    font-size: 1.3rem;
  }
  .instructor_car .instructor_car_list {
    grid-template-columns: min(32rem, 90%);
    gap: 2rem;
  }
  .instructor_car .instructor_car_item {
    padding: 2rem 1.6rem 2.4rem;
    border-radius: 2rem;
  }
  .instructor_car .instructor_car_name {
    font-size: 2rem;
    letter-spacing: 0.1rem;
  }
  .instructor_car .instructor_car_name::after {
    height: 0.6rem;
    margin-top: 0.6rem;
  }
  .instructor_car .instructor_car_text {
    margin-top: 0.8rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .instructor_car .instructor_car_photo {
    margin-top: 1.6rem;
  }
  .instructor_car .instructor_car_caution {
    width: 90%;
    min-width: 0;
    margin: 1.6rem auto 0;
    padding-left: 0;
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
    line-height: 1.8;
  }
  /*---- インストラクター派遣型 安全講話 ----*/
  .instructor_lecture {
    padding: 5rem 0 6rem;
  }
  .instructor_lecture .instructor_lecture_sub {
    margin-top: 0.8rem;
    font-size: 1.5rem;
    letter-spacing: 0.05rem;
  }
  .instructor_lecture .instructor_lecture_lead {
    width: 90%;
    min-width: 0;
    margin-top: 2.4rem;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .instructor_lecture .instructor_lecture_heading {
    column-gap: 1.2rem;
    width: 90%;
    min-width: 0;
    margin: 4rem auto 2.4rem;
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
  }
  .instructor_lecture .instructor_lecture_heading--summary {
    margin-top: 5rem;
  }
  .instructor_lecture .instructor_lecture_theme_list {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
  }
  .instructor_lecture .instructor_lecture_theme {
    width: 90%;
    min-width: 0;
    min-height: 0;
    padding: 1.6rem;
  }
  .instructor_lecture .instructor_lecture_theme_icon {
    width: 6rem;
    min-width: 0;
  }
  .instructor_lecture .instructor_lecture_theme_name {
    margin-top: 0.8rem;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .instructor_lecture .instructor_lecture_topics {
    width: 90%;
    min-width: 0;
    margin-top: 1.6rem;
    padding: 1.6rem 1.2rem 1rem;
    border-radius: 1.6rem;
  }
  .instructor_lecture .instructor_lecture_topic_list {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  .instructor_lecture .instructor_lecture_topic {
    align-items: flex-start;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    min-height: 0;
    padding: 0.8rem 1rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
  .instructor_lecture .instructor_lecture_etc {
    font-size: 1.2rem;
  }
  .instructor_lecture .instructor_lecture_notes {
    width: 90%;
    min-width: 0;
    margin-top: 1.6rem;
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
  }
  .instructor_lecture .instructor_lecture_notes p {
    padding-left: 1em;
    text-indent: -1em;
  }
  .instructor_lecture .instructor_lecture_summary {
    gap: 1.2rem;
  }
  .instructor_lecture .instructor_lecture_row {
    width: 90%;
    min-width: 0;
  }
  .instructor_lecture .instructor_lecture_term {
    width: 9rem;
    min-width: 0;
    min-height: 0;
    padding: 1rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
  .instructor_lecture .instructor_lecture_data {
    padding: 1rem 1.2rem;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
  }
}
@media screen and (max-width: 767px) {
  /*---- お知らせ 一覧・詳細 ----*/
  .news_archive {
    padding: 4rem 0 6rem;
  }
  .news_inner {
    width: 90%;
    min-width: 0;
  }
  .news_list_link {
    gap: 1.2rem;
    padding: 1.6rem 0;
  }
  .news_list_meta {
    gap: 0.8rem;
  }
  .news_list_date {
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
  }
  .news_list_cat {
    padding: 0.1rem 1rem;
    font-size: 1.2rem;
  }
  .news_list_title {
    margin-top: 0.6rem;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .news_list_icon {
    font-size: 2.4rem;
  }
  .news_side {
    padding: 4rem 0 6rem;
  }
  .news_side_inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.2rem;
    width: 90%;
    min-width: 0;
  }
  /* SP は「最近の記事」を一番上に（AUN No.53） */
  .news_side_block--recent {
    order: -1;
  }
  .news_side_title {
    padding: 0.6rem 1rem;
    font-size: 1.5rem;
  }
  .news_side_link,
  .news_side_year_label {
    padding: 1.2rem 0.4rem;
    font-size: 1.4rem;
  }
  .news_side_date {
    font-size: 1.2rem;
  }
  .news_head {
    padding-top: 7.2rem;
  }
  .news_head .sub_breadcrumb {
    margin-top: 0.8rem;
  }
  .news_head_inner {
    width: 90%;
    min-width: 0;
    margin-top: 1.6rem;
    padding-bottom: 1.6rem;
  }
  .news_head_title {
    margin-top: 0.8rem;
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
  .news_detail {
    padding: 2.4rem 0 4rem;
  }
  .news_detail_thumb {
    margin-top: 1.6rem;
  }
  .news_entry {
    margin-top: 2.4rem;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 1.9;
  }
  .news_entry h2 {
    font-size: 1.8rem;
  }
  .news_entry h3 {
    font-size: 1.6rem;
  }
  .news_entry h4 {
    font-size: 1.5rem;
  }
  .news_entry h5 {
    font-size: 1.4rem;
  }
  .news_detail_nav {
    grid-template-columns: 1fr 1fr;
    gap: 2rem 1.6rem;
    margin-top: 4rem;
    padding-top: 2.4rem;
  }
  .news_detail_nav .news_detail_back {
    grid-row: 2;
    grid-column: 1/-1;
    justify-self: center;
  }
  .news_detail_nav_link {
    font-size: 1.3rem;
  }
}
