@charset "utf-8";

/*---------------------------------------------
共通CSS
----------------------------------------------*/

/*--初期設定------*/
*{
margin: 0;
padding: 0;
}
body{
font-family: sans-self;
line-height: 1;
color: #333;
}
ul{
list-style: none;
}
a{
text-decoration: none;
color: inherit;
display: block;
}
img{
max-width: 100%;
vertical-align: bottom;
}

.spnav, .btn, .top{
  display: none;  
}

/*カスタムプロパティ*/
:root{
  --main-color: #365699;
}


/*topへ戻る*/
.top{
width:45px;
height: 45px;
color: #fff;
border: 1px solid #fff;
background: rgba(0, 0, 0, 0.5);
border-radius: 5px;
text-align: center;
position: fixed;
right: 5px;
bottom: 5px;
z-index:9999;
}
.top i{
display: block;
padding-top: 5px;
}

/*--共通幅、共通flex-------*/
.container{
max-width: 960px;
margin: 0 auto;
padding-inline: 10px;
display: flex;
justify-content: space-between;
align-items: center;
}
/*----共通h2------*/
#home h2{
width: 10em;
padding: 7px 40px;
margin: 0 auto 50px;
color: #fff;
text-align: center;
background: var(--main-color);
}
/*mall/service共通*/
#home .mall,#home .service,#home .info, #home .access{
padding: 80px 0;
}
#home .mall section,#home .service section{
width: calc(1/3 *100%);
}

/*header*/
header{
color: #fff;
background: var(--main-color);
}
h1{
font-size: 22px;
margin: 20px 0;
line-height: 50px;
padding-left: 50px; 
background: url(../img/logo-1.png) 
no-repeat left center;

}
header p{
line-height: 1.7;
}


/*--navigation--------*/
.pcnav .container{
padding: 20px 10px;
gap: 20px;
justify-content:
 flex-start;
}
.pcnav a{
padding-bottom: 5px;
}
.current, .current:hover {
border-bottom: 5px solid #f60;
}
.pcnav a:hover{
border-bottom: 5px solid var(--main-color);
margin-bottom: -5px;
}
/*開発実績サブメニュー*/


.submenu{
  position: absolute;
  margin-top: 5px;
  opacity: 0;
  transition: 300ms;
}
.submenu a{
  background: rgba(255, 255, 255, 0.7);
  line-height: 1.5;
  padding-inline: 10px;
}
.submenu a:hover{
  background: rgba(54, 85, 153, 0.7);
  color: #fff;

}
.divelop{
  padding-bottom: 5px;
}
.divelop:hover{
  cursor: pointer;
}
.divelop:hover .submenu{
  opacity: 1;
}



/*footer*/
footer{
padding: 30px;
text-align: center;
color: #fff;
background: var(--main-color);
}

/*メディアクエリ743*/
@media screen and (max-width:743px){
  .container{
    display: block;
  }
  .pcnav{
    display: none;
  }
  .spnav{
    display: block;
    width: 100%;
    background: rgba(30, 100, 200, 0.8);
    position: absolute;
  }
  .spnav li{
    border-bottom: 1px solid #aaf;
    text-align: center;
    line-height: 70px;
             
  }
  .spnav a{
    color: #fff;
    font-size: 1.4em;
    font-weight: bold;
  }

  .btn{
    display: block;   
    height: 70px;
    text-align: center;  
    background: linear-gradient(#cdf,#fff);
    overflow: hidden;
  }
  .btn i{
    display: block;
    padding-top: 16px;  
    color: var(--main-color);
    font-size: 35px;
  }
  .close i:first-child{
    display: none;
  }

  header .container{
    display: flex;
  }
  h1{
    padding-left: 35px;
    background-size: 15%;
  }
  header p{
    font-size: 0.9em;
  }

}

/*メディアクエリ549*/
@media screen and (max-width:549px){
  header .container{
    display: block;
    text-align: center;
    padding: 10px;  
  }
  header p{
    display: none;
  }
  h1{
    padding:8px 0 8px 50px;  
    display: inline;
    margin: 0;
    text-align: center;
    background-size: auto;
  }
}


/*-------------------------------------------
  #home
--------------------------------------------*/

/*--keyVis-----------*/
#home .keyVis{
font-family: 'Noto Serif JP', serif;
text-align: center;
line-height: 1.5;
color: #fff;
font-size: 45px;
background: url(../img/mall_bg-1.jpg) 
no-repeat center;
background-size: cover;
padding: 70px 0;
font-weight: bold;
}

/*mallご案内*/
#home .mall a{
padding: 10px;
overflow: hidden;
}
#home .mall a:hover{
background: #fea;
}
#home .mall h3{
border-left: 10px solid #f60;
line-height: 18px;
margin-bottom: 10px;
}


#home .mall img{
height: 200px;
object-fit: cover;
}
 #home .mall a p:first-of-type{
margin-top: 10px;
line-height: 1.6;
height: 10em;
}
#home .more{
padding:7px 5px 4px;
text-align: center;
color: #fff;
background: #fa7;
width: 6em; 
float: right;
border-radius: 5px;/*角を丸める*/
}
#home .mall a:hover .more{
background: #f00;
}


#home .service{
background: #ddd;  
}
#home .service h2{
  color: var(--main-color);
  background: #fff;
}
#home .service i{
  display: block;
  font-size: 50px;
  margin-bottom: 20px;
  padding-top: 48px;
}
#home .service h3{
width: 200px;
height: 200px;
margin:0 auto 20px;
text-align: center;
color: #fff;
background: var(--main-color);
border-radius: 50%;
font-size: 22px;
}
#home .service p{
margin: 0 10%;
line-height: 1.5;
}
#home .service a:hover h3{
background: rgba(54, 86, 153, 0.4); 
}


/*info*/
#home .info dl{
  overflow: hidden;
}
#home .info dt{
  padding-left: 5px;
  float: left;
  border-left: 16px solid #f60;
}
#home .info dd{
  margin-left: 150px;
  margin-bottom: 20px;
}
#home .info dd:last-of-type{
  margin-bottom: 0;
}
#home .info img{
  max-width: 300px;
  padding: 10px;
  border: 1px solid #999;
  box-sizing: border-box;
}

#home .access{
  background: #ddd;
}
#home .map{
  position: relative;
  padding-bottom: 45%;
}
#home .access h2{
  color: var(--main-color);
  background: #fff;
}
#home .access iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/*メディアクエリ743*/
@media screen and (max-width:743px){
  #home .keyVis{
    padding: 50px 0;
    font-size: 34px;
  }
 
  #home .mall,#home .service,#home .info,#home .access{
  padding: 20px 0;
  }
  #home .mall section,#home .service section{
  width: 100%;
  }
  #home h2{
    margin-bottom: 20px;
  }
  
  #home .mall section+section{
    margin-top: 20px;
  }
  #home .mall img{
    height: 400px;
  }
   #home .mall a p:first-of-type{
    height: auto;
    margin-bottom: 10px;
  }
  #home .more{
    width: 100%;
    float: none;
    text-align: center;
    padding: 20px 0; 
    font-size: 1.2em;
    font-weight: bold; 
  }
  #home .mall a:last-of-type img{
    width: 100%;    
  }
  
  #home .service a{
    margin: 20px 0;
    padding: 20px;    
    background: #fff;
    border-radius: 10px
  }
  #hoem .service p{
    max-width: 400px;
    margin: 0 auto;
  }
  
  #home .info dl{
    width: 60%;
    margin-inline: auto;    
  }
  #home .info dd{
    margin-left: 100px;
  }

  #home .info img{
    display: none;
  }

}

/*メディアクエリ549*/
@media screen and (max-width:549px){
  #home .keyVis{
    padding: 30px 0;
    font-size: 19px;
    background: url(../img/mall_bg_sp.jpg)
      no-repeat center top/cover;
  }

  #home .mall a{
    padding: 0;
  }
  #home .mall img{
    height: 250px;
  }

  
  #home .info dl{
    width: 100%;
    font-size: 0.9em;
  }
  #home .info dd{
    margin-left: 90px;
  }
  
  #home .map{
    padding-bottom: 120%;
  }
}  

/*-------------------------------------------
  #mall
--------------------------------------------*/
#mall .container{
  margin-bottom: 50px;
  align-items: flex-start;
  gap: calc(60/960*100%);
}
#mall header .container{
  align-items: center;
  margin-bottom: 0;
}
#mall .pcnav .container{
  gap: 20px;
  padding-left: 10px;
  margin-bottom: 0;
}

#mall h2{
  padding-block: 50px;
  text-align: center;
  color: #fff;
  text-shadow: 2px 2px 2px #000;
  letter-spacing: 1px;
  background: url(../img/durian-header.jpg)
    no-repeat center bottom/cover;
}

#mall main{
  width: calc(600/960*100%);
}
#mall .sidebar{
  width: calc(300/960*100%);
}


#mall section{
  margin-top: 30px;
}
#mall main h3{
  margin-bottom: 20px;
  padding:16px 50px 12px;
  color: #059;
  background: #cef
    url(../img/mall-mark.png)
    no-repeat left 8px center;
}
#mall p{
  line-height: 1.6;
}
#mall main>section p+p{
  margin-top: 10px;
}
#mall .info-box{
  margin-bottom: 10px;
  display: flex;
  gap: 15px;
}
#mall .info-box img{
  width: 130px;
  padding: 5px;
  border: 1px solid #aaa;
  object-fit: cover;

}
#mall .info-wrap{
  width: 440px;
}
#mall h4{
  margin-bottom: 10px;
  padding-left: 10px;
  line-height: 1.6;
  border-left: 5px solid #f60;
}
#mall table{
  width: 100%;
  border-collapse: collapse;
}
#mall th{
  width: 6.5em;
  padding: 5px;
  text-align: center;
  font-size: 0.9em;
  background: #ddd;
  border: 1px solid #aaa; 
}
#mall td{
  padding: 5px;
  line-height: 1.4;
  font-size: 0.9em;
  border: 1px solid #aaa;
}
#mall .com-p{
  width: fit-content;
  padding: 5px 18px;
  background: #0cf;
  color: #fff;
  border-radius: 50%;
}
#mall .com-box{
  margin-top: 5px;
  padding: 1em;
  border: 1px solid #0cf;
  font-size: 0.9em;
}

#mall .sidebar h3{
  padding: 12px 15px 10px;  
  background: #008ec2;
  color: #fff;
}
#mall span{
  
  padding-left: 10px;
  border-left: 3px solid #fff;
}
#mall .sidebar ul{
  margin-bottom: 30px;
  padding: 20px;
  background: #cef;
}
#mall .sidebar ul a{
  padding-left: 10px;
  line-height: 30px;
  border-bottom: 1px dotted #555;
}
#mall .sidebar ul a:hover{
  background:#0695d7;
}



/*メディアクエリ743*/
@media screen and (max-width:743px){
  
}

/*メディアクエリ549*/
@media screen and (max-width:743px){
  
}
