@charset "utf-8";

@media screen and (max-width: 767px) {
/*HEADER*/
.keyvisual {
	background-image:url(../images/company/keyvisual.jpg);
	background-position-y:top;
}


/*CONTENTS*/

section {
	padding:4rem 0;
}
main section:nth-of-type(even) {
	background-color:rgba(244,227,225,.2);
}

/*ごあいさつ*/
#greeting .content-box {
	width:100%;
}
#greeting .content-box .txt-box .img-box {
	margin-bottom:1rem;
}
#greeting .content-box .txt-box .img-box img {
	width:100%;
}
#greeting .message-box {
	padding:0 1rem 0 1rem;
}
#greeting .message-box h2 {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:bold;
	margin-bottom:1rem;
}
#greeting .message-box cite {
	display:block;
	font-family:'Noto Serif JP', serif;
	font-size:16px;
	font-weight:bold;
	white-space:nowrap;
	width:12em;
	margin: 0 0 0 auto;
}

/*会社概要*/
#profile .content-box {
	padding:0 1rem;
}
#profile .content-box > .table {
	border-top:solid 1px #999;
}
#profile .content-box > .table > .tr > .th,
#profile .content-box > .table > .tr > .td {
	font-weight:normal;
	padding:1rem 1rem;
}
#profile .content-box > .table > .tr > .th {
	background-color:rgba(244,227,225,.4);
}
#profile .content-box > .table > .tr:not(:last-of-type) > .td {
	border-bottom:solid 1px #999;
}
#profile .table ul.ul li:not(:last-child) {
	margin-bottom:.5rem;
}
#profile .table dl.post dt,
#profile .table dl.post dd {
	display:inline-block;
}
#profile .table dl.post dt {
	width:9em;
	padding-right:1em;
	text-align: justify;
    text-align-last: justify;
}
#profile .table dl.post dd {
	width:calc(100% - 11em);
}
#profile .table dl.post dd:not(:last-of-type) {
	margin-bottom:.5rem;
}
#profile .table dl.address dd {
	padding-left:1em;
}
#profile .table dl.address dd:not(:last-of-type) {
	padding-bottom:1rem;
	margin-bottom:1rem;
	border-bottom:dotted 1px #999;
}
#profile .license span.type {
	display:inline-block;
	width:7.6em;
	text-align: justify;
    text-align-last: justify;
}
#profile .license a {
	display:inline-block;
	color:#333;
	background:url(../images/icon-open-new-window.svg) no-repeat center right;
	background-size:1em;
	padding-right:1.5em;
}
#profile .table ul.supplier {
	list-style-type:disc;
	list-style-position:outside;
	margin-left:1.5em;
}
#profile .table ul.supplier li:not(:last-child) {
	margin-bottom:.5rem;
}

/*沿革*/
#history .content-box {
	padding:0 1rem;
}
#history .content-box > .table {
	border-top:solid 1px #999;
}
#history .content-box > .table > .tr > .th,
#history .content-box > .table > .tr > .td {
	font-weight:normal;
	padding:1rem 1rem;
}
#history .content-box > .table > .tr > .th {
	background-color:rgba(0,0,0,.02);
}
#history .content-box > .table > .tr:not(:last-of-type) > .td {
	border-bottom:solid 1px #999;
}

/*安全対策*/
#safety .container {
	padding:0 1rem;
}
#safety h2 {
	letter-spacing:.04em;
	font-weight:bold;
	margin-bottom:40px;
	display:flex;
	align-items: center;
	justify-content: center;
}
#safety h2 .sub {
	display: inline-block;
	font-size:10px;
	margin-left:1rem;
}
#safety h2::before,
#safety h2::after{
	content: "";
	flex-grow:1;
	border-top: 1px solid #999;
}
#safety h2:before {
	margin-right: 1rem; 
}
#safety h2:after {
	margin-left: 1rem; 
}
#safety .content-box:not(:last-of-type) {
	margin-bottom:40px;
}
ul.img-box {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:stretch;
}
ul.img-box li {
	width:calc(100% / 2 - .5rem);
}
ul.img-box li img {
	width:100%;
}
ul.img-box li:not(:last-child) {
	margin-bottom:1rem;
}
p.caption {
	font-size:10px;
}
p.caption::before {
	content:"△";
}

/*アクセスマップ*/
#map p {
	width:100%;
	text-align:center;
	margin-bottom:1em;
}
#map p:first-letter {
	color:rgba(204,0,0,1);
}
#map iframe {
	width:100%;
	max-height:calc(100vh - 100px);
}
#map .content-box ul {
}
#map .content-box ul li.osaka,
#map .content-box ul li.tokyo {
	width:100%;
	padding-bottom:1rem;
	margin-bottom:1rem;
	border-bottom:solid 1px #CCC;
}
#map .content-box ul li.chiba {
	width:100%;
}
}

@media screen and (min-width: 768px) {
/*HEADER*/
.keyvisual {
	background-image:url(../images/company/keyvisual.jpg);
	background-position-y:top;
}


/*CONTENTS*/

section {
	padding:60px 0;
}
main section:nth-of-type(even) {
	background-color:rgba(244,227,225,.2);
}

/*ごあいさつ*/
#greeting h1.title {
	text-align:left;
}
#greeting h1.title .en {
	display:inline-block;
	margin-right:1rem;
	margin-bottom:0;
}
#greeting h1.title .ja {
	display:inline-block;
}
#greeting .content-box {
	width:100%;
	height:576px;
	position:relative;
}
#greeting .content-box .img-box {
	width:768px;
	height:576px;
	position:absolute;
	top:0;
	left:0;
}
#greeting .content-box .txt-box {
	width:calc(100% - 500px);
	position:absolute;
	top: 50%;
	right:80px;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}
#greeting .message-box {
	padding:0 0 0 2rem;
}
#greeting .message-box h2 {
	font-family:"游明朝体", "Yu Mincho", YuMincho, serif;
	font-size:32px;
	font-weight:bold;
	margin-bottom:1rem;
}
#greeting .message-box cite {
	display:block;
	font-family:"Yu Mincho Regular", "游明朝 Regular", YuMincho, "游明朝体", serif;
	font-size:18px;
	font-weight:bold;
	white-space:nowrap;
	width:12em;
	margin: 0 0 0 auto;
}

/*会社概要*/
#profile .content-box {
	width:1080px;
	margin:auto;
}
#profile .content-box > .table {
	border-top:solid 1px #999;
}
#profile .content-box > .table > .tr > .th,
#profile .content-box > .table > .tr > .td {
	font-weight:normal;
	letter-spacing:.06em;
	text-align:left;
	vertical-align:top;
	padding:1rem 2rem;
	border-bottom:solid 1px #999;
}
#profile .content-box > .table > .tr > .th {
	text-align: justify;
    text-align-last: justify;
	width:24%;
	padding-left:5em;
	padding-right:5em;
	border-right:solid 1px #999;
}
#profile .table ul.ul li:not(:last-child) {
	margin-bottom:.5rem;
}
#profile .table dl.post {
}
#profile .table dl.post dt,
#profile .table dl.post dd {
	display:inline-block;
}
#profile .table dl.post dt {
	width:9em;
	padding-right:1em;
	text-align: justify;
    text-align-last: justify;
}
#profile .table dl.post dd {
	width:calc(100% - 11em);
}
#profile .table dl.post dd:not(:last-of-type) {
	margin-bottom:.5rem;
}
#profile .table dl.address {
}
#profile .table dl.address dd {
	padding-left:1em;
}
#profile .table dl.address dd:not(:last-of-type) {
	padding-bottom:1rem;
	margin-bottom:1rem;
	border-bottom:dotted 1px #999;
}
#profile .license span.type {
	display:inline-block;
	width:7.6em;
	text-align: justify;
    text-align-last: justify;
}
#profile .license a {
	display:inline-block;
	color:#333;
	background:url(../images/icon-open-new-window.svg) no-repeat center right;
	background-size:1em;
	padding-right:1.5em;
}
#profile .table ul.supplier {
	display:grid;
	gap:1px 1px;
	grid-template-columns:1fr 1fr 1fr;
	place-items:stretch stretch;
}
#profile .table ul.supplier li{
	padding:.5rem;
}

#profile .table ul.supplier li:not(:nth-child(-n+3)){
	border-top: dotted 1px #999;
}
#profile .table ul.supplier li:not(:nth-child(3n)){
	border-right: dotted 1px #999;
}

/*沿革*/
#history .content-box {
	width:1080px;
	margin:auto;
}
#history .content-box > .table {
	border-top:solid 1px #999;
}
#history .content-box > .table > .tr > .th,
#history .content-box > .table > .tr > .td {
	font-weight:normal;
	letter-spacing:.06em;
	text-align:left;
	vertical-align:top;
	padding:1rem 0 1rem 2rem;
	border-bottom:solid 1px #999;
}
#history .content-box > .table > .tr > .th {
	width:24%;
	padding-left:3em;
	border-right:solid 1px #999;
}

/*安全対策*/

#safety .container {
	width:1080px;
	margin:auto;
}
#safety h2 {
	letter-spacing:.04em;
	font-weight:bold;
	margin-bottom:40px;
	display:flex;
	align-items: center;
	justify-content: center;
}
#safety h2 .sub {
	display: inline-block;
	font-size:12px;
	margin-left:1rem;
}
#safety h2::before,
#safety h2::after{
	content: "";
	flex-grow:1;
	border-top: 1px solid #999;
}
#safety h2:before {
	margin-right: 1rem; 
}
#safety h2:after {
	margin-left: 1rem; 
}
#safety .content-box:not(:last-of-type) {
	margin-bottom:40px;
}
ul.img-box {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:stretch;
}
p.caption {
	font-size:12px;
}
p.caption::before {
	content:"△";
}

/*アクセスマップ*/
#map p {
	width:100%;
	text-align:center;
	margin-bottom:1em;
}
#map p:first-letter {
	color:rgba(204,0,0,1);
}
#map iframe {
	width:100%;
}
#map .content-box ul {
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
	align-items:stretch;
}
#map .content-box ul li.osaka {
	width:100%;
	margin-bottom:40px;
}
#map .content-box ul li.tokyo,
#map .content-box ul li.chiba {
	width:calc(50% - 20px);
	padding-top:1rem;
	border-top:solid 1px #CCC;
}
}