@charset "UTF-8";
/*--------------------------------------------------------------------------
	共通
--------------------------------------------------------------------------*/
@media screen and (max-width: 1180px) { #top .main_area .slider { height: auto; } }
/*1180px*/
@media screen and (max-width: 1000px) { #top .aeon_bn { margin-top: 50px; padding: 0 10px; }
  #top .aeon_bn a { max-width: 650px; display: block; }
  #top .aeon_bn a > img { width: 100%; }
  #top .aeon_bn a span { display: block; width: 100%; padding: 10px 0 10px 10px; }
  #top .aeon_bn a span img:first-child { display: none; }
  #top .aeon_bn a span img:last-child { display: block; width: 100%; }
  #top .question { margin-top: 50px; }
  #top .question a { display: block; width: 100%; max-width: 700px; margin: 0 auto; }
  #top .question a .image .pc { display: none; }
  #top .question a .image .sp { display: block; }
  #top .question a .text .title { padding: 10px; }
  #top .question a .text .title p { font-size: 18px; }
  #top .question a .text .title span { margin-top: 5px; } }
/*1000px*/
@media screen and (max-width: 900px) { #top h2.common .eng { font-size: 45px; }
  #top h2.common .jp { font-size: 18px; margin-top: 7px; }
  #top .historys { display: grid; grid-template-columns: 1fr; grid-template-areas: "item1" "item2" "item3"; row-gap: 20px; }
  #top .historys .hs_box:nth-child(2) { padding-top: 20px; border-top: 2px solid #cccbc9; }
  #top .historys .hs_box:nth-child(3) { padding-top: 20px; }
  #top .event article .list { grid-template-columns: repeat(2, 1fr); } }
/*900px*/
@media screen and (max-width: 768px) { #top { padding-bottom: 50px; }
  #top .more { -webkit-box-pack: center; justify-content: center; }
  #top .more a { width: 210px; font-size: 18px; }
  #top .ch_btn { column-gap: 10px; /* 列間の間隔を設定 */ }
  #top .ch_btn li { height: 35px; border-radius: 24px; font-size: 16px; padding-top: 3px; }
  #top .sw_head { padding: 0; }
  #top .historys .hs_box:nth-child(3) { border-top: 2px solid #cccbc9; display: grid; grid-template-columns: 1fr; column-gap: 50px; }
  #top .historys .hs_box:nth-child(3) article { display: -webkit-box; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; flex-direction: row; -webkit-box-pack: justify; justify-content: space-between; }
  #top .historys .hs_box article h2 { font-size: 22px; }
  #top .historys .hs_box .list .item + .item { padding-top: 10px; margin-top: 5px; }
  #top .historys .hs_box .list .item:nth-child(n+2) { display: none; }
  #top .historys .hs_box .list .item .data { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; line-height: 1; flex-wrap: wrap; }
  #top .historys .hs_box .list .item .data .time { font-size: 13px; width: 100%; margin-bottom: 5px; }
  #top .historys .hs_box .list .item .data .contents { font-size: 12px; }
  #top .historys .hs_box .list .item .data .city { font-size: 14px; }
  #top .historys .hs_box .list .item .text { margin-top: 5px; }
  #top .event { margin: 50px auto 0; }
  #top .event h2 { margin-bottom: 25px; }
  #top .event article + article { padding-top: 30px; margin-top: 30px; }
  #top .event article h3 { background-position: left center; }
  #top .event article h3 .eng { font-size: 25px; }
  #top .event article h3 .jp { font-size: 14px; margin-top: 5px; }
  #top .event article h3 + .list { margin-top: 20px; }
  #top .event article .list { column-gap: 10px; /* 列間の間隔を設定 */ row-gap: 30px; /* 列間の間隔を設定 */ }
  #top .event article .list + h3 { margin-top: 20px; }
  #top .event article .list a .type { font-size: 12px; font-weight: 400; margin-top: 10px; width: 130px; }
  #top .event article .list a .title { margin-top: 5px; }
  #top .event article .list a .city { font-size: 12px; font-weight: 400; width: 100px; text-align: center; padding: 3px 0 3px; }
  #top .event article .list a:nth-child(n+5) { display: none; }
  #top .works { padding: 50px 10px 40px; margin-top: 50px; }
  #top .works .box h2 { margin-bottom: 25px; }
  #top .works .box > div a img.pc { display: none; }
  #top .works .box > div a img.sp { display: block; }
  #top .works .box article { grid-template-columns: repeat(2, 1fr); }
  #top .works .box article a span { display: none; }
  #top .works .box article a:hover span { display: none; }
  #top .works .box article a:nth-child(n+9) { display: none; }
  #top .works .box .more { margin-top: 30px; }
  #top .estate { padding-bottom: 50px; }
  #top .estate .ch_btn { margin-top: 30px; }
  #top .estate .es_box h3 { background-position: left top 7px; padding-left: 10px; background-size: 3px auto; font-size: 18px; }
  #top .estate .es_box div { grid-template-columns: repeat(1, 1fr); margin-top: 10px; }
  #top .estate .es_box + .es_box { margin-top: 30px; padding-top: 20px; }
  #top .estate .es_head { background-size: auto 100px; height: 100px; }
  #top .estate .es_head h2 { -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; -webkit-box-align: stretch; align-items: stretch; }
  #top .estate .es_head h2 .eng { font-size: 40px; }
  #top .estate .es_head h2 .jp { font-size: 16px; }
  #top .estate .area { margin: 30px auto 0; display: none; }
  #top .estate .area.active { display: block; }
  #top .estate .area .es_c_head h3 { flex-wrap: wrap; }
  #top .estate .area .es_c_head h3 .eng { display: none; }
  #top .estate .area .es_c_head h3 .jp { font-size: 23px; margin-top: 5px; }
  #top .estate .area .es_c_head h3 .count { padding: 5px 15px 5px; font-size: 13px; }
  #top .estate .area .es_c_head a { padding: 0 0 5px; }
  #top .estate .area .house .list { -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; -webkit-box-align: center; align-items: center; row-gap: 10px; /* 列間の間隔を設定 */ margin-top: 20px; }
  #top .estate .area .house .list .city span { height: 40px; }
  #top .estate .area .house .list .city span:nth-child(1) { font-size: 16px; }
  #top .estate .area .house .list .city span:nth-child(2) { font-size: 16px; }
  #top .estate .area .house + .land { margin-top: 30px; padding-top: 30px; }
  #top .estate .area .land .list { grid-template-columns: repeat(1, 1fr); margin-top: 20px; }
  #top .estate .area .land .list a { background-position: right 10px center; padding: 15px 30px 15px 60px; }
  #top .estate .area .land .list a .new { width: 32px; left: 15px; top: calc(50% - 8px); }
  #top .plan { padding: 50px 0 0; }
  #top .plan .swiper_plan { padding: 0 10px; }
  #top .plan .swiper_plan .more { margin-top: 30px; }
  #top .voice { margin-top: 50px; }
  #top .voice a .pc { display: none; }
  #top .voice a .sp { display: block; }
  #top .question a .text .title { padding: 8px 10px 6px; }
  #top .question a .text .title p { font-size: 18px; line-height: 1.3; }
  #top .question a .text .title span { margin-top: 5px; }
  #top .service { display: none; }
  #top .blog { background: none; padding: 0; margin-top: 50px; }
  #top .blog .blog_main { margin-left: inherit; }
  #top .blog .blog_main .blogs { padding: 25px 0 0 0; margin: 30px 0 0 0; }
  #top .blog .blog_main .blogs h3 { font-size: 23px; }
  #top .blog .blog_main .blogs article { display: block; margin-top: 20px; }
  #top .blog .blog_main .blogs article a .photo { position: relative; overflow: hidden; text-align: center; }
  #top .blog .blog_main .blogs article a .photo img { position: absolute; }
  #top .blog .blog_main .blogs article a:hover { opacity: 0.75; }
  #top .blog .blog_main .blogs article a:nth-child(n+2) { display: none !important; }
  #top .blog .blog_main .blogs article.const a { display: grid; grid-template: "photo date" auto "photo h4" auto "photo sub" auto / 130px 1fr; column-gap: 20px; row-gap: 5px; }
  #top .blog .blog_main .blogs article.const a .photo { grid-area: photo; }
  #top .blog .blog_main .blogs article.const a .date { grid-area: date; margin-top: 0; }
  #top .blog .blog_main .blogs article.const a h4 { grid-area: h4; text-align: left; font-size: 14px; margin-top: 0; padding: 3px 10px 0; }
  #top .blog .blog_main .blogs article.const a .sub { grid-area: sub; font-size: 16px; display: block; }
  #top .blog .blog_main .blogs article.sblog a { display: grid; grid-template: "photo data" auto "photo h4" auto / 130px 1fr; column-gap: 20px; row-gap: 5px; }
  #top .blog .blog_main .blogs article.sblog a .photo { grid-area: photo; }
  #top .blog .blog_main .blogs article.sblog a .data { grid-area: data; grid-template-columns: 40px 1fr; column-gap: 10px; margin-top: 0; }
  #top .blog .blog_main .blogs article.sblog a .data .box .date { font-size: 12px; }
  #top .blog .blog_main .blogs article.sblog a .data .box .name { font-size: 13px; padding-top: 1px; margin-top: 1px; }
  #top .blog .blog_main .blogs article.sblog a h4 { grid-area: h4; font-size: 14px; margin-top: 0; }
  #top .blog .blog_main .blogs .more { margin-top: 30px; } }
/*768px*/
/*--------------------------------------------------------------------------
	ポータル
--------------------------------------------------------------------------*/
@media screen and (max-width: 768px) { #top.portal .concept { background-image: url("../../img/top_concept_back_sp.jpg"); background-size: 2220px auto; height: 577px; }
  #top.portal .concept section { color: #FFF; width: 100%; max-width: 1160px; }
  #top.portal .concept section h2 { font-size: 45px; }
  #top.portal .concept section h3 { font-size: 20px; margin-top: 15px; }
  #top.portal .concept section p { font-size: 14px; margin-top: 5px; }
  #top.portal .concept section a { width: 170px; font-size: 18px; padding: 8px 10px 10px; margin-top: 30px; }
  #top.portal .image_area { display: none; }
  #top.portal .chumon { margin-top: 50px; }
  #top.portal .chumon a { background-size: 1180px auto; }
  #top.portal .chumon a.hokkaido { background-image: url("../../img/p_top_ho_sp.jpg"); }
  #top.portal .chumon a.fukuoka { background-image: url("../../img/p_top_fu_sp.jpg"); }
  #top.portal .chumon a.other { background-image: url("../../img/p_top_dh_sp.jpg"); }
  #top.portal .chumon a.other article div span:nth-child(2) { background: url("../../img/p_top_dh_link.png") right center no-repeat; background-size: 25px auto; padding-right: 35px; }
  #top.portal .chumon a article { height: 250px; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; }
  #top.portal .chumon a article div { width: 270px; height: 130px; }
  #top.portal .chumon a article div span:nth-child(1) { font-size: 20px; margin-bottom: 3px; padding-bottom: 10px; }
  #top.portal .chumon a article div span:nth-child(2) { font-size: 22px; }
  #top.portal .chumon a:nth-child(even) article { justify-content: center; -webkit-box-align: center; }
  #top.portal .image_area02 { background-image: url("../../img/top_img_works_sp.jpg"); background-size: auto 300px; height: 300px; margin-top: 50px; }
  #top.portal .comp { display: none; } }
/*768px*/
/*--------------------------------------------------------------------------
	エリアトップ共通
--------------------------------------------------------------------------*/
@media screen and (max-width: 1180px) { #top.area .main_area .slider { height: auto; } }
/*1180px*/
@media screen and (max-width: 768px) { #top.area .main_area .tx { position: absolute; width: 200px; height: 200px; top: calc(50% - 100px); left: calc(50% - 100px); }
  #top.area .main_area .tx h2 { font-size: 30px; }
  #top.area .main_area .tx p { width: 160px; font-size: 15px; } }
/*768px*/
/*--------------------------------------------------------------------------
	OTHERTOP
--------------------------------------------------------------------------*/
@media screen and (max-width: 768px) { #top.other .area_map { padding: 50px 10px 40px; }
  #top.other .area_map .contents { max-width: 530px; }
  #top.other .area_map .contents .tx { top: calc(50% - 110px); position: absolute; }
  #top.other .area_map .contents .tx .pc { display: none; }
  #top.other .area_map .contents .tx .sp { display: block; }
  #top.other .information article p { text-align: left; }
  #top.other .information article p br { display: none; }
  #top.other .information article div { font-size: 20px; margin-top: 30px; }
  #top.other .information > p { margin: 50px auto 0; }
  #top.other .information a { margin-top: 50px; }
  #top.other .information a .pc { display: none; }
  #top.other .information a .sp { display: block; } }
/*768px*/

/*# sourceMappingURL=sp_top.css.map */
