@charset "UTF-8";
@media screen and (max-width: 1350px) {
  .inner_wrap {
    width: 100%;
    padding: 0 3%;
  }
  .base_contents.right .txt_box {
    padding-left: 0;
  }
  .base_contents .txt_box .tl span {
    display: block;
    width: 300px;
    margin: auto;
  }
  #home .point_area .point_list li {
    padding: 10px;
  }
  #home .point_area .point_list .ico img {
    max-width: 200px;
  }
  #construction .construction_area .construction_box .info_box {
    padding: 20px;
  }
}

@media screen and (max-width: 1100px) {
  .inner_wrap_s {
    width: 100%;
    padding: 0 3%;
  }
  #headline {
    padding: 50px 0;
  }
  .contact_area .contact_list li {
    padding: 30px 10px;
  }
  .contact_area .contact_list .tl {
    font-size: clamp(24px, 2vw, 28px);
  }
  .contact_area .contact_list .tel_box .btn {
    font-size: clamp(22px, 2vw, 24px);
    margin-bottom: 5px;
  }
  .contact_area .contact_list .btn {
    font-size: clamp(16px, 2vw, 18px);
  }
  .contact_area .contact_list .time {
    font-size: clamp(14px, 2vw, 14px);
  }
  header .head_logo {
    font-size: clamp(17px, 2vw, 17px);
    padding: 5px;
  }
  header .nav_box .nav_ul li {
    margin-right: 14px;
  }
  header .nav_box .nav_ul a {
    font-size: clamp(14px, 1vw, 15px);
  }
  header #globalMenuSp .nav_ul {
    padding: 100px 20px 50px;
  }
  header #globalMenuSp .contents ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  footer .ft_wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  footer .ft_box {
    width: 30%;
  }
  footer .map_box {
    width: 70%;
    margin: 0;
  }
  footer .map_box .map {
    padding-top: 30%;
  }
  footer .ft_nav_box {
    width: 100%;
    margin-top: 30px;
  }
  #home .mainvisual_area {
    margin-bottom: 50px;
  }
  #home .mainvisual_area .news_box {
    width: 43vw;
  }
  #home .mainvisual_area .slick-dots {
    left: -200px;
  }
  #hakobune .specification_area .tl_box {
    width: 150px;
  }
  #hakobune .specification_area .tl_box span {
    font-size: clamp(16px, 2vw, 18px);
  }
  #construction .construction_area .construction_menu {
    padding: 0;
  }
  #construction .construction_area .construction_menu li a {
    font-size: clamp(16px, 2vw, 18px);
  }
  #construction .construction_area .construction_box .box {
    padding: 0;
  }
  #construction .construction_area .construction_box .txt_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #construction .construction_area .construction_box .txt {
    width: 100%;
    margin-bottom: 20px;
  }
  #construction .construction_area .construction_box .info_box {
    width: 100%;
  }
  #topics .topics_area .box {
    width: calc(100% - 250px);
  }
  #topics .topics_area .photo {
    width: 250px;
  }
  #company .access_area .base_contents .txt_box {
    right: -50px;
    width: 40%;
    padding: 30px;
  }
  #webcatalog .webcatalog_area .catalog_list .dl_btn {
    font-size: clamp(17px, 2vw, 17px);
  }
  #sale .sale_area .sale_box .box {
    padding: 0;
  }
  #sale .sale_area .sale_box .info_box {
    padding: 20px;
  }
  #sale .sale_area .sale_box .info_box .size small {
    font-size: clamp(16px, 2vw, 17px);
    display: block;
  }
}

/*==============================================================
　タブレット〜スマホ
===============================================================*/
@media screen and (max-width: 800px) {
  #company .company_area .tbl_box {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .base_contents {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 50px;
  }
  .base_contents .photo {
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-bottom: 3%;
  }
  .base_contents .txt_box {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .base_contents .txt_box .m_tl {
    font-size: clamp(20px, 3vw, 30px);
    margin-bottom: 30px;
  }
  .base_contents .txt_box .m_tl span::before {
    background-size: 20px;
    width: 20px;
    height: 50px;
  }
  .base_contents .txt_box .m_tl span::after {
    background-size: 20px;
    width: 20px;
    height: 50px;
  }
  .base_contents .txt_box .tl {
    font-size: clamp(28px, 3vw, 32px);
    margin-bottom: 20px;
  }
  .base_contents .txt_box .tl span {
    margin: 0 auto 5px;
    display: block;
    max-width: 300px;
  }
  .base_contents .txt_box .txt {
    line-height: 1.8;
    font-size: clamp(16px, 2vw, 16px);
  }
  .base_contents.left .txt_box {
    left: 0;
    margin: 0;
    width: 100%;
    padding: 5%;
  }
  .base_contents.right .txt_box {
    width: 100%;
    padding: 5%;
    right: auto;
  }
  .base_tl_box {
    margin-bottom: 30px;
  }
  .base_tl .en {
    font-size: clamp(20px, 2vw, 24px);
  }
  .base_tl .ja {
    font-size: clamp(24px, 2vw, 36px);
  }
  .more_btn_box .more_btn {
    max-width: 300px;
  }
  .switchIcon {
    width: 15px;
    height: 15px;
    right: 10px;
  }
  .switchIcon::before {
    width: 20px;
  }
  .switchIcon::after {
    width: 20px;
  }
  .wp-pagenavi a,
  .wp-pagenavi span {
    margin: 0 5px;
  }
  .pagination li {
    font-size: clamp(24px, 2vw, 24px);
    border-radius: 5px;
    margin: 0 5px;
  }
  .pagination li a {
    width: 40px;
    height: 40px;
  }
  .contact_area .contact_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .contact_area .contact_list li {
    width: 100%;
    padding: 30px 0;
  }
  .contact_area .contact_list .tl {
    font-size: clamp(30px, 2vw, 36px);
  }
  .pan_area {
    margin-bottom: 30px;
  }
  .pan_area li {
    font-size: clamp(14px, 2vw, 14px);
  }
  header .header_top {
    height: 60px;
  }
  header .head_logo {
    padding: 5px 10px;
    font-size: clamp(18px, 2vw, 18px);
  }
  header .head_logo img {
    width: 150px;
  }
  header .btn_list .document_btn {
    display: none;
  }
  header .btn_list .contact_btn {
    display: none;
  }
  header .nav_box {
    display: none;
  }
  header .hamburger_box {
    width: 70px;
  }
  header #globalMenuSp .nav_ul {
    padding: 50px 10px 20px;
  }
  header #globalMenuSp .nav_ul li {
    width: 100%;
  }
  header #globalMenuSp .nav_ul li a {
    padding: 10px 0;
    font-size: clamp(16px, 2vw, 16px);
  }
  header #globalMenuSp .tel_btn {
    padding: 0;
    font-size: clamp(24px, 2vw, 28px);
  }
  header #globalMenuSp .time {
    font-size: 14px;
  }
  header #globalMenuSp .contents ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  header #globalMenuSp .contents ul li {
    margin: 0 0 10px;
  }
  header .hamburger.active {
    position: fixed;
    top: 32px;
    right: -7px;
    left: auto;
  }
  #sidebar {
    bottom: 20vh;
  }
  #sidebar a {
    padding: 15px 5px;
    font-size: clamp(16px, 2vw, 16px);
  }
  #toTop {
    right: 1%;
    bottom: 10px;
  }
  #toTop img {
    width: 30px;
    height: 30px;
  }
  footer {
    padding: 30px 0 0;
  }
  footer .inner_wrap {
    padding: 0;
  }
  footer .ft_wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0px;
  }
  footer .ft_box {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
  }
  footer .tel {
    margin-bottom: 15px;
  }
  footer .sns_list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  footer .map_box {
    width: 100%;
    margin: 0;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
  footer .map_box .map {
    padding-top: 56.25%;
  }
  footer .ft_nav_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
  }
  footer .ft_nav_box .nav {
    width: 100%;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  footer .ft_nav_box .nav li {
    width: 50%;
    border: 1px solid #fff;
    text-align: center;
    background-color: #000;
    margin: 0;
    font-size: clamp(13px, 2vw, 14px);
  }
  footer .ft_nav_box .nav li a {
    color: #fff;
    display: block;
    padding: 15px 0;
  }
  footer .r2 {
    margin: 10px auto 20px;
    text-align: center;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  footer .r2 span {
    padding: 5px 10px;
  }
  footer .copy {
    background-color: #616161;
  }
  #home .mainvisual_area {
    margin-bottom: 0;
  }
  #home .mainvisual_area .mv .pc_el {
    display: none;
  }
  #home .mainvisual_area .mv .sp_el {
    display: block;
  }
  #home .mainvisual_area .slick-dots {
    bottom: 5px;
    left: auto;
  }
  #home .mainvisual_area .slick-dots li {
    width: 50px;
    height: 5px;
  }
  #home .mainvisual_area .slick-dots li button::before {
    width: 50px;
    height: 5px;
  }
  #home .mainvisual_area .slick-dots li.slick-active button::after {
    width: 50px;
    height: 5px;
  }
  #home .mainvisual_area .mv_box {
    width: 100%;
    left: 0;
    top: 30%;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  #home .mainvisual_area .mv_box .mv_tl {
    font-size: clamp(20px, 2vw, 30px);
  }
  #home .mainvisual_area .mv_box .mv_tl .green {
    padding: 5px;
    margin-bottom: 5px;
  }
  #home .mainvisual_area .mv_box .mv_tl .orange {
    padding: 5px;
  }
  #home .mainvisual_area .news_box {
    width: 100%;
    position: relative;
    height: auto;
    padding: 10px 10px 20px;
  }
  #home .mainvisual_area .news_box .news_list li a {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #home .mainvisual_area .news_box .news_list li .new {
    padding: 5px;
  }
  #home .mainvisual_area .news_box .more_btn {
    width: 100%;
    max-width: 120px;
    padding: 5px 10px;
    font-size: clamp(14px, 2vw, 14px);
  }
  #home .about_area {
    margin-bottom: 50px;
  }
  #home .about_area .base_contents .txt_box {
    padding-top: 30px;
  }
  #home .about_area .about_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  #home .about_area .about_list li {
    width: 100%;
    margin-bottom: 30px;
  }
  #home .about_area .about_list li .photo {
    margin-bottom: 20px;
  }
  #home .about_area .about_list li .tl {
    margin-bottom: 20px;
  }
  #home .characteristic_area {
    margin-bottom: 50px;
  }
  #home .characteristic_area .characteristic_tl_box .characteristic_tl {
    margin-bottom: 30px;
  }
  #home .characteristic_area .characteristic_tl_box .characteristic_tl .ja {
    font-size: clamp(36px, 2vw, 40px);
  }
  #home .characteristic_area .characteristic_box {
    margin-bottom: 50px;
  }
  #home .characteristic_area .characteristic_box .tl {
    padding: 3%;
    font-size: clamp(20px, 2vw, 24px);
  }
  #home .characteristic_area .characteristic_box .txt {
    padding: 3%;
    font-size: clamp(16px, 2vw, 16px);
  }
  #home .characteristic_area .characteristic_box .txt span {
    margin-bottom: 10px;
  }
  #home .characteristic_area .characteristic_tl {
    margin-bottom: 20px;
  }
  #home .characteristic_area .characteristic_tl .bk {
    font-size: clamp(20px, 2vw, 24px);
  }
  #home .characteristic_area .characteristic_tl .ja {
    font-size: clamp(24px, 2vw, 30px);
  }
  #home .characteristic_area .interior_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 50px;
  }
  #home .characteristic_area .interior_list li {
    width: 100%;
    margin-bottom: 30px;
  }
  #home .characteristic_area .interior_list li:last-child {
    margin-bottom: 0;
  }
  #home .characteristic_area .exterior_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 50px;
  }
  #home .characteristic_area .exterior_list li {
    width: 100%;
    margin-bottom: 30px;
  }
  #home .characteristic_area .exterior_list li:last-child {
    margin-bottom: 0;
  }
  #home .introduction_area {
    margin-bottom: 50px;
  }
  #home .introduction_area .product_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #home .introduction_area .product_box .tl {
    width: 100%;
    padding: 3%;
    font-size: clamp(24px, 2vw, 24px);
  }
  #home .introduction_area .product_box .txt {
    font-size: clamp(18px, 2vw, 20px);
    padding: 3%;
  }
  #home .introduction_area .housetype {
    margin-bottom: 30px;
  }
  #home .introduction_area .housetype .box {
    padding: 20px 0;
  }
  #home .introduction_area .housetype .box .photo {
    margin-bottom: 20px;
  }
  #home .introduction_area .housetype .box .txt {
    font-size: clamp(16px, 2vw, 16px);
  }
  #home .introduction_area .housetype .type_tl {
    font-size: clamp(24px, 2vw, 30px);
    padding: 40px 0 10px;
  }
  #home .introduction_area .housetype .type_tl span {
    font-size: clamp(20px, 2vw, 24px);
    padding: 10px 0;
    max-width: 250px;
  }
  #home .point_area {
    padding: 50px 0;
  }
  #home .point_area .point_list {
    margin-bottom: 20px;
  }
  #home .point_area .point_list li {
    width: 100%;
    margin: 0 0 20px;
    height: auto;
  }
  #home .point_area .point_list li .box {
    padding: 20px;
  }
  #home .point_area .point_list li .ico img {
    max-width: 150px;
    height: 80px;
  }
  #home .point_area .point_list .tl {
    font-size: clamp(24px, 2vw, 30px);
  }
  #home .point_area .point_list .txt {
    font-size: clamp(16px, 2vw, 18px);
  }
  #home .construction_area {
    padding: 50px 0;
  }
  #home .construction_area .construction_box {
    margin-bottom: 50px;
  }
  #home .construction_area .box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #home .construction_area .photo {
    margin-bottom: 20px;
    height: 50vw;
  }
  #home .construction_area .type {
    width: 100%;
    padding: 10px 0;
    border-radius: 5px;
    font-size: clamp(24px, 2vw, 30px);
  }
  #home .construction_area .txt_box {
    width: 100%;
  }
  #home .construction_area .txt {
    padding: 20px 0;
  }
  #home .construction_area .blockquote_box {
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #home .construction_area .blockquote_box .sub_photo {
    width: 80%;
    margin: 0 auto 20px;
  }
  #home .construction_area .blockquote_box blockquote {
    padding: 30px;
  }
  #hakobune .base_contents {
    margin-bottom: 30px;
  }
  #hakobune .base_contents .txt_box {
    padding-top: 40px;
  }
  #hakobune .base_contents .txt_box .txt {
    margin-bottom: 0;
  }
  #hakobune .about_area {
    margin-bottom: 50px;
  }
  #hakobune .about_area .about_list {
    margin: 0;
  }
  #hakobune .about_area .about_list li {
    margin-bottom: 30px;
  }
  #hakobune .about_area .about_list li .fl_box {
    padding: 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #hakobune .about_area .about_list li .tl {
    font-size: clamp(24px, 3vw, 30px);
    margin-bottom: 20px;
  }
  #hakobune .about_area .about_list li .photo {
    width: 100%;
    margin-bottom: 20px;
  }
  #hakobune .about_area .about_list li .txt {
    width: 100%;
  }
  #hakobune .about_area .about_list li:last-child {
    margin-bottom: 0;
  }
  #hakobune .characteristic_area {
    margin-bottom: 50px;
  }
  #hakobune .characteristic_area .characteristic_tl_box .characteristic_tl {
    margin-bottom: 30px;
  }
  #hakobune .characteristic_area .characteristic_tl_box .characteristic_tl .ja {
    font-size: clamp(36px, 2vw, 40px);
  }
  #hakobune .characteristic_area .characteristic_box {
    margin-bottom: 50px;
  }
  #hakobune .characteristic_area .characteristic_box .tl {
    padding: 3%;
    font-size: clamp(20px, 2vw, 24px);
  }
  #hakobune .characteristic_area .characteristic_box .txt {
    padding: 3%;
    font-size: clamp(16px, 2vw, 16px);
  }
  #hakobune .characteristic_area .characteristic_box .txt span {
    margin-bottom: 10px;
  }
  #hakobune .characteristic_area .characteristic_tl {
    margin-bottom: 20px;
  }
  #hakobune .characteristic_area .characteristic_tl .bk {
    font-size: clamp(20px, 2vw, 24px);
  }
  #hakobune .characteristic_area .characteristic_tl .ja {
    font-size: clamp(24px, 2vw, 30px);
  }
  #hakobune .characteristic_area .interior_box {
    margin-bottom: 50px;
  }
  #hakobune .characteristic_area .interior_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 50px;
  }
  #hakobune .characteristic_area .interior_list li {
    width: 100%;
    margin-bottom: 30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #hakobune .characteristic_area .interior_list li:last-child {
    margin-bottom: 0;
  }
  #hakobune .characteristic_area .interior_list .photo {
    width: 100%;
    margin-bottom: 20px;
  }
  #hakobune .characteristic_area .interior_list .txt_box {
    width: 100%;
  }
  #hakobune .characteristic_area .exterior_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 50px;
  }
  #hakobune .characteristic_area .exterior_list li {
    width: 100%;
    margin-bottom: 30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #hakobune .characteristic_area .exterior_list li:last-child {
    margin-bottom: 0;
  }
  #hakobune .characteristic_area .exterior_list .photo {
    width: 100%;
    margin-bottom: 20px;
  }
  #hakobune .characteristic_area .exterior_list .txt_box {
    width: 100%;
  }
  #hakobune .introduction_area {
    margin-bottom: 50px;
  }
  #hakobune .introduction_area .product_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 50px;
  }
  #hakobune .introduction_area .product_box .tl {
    width: 100%;
    padding: 3%;
    font-size: clamp(24px, 2vw, 24px);
  }
  #hakobune .introduction_area .product_box .txt {
    font-size: clamp(18px, 2vw, 20px);
    padding: 3%;
  }
  #hakobune .introduction_area .housetype {
    margin-bottom: 30px;
  }
  #hakobune .introduction_area .housetype .box {
    padding: 20px 0;
  }
  #hakobune .introduction_area .housetype .box .photo {
    margin-bottom: 20px;
  }
  #hakobune .introduction_area .housetype .box .txt {
    font-size: clamp(16px, 2vw, 16px);
  }
  #hakobune .introduction_area .housetype .type_tl {
    font-size: clamp(24px, 2vw, 30px);
    padding: 40px 0 10px;
  }
  #hakobune .introduction_area .housetype .type_tl span {
    font-size: clamp(20px, 2vw, 24px);
    padding: 10px 0;
    max-width: 250px;
  }
  #hakobune .standard_area {
    margin-bottom: 50px;
  }
  #hakobune .standard_area .standard_tbl {
    overflow: scroll;
    margin-bottom: 30px;
  }
  #hakobune .standard_area .standard_tbl table {
    width: 600px;
    margin: auto;
  }
  #hakobune .flow_area {
    padding: 50px 0;
  }
  #hakobune .flow_area .txt {
    font-size: clamp(16px, 2vw, 16px);
    text-align: left;
  }
  #hakobune .point_area {
    padding: 50px 0;
  }
  #hakobune .point_area .point_list li:last-child {
    margin-bottom: 0;
  }
  #hakobune .point_area .point_list .box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #hakobune .point_area .point_list .ico {
    width: 100%;
    max-width: 350px;
    margin: 0 auto 20px;
  }
  #hakobune .point_area .point_list .tl {
    text-align: center;
  }
  #hakobune .point_area .point_list .txt_box {
    width: 100%;
    padding: 0;
  }
  #hakobune .practicaln_area {
    padding: 50px 0;
  }
  #hakobune .practicaln_area .fl_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #hakobune .practicaln_area .practicaln_box {
    width: 100%;
    margin-bottom: 30px;
  }
  #hakobune .practicaln_area .practicaln_box:last-child {
    margin-bottom: 0;
  }
  #hakobune .practicaln_area .photo {
    margin-bottom: 20px;
  }
  #hakobune .specification_area {
    margin-bottom: 50px;
  }
  #hakobune .specification_area .fl_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #hakobune .specification_area .specification_box {
    width: 100%;
    margin-bottom: 30px;
  }
  #hakobune .specification_area .specification_box:last-child {
    margin-bottom: 0;
  }
  #hakobune .specification_area .photo {
    margin-bottom: 20px;
  }
  #hakobune .specification_area .txt_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #hakobune .specification_area .tl_box {
    width: 100%;
    margin: 0 0 20px;
    height: auto;
    padding: 10px;
  }
  #hakobune .specification_area .tbl_box {
    width: 100%;
  }
  #hakobune .specification_area .tbl_box table {
    width: 100%;
  }
  #hakobune .specification_area .tbl_box table th {
    width: 100px;
  }
  /*施工事例*/
  #construction .construction_area .construction_menu {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 20px;
  }
  #construction .construction_area .construction_menu li {
    width: 49%;
    margin-bottom: 10px;
  }
  #construction .construction_area .construction_menu li::before {
    width: 12px;
    height: 12px;
    bottom: 10px;
  }
  #construction .construction_area .construction_menu li a {
    font-size: clamp(16px, 2vw, 20px);
    padding: 10px 0 25px;
  }
  #construction .construction_area .construction_box {
    margin-bottom: 50px;
  }
  #construction .construction_area .construction_box .box {
    padding: 0;
  }
  #construction .construction_area .construction_box .photo {
    margin-bottom: 20px;
    height: 50vw;
  }
  #construction .construction_area .construction_box .m_tl {
    padding: 8px;
    font-size: clamp(24px, 2vw, 28px);
    margin-bottom: 20px;
  }
  #construction .construction_area .construction_box .txt_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #construction .construction_area .construction_box .txt {
    width: 100%;
    font-size: clamp(16px, 2vw, 16px);
    margin-bottom: 20px;
  }
  #construction .construction_area .construction_box .info_box {
    width: 100%;
    padding: 10px;
  }
  #construction .construction_area .blockquote_box {
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #construction .construction_area .blockquote_box .sub_photo {
    width: 80%;
    margin: 0 auto 20px;
  }
  #construction .construction_area .blockquote_box blockquote {
    padding: 30px;
  }
  /*TOPICS*/
  #topics .topics_area {
    margin-bottom: 50px;
  }
  #topics .topics_area .topics_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 400px;
    overflow: hidden;
    margin: 0 auto 30px;
  }
  #topics .topics_area .box {
    width: 100%;
    padding: 20px 10px;
  }
  #topics .topics_area .photo {
    width: 100%;
    height: 200px;
  }
  #topics .topics_area .tl_box {
    font-size: clamp(18px, 2vw, 20px);
  }
  #topics .topics_area .new {
    padding: 2px 5px;
    margin-right: 15px;
    font-size: clamp(14px, 2vw, 14px);
  }
  #topics .topics_area .more_btn {
    margin: auto;
  }
  #topics .topics_detail_area {
    margin-bottom: 50px;
  }
  #topics .topics_detail_area .photo {
    height: 150px;
    margin-bottom: 20px;
  }
  /*company*/
  #company .about_area {
    margin-bottom: 0px;
  }
  #company .about_area .base_contents {
    margin-bottom: 30px;
  }
  #company .about_area .base_contents .photo {
    height: 200px;
  }
  #company .about_area .base_contents .txt_box .m_tl {
    margin-bottom: 20px;
  }
  #company .company_area {
    margin-bottom: 50px;
  }
  #company .company_area table th {
    width: 100px;
    padding: 8px;
  }
  #company .company_area table td {
    padding: 8px 8px 8px 16px;
  }
  #company .access_area {
    margin-bottom: 0;
  }
  #company .access_area .base_contents .txt_box {
    width: 100%;
    padding: 5%;
    right: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  #company .access_area .base_contents .txt_box address {
    font-size: clamp(16px, 2vw, 16px);
  }
  #company .access_area .base_contents .txt_box .txt {
    font-size: clamp(16px, 2vw, 16px);
  }
  #company .access_area .base_contents .map_box {
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  #company .access_area .base_contents .map {
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 20px;
  }
  #company .access_area .access_box .tl_box .tl {
    margin: 15px 0 15px auto;
  }
  /*webcatalog*/
  #webcatalog .webcatalog_area {
    margin-bottom: 20px;
  }
  #webcatalog .webcatalog_area .catalog_list li {
    width: 49%;
    margin-bottom: 30px;
  }
  #webcatalog .webcatalog_area .catalog_list .dl_btn {
    font-size: clamp(14px, 2vw, 16px);
    padding: 8px 3px;
  }
  #webcatalog .webcatalog_area .catalog_list .dl_btn img {
    margin-right: 5px;
  }
  #sale .sale_area {
    margin: 0;
  }
  #sale .sale_area .sale_box {
    margin-bottom: 50px;
  }
  #sale .sale_area .sale_box .box {
    padding: 0;
  }
  #sale .sale_area .sale_box .m_tl {
    font-size: clamp(24px, 2vw, 30px);
    margin-bottom: 30px;
  }
  #sale .sale_area .sale_box .photo {
    margin-bottom: 20px;
  }
  #sale .sale_area .sale_box .tl_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #sale .sale_area .sale_box .name {
    width: 100%;
    font-size: clamp(24px, 2vw, 30px);
    margin: 10px 0 20px;
  }
  #sale .sale_area .sale_box .price {
    font-size: clamp(24px, 2vw, 30px);
  }
  #sale .sale_area .sale_box .txt_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #sale .sale_area .sale_box .txt {
    width: 100%;
    font-size: clamp(16px, 2vw, 16px);
    margin-bottom: 30px;
  }
  #sale .sale_area .sale_box .info_box {
    width: 80%;
    margin: auto;
    padding: 20px;
  }
  #faq .faq_area {
    margin-bottom: 60px;
  }
  #faq .faq_area .box .q_tl .txt {
    padding: 15px 25px 15px 50px;
  }
  #faq .box {
    margin-bottom: 30px;
  }
  #faq .box .q_tl {
    margin-bottom: 20px;
  }
  #faq .box .q_tl .ico {
    width: 50px;
    height: 50px;
    font-size: clamp(30px, 2vw, 30px);
  }
  #faq .box .q_tl .txt {
    font-size: clamp(16px, 2vw, 18px);
    width: calc(100% - 25px);
    padding: 10px 10px 10px 30px;
  }
  #faq .box .a_txt .ico {
    width: 50px;
    height: 50px;
    font-size: clamp(30px, 2vw, 30px);
  }
  #faq .box .a_txt .txt {
    font-size: clamp(16px, 2vw, 16px);
    width: calc(100% - 25px);
    padding: 10px 10px 10px 30px;
  }
  #policy .policy_area {
    margin-bottom: 50px;
  }
  #policy .policy_area .t_txt {
    margin-bottom: 30px;
    font-size: clamp(16px, 2vw, 16px);
  }
  #policy .policy_area .box {
    margin-bottom: 30px;
  }
  #policy .policy_area .tl {
    font-size: clamp(24px, 2vw, 24px);
    margin-bottom: 20px;
  }
  #policy .policy_area .txt {
    font-size: clamp(16px, 2vw, 16px);
  }
  #policy .policy_area .info_box {
    width: 100%;
    padding: 20px;
  }
  #policy .policy_area .info_box p {
    font-size: clamp(14px, 2vw, 14px);
  }
  #policy .policy_area .info_box .btn {
    padding: 10px;
  }
  #policy .policy_area .list li {
    font-size: clamp(16px, 2vw, 16px);
    padding-left: 20px;
  }
  #policy .policy_area .num_list li {
    font-size: clamp(16px, 2vw, 16px);
  }
  .form_area {
    margin-bottom: 50px;
  }
  .form_area .base_tbl {
    margin: 0;
  }
  .form_area .base_tbl tr {
    border: none;
  }
  .form_area .base_tbl th,
  .form_area .base_tbl td {
    display: block;
    width: 100%;
    padding: 15px 10px;
  }
  .form_area .btn_box {
    margin: 30px 0 0;
  }
  .form_area .btn_box.custom p {
    display: block;
  }
  .form_area #submit-btn-back {
    margin: 0 0 15px;
    padding: 10px;
  }
  .form_area #submit-btn {
    width: 90%;
    font-size: clamp(24px, 2vw, 24px);
  }
  #headline {
    padding: 30px 0;
    margin-bottom: 30px;
  }
  #headline .ja {
    font-size: clamp(24px, 2vw, 30px);
  }
}
