@charset "utf-8";

/*HEADER*/
.keyvisual {
	background-image:url(../images/company/keyvisual.webp);
}

/*NAVI*/
header nav a[href*="company"] .en {
	color:rgb(73, 170, 217);
}

/*個人情報の取り扱い*/
#privacy section {
	padding:0;
}
#privacy .section dl dt {
	margin-bottom:1rem;
}
#privacy .section dl dt:first-letter {
	color:rgba(31,130,205,1);
}
#privacy .section dl dd {
	text-align:justify;
	margin-bottom:4rem;
}
#privacy .section dl dd:last-of-type {
	margin-bottom:0;
}

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


/*CONTENTS*/

section {
	padding:4rem 0;
}
main section:nth-of-type(even) {
	background-color:rgba(31,126,173,.05);
}

/*About Us*/
#about {
	padding:4rem 2rem;
}
#about .content-box {
	background: linear-gradient(180deg, rgba(1,175,212,0) 0, rgba(1,175,212,0) 240px, rgba(1,175,212,.25) 240px, rgba(1,175,212,.25) 100%);
	padding:1rem;
}
#about .content-box .img-box {
	width:240px;
	margin:0 auto 1rem;
}
#about .content-box .txt-box {
}
#about .message-box h1 {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:700;
	margin-bottom:1rem;
}

/*会社概要*/
#profile .content-box {
	padding:0 2rem;
}
#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(31,126,173,.1);
}
#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;
	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;
}

/*アクセスマップ*/
#map p {
	width:100%;
	text-align:center;
	margin-bottom:1em;
}
#map p:first-letter {
	color:rgba(1,175,212,1);
}
#map iframe {
	width:100%;
	max-height:calc(100vh - 100px);
	padding:0 2rem;
}
#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;
}

/*個人情報の取り扱い*/
#privacy .section {
	padding:4rem 0;
}
#privacy .section dl {
	padding:0 2rem;
}
#privacy .section dl dt {
	font-size:16px;
}
#privacy .section dl dd {
	font-size:14px;
}
}

@media screen and (min-width: 768px) {
/*BASE*/
section {
	padding:80px 60px;
}
main section:nth-of-type(even) {
	background-color:rgba(31,130,205,.1);
}
	
/*HEADER*/

/*CONTENTS*/

/*About Us*/
#about .content-box {
	background-image:linear-gradient(0deg, rgba(31,130,205,.25) 0, rgba(31,130,205,.25) 100%) ;
	background-repeat:no-repeat;
	background-size:1000px 100%;
	background-position:top 160px left 120px;
	max-width:1000px;
	margin:auto;
	display:flex;
	flex-wrap:nowrap;
	justify-content:flex-start;
	align-items:flex-start;
}
#about  .content-box .img-box {
	width:240px;
}
#about .content-box .txt-box {
	width:calc(100% - 280px);
	padding:0 0 30px 40px;
}
#about  .message-box h1 {
	font-family:"Noto Serif JP", serif;
	font-size: clamp(32px, 2.8vw, 36px);
	font-weight:700;
	height:160px;
	padding-bottom:40px;
	margin-bottom:40px;
	display:flex;
	align-items:flex-end;
}

/*会社概要*/
#profile .content-box {
	max-width:1000px;
	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 {
	font-weight:600;
	text-align: justify;
    text-align-last: justify;
	white-space:nowrap;
	width:24%;
	padding-left:5em;
	padding-right:5em;
	border-right:solid 1px #999;
}
#profile .content-box > .table > .tr > .td {
	padding-right:0;
}
#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;
	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;
}

/*アクセスマップ*/
#map .content-box {
	max-width:1000px;
	margin:auto;
}
#map p {
	width:100%;
	text-align:center;
	margin-bottom:1em;
}
#map p:first-letter {
	color:rgba(1,175,212,1);
}
#map iframe {
	width:100%;
}
#map .content-box ul li.osaka {
	margin-bottom:60px;
}

/*個人情報の取り扱い*/
#privacy .keyvisual .title-box span {
	display:block;
}
#privacy .section {
	padding:80px 60px;
}
#privacy .section dl {
	max-width:1000px;
	margin:auto;
}
#privacy .section dl dt {
	font-size:20px;
}
#privacy .section dl dd {
	font-size:16px;
}

}


