@media screen and (min-width: 751px) {
  .under main .custom_img02.max_w01 {
    width: 100%;
    height: 100%;
  }
  .under main .custom_img02.max_w01 p {
    width: 100%;
    height: 100%;
  }
  .under main .custom_img02.max_w01 img {
    width: 100%;
    height: 481px;
    object-fit: cover;
  }
  .mb37 {
    margin: 0 0 37px 0;
  }
  .mw02 {
    max-width: 1100px;
    margin: 0 auto;
  }
  .under main .btn a[target="_blank"]:hover {
    background: #1a1a1a;
  }
  .under main .btn a[target="_blank"]:hover::after {
    right: -30px;
  }
  .under main .m_h123 {
    min-height: 123px;
  }
  .under main .m_h600 {
    min-height: 600px;
  }
  .under main .hidden_txt {
    opacity: 0;
    visibility: hidden;
  }
  .under main .section_col p.center.h_523 {
    display: block;
    min-height: 523px;
  }
  .lightbox, .lightboxOverlay {
    min-width: 1260px
  }
  .under main .l_box img:hover {
    opacity: 0.8;
  }
  .under main .image_l {
    float: left;
    margin: 10px 50px 10px 0
  }
  .under main .image_r {
    float: right;
    margin: 10px 0 10px 50px
  }
  .under main .u_thumbnail_small_list p:not(.slick-current):hover {
    opacity: 0.7;
  }
  /* BUTTON OVN DETAIL */
  .under main .btn_list {
    display: flex;
    justify-content: center;
    position: relative;
  }
  .under main .btn_list .is_prev {
    position: absolute;
    top: 0;
    left: 150px;
  }
  .under main .btn_list .is_next {
    position: absolute;
    top: 0;
    right: 150px;
  }
  .under main .u_flex_fix {
    width: 100%;
    max-width: 1260px;
    margin: 0 auto;
  }
  .under main .u_thumbnail_small_list p, .under main .detail_small p {
    height: 140px;
  }
  /* HOVER */
  .under main #topic_path li a:hover {
    text-decoration: underline
  }
  .under main .bnn a:hover {
    opacity: 0.7;
  }
  .under main .link:not(a[target=_blank]):hover {
    color: var(--scolor);
  }
  .under main .u_banner_item:hover::before {
    backdrop-filter: blur(0px);
  }
  .under main .u_info_col:not(.tks):hover .u_info_img img {
    transform: scale(1.1);
  }
  .under main .btn.prevPage a:hover::after {
    left: -40px;
  }
  .mySwiper .swiper-slide:not(.swiper-slide-thumb-active):hover {
    opacity: 0.8;
  }
  .under main .u_ds04_flex {
    margin: 47px 0 0 0;
  }
  .under main .u_thumbnail_big_list .slick-prev:hover, .under main .u_thumbnail_big_list .slick-next:hover {
    opacity: 1;
  }
  .under main .list_step .flex_dl dl::before {
    width: 1px;
    height: calc((100% - 188px));
    background: #000;
    transform: unset;
    top: calc((100% - 473px));
    right: 10px;
    left: unset;
  }
  .under main .list_step .flex_dl dl.m_h::before {
    height: calc((100% - 218px));
  }
  .under main .list_step .flex_dl dl::after {
    border-left: 20px solid #000;
    border-right: unset;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    background: unset;
    width: 20px;
    height: 20px;
    top: calc((100% + 100px)/2);
    left: unset;
    right: -10px;
  }
  .under main .tb_all_4 .tb_item_ttl, .under main .tb_item_img, .under main .tb_item_txt {
    padding: 15px;
  }
  .under main .col_4 .u_flow_col {
    width: calc((100% / 4));
    padding: 30px;
  }
  .under main .min_h01 {
    min-height: 61px;
  }
  .under main .design_pattern li .box {
    min-height: 160px;
  }
  .under main .house_sty01 dl:not(:nth-child(2n)) {
    margin-right: 60px;
  }
  .under main .f01_head.end {
    align-items: flex-end;
  }
}
@media screen and (min-width: 751px) and (max-width: 1900px) {
  .under main #top_info {
    height: 380px;
  }
  .under main .list_step02 dl {
    width: 175px;
    height: 175px;
  }
  .under main .list_step02 dl:not(:last-child) {
    margin: 0 30px 20px 0;
  }
  .under main .list_step02 dl::after {
    left: calc((100% + 10px));
  }
  .under main .u_img {
    width: 55%;
  }
  .under main .u_info {
    width: 45%;
  }
  .under main .inner {
    padding: 0 30px;
  }
  .under main .u_banner_item {
    width: 550px;
  }
  .under main .list_step02 dt {
    font-size: 24px;
  }
  .under main .u_faq_list dl {
    padding: 30px;
  }
  .under main p, .under main td {
    line-height: 1.5;
  }
  .under main .list_step .flex_dl dl::before {
    top: calc((100% - 402px));
    height: calc((100% - 183px));
  }
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
  .under main .custom_img02.max_w01 img {
    height: 477px
  }
}
@media screen and (min-width: 751px) and (max-width: 1400px) {
  .under main .design_pattern li .tt1 {
    font-size: 10px;
  }
  .under main .design_pattern li .tt2 {
    font-size: 18px;
  }
  .under main .design_pattern li .tt3 {
    font-size: 9px;
  }
  .under main .m_h600 {
    min-height: 500px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1200px) {
    .under main .section_flex.cus-block {
        flex-direction: column;
    }
    .under main .cus-block .section_col {
        width: 100%;
        margin: 0 0 60px 0;
    }
    .under main .cus-block .section_col:last-child {
        margin: 0;
    }
    .under main .custom_img02.max_w01 img {
        height: auto;
    }
}
@media screen and (max-width: 750px) {
  .under main .center_sp {
    text-align: center;
  }
  .under main .w70 {
    width: 100%;
  }
  .under main .ttl_onnce {
    margin: 0 0 10px 0;
  }
  .under main table .bg_black .f_bg {
    padding: 5px;
  }
  .under main .f01_spe_txt {
    font-size: 20px;
  }
  .under main .f01_spe_num {
    font-size: 24px;
  }
  .under main .tb01_fix {
    font-size: 14px;
  }
  .under main .number_ds.no_txt::before {
    width: 30px;
    height: 30px;
    bottom: calc((100% - 30px)/2);
    left: calc((100% - 30px)/2);
  }
  .under main .un_txt_sm {
    display: block;
  }
  #house main .number_ds::before {
    width: 20px;
    height: 20px;
    left: calc((100% - 20px)/2);
    bottom: calc((100% - 20px)/2);
  }
  .under main .hidden_txt {
    display: none;
  }
  .under main .number_ds {
    width: 60px;
    height: 60px;
    font-size: 24px;
    padding: 5px 0 0 0;
  }
  .under main .number_ds::before {
    width: 20px;
    height: 20px;
    left: calc((100% - 20px)/2);
    bottom: 5px;
  }
  .under main .f_size36 {
    font-size: 22px;
  }
  .under main .img_custom01 {
    height: auto;
  }
  .under main .section_flex {
    flex-direction: column;
  }
  .under main .section_flex_sp {
    flex-direction: row;
  }
  .under main .section_flex_sp .section_col {
    width: 48%;
  }
  .under main .section_flex_sp .section_col .img_custom01 {
    height: 60vh;
  }
  .under main .section_flex_sp .max_w01 {
    width: 100%;
  }
  .under main .section_col {
    width: 100%;
    margin: 0 0 60px 0;
  }
  .under main .section_col:last-child, .under main .section_col .section_col {
    margin: 0 0 0 0;
  }
  .under main section.section_col {
    margin: 0 0 0 0;
  }
  .under main .f_size28 {
    font-size: 20px;
  }
  .under main .picture_once img {
    max-height: 300px;
    width: auto;
  }
  .under main .u_flex.no_img .u_info {
    margin: 0;
  }
  .under main .frame_flex {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
  .under .mv_banner {
    opacity: 0;
    visibility: hidden;
  }
  .under .mv_banner.active {
    opacity: 1;
    visibility: visible;
  }
  .under footer {
    margin-top: 50px;
  }
  .under main .u_flex_fix {
    flex-direction: column;
  }
  .under main .u_section_vecotr img {
    width: auto;
  }
  .under main .u_section_vecotr {
    margin: 30px 0 0 0;
  }
  .under main .u_thumbnail_big_list .slick-next::after, .under main .u_thumbnail_big_list .slick-prev::after {
    top: 3px;
    left: 6px;
    width: 12px;
    height: 14px;
  }
  .under main .tb_item_ttl, .under main .tb_item_img, .under main .tb_item_txt {
    padding: 12px;
  }
  .under main .tb_item_ttl p, .under main .tb_item_txt p {
    font-size: 16px;
  }
  .under main .frame01.w_min {
    width: 100%;
  }
  .under main .tb_col, .under main .tb_all.tb_all_4 .tb_col, .under main .tb_all.tb_all_3 .tb_col {
    width: 100%;
    padding: 10px 0;
  }
  .under main .tb_all, .under main .tb_all.tb_all_4, .under main .tb_all.tb_all_3 {
    margin: -10px 0;
  }
  .under main table.tb_block td + td {
    border-top: 0;
  }
  .under main .flex_img img:not(:last-child) {
    margin: 0 0 20px 0;
  }
  .under main .box_col_item:nth-child(odd) {
    border-right: 0;
  }
  .under main .box_col_item:nth-child(2) {
    border-top: 1px solid #000;
  }
  .under main .list_step.step_col dl {
    width: 100%;
  }
  .under main .flex_dl {
    flex-direction: column;
  }
  .under main .box_col_item {
    width: 100%;
    padding: 15px 0;
  }
  .under main .flex_box {
    flex-direction: column;
    margin: -15px 0;
  }
  .under main .list_step dl:last-child::after, .under main .list_step dl:last-child::before {
    display: block;
  }
  .under main .flex_dl::after {
    display: none;
  }
  .under main .flex_list {
    flex-direction: column;
  }
  .under main .flex_list.flex_start {
    flex-direction: column-reverse;
  }
  .under main .flex_list.flex_start .list01 {
    margin: 15px 0 0 0;
  }
  .under main .flex_list ul {
    width: 100%;
  }
  .under main .flex_img img {
    width: 100%
  }
  .under main .flex_img {
    flex-direction: column;
  }
  .under main .mb50 {
    margin: 0 0 30px 0;
  }
  .under main .u_thumbnail_big_list .slick-next::before, .under main .u_thumbnail_big_list .slick-prev::before {
    font-size: 20px;
    top: 1px;
  }
  .under main .u_thumbnail_big_list .slick-next, .under main .u_thumbnail_big_list .slick-prev {
    width: 20px;
    height: 20px;
  }
  .under main .u_thumbnail_big_list .slick-next {
    right: 0;
  }
  .under main .u_thumbnail_big_list .slick-prev {
    left: 0;
  }
  .mySwiper .swiper-slide {
    flex: 0 0 calc((100% - 83%));
    margin: 5px;
  }
  .under main .u_flow_list.col_reverse .u_flow_item {
    flex-direction: column-reverse;
  }
  .under main .u_flow_list.col_reverse .u_flow_item h5 {
    margin: 0;
  }
  .under main p.f_24 {
    font-size: 20px;
  }
  .under main p.f_22 {
    font-size: 18px;
  }
  /* .mySwiper .swiper-wrapper{flex-wrap: inherit;justify-content: flex-start;} */
  .mySwiper2 img {
    max-height: 230px;
  }
  .under main .list_step02 dl:not(:last-child) {
    margin: 10px 20px;
  }
  .under main .list_step02 dl {
    margin: 10px 20px;
  }
  .under main .list_step02 {
    justify-content: center;
    padding: 0 30px;
  }
  .under main .list_step02 dl::after {
    left: calc((100% + 15px));
  }
  .mySwiper2 p {
    height: 230px;
  }
  .mySwiper p {
    height: 80px;
  }
  .mySwiper img {
    max-height: 75px;
  }
  .under main .inner {
    padding: 0 15px;
  }
  .under main .detail_small .slick-slide {
    margin: 0 5px;
  }
  .under main .detail_small p {
    margin: 5px 0;
    height: 120px;
  }
  .under main .u_info_col {
    width: 50%;
  }
  .under main .pagination li {
    margin: 0 5px;
  }
  .under main .u_info_item {
    padding: 20px;
  }
  .under main .u_ds04 {
    flex-direction: column;
  }
  .under main .u_info_img {
    height: 200px;
  }
  /* .under main .u_info_img img{max-height: 200px;} */
  .under main .u_ds04_col {
    width: 100%;
    margin: 0 0 30px 0;
  }
  .under main .u_ds04_col:last-child {
    margin: 0;
  }
  .under main .u_ds04_flex {
    flex-direction: column;
  }
  .under main .u_ds04_item {
    width: 100%;
    margin: 0 0 20px 0;
    padding: 0;
  }
  .under main .u_ds04_item:last-child {
    margin: 0;
  }
  .under main .list_table dt {
    font-size: 14px;
  }
  .under main .list_table dd p {
    font-size: 14px;
  }
  .under main .u_flow_list.column_2 .u_flow_col {
    width: 100%;
  }
  .under main .u_thumbnail_small_list p {
    margin: 5px;
    height: 120px;
  }
  .under main table.mailform th, .under main table th {
    font-size: 16px;
  }
  .under main .u_thumbnail_big_list p img, .under main .detail_big p img {
    max-height: 450px;
  }
  .under main .u_thumbnail_small_list p img, .under main .detail_small p img {
    max-height: 140px;
  }
  .under main #content {
    padding: 0 0 0
  }
  .under main section {
    padding: 0 0 60px;
  }
  .under main .u_banner_item a {
    font-size: 16px;
  }
  .under main .u_banner_item {
    width: 100%;
    height: auto;
    margin: 15px 0;
    padding: 40px 10px;
    max-width: 600px;
    min-height: 200px;
  }
  .under main .u_banner_item::before {
    backdrop-filter: blur(2px);
  }
  .under main .u_flex {
    flex-direction: column;
  }
  .under main .u_info, .under main .u_flex.reverse .u_info {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0;
  }
  .under main .u_flex.reverse {
    flex-direction: column;
  }
  .under main .image_r, .under main .image_l {
    float: none;
    display: inline-block;
    width: 100%;
    text-align: center;
    margin: 0 auto 20px !important
  }
  .under main .u_section_ttl {
    flex-direction: column;
  }
  .under main .u_text {
    margin: 15px 0 0 0;
    max-width: 100%;
  }
  .under main .u_text p {
    font-size: 16px;
  }
  .under main p, .under main td {
    font-size: 16px;
  }
  .under main .list_anchor .btn {
    margin: 0 20px 15px;
    width: 100%;
    max-width: 320px;
  }
  .under main .btn a {
    width: auto;
    min-width: auto;
    padding: 5px 25px 5px 5px;
  }
  .under main .list_anchor:last-child {
    margin: 0;
  }
  .under main .list_anchor .btn a {
    font-size: 16px;
  }
  .under main .list_anchor li:last-child {
    margin-bottom: 0px;
  }
  .under main .max_w a {
    width: 100%;
    min-height: 55px;
    max-width: 255px;
  }
  .ovn_detail main .list_anchor:last-child {
    padding-right: 0;
  }
  #info main .list_anchor:last-child {
    padding-right: 0;
  }
  /*==========================================================
                  C U S T O M
  ==========================================================*/
  /*  TOP INFO  */
  .under main #top_info {
    height: auto;
    padding: 130px 0 80px 0;
  }
  .under main #topic_path {
    margin-bottom: 15px
  }
  .under main #topic_path li, .under main #topic_path li a {
    font-size: 14px;
  }
  /*============ HEAD TITLE ============ */
  .under main h2 {
    font-size: 26px;
  }
  .under main h3 .en {
    font-size: 50px;
    margin: 0;
  }
  .under main h3 .ja {
    font-size: 24px;
  }
  .under main .u_s4_ttl .ja {
    font-size: 22px;
    margin: 0;
  }
  .under main .u_s4_ttl .en {
    font-size: 18px;
  }
  .under main .u_s4_ttl {
    margin: 0 0 20px 0;
  }
  .under main .u_s4_ttl.mb0 {
    margin-bottom: 0;
  }
  .under main h5, .under main .u_ds04_ttl {
    font-size: 20px;
    margin: 0 0 10px 0;
  }
  .under main h6 {
    font-size: 18px;
    margin: 0 0 15px 0;
  }
  .under main h6::before {
    top: 10px;
  }
  .under main .u_faq_ttl p {
    font-size: 24px;
  }
  .under main .u_img {
    height: auto;
    margin: 0 0 20px 0;
    width: 100%;
  }
  .under main .u_flow_list {
    flex-wrap: wrap;
    margin: -20px -10px;
  }
  .under main .u_flow_col {
    width: 100%;
    padding: 20px 10px;
  }
  .under main .u_flow_img {
    margin: 0 0 20px 0;
    order: 1;
  }
  .under main .u_flow_item {
    display: flex;
    flex-direction: column;
  }
  .under main .u_flow_ttl {
    order: 0;
  }
  .under main .u_flow_text {
    order: 2;
  }
  .under main .border .u_flow_img, .under main .border .u_flow_ttl, .under main .border .u_flow_text {
    order: unset;
  }
  .under main .u_flow_text p {
    font-size: 16px;
  }
  .under main .un_tt01 {
    font-size: 18px;
    padding: 8px 12px;
  }
  /*============ TABLE ============ */
  .under main table {
    margin-bottom: 30px;
    border-collapse: collapse;
    border-spacing: 0;
  }
  .under main table td, .under main table th {
    padding: 15px 10px
  }
  .under main table.tb_block tr {
    display: flex;
    flex-direction: column
  }
  .under main table.tb_block tr:not(:last-child) th {
    border-bottom: none;
    border-right: 1px solid var(--mcolor);
  }
  /* .under main table.tb_block td + td{border-top: none;}
  .under main table.tb_block td + td{border: 1px solid #000;margin: 10px 0;}
  .under main table.tb_block td{margin: 10px 0 0 0;} */
  .under main table.tb_block th, .under main table.tb_block td {
    width: 100%;
  }
  .under main table th.bg00 {
    border-top: 0
  }
  .under main table.tb_block tr:last-child th.bg00 {
    border-bottom: 1px solid var(--mcolor);
    border-right: 1px solid var(--mcolor);
    border-left: 1px solid var(--mcolor);
  }
  .under main table.tb_block tr:last-child th {
    border-right-color: #000;
  }
  /* TABLE SCROLL */
  .under main .tb_scroll {
    overflow: scroll;
  }
  .under main .tb_scroll:not(:last-child) {
    margin-bottom: 30px;
  }
  .under main .tb_scroll:not(:last-child).mb10 {
    margin: 0 0 10px 0;
  }
  .under main .tb_scroll table {
    width: 830px;
  }
  .under main .tb_note {
    margin-bottom: 10px;
    color: #999;
  }
  /*============ LIST ============ */
  .under main .list01 {
    margin: 0 0 15px 0;
  }
  .under main p {
    margin: 0 0 20px 0;
  }
  .under main .list01 li {
    font-size: 16px;
    padding-left: 10px;
  }
  .under main .list01 li::before {
    width: 4px;
    height: 4px;
    top: 14px;
  }
  .under main .list02 {}
  .under main .list02 li {}
  .under main .list02 li::before {}
  .under main .list_check, .under main .custom_post ul {
    margin-bottom: 15px;
  }
  .under main .list_check li, .under main .custom_post ul li {
    font-size: 16px;
    padding: 0 0 0 20px;
    line-height: 1.8;
    margin: 0 0 10px 0;
  }
  .under main .list_check li::before, .under main .custom_post ul li::before {
    top: 8px;
  }
  /* LIST FAQ */
  .under main .u_faq_list dl {
    padding: 20px;
    flex-direction: column;
  }
  .under main .u_faq_list dt .u_faq_q {
    width: 60px;
    height: 60px;
    font-size: 22px;
    margin: 0 10px 0 0;
  }
  .under main .u_faq_list dd .u_faq_a {
    width: 45px;
    height: 45px;
    font-size: 22px;
    margin-right: 15px;
  }
  .under main .u_faq_list dt .u_faq_q {
    padding: 0;
  }
  .under main .u_faq_list dt .u_faq_q .icon img {
    height: 22px;
  }
  .under main .u_faq_list dt .u_faq_text p {
    font-size: 20px;
    padding-left: 0;
  }
  .under main .u_faq_list dd {
    padding: 15px;
    width: 100%;
  }
  .under main .u_faq_list dt {
    margin: 0 0 10px 0;
    width: 100%;
    flex-direction: column;
  }
  .under main .u_faq_left {
    border-right: none;
    border-bottom: 1px #333 solid;
    width: auto;
    margin-bottom: 10px;
  }
  .under main .u_faq_box:not(:last-child) {
    margin: 0 0 50px 0;
  }
  .under main .list_step dt {
    flex-direction: column;
    align-items: flex-start;
    margin: 0 0 10px 0;
  }
  .under main .list_step dt .step_ttl p {
    font-size: 18px;
  }
  .under main .list_step dd {
    font-size: 16px;
  }
  .under main .list_step dl:not(:last-child) {
    margin: 0 0 40px 0;
  }
  .under main .list_step.step_col dl:not(:last-child) {
    margin: 0;
  }
  .under main .flex_dl:not(:last-child) {
    margin: 0;
  }
  .under main .list_step dl {
    padding: 0 0 30px 0;
  }
  .under main .list_step dl::before {
    width: calc((100% - 20%));
  }
  .under main .flex_dl:last-child dl:last-child::before, .under main .flex_dl:last-child dl:last-child::after {
    display: none;
  }
  /* List STEP */
  /* .under main .list_step dl{margin-bottom: 20px;padding-bottom: 40px} */
  /*============ FRAME ============ */
  .under main .frame01 {
    padding: 20px 15px
  }
  .under main .frame02 {
    padding: 20px 15px
  }
  .under main .frame_pick {
    padding: 20px 15px
  }
  /*============ ORTHER ============ */
  .under main .box_map {
    height: 250px
  }
  /*============ KIJIKAKU ============ */
  .under main .kiji_detail_ct img {
    max-width: 100%;
    max-height: 300px;
  }
  .under main .u_ttl_p {
    font-size: 20px;
  }
  /* .under main .w10per{width: 25%;}
  .under main .w15per{width: 35%;}
  .under main .w75per{width: 40%;} */
  .under main .u_ds04_ttl02 {
    margin: 0 0 10px 0;
  }
  .under main .list_step dt .step_loop p {
    font-size: 40px;
  }
  .under main .list_step dl::after {
    width: 30px;
    height: 15px;
    left: calc((100% - 30px)/2);
  }
  .under main table th.bg00 p {
    font-size: 16px;
  }
  .under main .list_step02 dl:nth-child(even):after {
    display: none;
  }
  /* .under main .custom_post img{max-height: 280px;} */
  .under main .u_dir {
    flex-direction: column-reverse;
  }
  .under main .img_dir {
    width: 100%;
    margin-bottom: 10px;
  }
  .under main .img_dir img {
    max-width: 300px;
  }
  .under main .u_dir_img {
    text-align: center;
    margin: 0 0 20px 0;
  }
  .under main .name_dir {
    flex-direction: column;
    align-items: center;
  }
  .under main .name_dir p.name {
    font-size: 20px;
  }
  .under main .u_dir_ttl p {
    font-size: 20px;
  }
  .under main .u_dir_ttl {
    margin-bottom: 15px;
  }
  .under main .frame_info {
    margin: 30px 0 0 0;
  }
  .under main .frame_shadow {
    margin: 30px 0 0 0;
  }
  .under main .box_flex {
    flex-direction: column;
  }
  .under main .w_box_flex {
    width: 100%;
    left: unset;
    transform: translate(0);
    flex-direction: column-reverse;
  }
  .under main .box_info, .under main .reverse .box_info {
    margin: -30px auto 0 auto;
    width: calc((100% - 30px));
    height: auto;
    padding: 0;
  }
  .under main .w_box_flex.reverse {
    right: unset;
    transform: translateX(0);
  }
  .under main .reverse .box_flex {
    flex-direction: column;
  }
  .under main .box_text {
    padding: 20px;
  }
  .under main .box_img_flex {
    flex-direction: column;
    align-content: center;
  }
  .under main .box_flex h5 {
    font-size: 40px;
    text-align: center;
  }
  .under main .w_box_flex h5 {
    font-size: 32px;
    text-align: center;
    color: #939393;
  }
  .under main .un_icon01 {
    width: 59px;
    margin-bottom: 10px;
  }
  .under main .design_pattern {
    grid-template-columns: repeat(3, 1fr);
  }
  .under main .design_pattern li .box {
    min-height: 140px;
  }
  .under main .design_pattern li .tt2 {
    font-size: 17px;
    margin-bottom: 10px;
  }
  .under main .design_pattern li .tt3 {
    font-size: 11px;
  }
  .under main .u_slick .slick-prev, .under main .u_slick .slick-next, .under main .u_slick .slick-prev:focus, .under main .u_slick .slick-next:focus {
    width: 30px;
    height: 30px;
    background-size: 8px;
  }
  .under main .u_slick .slick-next, .under main .u_slick .slick-next:focus {
    right: -10px;
  }
  .under main .u_slick .slick-prev, .under main .u_slick .slick-prev:focus {
    left: -10px;
  }
  /* fix 241204 */
  .under main .f01_ttl_large p {
    font-size: 36px;
  }
  .under main .f01_ttl {
    font-size: 30px;
  }
  .under main .f01_head {
    flex-direction: column;
    margin: 0 0 15px 0;
  }
  .under main .f01_text {
    margin: 0 0 20px 0;
  }
  .under main .f01_img .flex {
    justify-content: flex-end;
  }
  .under main .content_fix01 .img {
    height: calc((100vw - 65vw));
  }
  .under main .content_fix01 .img.small {
    height: 48%;
  }
  .under main .f01_img .flex p {
    width: 100px;
    margin: 0 10px 0 0;
  }
  .under main .un_txt_sm li {
    font-size: 12px;
    padding: 0 5px;
  }
  .under main .house_sty01 dl {
    width: 100%;
  }
  .under main .house_sty01 dl:last-child {
    margin-bottom: 0;
  }
  .under main .house_sty01 dl dd .number .lg {
    font-size: 40px;
  }
  .under main .house_sty01 dl dd {
    width: 100px;
    height: 100px;
    margin-left: 20px;
  }
  .under main .house_sty01_tt .num {
    width: 40px;
    height: 40px;
    font-size: 24px;
    margin-right: 10px;
  }
  .under main .tt_mid {
    font-size: 14px;
    margin-bottom: 3px;
  }
  .under main .house_sty01 {
    margin-top: 30px;
  }
  .under main .mt01 {
    margin-top: 70px;
  }
  .under main .content_fix01 .img p.right_un01 {
    font-size: 18px;
  }
}
/* IPHONE 14 */
@media screen and (max-width: 600px) {
  .under main .section_flex_sp .section_col .img_custom01 {
    height: 30vh;
  }
  .under main .u_info_txt .date {
    min-height: auto;
  }
  .mySwiper p {
    height: 40px;
  }
  .mySwiper img {
    max-height: 35px;
  }
  /*============ ORTHER ============ */
  /* .under main .u_img,.under main .u_flow_img{height: 250px;} */
  /*============ KIJIKAKU ============ */
  .under main .u_info_list {
    margin: -15px -15px;
  }
  .under main .u_info_col {
    width: 100%;
    padding: 15px 30px;
  }
  .under .kiji_list dl {
    flex-wrap: wrap;
  }
  .under .kiji_list dd {
    width: 100%;
    margin-top: 10px;
  }
  .under .kiji_list dt img {
    top: inherit;
  }
  .under main .u_thumbnail_big_list p img, .under main .detail_big p img {
    max-height: 220px;
  }
  .under main .u_thumbnail_small_list p img, .under main .detail_small p img {
    max-height: 97px;
  }
  .under main .u_info_item {
    padding: 15px;
  }
  .under main .list_step02 dt {
    font-size: 26px;
  }
  .under main .list_step02 dl {
    height: auto;
    min-height: 150px;
    padding: 0 0 10px 0;
  }
  .under main .list_step02 dl::after {
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #000;
    border-bottom: unset;
    left: calc((100% - 20px)/2);
    top: calc((100% + 15px));
  }
  .under main .list_step02 dl:not(:last-child) {
    margin: 10px 10px 30px 10px;
  }
  .under main .list_step02 dl:nth-child(even)::after {
    display: block;
  }
  .under main .list_step02 dl:last-child::after {
    display: none;
  }
  .under main .list_step02 {
    padding: 0;
  }
  .under main .design_pattern {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* IPHONE 6 */
@media screen and (max-width: 360px) {
  .under main .design_pattern li .box {
    min-height: 160px;
  }
}
/* FIREFOX ONLY */
@-moz-document url-prefix() {}
/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resol) {}