.page-lower #visual {
}

#main .page-footer-nav .list .card .photo {
  width: 33.3333%;
}
#main .page-footer-nav .list .card .content {
  width: 66.6666%;
  justify-content: flex-start;
}
#main .page-footer-nav .list .card .content .title-2 {
  font-size: 2rem;
}
#main .page-footer-nav .list .card .content .title-2:before {
  font-size: .8em;
}

#main .main-col ~ .main-col {
  margin-top: 90px;
}
@media (max-width:768px) {
  #main .main-col ~ .main-col {
    margin-top: 50px;
  }
}

.page-lower #visual {
  background-image: url("../images/company/visual-bg.jpg");
}
@media (max-width:768px) {
  .page-lower #visual {
    width: 100%;
    height: auto !important;
    aspect-ratio: 750 / 350;
    background-image: url("../images/company/visual-bg-sp.jpg");
  }
}
.page-lower #visual .title-1 {
  color: #fff;
}
.page-lower #visual .title-1:before {
  color: inherit;
}

/* ****************************************************************************************************
   * index
**************************************************************************************************** */

.page-company-index #visual .title-1:before {
  content: 'Company';
}
.page-company-index #main .section {
  background: url("../images/common/bg-1.jpg") center 0 /100% auto no-repeat;
}
.page-company-index #main .header {
  padding-bottom: 80px;
}
.page-company-index #main .header .title {
  font-size: 3.6rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1em;
}
.page-company-index #main .header .title b {
  font-weight: 700;
  color: var(--c-blue);
}
@media (max-width:1024px) {
  .page-company-index #main .header {
    padding-bottom: 0;
  }
}
@media (max-width:768px) {
  .page-company-index #main .header .title {
    font-size: 3rem;
  }
}
@media (max-width:540px) {
  .page-company-index #main .header .title {
    font-size: 2.6rem;
  }
}
.page-company-index #main .card {
  display: flex;
  max-width: 100%;
  width: 1200px;
  background: var(--c-blue2);
  margin: 60px auto 0;
}
.page-company-index #main .card ~ .card {
  margin-top: 150px;
}
.page-company-index #main .card .content {
  width: 50%;
}
.page-company-index #main .card .content .inner {
  padding: 50px;
}
.page-company-index #main .card .content .inner .btn-1 {
  margin-top: 2em;
}
.page-company-index #main .card .photo {
  width: 50%;
  overflow: hidden;
  transform: translate(60px,-55px);
}
.page-company-index #main .card .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-company-index #main .card:nth-child(2n+2) .photo {
  order: -1;
  transform: translate(-60px,-55px);
}
.page-company-index #main .card:nth-child(2n+2) .content .inner {
  padding-left: 0;
}
@media (max-width:1340px) {
  .page-company-index #main .card {
    margin-top: 50px;
  }
  .page-company-index #main .card ~ .card {
    margin-top: 50px;
  }
  .page-company-index #main .card .photo {
    transform: none !important;
  }
  .page-company-index #main .card:nth-child(2n+2) .content {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .page-company-index #main .card:nth-child(2n+2) .content .inner {
    padding: 0;
  }
}
@media (max-width:1024px) {
  .page-company-index #main .card {
    max-width: 100%;
    width: 660px;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
  }
  .page-company-index #main .card .photo,
  .page-company-index #main .card .content {
    width: 100%;
  }
  .page-company-index #main .card .photo {
    order: -1;
  }
  .page-company-index #main .card .content .inner {
    padding: 2em !important;
  }
  .page-company-index #main .card:nth-child(2n+2) .content {
    display: block;
  }
}

/* ****************************************************************************************************
   * philosophy
**************************************************************************************************** */

.page-company-profile #visual .title-1:before {
  content: 'Corporate philosophy/Company profile';
}

.page-company-profile #main .column ~ .column {
  margin-top: 90px;
}
@media (max-width:768px) {
  .page-company-profile #main .column ~ .column {
    margin-top: 50px;
  }
}
.page-company-profile #main #greeting .content {
  width: calc(100% - 300px - 70px);
}
.page-company-profile #main #greeting .content .name {
  text-align: right;
}
.page-company-profile #main #greeting .content .name b {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: 700;
  color: #000;
  margin-left: .5em;
}
.page-company-profile #main #greeting .photo {
  width: 300px;
}
@media (max-width:768px) {
  .page-company-profile #main #greeting .flex-col-2 {
    flex-wrap: wrap;
  }
  .page-company-profile #main #greeting .content,
  .page-company-profile #main #greeting .photo {
    width: 100%;
  }
  .page-company-profile #main #greeting .photo {
    text-align: center;
    order: -1;
    margin-bottom: 2em;
  }
  .page-company-profile #main #greeting .photo img {
    max-width: 75%;
  }
}

.page-company-profile #main #rinen .rinen-box {
  display: flex;
  justify-content: center;
  color: #fff;
  min-height: 980px;
  padding: 10% 1em 1em;
  background: url("../images/company/profile/rinen-bg.jpg") center center /cover no-repeat;
}
.page-company-profile #main #rinen .rinen-box p {
  font-size: 5rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1.5em;
}
.page-company-profile #main #rinen .rinen-box ul li {
  position: relative;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 1.4em;
  margin-top: 2em;
}
.page-company-profile #main #rinen .rinen-box ul li:before {
  content: '';
  position: absolute;
  top: .35em;
  left: 0;
  display: block;
  width: .9em;
  height: .9em;
  background: var(--c-blue3);
  border: 6px solid #fff;
}
@media (max-width:840px) {
  .page-company-profile #main #rinen .rinen-box {
    aspect-ratio: 1080 / 980;
    min-height: 0;
  }
  .page-company-profile #main #rinen .rinen-box p {
    font-size: 4rem;
    margin-bottom: 1em;
  }
  .page-company-profile #main #rinen .rinen-box ul li {
    font-size: 2rem;
  }
  .page-company-profile #main #rinen .rinen-box ul li:before {
    border-width: 4px;
  }
}
@media (max-width:640px) {
  .page-company-profile #main #rinen .rinen-box {
    height: auto;
    aspect-ratio: auto;
    padding-bottom: 40%;
  }
  .page-company-profile #main #rinen .rinen-box p {
    font-size: 3rem;
  }
  .page-company-profile #main #rinen .rinen-box ul li {
    font-size: 1.8rem;
    margin-top: 1em;
  }
}
@media (max-width:410px) {
  .page-company-profile #main #rinen .rinen-box p {
    font-size: 2.8rem;
  }
  .page-company-profile #main #rinen .rinen-box ul li {
    font-size: 1.6rem;
  }
}

.page-company-profile #main #access .item ~ .item {
  margin-top: 90px;
}
@media (max-width:768px) {
  .page-company-profile #main #access .item ~ .item {
    margin-top: 50px;
  }
  .page-company-profile #main #access .flex-box {
    padding-top: 120%;
  }
}

.page-company-profile #main #history .history-wrap {
  position: relative;
}
.page-company-profile #main #history .history-wrap:before {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  bottom: 0;
  background: var(--c-blue);
}
.page-company-profile #main #history .history-wrap .row {
  position: relative;
}
.page-company-profile #main #history .history-wrap .row ~ .row {
  margin-top: -1.5em;
}
.page-company-profile #main #history .history-wrap .row:before {
  content: '';
  position: absolute;
  top: 1.5em;
  right: 0;
  display: block;
  width: 50%;
  height: 1px;
  background: var(--c-blue);
}
.page-company-profile #main #history .history-wrap .row:after {
  content: '';
  position: absolute;
  top: 1.5em;
  left: 50%;
  display: block;
  width: 26px;
  height: 16px;
  background: #fff;
  border: 3px solid var(--c-blue3);
  transform: translate(-50%,-50%);
}
.page-company-profile #main #history .history-wrap .row .content {
  position: relative;
  z-index: 1;
  width: calc(50% - 60px);
  padding: 1.25em 1.5em;
  background: #eff2fb;
  margin-left: auto;
}
.page-company-profile #main #history .history-wrap .row .content dt {
  font-weight: 700;
  color: var(--c-blue);
  margin-bottom: .25em;
}
@media (min-width:769px) {
  .page-company-profile #main #history .history-wrap .row:nth-child(2n+1):before {
    left: 0;
    right: auto;
  }
  .page-company-profile #main #history .history-wrap .row:nth-child(2n+1) .content {
    margin-left: 0;
  }
}
@media (max-width:768px) {
  .page-company-profile #main #history .history-wrap:before {
    left: .6em;
  }
  .page-company-profile #main #history .history-wrap .row:before {
    left: 0;
  }
  .page-company-profile #main #history .history-wrap .row:after {
    width: 20px;
    height: 12px;
    left: 0;
    transform: translate(0,-50%);
    border-width: 2px;
  }
  .page-company-profile #main #history .history-wrap .row .content {
    width: calc(100% - 30px);
    padding: 1em;
  }
  .page-company-profile #main #history .history-wrap .row ~ .row {
    margin-top: 1em;
  }
}

/* ****************************************************************************************************
   * philosophy
**************************************************************************************************** */

.page-company-philosophy #visual .title-1:before {
  content: 'Corporate philosophy/Company profile';
}

/* ****************************************************************************************************
   * subsidiary
**************************************************************************************************** */

.page-company-subsidiary #visual .title-1:before {
  content: 'Information about subsidiaries';
}
.page-company-subsidiary #visual {
  background-image: url("../images/company/subsidiary/visual-bg.jpg?202506");
}
@media (max-width:768px) {
  .page-company-subsidiary #visual {
    width: 100%;
    height: auto !important;
    aspect-ratio: 750 / 350;
    background-image: url("../images/company/subsidiary/visual-bg-sp.jpg?202506");
  }
}
.page-company-subsidiary #main .flex-col-2 .content {
  width: calc(100% - 330px - 50px);
}
.page-company-subsidiary #main .flex-col-2 .photo {
  width: 330px;
}
@media (max-width:768px) {
  .page-company-subsidiary #main .flex-col-2 > * {
    width: 100% !important;
  }
  .page-company-subsidiary #main .flex-col-2 > * ~ * {
    margin-top: 1em !important;
  }
  .page-company-subsidiary #main .flex-col-2 .photo {
    text-align: center;
  }
  .page-company-subsidiary #main .flex-col-3 {
    max-width: 100%;
    width: 330px;
    display: block;
    margin-top: 1em !important;
    margin-left: auto;
    margin-right: auto;
  }
  .page-company-subsidiary #main .flex-col-3 > * ~ * {
    margin-top: 1em;
  }
}

/* ****************************************************************************************************
   * sustainability
**************************************************************************************************** */

.page-company-sustainability #visual {
  background-image: url("../images/company/sustainability/visual-bg.jpg");
}
.page-company-sustainability #visual .title-1:before {
  content: 'Sustainability';
}
@media (max-width:768px) {
  .page-company-sustainability #visual {
    width: 100%;
    height: auto !important;
    aspect-ratio: 750 / 350;
    background-image: url("../images/company/sustainability/visual-bg-sp.jpg");
  }
}
.page-company-sustainability #main .section {
  background: url("../images/common/bg-2.jpg") center 0 /100% auto no-repeat;
}
.page-company-sustainability #main .header {
  padding-bottom: 80px;
}
.page-company-sustainability #main .header .title {
  font-size: 3.6rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1em;
}
.page-company-sustainability #main .header .title b {
  font-weight: 700;
  color: var(--c-blue);
}
@media (max-width:1024px) {
  .page-company-sustainability #main .header {
    padding-bottom: 0;
  }
}
@media (max-width:768px) {
  .page-company-sustainability #main .header .title {
    font-size: 3rem;
  }
}
@media (max-width:540px) {
  .page-company-sustainability #main .header .title {
    font-size: 2.6rem;
  }
}
.page-company-sustainability #main #env .flex-col-2 {
  flex-wrap: wrap;
}
.page-company-sustainability #main #env .content {
  width: 69.44%;
}
.page-company-sustainability #main #env .photo {
  width: 30.56%;
}
@media (max-width:768px) {
  .page-company-sustainability #main #env .content,
  .page-company-sustainability #main #env .photo {
    width: 100%;
  }
  .page-company-sustainability #main #env .photo {
    text-align: center;
    margin-top: 2em;
  }
  .page-company-sustainability #main #env .photo img {
    max-width: 65%;
  }
}
.page-company-sustainability #main #env .title-3 {
  font-size: 2.5rem;
  text-align: left;
  margin-left: 0;
  padding-bottom: .5em;
}
.page-company-sustainability #main #env .flex-col-3 {
  margin-top: 60px;
}
.page-company-sustainability #main #env .flex-col-3 > * {
  width: 30.56%;
  margin-left: 4.16%;
}
.page-company-sustainability #main #env .flex-col-3 > *:nth-child(3n+1) {
  margin-left: 0;
}
.page-company-sustainability #main #env .flex-col-3 > *:nth-child(n+4) {
  margin-top: 4.16%;
}
@media (max-width:768px) {
  .page-company-sustainability #main #env .flex-col-3 {
    max-width: 330px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }
  .page-company-sustainability #main #env .flex-col-3 > * {
    width: 100%;
    margin: 0;
  }
  .page-company-sustainability #main #env .flex-col-3 > * ~ * {
    margin-top: 1.5em;
  }
}
.page-company-sustainability #main #csr .flex-col-2 {
  margin-top: 2em;
}
.page-company-sustainability #main #csr .flex-col-2 > .item {
  width: 47.23%;
}
.page-company-sustainability #main #csr .item dt {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-blue);
  padding-left: 1em;
  margin: .5em 0;
}
.page-company-sustainability #main #csr .item dt:before {
  content: '';
  position: absolute;
  top: 1em;
  left: 0;
  display: block;
  width: .75em;
  height: 2px;
  background: var(--c-blue);
}
.page-company-sustainability #main #csr .item dd {
}
@media (max-width:768px) {
  .page-company-sustainability #main #csr .flex-col-2 > .item {
    width: 100%;
  }
  .page-company-sustainability #main #csr .flex-col-2 > .item ~ .item {
    margin-top: 2.5em;
  }
}



.page-company-sustainability #main #sdgs .item dt {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-blue);
  padding-left: 1em;
  margin: .5em 0;
}
.page-company-sustainability #main #sdgs .item dt:before {
  content: '';
  position: absolute;
  top: 1em;
  left: 0;
  display: block;
  width: .75em;
  height: 2px;
  background: var(--c-blue);
}
.page-company-sustainability #main #sdgs .item dd {
}


.page-company-sustainability #main ol {
  padding-left: 1em;
  margin-left: 1em;
  margin-top: 1em;
}
.page-company-sustainability #main ol li {
  line-height: 1.4;
  list-style: decimal;
}
.page-company-sustainability #main ol li ~ li {
  margin-top: 1em;
}

.page-company-sustainability #main .title-8 {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-blue);
  padding-left: 1em;
  /*margin: .5em 0;*/
}
.page-company-sustainability #main .title-8:before {
  content: '';
  position: absolute;
  top: 1em;
  left: 0;
  display: block;
  width: .75em;
  height: 2px;
  background: var(--c-blue);
}


.page-company-sustainability #main .item ~ .item {
  margin-top: 2.5em;
}

.page-company-sustainability #main blockquote {
  background: var(--c-blue2);
  padding: 1.25em 1.5em;
  border: 1px solid var(--c-blue);
}
.page-company-sustainability #main blockquote:after {
  content: '';
  display: block;
  clear: both;
}
.page-company-sustainability #main blockquote strong {
  font-size: 1.25em;
  font-weight: 700;
  color: var(--c-blue);
}
.page-company-sustainability #main blockquote img {
  width: auto;
  float: left;
  margin-right: 1em;
}
@media (max-width:1080px) {
  .page-company-sustainability #main blockquote img {
    float: none;
    margin-right: 0;
  }
}
@media (max-width:540px) {
  .page-company-sustainability #main blockquote {
    padding: .5em 1em;
  }
}

.page-company-sustainability #main #env .flex-col-4 {
  margin-top: 60px;
}
.page-company-sustainability #main #env .flex-col-4 > * {
  width: 21.88%;
  margin-left: 4.16%;
}
.page-company-sustainability #main #env .flex-col-4 > *:nth-child(4n+1) {
  margin-left: 0;
}
.page-company-sustainability #main #env .flex-col-4 > *:nth-child(n+5) {
  margin-top: 4.16%;
}
@media (max-width:768px) {
  .page-company-sustainability #main #env .flex-col-4 {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }
  .page-company-sustainability #main #env .flex-col-4 img{
    max-width: 330px;
  }
  .page-company-sustainability #main #env .flex-col-4 > * {
    width: 100%;
    margin: 0;
    text-align: center;
  }
  .page-company-sustainability #main #env .flex-col-4 > * ~ * {
    margin-top: 1.5em;
  }
}


.page-company-sustainability #main #sdgs .flex-col-2 {
  margin-top: 1em;
}
.page-company-sustainability #main #sdgs .flex-col-2 > .lbox {
  width: 40.3%;
}
.page-company-sustainability #main #sdgs .flex-col-2 > .rbox {
  width: 56.8%;
  margin-left: 2.9%;
}
@media (max-width:768px) {
  .page-company-sustainability #main #sdgs .flex-col-2 > .lbox,
  .page-company-sustainability #main #sdgs .flex-col-2 > .rbox {
    width: 100%;
  }
  .page-company-sustainability #main #sdgs .flex-col-2 > .rbox{
    margin-left: 0;
  }
  .page-company-sustainability #main #sdgs .flex-col-2 > div ~ div {
    margin-top: 1em;
  }
}

.page-company-sustainability #main #sdgs .flex-col-4{
  justify-content: flex-start;
}
.page-company-sustainability #main #sdgs .flex-col-4 > * {
  width: 23.5%;
  margin-left: 2%;
}
.page-company-sustainability #main #sdgs .flex-col-4 > *:nth-child(4n+1) {
  margin-left: 0;
}
@media (max-width:768px) {
  .page-company-sustainability #main #sdgs .flex-col-4{
    justify-content: center;
  }
}


/* ****************************************************************************************************
   * logistics
**************************************************************************************************** */

.page-company-logistics #visual {
  background-image: url("../images/company/logistics/visual-bg.jpg");
}
.page-company-logistics #visual .title-1 {
  color: #fff;
}
.page-company-logistics #visual .title-1:before {
  content: 'Logistics solutions';
  color: inherit;
}
@media (max-width:768px) {
  .page-company-logistics #visual {
    width: 100%;
    height: auto !important;
    aspect-ratio: 750 / 350;
    background-image: url("../images/company/logistics/visual-bg-sp.jpg");
  }
}

.page-company-logistics #main .bg.section {
  background: url("../images/common/bg-2.jpg") center 0 /100% auto no-repeat;
}
.page-company-logistics #main .bg .header {
  padding-bottom: 80px;
}
.page-company-logistics #main .bg .header .title {
  font-size: 3.6rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1em;
}
.page-company-logistics #main .bg .header .title b {
  font-weight: 700;
  color: var(--c-blue);
}
@media (max-width:1024px) {
  .page-company-logistics #main .bg .header {
    padding-bottom: 0;
  }
}
@media (max-width:768px) {
  .page-company-logistics #main .bg .header .title {
    font-size: 3rem;
  }
}
@media (max-width:540px) {
  .page-company-logistics #main .bg .header .title {
    font-size: 2.6rem;
  }
}
