
/* ===============================
   company philosophy style
   =============================== */

@media screen and (max-width: 768px) {
body > section > div > div.company_index_list > div > div {
    width: auto!important;
	}
}

.philosophy .inner {
	max-width:1120px;}

.philosophy .company_index_list {
	max-width:928px;}


/* Modal */

.modal {
  position: fixed;
  inset: 0;
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: rgba(0,0,0,.55);
  transition: opacity .2s ease;
  z-index: 999;
}

.modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.modal__content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 720px);
  max-height: min(80vh, 680px);
  background: #fff;
  padding: 24px;
  position: relative;
  overflow: visible;
}

.modal__content h3 {
    font-size:2.5rem;
    color:#0068B6;
    font-weight: 500;
}

.modal__content h3 span {
    font-size: 1.8rem;
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 0.5em;
    padding: 0 0 2% 5%;}

.modal__content h3+p {
    color:#848383;
    font-size: 1.35rem;
}

.modal__content h4 {
    color:#0068B6;
    margin: -3% 0 5% 0;
}

.modal+.modal h4 {
    margin:5% 0 3% 0;
}

.modal__content h4+p {
    font-size:1.4rem;
}
.modal__body {
  max-height: min(80vh - 40px, 640px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.modal__close {
  position: absolute;
  right: 0;
  bottom: -52px;
  width: 42px;
  height: 42px;
  border: none;
  background: #b8b8b8;
  cursor: pointer;
  z-index: 2;
}

/* ×印 */
.modal__close::before,
.modal__close::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius: 1px;
}
.modal__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.modal__close::after  { transform: translate(-50%, -50%) rotate(-45deg); }

/* 任意のホバー演出 */
.modal__close:hover { opacity: .85; }



.philosophy_triangle {
    margin-bottom: 30px;
    padding-bottom: 85px;
    border-bottom: 1px solid #b8b8b8;
	}

.philosophy .inner {
	width:100%;}

/* 背景スクロール禁止 */
body.no-scroll {
  overflow: hidden;
}

/* フェード処理 */
.fade-left {
  opacity: 0;
  transform: translateX(-50px);
  animation: fadeLeft 1s ease forwards;
}

@keyframes fadeLeft {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.fade-in {
  opacity: 0;
  animation: fadeIn 1s ease forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}


/* Delay */
.delay1 {
  animation-delay: 1s;
}
.delay2 {
  animation-delay: 1.5s;
}
.delay3 {
  animation-delay: 2s;
}
.delay4 {
  animation-delay: 2.5s;
}

@media screen and (min-width: 768px) {
.company_index_has_child {
    left: 50%;
}
}
@media screen and (max-width: 767px) {

.top_cta_container {
    width: 87.23%;
    margin-left: auto;
    margin-right: auto;}

}


