@charset "UTF-8";
/* Scss Document */
.flex_43 {
    width: 43%;
}
.flex_46 {
    width: 46%;
}
.flex_48 {
    width: 48%;
}
.flex_50 {
    width: 50%;
}
.flex_54 {
    width: 54%;
}
.padding100 {
    padding-top: 100px;
    padding-bottom: 100px;
}
.padding110 {
    padding-top: 110px;
    padding-bottom: 110px;
}
.padding120 {
    padding-top: 120px;
    padding-bottom: 120px;
}
.padding130 {
    padding-top: 130px;
    padding-bottom: 130px;
}
.padding140 {
    padding-top: 140px;
    padding-bottom: 140px;
}
.padding150 {
    padding-top: 150px;
    padding-bottom: 150px;
}
.padding160 {
    padding-top: 160px;
    padding-bottom: 160px;
}
.padding180 {
    padding-top: 180px;
    padding-bottom: 180px;
}
.margin150 {
    margin-top: 150px;
    margin-bottom: 150px;
}
.pt-130 {
    padding-top: 130px;
}
.pt-150 {
    padding-top: 150px;
}
.pt-180 {
    padding-top: 180px;
}
.pb-130 {
    padding-bottom: 130px;
}
.pb-140 {
    padding-bottom: 140px;
}
.pb-150 {
    padding-bottom: 150px;
}
.pb-200 {
    padding-bottom: 200px;
}
.pb-230 {
    padding-bottom: 230px;
}
.pb-290 {
    padding-bottom: 290px;
}
.mt-120 {
    margin-top: 120px;
}
.mt-150 {
    margin-top: 150px;
}
.mb-150 {
    margin-bottom: 150px;
}
.mb-260 {
    margin-bottom: 260px;
}
* {
    text-decoration: none !important;
}
/*****************************/
#cy_hedaer {
    position: absolute;
    top: 30px;
    left: 40px;
    z-index: 500;
}
#main_box, .flexslider, #fade1, #fade2, #fade3 {
    height: 950px;
    position: relative;
}
#fade1 {
    background: url("../images/fade1.jpg") 50% 0/cover no-repeat;
}
#fade2 {
    background: url("../images/fade2.jpg") 50% 0/cover no-repeat;
}
#fade3 {
    background: url("../images/fade3.jpg") 50% 0/cover no-repeat;
}
.title_box {
    background: url("../images/top_title.png") 50% 0/cover no-repeat;
    width: 500px;
    height: 505px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 900;
    display: flex;
    justify-content: center;
    align-items: center;
}
.title_box h2 {
    writing-mode: vertical-rl;
    padding-top: 40px;
}
.title_box h2 .big {
    font-size: 42px;
    display: inline-block;
    line-height: 1.8em;
}
.title_box h2 .inline_span {
    font-size: 34px;
    display: inline-block;
    line-height: 1.7em;
    padding-top: 20px;
    padding-right: 20px;
}
.main_banar {
    position: absolute;
    left: 60px;
    bottom: 80px;
}
.main_banar a {
    display: block;
    background-color: #2e2927;
    color: #FFF;
    width: 380px;
    padding: 35px 40px;
    position: relative;
    font-size: 18px;
    letter-spacing: 0.1em;
    transition: 0.3s ease-in-out;
}
.main_banar a img {
    position: absolute;
    bottom: 10px;
    right: -80px;
    display: block;
}
.main_banar a:hover {
    background-color: #FFF;
    color: #2e2927;
}
/**************************************
	メニューオープン
***************************************/
#open_menu {
    display: none;
    background-position: 50% 0;
    background-repeat: no-repeat;
    background-size: cover;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
}
/***********/
#center_box {
    background-color: #414141;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    height: 100vh;
    display: block;
    overflow-y: scroll;
    padding: 140px 0;
}
/**************************************
	MENU ANIMATION
***************************************/
.m_width {
    width: 94%;
    max-width: 1520px;
    margin: 0 auto;
}
.menu_contact {
    display: flex;
    justify-content: space-between;
}
.menu_contact li {
    width: 48%;
}
.menu_contact a {
    background-color: #2e2927;
    color: #FFF;
    padding: 30px 10px;
    font-size: 24px;
    text-align: center;
    display: block;
}
.menu_contact li:nth-child(2) a {
    background-color: #e71a0f;
}
/******/
.nav_box {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}
.nav_box ul {
    width: 29.33%;
}
.nav_box.column2 ul {
    width: 49%;
}
.nav_box a {
    color: #FFF;
    display: block;
}
.nav_box li > a {
    background-color: #4e4e4e;
    padding: 15px 20px;
    margin: 20px 0;
    font-size: 24px;
    position: relative;
    color: #FFF;
    display: block;
}
.nav_box li > a:before {
    content: "";
    border-bottom: 1px solid #FFF;
    position: absolute;
    top: 50%;
    left: -10px;
    width: 0;
    transform: translateY(-50%);
    transition: 0.3s ease-in-out;
}
.nav_box li > a:hover:before {
    width: 20px;
}
.nav_box li > .m_span {
    background-color: #4e4e4e;
    padding: 15px 20px;
    margin: 20px 0;
    font-size: 24px;
    position: relative;
    color: #FFF;
    display: block;
}
.nav_mini {
    padding-left: 48px;
    padding-top: 20px;
}
.nav_mini a {
    font-size: 20px;
    margin-bottom: 30px;
    position: relative;
}
.nav_mini a:before {
    content: "";
    border-bottom: 1px solid #FFF;
    position: absolute;
    top: 50%;
    left: -30px;
    width: 0;
    transform: translateY(-50%);
    transition: 0.3s ease-in-out;
}
.nav_mini a:hover:before {
    width: 20px;
}
/*****************************/
#side_bar {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    writing-mode: vertical-rl;
    display: flex;
    height: 435px;
}
#side_bar li {
    width: 50px;
    position: relative;
    margin: 10px 0;
}
#side_bar li:nth-child(1) {
    background-color: #2e2927;
}
#side_bar li:nth-child(2) {
    background-color: #e71a0f;
}
#side_bar li:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 400;
    background-color: rgba(255, 255, 255, 0.16);
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
#side_bar a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: #FFF;
    padding: 15px 0;
    position: relative;
    z-index: 500;
}
#side_bar span {
    display: inline-block;
    margin-top: 15px;
}
#side_bar img, #side_bar span {
    position: relative;
    z-index: 5000;
}
#side_bar li:hover:after {
    transform-origin: left top;
    transform: scale(1, 1);
}
/*****************************/
.top_n_flex {
    display: flex;
    justify-content: space-between;
}
.top_n_left {
    width: 200px;
}
.top_n_right {
    width: calc(100% - 200px);
    margin-top: -10px;
}
.eng_midashi {
    font-size: 36px;
}
.news a {
    margin: 30px 0;
    border-left: 2px solid #2e2927;
    padding: 5px 0 5px 20px;
    color: #2e2927;
    position: relative;
    display: block;
}
.n_time {
    font-size: 15px;
    margin-top: 15px;
}
.n_cate {
    font-size: 15px;
    width: 110px;
    text-align: center;
    padding: 2px;
    position: absolute;
    right: 0;
    bottom: 0;
    border: 1px solid #2e2927;
}
/**************/
.basicBox a {
    color: #2e2927;
}
.basicBox.more_c {
    margin-left: auto;
    margin-right: auto;
}
.basicBox.more_w a {
    color: #FFF;
}
.basicBox.more_w.basicBox:hover svg rect {
    stroke: #FFF;
}
.basicBox.more_w svg rect, .basicBox.more_w svg path {
    stroke: #FFF;
}
.basicBox {
    width: 200px;
    height: 65px;
    color: #2e2927;
    line-height: 55px;
    text-transform: uppercase;
    text-align: center;
    position: relative;
    cursor: pointer;
}
svg {
    position: absolute;
    top: 0;
    left: 0;
}
svg rect, svg path {
    fill: none;
    stroke: #2e2927;
    stroke-width: 1;
}
.basicBox:hover svg rect {
    stroke: #2e2927;
}
/* Basic Box */
svg rect {
    stroke-dasharray: 400, 0;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
}
.basicBox:hover svg rect {
    stroke-width: 3;
    stroke-dasharray: 35, 340;
    stroke-dashoffset: 38;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
}
/*********/
.more {
    width: 200px;
    position: relative;
}
.more a {
    border: 1px solid #2e2927;
    padding: 15px;
    text-align: center;
    display: block;
    color: #2e2927;
    position: relative;
    z-index: 500;
    transition: 0.3s ease-in-out;
}
.more a:hover {
    color: #FFF;
}
.more:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #2e2927;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.more.more_w a {
    border-color: #FFF;
    color: #FFF;
}
.more:hover:after {
    transform-origin: left top;
    transform: scale(1, 1);
}
/************************/
.midashi38 {
    font-size: 38px;
}
.center {
    text-align: center;
}
.model_list {
    display: flex;
    flex-wrap: wrap;
}
.model_list li {
    width: 30.33%;
    margin: 40px 1.5%;
}
.model_list a {
    display: block;
    color: #2e2927;
}
.model_list a:hover .model_view {
    transform: scale(1);
}
.model_list a:hover img {
    filter: grayscale(100%);
}
.model_list img {
    transition: 0.3s ease-in-out;
}
.model_view {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    text-align: center;
    background-color: rgba(46, 41, 39, 0.7);
    transform: scale(0);
    transition: 0.3s ease-in-out;
}
.model_mox {
    margin-top: 25px;
    padding-left: 20px;
    border-left: 1px solid #2e2927;
}
.model_t {
    font-size: 15px;
    margin-top: 10px;
    font-weight: bold;
}
.more_c {
    margin-left: auto;
    margin-right: auto;
}
/*************/
.top_case_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 40px;
    row-gap: 40px;
}
.top_case_list li a {
    display: block;
    position: relative;
    color: #2e2927;
}
.top_case_list li a:hover .hov_box {
    transform: scale(1);
}
.hov_box {
    background-color: rgba(255, 255, 255, 0.66);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transform: scale(0);
    transition: 0.3s ease-in-out;
}
.hov_box .eng {
    color: #e71a0f;
    font-weight: bold;
    font-size: 14px;
}
.hov_box .ja {
    font-size: 20px;
}
/***************************/
.bg_gray {
    background-color: #f8f7f5;
}
.top_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.top_left {
    width: 42%;
    padding-left: 40px;
}
.top_left.calc_pr {
    padding-left: 0;
    padding-right: 40px;
}
.top_left.calc_pr .top_calc {
    padding-right: 60px;
    padding-left: 150px;
    position: relative;
    left: -70px;
}
.top_right {
    width: 58%;
    position: relative;
    z-index: 500;
}
.top_calc {
    background-color: #FFF;
    padding: 80px 60px;
    width: calc(100% + 70px);
    padding-right: 140px;
}
.bb_eng {
    font-size: 18px;
}
.bb_eng:after {
    content: "";
    width: 26px;
    border-bottom: 1px solid #e71a0f;
    margin-top: 5px;
    display: block;
}
.midashi30 {
    font-size: 30px;
}
/***********************/
.flex_box {
    display: flex;
    justify-content: space-between;
}
.item_center1024 {
    align-items: center;
}
/***********************/
#top_bg1 {
    background: url("../images/top13.jpg") 50% 0/cover no-repeat;
    color: #FFF;
}
.info_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.info_left {
    width: 250px;
    display: flex;
    align-items: center;
    height: 100%;
}
.info_center {
    width: calc(100% - 450px);
    border-left: 1px solid #FFF;
    padding: 0 20px;
}
.info_center ul {
    display: flex;
    justify-content: space-between;
}
.info_center ul li {
    width: 105px;
    height: 105px;
    background-color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    text-align: center;
    font-size: 20px;
    color: #000;
}
.info_width {
    width: 100%;
    max-width: 540px;
    margin: 0 auto;
}
.info_right {
    width: 200px;
}
/**********************************/
#top_bg2 {
    background: url("../images/top14.jpg") 50% 0/cover no-repeat;
}
.group_banar {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}
.group_banar li {
    margin: 10px 0;
}
/****************************/
.f_bg {
    background-color: #414141;
    padding: 110px 0 60px;
    text-align: center;
    color: #FFF;
}
.f_tel {
    margin-top: 15px;
    font-size: 22px;
}
.f_tel .big {
    font-size: 28px;
}
.share_box {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid #6f6f6f;
    border-bottom: 1px solid #6f6f6f;
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #6f6f6f;
}
.share_box a {
    color: #6f6f6f;
}
.share_box ul {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 150px);
}
.share_p {
    width: 105px;
    position: relative;
    text-align: left;
}
.share_p:after {
    content: "";
    border-bottom: 1px solid #6f6f6f;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
}
.copy {
    background-color: #3a3a3a;
    padding: 30px 14px;
    text-align: center;
    color: #FFF;
    font-size: 12px;
}
.copy a{
    color: #fff;
}
/***************************************************************

    コンセプト

***************************************************************/
#concept_main {
    background: url("../images/concept1.jpg") 50% 0/cover no-repeat;
}
.main_size {
    height: 540px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.title_in {
    color: #FFF;
    line-height: 1.5em;
    font-size: 42px;
    padding-top: 150px;
}
.title_in span {
    font-size: 28px;
    background-color: rgba(0, 0, 0, 0.2);
    padding: 8px 10px;
    display: inline-block;
    line-height: 1em;
}
/************************/
.midashi46 {
    font-size: 46px;
}
.c_text {
    text-align: center;
    line-height: 4em;
    margin-top: 60px;
    font-size: 17px;
    width: calc(100% - 50%);
    margin-left: auto;
    margin-right: auto;
}
#c_img1 {
    position: absolute;
    left: 0;
    top: 400px;
    width: 23.6%;
}
#c_img1 img {
    width: 100%;
    height: auto;
}
#c_img2 {
    position: absolute;
    right: 0;
    top: 250px;
    width: 17.3%;
}
#c_img2 img {
    width: 100%;
    height: auto;
}
#c_img3 {
    position: absolute;
    left: calc(50% + 160px);
    bottom: 0;
    transform: translateX(-50%);
    width: 22.1%;
}
#c_img3 img {
    width: 100%;
    height: auto;
}
/***********************/
#c_bg {
    background: url("../images/concept5.jpg") 50% bottom/1800px 410px no-repeat;
}
.c_list {
    display: flex;
    justify-content: space-between;
}
.c_list li {
    width: 30.33%;
    background-color: rgba(46, 41, 39, 0.7);
    color: #FFF;
    padding: 65px 40px;
}
.c_list h3 {
    text-align: center;
    font-size: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.c_list h3 span {
    border: 1px solid #FFF;
    border-right: 0;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 3px;
    padding-bottom: 2px;
}
.c_list h3 span:last-child {
    border-right: 1px solid #FFF;
}
.c_list p {
    margin-top: 30px;
    line-height: 2.5em;
}
/****************************/
.c_list2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.c_list2 li {
    width: 49.8%;
    margin: 0.2% 0;
    height: 660px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF;
}
.c_list2 li:last-child {
    background-color: #807e7d;
}
.c_list2 h3 {
    font-size: 34px;
}
.c_list2 h3:after {
    content: "";
    border-bottom: 2px solid #b14235;
    width: 45px;
    margin: 5px auto 0;
    display: block;
}
.c_list2 p {
    margin-top: 40px;
}
#c_list_bg1 {
    background: url("../images/concept6.jpg") 50% 0/cover no-repeat;
}
#c_list_bg2 {
    background: url("../images/concept7.jpg") 50% 0/cover no-repeat;
}
#c_list_bg3 {
    background: url("../images/concept8.jpg") 50% 0/cover no-repeat;
}
#c_list_bg4 {
    background: url("../images/concept9.jpg") 50% 0/cover no-repeat;
}
#c_list_bg5 {
    background: url("../images/concept10.jpg") 50% 0/cover no-repeat;
}
/**************************/
#under_bg {
    background: url("../images/concept13.jpg") 50% 0/cover no-repeat;
}
.under_flex {
    display: flex;
    justify-content: space-between;
    color: #FFF;
}
.under_box {
    width: 46%;
    border: 2px solid #e71a0f;
    padding: 90px 20px;
    text-align: center;
}
.under_box h3 {
    font-weight: bold;
    font-size: 34px;
}
.under_more {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    position: relative;
}
.under_more:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 400;
    background-color: rgba(231, 26, 15, 0.5);
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.under_more a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: #FFF;
    padding: 15px 0;
    position: relative;
    z-index: 500;
    border: 1px solid #FFF;
}
.under_more:hover:after {
    transform-origin: left top;
    transform: scale(1, 1);
}
/***************************************************************

    工法と構造

***************************************************************/
#method_main {
    background: url("../images/about1.jpg") 50% 0/cover no-repeat;
}
/*********************/
.midashi34 {
    font-size: 34px;
}
/*********/
.method_bg {
    background-color: #ece6db;
}
.padding80 {
    padding: 80px 0;
}
.midashi22 {
    font-size: 22px;
}
.padding40 {
    padding: 40px 0;
}
.me_table {
    width: 100%;
}
.me_table th, .me_table td {
    padding: 15px 30px;
    vertical-align: top;
}
.me_table th {
    border-bottom: 1px solid #FFF;
    background-color: #414141;
    color: #FFF;
    width: 16%;
}
.me_table td {
    border: 1px solid #414141;
    font-size: 14px;
    width: 42%;
}
.color_g {
    color: #708d43;
}
/****************/
.me_left {
    width: 27%;
}
.me_right {
    width: 67%;
}
/**************/
.item_end {
    align-items: flex-end;
}
.me_left2 {
    width: 45%;
}
.me_right2 {
    width: 45%;
    position: relative;
}
.me_right2:after {
    content: "";
    background: url("../images/shape.jpg") 50% 50%/cover no-repeat;
    width: 46px;
    height: 37px;
    position: absolute;
    left: -60px;
    top: 50%;
    transform: translateY(-50%);
}
/***************************************************************

    家づくりの流れ

***************************************************************/
#flow_main {
    background: url("../images/flow1.jpg") 50% 0/cover no-repeat;
}
/***************/
.padding60 {
    padding: 60px 0;
}
.ml_minus {
    margin-left: -12px;
}
.flex_bpx {
    display: flex;
    justify-content: space-between;
}
.flow_bl_box {
    position: relative;
    border-left: 1px solid #2e2927;
    padding: 20px 0 20px 50px;
}
.flow_bl_box:after {
    content: "";
    border-left: 1px solid #2e2927;
    transform: rotate(-30deg);
    height: 30px;
    position: absolute;
    left: -8px;
    bottom: -2px;
}
.bg_midashi_inline {
    display: inline-block;
    background-color: #FFF;
    padding: 5px 15px;
    font-size: 18px;
    position: relative;
    left: -15px;
}
/***************************************************************

    保証・サポート

***************************************************************/
#support_main {
    background: url("../images/support1.jpg") 50% 0/cover no-repeat;
}
/*********************/
.support_link a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #2e2927;
    padding: 40px 10px;
    color: #01408e;
    font-size: 22px;
    transition: 0.3s ease-in-out;
}
.support_link a:hover {
    opacity: 0.6;
}
.support_link span {
    margin-left: 30px;
}
/********************/
.support_list {
    display: flex;
    justify-content: space-between;
}
.support_list li {
    width: 47%;
}
.support_list h3 {
    margin-top: 25px;
    border-left: 2px solid #2e2927;
    padding: 20px 0 20px 30px;
    font-size: 22px;
}
.support_list p {
    padding: 20px 0 0 30px;
    line-height: 2.4em;
}
/***************************************************************

    事業紹介

***************************************************************/
#business_main {
    background: url("../images/business1.jpg") 50% 0/cover no-repeat;
}
/*********************/
.bu_flex {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
}
.bu_midashi {
    font-size: 32px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #FFF;
}
.bu_midashi span {
    position: relative;
}
.bu_midashi span:after {
    content: "";
    border-bottom: 2px solid #e71a0f;
    position: absolute;
    bottom: -15px;
}
.bu_left {
    width: 50%;
    position: relative;
}
.bu_left .bu_midashi {
    left: 40px;
}
.bu_left .bu_midashi span:after {
    width: calc(100% + 50px);
    left: -50px;
}
.bu_right {
    width: 49.5%;
    position: relative;
}
.bu_right .img100 {
    width: 80%;
    overflow: hidden;
}
.bu_right .bu_midashi {
    right: 0;
    width: 100%;
    max-width: 250px;
}
.bu_right .bu_midashi span:after {
    width: calc(100% + 120px);
    left: 0;
}
/***/
.bu_left2 {
    width: 50%;
    position: relative;
    margin-top: 0.3%;
}
.bu_left2 .img100 {
    width: 80%;
    overflow: hidden;
    margin-left: auto;
}
.bu_left2 .bu_midashi {
    left: 40px;
}
.bu_left2 .bu_midashi span:after {
    width: calc(100% + 50px);
    left: -50px;
}
.bu_right2 {
    width: 49.5%;
    position: relative;
    margin-top: 0.3%;
}
.bu_right2 .img100 {
    overflow: hidden;
}
.bu_right2 .bu_midashi {
    right: 0;
    width: 100%;
    max-width: 300px;
}
.bu_right2 .bu_midashi span:after {
    width: calc(100% + 120px);
    left: 0;
}
/****************/
.midashi28 {
    font-size: 28px;
}
/***************/
.bg_midashi {
    background-color: #f7f7f7;
    font-size: 30px;
    padding: 10px 20px;
}
.bu_list {
    display: flex;
    justify-content: space-between;
}
.bu_img_big {
    width: 64.7%;
}
.bu_img_small {
    width: 34.4%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
/*******************/
.history_table {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.history_table li {
    width: 48%;
    border-left: 2px solid #2e2927;
    padding-left: 20px;
    margin: 25px 0;
    display: flex;
    justify-content: space-between;
}
.his_cell1 {
    width: 150px;
}
.his_cell2 {
    width: calc(100% - 150px);
    font-size: 14px;
    margin-top: -2px;
}
.his_cell2 p {
    line-height: 2.6em;
}
/****/
.admin_table li {
    border-left: 2px solid #2e2927;
    padding-left: 20px;
    margin: 25px 0;
    display: flex;
    justify-content: space-between;
}
.admin_cell1 {
    width: 180px;
}
.admin_cell2 {
    width: calc(100% - 180px);
    font-size: 14px;
    margin-top: -2px;
}
.admin_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    max-width: 740px;
}
.admin_flex p {
    line-height: 2.6em;
    width: 48%;
}
/***************************************************************

    会社概要

***************************************************************/
#company_main {
    background: url("../images/company1.jpg") 50% 0/cover no-repeat;
}
/************************/
#com_bg {
    background: url("../images/company2.jpg") 50% 0/cover no-repeat;
    padding: 180px 0 320px;
}
.com_box {
    border: 10px solid #FFF;
    padding: 40px 20px;
    text-align: center;
    width: 100%;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}
.com_box h3 {
    font-size: 46px;
}
.com_box p {
    font-size: 26px;
    margin-top: 5px;
}
/********************/
.com_bg_gray {
    background-color: #f8f7f5;
    margin-top: -160px;
    position: relative;
    z-index: 500;
}
.company_table {
    border-top: 1px solid rgba(0, 0, 0, 0.5);
}
.company_table li {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(0, 0, 0, 0.5);
    padding: 30px 0;
}
.com_cell1 {
    width: 335px;
    line-height: 2.4em;
    padding-left: 30px;
}
.com_cell2 {
    width: calc(100% - 335px);
    line-height: 2.4em;
}
/*********************/
.com_his_table {
    border-left: 2px solid #2e2927;
    padding-left: 30px;
}
.com_his_table li {
    display: flex;
    justify-content: space-between;
    margin: 25px 0;
}
.com_his_cell1 {
    width: 170px;
}
.com_his_cell2 {
    width: calc(100% - 170px);
}
/********************/
.border_gray {
    border: 1px solid #2e2927;
}
.com_logo {
    text-align: center;
}
.banar_first {
    text-align: center;
}
.group_logo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 600px;
    margin: 80px auto 0;
}
/************/
.map_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.map_left {
    width: 42%;
}
.map_right {
    width: 55%;
}
.item_center {
    align-items: center;
}
.map iframe {
    width: 100%;
    height: 550px;
}

.link_list {
    display: flex;
    justify-content:space-between;
}
.link_list li{
    width: 48%;
    text-align: center;
}
.link_list.column1 {
	justify-content: center;
}
.link_list a{
    display: block;
    border: 3px solid rgba(175,175,175,0.5);
    padding: 20px 0;
    height: 7em;
}
.link_list li:nth-child(2) img{
    height: 70px;
    width: auto;
}
/***************************************************************

    採用情報

***************************************************************/
#recruit_main {
    background: url("../images/recruit1.jpg") 50% 0/cover no-repeat;
}
/***************************************************************

    お問い合わせ・資料請求

***************************************************************/
#contact_main {
    background: url("../images/contact1.jpg") 50% 0/cover no-repeat;
}
/*********************/
.con_width {
    width: 100%;
    max-width: 600px;
    margin-left: auto;
}
/********************/
#contact_bg {
    background: url("../images/contact3.jpg") 50% 0/cover no-repeat;
    color: #FFF;
}
.c_tel {
    font-size: 30px;
}
.c_tel span {
    margin-left: 15px;
    font-size: 46px;
}
.contact_form li {
    display: flex;
    justify-content: space-between;
    margin: 50px 0;
}
.c_cell1 {
    width: 320px;
    position: relative;
    padding-left: 60px;
    padding-top: 15px;
}
.c_cell2 {
    width: calc(100% - 320px);
}
.hissu {
    background-color: #e71a0f;
    color: #FFF;
    padding: 0 5px;
    font-size: 14px;
    display: inline-block;
    line-height: 1.5em;
    position: absolute;
    top: 19px;
    left: 0;
}
.size, .area {
    width: 100%;
    background-color: #FFF;
    padding: 10px;
    border: 0;
}
.size {
    height: 60px;
}
.area {
    height: 250px;
}
.select_size {
    width: 100%;
    max-width: 250px;
}
.radio_box {
    margin-top: 15px;
}
.radio_box label {
    margin-right: 50px;
    cursor: pointer;
}
.add_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 480px;
}
.add_left {
    width: calc(100% - 180px);
}
.add_right {
    width: 160px;
}
.add_right button {
    width: 160px;
    display: block;
    text-align: center;
    padding: 10px;
    background-color: #2e2927;
    color: #FFF;
}
.padding40_40 {
    padding: 40px;
}
.indent_list li {
    padding-left: 16px;
    text-indent: -1.1em;
    margin: 7px 0;
}
.pri_a {
    color: #2e2927;
    border-bottom: 1px solid #2e2927;
}
.sub {
    width: 180px;
    margin-left: auto;
    margin-right: auto;
}
.sub input {
    border: 0;
    background-color: #2e2927;
    text-align: center;
    width: 100%;
    padding: 20px;
    color: #FFF;
}
/***************************************************************

    来場予約

***************************************************************/
#visit_main {
    background: url("../images/visit1.jpg") 50% 0/cover no-repeat;
}
/*********************/
.img_list3 {
    display: flex;
    justify-content: space-between;
}
.img_list3 li {
    width: 33.33%;
}
/****************/
.visit_bg {
    background-color: #f8f7f5;
    padding: 110px 20px;
}
/****************/
#visit_bg {
    background: url("../images/visit5.jpg") 50% 0/cover no-repeat;
    color: #FFF;
}
.visit_flex {
    display: flex;
    justify-content: space-between;
    /*align-items: center;*/
}
.visit_left {
    width: 54%;
}
.visit_border {
    border-top: 2px solid #e71a0f;
    border-bottom: 2px solid #e71a0f;
    padding: 30px 0;
}
.visit_right {
    width: 40%;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 45px;
    text-align: center;
    height:80%;/*追加*/
}
.v_tel {
    font-size: 18px;
}
.v_tel span {
    font-size: 30px;
}
/************/
.hope_flex {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 40px);
}
.hope_cell {
    width: calc(33.33% - 40px);
    position: relative;
}
.hope_p {
    padding-left: 15px;
    position: absolute;
    right: -60px;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
}
.text_flex_box {
    display: flex;
    justify-content: center;
}
.text_table li p:nth-child(1) {
    flex: 0.03;
}
.text_table li p:nth-child(2) {
    flex: 0.97;
}
/***************************************************************

    家づくりを検討される方へ

***************************************************************/
#consider_main {
    background: url("../images/consider1.jpg") 50% 0/cover no-repeat;
}
/*********************/
.consider_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.consider_list li {
    width: 19%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 30px 0;
}
.consider_bg {
    background: url("../images/consider2.jpg") 50% 0/cover no-repeat;
    width: 100%;
    max-width: 205px;
    margin: 0 auto;
    height: 205px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding-top: 10px;
    font-weight: bold;
    font-size: 14px;
}
/***********/
.padding80_80 {
    padding: 80px;
}
/***************************************************************

    プライバシーポリシー

***************************************************************/
#privacy_main {
    background: url("../images/privacy1.jpg") 50% 0/cover no-repeat;
}
/*********************/
.pri_box {
    padding: 20px 0 0 25px;
}
.pri_box p {
    line-height: 2.4em;
}
.pri_border {
    border: 1px solid #2e2927;
    padding: 40px;
    width: 100%;
    max-width: 600px;
}
.indent_p {
    text-indent: -0.7em;
    padding-left: 13px;
}
/************************************************************

    モデルルーム詳細

***********************************************************/
#roomList {
    display: flex;
    flex-wrap: wrap;
}
#roomList li {
    width: 16.23%;
    margin: 0.2%;
    cursor: pointer;
    position: relative;
}
.model_table {
    display: flex;
    justify-content: space-between;
}
.model_table li {
    width: 33.33%;
}
.model_table.column2 li {
    width: 50%;
}
.model_cell1 {
    background-color: #e71a0f;
    padding: 20px;
    text-align: center;
    font-weight: bold;
    color: #FFF;
    border: 1px solid #FFF;
}
.model_cell2 {
    border: 1px solid #e71a0f;
    padding: 20px;
    text-align: center;
}
/******/
.model_add li {
    display: flex;
    justify-content: space-between;
    margin: 5px 0;
}
.add_cell1 {
    width: 200px;
    padding: 20px;
    background-color: #f1f1f1;
}
.add_cell2 {
    width: calc(100% - 210px);
    padding: 20px;
    border: 1px solid #f1f1f1;
}
.add_map iframe {
    width: 100%;
    height: 500px;
}
/************************************************************

    施工事例

***********************************************************/
.work_box {
    margin-top: 10px;
    background-color: #f1f1f1;
    padding: 40px;
}
.work_title {
    font-weight: bold;
    margin-bottom: 15px;
    text-align: center;
    font-size: 22px;
}
/************************************************************

    土地情報

***********************************************************/
.land_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.land_list li {
    width: 48%;
    margin: 2% 0;
}
.land_list a {
    display: block;
    padding: 20px;
    border: 2px solid #e5e5e5;
    color: #000;
}
.land_flex {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    font-size: 14px;
}
.land_left {
    width: 35%;
}
.land_right {
    width: 61%;
}
.land_table {
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
}
.land_cell1 {
    width: 80px;
}
.land_cell2 {
    width: calc(100% - 80px);
}
.land_title {
    font-weight: bold;
}
/******/
.area_add {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.area_add li {
    width: 50%;
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}
.area_add li.w100 {
    width: 100%;
}
.area_cell1 {
    width: 100px;
    padding: 10px;
    background-color: #f1f1f1;
}
.area_cell2 {
    width: calc(100% - 100px);
    padding: 10px;
    border: 1px solid #f1f1f1;
}
.area_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 30px;
}
.area_list li {
    width: 33.33%;
}
.area_list li:nth-child(n+4) {
    width: 25%;
}
.area_list li:nth-child(4) .area_p1, .area_list li:nth-child(7) .area_p1 {
    border-right: 0;
}
.area_p1 {
    background-color: #e71a0f;
    color: #FFF;
    padding: 5px;
    text-align: center;
    font-weight: bold;
    border-right: 1px solid #FFF;
    font-size: 14px;
}
.area_p2 {
    border: 1px solid #e71a0f;
    padding: 5px;
    text-align: center;
    font-size: 13px;
}
/*************************************************/
.info_list {
    display: flex;
    justify-content: space-between;
}
.info_list li {
    width: 32.33%;
}
.info_list a {
    border: 1px solid #2e2927;
    display: block;
    padding: 15px;
    text-align: center;
    color: #2e2927;
    transition: 0.3s ease-in-out;
}
.info_list a:hover {
    background-color: #e71a0f;
    color: #FFF;
    border-color: #e71a0f;
}
.info_list li.info_now a {
    background-color: #e71a0f;
    color: #FFF;
    border-color: #e71a0f;
}
.link_text{
    text-align: center;
    font-size: 21px;
}
.link_text::after{
    content: "";
    width: 100px;
    border-bottom: 1px solid #e71a0f;
    margin: 5px auto 20px; 
    display: block;
}
/******************************************************************************

    賃貸物件

******************************************************************************/

/**slick**/
.slider1 li {
    text-align: center;
    float: left;
    position: relative;
    z-index: 500;
}
.slider1 li {
    text-align: left;
}
.slider2 {
    display: flex;
    flex-wrap: wrap;
}
.slider2 li{
    width: 19%;
    margin: 0.5%;
}
/******/
.corona_text{
    max-width: 998px;
    width: 95%;
    margin: 100px auto 0;
    background-color: #FCE5E7;
    border: 1px solid #ED4C58;
    padding: 50px 30px;
}
.corona_text p:nth-child(1){
    text-align: center;
    font-size: 24px;
    font-weight: bold;
}
.corona_text p:nth-child(2){
    font-size: 17px;
    line-height: 1.9;
}
/* PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px) and (max-width: 1500px) {
    #main_box, .flexslider, #fade1, #fade2, #fade3 {
        height: 650px;
    }
    .main_banar {
        left: 20px;
        bottom: 20px;
        z-index: 999;
    }
    #side_bar {
        top: 120px;
        transform: translateY(0);
    }
}
@media only screen and (max-width: 1024px) {
    .padding100 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .padding110 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .padding120 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .padding130 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .padding140 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .padding150 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .padding160 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .padding180 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .margin150 {
        margin-top: 80px;
        margin-bottom: 80px;
    }
    .pt-130 {
        padding-top: 80px;
    }
    .pt-150 {
        padding-top: 80px;
    }
    .pt-180 {
        padding-top: 80px;
    }
    .pb-130 {
        padding-bottom: 80px;
    }
    .pb-140 {
        padding-bottom: 80px;
    }
    .pb-150 {
        padding-bottom: 80px;
    }
    .pb-200 {
        padding-bottom: 80px;
    }
    .pb-230 {
        padding-bottom: 80px;
    }
    .pb-290 {
        padding-bottom: 80px;
    }
    .mt-120 {
        margin-top: 80px;
    }
    .mt-150 {
        margin-top: 80px;
    }
    .mb-150 {
        margin-bottom: 80px;
    }
    .mb-260 {
        margin-bottom: 80px;
    }
    .item_center1024 {
        align-items: flex-start;
    }
    /*******************/
    .nav_box li > a {
        font-size: 16px;
    }
    .nav_box li > .m_span {
        font-size: 16px;
    }
    .nav_mini a {
        font-size: 14px;
    }
    /*************/
.top_case_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 30px;
}
    .top_case_list li a {
        display: block;
        position: relative;
        color: #2e2927;
    }
    .top_case_list li a:hover .hov_box {
        transform: scale(1);
    }
    .top_case_list.top_list_none7 li:nth-child(n+7) {
        display: none;
    }
    .hov_box {
        background-color: none;
        height: auto;
        position: static;
        display: block;
        text-align: left;
        transform: scale(1);
        margin-top: 15px;
    }
    .hov_box .eng {
        font-size: 12px;
    }
    .hov_box .ja {
        font-size: 14px;
    }
    /***************************/
    .top_left {
        width: 55%;
    }
    .top_left.calc_pr .top_calc {
        padding-right: 40px;
        padding-left: 120px;
    }
    .top_right {
        width: 45%;
    }
    .top_calc {
        padding: 30px 40px;
        width: calc(100% + 70px);
        padding-right: 100px;
    }
    .midashi30 {
        font-size: 26px;
    }
    /***********************/
    .info_flex {
        display: block;
    }
    .info_left {
        width: 100%;
        display: block;
        height: auto;
        text-align: center;
    }
    .info_center {
        width: 100%;
        border-left: 0;
        padding: 0;
        margin: 40px 0;
    }
    .info_right {
        margin: 0 auto;
    }
    /***************************************************************

    コンセプト

***************************************************************/
    /***********************/
    .c_list li {
        width: 32.33%;
        padding: 35px 20px;
    }
    /**************************/
    .under_box h3 {
        font-size: 24px;
    }
    /***************************************************************

    来場予約

***************************************************************/
    .visit_flex {
        display: block;
    }
    .visit_left {
        width: 100%;
    }
    .visit_right {
        width: 100%;
        padding: 30px;
        margin-top: 40px;
    }
    /***************************************************************

    家づくりを検討される方へ

***************************************************************/
    .consider_list li {
        width: 32.33%;
    }
    .group_logo li {
        margin: 20px 20px 0;
    }
    /************/
    .map_flex {
        display: block;
    }
    .map_left {
        width: 100%;
    }
    .map_right {
        width: 100%;
        margin-top: 40px;
    }
    .map iframe {
        width: 100%;
        height: 300px;
    }
    /************************************************************

    土地情報

***********************************************************/
    .area_list li {
        width: 50%;
    }
    .area_list li:nth-child(n+4) {
        width: 50%;
    }
    /************************************************************

    会社概要

***********************************************************/
.link_list li:nth-child(1) img{
    height:40px;
    width: auto;
}
.link_list li:nth-child(2) img{
    height: 40px;
    width: auto;
}

}
@media only screen and (max-width: 740px) {
    .flex_43 {
        width: 100%;
    }
    .flex_46 {
        width: 100%;
    }
    .flex_48 {
        width: 100%;
    }
    .flex_50 {
        width: 100%;
    }
    .flex_54 {
        width: 100%;
    }
    .padding100 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .padding110 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .padding120 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .padding130 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .padding140 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .padding150 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .padding160 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .padding180 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .margin150 {
        margin-top: 60px;
        margin-bottom: 60px;
    }
    .pt-130 {
        padding-top: 60px;
    }
    .pt-150 {
        padding-top: 60px;
    }
    .pt-180 {
        padding-top: 60px;
    }
    .pb-130 {
        padding-bottom: 60px;
    }
    .pb-140 {
        padding-bottom: 60px;
    }
    .pb-150 {
        padding-bottom: 60px;
    }
    .pb-200 {
        padding-bottom: 60px;
    }
    .pb-230 {
        padding-bottom: 60px;
    }
    .pb-290 {
        padding-bottom: 60px;
    }
    .mt-120 {
        margin-top: 60px;
    }
    .mt-150 {
        margin-top: 60px;
    }
    .mb-150 {
        margin-bottom: 60px;
    }
    .mb-260 {
        margin-bottom: 60px;
    }
    /*****************************/
    #cy_hedaer {
        top: 20px;
        left: 5px;
    }
    #main_box, .flexslider, #fade1, #fade2, #fade3 {
        height: 550px;
    }
    #logo img {
        width: 200px;
        height: auto;
    }
    .title_box {
        width: 300px;
        height: 305px;
    }
    .title_box h2 {
        padding-top: 30px;
    }
    .title_box h2 .big {
        font-size: 26px;
    }
    .title_box h2 .inline_span {
        font-size: 20px;
        padding-top: 15px;
        padding-right: 10px;
    }
    .main_banar {
        left: 20px;
        bottom: 20px;
    }
    .main_banar a {
        width: 270px;
        padding: 20px 20px;
        font-size: 14px;
    }
    .main_banar a img {
        bottom: 5px;
        right: -40px;
        width: 100px;
        height: auto;
    }
    #side_bar {
        position: fixed;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 999;
        writing-mode: vertical-rl;
        display: flex;
        height: 435px;
    }
    #side_bar li {
        width: 50px;
        position: relative;
        margin: 10px 0;
    }
    #side_bar li:nth-child(1) {
        background-color: #2e2927;
    }
    #side_bar li:nth-child(2) {
        background-color: #e71a0f;
    }
    #side_bar li:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 400;
        background-color: rgba(255, 255, 255, 0.16);
        transform-origin: right top;
        transform: scale(0, 1);
        transition: transform .3s;
    }
    #side_bar a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        color: #FFF;
        padding: 15px 0;
        position: relative;
        z-index: 500;
    }
    #side_bar span {
        display: inline-block;
        margin-top: 15px;
    }
    #side_bar img, #side_bar span {
        position: relative;
        z-index: 5000;
    }
    /**************************************
	メニューオープン
***************************************/
    #center_box {
        padding: 140px 0;
    }
    /**************************************
	MENU ANIMATION
***************************************/
    .menu_contact {
        display: block;
    }
    .menu_contact li {
        width: 100%;
    }
    .menu_contact a {
        padding: 20px 10px;
        font-size: 16px;
        margin: 10px 0;
    }
    .menu_contact li:nth-child(2) a {
        background-color: #e71a0f;
    }
    /******/
    .nav_box {
        display: block;
    }
    .nav_box ul {
        width: 100%;
    }
	.nav_box.column2 ul {
		width: 100%;
	}
    .nav_box li > a {
        padding: 10px 15px;
        margin: 10px 0;
        font-size: 14px;
    }
    .nav_box li > .m_span {
        padding: 10px 15px;
        margin: 10px 0;
        font-size: 14px;
    }
    .nav_mini {
        padding-left: 20px;
        padding-top: 10px;
        margin-bottom: 15px;
    }
    .nav_mini a {
        font-size: 14px;
        margin-bottom: 10px;
    }
    /*****************************/
    #side_bar {
        height: auto;
        writing-mode: horizontal-tb;
        width: 100%;
        top: auto;
        transform: translateY(0);
        bottom: 0;
    }
    #side_bar li {
        width: 60%;
        margin: 0;
    }
    #side_bar li:nth-child(2) {
        width: 40%;
    }
    #side_bar a {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px 0;
        letter-spacing: 0;
    }
    #side_bar img {
        height: 13px;
        width: auto;
        margin-right: 10px;
        position: relative;
        top: -1px;
    }
    #side_bar span {
        margin-top: 0;
    }
    /*****************************/
    /*****************************/
    .top_n_flex {
        display: block;
    }
    .top_n_left {
        width: 100%;
    }
    .top_n_right {
        width: 100%;
        margin-top: 30px;
    }
    .eng_midashi {
        font-size: 24px;
    }
    .news a {
        margin: 20px 0;
        padding: 5px 0 5px 15px;
    }
    .n_time {
        font-size: 14px;
        margin-top: 10px;
    }
    .n_cate {
        font-size: 12px;
        width: 80px;
    }
    /************************/
    .midashi38 {
        font-size: 22px;
    }
    .model_list {
        display: flex;
        justify-content: space-between;
    }
    .model_list li {
        width: 49%;
        margin: 20px 0;
    }
    .model_list.top_model li:nth-child(n+3) {
        display: none;
    }
    .model_view {
        display: none;
    }
    /*************/
.top_case_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    row-gap: 20px;
}
    .hov_box {
        margin-top: 10px;
    }
    .hov_box .eng {
        font-size: 10px;
    }
    .hov_box .ja {
        font-size: 14px;
    }
    /***************************/
    .top_flex {
        display: block;
        background-color: #FFF;
        padding: 40px 20px;
    }
    .top_left {
        width: 100%;
        padding-left: 0;
    }
    .top_left.calc_pr {
        padding-left: 0;
        padding-right: 0;
    }
    .top_left.calc_pr .top_calc {
        padding-right: 0;
        padding-left: 0;
        left: 0;
    }
    .top_right {
        width: 100%;
        margin-top: 30px;
    }
    .top_calc {
        padding: 0;
        width: 100%;
        padding-right: 0;
    }
    .bb_eng {
        font-size: 14px;
    }
    .bb_eng:after {
        width: 20px;
    }
    .midashi30 {
        font-size: 20px;
    }
    /***********************/
    .flex_box {
        display: block;
    }
    /***********************/
    .info_center {
        margin: 30px 0;
    }
    .info_center ul {
        display: flex;
        justify-content: space-between;
    }
    .info_center ul li {
        width: 90px;
        height: 90px;
        font-size: 17px;
    }
    /***********************/
    /****************************/
    .f_bg {
        padding: 60px 0 40px;
    }
    .f_logo img {
        width: 230px;
        height: auto;
    }
    .f_tel {
        margin-top: 10px;
        font-size: 14px;
        letter-spacing: 0;
    }
    .f_tel .big {
        font-size: 20px;
    }
    .copy {
        padding: 20px 14px;
    }
    /***************************************************************

    コンセプト

***************************************************************/
    .main_size {
        height: 300px;
    }
    .title_in {
        line-height: 1.5em;
        font-size: 28px;
        padding-top: 50px;
    }
    .title_in span {
        font-size: 16px;
    }
    /************************/
    .midashi46 {
        font-size: 24px;
    }
    .c_text {
        line-height: 2.8em;
        margin-top: 30px;
        font-size: 14px;
        width: 100%;
    }
    #c_img1 {
        display: none;
    }
    #c_img2 {
        display: none;
    }
    #c_img3 {
        display: none;
    }
    /***********************/
    #c_bg {
        background: url("../images/concept5.jpg") 50% bottom/cover no-repeat;
        padding: 60px 0;
        margin-top: 0;
    }
    .c_list {
        display: block;
    }
    .c_list li {
        width: 100%;
        padding: 35px 20px;
        margin: 10px 0;
    }
    .c_list h3 {
        font-size: 22px;
    }
    .c_list h3 span {
        width: 40px;
        height: 40px;
    }
    .c_list p {
        margin-top: 20px;
        line-height: 1.8em;
    }
    /****************************/
    .c_list2 {
        display: block;
    }
    .c_list2 li {
        width: 100%;
        margin: 1% 0;
        height: 300px;
        padding: 0 10px;
    }
    .c_list2 h3 {
        font-size: 26px;
    }
    .c_list2 h3:after {
        width: 25px;
        margin: 5px auto 0;
        display: block;
    }
    .c_list2 p {
        margin-top: 20px;
    }
    /**************************/
    .under_flex {
        display: block;
    }
    .under_box {
        width: 100%;
        border: 2px solid #e71a0f;
        padding: 40px 10px;
        margin: 20px 0;
    }
    .under_box h3 {
        font-size: 20px;
    }
    .under_more {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
        position: relative;
    }
    .under_more:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 400;
        background-color: rgba(231, 26, 15, 0.5);
        transform-origin: right top;
        transform: scale(0, 1);
        transition: transform .3s;
    }
    .under_more a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        color: #FFF;
        padding: 15px 0;
        position: relative;
        z-index: 500;
        border: 1px solid #FFF;
    }
    .under_more:hover:after {
        transform-origin: left top;
        transform: scale(1, 1);
    }
    /***************************************************************

    工法と構造

***************************************************************/
    .midashi34 {
        font-size: 22px;
    }
    /*********/
    .padding80 {
        padding: 30px 0;
    }
    .midashi22 {
        font-size: 18px;
    }
    .padding40 {
        padding: 20px 0;
    }
    .me_table th, .me_table td {
        padding: 10px 10px;
        font-size: 12px;
    }
    .me_table th {
        width: 75px;
    }
    .me_table td {
        border: 1px solid #414141;
        font-size: 12px;
        width: auto;
    }
    /****************/
    .me_left {
        width: 100%;
    }
    .me_right {
        width: 100%;
    }
    /**************/
    .me_left2 {
        width: 100%;
    }
    .me_right2 {
        width: 100%;
        margin-top: 100px;
    }
    .me_right2:after {
        width: 46px;
        height: 37px;
        position: absolute;
        left: 50%;
        top: -70px;
        transform: translateX(-50%) rotate(90deg);
    }
    /***************************************************************

    家づくりの流れ

***************************************************************/
    .padding60 {
        padding: 30px 0;
    }
    .ml_minus {
        margin-left: -10px;
    }
    .flex_bpx {
        display: block;
    }
    .flow_bl_box {
        padding: 20px 0 20px 30px;
    }
    .bg_midashi_inline {
        padding: 5px 15px;
        font-size: 16px;
        left: -15px;
    }
    /***************************************************************

    保証・サポート

***************************************************************/
    .support_link a {
        padding: 20px 10px 25px;
        font-size: 15px;
    }
    .support_link span {
        margin-left: 10px;
        position: relative;
        top: 5px;
    }
    .support_link img {
        width: 40px;
        height: auto;
    }
    /********************/
    .support_list {
        display: block;
    }
    .support_list li {
        width: 100%;
        margin: 20px 0;
    }
    .support_list h3 {
        margin-top: 15px;
        padding: 5px 0 5px 20px;
        font-size: 16px;
    }
    .support_list p {
        padding: 10px 0 0 20px;
        line-height: 1.8em;
    }
    /***************************************************************

    事業紹介

***************************************************************/
    .bu_flex {
        display: block;
    }
    .bu_midashi {
        font-size: 20px;
    }
    .bu_midashi span:after {
        bottom: -10px;
    }
    .bu_left {
        width: 100%;
        position: relative;
    }
    .bu_right {
        width: 100%;
        margin-top: 3px;
    }
    .bu_right .img100 {
        width: 100%;
    }
    .bu_right .bu_midashi {
        right: -20px;
        width: 100%;
        max-width: 200px;
    }
    /***/
    .bu_left2 {
        width: 100%;
        margin-top: 3px;
    }
    .bu_left2 .img100 {
        width: 100%;
        overflow: hidden;
        margin-left: auto;
    }
    .bu_left2 .bu_midashi {
        left: 40px;
    }
    .bu_left2 .bu_midashi span:after {
        width: calc(100% + 50px);
        left: -50px;
    }
    .bu_right2 {
        width: 100%;
        margin-top: 3px;
    }
    .bu_right2 .bu_midashi {
        max-width: 200px;
    }
    /****************/
    .midashi28 {
        font-size: 20px;
    }
    /***************/
    .bg_midashi {
        font-size: 18px;
        padding: 10px 10px;
    }
    /*******************/
    .history_table {
        display: block;
    }
    .history_table li {
        width: 100%;
        display: block;
    }
    .his_cell1 {
        width: 100%;
        font-weight: bold;
        font-size: 14px;
    }
    .his_cell2 {
        width: 100%;
        font-size: 12px;
        margin-top: 10px;
    }
    .his_cell2 p {
        line-height: 2em;
    }
    /****/
    .admin_table li {
        display: block;
    }
    .admin_cell1 {
        width: 100%;
        font-weight: bold;
        font-size: 14px;
    }
    .admin_cell2 {
        width: 100%;
        font-size: 12px;
        margin-top: 10px;
    }
    .admin_flex {
        display: block;
    }
    .admin_flex p {
        line-height: 2em;
        width: 100%;
    }
    /***************************************************************

    会社概要

***************************************************************/
    #com_bg {
        padding: 60px 0 60px;
    }
    .com_box {
        padding: 40px 20px;
        max-width: 100%;
    }
    .com_box h3 {
        font-size: 26px;
    }
    .com_box p {
        font-size: 18px;
        margin-top: 5px;
    }
    /********************/
    .com_bg_gray {
        margin-top: -20px;
    }
    .company_table {
        border-top: 1px solid rgba(0, 0, 0, 0.5);
    }
    .company_table li {
        display: block;
        padding: 20px 0;
    }
    .com_cell1 {
        width: 100%;
        line-height: 2em;
        padding-left: 0;
        font-weight: bold;
        font-size: 16px;
    }
    .com_cell2 {
        width: 100%;
        line-height: 2em;
        margin-top: 5px;
    }
    /*********************/
    .com_his_table {
        border-left: 2px solid #2e2927;
        padding-left: 30px;
    }
    .com_his_table li {
        display: block;
        margin: 25px 0;
    }
    .com_his_cell1 {
        width: 100%;
        font-weight: bold;
    }
    .com_his_cell2 {
        width: 100%;
        margin-top: 5px;
    }
    /********************/
    .com_logo {
        text-align: center;
    }
    .com_logo img {
        width: 240px;
        height: auto;
    }
    .group_logo {
        display: flex;
        text-align: center;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 40px;
    }
    .group_logo li {
        margin: 10px 0;
    }
    .group_logo img {
        display: block;
        transform: scale(0.7);
    }

.banar_first img{
    width: 100%;
    height: auto;
    max-width: 400px;
    margin-top: 20px;
}
.link_list {
    display: block;
}
.link_list li{
    width: 100%;
    margin: 10px 0;
}
.link_list li:nth-child(1) img{
    height:35px;
}
.link_list li:nth-child(2) img{
    height: 40px;
}

    
    /***************************************************************

    お問い合わせ・資料請求

***************************************************************/
    .con_width {
        width: 100%;
        max-width: 100%;
    }
    /********************/
    .c_tel {
        font-size: 18px;
    }
    .c_tel span {
        margin-left: 10px;
        font-size: 30px;
    }
    .contact_form li {
        display: block;
        margin: 50px 0;
    }
    .c_cell1 {
        width: 100%;
        position: relative;
        padding-left: 0;
        padding-top: 0;
        font-weight: bold;
        border-bottom: 1px solid rgba(0, 0, 0, 0.4);
        padding-bottom: 10px;
    }
    .c_cell2 {
        width: 100%;
        margin-top: 15px;
    }
    .hissu {
        font-size: 12px;
        top: 2px;
        left: auto;
        right: 0;
    }
    .size {
        height: 50px;
    }
    .area {
        height: 150px;
    }
    .radio_box label {
        display: block;
        margin-right: 0;
        margin: 5px 0;
    }
    .padding40_40 {
        padding: 20px;
    }
    /***************************************************************

    来場予約

***************************************************************/
    .img_list3 {
        display: block;
    }
    .img_list3 li {
        width: 100%;
    }
    /****************/
    .visit_bg {
        padding: 20px;
    }
    /****************/
    .visit_border {
        padding: 20px 0;
    }
    .visit_right {
        padding: 30px 10px;
        margin-top: 40px;
    }
    .v_tel {
        font-size: 16px;
    }
    .v_tel span {
        font-size: 24px;
    }
    /************/
    .hope_flex {
        display: flex;
        justify-content: space-between;
        width: calc(100% - 20px);
    }
    .hope_cell {
        width: calc(33.33% - 17px);
    }
    .hope_p {
        padding-left: 15px;
        right: -40px;
        width: 50px;
    }
    /***************************************************************

    家づくりを検討される方へ

***************************************************************/
    .consider_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .consider_list li {
        width: 49%;
        margin: 10px 0;
    }
    .consider_list img {
        width: 150px;
        height: auto;
    }
    .consider_bg {
        max-width: 180px;
        margin: 0 auto;
        height: 150px;
        padding-top: 10px;
        font-size: 13px;
    }
    /***********/
    .padding80_80 {
        padding: 20px;
    }
    /***************************************************************

    プライバシーポリシー

***************************************************************/
    .pri_box {
        padding: 15px 0 0 15px;
    }
    .pri_box p {
        line-height: 2em;
    }
    .pri_border {
        padding: 20px 30px;
    }
    /************************************************************

    モデルルーム詳細

***********************************************************/
    #roomList {
        margin-top: 1%;
    }
    #roomList li {
        width: 19.4%;
        margin: 0.3%;
    }
    .model_cell1 {
        padding: 15px 5px;
    }
    .model_cell2 {
        padding: 15px 5px;
    }
    /******/
    .model_table {
        display: block;
    }
    .model_table li {
        width: 100%;
    }
    .model_table.column2 li {
        width: 100%;
    }
    .model_cell1 {
        padding: 10px;
    }
    .model_cell2 {
        border: 1px solid #e71a0f;
        padding: 10px;
        text-align: center;
    }
    /******/
    .model_add li {
        display: flex;
        justify-content: space-between;
        margin: 3px 0;
    }
    .add_cell1 {
        width: 110px;
        padding: 10px;
    }
    .add_cell2 {
        width: calc(100% - 115px);
        padding: 10px;
    }
    .add_map iframe {
        height: 300px;
    }
    /************************************************************

    土地情報

***********************************************************/
    .land_list {
        display: block;
    }
    .land_list li {
        width: 100%;
        margin: 20px 0;
    }
    .land_list a {
        padding: 10px;
    }
    .land_flex {
        display: flex;
        justify-content: space-between;
        margin-top: 10px;
        font-size: 12px;
    }
    .land_left {
        width: 100px;
    }
    .land_right {
        width: calc(100% - 120px);
    }
    .land_cell1 {
        width: 60px;
    }
    .land_cell2 {
        width: calc(100% - 60px);
    }
    /******/
    .area_add {
        display: block;
        margin-top: 40px;
    }
    .area_add li {
        width: 100%;
        display: flex;
        justify-content: space-between;
        font-size: 12px;
    }
    .area_add li.w100 {
        width: 100%;
    }
    .area_cell1 {
        width: 90px;
    }
    .area_cell2 {
        width: calc(100% - 90px);
    }
    .area_p1 {
        padding: 5px;
        font-size: 12px;
    }
    .area_p2 {
        font-size: 12px;
    }
    .link_list li:nth-child(2){
        margin-top: 20px;
    }
    .link_text{
        font-size: 17px;
    }
    .corona_text{
        padding: 30px 20px;
        margin: 50px auto 0;
    }
    .corona_text p:nth-child(1){
        font-size: 18px;
    }
    .corona_text p:nth-child(2){
        font-size: 14px;
    }
}
/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width: 480px) {
    .group_banar {
        display: block;
    }
    .group_banar li {
        width: 100%;
        margin: 15px 0;
    }
}