@charset "utf-8";
/* CSS Document */

footer {
	padding-top: 16px;
}

.page_menu li a {
	color: #111;
}
.page_menu li a:hover {
	background: #111;
	color: #FFF;
}

.section_overview {
	color: #111;
	background: #FFF;
	padding-top: 120px;
}
.sec02 .section_overview {
	background: #EDEDEE;
}
.section_overview .ttl_box {
	flex: 1;
}
.section_overview .info_box {
	width: 700px;
	padding-top: 0;
}

.info_box .company_details {
	display: flex;
	flex-wrap: wrap;
	border-bottom: solid 1px #999;
	margin-bottom: 16px;
	line-height: 1.75;
}
.info_box .company_details>dt {
	padding: 24px 0;
	width: 200px;
	border-top: solid 1px #999;
}
.info_box .company_details>dd {
	padding: 24px 0;
	width: 500px;
	border-top: solid 1px #999;
	font-weight: 400;
}
.company_details .office {
	margin-bottom: 24px;
}
.company_details .office img {
	width: 100%;
	height: 100%;
	margin-bottom: 16px;
}
.company_details .office_info dt {
	font-weight: 500;
}
.company_details .office_info dd {
	font-size: 1.6rem;
	line-height: 1.75;
}
.company_details .office_info dd.note {
	color: #C33;
	line-height: 1.75;
	font-size: 1.5rem;
	margin: 16px 0;
	font-weight: 500;
}
.company_details .office .map {
	width: fit-content;
	height: 50px;
	line-height: 50px;
	display: block;
	margin-left: auto;
	font-weight: 500;
	color: #000;
  /*background: url("../images/arrow_link_border.svg") no-repeat right center / 50px;
  padding-right: 66px*/
}
/*.company_details .office .map:hover {
	opacity: 0.7;
	transition: 0.3s;
}*/
/************** アコーディオン **************/

.accordion_item {
	margin-bottom: 16px;
}

/* checkboxを隠す */
.accordion input {
  display: none;
}

/* タイトル */
.accordion_title {
  display: flex;
	gap:0 1em;
  align-items: center;
  padding: 11px 16px;
  cursor: pointer;
	background: var(--navy);
	color: #FFF;
	font-size: 1.8rem;
	line-height: 1;
}

/* アイコン */
.icon {
  position: relative;
  width: 14px;
  height: 14px;
}
.icon::before,
.icon::after {
  content: "";
  position: absolute;
  background: #FFF;
  transition: transform .2s ease;
}
.icon::before {
  width: 14px;
  height: 2px;
  top: 6px;
  left: 0;
}
.icon::after {
  width: 2px;
  height: 14px;
  top: 0;
  left: 6px;
}

/* コンテンツ */
.accordion_content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .2s ease;
}
.accordion_inner {
  overflow: hidden;
}
.accordion_inner li {
	display: flex;
	padding: 24px 0;
}
.accordion_inner li:not(:last-child) {
	border-bottom: solid 1px #999;
}
.accordion_inner li .year {
	width: 200px;
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	color: var(--navy);
}
.accordion_inner li .incident {
	width: 700px;
}
.accordion_inner .incident dl {
	font-size: 1.6rem;
	line-height: 1.75;
}
.accordion_inner .incident dl:not(:last-of-type) {
	border-bottom: solid 1px #999;
	padding-bottom: 24px;
}
.accordion_inner .incident dl:not(:first-of-type) {
	padding-top: 24px;
}
.accordion_inner .incident dl dd {
	font-weight: 400;
}

/* 開いた状態 */
.accordion input:checked + .accordion_title + .accordion_content {
  grid-template-rows: 1fr;
}
.accordion input:checked + .accordion_title .icon::after {
  transform: scaleY(0);
}



@media screen and (min-width:768px), print{
/*----------------------------------------------------------------------
PC Style
----------------------------------------------------------------------*/
  /* 追記 */
  .accordion_title {
    transition: background 0.4s;
  }
  .accordion_title:hover {
    background: var(--sky);
  }
  .accordion_title .icon {
    transition: transform 0.4s;
  }
  .accordion_title:hover .icon {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
  .company_details .office .map {
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 20px;
  }
  .company_details .office .map span {
    width: 50px;
    height: 50px;
    background-color: #ffffff;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-out;
    position: relative;
	border: solid 1px #000000;
  }
  .company_details .office .map span img {
    width: 16px;
	height: auto;
	margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
	position: relative;
    right: 0;
    transition: right 0.3s ease-out;
  }
  .company_details .office .map:hover span {
    -webkit-transform: scale(1.16);
    transform: scale(1.16);
  }
  .company_details .office .map:hover span img {
    right: -8px;
  }
  /* // 追記 */
}
@media screen and (max-width:767px) {
/*----------------------------------------------------------------------
SP Style
----------------------------------------------------------------------*/

.section_overview {
	padding-top: 64px;
}
.section_overview .ttl_box h2 {
	margin-bottom: 40px;
}
.section_overview .info_box {
	width: 100%;
	padding-top: 0;
}

.info_box .company_details {
	display: block;
}
.info_box .company_details>dt {
	padding: 16px 0 0;
	width: 100%;
	margin-bottom: 4px;
}
.info_box .company_details>dd {
	padding: 0 0 16px;
	width: 100%;
	border-top: none;
	line-height: 1.75;
	font-size: 1.4rem;
}
.company_details .office {
	margin-bottom: 16px;
}
.company_details .office_info dt {
	font-size: 1.8rem;
}
.company_details .office_info dd {
	font-size: 1.4rem;
	line-height: 1.75;
}
.company_details .office_info dd.note {
	font-size: 1.4rem;
	margin: 8px 0;
}
.company_details .office .map {
	width: fit-content;
	height: 50px;
	line-height: 50px;
	display: block;
	margin-left: auto;
	font-weight: 500;
	color: #000;
    background: url("../images/arrow_link_border_sp.svg") no-repeat right center / 50px;
	padding-right: 66px
}
  /*.company_details .office .map:hover {
	opacity: 0.7;
	transition: 0.3s;
}*/
/************** アコーディオン **************/

.accordion_inner li {
	padding: 16px 0;
}
.accordion_inner li:not(:last-child) {
	border-bottom: solid 1px #999;
}
.accordion_inner li .year {
	width: 88px;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	color: var(--navy);
}
.accordion_inner li .incident {
	flex: 1;
}

.accordion_inner .incident dl:not(:last-of-type) {
	padding-bottom: 16px;
}
.accordion_inner .incident dl:not(:first-of-type) {
	padding-top: 16px;
}
.accordion_inner .incident dl dd {
	font-size:1.4rem; 
}


}



