@charset "UTF-8";
/*---------------------------------------------------------------------------

	共通
	
	ごあいさつ
	会社概要

	施工エリアのご案内
	プライバシーポリシー
	サイトマップ

--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
	共通
--------------------------------------------------------------------------*/
/*----- ＊＊＊＊＊ -----*/
/*640px*/
/*--------------------------------------------------------------------------
	ごあいさつ
--------------------------------------------------------------------------*/
@media screen and (max-width: 1000px) { #greeting .frm > section:not(:first-of-type) { margin: 80px auto 0 auto; padding: 80px 0 0 0; }
  #greeting .frm > section .ph, #greeting .frm > section .cap { display: block; width: 100%; }
  #greeting .frm > section .ph { margin: 0 auto; padding: 0 0 50px 0; width: 100%; max-width: 400px; }
  #greeting .frm > section .cap h4 { text-align: center; } }
/*1000px*/
@media screen and (max-width: 640px) { #greeting .frm .intro { margin: 0 auto 60px auto; font-size: 15px; }
  #greeting .frm > section:not(:first-of-type) { margin: 50px auto 0 auto; padding: 50px 0 0 0; }
  #greeting .frm > section .ph { padding: 0 0 25px 0; max-width: 280px; }
  #greeting .frm > section .ph h3 { margin: 8px 0 0 0; font-size: 13px; }
  #greeting .frm > section .ph h3 span { font-size: 19px; }
  #greeting .frm > section .cap { font-size: 14px; }
  #greeting .frm > section .cap h4 { margin: 0 0 10px 0; font-size: 21px; text-align: left; }
  #greeting .frm > section .cap h4 br.sp { display: none; } }
/*640px*/
/*--------------------------------------------------------------------------
	会社概要
--------------------------------------------------------------------------*/
@media screen and (max-width: 1000px) { #company_outline > section .cap_box { width: 280px; }
  #company_outline > section .cap_box > div p, #company_outline > section .cap_box > div h3 { display: block; width: 100%; line-height: 1; }
  #company_outline > section .cap_box > div p { margin: 0 0 10px 0; } }
/*1000px*/
@media screen and (max-width: 900px) { #company_outline > section .cap_box { width: 240px; } }
/*900px*/
@media screen and (max-width: 768px) { #company_outline > section .cap_box, #company_outline > section .list_box { display: block; width: 100%; }
  #company_outline > section .cap_box { width: 100%; text-align: center; }
  #company_outline > section.promise .cap_box { margin: 0 0 50px 0; }
  #company_outline > section.outline .cap_box { margin: 0 0 30px 0; } }
/*768px*/
@media screen and (max-width: 640px) { #company_outline::before { background: url("../../company/img/outline_back.jpg") no-repeat center top; background-size: auto 360px; }
  #company_outline > section { margin: 90px auto 0 auto; }
  #company_outline > section .cap_box > div p { font-size: 34px; }
  #company_outline > section .cap_box > div h3 { font-size: 15px; }
  #company_outline > section.promise .cap_box { margin: 0 0 40px 0; }
  #company_outline > section.promise .list_box dl:not(:first-of-type) { margin: 30px 0 0 0; }
  #company_outline > section.promise .list_box dl dt { margin: 0 0 10px 0; font-size: 30px; }
  #company_outline > section.promise .list_box dl dd { font-size: 14px; }
  #company_outline > section.outline .cap_box { margin: 0 0 20px 0; }
  #company_outline > section.outline .list_box .item .sbj { padding: 15px 0; width: 120px; }
  #company_outline > section.outline .list_box .item .sbj h4 { font-size: 13px; }
  #company_outline > section.outline .list_box .item .cap { padding: 15px 10px 15px 15px; }
  #company_outline > section.outline .list_box .item .cap .add { margin: 20px 0 0 0; }
  #company_outline > section.outline .list_box .item .cap .add a.map { line-height: 24px; font-size: 12px; max-width: 70px; }
  #company_outline > section.outline .list_box .item .cap ul.area li { font-size: 13px; }
  #company_outline > section.outline .list_box .item .cap p.att { margin: 10px 0 0 0; font-size: 12px; } }
/*640px*/
@media screen and (max-width: 480px) { #company_outline > section.outline .list_box .item .sbj { width: 90px; } }
/*480px*/
/*--------------------------------------------------------------------------
	施工エリアのご案内
--------------------------------------------------------------------------*/
@media screen and (max-width: 1100px) { #area_top > section { max-width: 900px; }
  #area_top > section .cap, #area_top > section .ph { display: block; width: 100%; }
  #area_top > section .cap h2 { line-height: 1.4; }
  #area_top > section .cap h2::after { top: 6px; bottom: 2px; }
  #area_top > section .cap h2 br { display: none; }
  #area_top > section .cap ul { margin: 45px 0 0 0; }
  #area_top > section .ph { margin: 80px auto 0 auto; padding: 0; width: 100%; max-width: 670px; } }
/*1100px*/
@media screen and (max-width: 640px) { #area_top > section { padding: 50px 10px 0 10px; }
  #area_top > section .cap h2 { font-size: 21px; }
  #area_top > section .cap h2::after { top: 4px; }
  #area_top > section .cap ul { margin: 40px 0 0 0; }
  #area_top > section .cap ul li { width: calc((100% - 12px) / 3); }
  #area_top > section .ph { margin: 60px auto 0 auto; max-width: 540px; } }
/*640px*/
@media screen and (max-width: 400px) { #area_top > section .cap ul li { width: calc((100% - 6px) / 2); } }
/*400px*/
/*--------------------------------------------------------------------------
	プライバシーポリシー
--------------------------------------------------------------------------*/
@media screen and (max-width: 640px) { #privacy .frm .intro { margin: 0 auto 35px auto; padding: 0 0 30px 0; }
  #privacy .frm .intro > p:first-of-type { margin: 0 0 8px 0; font-size: 19px; }
  #privacy .frm > section { margin: 45px 0 0 0; }
  #privacy .frm > section h2 { margin: 0 0 15px 0; padding: 0 0 0 26px; background: url("../img/icon_all.png") no-repeat left top; background-size: 17px auto; font-size: 17px; }
  #privacy .frm > section h2 > img { margin: 2px 10px 0 0; max-width: 32px; }
  #privacy .frm > section h3 { margin: 0 0 10px 0; font-size: 14px; }
  #privacy .frm > section h3.line { margin: 40px 0 10px 0; }
  #privacy .frm > section h4 { margin: 0 0 10px 0; font-size: 14px; }
  #privacy .frm > section h4.line { margin: 40px 0 10px 0; }
  #privacy .frm > section .item { padding: 20px 15px; }
  #privacy .frm > section .item a.window { padding: 0 20px 0 0; background: url("../img/link_b.png") no-repeat right 6px top 4px; background-size: 13px auto; }
  #privacy .frm > section .item a.window:active, #privacy .frm > section .item a.window:hover { background: url("../img/link_r.png") no-repeat right 6px top 4px; background-size: 13px auto; }
  #privacy .frm > section .item .list01 { margin: 10px 0 0 0; }
  #privacy .frm > section .item .list01 ul:first-of-type { margin: 0 0 0 15px; }
  #privacy .frm > section .item .list01 ul.att { margin: 15px 0 0 0; }
  #privacy .frm > section .item .list02 { margin: 10px 0 0 15px; }
  #privacy .frm > section .item .list02 ul li { padding: 0 0 0 15px; background: url("../img/ic_arror01_bl_r.png") no-repeat left top 10px; background-size: 6px auto; }
  #privacy .frm > section .item .list03 { margin: 10px 0 0 15px; }
  #privacy .frm > section .item .data { margin: 20px 0 0 0; } }
/*640px*/
/*--------------------------------------------------------------------------
	リンク集
--------------------------------------------------------------------------*/
@media screen and (max-width: 1000px) { #link .frm > section div { padding: 15px 15px 17px 15px; } }
/*1000px*/
@media screen and (max-width: 640px) { #link .frm > section { column-gap: 0; row-gap: 10px; }
  #link .frm > section h2 { margin: 0 0 5px 0; padding: 0 0 0 24px; background: url("../img/icon_all.png") no-repeat left top 3px; background-size: 14px auto; font-size: 17px; }
  #link .frm > section:not(:first-of-type) { margin: 50px 0 0 0; }
  #link .frm > section div { padding: 10px 15px 12px 15px; width: 100%; }
  #link .frm > section div h3 { font-size: 15px; }
  #link .frm > section div p { margin: 6px 0 0 0; padding: 6px 0 0 0; }
  #link .frm > section div p a { padding: 0 0 0 20px; background: url("../img/link_b.png") no-repeat left top 4px; background-size: 13px auto; } }
/*640px*/
/*--------------------------------------------------------------------------
	サイトマップ
--------------------------------------------------------------------------*/
@media screen and (max-width: 900px) { #sitemap .list { max-width: 640px; column-gap: 40px; row-gap: 50px; }
  #sitemap .list > section { width: calc((100% - 40px) / 2); }
  #sitemap .list > section:nth-of-type(3) { width: 100%; display: flex; flex-wrap: wrap; column-gap: 40px; }
  #sitemap .list > section:nth-of-type(3) > div { width: calc((100% - 40px) / 2); }
  #sitemap .list > section:nth-of-type(3) > div h2.line { margin: 0 0 20px 0; } }
/*900px*/
@media screen and (max-width: 640px) { #sitemap .list { font-size: 14px; column-gap: 30px; }
  #sitemap .list > section { width: calc((100% - 30px) / 2); }
  #sitemap .list > section:nth-of-type(3) { column-gap: 30px; }
  #sitemap .list > section:nth-of-type(3) > div { width: calc((100% - 30px) / 2); }
  #sitemap .list > section:nth-of-type(3) > div h2.line { margin: 0 0 10px 0; }
  #sitemap .list > section h2 { margin: 0 0 10px 0; padding: 0 0 10px 24px; background: url("../img/icon_all.png") no-repeat left top 2px; background-size: 14px auto; font-size: 14px; }
  #sitemap .list > section h2.line { margin: 10px 0; }
  #sitemap .list > section ul li { margin: 9px 0 0 0; padding: 0 0 10px 24px; background: url("../img/bg_square01.png") no-repeat left 6px top 9px; background-size: 4px auto; }
  #sitemap .list > section ul li a span.window { padding: 0 23px 0 0; background: url("../img/link_b.png") no-repeat right top 5px; background-size: 13px auto; } }
/*640px*/
@media screen and (max-width: 540px) { #sitemap .list { max-width: 300px; column-gap: 0; row-gap: 40px; }
  #sitemap .list > section { width: 100%; }
  #sitemap .list > section:nth-of-type(3) { width: 100%; column-gap: 0; row-gap: 40px; }
  #sitemap .list > section:nth-of-type(3) > div { width: 100%; } }
/*480px*/

/*# sourceMappingURL=sp_01.css.map */
