@charset "utf-8";
/*DEVICE：SP*/
@media screen and (max-width: 767px) {

/*ごあいさつ*/
section#greeting {
	background-color:rgba(244,244,244,1);
	padding:40px 20px;
	position:relative;
}
#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:table;
	font-family:'Noto Serif JP', serif;
	font-size:16px;
	font-weight:bold;
	text-align: left;
	margin-left:auto;
}
#greeting .message-box cite img {
	width:120px;
	height:auto;
}

/*会社概要*/
#profile {
	position:relative;
}
#profile::before{
  display:block;
  content:'';
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  background-color:rgba(48,69,197,1);
  mix-blend-mode:multiply;
}
#profile .content-box {
	padding:40px 20px;
	color:rgba(255,255,255,1);
	position:relative;
	z-index:1;
}
#profile .content-box > .table {
	padding:0 0;
	border-top:solid 1px #999;
}
#profile .content-box > .table > .tr > .th {
	font-size:18px;
	padding:1rem 1rem .5rem;
}
#profile .content-box > .table > .tr > .th:first-letter {
	color:rgba(0,173,201,1);
}
#profile .content-box > .table > .tr > .td {
	font-weight:normal;
	padding:.5rem 1rem 1rem;
}
#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 {
	padding-right:1em;
}
#profile .table dl.post dd {
}
#profile .table dl.post dd:not(:last-of-type) {
	margin-bottom:.5rem;
}
#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;
}

/*アクセスマップ*/
section#map {
	background-color:rgba(244,244,244,1);
	padding:40px 0 0;
}
#map p {
	width:100%;
	text-align:center;
	margin-bottom:1em;
}
#map iframe {
	width:100%;
	height:60vh;
}
#map .content-box ul {
}
#map .content-box ul li.osaka,
#map .content-box ul li.tokyo {
	width:100%;
}
#map .content-box ul li.chiba {
	width:100%;
}

}

/*DEVICE：PC TAB*/
@media screen and (min-width: 768px) {
/*HEADER NAVI*/
#header .container ul.pc li.company a {
	color:rgba(255,255,255,1);
	background-color:rgba(0,117,143,1);
}
#header .container ul.pc li.company a .ja,
#header .container ul.pc li.company a .en {
	color:rgba(255,255,255,1);
}

/*CONTENTS*/

section {
	padding:80px 0;
}

/*ごあいさつ*/
section#greeting {
	background-color:rgba(244,244,244,1);
	padding:0 0;
	position:relative;
}
#greeting h1.title {
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	align-items:flex-end;
	gap:0 1rem;
}
#greeting h1.title .en,
#greeting h1.title .ja {
	line-height:1;
}
#greeting .content-box {
	width:100%;
	display:flex;
	align-items:stretch;
}
#greeting .content-box .img-box {
	width:500px;
	background-color:rgba(244,244,244,1);
	transition-delay:1s;
}
#greeting .content-box .img-box.on {
	background-color:rgba(19,38,82,1);
}
#greeting .content-box .txt-box {
	width:calc(100% - 500px);
	padding:60px 60px 60px 1rem;
	display:flex;
	flex-flow:column wrap;
	justify-content:center;
	align-items:flex-start;
}
#greeting .message-box {
	padding:0 0 0 2rem;
}
#greeting .message-box h2 {
	font-family: 'Noto Serif JP', serif;
	font-size:32px;
	font-weight:bold;
	margin-bottom:1rem;
}
#greeting .message-box cite {
	display:table;
	font-family: 'Noto Serif JP', serif;
	font-size:18px;
	font-weight:bold;
	white-space:nowrap;
	margin: 0 0 0 auto;
}

/*会社概要*/
#profile {
	position:relative;
}
#profile::before{
  display:block;
  content:'';
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  background-color:rgba(48,69,197,1);
  mix-blend-mode:multiply;
}
#profile .content-box {
	width:800px;
	margin:auto;
	color:rgba(255,255,255,1);
	position:relative;
	z-index:1;
}
#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:1em 2em;
	border-bottom:solid 1px #999;
}
#profile .content-box > .table > .tr > .th {
	text-align: justify;
    text-align-last: justify;
	width:24%;
	padding-left:2em;
	padding-right:2em;
	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 {
	padding-right:1em;
}
#profile .table dl.post dd {
}
#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;
}

/*アクセスマップ*/
section#map {
	background-color:rgba(244,244,244,1);
	padding-bottom:0;
}
#map p {
	width:100%;
	text-align:center;
	margin-bottom:1em;
}
#map p:first-letter {
	/*color:rgba(85,30,177,1);*/
	color:rgba(0,173,201,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%;
}

}