@media (max-width: 900px) {
  .header_menu_pc li {
    margin-right: 19px;
    font-size: 12px;
  }
  .header_menu_btn a {
    width: 119px;
  }
}

@media (max-width: 576px) {
  section {
    margin-bottom: 60px;
  }
  .smp {
    display: block;
  }
  .pc {
    display: none !important;
  }
  .inner_B {
    margin: 0 auto;
    width: 90%;
    position: relative;
  }
  .map {
    width: 100%;
    position: relative;
    padding-top: 56.25%;
  }
  .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .toppage_logo {
    width: 43%;
  }
  #intro_section {
    padding-top: 70px;
  }
  .intro_section_message_wrapper {
    padding: 11% 7%;
  }
  .intro_section_message_title {
    margin-bottom: 20px;
  }
  .intro_section_message_txt {
    margin-bottom: 30px;
    line-height: 30px;
  }
  .intro_section_message_img {
    width: 43%;
    left: 0%;
  }
  .headline_A {
    font-size: 18px;
    margin-left: 5%;
    margin-bottom: 50px;
  }
  .service_section_wrapper {
    overflow: scroll;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .service_section_block {
    margin: 0 50px 0 0;
    min-width: 175px;
  }
  .service_section_block:first-child {
    margin: 0 50px 0 5%;
  }
  #service_section .inner_B {
    width: 100%;
  }
  .outline_section_logo {
    width: 50%;
    margin-bottom: 30px;
  }
  .outline_section_table th:first-child {
    width: 25%;
    line-height: 30px;
  }
  .outline_section_table {
    line-height: 30px;
    margin-bottom: 30px;
  }
  .footer_menu {
    display: block;
    margin-bottom: 25px;
    font-size: 15px;
  }
  .footer_menu li {
    width: 100%;
    margin-bottom: 20px;
    border: none;
  }
  .footer_menu li:last-child {
    margin-bottom: 0px;
  }
  .footer_logo {
    margin-bottom: 60px;
    width: 65%;
    display: block;
  }
  .header_margin {
    height: 100px;
  }
  .contact-container {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
  }
  .text-test,
  .textarea-text {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .contact-colum-left {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    width: 100%;
    margin-bottom: 0.2rem;
    margin-right: 0;
  }
  .contact-colum {
    margin-bottom: 20px;
  }
  .check-test + span {
    line-height: 30px;
  }
  .mb-l {
    margin-bottom: 40px;
  }
  .modal__content {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    word-break: normal;
    padding: 5%;
    width: 90%;
    height: 80%;
    top: 53%;
  }
  .modal-close-btn2 {
    top: 2%;
    right: 2%;
  }
  .submit-test {
    padding: 4% 20%;
  }
  .modal-text p {
    padding-left: 0px;
  }
  .thanks_section_img {
    width: 25%;
  }
  .service_intro_img_smp {
    width: 100%;
    margin-bottom: 20px;
  }
  .service_headline_A {
    margin-bottom: 45px;
  }
  .service_headline_B {
    font-size: 14px;
    text-align: left;
    margin-bottom: 25px;
    line-height: 30px;
  }
  .service_headline_C {
    font-size: 16px;
    margin-bottom: 20px;
    line-height: 30px;
  }
  .service_headline_D {
    font-size: 16px;
    margin-bottom: 20px;
    line-height: 30px;
  }
  .service_intro_left {
    width: 100%;
  }
  .service_intro_left_block {
    margin-bottom: 20px;
    margin-right: 0px;
  }
  .service_intro_left_block p {
    font-size: 15px;
    padding: 15px 0px 15px 21%;
  }
  .service_flow_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin-bottom: 30px;
  }
  .service_flow_block_txt1 {
    position: relative;
    width: 30%;
    font-size: 14px;
    padding: 2% 3%;
    height: auto;
    line-height: 30px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #e3d787;
  }
  .service_flow_block_txt2 {
    width: 70%;
    height: auto;
    font-size: 12px;
    text-align: left;
    line-height: 30px;
    background-color: #e4e4e4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2% 3%;
  }
  #service_subject_section,
  #service_introduce_section {
    background: white;
  }
  .service_subject_wrapper,
  .service_introduce_wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .service_subject_block,
  .service_introduce_block {
    margin: 0 0px 30px 0;
    width: 100%;
  }
  .service_subject_block:last-child,
  .service_introduce_block:last-child {
    margin-bottom: 0px;
  }
  .service_subject_block img,
  .service_introduce_block img {
    width: 60%;
  }
  .service_subject_block_txt1,
  .service_introduce_block_txt1 {
    font-size: 16px;
    margin-bottom: 10px;
    width: 100%;
  }
  .service_subject_block_txt1 span,
  .service_introduce_block_txt1 span {
    display: inline-block;
  }
  /*+++ drawer CSS +++*/
  #header_smp {
    width: 100%;
    position: fixed;
    top: 0px;
    height: 65px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    z-index: 999999;
  }
  .header_left_pc {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 1rem;
    -webkit-transform: translateY(-50%);
    display: block;
    width: 38%;
  }
  .transform_smp {
    background-color: white !important;
    -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
  }
  .transform_smp .header-container h1 a {
    color: #48c71b !important;
  }
  .transform_smp .header_left_pc {
    opacity: 1;
  }
  .zdo_drawer_menu {
    display: block;
  }
  .zdo_drawer_button {
    display: block;
    padding: 0;
    width: 32px;
    height: 20px;
    position: relative;
    background: none;
    border: none;
    text-align: center;
    letter-spacing: 0.1em;
    cursor: pointer;
    outline: none;
  }
  .zdo_drawer_button .zdo_drawer_bar {
    display: block;
    width: 32px;
    height: 2px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform-origin: 0% 0%;
            transform-origin: 0% 0%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    position: absolute;
    left: 0;
  }
  .zdo_drawer_button .zdo_drawer_bar1 {
    top: 0;
  }
  .zdo_drawer_button .zdo_drawer_bar2 {
    top: 50%;
  }
  .zdo_drawer_button .zdo_drawer_bar3 {
    top: 100%;
  }
  .zdo_drawer_button.active .zdo_drawer_bar {
    width: 28.77px;
    left: 8px;
    background-color: #555555;
  }
  .zdo_drawer_button.active .zdo_drawer_bar1 {
    -webkit-transform: rotate(0.7854rad) translateY(-50%);
            transform: rotate(0.7854rad) translateY(-50%);
    top: 0px;
  }
  .zdo_drawer_button.active .zdo_drawer_bar2 {
    opacity: 0;
  }
  .zdo_drawer_button.active .zdo_drawer_bar3 {
    -webkit-transform: rotate(-0.7854rad) translateY(-50%);
            transform: rotate(-0.7854rad) translateY(-50%);
    top: calc(100% - 0px);
  }
  .zdo_drawer_close {
    letter-spacing: 0.08em;
    display: none;
  }
  /*+++ Default Button Color +++*/
  .zdo_drawer_button .zdo_drawer_bar {
    background-color: #313131;
  }
  /* === Hambuerger Button's Style End === */
  .zdo_drawer_menu .zdo_drawer_button {
    /*+++ Hamburger Button Position +++*/
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    right: 1rem;
    z-index: 1001;
  }
  .zdo_drawer_menu a {
    color: inherit;
  }
  .zdo_drawer_menu a:visited {
    color: inherit;
  }
  .zdo_drawer_menu .zdo_drawer_bg {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999;
    background-color: rgba(51, 51, 51, 0.5);
    display: none;
    top: 0;
    left: 0;
  }
  .zdo_drawer_menu .zdo_drawer_nav_wrapper {
    width: 16rem;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform: translate(16rem);
            transform: translate(16rem);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    background-color: white;
  }
  .zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
    -webkit-transform: translate(0);
            transform: translate(0);
    width: 50%;
    height: 100%;
    background-color: white;
  }
  /*+++ Default Navigation CSS +++*/
  .zdo_drawer_menu .zdo_drawer_nav {
    padding: 100px 0px;
  }
  .zdo_drawer_menu .zdo_drawer_nav li {
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    margin-bottom: 35px;
    color: #555555;
    text-align: center;
  }
  .zdo_drawer_menu .zdo_drawer_nav li:last-child {
    margin-bottom: 0px;
  }
  .zdo_drawer_nav a,
  .header-menu-container a {
    position: relative;
    display: inline-block;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .zdo_drawer_nav a::after {
    position: absolute;
    bottom: -8px;
    left: 50%;
    content: "";
    width: 0;
    height: 1px;
    background-color: black;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .zdo_drawer_nav a:hover::after {
    width: 65%;
  }
  .ac {
    margin-bottom: 20px;
  }
  .ac-parent {
    padding: 30px 15px 30px 38px;
    font-size: 14px;
    line-height: 30px;
  }
  .ac-parent:after {
    font-size: 20px;
    left: 14px;
    top: 48%;
  }
  .ac-child {
    padding: 25px 20px;
    font-size: 14px;
    line-height: 30px;
  }
}
