@charset "utf-8";
/* CSS Document */
/**********************************************************/
/* メインビュー */
/**********************************************************/
.kv {
  width: 100%;
  height: 100vh;
  padding: 0;
  position: relative;
  overflow: hidden;
}
.kv video {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: -1;
}
@media screen and (min-width:768px), print {
  /*----------------------------------------------------------------------
PC Style
----------------------------------------------------------------------*/
  /**********************************************************/
  /* メインエリア */
  /**********************************************************/
  main {}
  footer {
    padding-top: 16px;
  }
  /* ページメニュー */
  .page_menu li a {
    color: rgba(0, 0, 0, 1);
  }
  .page_menu li a:hover {
    color: #FFF;
    background: var(--navy);
    transition: 0.3s;
  }
  p.link_to {
    display: flex;
    flex-direction: row-reverse;
    line-height: 50px;
    width: 100%;
  }
  p.link_to a {
    display: block;
    color: #FFF;
    font-size: 1.8rem;
    background: url("../images/arrow_link.svg") no-repeat right center / 50px;
    padding-right: 70px;
  }
  p.link_to a:hover {
    opacity: 0.7;
    transition: 0.3s;
  }
  /* コンテンツ */
  .section_info {
    background: #FFF;
    padding: 100px 0 90px;
  }
  .section_info .inner {
    display: flex;
    justify-content: space-between;
  }
  .section_info h2 {
    font-size: 5rem;
    letter-spacing: 0.2em;
  }
  .section_info h2 .sub_ttl {
    font-size: 3rem;
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    letter-spacing: 0;
  }
  .info_txt {
    width: 500px;
    font-size: 1.8rem;
  }
  .section_content {
    background: rgba(22, 49, 106, 0.85);
    padding: 80px 0;
  }
  .section_content .business_flow {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 80px 0;
    margin-bottom: 40px;
  }
  .section_content .business_flow li {
    width: 500px;
    color: #FFF;
    position: relative;
    border-bottom: solid 1px #FFF;
    padding-bottom: 40px;
  }
  /*.section_content .business_flow li::after {
	content: "";
	display: block;
	width: 32px;
	height: 120px;
	background: url("../images/top/arrow_next.svg") no-repeat center/ contain; 
	position: absolute;
	top: 80px;
	right: -32px;
}
.section_content .business_flow li:last-child::after {
	content: none;
}*/
  .section_content .business_flow li .allow_next {
    width: 32px;
    height: 120px;
    background: url("../images/top/arrow_next.svg") no-repeat center/ contain;
    position: absolute;
    top: 80px;
    right: -32px;
  }
  .section_content .business_flow li .allow_next_sp {
    display: none;
  }
  /************ パッと ************/
  .fade-in {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .fade-in1 {
    transition: opacity 0.3s ease 0.3s, transform 0.3s ease 1s;
  }
  .fade-in2 {
    transition: opacity 0.3s ease 0.3s, transform 0.3s ease 2s;
  }
  .fade-in.show {
    opacity: 1;
  }
  .flow_num {
    display: flex;
    align-items: flex-end;
    gap: 0 40px;
    margin-bottom: 40px;
  }
  .flow_num img {
    width: 200px;
    height: 200px;
    border-radius: 8px;
  }
  .flow_num h3 {
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.5;
  }
  .flow_num h3 .ship {
    font-size: 10rem;
    display: block;
  }
  /* 特殊アタッチメント */
  .attachment h2 {
    letter-spacing: 0.05em;
  }
  .attachment h2 .sup {
    font-size: 4rem;
    display: block;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-bottom: 0.4em;
  }
  .attachment_item {
    margin-bottom: 40px;
  }
  .attachment_item li {
    width: 344px !important;
    color: #FFF;
  }
  .attachment_img {
    width: 100%;
    height: 258px;
    border-radius: 8px 8px 0 0;
  }
  .attachment_item_info {
    position: relative;
  }
  .attachment_item_info .logo_img {
    width: 90%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .attachment_item_info dl {
    background: #000;
    padding: 80px 24px 24px 24px;
    border-radius: 0 0 8px 8px;
  }
  .attachment_item_info dl dt {
    background: #FFF;
    color: #111;
    text-align: center;
    line-height: 1.75;
    margin-bottom: 16px;
  }
  /* 保有設備 */
  .equipment_item {
    margin-bottom: 40px;
  }
  .equipment_item li {
    width: 400px !important;
    height: 300px;
  }
  .equipment_item li img {
    width: 100%;
    height: 100%;
    border-radius: 16px;
  }
  /* CSR活動・会社情報 */
  .csr, .company {
    background: #FFF;
    color: #FFF;
    padding-top: 40px;
  }
  .csr .section_info, .company .section_info {
    width: 95%;
    margin: 0 auto;
    border-radius: 0 0 16px 16px;
  }
  .csr .section_info {
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url("../images/top/csr_bg.jpg") no-repeat center top / cover;
  }
  .company .section_info {
    background: url("../images/top/company_bg.jpg") no-repeat center top / cover;
  }
  .csr .info_txt, .company .info_txt {
    margin-bottom: 30px;
  }
  .csr .link_to, .company .link_to {
    margin-bottom: 180px;
  }
  /* 採用情報 */
  .recruit {
    background: #FFF;
  }
  .recruit .section_content {
    background: #FFF;
    padding-top: 0;
  }
  .recruit_banner {
    width: 860px;
    margin: 0 auto;
  }
}
@media screen and (max-width:767px) {
  /*----------------------------------------------------------------------
SP Style
----------------------------------------------------------------------*/
  /**********************************************************/
  /* メインビュー */
  /**********************************************************/
  .kv {}
  .kv video {}
  /**********************************************************/
  /* メインエリア */
  /**********************************************************/
  footer {
    padding-top: 8px;
  }
  /* ページメニュー */
  .page_menu {
    display: none;
  }
  p.link_to {
    display: flex;
    flex-direction: row-reverse;
    line-height: 50px;
    width: 100%;
  }
  p.link_to a {
    display: block;
    color: #FFF;
    font-size: 1.6rem;
    background: url("../images/arrow_link.svg") no-repeat right center / 40px;
    padding-right: 50px;
  }
  /* コンテンツ */
  .section_info {
    background: #FFF;
    padding: 60px 0 40px;
  }
  .section_info .inner {}
  .section_info h2 {
    font-size: 3.2rem;
    letter-spacing: 0.2em;
    margin-bottom: 16px;
  }
  .section_info h2 .sub_ttl {
    font-size: 2rem;
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.5;
  }
  .info_txt {
    font-size: 1.6rem;
    line-height: 1.75;
  }
  .section_content {
    background: rgba(22, 49, 106, 0.85);
    padding: 40px 8px;
  }
  .section_content .business_flow {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px 0;
    margin-bottom: 24px;
  }
  .section_content .business_flow li {
    width: 500px;
    color: #FFF;
    position: relative;
    border-bottom: solid 1px #FFF;
    padding-bottom: 40px;
  }
  /*.section_content .business_flow li:not(:last-child)::after {
	content: "";
	display: block;
	width: 105px;
	height: 28px;
	background: url( "../images/top/arrow_next_sp.svg") no-repeat center/ contain; 
	position: absolute;
	bottom: -44px;
	left: 50%;
	transform: translateX(-50%);
}*/
  .section_content .business_flow li .allow_next {
    display: none;
  }
  .section_content .business_flow li .allow_next_sp {
    display: block;
    width: 105px;
    height: 28px;
    position: absolute;
    bottom: -44px;
    left: 50%;
    transform: translateX(-50%);
  }
  .section_content .business_flow li .fade-in {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
    transition-delay: 0.3s;
  }
  .section_content .business_flow li .fade-in.show {
    opacity: 1;
  }
  .flow_num {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 24px;
  }
  .flow_num img {
    width: 45%;
    aspect-ratio: 1/1;
    border-radius: 8px;
  }
  .flow_num h3 {
    width: 45%;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.5;
  }
  .flow_num h3 .ship {
    font-size: 7rem;
    display: block;
  }
  /* 特殊アタッチメント */
  .attachment h2 {
    letter-spacing: 0.05em;
  }
  .attachment h2 .sup {
    font-size: 2.8rem;
    display: block;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-bottom: 0.4em;
  }
  .attachment_item {
    margin-bottom: 24px;
  }
  .attachment_item li {
    width: 156px;
    color: #FFF;
  }
  .attachment_img {
    width: 100%;
    height: 118px;
    border-radius: 6px 6px 0 0;
  }
  .attachment_item_info {
    position: relative;
  }
  .attachment_item_info .logo_img {
    width: 55%;
    min-width: 125px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .attachment_item_info dl {
    background: #000;
    line-height: 1.5;
    padding: 40px 16px 16px 16px;
    border-radius: 0 0 6px 6px;
  }
  .attachment_item_info dl dt {
    background: #FFF;
    color: #111;
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 8px;
  }
  .attachment_item_info dl dd {
    font-size: 1.4rem;
  }
  /* 保有設備 */
  .equipment_item {
    margin-bottom: 24px;
  }
  .equipment_item li {
    width: 240px;
    height: 180px;
  }
  .equipment_item li img {
    width: 100%;
    height: 100%;
    border-radius: 6px;
  }
  /* CSR活動・会社情報 */
  .csr, .company {
    background: #FFF;
    color: #FFF;
    padding-top: 40px;
  }
  .csr .section_info, .company .section_info {
    width: 95%;
    margin: 0 auto;
    border-radius: 0 0 12px 12px;
    padding-bottom: 24px;
  }
  .csr .section_info {
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url("../images/top/csr_bg.jpg") no-repeat center top / cover;
  }
  .company .section_info {
    background: url("../images/top/company_bg_sp.jpg") no-repeat center top / cover;
  }
  .csr .info_txt, .company .info_txt {
    margin-bottom: 130px;
  }
  .csr .link_to, .company .link_to {}
  /* 採用情報 */
  .recruit {
    background: #FFF;
  }
  .recruit .section_content {
    background: #FFF;
    padding-top: 0;
    padding-bottom: 78px;
  }
  .recruit_banner {
    width: 860px;
    margin: 0 auto;
  }
}