@charset "UTF-8";
body {
	background: #ffffff;
	margin: 0;
	padding: 0;
	color: #000;
	font-size: clamp(16px, 1.8vw, 30px);
	font-family: "Zen Kaku Gothic New", sans-serif;
	line-height: 1.5em;
}
.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}


/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。より詳細なセレクターを記述しない限り、ここで指定する内容が .nav リストにも適用されることに注意してください。 */
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin: 0;	 /* 上マージンを削除すると、マージンを含む div からマージンがはみ出す場合があるという問題を回避できます。残った下マージンにより、後続のエレメントからは離されます。 */
	padding: 0;
}
a img { /* このセレクターは、一部のブラウザーでイメージをリンクで囲んだ場合にイメージの周囲に表示される初期設定の青いボーダーを削除します。 */
	border: none;
}
img {
	max-width: 100%;
	height: auto;
	width /***/:auto;
　 	vertical-align: bottom;
}
@media screen and (max-width: 768px){
img{
	max-width:95%;
    height: auto;
    width /***/:auto;　
}
}
@media screen and (max-width:640px){
img{
	max-width:90%;
    height: auto;
    width /***/:auto;　
}
}
/* ~~ サイトのリンクのスタイル付けは、ホバー効果を作成するセレクターグループも含め、この順序にする必要があります。~~ */
a:link {
	color:#414958;
	text-decoration: none; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
a:visited {
	color: #4E5869;
	text-decoration: none;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	text-decoration: none;
}

/* ~~ このコンテナが他のすべての div を囲み、パーセンテージに基づいた幅を指定します。~~ */
.container {
	max-width: 1920px;/* レイアウトが大型モニターで広がりすぎないように、最大幅を指定することをお勧めします。これにより、読みやすい行の長さを保つことができます。IE6 ではこの宣言は無視されます。 */
	background: #FFF;
	margin: 0 auto; /* 幅に加え、両側を自動値とすることで、レイアウトが中央に揃います。.container の幅を 100% に設定した場合、これは必要ありません。 */
}


/* ~~ その他の float/clear クラス ~~ */
.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、.container で overflow:hidden が削除されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}



/*==================================================
共通　横並びのための設定
===================================*/

.gnavi{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin-top: auto;
	margin-right: auto;
	margin-bottom: 1em;
	margin-left: 0;
	font-size: 0.8em;
	justify-content: flex-end;
}
.gnavi li a{
    display: block;
    padding:10px 20px;
    text-decoration: none;
    color: #333;
}
.gnavi li{
    margin-bottom:10px;
}

/*==================================================
　5-3-1 中心から外に線が伸びる（下部）
===================================*/

.gnavi li a{
    /*線の基点とするためrelativeを指定*/
  position: relative;
}

.gnavi li.current a,
.gnavi li a:hover{
  color:#333;
}

.gnavi li a::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 10%;
    /*線の形状*/
    width: 80%;
    height: 2px;
    background:#336699;
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}

/*現在地とhoverの設定*/
.gnavi li.current a::after,
.gnavi li a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}





/*topページ*/
#title {
	text-align: center;
	width: 15em;
	margin-left: 2em;
}
#title p{
	padding-top: 0.3em;
}
.logo-content{
	margin-top: 1em;
}
.header {
	display:none;
}
	
@media screen and (max-width: 768px){
.logo-content {
	display:none;
}


/*ハンバーガー*/
.header {
	height: 70px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	background-color: #FFFFFF;
}
.logo {
	text-align: center;
	width: 15em;
	margin-left: 2em;
	margin-top:1em;
	margin-bottom:1em;
}
.logo p{
	padding-top: 0.3em;
}
.hamburger-menu {
  width: 50px;
  height: 50px;
  position: relative;
  border: none;
  background: transparent;
  appearance: none;
  padding: 0;
  cursor: pointer;
}
.hamburger-menu__bar {
  display: inline-block;
  width: 44%;
  height: 2px;
  background: #242424;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s;
}
.hamburger-menu__bar:first-child {
  top: 16px;
}
.hamburger-menu__bar:nth-child(2) {
  top: 24px;
}
.hamburger-menu__bar:last-child {
  top: 32px;
}
.hamburger-menu--open .hamburger-menu__bar {
  top: 50%;
}
.hamburger-menu--open .hamburger-menu__bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu__bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
  display: none;
}
.navigation {
  display: none;
  background: #ffffff;
  position: absolute;
  top: 60px;
  width: 100%;
  z-index: 9999;
}
.navigation__list {
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.navigation__list-item {
  border-bottom: solid 1px #6a97d1;
}
.navigation__list-item:first-child {
  border-top: solid 1px #6a97d1;
}
.navigation__link {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  display: block;
  padding: 24px 0;
  transition: .5s;
}
@media (hover: hover) and (pointer: fine) {
.navigation__link:hover {
    background: #cce1f9;
  }
}
}
/*ハンバーガー終わり*/

.gray{
	width: 100%;
	height:70%;
	background-color: #eceded;
	background-image: url(top/lines.gif);
	background-repeat: repeat-x;
	background-position: top;
}
.gray img{
	padding-top: 2em;
	margin-right: auto;
	margin-left: auto;
}
.gray-s{
	display:none;
}
.t-blue{
	background-image: url(top/blue.gif);
	background-size: cover;
	width: 100%;
	padding-bottom: 8em;
}
.title{
	display:flex;
	width: 100%;
	flex-wrap: wrap;
	align-items:center;
	align-content: cenrer;
	padding-top:3em;
}
.title2{
	width:50%;
	line-height: 1.5em;
	text-align: center;
	color: #1d2088;
}
.title3{
	padding-top: 2em;
	width: 50%;
}
@media screen and (max-width:768px){
.gray ,.gray img{
	display:none;
}
.gray-s{
	display: block !important;
	background-color: #e7e7e7;
	background-image: url(top/sp-top.jpg);
	width:100%;
	height:604px;
}
.title{
    display: flex;
	width: 95%;
	flex-direction: column;  
	flex-wrap: no-wrap;
	align-items: center;
	padding-top:3em;
}
.title2{
	width: 80%;
	padding-left: 0;
	text-align: center;
}
.title3{
	padding-top: 4em;
	width: 80%;
	text-align: center;
}
}
.p-title{
	width:40%;
	background-color: #e7e7e7;
	margin-top: 3em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	text-align: right;
}
.p-title h3{
	margin-right: 3em;
	margin-left: auto;
}
.p3-title{
	position: relative;
	width: 100%;
	height: 2em;
	background: #6a97d1;
}
.p2-title{
	width:40%;
	padding-top: 0.1em;
	text-align: right;
	position: absolute;
	top: 0;
	bottom: 0;
	background: #ffffff;
}
.naiyo{
	width:75%;
	margin-top: 3em;
	padding-left: 3em;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 2em;
	background-color: #ffffff;
}
.migi-img{
	float: right;
	max-width:262px;
	width: 50%;
	margin: 0.4em;
}
.float_none {
	clear: both;
}
.box{
	max-width:292px;
    margin-top: 1em;
}
.box img{
	width: 90%;
}
@media screen and (max-width:768px){
.naiyo{
	width:80%;
	margin-right: auto;
	margin-left: auto;
}
.box img{
	width: 85%;
}
}
@media screen and (max-width:640px){
.p-title h3{
	margin-right: 0.2em;
	margin-left:auto;
}
.naiyo{
	width:90%;
	padding-left: 1em;
	margin-right: auto;
	margin-left: auto;
	
}
.box img{
	width: 75%;
}
}
.f-works{
	display:flex;
	width:100%;
	flex-wrap: wrap;
	justify-content:space-between;
}
.f-item {
	display:flex;
	flex-direction: column;
	width: 30%;
	border: thin solid #666666;
	padding-top: 0.3em;
	padding-right: 0.3em;
	padding-bottom: 0.3em;
	padding-left: 0.5em;
}
.f-iten p{
	font-size: 0.7rem;
}
img.w{
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 1em;
}
img.w2{
	margin-top:auto;
	margin-left: 0.5em;
}
@media screen and (max-width:768px){
.f-works{
	display:flex;
	width:100%;
	flex-direction: column;
    align-items: center;
}
.f-item {
	display:flex;
	flex-shrink:0;
	flex-direction: column;
	padding: 0.3em;
	width: 70%;
	border: thin solid #666666;
	margin-bottom:1em;
	align-items: center;
}
.f-iten p{
	font-size: 1em;
}
.f-item img{
	max-width:309px;
	width:90%;
}
img.w{
	max-width:204px;
}
img.w2{
	max-width:162px;
	margin-top:2em;
	margin-bottom:1em;
}
}
.fork{
	display: flex;
	list-style: none;
	line-height: 2em;
	margin-top:3em;
	justify-content:space-around;
}
.fork li{
	margin-bottom:1em;
}
.fork img{
	margin-right:1em;
	margin-bottom:-0.3em;
	max-width:24px;
}
.what{
	max-width:349px;
	margin-top:1em;
	margin-right:auto;
	margin-left:0;
	padding-bottom: 0px;
	display: block;
}
.what img{
	width:100%;
}
.what2{
	display: none;
}
@media screen and (max-width:768px){
.fork{
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	margin-left:3em;
}
.what{
	display: none;
}
.what2{
	max-width:349px;
	margin-top:1em;
	margin-right:auto;
	margin-left:0;
	padding-bottom: 0px;
	display: block;
}
}
.naiyo-blue{
	width:65%;
	background-color: #cce1f9;
	padding: 2em;
	margin-top: 3em;
	margin-right: auto;
	margin-bottom: 2em;
	margin-left: auto;
    border-radius: 20px;
}
.f-flow{
	display:flex;
	list-style:none;
	justify-content:space-around;
}
.naiyo2{
	width:85%;
	margin-top: 3em;
	padding-left: 3em;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 2em;
}
.f-map{
	display:flex;
	width:100%; 
	flex-wrap: wrap;
	justify-content:space-around;
}
.map1{
	position: relative;
    width: 60%;
}
.left-m{
	height: 0;
    padding-top: 56.25%;
}
iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
.map2{
	width:30%;
    margin-top:1em;
	margin-left:2em;
}
.large{
	font-size: 2em;
	margin-bottom: 1em;
}
.map2 ul li{
	list-style: none;
	margin-top: 0.5em;
	margin-bottom:2em;
}
@media screen and (max-width:768px){
.naiyo2{
	width:90%;
}
.f-map{
	display:flex;
	width:100%; 
}
map1{
	position: relative;
    width: 100%;
}
.left-m{
   height: 0;
   padding-top: 75%; /* 比率を4:3に固定 */
}
iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
.map2{
	width:90%;
    margin-top:1em;
	margin-left:2em;
}
.large{
	margin-top: 1em;
	margin-left:2em;
}
.map2 ul li{
	margin-left:3em;
}
}
.blue{
	width:100%;
	margin-top:2em;
	padding-top:1em;
	padding-bottom:2em;
	background-color: #cce1f9;
}
.dark-blue{
	width:100%;
	background-color: #6a97d1;
	margin-top: 1em;
	padding-top:1em;
}
.naiyo-under{
	width:100%;
	background-color: #FFFFFF;
	margin-bottom: 1em;
}
.f-food{
	display:flex;
	width:75%;
	flex-wrap: wrap;
	justify-content:space-evenly;
	align-items:flex-start;
	margin-top:1em;
	padding-top:1em;
	margin-right: auto;
	margin-left: auto;
	padding-bottom:1em;
}
.food-item-w{
	flex:2 1 23%;
	font-size: 0.8em;
	width:25%;
}
.food-item{
	flex:1  18%;
	font-size: 0.8em;
}
.food-item-w ul li{
	list-style-position: inside;
}
.f-name{
	width:75%;
	text-align: left;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	margin-right: auto;
	margin-left: auto;
	border-left-width: 7px;
	border-left-style: solid;
	border-left-color: #6a97d1;
	padding-left: 1em;
	margin-bottom: 2em;
	line-height: 1.8em;
}
.copy{
	font-size: 0.8em;
}
@media screen and (max-width:768px){
.dark-blue{
	margin-top:1em;
}
.f-food{
	display:none;
}
.f-name{
	width:80%;
	text-align: left;
	margin-top:1em;
	margin-left:auto;
	margin-right:auto;
	border-left-color: #336699;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	border-left-width: 5px;
	border-left-style: solid;
}
}


/*ページトップへ*/
html {
    scroll-behavior: smooth;
}

.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(20%) rotate(-45deg);
}


/*中建設について*/

.box-2{
	max-width:349px;
	margin-left:2em;
	width:90%;
}
.box-2 img{
	width:100%;
}
.naiyo-a{
	width:70%;
	margin-top: 3em;
	padding-left: 3em;
	margin-right: auto;
	margin-left: auto;
	padding-top:2em;
	padding-right:3em;
	padding-bottom: 2em;
	background-color: #ffffff;
}
.naiyo-a img{
    max-width:369px;
	width:80%;
	margin-bottom:1em;
}
.s-title{
	width:100%;
    padding-top: 2em;
	text-align: right;
}
.s-title img{
	max-width:1109px;
	width:80%;
}
.box-3{
	width:70%;
}
.tele{
	width:12em;
}

@media screen and (max-width:768px){
.box-2 img{
	width: 70%;
}
.s-title img{
	width:90%;
}
.box-3{
	width:60%;
}
}
@media only screen and (max-width: 480px) {
.s-title img{
	width:100%;
}	
}
.naiyo-a-bird{
	width:70%;
	margin-top: 3em;
	padding-left: 3em;
	margin-right: auto;
	margin-left: auto;
	padding-top:2em;
	padding-right:3em;
	padding-bottom: 2em;
	background-color: #ffffff;
	background-image: url(about/bird.gif);
	background-position: right center;
	background-repeat: no-repeat;
	aspect-ratio: 16 / 9;
}
/* table01 */
#table01	{
	border-collapse:collapse
}
#table01 tr {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #336699;
}

#table01 th,
#table01 td {
  padding: 24px 0;
  border: none;
}

#table01 th {
  width: 30%;
}

/* sp */
@media only screen and (max-width: 480px) {
  #table01 th,
  #table01 td {
    width: 100%;
    display: block;
  }

  #table01 th {
    width: 100%;
  }

  #table01 td {
    padding-top: 0;
  }
  .s-title img{
	width:90%;
}
}

.a-map{
	width: 100%;
	margin-top: 2em;
	text-align: center;
}
.a-map img{
	max-width:832px;
}

.naiyo-under{
	width:100%;
	background-color: #FFFFFF;
	margin-top: 1em;
	margin-bottom: 2em;
}
.naiyo-under2{
	width:80%;
	margin-top: 1em;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 2em;
	background-color: #ffffff;
}


/*施工の流れ*/
.naiyo-fl{
	position: relative;
	width:70%;
	margin-top: 1em;
	padding-left: 3em;
	margin-right: auto;
	margin-left: auto;
	padding-top:1em;
	padding-right:0;
	padding-bottom: 2em;
	background-color: #ffffff;
}
.s-title-f{
	position: absolute;
	margin-top:0.5em;
	text-align: right;
	width: 100%;	
}
.s-title-f img{
	max-width:1109px;
	width:90%;
}
.fl1-f{
	display:flex;
	width:100%;
	flex-wrap: wrap;
	margin-top:7em;
	justify-content: center;
}
.fl1-l{
	flex:1 1 47%;
	align-self: center;
	padding-right: 1em;
}
.fl1-r{
	flex:2 1 50%;
	align-self: center; 
}
.naiyo-fl-l{
	position: relative;
	width:70%;
	margin-top: 1em;
	padding-left: 0;
	margin-right: auto;
	margin-left: auto;
	padding-top:1em;
	padding-right:3em;
	padding-bottom: 2em;
	background-color: #ffffff;
}	
.s-title-ff{
	position: absolute;
	margin-top:0.5em;
	margin-left:-3em;
	text-align: left;
	width: 100%;	
}
.s-title-ff img{
	max-width:1109px;
	width:90%;
}
@media screen and (max-width:768px){
.fl1-f{
	display:flex;
	flex-direction:column;
	margin-top:4em;
}
.fl1-l{
	padding-bottom: 1em;
    padding-right: 2em;
}
.fl1-r{
	padding-left:1em;
}
.naiyo-fl-l{
	padding-left: 1em;
	padding-right:2em;
}	
}
@media screen and (max-width:640px){
.naiyo-fl{
	padding-left: 1em;
	padding-right:1em;
}
.naiyo-fl-l{
	padding-right:1em;
	padding-left:1em
}	
.fl1-f{
	align-items:center;
}
.s-title-f img{
	width:100%;
}
.s-title-ff img{
	width:100%;
}
}


/*施工実例*/
.bunki{
	display:flex;
	list-style: none;
	margin-top:1em;
	justify-content:center;
	width:100%;
}
.bunki li{
	width:40%;
	padding-right: 0.5em;
	padding-left: 0.5em;
	font-size: 0.9em;
}
.bunki li img{
	max-width:348px;
	width:100%;
}
.work-title {
	text-align: center;
	width: 15em;
	margin-bottom: 2em;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #333333;
	padding-bottom: 0.5em;
}
.case{
	display:flex;
	width:100%;
	flex-wrap: wrap;
	justify-content:space-around;
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom-width: thin;
	border-bottom-style: dotted;
	border-bottom-color: #666666;
}
.photo{
	width:49%;
}
.photo img{
	max-width:620px;
	width:100%;
}
.photo-before img{
	max-width:300px;
}
/* width: 100%;で残りスペースを埋める */
.spacer {
  width: 100%;
}
@media screen and (max-width:768px){
.bunki{
	display:flex;
	flex-direction: column;
	justify-content:center;
	align-items:center;
	width:100%;
}
.bunki li{
	width:80%;
	padding-bottom:1em;
	align-items:center;
}
.bunki li img{
	max-width:348px;
	width:70%;
}
.case{
	display:flex;
	flex-direction: column;
	align-items:center;
	width:100%;
}
.photo{
	width:100%;
}
.photo-before{
	width:100%;
}
.photo-before img{
	width:80%;
}	
}
.naiyo-a .window{
	width:34px;
}
.until{
	display:flex;
	flex-wrap:wrap; 
	margin-top: 1em;
}
.until-item {
    width:20%;
}
@media screen and (max-width:640px){
.bunki li{
	width:90%;
}
.until{
	display:flex;
	flex-wrap:wrap; 
	justify-content: space-between;
	margin-top: 1em;
}
.until-item {
    width:40%;
	justify-content: space-around;
}

}


/*これまでの*/
.until-title{
	padding-bottom:1em;
	border-bottom-width: medium;
	border-bottom-style: solid;
	border-bottom-color: #FF0000;
	width: 40%;
}
.until-f{
	display:flex;
	width:100%;
	justify-content:center;
	margin-top:1em;
}
.u-item{
	flex-shrink: 0;
	width:50%;
	padding-right: 0.3em;
}
.u-item img{
	width:100%;
}
.u-item-r{
	width:40%;
	padding-left: 1em;
	border-left-width: thin;
	border-left-style: solid;
	border-left-color: #FF0000;		
}
.page{
	text-align: center;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	border-top-width: thin;
	border-bottom-width: thin;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #0099FF;
	border-bottom-color: #6699FF;
	margin-top: 1em;
}
@media screen and (max-width:768px){
.until-title{
	width: 80%;
}
.until-f{
	display:flex;
	width:100%;
	flex-direction:column;
	align-items:center;
}
.u-item{
	width:100%;
}
.u-item-r{
	width:100%;
	margin-top:1em;
}
}

/*お問い合わせ*/
.odenwa {
	text-align: center;
	width: 40%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 1em;
	padding-right: 1em;
	padding-bottom: 2em;
	padding-left: 1em;
	border-bottom-width: thick;
	border-bottom-style: dashed;
	border-bottom-color: #336699;
	margin-bottom: 2em;
}
.mailotoiawase {
	margin-top: 2em;
	margin-bottom: 2em;
	margin-right: 2em;
}
.mailotoiawase img{
	display: block;
	margin-right: auto;
	margin-bottom: 3em;
	margin-left: auto;
	padding-top: 2em;	
}
.mailer{
	width:80%;
	margin-right: auto;
	margin-left: auto;
}
.b{
	text-indent: 1em;
	margin-top: 1.5em;
}
.c{
	margin-top: 1em;	
}

@media screen and (max-width:768px){
.odenwa {
	width: 80%;
}
.odenwa img{
	width: 10%;	
}
.mailotoiawase img{
	width: 60%;
}
.sample{
	width:100%;
}
}.red {
	color: #F00;
}
