
@media screen and (min-width: 641px),print {
#page h3 {
margin: 2em 0 1em 0;
}
#page h4 {
font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
line-height: 1.8em;
color: #039d85;
font-weight: 700;
}
#page h5 {
font-size: clamp(0.875rem, 0.807rem + 0.34vw, 1.063rem);
line-height: 1.8em;
color: #000;
font-weight: 700;
padding: 1em 0 0 0;
}

#page p {
margin-bottom: 1.5em;
text-align: left;
}
#company dl {
display: flex;
flex-wrap: wrap;
font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
line-height: 1.8em;
margin: 20px auto 70px auto;
}
#company dl.history {
font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
}
#company dt {
width: 15%;
background-color: #F3F3F3;
padding: 0.5em 0 0.5em 0;
box-sizing: border-box;
text-align: center;
margin-bottom: 2px;
}
#company dd {
width: 85%;
padding: 0.5em 0 0.5em 1em;
box-sizing: border-box;
margin-bottom: 2px;
}
#company dd .map {
margin: 20px auto 20px auto;
}

#philosophy dl {
display: flex;
flex-wrap: wrap;
font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
line-height: 1.8em;
margin: 20px auto 70px auto;
}
#philosophy dt {
width: 25%;
max-width: 350px;
background-color: #F3F3F3;
padding: 0.5em 0 0.5em 0;
box-sizing: border-box;
text-align: center;
}
#philosophy dt img {
width: 100%;
height: auto;
}
#philosophy dd {
padding: 0.5em 0 0.5em 2em;
box-sizing: border-box;
}

}

@media screen and (min-width: 0px) and (max-width: 640px) {

#page dl {
font-size: 16px;
line-height: 1.3em;
margin: 20px auto 30px auto;
}
#page dl.history {
font-size: 15px;
line-height: 1.3em;
}
#page dt {
width: 100%;
background-color: #F3F3F3;
padding: 0.5em 0 0.5em 0.5em;
box-sizing: border-box;
text-align: left;
}
#page dd {
width: 100%;
padding: 0.5em 0 1em 0.5em;
box-sizing: border-box;
}
#page dd .map {
margin: 20px auto 20px auto;
}
#page dd .map {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
#page dd .map iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
}
