.h_sec_sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  header .h_sec .container ul {
    display: none;
  }
  html {
    font-size: 2.666vw;
  }
  body {
    min-width: 37.5rem;
  }
  header .h_sec {
    padding: 0;
  }
  header .h_sec .container {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  header .h_sec .h_logo {
    width: 20.6rem;
    padding-left: 1rem;
  }
  header .h_sec .h_logo img {
    width: 100%;
  }
  header .h_sec ul {
    display: none;
  }
  .h_sec_sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 15rem;
    display: flex;
  }
  .h_sec_sp a {
    width: 5rem;
    height: 5rem;
    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;
  }
  .h_sec_sp a img {
    width: auto;
    height: 2rem;
    display: block;
  }
  .h_sec_sp .btn_contact {
    background: #16bfea;
  }
  .h_sec_sp .btn_tel {
    background: #142c76;
  }
  .trigger-menu {
    background: none;
    border: none;
    cursor: pointer;
    z-index: 999;
    width: 5rem;
    height: 5rem;
    background: #142c76;
    position: relative;
  }
  .trigger-menu span.line {
    width: 2.5rem;
    height: 0.2rem;
    background: #fff;
    display: block;
    margin: auto auto 0.5rem;
  }
  .trigger-menu span.line:last-child {
    margin-bottom: 0;
  }
  .trigger-menu.visible span.line:nth-child(1) {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
    position: absolute;
    top: 50%;
    left: 50%;
  }
  .trigger-menu.visible span.line:nth-child(2) {
    background: #142c76;
  }
  .trigger-menu.visible span.line:nth-child(3) {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    position: absolute;
    top: 50%;
    left: 50%;
  }
  .h_menu {
    margin: 0;
    position: fixed;
    top: 5rem;
    height: calc(100vh - 5rem);
    left: 0;
    width: 100%;
    z-index: 9999;
    background: #142c76;
    overflow-y: scroll;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    padding: 5rem 2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .h_menu ul {
    display: block;
  }
  .h_menu ul li:last-child a {
    border-bottom: none;
  }
  .h_menu ul a {
    color: #fff;
    display: block;
    padding: 1rem;
    border-bottom: 1px solid #fff;
  }
  .h_menu.visible {
    opacity: 1;
    visibility: visible;
  }
  #main .ttl_jp {
    font-size: 2.3rem;
  }
  #main .about_sec {
    margin-top: 5rem;
    padding: 0 1.5rem;
  }
  #main .about_sec .wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #main .about_sec .txt {
    margin-top: 2rem;
  }
  #main .about_sec .box.b_left {
    margin-left: 0;
  }
  #main .about_sec .box.b_left .ttl_en {
    margin: 0;
  }
  #main .about_sec .box.b_left .ttl_jp {
    font-size: 2.3rem;
    line-height: 1.4;
    margin-top: 0;
  }
  #main .about_sec .box.b_right {
    margin-right: 0;
  }
  #main .about_sec .box.b_right img {
    width: 100%;
    height: auto;
    display: block;
  }
  #main .service_sec {
    margin-bottom: 3rem;
    margin-top: 0;
    padding: 0 1.5rem;
  }
  #main .service_sec img {
    width: 100%;
  }
  #main .service_sec ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #main .service_sec ul li {
    width: 100%;
    margin-bottom: 3rem;
  }
  #main .service_sec ul li:last-child {
    margin-bottom: 0;
  }
  #main .btn1 {
    margin-top: 2rem !important;
    text-align: center;
  }
  #main .btn1 img {
    width: 20rem;
  }
  #main .case_sec {
    margin-top: 5rem;
    padding: 0 1.5rem;
  }
  #main .case_sec .case_sec_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 1rem !important;
    gap: 2rem;
  }
  #main .case_sec .case_sec_list li {
    width: 100%;
  }
  #main .case_sec .case_sec_list li .box {
    width: 100%;
  }
  #main .case_sec .case_sec_list li .box figure {
    width: 100%;
  }
  #main .case_sec .case_sec_list li .box img {
    width: 100%;
  }
  #main .tt5_sec {
    padding: 5rem 0;
  }
  #main .tt5_sec ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 1.5rem;
    gap: 1.5rem;
  }
  #main .tt5_sec ul li {
    width: 100%;
  }
  #main .tt5_sec ul li img {
    width: 100%;
  }
  #main .tt4_sec {
    padding: 5rem 1.5rem;
    margin-top: 0;
  }
  #main .tt4_sec .container .content dl {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 10px;
  }
  #main .tt4_sec .container .content dl dt {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #main .tt4_sec .container .content dl dd {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .container {
    width: 100%;
  }
  footer {
    padding: 5rem 1.5rem;
  }
  footer .container {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2rem;
  }
  footer .f_sec .left {
    width: 100%;
  }
  footer .f_sec .left ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.5rem;
    width: 100%;
  }
  footer .f_sec .right {
    width: 100% !important;
    margin-top: 2rem;
  }
  footer .f_logo {
    width: 28rem;
    margin: auto auto 1.5rem;
  }
  footer .f_logo img {
    width: 100%;
  }
  #mainvisual .container h2 img {
    width: 100%;
  }
  #mainvisual .swiper-button-prev::after,
  #mainvisual .swiper-button-next::after {
    width: 20px;
    height: 20px;
  }
  .mt50 {
    margin-top: 1rem !important;
  }
  header.is-fixed .h_sec {
    padding: 0;
  }
  header.is-fixed .h_menu {
    margin: 0;
  }
  #tt_page .container {
    height: 13rem;
  }
  #tt_page .container h2 {
    padding: 0 10px;
    box-sizing: border-box;
    display: block;
    width: 100%;
    text-align: center;
  }
  #tt_page .container h2 img {
    max-width: 100%;
    width: auto;
  }
  .breadcrumb {
    display: none;
  }
  .about_sec .lead {
    margin-bottom: 4rem;
  }
  .about_sec .lead .comment {
    width: 100%;
    margin-bottom: 2rem;
  }
  .about_sec .lead h3 {
    font-size: 2.2rem;
    border-bottom: 2px solid #0067cf;
  }
  .about_sec .lead .comment p {
    font-size: 14px;
  }
  .about_sec .lead .photo {
    width: 100%;
  }
  .about_sec .lead .photo img {
    width: 100%;
    display: block;
    height: auto;
  }
  .about_sec #sec02 h3,
  .about_sec #sec03 h3,
  .case_sec .container h3,
  .case_sec2 .container .mid h3,
  .case_sec2 .container .bot h3,
  .item_sec .lead h3,
  .item_sec .lineup h3,
  .service_sec .lead h3,
  .service_sec h3 {
    font-size: 2.2rem;
    border-bottom: 2px solid #0067cf;
    text-align: left;
  }
  .about_sec .container .wrap_content {
    padding: 0;
  }
  .about_sec .container .wrap_content .content .box {
    position: relative;
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 2rem;
  }
  .about_sec .container .wrap_content .content .box img {
    width: 100%;
  }
  .about_sec .container #sec03 .wrap_content .content .box {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 2rem;
  }
  .about_sec .container #sec03 .wrap_content .content .box img {
    width: 100%;
    height: auto;
    display: block;
  }
  .about_sec .container #sec03 .wrap_content .content .box figure,
  .about_sec .container .wrap_content .content .box figure {
    width: 100%;
    height: auto;
  }
  .about_sec .container #sec03 .wrap_content .content .box figure img,
  .about_sec .container .wrap_content .content .box figure img {
    position: relative;
  }
  #main {
    padding-bottom: 4rem;
  }
  .case_sec .container .title,
  .consultation_sec .container .title {
    border-bottom: none;
    padding: 0;
    margin-bottom: 3rem;
  }
  .case_sec .container .title ul li,
  .consultation_sec .container .title ul li {
    margin-right: 0;
    width: 100%;
  }
  .case_sec .container .title ul li.active a,
  .consultation_sec .container .title ul li.active a {
    border-bottom: 2px solid #009cee;
  }
  .case_sec .container .title ul li.active a:after,
  .consultation_sec .container .title ul li.active a:after {
    content: none;
  }
  .case_sec .container .title ul li:last-child a,
  .consultation_sec .container .title ul li:last-child a {
    border-bottom: 1px solid #9d9d9d;
  }
  .case_sec .container .title ul li a,
  .consultation_sec .container .title ul li a {
    width: 100%;
  }
  .case_sec .container .wrap_content {
    padding: 0;
    margin-bottom: 4rem;
  }
  .case_sec .container .wrap_content .content .box {
    width: 100%;
    float: none;
    margin-right: 0;
  }
  .case_sec .container .wrap_content .content .box figure {
    width: 100%;
    height: auto;
  }
  .case_sec .container .wrap_content .content .box figure img {
    width: 100%;
    height: auto;
    position: relative;
  }
  .case_sec2 .container .up {
    margin-bottom: 3rem;
  }
  .case_sec2 .container .up .title {
    margin-bottom: 2rem;
  }
  .case_sec2 .container .up .title p {
    font-size: 2.2rem;
  }
  .case_sec2 .container .up .content {
    padding: 0;
  }
  .case_sec2 .container .up .content .slide_show .slides_container {
    width: 100%;
    height: auto;
    margin-bottom: 3rem;
  }
  .case_sec2 .container .up .content .slide_show .slides_container img {
    position: relative;
    width: 100%;
    height: auto;
  }
  .case_sec2 .container .up .content .slide_show .pagination2 {
    padding: 0;
  }
  .case_sec2 .container .up .content .slide_show .pagination2 li {
    float: none;
    width: 100%;
    height: auto;
    margin-right: 0;
  }
  .case_sec2 .container .up .content .slide_show .pagination2 li img {
    position: relative;
    width: 100%;
    position: relative;
  }
  .case_sec2 .container .mid {
    margin-bottom: 3rem;
  }
  .case_sec2 .container .mid table,
  .case_sec2 .container .mid table tbody,
  .case_sec2 .container .mid table tbody tr,
  .case_sec2 .container .mid table tbody tr th,
  .case_sec2 .container .mid table tbody tr td {
    display: block;
    width: 100%;
    padding: 1rem;
  }
  .case_sec2 .container .mid table > tbody > tr > th {
    width: 100%;
    padding: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #fff;
  }
  .case_sec2 .container .mid table > tbody > tr > td {
    padding: 1rem;
    vertical-align: top;
  }
  .case_sec2 .container .bot {
    margin-bottom: 3rem;
  }
  .case_sec2 .container .bot h3 {
    margin-bottom: 2rem;
  }
  .case_sec2 .container .bot p {
    margin-bottom: 2rem;
  }
  .case_sec2 .container .detail_btn {
    padding: 0 0;
  }
  .company_sec {
    padding: 4rem 1.5rem 0;
    margin-bottom: 0;
  }
  .company_sec table,
  .consultation_sec .bloc table {
    font-size: 1.4rem;
    width: 100%;
    display: block;
    border: 1px solid #009cee;
  }
  .company_sec table tbody,
  .company_sec table tbody tr,
  .company_sec table tbody th,
  .company_sec table tbody td,
  .consultation_sec .bloc table tbody,
  .consultation_sec .bloc table tbody tr,
  .consultation_sec .bloc table tbody th,
  .consultation_sec .bloc table tbody td {
    width: 100%;
    display: block;
  }
  .company_sec table > tbody > tr > th,
  .company_sec table > tbody > tr > td,
  .consultation_sec .bloc table th,
  .consultation_sec .bloc table td {
    padding: 1rem;
    width: 100%;
    text-align: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .company_sec table > tbody > tr > td,
  .consultation_sec .bloc table th {
    border: none;
  }
  .company_sec .map iframe {
    width: 100%;
    height: auto;
    display: block;
  }
  .company_sec .box_access {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2rem;
  }
  .company_sec .box_access .photo {
    width: 100%;
  }
  .company_sec .box_access .photo img {
    width: 100%;
  }
  .consultation_sec {
    padding: 4rem 1.5rem;
  }
  .consultation_sec .lead h3 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .consultation_sec .bloc {
    margin-bottom: 3rem;
    padding: 1rem;
  }
  .consultation_sec .bloc .ttl h3 {
    font-size: 17px;
    padding-left: 40px;
  }
  .consultation_sec .before_after {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2rem;
  }
  .consultation_sec .before_after .photo {
    width: 100%;
  }
  .consultation_sec .before_after figure:nth-child(2) {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .consultation_sec .comment p {
    padding-left: 0;
    margin-bottom: 0;
  }
  .contact_sec {
    padding: 4rem 1.5rem;
    margin-bottom: 0;
  }
  .contact_sec table,
  .contact_sec table tbody,
  .contact_sec table tr,
  .contact_sec table th,
  .contact_sec table td {
    display: block;
    width: 100%;
  }
  .contact_sec table th {
    padding: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .contact_sec table td {
    padding: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .contact_sec table td .menu1 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .contact_sec table td ul.menu1 li {
    width: 100%;
  }
  .contact_sec table td input,
  textarea {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .contact_sec .container .blue_sec p a {
    word-wrap: break-word;
  }
  .contact_sec .container .blue_sec {
    padding: 1.5rem;
  }
  .contact_sec .w520 {
    width: 100%;
  }
  .item_sec {
    padding: 4rem 1.5rem;
  }
  .item_sec .lead .comment {
    width: 100%;
  }
  .item_sec .lead .comment p {
    font-size: 1.4rem;
    padding-left: 0;
  }
  .item_sec .lead {
    margin-bottom: 4rem;
  }
  .item_sec .lead .img,
  .item_sec .lead .photo {
    width: 100%;
  }
  .item_sec .lead .img img,
  .item_sec .lead .photo img {
    width: 100%;
    height: auto;
  }
  .item_sec .anchor ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .item_sec .anchor ul li {
    width: calc(50% - 0.5rem);
    font-size: 1.2rem;
  }
  .item_sec .anchor ul li span {
    font-size: 1.4rem;
  }
  .item_sec .bloc {
    padding: 0 0 3rem;
    margin-top: 3rem;
  }
  .item_sec .bloc figure {
    width: 100%;
  }
  .item_sec .bloc figure img {
    width: 100%;
    height: auto;
  }
  .item_sec .bloc .content {
    width: 100%;
    margin-left: 0;
    font-size: 1.4rem;
    padding: 1rem;
  }
  .item_sec .bloc .btn {
    position: relative;
    left: auto;
    bottom: auto;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    margin: 1.5rem auto 0;
  }
  .item_sec .bloc .ttl .col {
    font-size: 1.8rem;
  }
  .item_sec .anchor {
    padding: 1rem 1rem;
  }
  .item_sec .bloc:last-child {
    padding-bottom: 0;
  }
  .news_sec {
    padding: 4rem 1.5rem;
  }
  .news_sec .box {
    margin-bottom: 3rem;
  }
  .news_sec .content .photo {
    width: 100%;
    float: none;
    margin-left: 0;
  }
  .news_sec .content .photo img {
    width: 100%;
  }
  .faq_sec {
    padding: 4rem 1.5rem;
  }
  .faq_sec .container h3 {
    font-size: 2.2rem;
    border-bottom: 2px solid #0067cf;
    text-align: left;
  }
  .faq_sec .container .box {
    padding: 1rem;
    margin-bottom: 2rem;
  }
  .faq_sec .container .box dt {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .faq_sec .container .box dt:after {
    content: "";
    display: block;
    position: absolute;
    right: 0px;
    top: 50%;
    background: url(../qa/images/off.png) no-repeat center center;
    width: 15px;
    background-size: 100% auto;
    height: 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .faq_sec .container .box dt.opened:after {
    content: "";
    display: block;
    position: absolute;
    right: 0px;
    top: 50%;
    background: url(../qa/images/on.png) no-repeat center center;
    width: 15px;
    height: 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .faq_sec .container .box dd {
    margin-top: 1rem;
    padding: 1rem;
  }
  .mt70 {
    margin-top: 3rem !important;
  }
  #main .service_sec {
    padding: 4rem 1.5rem 0 !important;
  }
  .service_sec .lead .comment {
    width: 100%;
  }
  .service_sec .lead .comment p {
    padding-left: 0;
    font-size: 14px;
  }
  .service_sec .container .wrap_content {
    padding: 0;
  }
  .service_sec .container .wrap_content .content .box {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 2rem;
  }
  .service_sec .container .wrap_content .content .box:last-child {
    margin-bottom: 0;
  }
  .service_sec .container .wrap_content .content {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .service_sec .container .wrap_content .content .box figure {
    width: 100%;
    height: auto;
  }
  .service_sec .container .wrap_content .content .box figure img {
    position: relative;
    width: 100%;
  }
  .service_sec .lead {
    margin-bottom: 3rem;
  }
}
.pc {
  display: block;
}

.sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  html.menu-open {
    overflow: hidden;
  }
  .faq_sec .container .box span {
    display: block;
  }
}
