/* 全ページ共通のcss設定 */



/* bootstrap.min.cssのカスタム設定 */

.dropdown .btn:focus, .btn.focus {

    outline: none;

    box-shadow: none;

}

/* ページネーション設定 */

/* 物件一覧、お知らせ、スタッフブログで使用 */

.pagination {

   border: none;

}

.page-link {

   padding: 0.75rem 1rem;

   color: #4082de;

   font-size: 1.5rem;

}

.page-item .page-link {

   border: none;

}

.page-item.active .page-link {

   background-color: #4082de;

}

.page-item.disabled .page-link {

   color: #ddd;

}

/* フォーム設定 */

.form-group {

   margin-bottom: 2rem;

}

.form-control {

   color: #404040;

   background-color: #f1f1f1;

   border: 1px solid #ccc;

   border-radius: 0;

}

.form-control:focus {

   color: #404040;

   background-color: #f1f6ff;

   border-color: #4082de;

   outline: 0;

   box-shadow: none;

}

 

 

/* body,header,footer */



body {

   font-family: 'Noto Sans JP', sans-serif;

   color: #404040;

}





body a {

    color: #404040;

}

body a:hover {

    color: #4082de;

    text-decoration: none;

}

body a:active {

    color: #fff;

    background-color: #85b3f3;

}



h1 {

    color: #404040;

    padding: 0 0 2px 10px;

    border-left: 9px solid #4082de;

    border-bottom: 2px solid #4082de;

}

.heading h1 {

    font-size: 1.5rem;

}

.heading_small h1 {

    font-size: 1.125rem;

    padding: 0 0 2px 7px;

}

h1 > span {

    color: #4082de;

    font-size: 0.75rem;

    margin-left: 7px;

    vertical-align: 2px;

}

h2 {

    color: #404040;

    font-size: 1.125rem;

    margin-bottom: 1rem;

    /* 見出し文の右側に横線を引く */

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -webkit-align-items: center;

        -ms-flex-align: center;

            align-items: center;

    text-align: center;

    -webkit-box-pack: center;

    -webkit-justify-content: center;

        -ms-flex-pack: center;

            justify-content: center;

}

/* 右側横線の設定 */

h2:after {

    content: '';

    -webkit-box-flex: 1;

    -webkit-flex-grow: 1;

        -ms-flex-positive: 1;

            flex-grow: 1;

    height: 1px;

    background: #808080;

    min-width: 20px;

    display: inline-block;

    vertical-align: middle;



    /* 見出し文と横線の隙間の幅 */

    margin-left: 0.5rem;

}



h3 {

    color: #404040;

    font-size: 1rem;

    margin-left: 0.5rem;

    margin-top: 0.5rem;

    padding-left: 0.5rem;

    border-left: 2px solid #4082de;

}

h4 {

    color: #808080;

    font-size: 1rem;

    margin-left: 2rem;

    padding-left: 0.5rem;

}



.bg-dot {

    background-image: url("../images/bg_dot.png");

    background-repeat: repeat;

    background-attachment: scroll;

    background-position: right bottom

}



.img-pc {

    display: block;

}

.img-sp {

    display: none;

}



/* 行頭に三角形（右向き） */

.triangle_right:before {

    content: '';

    display: inline-block;

    width: 0;

    height: 0;

    margin-right: -2px;

    margin-left: 0px;

    border: transparent solid 6px;

    border-left-color: #f00;

}

/* 行頭に三角形（左向き） */

.triangle_left:before {

    content: '';

    display: inline-block;

    width: 0;

    height: 0;

    margin-left: -2px;

    margin-right: 0.5rem;

    border: transparent solid 6px;

    border-right-color: #f00;

}



/* 行末に三角形（右向き） */

.triangle_right_after:after {

    content: '';

    display: inline-block;

    width: 0;

    height: 0;

    margin-left: 5px;

    margin-right: 0px;

    border: transparent solid 6px;

    border-left-color: #f00;

}

/* 行末に三角形（下向き） */

.triangle_down:after {

    content: '';

    display: inline-block;

    width: 0;

    height: 0;

    margin-left: 5px;

    margin-right: 0px;

    border-top: 6px solid #f00;

    border-right: 6px solid transparent;

    border-left: 6px solid transparent;

}

/* 行末に三角形（上向き） */

.triangle_up:after {

    content: '';

    display: inline-block;

    width: 0;

    height: 0;

    margin-left: 5px;

    margin-right: 0px;

    border-bottom: 6px solid #f00;

    border-right: 6px solid transparent;

    border-left: 6px solid transparent;

}





/* ヘッダーロゴ設定 */

.header_logo {

    max-height: 35px;

    margin: 5px auto;

    display: block;

}



/* ヘッダー写真設定 */

.himgt1 {
  position: absolute;
  color: white;
  top: 2%;
  left: 30%;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.himgt2 {
  position: absolute;
  color: white;
  top: 52%;
  left: 30%;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.header_photo {

    position: relative;

}

.header_phototop {

    position: relative;

}

.header_photo p {

    position: absolute;

    color: white;

    top: 30%;

    left: 8%;

    margin: 0;

    padding: 0;

    font-size: 1.625rem;

    font-weight:900;

    letter-spacing: 0.1em

    

}

.header_photo img {

    width: 100%;

    height: auto;

}

.header_phototop img {

    width: 100%;

    height: auto;

}

#grobal_navi,

#main_container,

#footer_company_area,

#footer_siteinfo_area {

    max-width: 1200px;

    margin: 0 auto;

}





/* PC版メニュー */

.navi_pc {

    background-image: url("../images/line_dot.png");

    background-repeat: no-repeat;

    background-attachment: scroll;

    background-position: top 10px left;

    margin: 5px 0;

    padding: 0px 0px 0px 10px;

    text-align: center;

    line-height: 1;

}

.navi_last{

    background-image: 

       url("../images/line_dot.png"),

       url("../images/line_dot.png");

    background-repeat:

       no-repeat,

       no-repeat,;

    background-attachment:

       scroll,

       scroll;

    background-position:

     top 10px left,

     top 10px right;

}

.navi_pc span {

    color: #4082de;

    font-size: 0.875rem;

}

.navi_pc div {

    position: relative;

    margin: 0px 5px 0px 0px;

    padding: 10px 0px;

}

.navi_last div {

    margin: 0px 10px 0px 0px;

    padding: 10px;

}

.navi_pc div a {

    color: #404040;

    display: block;

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

}

.navi_pc div:hover {

    background-color: #f9ec1b;

    text-decoration: none;



    /* 文字の影（縁取り用） */

    text-shadow    : 

       2px  2px 0px #fff,

      -2px  2px 0px #fff,

       2px -2px 0px #fff,

      -2px -2px 0px #fff,

       2px  0px 0px #fff,

       0px  2px 0px #fff,

      -2px  0px 0px #fff,

       0px -2px 0px #fff;

}

.navi_pc div a:active {

    background-color:rgba(0,0,0,0);

    text-decoration: none;



}





/* スマホ版メニュー */

.navi_sp {

    background-image: url("../images/bg_dot.png");

    background-repeat: repeat;

    background-attachment: scroll;



    width: 100%;

    height: 106px;

    text-align: center;

    

    padding-left: 0px;

    padding-right: 0px;

    padding-bottom: 6px;

}

.navi_sp button {

    position: relative;



    font-size: 1.125rem;

    letter-spacing: 0.1rem;

    color: #404040;

    background-color: #fff;

    top: 0;

    left: 0;

    width: 100%;

    height: 100px;

    border: 0;

    border-bottom: 1px solid #808080;

    border-radius: 0;

}



.navi_sp .navi_sp_menutitle {

    position: absolute;

    top: 0;

    right: 0;

    bottom: 0;

    left: 0;

    margin: auto;

    margin-top: 20px;

    width: 100%;

    height: 45%;

    line-height: 1.25;

}

.navi_sp .navi_sp_menutitle#navi_sp_menu_company {

    margin-top: 30px;



}

.navi_sp #navi_sp_menu_company {

    height: 25%;

}





/* スマホ版メニュー 下向き矢印 */

.navi_sp_arrow_img {

    position: absolute;

    margin: 5px auto;

    left: 0;

    right: 0;

    bottom: 0;

    width: 20px;

    height: 20px;



}



/* スマホ版メニュー 上向き矢印 */

.navi_sp .show div.navi_sp_arrow  {

    background-image: url("../images/navi_sp_arrow_up.png");

    background-repeat: no-repeat;

    background-attachment: scroll;

    background-position: center bottom;

    background-size: 20px;

    width: 100%;

    height: 100%;



}

.navi_sp .show .navi_sp_arrow_img  {

    display: none;



}



/* スマホ版メニューの区切り線 */

#dropdownMenu2 {

    background-image: url("../images/bg_dot_2line.png");

    background-repeat: repeat-y;

    background-attachment: scroll;

    background-position: left top

}

.navi_sp #navi_sp_menulist_company {

    transform:translateX(-50%);

    -webkit-backface-visibility: hidden; /* 追加 */

    backface-visibility: hidden; /* 追加 */

}



/* スマホ版メニューリスト */

.navi_sp div .dropdown-menu {

    position: relative;

    width: 100vw;

    padding: 1rem 0px 0px 1rem;

    margin: 0;

    background-color: #4082de;

    border: 0;

    border-radius: 0;

}



.dropdown-menu ul {

    list-style: none;

    margin-top: 1.125rem;

    padding-inline-start: 30px;

}



.dropdown-menu ul li {

    background: url("../images/line_dot_white.png") left no-repeat;

    font-size: 1.125rem;

    margin: 0px 0px 2rem;

    background-color: #4082de;

}



.navi_sp div .dropdown-menu a {

    padding: 0px 1rem;

    color: #fff;

    width: 90%;

}



.navi_sp div .dropdown-menu a:hover {

    color: #fff;

    background-color: rgba(255,255,255,0.2);

}



.navi_sp div .dropdown-menu a:active {

    color: #fff;

    background-color: rgba(255,255,255,0.2);

}







/* メインエリア設定 */



#main_container div {

    padding-right: 0;

    padding-left: 0;

}

#main_container .triangle_right:before {

    border-left-color: #4082de;

}





/* ページ送りの設定 */

nav#pagination_area {

    margin-top: 10px;

}



/* フォームの設定 */

div.form-group > label {

    font-weight: 900;

}

div.form-group .required_label {

    font-size: 0.875rem;

    font-weight: 400;

    text-align: center;

    background-color: #f00;

    color: #fff;

    padding: 1px 5px;

    margin-left: 10px;

}



form .submit_btn {

    padding:8px 1rem 10px;

    font-size: 1.125rem;

    color: #fff;

    background-color: #3f80db;

    border: 2px solid #fff;

    box-shadow:1px 1px 5px #aaa;



    background-image:-moz-linear-gradient(

    top,

    #3f80db 0%,

    #346ab4);

 

    background-image:-webkit-gradient(

    linear,left top,left bottom,

    from(#3f80db),

    to(#346ab4));

}



form .submit_btn:hover {

    color: #f1f6ff;

    border-color: #f1f6ff;

}



form .submit_btn:active {

    color: #f1f6ff;

    border-color: #f1f6ff;

    box-shadow: 0px 0px 1px #aaa;



}





/* ラジオボタン01 */

input[type=radio] {

    display: none;

}

.radio_style {

    box-sizing: border-box;

    cursor: pointer;

    display: inline-block;

    padding: 0px 30px;

    position: relative;

    width: auto;

}

.radio_style::before {

    background: #f1f1f1;

    border: 1px solid #ccc;

    border-radius: 50%;

    content: '';

    position: absolute;

    display: block;

    width: 16px;

    height: 16px;

    top: 50%;

    left: 5px;

    margin-top: -8px;

}

.radio_style::before {

    background: #f1f1f1;

    border: 1px solid #ccc;

    border-radius: 50%;

    content: '';

    position: absolute;

    display: block;

    width: 16px;

    height: 16px;

    top: 50%;

    left: 5px;

    margin-top: -8px;

}

.radio_style::after {

    background: #606060;

    border-radius: 50%;

    content: '';

    position: absolute;

    display: block;

    width: 8px;

    height: 8px;

    top: 50%;

    left: 9px;

    margin-top: -4px;

    opacity: 0;

}

input[type=radio]:checked + .radio_style::after {

    opacity: 1;

}

input[type=radio]:checked + .radio_style::before {

    background: #f1f6ff;

    border-color: #4082de;

}





/* テーブルデザインの設定 */

/* 最上部がcolspan=2で大見出し化しているタイプ */

table.table_colspan2 th,

table.table_colspan2 td {

    font-weight: 400;

    font-size: 1rem;

    padding: 0.4rem 1rem;

    vertical-align: middle;

    background-color: #fff;



    /* 1px × 1pxのドットで間隔が3pxの点線を下に表示 */

    background-image: linear-gradient(to right, #4082de, #4082de 1px, transparent 1px, transparent 2px);

    background-size: 3px 1px;

    background-position: bottom;

    background-repeat: repeat-x;

}

table.table_colspan2 th {

    border-left: 1px solid #4082de;

}

table.table_colspan2 td {

    text-align: right;

    border-right: 1px solid #4082de;

}

/* 最下行の罫線は実線にする */

table.table_colspan2 tr:last-child th,

table.table_colspan2 tr:last-child td {

    background-image: none;

    border-bottom: 1px solid #4082de;

}

/* 大見出しの設定 */

table.table_colspan2 th.table_title {

    font-size: 1.125rem;

    text-align: center;

    color: #fff;

    border: 1px solid #4082de;

    background-color: #4082de;

}





/* 図表設定 */



.figure-caption {

    font-size: 0.6875rem;

    color: #808080;

  }



.figure-img,

.figure-caption {

    max-width: 211px;

}

.figure-img {

    margin-bottom: 0.125rem;

}

  



/* フッター設定 */



#footer_container {

    padding-top: 9px;

}

#footer_container > div {

    padding-right: 0;

    padding-left: 0;

}

#footer_company_area > div {

    padding-left: 0;

    padding-right: 0;

}

#footer_company_area {

    background-color: #fff;

    padding: 10px 0px;

}

/* フッターロゴ設定 */

#footer_company_address .logo {

    max-width: 250px;

    margin-top: 5px;

    margin-left: 0px;

    display: block;

}

#footer_company_address .addres {

    width: 100%;

    margin-top: 10px;

    margin-left: 3px;

    font-size: 0.75rem;

    font-weight: 100;

    line-height: 1.5;

    letter-spacing: 0.08rem;

}

#footer_company_address .addres > p {

    margin-bottom: 0.5rem;

}



#footer_company_map div {

    border: 2px solid #ddd;

    border-radius: 3px;

}

#footer_company_menu {

    max-height: 180px;

    font-size: 1.125rem;

}

#footer_company_menu div {



    margin-left: 0.7rem;

    border-left: 6px solid #4082de;

}

#footer_company_menu a {

    margin-left: 0.5rem;

}

#footer_company_othersite div {

    padding: 0.8rem;

}





#footer_siteinfo_area > div {

    padding-left: 0;

    padding-right: 0;

}

#footer_siteinfo_area {

    padding: 15px 0px 25px 0px;

}

#footer_siteinfo_link,

#footer_siteinfo_copyright {

    font-size: 0.875rem;

    font-weight: 100;

}

#footer_siteinfo_link {

    margin-bottom: 5px;

}

#footer_siteinfo_link .triangle_right:before {

    border-left-color: #404040;

}

#footer_siteinfo_copyright {

    text-align: right;

    letter-spacing: 0.08rem;

}







/* index.html設定 */

/* メインエリア設定 */

#main_sideleft > div,

#main_newarrivals_area > div {

    margin: auto;

}

/* メインエリア左側設定 */

#main_sideleft > div {

    font-size: 0.875rem;

    font-weight:100



}

#main_sideleft > div {

    padding-right: 1rem;

    padding-bottom: 2rem;

}

#promotion_area > div {

    color: #808080;

    line-height: 2.0;

    font-weight: 400;

    padding-bottom: 0.5rem;

}

#info_area .title > span,

#staffblog_area .title > span {

    font-size: 0.75rem;

    color: #808080;

}

#main_sideleft .link_more,

#main_newarrivals_area .link_more {

    text-align: right;

    padding-right: 12px;

}

.news_area {

    position: relative;



    background-image: url("../images/bg_dot.png");

    background-repeat: repeat-x;

    background-attachment: scroll;

    background-position: bottom;

    

    margin-bottom: 5px;

    padding-bottom: 0.65rem;

}

.news_area > div {

    display: inline-block;

    vertical-align: top;

}

.news_area > .date {

    color: #4082de;

    margin-left: 9px;

    margin-right: 5px;

}

.news_area > .news_img {

   position: absolute;

   right: 0;

   margin: auto;

}

.news_area > .news_img img {

    max-width: 63px;

    max-height: 43px;

}

/* メインエリア右側設定 */

/* 取扱物件エリア内はprocudts.cssに記述 */

#main_newarrivals_area .heading {

    width: 100%;

    margin: auto;



}

/* 取扱物件一覧ページへのリンク（タイトル右上に表示） */

#main_newarrivals_area .heading div {

    float: right;

    font-size: 1.125rem;

    font-weight:100

}

#main_newarrivals_area .heading div > a {

    margin-right: 1rem;

}




/* 1780px以下*/
@media screen and (max-width: 1780px) {

.himgt1 {
  position: absolute;
  color: white;
  top: 2%;
  left: 30%;
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.himgt2 {
  position: absolute;
  color: white;
  top: 52%;
  left: 30%;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

}


/* 1560px以下*/
@media screen and (max-width: 1560px) {

.himgt1 {
  position: absolute;
  color: white;
  top: 25%;
  left: 30%;
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.himgt2 {
  position: absolute;
  color: white;
  top: 25%;
  left: 50%;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

}

/* 1160px以下*/
@media screen and (max-width: 1160px) {

.himgt1 {
  position: absolute;
  color: white;
  top: 5%;
  left: 25%;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.himgt2 {
  position: absolute;
  color: white;
  top: 5%;
  left: 60%;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

}

/* 767px以下*/
@media screen and (max-width: 767px) {

.himgt1 {
  position: absolute;
  color: white;
  top: 5%;
  left: 2%;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.himgt2 {
  position: absolute;
  color: white;
  top: 5%;
  left: 47%;
  margin: 0;
  padding: 0;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

}



/* 1128px以下*/



@media screen and (max-width: 1128px) {

.header_photo p {

    font-size: 1.3rem;



}

#footer_company_address .logo {

    max-width: 200px;

}



/* index.html設定 */

/* スマホ版では非表示のひとたち */

#staffblog_area .news_img {

    display: none;

}



}



/* 1026px以下*/

@media screen and (max-width: 1026px) {

.header_photo p {

    font-size: 1.125rem;

}

#footer_company_address .logo {

    max-width: 180px;

}

#footer_company_address .addres {

    letter-spacing: 0.03rem;

}

#footer_company_menu {

    font-size: 1rem;

}

#footer_company_menu a {

    margin-left: 0.3rem;

}



/* index.html設定 */

#promotion_area > div {

    font-size: 0.75rem;

}





}





/* 767より大きい */

@media(min-width: 768px){

    a[href^="tel:"]{

      pointer-events: none;

    }

}



/* 767以下*/

@media screen and (max-width: 767px) {



.img-pc {

    display: none;

}

.img-sp {

    display: block;

}



.header_logo {

    max-height: 27px;

    margin: 9px auto;

}

.header_photo p {

    position: absolute;

    top: 2%;

    left: 1%;

    font-size: 1rem;

}



#footer_container {

    padding-top: 18px;

}

#footer_company_address .logo {

    max-width: 238px;

    margin: auto;

}

#footer_company_address .addres {

    width: 100%;

    margin: 15px 0px;

    text-align: center;

}





/* index.html設定 */

/* キャッチフレーズ用設定。スマホ版フッターのみ */

#footer_company_address .catchphrase {

    font-weight: 400;

    letter-spacing: 0;



}

#footer_company_map div {

    border: 0;

    border-radius: 0;

}

#footer_company_othersite div {

    padding: 1rem;

}

#footer_siteinfo_link,

#footer_siteinfo_copyright {

    text-align: center;

    letter-spacing: 0.08rem;

}

#footer_siteinfo_copyright {

    font-size: 0.75rem;

}

#main_sideleft > div {

    padding-right: 0;

}

#info_area .title > span,

#staffblog_area .title > span {

    display: none;

}

#main_newarrivals_area .heading h1 {

    font-size: 1.125rem;

    padding: 0 0 2px 7px;

}



}