@charset "UTF-8";
/*
 * about.css
 *
 */

/* !ご挨拶
---------------------------------------------------------- */
.greeting {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.greeting-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 100px;
    margin-top: 50px;
}

.greeting__left {
    flex: 1;
}

.greeting__left p {
    line-height: 2;
    margin-top: 2em;
}

.greeting__left p:first-child {
    margin-top: 0;
}

.greeting__right {
    width: 316px;
    text-align: right;
}

.greeting__img {
    width: 100%;
    height: auto;
    display: block;
	border-radius: 4px;
    margin-bottom: 20px;
}

.greeting__sign {
    font-weight: var(--font-weight-bold);
}

.greeting__sign span {
    font-size: 140%;
	margin-left: 1em;
}

@media screen and (max-width: 1039px) {
.greeting {
	padding:70px 30px 0 30px;
}

.greeting-container {
    gap: 50px;
    margin-top: 45px;
}

.greeting__right {
    width: 280px;
}

.greeting__sign span {
    font-size: 130%;
}
}

@media (max-width: 767px) {
.greeting {
	padding:70px 25px 0 25px;
}

.greeting-container {
	flex-wrap: wrap;
    gap: 50px;
    margin-top: 35px;
}

.greeting__right {
    width: 100%;
    text-align: center;
}

.greeting__img {
    max-width: 240px;
    margin:0 auto 15px auto;
}
}

/* !会社概要
---------------------------------------------------------- */
.profile {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.profile__table {
	margin: 40px 0 100px;
}

.profile__item {
	width:280px;
}

.profile__value {
	width:calc(100% - 280px);
}

.profile__map-block {
	margin-top: 60px;
}

.profile__map-block--first {
	margin-top: 40px;
}

.profile__map {
	width:100%;
	height:450px;
	border-radius: 4px;
	margin-top: 20px;
}

@media screen and (max-width:1039px){
.profile {
	padding:70px 30px 0 30px;
}

.profile__table {
	margin: 35px 0 90px;
}

.profile__item {
	width:260px;
}

.profile__value {
	width:calc(100% - 260px);
}

.profile__map-block {
	margin-top: 50px;
}

.profile__map-block--first {
	margin-top: 35px;
}
}

@media screen and (max-width:767px){
.profile {
	padding:70px 25px 0 25px;
}

.profile__table {
	margin: 25px 0 80px;
}

.profile__map-block {
	margin-top: 40px;
}

.profile__map-block--first {
	margin-top: 30px;
}

.profile__map {
	height:400px;
	margin-top: 15px;
}

}

/* !会社沿革
---------------------------------------------------------- */
.history {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.history__list {
    width: 100%;
	margin-top: 50px;
}

.history__container {
    display: flex;
    position: relative;
    padding-bottom: 35px;
}
.history__container:last-child {
    padding-bottom: 0;
}

.history__date {
    width: 250px;
    flex-shrink: 0;
    font-weight: var(--font-weight-bold);
    padding-right: 50px; /* ドットとの距離 */
}

.history__event {
    flex: 1;
    margin: 0;
    padding-left: 50px; /* ドットとの距離 */
}

.history__container::before {
    content: "";
    position: absolute;
    left: 250px; /* .history__dateの幅と同じ位置 */
    top: 4px;
    width: 16px;
    height: 16px;
    background-color: var(--main-color);
	border: 6px solid #fff;;
    border-radius: 50%;
    transform: translateX(-50%); /* 中心を合わせる */
    z-index: 2;
}

.history__container::after {
    content: "";
    position: absolute;
    left: 250px;
    top: 5px;
    width: 1px;
    height: 100%;
    background-color: var(--base-font-color);
    transform: translateX(-50%);
	opacity:.5;
    z-index: 1;
}

.history__container:last-child::after {
    display: none;
}

@media screen and (max-width:1039px){
.history {
	padding:70px 30px 0 30px;
}

.history__list {
	margin-top: 45px;
}

.history__date {
    width: 220px;
    padding-right: 40px;
}

.history__event {
    padding-left: 40px;
}

.history__container::before {
    left: 220px;
    top: 2px;
}

.history__container::after {
    left: 220px;
}
}

@media screen and (max-width:767px){
.history {
	padding:70px 25px 0 25px;
}

.history__list {
	margin-top: 35px;
}

.history__container {
	flex-wrap: wrap;
    padding-bottom: 30px;
}

.history__date {
    width: 100%;
    flex-shrink: auto;
    padding-right: 0;
	padding-left: 20px;
	padding-bottom:5px;
}

.history__event {
	width: 100%;
    flex: auto;
    padding-left: 20px;
}

.history__container::before {
    left: 0;
    top: 2px;
	border: 5px solid #fff;;
}

.history__container::after {
    left: 0;
    top: 5px;
}
}

/* !企業理念
---------------------------------------------------------- */
.philosophy {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.philosophy__body {
	margin-top: 50px;
	padding:30px 45px;
	background: #F4FDFF;
	border-radius: 4px;
}

.philosophy__txt {
	font-size:18px;
	font-weight: var(--font-weight-bold);
}

.philosophy__ci-title {
	margin-top: 90px;
}

.philosophy__ci {
	margin-top: 50px;
}

.philosophy__ci--first {
	margin-top: 40px;
}

.c-sub-title3--accent-color::before {
	background: var(--accent-color);
}

.c-sub-title3--second-color::before {
	background: var(--second-color);
}

.philosophy__fig {
	display: block;
	width:100%;
	max-width: 705px;
	margin: 60px auto 0 auto;
}

.philosophy__logo {
	width:100%;
	margin-top: 100px;
	padding:60px;
	background: #F4FDFF;
	border-radius: 4px;
	display: flex;
	align-items: center;
	gap:70px;
}

.philosophy__logo-mark {
	width:150px;
}

.philosophy__logo-img {
	display: block;
	width:100%;
}

.philosophy__logo-desc {
	flex:1;
}
.philosophy__logo-title {
	font-size:18px;
	font-weight: var(--font-weight-bold);
	margin-bottom: 10px;
}

@media screen and (max-width:1039px){
.philosophy {
	padding:70px 30px 0 30px;
}

.philosophy__body {
	margin-top: 45px;
	padding:25px 30px;
}

.philosophy__txt {
	font-size:16px;
}

.philosophy__ci-title {
	margin-top: 80px;
}

.philosophy__ci {
	margin-top: 40px;
}

.philosophy__ci--first {
	margin-top: 30px;
}

.philosophy__fig {
	margin: 50px auto 0 auto;
}

.philosophy__logo {
	margin-top: 80px;
	padding:40px;
	gap:50px;
}

.philosophy__logo-mark {
	width:130px;
}
}

@media screen and (max-width:767px){
.philosophy {
	padding:70px 25px 0 25px;
}

.philosophy__body {
	margin-top: 40px;
	padding:25px 20px;
}

.philosophy__txt {
	font-size:15px;
}

.philosophy__ci-title {
	margin-top: 60px;
}

.philosophy__ci {
	margin-top: 30px;
}

.philosophy__ci--first {
	margin-top: 25px;
}

.philosophy__fig {
	margin: 40px auto 0 auto;
}

.philosophy__logo {
	margin-top: 60px;
	padding:30px 20px 25px 20px;
	flex-wrap: wrap;
	gap:30px;
}

.philosophy__logo-mark {
	width:100%;
}

.philosophy__logo-img {
	width:110px;
	margin: 0 auto;
}

.philosophy__logo-desc {
	width:100%;
}
.philosophy__logo-title {
	font-size:15px;
}
}

/* !企業行動規範
---------------------------------------------------------- */
.code {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.code__lead {
	margin-top: 50px;
}

.code__sign {
	margin-top: 60px;
	text-align: right;
}

@media screen and (max-width: 1039px) {
.code {
	padding:70px 30px 0 30px;
}

.code__lead {
	margin-top: 45px;
}

.code__sign {
	margin-top: 50px;
}
}

@media screen and (max-width: 767px) {
.code {
	padding:70px 25px 0 25px;
}

.code__lead {
	margin-top: 35px;
}

.code__sign {
	margin-top: 40px;
}
}

/* !情報セキュリティマネジメントシステム（ISMS）について
---------------------------------------------------------- */
.isms {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.isms__iso {
	width:100%;
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap:80px;
}

.isms__iso-desc {
	flex:1;
}

.isms__iso-mark {
	width:300px;
}

.isms__iso-logo {
	display: block;
	width:100%;
	border: 1px solid var(--second-color);
}

.isms__iso-caption {
	font-size:14px;
	text-align: center;
	margin-top: 15px;
}

.isms__lead {
	margin-top:40px;
}

.isms__icon-list {
	margin-top:50px;
}

@media screen and (max-width: 1039px) {
.isms {
	padding:70px 30px 0 30px;
}

.isms__iso {
	margin-top: 50px;
	gap:50px;
}

.isms__iso-mark {
	width:240px;
}

.isms__iso-caption {
	margin-top: 12px;
}

.isms__lead {
	margin-top:30px;
}

.isms__icon-list {
	margin-top:40px;
}
}

@media screen and (max-width: 767px) {
.isms {
	padding:70px 25px 0 25px;
}

.isms__iso {
	margin-top: 50px;
	flex-wrap: wrap;
	gap:40px;
}

.isms__iso-desc {
	width:100%
}

.isms__iso-mark {
	width:100%
}

.isms__iso-logo {
	max-width:240px;
	margin: 0 auto;
}

.isms__iso-caption {
	margin-top: 10px;
}
}

/* !品質方針書について
---------------------------------------------------------- */
.quality {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.quality__base-policy {
	margin-top: 40px;
}

.quality__year-policy {
	margin-top: 70px;
}

@media screen and (max-width: 1039px) {
.quality {
	padding:70px 30px 0 30px;
}

.quality__year-policy {
	margin-top: 60px;
}
}

@media screen and (max-width: 767px) {
.quality {
	padding:70px 25px 0 25px;
}

.quality__base-policy {
	margin-top: 30px;
}

.quality__year-policy {
	margin-top: 50px;
}
}

/* !組織図
---------------------------------------------------------- */
.organization {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.organization__fig {
	display: block;
	width:100%;
	max-width: 770px;
	margin: 60px auto 0 auto;
}

@media screen and (max-width: 1039px) {
.organization {
	padding:70px 30px 0 30px;
}

.organization__fig {
	margin: 50px auto 0 auto;
}
}

@media screen and (max-width: 767px) {
.organization {
	padding:70px 25px 0 25px;
}

.organization__fig {
	margin: 40px auto 0 auto;
}
}

/* !労働者派遣法に基づく情報公開
---------------------------------------------------------- */
.disclosure {
	width:100%;
	padding:100px 50px 0 50px;
	position: relative;
}

.disclosure__lead {
	margin-top:40px;
}

.disclosure__icon-list {
	margin-top:40px;
}

@media screen and (max-width: 1039px) {
.disclosure {
	padding:70px 30px 0 30px;
}

.disclosure__lead {
	margin-top:30px;
}

.disclosure__icon-list {
	margin-top:30px;
}
}

@media screen and (max-width: 767px) {
.disclosure {
	padding:70px 25px 0 25px;
}
}
