@media only screen and (max-width: 1200px) {
  #header {
    padding: 15px 10px;
  }
  .container_lg, .box07 .container, .box08 .container {
    width: 100%;
    padding: 0 10px;
  }
  .box16 .container_lg {
    padding: 0;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1024px) {
  #mainvisual .txt03 {
    right: -45px;
  }
  .box_contact {
    width: 100%;
  }
  .box11 .box_m .slick-prev {
    left: -27px;
  }
  .box11 .box_m .slick-next {
    right: -27px;
  }
  .box15 .box_t::after {
    left: 30px;
  }
  .box08 .box_m::after {
    left: 56px;
    width: 260px;
    height: 464px;
  }
  .box09 .box_t .ttl_box::before {
    left: 54px;
  }
  .box11 .box_t .ttl_txt {
    left: 65px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 920px) {
  .header_m {
    width: 100%;
  }
  .container {
    width: 100%;
    padding: 0 10px;
  }
  #mainvisual .txt01 {
    top: 375px;
    left: 5px;
    width: 192px;
  }
  #mainvisual .txt02 {
    top: 372px;
    right: 10px;
    width: 172px;
  }
  #mainvisual .txt03 {
    bottom: -194px;
    right: 10px;
    width: 250px;
  }
  .slick-prev {
    left: 0;
  }
  .slick-next {
    right: 0;
  }
  .box05 .ttl_box {
    margin-left: 270px;
  }
  .box_contact {
    width: 100%;
    padding: 40px 20px;
  }
  .box_contact .box_l {
    width: 400px;
  }
  .box_contact .box_it .ttl {
    left: 15px;
    font-size: 28px;
  }
  .box_contact .box_l .ttl01 {
    width: 425px;
  }
  .box_contact .box_l .ttl02 {
    margin-bottom: 4px;
    font-size: 28px;
  }
  .box_contact .box_it:first-child {
    margin-right: 15px;
  }
  .box_contact .box_it::before {
    width: 180px;
  }
  .box_contact .box_b .box_txt {
    top: 170px;
  }
  .box07 .box_t .ttl_txt {
    left: 12px;
  }
  .box07 .box_t .img {
    right: 10px;
    width: 150px;
  }
  .box07 .box_m .box_it:nth-child(1) {
    top: 50px;
    left: 40px;
  }
  .box07 .box_m .box_it:nth-child(2) {
    top: 52px;
    right: 20px;
  }
  .box07 .box_m .box_it:nth-child(4) {
    top: 410px;
    left: 60px;
  }
  .box07 .box_m .box_it:nth-child(5) {
    top: 410px;
    right: 12px;
  }
  .box07 .box_m .box_it:nth-child(3) {
    top: 258px;
    left: 330px;
  }
  .box07 .box_m .ttl_txt::before {
    top: -70px;
    width: 80px;
    height: 90px;
  }
  .box08 .box_t .ttl_box {
    top: 80px;
    left: auto;
    align-items: center;
    justify-content: center;
  }
  .box08 .box_t .ttl_box .txt01 {
    position: relative;
    top: 10px;
  }
  .box08 .box_t .ttl_box .txt02 {
    font-size: 40px;
  }
  .box08 .box_t .ttl_box .txt_lg {
    font-size: 60px;
  }
  .box08 .box_t .ttl_txt {
    left: 10px;
    width: 300px;
  }
  .box08 .box_m {
    padding: 20px 20px 40px;
  }
  .box08 .box_m::after {
    left: 20px;
    width: 254px;
  }
  .box09 .box_t .ttl_box::before {
    left: 4px;
  }
  .box11 .box_t .ttl_txt {
    left: 26px;
  }
  .box11 .box_m .container {
    width: 100%;
  }
  .box11 .box_m .box_it .box_img .before p {
    width: 270px;
  }
  .box11 .box_m .box_it .box_img .after p {
    width: 360px;
  }
  .box11 .box_m .box_it .box_img::before {
    left: 308px;
  }
  .box12 .box_part_t .img {
    width: 200px !important;
  }
  .box12 .box_part_t {
    padding-left: 170px !important;
  }
  .box12 .box_part01 .tbl li {
    width: 33%;
  }
  .box15 .box_t .ttl_box {
    padding-left: 60px;
    font-size: 30px;
  }
  .box15 .box_t::after {
    left: 0;
    width: 150px;
  }
  .box15 .box_t .img {
    top: -100px;
    left: 145px;
  }
  .box15 .box_t .ttl_box .txt_lg {
    font-size: 46px;
  }
  .box16 .box_t .ttl_txt {
    top: 170px;
    left: 430px;
  }
  .box16 .box_t .ttl_box {
    font-size: 30px;
  }
  .ttl_common .txt_lg {
    font-size: 42px;
  }
  .box16 .box_m .name {
    right: 0;
  }
  .box17 .box_t .img {
    left: 50px;
  }
  .box17 .box_t::before {
    right: 20px;
  }
  .box03 .imgs {
    width: 750px;
  }
  .box03 .imgs li {
    width: 370px !important;
    padding: 0 20px;
  }
  .box03 .imgs li .info {
    width: 100% !important;
  }
  right: -45px;
  .box03 .slick-prev {}
  .box03 .slick-next {
    left: -45px;
  }
  .box_contact .box_b .box_txt p {
    font-size: 14px;
  }
  .box10 .case_it04 .box_case_t::before {
    right: 18px;
  }
  .box11 .box_m .slick-prev {
    left: -10px;
  }
  .box11 .box_m .slick-next {
    right: -10px;
  }
  .box14 .box_m::before {
    right: 10px;
  }
}
@media only screen and (max-width: 750px) {
  h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
    font-size: 140%;
  }
  #wrapper {
    min-width: 100%;
  }
  .container_lg {
    width: 100%;
  }
  .container {
    width: 100%;
    padding: 0 10px;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /* ============== HEADER ============== */
  #header {
    padding: 10px 0;
  }
  .header_m {
    width: 100%;
  }
  .header_l {
    justify-content: center;
    width: 100%;
  }
  .header_l .logo {
    width: 160px;
  }
  .header_l .txt {
    margin-top: 15px;
    font-size: 9px;
  }
  .header_r {
    display: none;
  }
  /* ============== MAINVISUAL ============== */
  #mainvisual {
    height: calc(100vw + 150px);
  }
  #mainvisual::before {
    width: 750px;
    height: 100%;
    top: 70px;
  }
  #mainvisual .container {
    height: 100%;
  }
  #mainvisual .h_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 15px;
    padding: 5px 10px;
  }
  #mainvisual .h_ttl img {
    height: 60px;
  }
  #mainvisual .imgs li {
    width: 28%;
  }
  #mainvisual .imgs li:not(:last-child) {
    margin-right: 4%;
  }
  #mainvisual .ttl {
    font-size: 4vw;
  }
  #mainvisual .txt_lg {
    font-size: 5vw;
  }
  #mainvisual .txt {
    margin: 0 auto 5vw;
    font-size: 10px;
  }
  #mainvisual .txt01, #mainvisual .txt03 {
    top: 74%;
    bottom: auto;
    width: 28vw;
    height: auto;
    margin-bottom: 0;
  }
  #mainvisual .txt01 {
    left: 20vw;
  }
  #mainvisual .txt03 {
    right: 20vw;
  }
  #mainvisual .txt02 {
    width: 20vw;
    height: auto;
    top: 34%;
    right: 10px;
    margin-bottom: 0;
  }
  /* ============== COMMON ============== */
  .ttl_common {
    font-size: 22px;
    line-height: 1.5em;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
  }
  .ttl_common .txt_lg {
    font-size: 26px;
  }
  .txt_m {
    font-size: 14px;
  }
  .txt_m_lg {
    font-size: 16px;
  }
  .list_m li, .list_m li span {
    font-size: 14px;
  }
  .list_m li::before, .list_m li span::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 10px;
    height: 10px;
    background-color: #d72217;
    border-radius: 100%;
  }
  /* ============== BOX01 ============== */
  .box01 {
    padding: 140px 0 150px;
  }
  .box01 .ttl_box {
    font-size: 26px;
  }
  .box01 .ttl_box::before {
    top: -27px;
    width: 330px;
    height: 150px;
  }
  .box01 .ttl_box .txt {
    right: auto;
    left: calc(50% + 50px);
    width: 65px;
  }
  .box01 .box_list {
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  .box01 .box_it {
    width: 29%;
    margin: 0 2% 20px;
  }
  .box01 .box_it .img {
    width: 100%;
    height: 25vw;
    padding: 10px;
  }
  .box01 .box_it .ttl {
    padding: 2px 4px 4px;
    font-size: 18px;
  }
  /* ============== BOX02 ============== */
  .box02 .container {
    flex-wrap: wrap;
  }
  .box02 .box_l {
    width: 40%;
  }
  .box02 .box_r {
    width: 60%;
  }
  .box02 .box_l .txt {
    font-size: 18px;
  }
  .box02 .box_l .txt .txt_sm {
    font-size: 14px;
  }
  .box02 .box_l .txt::before {
    width: 235px;
    height: 165px;
  }
  .box02 .box_r .ttl .txt_lg {
    font-size: 24px;
  }
  .box02 .box_r .ttl {
    margin-bottom: 40px;
    font-size: 16px;
  }
  .box02 .box_r .ttl::before {
    width: 50px;
    height: 30px;
    margin-right: 5px;
  }
  .box02 .box_r .ttl::after {
    width: 360px;
  }
  /* ============== BOX03 ============== */
  .box03::before {
    width: 750px;
    height: 180px;
  }
  .box03 .box_t::before {
    left: auto;
    right: calc(50% + 60px);
    width: 130px;
    height: 72px;
  }
  .box03 .box_t::after {
    top: -15px;
    right: auto;
    left: calc(50% + 120px);
    width: 100px;
    height: 80px;
  }
  .box03 .ttl_box::before {
    width: 370px;
    height: 182px;
  }
  .box03 .imgs {
    width: 80%;
  }
  .box03 .imgs li {
    margin: 0 10px;
  }
  .box03 .imgs li .info {
    width: 100% !important;
    margin: 0 0 30px;
    box-shadow: none;
  }
  .box03 .slick-prev {
    right: -50px !important;
    left: auto !important;
  }
  .box03 .slick-next {
    right: auto !important;
    left: -50px !important;
  }
  /* ============== BOX04 ============== */
  .box04 {
    padding: 70px 0 100px;
  }
  .box04 .ttl_box {
    margin-bottom: 40px;
    font-size: 22px;
    line-height: 1.5em;
  }
  .box04 .ttl_box .txt_lg {
    font-size: 26px;
  }
  .box04 .ttl_box::before {
    width: 600px;
  }
  .box04 .ttl_box::after {
    left: auto;
    right: calc(50% + 200px);
    width: 112px;
    height: 80px;
  }
  .box04 .box_list {
    justify-content: center;
    margin-bottom: 30px;
  }
  .box04 .box_it {
    max-width: 254px;
    width: calc(50% - 20px);
    margin: 0 10px 30px;
  }
  .box04 .box_it .ttl {
    left: 0 !important;
    padding-left: 30px;
    font-size: 18px;
  }
  .box04 .box_it .ttl::before {
    top: -4px;
    width: 30px;
    height: 28px;
  }
  /* ============== BOX05 ============== */
  .box05 .ttl_box {
    font-size: 22px;
  }
  .box05::before {
    background-position: center left -500px;
  }
  /* ============== BOX06 ============== */
  .box06 {
    padding: 70px 10px 70px;
  }
  .box_contact {
    width: 100%;
    max-width: 90%;
    padding: 30px 20px 40px;
  }
  .box_contact .box_l {
    width: 100%;
    margin-bottom: 5px;
    padding-top: 0;
  }
  .box_contact .box_l .ttl01 {
    width: 100%;
    text-align: center;
    top: auto;
    left: 15px;
    margin-bottom: 10px;
  }
  .box_contact .box_l .ttl02 {
    margin-bottom: 10px;
    font-size: 28px;
    text-align: center;
  }
  .box_contact .box_l .badge {
    text-align: center;
  }
  .box_contact .box_it .ttl {
    font-size: 20px;
  }
  .box_contact .box_b {
    margin-top: 30px;
    padding-left: 0;
    padding-bottom: 0;
  }
  .box_contact .box_b .badge {
    margin-bottom: 30px;
    font-size: 16px;
  }
  .box_contact .box_b .tel .num {
    padding-left: 80px;
    font-size: 36px;
  }
  .box_contact .box_b .tel .num .txt_lg {
    position: relative;
    font-size: 44px;
  }
  .box_contact .box_b .tel .num .txt_lg::before {
    top: -3px;
    right: 6px;
    width: 170px;
    height: 20px;
  }
  .box_contact .box_b .tel .num::before {
    top: 14px;
    left: 4px;
    width: 62px;
    height: 30px;
  }
  .box_contact .box_b .txt .txt02 {
    font-size: 18px;
  }
  .box_contact .box_b .txt .txt02 .txt_sm {
    font-size: 17px;
  }
  .box_contact .box_b .txt .txt01 {
    display: inline-block;
    margin-right: 16px;
    padding: 4px 5px 6px;
    font-size: 14px;
  }
  .box_contact .box_b .tel {
    margin-bottom: 15px;
    text-align: center;
  }
  .box_contact .box_b .tel .txt {
    left: auto;
    justify-content: center;
  }
  .box_contact .box_b .box_txt {
    position: static;
    margin-left: 0;
    right: 0;
    text-align: center;
  }
  .box_contact .box_b .box_txt p {
    font-size: 16px;
  }
  .box_contact .box_b .note {
    text-align: center;
    margin-bottom: 10px;
  }
  .box_contact::before {
    bottom: -30px;
    width: 148px;
    height: 148px;
  }
  .box_contact .box_list {
    justify-content: center;
  }
  .box_contact .box_r {
    width: 100%;
  }
  .box_contact .box_r .form {
    text-align: center;
  }
  .box_contact .box_r .ttl {
    font-size: 21px;
    padding: 4px 15px;
  }
  .box_contact .box_r .ttl::before {
    top: -42px;
    left: -12px;
    width: 60px;
    height: 68px;
  }
  .box_contact .box_r .ttl .txt_lg {
    font-size: 32px;
  }
  .box_contact .box_it .info {
    width: 180px;
    padding: 5px 10px;
    color: #fff;
    font-size: 15px;
  }
  .box_contact .box_r .form .mailform th, .box_contact .box_r .form .mailform td, .box_contact .box_wide .form .mailform th, .box_contact .box_wide .form .mailform td {
    display: block;
    width: 100%;
    padding: 10px;
    text-align: left;
  }
  .box_contact .box_r .form .mailform th {
    text-align: left;
  }
  .box_contact .box_r .form .mailform th .name br {
    display: none;
  }
  .box_contact .box_r .form .submit_confirm_button, .box_contact .box_r .form .submit_cancel_button, .box_contact .box_r .form .submit_send_button,.box_contact .box_wide .form .submit_confirm_button, .box_contact .box_wide .form .submit_cancel_button, .box_contact .box_wide .form .submit_send_button  {
    width: 203px;
    height: 46px;
    background-size: 100% auto;
  }
  /* ============== BOX07 ============== */
  .box07 .container {
    width: 100%;
  }
  .box07 .box_t {
    height: auto;
    padding: 20px 0;
  }
  .box07 .box_t .ttl_txt {
    left: 0;
    width: 200px;
  }
  .box07 .box_t .ttl_box {
    flex-direction: column;
    align-items: center;
    left: auto;
  }
  .box07 .box_t .img {
    top: -55px;
    right: 0;
    width: 90px;
  }
  .box07 .box_t .ttl_box {
    top: auto;
  }
  .box07 .box_t .ttl_box .txt01 {
    margin-right: 0;
    font-size: 20px;
    line-height: 1.5em;
  }
  .box07 .box_t .ttl_box .txt02 {
    font-size: 26px;
    line-height: 1.5em;
  }
  .box07 .box_t .ttl_box .txt_lg {
    font-size: 50px;
  }
  .box07 .box_t .ttl_box .txt_md {
    font-size: 30px;
  }
  .box07 .box_m {
    height: auto;
    padding: 0 10px 50px;
  }
  .box07 .box_m .box_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 80px;
  }
  .box07 .box_m .box_it {
    position: static;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 50%;
    padding: 0 20px;
    margin-bottom: 30px;
  }
  .box07 .box_m::before {
    width: 280px;
    height: 280px;
  }
  .box07 .box_m .ttl {
    top: 30px;
    margin-bottom: 30px;
    font-size: 22px;
  }
  .box07 .box_m .box_it .txt {
    font-size: 16px;
  }
  .box07 .box_m .box_it .txt::before {
    width: 270px !important;
    height: 120px !important;
  }
  .box07 .box_m .ttl_txt {
    position: relative;
    left: auto;
    bottom: auto;
    transform: unset;
    font-size: 20px;
  }
  .box07 .box_m .ttl_txt .txt_lg {
    font-size: 26px;
  }
  .box07 .box_m .ttl_txt::before {
    top: -45px;
    width: 50px;
    height: 55px;
  }
  /* ============== BOX08 ============== */
  .box08 {
    padding: 0 0 70px;
  }
  .box08 .container {
    width: 100%;
  }
  .box08 .box_t {
    height: auto;
    margin-bottom: 30px;
  }
  .box08 .box_t .ttl_txt {
    top: -70px;
    left: 10px;
    width: 200px;
  }
  .box08 .box_t .ttl_box {
    top: auto;
    left: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .box08 .box_t::before {
    top: -50px;
    width: 100%;
    height: 160px;
  }
  .box08 .box_t .ttl_box .txt01 {
    margin-right: 0;
    font-size: 18px;
  }
  .box08 .box_t .ttl_box .txt02 {
    font-size: 26px;
  }
  .box08 .box_t .ttl_box .txt_lg {
    font-size: 50px;
  }
  .box08 .box_m .ttl {
    margin-bottom: 30px;
    font-size: 20px;
  }
  .box08 .box_m .ttl .txt_lg {
    font-size: 26px;
  }
  .box08 .box_m::after {
    top: auto;
    bottom: 0;
    left: 0;
    width: 234px;
    height: 350px;
  }
  .box08 .box_m .box_ct {
    max-width: 430px;
    width: 100%;
    height: auto;
    padding: 20px 15px;
    margin: 0 0 0 auto;
  }
  .box08 .box_m {
    padding: 20px 30px 70px;
  }
  .box08 .box_m .box_ct::before {
    width: 200px;
  }
  .box08 .box_m .box_ct .box_wr {
    padding: 30px 20px 30px;
  }
  .box08 .box_m .list li {
    padding-left: 30px;
    font-size: 16px;
  }
  .box08 .box_m .list li::before {
    top: 2px;
    width: 24px;
    height: 20px;
  }
  .box08 .box_m .list li:not(:last-child) {
    margin-bottom: 18px;
  }
  /* ============== BOX09 ============== */
  .box09 .box_t {
    height: auto;
    padding: 45px 0 20px;
    background-size: auto 20px;
    background-repeat: repeat-x;
  }
  .box09 .box_t .ttl_box {
    line-height: 1.5em;
  }
  .box09 .box_t .ttl_box .txt_lg_big {
    font-size: 40px;
  }
  .box09 .box_t .ttl_box .txt_lg {
    font-size: 30px;
  }
  .box09 .box_t .ttl_box::before {
    content: '';
    position: absolute;
    top: -18px;
    left: auto;
    right: calc(50% + 170px);
    width: 65px;
    height: 65px;
  }
  .box09 .box_m {
    padding: 50px 0 50px;
  }
  .box09 .box_m .box_img {
    float: none;
    margin: 0 auto 30px;
    text-align: center;
  }
  .box09 .box_m .box_img .name {
    margin: 0 auto;
  }
  /* ============== BOX10 ============== */
  .box10 .box_t {
    height: auto;
  }
  .box10 .box_t .ttl_txt {
    top: -80px;
    left: 10px;
    width: 200px;
  }
  .box10 .box_t .ttl_box {
    top: auto;
    left: auto;
    font-size: 22px;
    text-align: center;
  }
  .box10 .box_t::before {
    top: 45%;
    width: 750px;
    height: 173px;
  }
  .box10 .box_t .ttl_box .txt_md {
    font-size: 30px;
  }
  .box10 .box_t .ttl_box .txt_lg {
    font-size: 36px;
  }
  .box10 .box_t .ttl_box .txt_lg_big {
    font-size: 44px;
  }
  .box10 .box_t .ttl_box .txt_spec {
    font-size: 44px;
  }
  .box10 .box_m {
    margin-top: 0;
    padding: 50px 0;
  }
  .box10 .box_ct .box_txt {
    padding: 20px 0;
  }
  .box10 .box_ct {
    padding: 0 20px;
  }
  .box10 .box_ct_t {
    padding: 12px 0;
    align-items: flex-start;
  }
  .box10 .box_ct_t .ttl {
    margin: 0;
    font-size: 20px;
  }
  .box10 .box_ct_t .ttl .txt_lg {
    font-size: 24px;
  }
  .box10 .box_ct_t .num {
    width: 40px;
    flex-shrink: 0;
    margin: 0 50px 0 0;
    font-size: 14px;
  }
  .box10 .box_ct_t .num_txt {
    font-size: 36px;
  }
  .box10 .box_ct_t .num::before {
    top: 48%;
    left: 50%;
    width: 124px;
    height: 87px;
  }
  .box10 .box_ct .box_txt .img {
    float: none;
    margin: 0 auto 30px;
    text-align: center;
  }
  .list_span li {
    padding-left: 0;
  }
  .list_m {
    margin-bottom: 30px;
  }
  .box10 .box_case_t {
    height: auto;
    padding: 10px 10px 10px 80px !important;
  }
  .box10 .box_case_t .num {
    flex-shrink: 0;
    width: 90px;
    font-size: 14px;
  }
  .box10 .box_case_t .num_txt {
    font-size: 30px;
  }
  .box10 .box_case_t .num::before {
    top: 76%;
    left: 60%;
    width: 90px;
    height: 90px;
  }
  .box10 .box_case_t .ttl {
    font-size: 20px;
  }
  .box10 .box_case_t .ttl .txt_sm {
    font-size: 16px;
  }
  .box10 .box_case_ct {
    max-width: 500px;
    margin: 0 auto;
    flex-wrap: wrap;
    min-height: auto !important;
  }
  .box10 .box_case_ct .box_img {
    width: 100%;
    padding: 20px 10px;
  }
  .box10 .box_case_ct .box_txt {
    width: 100%;
    padding: 20px;
  }
  .box10 .box_case_ct .box_txt .txt {
    padding-left: 45px;
    font-size: 16px;
  }
  .box10 .box_case_ct .txt_st01::before {
    width: 30px;
  }
  .box10 .box_case_ct .txt_st02::before {
    width: 30px;
  }
  .box10 .box_case_ct .txt_st03::before {
    width: 30px;
  }
  .box10 .case_it04 .box_case_t::before {
    content: '';
    position: absolute;
    top: auto;
    bottom: -60px;
    right: 10px;
    width: 70px;
    height: 70px;
  }
  .box10 .box_ct02 .box_ct_t .ttl .txt_lg {
    font-size: 24px;
  }
  .box10 .box_ct02 .box_txt .badge {
    font-size: 16px;
  }
  .box10 .box_ct02 .box_w {
    width: 100%;
  }
  .box10 .box_ct02 .box_w .ttl_w {
    align-items: center;
    flex-wrap: wrap;
    font-size: 20px;
  }
  .box10 .box_ct02 .box_w .ttl_w .txt01 {
    text-align: center;
    width: 100%;
  }
  .box10 .box_ct02 .box_w .ttl_w .txt02 {
    font-size: 30px;
  }
  .box10 .box_ct02 .box_w .ttl_w::before, .box10 .box_ct02 .box_w .ttl_w::after {
    width: 50px;
  }
  .box10 .box_ct02 .box_w_ct {
    padding: 10px 10px;
  }
  .box10 .box_ct02 .box_w_ct .list li::before {
    top: 12px;
    width: 26px;
    height: 24px;
  }
  .box10 .box_ct02 .box_w_ct .list li {
    flex-wrap: wrap;
    align-items: flex-start;
    flex-direction: column;
    padding: 9px 0 9px 30px;
  }
  .box10 .box_ct02 .box_w_ct .list li .txt01 {
    font-size: 18px;
  }
  .box10 .box_ct02 .box_w_ct .list li .txt02 {
    margin-left: 0;
    font-size: 14px;
  }
  .box10 .box_ct02 .box_w_ct .list li .txt02::before, .box10 .box_ct02 .box_w_ct .list li .txt02::after {
    top: 0px;
    width: 7px;
    height: 34px;
  }
  .box10 .box_ct03 .box_txt .ttl_txt {
    margin-bottom: 20px;
    font-size: 18px;
  }
  /* ============== BOX11 ============== */
  .box11 .box_t .ttl_txt {
    width: 120px;
    top: -88px;
    right: calc(50% + 135px);
    left: auto;
  }
  .box11 .box_t .ttl_box {
    margin-bottom: 20px;
    font-size: 26px;
  }
  .box11 .box_t .ttl_box::before {
    height: 160px;
  }
  .box11 .box_m .container {
    width: 100%;
  }
  .box11 .box_m .box_it .box_img .num {
    width: 126px;
    font-size: 14px;
  }
  .box11 .box_m .box_it .box_img .num_txt {
    font-size: 30px;
  }
  .box11 .box_m .box_it .box_img .num::before {
    width: 90px;
  }
  .box11 .box_m .box_it {
    padding: 40px 10px;
    margin: 50px 10px;
  }
  .box11 .box_m .box_it .box_img {
    margin-bottom: 0;
    padding: 0;
  }
  .box11 .box_m .box_it .box_img .before p {
    width: 30vw;
  }
  .box11 .box_m .box_it .box_img .after p {
    width: 40vw;
  }
  .box11 .box_m .box_it .box_img .after p::before {
    display: none;
  }
  .box11 .box_m .box_it .box_img .img span {
    width: 90px;
    height: 25px;
    font-size: 18px;
  }
  .box11 .box_m .box_it .box_info {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .box11 .box_m .box_it .box_info .box_name {
    margin-bottom: 20px;
  }
  .box11 .box_m .box_it .box_info .quote {
    width: 100%;
    padding: 15px 10px;
  }
  .box11 .box_m .box_it .box_info .quote::before {
    top: -43px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
  .box11 .box_m .box_it .box_img::before {
    left: 36vw;
    width: 7vw;
    height: 5vw;
  }
  .box11 .box_m .box_it .box_img .img p img {
    border: 3px solid #fff;
  }
  .slick-prev, .slick-next {
    width: 30px !important;
    height: 50px !important;
  }
  .slick-prev {
    left: 0 !important;
  }
  .slick-next {
    right: 0 !important;
  }
  .box11 .box_m {
    margin-top: 0;
    padding-bottom: 30px;
  }
  /* ============== BOX12 ============== */
  .box12 {
    padding: 100px 0 0;
  }
  .box12 .box_t .ttl_txt {
    width: 200px;
    top: -74px;
    left: auto;
    right: calc(50% + 40px);
  }
  .box12 .box_t .ttl_box {
    font-size: 22px;
  }
  .box12 .box_t .ttl_box .txt_md {
    font-size: 30px;
  }
  .box12 .box_t .ttl_box .txt_lg {
    font-size: 40px;
  }
  .box12 .box_t .ttl_box::before {
    height: 130px;
  }
  .box12 .box_part_t .img {
    width: 100px;
    top: -40px;
    left: -30px;
  }
  .box12 .box_part {
    padding: 30px 20px;
    background-size: 100% auto;
  }
  .box12 .box_part_t {
    margin-bottom: 30px !important;
    padding-left: 85px !important;
  }
  .box12 .box_part_t .ttl {
    font-size: 20px !important;
    line-height: 1.5em !important;
  }
  .box12 .box_part_t .ttl .txt_lg {
    font-size: 26px !important;
  }
  .box12 .box_part_t .ttl .txt_lg_big {
    font-size: 30px;
    font-weight: 700;
  }
  .box12 .box_part01 .badge span {
    padding: 8px 30px;
    font-size: 16px;
  }
  .box12 .box_part01 .tbl li {
    width: 100%;
  }
  .box12 .box_part01 .tbl_txt {
    padding: 20px;
  }
  .box12 .box_part01 .tbl_img {
    text-align: center;
  }
  .box12 .box_part04 .box_part_txt .img {
    position: static;
    width: 100%;
  }
  .box12 .box_part05 .box_part_t .ttl .txt01 {
    margin-left: 0;
  }
  /* ============== BOX13 ============== */
  .box13 {
    padding: 40px 0;
    margin-top: 50px;
  }
  .box13 .box_t .img {
    top: -68px;
    left: 0;
    width: 180px;
  }
  .box13 .box_t .ttl_box {
    transform: rotate(-3deg);
    padding-left: 0;
    font-size: 18px;
    letter-spacing: 0.01em;
  }
  .box13 .box_t .ttl_box .txt_lg {
    font-size: 28px;
  }
  .box13 .box_t .ttl_box strong {
    font-size: 24px;
  }
  .box13 .box_t::after {
    top: -65px;
    width: 166px;
    height: 130px;
    right: 0;
  }
  .box13 .box_t::before {
    height: 180px;
  }
  /* ============== BOX14 ============== */
  .box14 .box_m {
    padding: 40px 0;
  }
  .box14 .box_m .box_btn {
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin-top: -40px;
  }
  .box14 .box_m .box_btn a {
    background: transparent;
    padding-left: 0;
  }
  .box14 .box_m .box_btn::before, .box14 .box_m .box_btn a::before {
    display: none;
  }
  .box14 .box_t::before {
    left: -40px;
    width: 40px;
  }
  .box14 .box_t::after {
    right: -40px;
    width: 40px;
  }
  .box14 .box_t .img {
    width: 250px;
    left: 0;
  }
  .box14 .container_lg {
    width: 90%;
  }
  .box14 .box_t .ttl_box::before {
    top: -20px;
    left: 50%;
    width: 106px;
    height: 128px;
  }
  .box14 .box_t .ttl_txt {
    font-size: 24px;
  }
  .box14 .box_t .ttl_box {
    font-size: 26px;
    top: 40px;
  }
  .box14 .box_t .ttl_box .txt_lg {
    font-size: 54px;
  }
  .box14 {
    margin-bottom: 30px;
  }
  .box14_person {
    width: 200px;
    margin: 0 auto;
  }
  /* ============== BOX15 ============== */
  .box15 {
    padding: 40px 0;
  }
  .box15 .box_m {
    background: #fff;
    padding: 40px 3%;
  }
  .box15 .box_m .container {
    padding: 0;
  }
  .box15 .box_t {
    margin-bottom: 0;
  }
  .box15 .box_t {
    height: 125px;
  }
  .box15 .box_t::before {
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    height: 100%;
    background: url(../images/box15_ttl_shape.png) no-repeat center/cover;
  }
  .box15 .box_t::after {
    top: -28px;
    left: 10px;
    width: 146px;
    height: 168px;
    background: url(../images/box15_ttl_man.png) no-repeat center/contain;
    z-index: 2;
  }
  .box15 .box_t .img {
    top: -20px;
    left: 114px;
    width: 150px;
  }
  .box15 .box_t .ttl_box {
    font-size: 23px;
    padding: 24px;
  }
  .box15 .box_t .ttl_box .txt_md {
    font-size: 26px;
  }
  .box15 .box_t .ttl_box .txt_lg {
    font-size: 28px;
  }
  /* ============== BOX16 ============== */
  .box16 .box_m .container {
    padding: 0 3%;
  }
  .box16 .box_t .ttl_txt::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    height: 100%;
    background: url(../images/box16_ttl_shape.png) no-repeat center/100% auto;
    z-index: -1;
  }
  .box16 .box_t .ttl_txt {
    top: 10%;
    right: 3%;
    left: auto;
    padding: 4vw 6vw 8vw 11vw;
    font-size: 3vw;
  }
  .box16 .box_t .txt_sm {
    font-size: 2vw;
  }
  .box16 .box_t .ttl_box {
    margin-top: -55px;
    font-size: 20px;
  }
  .box16 .box_m {
    padding: 3vw 0 40px;
  }
  .box16 .box_m .name {
    top: 0;
    right: 0;
    font-size: 16px;
  }
  /* ============== BOX17 ============== */
  .box17 .box_m {
    padding-bottom: 0;
  }
  .box17 .box_t {
    margin-bottom: 8vw;
  }
  .box17 .box_qa dt::before {
    width: 50px;
    height: 50px;
  }
  .box17 .box_qa dd::before {
    width: 50px;
    height: 50px;
  }
  .box17 .box_qa dt {
    padding: 26px 0 20px 64px;
    font-size: 20px;
    letter-spacing: 0.01em;
  }
  .box17 .box_qa dl {
    padding: 0 15px;
  }
  .box17 .box_qa dd {
    padding: 24px 0 32px 60px;
    font-size: 15px;
  }
  .box17 .box_t .ttl_box::before {
    width: 100%;
    height: 100%;
    background: url(../images/box17_ttl_shape.png) no-repeat center/65% auto;
    z-index: -1;
    padding: 100px 0;
  }
  .box17 .box_t .img {
    top: -50px;
    width: 120px;
    left: 60px;
  }
  .box17 .box_t .ttl_box {
    font-size: 30px;
  }
  .box17 .box_t::before {
    top: -5px;
    right: 6%;
    width: 120px;
    height: 58px;
  }
  /* ============== BOX18 ============== */
  .box18 {
    padding-bottom: 40px;
  }
  .box18::before {
    width: 100%;
    height: 60vw;
    background-size: 115% auto;
  }
  .box18 .container_lg {
    padding: 40vw 0 0;
  }
  .box18 .container_lg::after {
    bottom: -30px;
    left: -75px;
    width: 230px;
    height: 280px;
  }
  .box18 .ttl_txt {
    width: 90%;
    margin: 0 auto 30px;
  }
  .box18 .ttl_txt span {
    padding: 6px 15px 8px 23px;
    border-radius: 80px;
    color: #fff;
    font-size: 24px;
  }
  .box14 .box_m::before {
    content: none;
  }
  .box14 .box_m .container {
    padding: 0 20px;
  }
  #totop {
    width: 50px;
    height: 50px;
    right: 15px;
  }
  .contact_btn_fixed {
    height: 60px;
  }
  .contact_btn_fixed .tel .txt {
    display: none;
  }
  .contact_btn_fixed ul {
    height: 100%;
    width: 100%;
  }
  .contact_btn_fixed li {
    width: 50% !important;
    height: 100%;
  }
  .contact_btn_fixed .tel a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0 7px;
  }
  .contact_btn_fixed .tel a img {
    max-height: 100%;
  }
  .contact_btn_fixed .mail a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: #EB6100;
  }
  .contact_btn_fixed .mail a img {
    max-height: 100%;
  }
  #footer {
    margin-bottom: 80px;
  }
  .copyright {
    padding: 5px;
    margin-bottom: 0;
    font-size: 11px;
  }
  .box_contact .box_r .form .mailform input {
    width: 100% !important;
  }
  span.fmail_error {
    background-position-y: 3px !important;
  }
  .box06 .research_list {
    gap: 20px;
  }
  .box06 .research_list li {
    width: calc(100% / 3 - 20px);
  }
}
@media only screen and (max-width: 640px) {
  #mainvisual .txt02 {
    width: 18vw;
    top: 38%;
  }
  .box02 .box_l {
    top: 0;
    width: 100%;
    margin-bottom: 90px;
  }
  .box02 .box_r {
    width: 100%;
  }
  .box02 .box_l .img {
    max-width: 280px;
    margin: 0 auto;
    text-align: center;
  }
  .box02 .box_l .txt {
    left: auto;
    right: calc(50% - 40px);
  }
  .box02 .box_r .video {
    height: 55vw;
  }
  .box05 {
    padding-bottom: 360px;
  }
  .box05::before {
    background-position: center left 25%;
  }
  .box05 .ttl_box {
    margin-left: 0;
    text-align: center;
  }
  .box05 .ttl_box {
    font-size: 20px;
  }
  .box07 .box_t {
    padding: 30px 0 15px;
  }
  .box15 .box_t::after {
    width: 110px;
    height: 168px;
  }
  .box15 .box_t .ttl_box {
    font-size: 2.8vw;
    padding: 6vw 3vw 8vw;
  }
  .box15 .box_t .ttl_box .txt_lg {
    font-size: 3vw;
  }
  .box15 .box_t .ttl_box .txt_md {
    font-size: 4vw;
  }
  .box15 .box_t {
    height: 22vw;
  }
  .box15 .box_t .img {
    top: 0vw;
    left: 15vw;
    width: 20%;
  }
  .box14 .box_t .ttl_box .txt_lg {
    font-size: 44px;
  }
  .box14 .box_t_m {
    height: 100px;
  }
  .box14 .box_t .ttl_box {
    top: 10px;
  }
  .box14 .box_t .ttl_box::before {
    width: 86px;
    height: 116px;
  }
  .box14 .box_t::before {
    left: -38px;
  }
  .box14 .box_t::after {
    right: -38px;
  }
  .box14 .box_t::before, .box14 .box_t::after {
    height: 100px;
  }
  .box08 .box_m::after {
    width: 180px;
    height: 252px;
  }
  .box08 .box_m .box_ct {
    max-width: 375px;
  }
  .box18 .box_contact .box_l .ttl01 {
    top: 0;
    width: 100%;
    margin-bottom: 0;
  }
  .box18 .box_contact .box_note {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
  }
  .box18 .box_contact .box_l {
    margin-bottom: -30vw;
  }
  .box_contact {
    overflow: visible;
  }
  .box_contact .box_note ul {
    width: 100%;
    background-color: rgba(255, 255, 255, .60);
  }
  .box_contact .box_note ul:first-child {
    margin-bottom: 15px;
  }
  .form_ttl {
    font-size: 6.8vw;
  }
  .form_ttl span {
    top: 5px;
  }
  .form_ttl:after {
    top: -85px;
    left: -35px;
    width: 200px;
    height: 100px;
  }
  .form_detail {
    padding: 0 0 20px;
    background-size: contain;
    background-position: top right;
  }
  .form_detail .txt1 {
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 5.6vw;
  }
  .form_detail .txt1 strong, .form_detail .txt1 span {
    color: #fd6d1f;
  }
  .form_detail .txt1 strong {
    font-size: 8vw;
  }
  .form_detail .txt2 {
    margin-bottom: 15px;
    padding: 0 10px;
  }
  .box06 .research_list {
    justify-content: center;
  }
  .box06 .research_list li {
    width: calc(100% / 2 - 20px);
  }
}
@media only screen and (max-width: 560px) {
  .box_contact .box_list {
    flex-wrap: wrap;
  }
  .box_contact .box_it:first-child {
    margin: 0 0 40px 0;
  }
  .box_contact .box_it {
    width: 100%;
  }
  .box_contact .box_it .info {
    width: 100%;
    padding: 10px;
  }
  .box_contact .box_it::before {
    width: 100%;
    height: 100%;
  }
  .box_contact .box_it .ttl {
    left: 0;
  }
  .box_contact .box_it::after {
    left: 44px;
    height: 80px;
  }
  .box11 .box_m .box_it .box_img::before {
    left: 34vw;
  }
  .box17 .box_t .img {
    left: 15px;
  }
  .box17 .box_t::before {
    right: 5px;
  }
  .box16 .box_t .ttl_box {
    margin-top: -10vw;
    font-size: 4vw;
  }
  .box14 .box_t .ttl_box .txt_lg {
    font-size: 36px;
  }
  .box14 .box_t .ttl_box {
    top: 18px;
    font-size: 20px;
  }
}
@media only screen and (max-width: 480px) {
  .sp_480 {
    display: block;
  }
  #mainvisual .txt01, #mainvisual .txt03 {
    top: 80%;
  }
  #mainvisual .txt02 {
    top: 44%;
    width: 16vw;
  }
  .box04 .ttl_box::after {
    left: auto;
    top: -9px;
    right: calc(50% + 109px);
  }
  .box_contact {
    max-width: 100%;
  }
  .box_contact .box_l .ttl02 {
    font-size: 5vw;
  }
  .box_contact .box_b .tel .num {
    padding-left: 13vw;
    font-size: 8vw;
  }
  .box_contact .box_b .tel .num .txt_lg {
    font-size: 10vw;
  }
  .box_contact .box_b .tel .num .txt_lg::before {
    width: 38vw;
  }
  .box_contact .box_b .tel .num::before {
    top: 3vw;
    left: 4px;
    width: 10vw;
    height: 8vw;
  }
  .box_contact .box_b .txt .txt02 {
    font-size: 17px;
    flex-shrink: 0;
  }
  .box_contact .box_b .txt .txt02 .txt_sm {
    font-size: 15px;
  }
  .box_contact .box_b .txt .txt01 {
    margin-right: 10px;
    font-size: 12px;
    line-height: 1.5em;
    flex-shrink: 0;
  }
  .box07 .box_m .box_it {
    width: 100%;
  }
  .box_contact .box_b .note {
    font-size: 12px;
  }
  .box_contact .box_b .box_txt {
    position: relative;
    top: 0;
    left: 35px;
  }
  .box10 .box_ct02 .box_w .ttl_w::before {
    left: 0;
  }
  .box10 .box_ct02 .box_w .ttl_w::after {
    right: 0;
  }
  .box11 .box_t .ttl_txt {
    top: -96px;
    right: calc(50% + 44px);
  }
  .box17 .box_t .img {
    left: 0;
    width: 110px;
  }
  .box15 .box_t::after {
    width: 78px;
    height: 131px;
  }
  .box14 .box_t::before, .box14 .box_t::after {
    height: 70px;
  }
  .box14 .box_t::before {
    left: -30px;
  }
  .box14 .box_t::after {
    right: -30px;
  }
  .box07 .box_m .ttl {
    margin-bottom: 70px;
  }
  .box08 .box_m .box_ct {
    max-width: 340px;
  }
  .box08 .box_m::after {
    width: 132px;
    height: 188px;
  }
}
@media only screen and (max-width: 425px) {
  .sp_425 {
    display: block;
  }
  #mainvisual .txt02 {
    top: 48%;
  }
  .box11 .box_m .box_it .box_img::before {
    left: 32vw;
  }
  .box01 {
    padding: 140px 0 120px;
  }
  .box03 .box_t::after {
    left: calc(50% + 98px);
    width: 70px;
  }
  .box03 .box_t::before {
    right: calc(50% + 35px);
    width: 110px;
  }
  .box03 .ttl_box::before {
    width: 370px;
  }
  .box04 .box_it .ttl {
    font-size: 16px;
  }
  .box_contact .box_b .box_txt p {
    font-size: 14px;
  }
  .box10 .box_ct02 .box_w_ct .list li .txt02 {
    font-size: 13px;
  }
  .box12 .box_t .ttl_txt {
    left: 10px;
    right: auto;
  }
  .box_contact .box_r .ttl {
    padding: 4px 15px 4px 60px;
  }
  .box_contact {
    padding: 30px 15px 40px;
  }
  .box_contact .box_b .note {
    font-size: 11px;
  }
  .box18 .ttl_txt span {
    width: 100%;
    padding: 5px 10px;
    font-size: 16px;
  }
  .box17 .box_qa dt {
    font-size: 18px;
  }
  .box17 .box_qa dd {
    padding: 18px 0 26px 60px;
    font-size: 14px;
  }
  .box17 .container {
    padding: 0;
  }
  .box17 .box_t .ttl_box::before {
    background: url(../images/box17_ttl_shape.png) no-repeat center/90% auto;
  }
  .box17 .box_t::before {
    right: 0;
    top: 47px;
    width: 100px;
    height: 44px;
  }
  .box17 .box_t .img {
    left: 0;
    width: 110px;
    top: -76px;
  }
  .box16 .box_t .ttl_box {
    margin-top: -13vw;
  }
  .box14 .box_t .ttl_box .txt_lg {
    font-size: 28px;
  }
  .box14 .box_t .ttl_box {
    font-size: 15px;
    top: 12px;
  }
  .box14 .box_t .ttl_box::before {
    width: 68px;
    height: 96px;
  }
  .box14 .box_t_m {
    height: 76px;
  }
  .box14 .box_t .img {
    top: 100px;
    width: 150px;
  }
  .box03 .slick-prev {
    right: -35px !important;
  }
  .box03 .slick-next {
    left: -35px !important;
  }
  .box09 .box_t .ttl_box::before {
    top: -18px;
    right: calc(50% + 120px);
  }
  .ttl_common {
    font-size: 18px;
  }
  .ttl_common .txt_lg {
    font-size: 22px;
  }
  .box12 .box_part_t .img {
    width: 80px;
  }
  .box12 .box_part_t {
    padding-left: 60px !important;
  }
  .box12 .box_part_t .ttl {
    text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;
  }
  .box09 .box_t .ttl_box .txt_lg {
    font-size: 24px;
  }
  .box09 .box_t .ttl_box .txt_lg_big {
    font-size: 32px;
  }
  .box_contact .box_b .txt .txt02 {
    font-size: 14px;
  }
  .box_contact .box_b .txt .txt02 .txt_sm {
    font-size: 13px;
  }
  .box_contact .box_b .txt .txt01 {
    font-size: 11px;
    margin-right: 5px;
  }
  .box_contact .box_r .ttl::before {
    top: 3px;
    left: -8px;
    width: 72px;
    height: 62px;
  }
  .box_contact::before {
    width: 120px;
  }
  .box08 .box_m {
    padding: 20px 30px 138px;
  }
  padding: 0 10px;
  .box03 .imgs li {}
  .box03 .slick-prev, .box03 .slick-next {
    width: 30px !important;
    height: 30px !important;
  }
  .box06 .research_list li {
    width: 100%;
    max-width: 300px;
  }
}
@media only screen and (max-width: 375px) {
  .sp_375 {
    display: block;
  }
  .ttl_common {
    font-size: 18px;
  }
  .ttl_common .txt_lg {
    font-size: 20px;
  }
  .box05 .ttl_box {
    font-size: 16px;
  }
  #mainvisual .txt {
    font-size: 9px;
  }
  #mainvisual .txt02 {
    top: 47%;
  }
  .box01 .box_it .ttl {
    font-size: 14px;
  }
  .box04 {
    padding-top: 120px;
  }
  .box04 .ttl_box::after {
    left: auto;
    top: -80px;
    right: calc(50% + 45px);
  }
  .box04 .box_it .ttl {
    font-size: 14px;
  }
  .box_contact {
    padding: 30px 15px;
  }
  .box_contact .box_b .txt .txt01 {
    margin-right: 8px;
  }
  .box_contact .box_b .box_txt {
    left: 65px;
  }
  .box_contact::before {
    width: 150px;
  }
  .box08 .box_t .ttl_box .txt_lg {
    font-size: 36px;
  }
  .box10 .box_ct02 .box_w .ttl_w::before, .box10 .box_ct02 .box_w .ttl_w::after {
    top: 85%;
  }
  .box11 .box_m .box_it .box_img::before {
    width: 5vw;
  }
  .copyright {
    font-size: 12px;
  }
  .box_contact .box_r .ttl {
    font-size: 20px;
    padding: 4px 15px 4px 77px;
  }
  .box_contact .box_b .note {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .box_contact .box_b .txt .txt02 {
    font-size: 15px;
  }
  .box_contact .box_b .txt .txt02 .txt_sm {
    font-size: 12px;
  }
  .box_contact .box_b .txt .txt01 {
    flex-shrink: 0;
  }
  .box_contact .box_b .txt .txt02 {
    flex-shrink: 0;
  }
  #totop {
    bottom: 108px;
  }
  .box18 .ttl_txt span {
    font-size: 18px;
  }
  .box15 .box_t .img {
    top: -4vw;
    left: 17vw;
    width: 24%;
  }
  .box14 .box_t .ttl_box::before {
    width: 58px;
  }
  .box14 .box_t .ttl_txt {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .box14 .box_t .img {
    top: 63px;
  }
  .box10 .box_ct02 .box_w {
    padding: 20px 10px;
  }
  .box10 .box_ct02 .box_w .ttl_w {
    font-size: 18px;
  }
  .box10 .box_ct02 .box_w .ttl_w .txt02 {
    font-size: 26px;
  }
  .box09 .box_t .ttl_box::before {
    right: calc(50% + 90px);
  }
  .box12 .box_part01 .badge span {
    padding: 8px 20px;
    font-size: 14px;
  }
  .box12 .box_part_t .ttl {
    font-size: 16px !important;
  }
  .box12 .box_part_t .ttl .txt_lg {
    font-size: 22px !important;
  }
  .box14 .box_m .box_btn {
    margin-top: -50px;
  }
  .box08 .box_m {
    padding: 20px 0 138px;
  }
}
@media only screen and (max-width: 320px) {
  .sp_320 {
    display: block;
  }
  #mainvisual .txt02 {
    top: 50%;
  }
  .ttl_common {
    font-size: 14px;
  }
  .ttl_common .txt_lg {
    font-size: 18px;
  }
  #totop {
    bottom: 90px;
  }
  .box_contact .box_r .ttl {
    font-size: 16px;
    padding: 6px 15px 4px 50px;
  }
  .box_contact .box_b .tel .txt {
    left: 0;
  }
  .box_contact .box_r .ttl::before {
    left: -10px;
    width: 60px;
    height: 54px;
  }
  .box_contact .box_b .txt .txt02 {
    font-size: 13px;
  }
  .box_contact .box_b .txt .txt02 .txt_sm {
    font-size: 11px;
  }
  .box05 .ttl_box {
    font-size: 16px;
  }
  .box05 .ttl_box .txt_lg {
    font-size: 18px;
  }
  .box_contact .box_b .box_txt {
    left: 45px;
  }
  .box_contact::before {
    width: 98px;
  }
  .box08 .box_t .ttl_box .txt02 {
    font-size: 22px;
  }
  .box08 .box_t .ttl_box .txt_lg {
    font-size: 34px;
  }
  .box10 .box_ct02 .box_w .ttl_w {
    font-size: 16px;
  }
  .box10 .box_ct02 .box_w .ttl_w .txt02 {
    font-size: 26px;
  }
  .box10 .box_ct02 .box_w .ttl_w::before, .box10 .box_ct02 .box_w .ttl_w::after {
    width: 30px;
  }
  .box10 .box_ct02 .box_w_ct .list li .txt02::before, .box10 .box_ct02 .box_w_ct .list li .txt02::after {
    top: 5px;
  }
  .box11 .box_m .box_it .box_img::before {
    left: 33vw;
  }
  .box17 .box_t .ttl_box::before {
    background: url(../images/box17_ttl_shape.png) no-repeat center/100% auto;
  }
  .box17 .box_t .ttl_box {
    font-size: 28px;
  }
  .box16 .box_t .ttl_box {
    margin-top: -16vw;
  }
  .box15 .box_t .ttl_box {
    font-size: 2.8vw;
    padding: 6.5vw 3vw 8vw 15vw;
  }
  .box15 .box_t::after {
    width: 60px;
  }
  .box14 .box_t .ttl_box .txt_lg {
    font-size: 23px;
  }
  .box14 .box_t .ttl_box {
    font-size: 12px;
  }
  .box14 .box_t::before, .box14 .box_t::after {
    height: 55px;
    top: 130px;
  }
  .box14 .box_t .ttl_txt {
    margin-bottom: 35px;
  }
  .box14 .box_t .img {
    top: 65px;
    width: 150px;
    left: 24%;
  }
  .box_contact .box_b .tel .num .txt_lg {
    font-size: 9vw;
  }
  .box_contact .box_b .tel .num .txt_lg::before {
    top: -5px;
    right: 5px;
    width: 34vw;
  }
  .box11 .box_m .box_it .box_img::before {
    width: 4vw;
    left: 31vw;
  }
  .box13 .box_t .ttl_box {
    font-size: 18px;
  }
  .box12 .box_part01 .badge span {
    padding: 8px 8px;
  }
  .box12 .box_part_t .img {
    left: -40px;
  }
  .box12 .box_part_t {
    padding-left: 45px !important;
  }
  .box12 .box_part_t .ttl {
    font-size: 15px !important;
  }
  .box18 .ttl_txt span {
    font-size: 15px;
  }
  .box07 .box_m .box_it:nth-child(3) .txt {
    left: 0;
  }
  .box07 .box_m .ttl_txt .txt_lg {
    font-size: 22px;
  }
  .box10 .box_ct_t .ttl {
    font-size: 15px;
  }
  .box10 .box_ct_t .ttl .txt_lg {
    font-size: 18px !important;
  }
  #mainvisual .txt02 {
    top: 52%;
    right: 5px;
    width: 14vw;
  }
  .box10 .box_ct_t .num {
    margin: 0 35px 0 0;
  }
  .box12 .box_part01 .tbl_ttl {
    font-size: 16px;
  }
  .box08 .box_m .ttl {
    font-size: 18px;
  }
  .box03 .imgs li {
    padding: 0 5px;
  }
}