*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;

}

body{
line-height: 1;
}
img{
    vertical-align: bottom;
    max-width: 100%;
}
ul li a{
    text-decoration: none;
}
ul li {
    list-style: none;
}

:root{
    --headfoot-bg-color:#38579A;

}



.container{
    text-align: center;
    margin: 0 auto;
    
    font-family: 'Meiryo', Tahoma, Geneva, Verdana, sans-serif;
}
.box{

}


ul {
    border: 1px solid #f00;

}

.hero{
    height: 350px;
    background-image: url(../img/mall_bg.jpg);
    background-repeat: no-repeat;
    background-position: center -20px;
    color: #fff;
    padding: 70px 50px;
    /* object-fit: cover; */
    background-size: cover;
    text-align: center;
    margin-bottom: 20px;
}
.hero p{
    line-height: 1.5;
    padding: 80px;
    font-size: 1.6em;
    font-weight:400;

}
.picblock{

}

main .picblock p div.pictitle{
    border-bottom: 3px solid #000;
}

/* hako3-ko */
header .headbox{
    border: 1px solid #0f0;
    max-width: 960px;
}

nav {
    border: 1px solid #f00;
    max-width: 960px;
    margin: 0 auto;
    

    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    gap: 20px;

    text-align: left;
}
nav ul{
    display: flex;
}
nav li a{
    padding: 15px 8px 10px;
    color: #aaa;
    font-weight: bold;
}
nav li a:hover{
    color: #000;
}
nav li.open{

    border-bottom: 4px solid #f00;
}

main .picblock{
    border: 1px solid #00f;
    display:flex;

}

.headbox{
    text-align: center;
    margin: 0 auto;;
    display: flex;
    justify-content: space-between;

    color: #fff;
}
header {
 
       background-color:var(--headfoot-bg-color);
}
.headbox p{
    width: 55%;
    padding: 8px 150px 10px;
    text-align: left;
}

header h1{
    line-height: 50px;
    background-image: url(../img/logo.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    vertical-align: text-bottom;

    font-size: 30px;
    padding: 8px 45px 10px;
}

main {
    justify-content: space-between;
}


main section{
    width: 30%;
    display: flex;
    flex-direction: column;
    padding: 20px;
}

main section h2{
    border-left: 6px solid #f70;
    border-top: 1px solid #f70;
    padding: 10px 8px;
    margin-bottom: 10px;
    order: 0;
}
main section img{
    order: 2;
    width: 100%;
    height: 250px;
    object-fit: cover;
}
main section p.pic-text{
    line-height: 1.67;
    padding: 10px;
    color: #fff;
    background-color: #000;
    order: 5;
}

footer{
    background-color: var(--headfoot-bg-color);
    color: #fff;
    font-weight: 2rem;
    text-align: center;
    padding: 30px 0 50px;
}