


.mv{
    background:#f5f5f5 url(../img/top_mv.jpg) no-repeat top center;
    background-size: auto 100% ;
    min-height: 780px;
}

.mv__content{
    padding:15% 5% 0;
}
.mv__catch{
    width: 50%;
    height: auto;
}
.mv_subcatch{
    background:#0744A0 ;
    color: #fff;
    display: inline-block;
    font-size: 26px;
    font-weight: bold;
    padding: 10px 40px;
    margin:10px 0 0 0.5%;
    font-size: clamp(15px, 30 / 1600* 100vw, 26px);
}
.mv_subcatch span{
    color: #48F4EA;
}

.credo{
    padding: 0px 0 0px;
    background: #fff;
}

.credo__c-col2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1440px;
    margin:0px auto;
}


.credo__txtBox{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding:0 20%;
    padding-left: clamp(30px, 80 / 1440 * 100vw, 80px);
    padding-right: clamp(30px, 80 / 1440 * 100vw, 80px);
}

.credo__txtBox p{
    align-self: flex-start;
    margin-bottom: 20px;
}


.credo__img{
    background: url(../img/top-credo.png) no-repeat;
    min-height: 630px;
    background-size: 100% auto ;
}


.business-details__wrap{
    max-width: 1300px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:60px;
    padding: 60px 0 60px;
}

.business-details__description{
    text-align: center;
    font-weight: bold;
}

.business-details__content{
    padding: 40px 80px;
}

.business-details__item{
    box-shadow: 0px 0px 60px 6px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    transition: 0.5s;
    
}
.business-details__item img{
    position: relative;
    z-index: 1;
}

.business-details__item-ttl{
    background:var(--color-blue); 
    color:#fff;
    position: relative;
    font-weight: bold;
    margin:-8px 0 0 -14px;
    z-index: 5;
    padding: 10px 20px 10px 40px;
    font-size: clamp(18px, 30 / 1600* 100vw, 24px);
}
.business-details__item-ttl span{
    position: absolute;
    opacity: 0.4;
    right: 20px;
    top:-10px;
    font-style: italic;
    font-size: 46px;
    font-family: var(--ffEn);
    letter-spacing: 0.16em;
}

.business-details__item-ttl::before{
    content:"";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 12px 12px 0;
    border-color: transparent #0EBFB5 transparent transparent;
    position: absolute;
    left: 0;
    bottom:-12px;
}

.business-details__item-txt{
    padding:20px 40px 40px;
}

.business-details__item:hover{
    background:#EDF4FF;
}

.business-details__item-img {
  overflow: hidden; 
  display: inline-block; 
  border-top-left-radius:10px;
  border-top-right-radius:10px;
}

.business-details__item-img img {
  transition: transform 0.3s ease;
}

.business-details__item-img:hover img {
  transform: scale(1.15); 
}

.used__content{
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.used__content p{
    color: #fff;
}

.used__content-item .used__content-item-txtBox > img{
    max-width: 540px;
    height: auto;
}


.used__content-item--blue{
    background: url(../img/bg_used-sales.png) no-repeat top right;
    background-size: 100% 100%;
    display: flex;
    justify-content: flex-end;
    padding: 70px 100px 50px 20px;
    min-height: 400px;
    margin: 0px 0 60px;
    
}

.used__content-item--green{
    margin: 60px 0 0px;
    background: url(../img/bg_used-buying.png) no-repeat top left;
    background-size: 100% 100%;
    display: flex;
    align-self:flex-start;
    padding: 70px 20px 50px 120px;
    min-height: 400px;

}

.used__content-item--blue .used__content-item-txtBox{
    flex-direction: column;
    transition: transform 0.3s ease;
    position: relative;
}
.used__content-item--green .used__content-item-txtBox{
    flex-direction: column;
    transition: transform 0.3s ease;
    position: relative;
}
.used__content-item--blue .used__content-item-txtBox:hover,
.used__content-item--green .used__content-item-txtBox:hover{
    transform: translateX(20px);
}



.strength__wrap{
    max-width: 1200px;
    margin: 0 auto;
}
.strength__item{
    border-top:5px solid #0744A0;
    box-shadow: 0px 0px 60px 6px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    transition: 0.5s;
    background: #fff;
    padding: 20px 20px 20px;
    text-align: center;
}

.strength__item-title{
    color:var(--color-blue); 
    font-size: clamp(20px, 30 / 1600* 100vw, 26px);
    font-weight: bold;
    position: relative;
    display: inline-block;
    margin-top: 20px;
    width: 50%;
}
.strength__item-title::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 12px 0 0px;
    border-color: #0EBFB5 transparent transparent transparent;
    position: absolute;
    margin: 4px 0 0 -30px;
}


.strength__item-subtitle {
    font-family: var(--ffEn);
    color: #ccc;
}

.download{
    background: url(../img/bg_download.jpg) no-repeat top center;
    background-size:auto 100% ;
    min-height: 560px;
}
.download__wrap{
    max-width: 1200px;
    margin: 0 auto;
}

.download-section__btn-wrapper {
	position: relative;
}
.download-section__btn-wrapper p.img{
	position: absolute;
	right: 10%;
	top:-50px;
}

.download-section__btn-wrapper p.img img{
	width: 140px;
	height: auto;
}

.splide__pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem 0.8rem;
    justify-content: center;
    margin-top: 3.2rem;
    text-align: center;
}

.splide__pagination__page {
    width: 1.6rem;
    height: 3px;
    cursor: pointer;
    transition: 0.5s;
    vertical-align: top;
    background-color: #ccc;
}

.splide__pagination__page.is-active {
    width: 1.6rem;
    background-color: var(--color-blue);
}

.case-study__content{
    max-width: 1200px;
    margin: 0 auto;
}

.case-study__caption{
    font-weight: bold;
    font-size: clamp(16px, 30 / 1600* 100vw, 18px);
    color: var(--color-blue);
    margin: 0px 0 0;
}

.case-study__img {
    overflow: hidden;
    display: inline-block;
    border-radius: 4px;

}
.case-study__img img{
    transition: 0.5s;
}

.case-study__img:hover img {
    transform: scale(1.15);
}


.splide__arrow--prev,
.splide__arrow--next {
    display: grid;
    place-content: center;
    width:100px;
    height:100px;
    cursor: pointer;
    transition: 0.5s;
    background:url(../img/slide_arrow.svg) no-repeat center center;
    background-size: auto 80%;
}

.splide__arrow--prev, .splide__arrow--next {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
}

.splide__arrow--prev {
    right: calc(100% + 20px);
}
.splide__arrow--next {
    left: calc(100% + 20px);
    transform: scaleX(-1);
}

@media screen and (max-width: 1400px) {

    .splide__arrow--prev, .splide__arrow--next{
        display: none;
    }
}

.news-column__list {
    margin-bottom: 20px;
}

.news-column__item {
    padding: 26px 0 16px;
    border-top: 1px solid #e0e0e0;
    position: relative;
}


.news-column__item-img {
    overflow: hidden; 
    display: inline-block; 
    border-top-left-radius:4px;
    border-top-right-radius:4px;
    margin-bottom: 10px;
    height: 160px;;
  }
  
  .news-column__item-img img {
    transition: transform 0.3s ease;
  }
  
  .news-column__item-img:hover img {
    transform: scale(1.15); 
  }


.news-column__listBox .news-column__item{
    border: none;
    padding: 0px 0 0px;
}
.news-column__listBox .news-column__item::after{
    display: none;
}

.news-column__item::after{
    width: 10px;
    height: 1px;
    background: #0744A0;
    content:"";
    position: absolute;
    display: block;
    top:-1px;
}

.news-column__list .news-column__item a{
    display: block;
    transition-duration: 0.2s;
}
.news-column__list .news-column__item a:hover{
    transform: translateX(10px); 
    color: var(--color-blue);
}


.news-column__date {
    font-size: 14px;
    color:var(--color-blue);
    margin-bottom: 5px;
    font-weight: bold;
    
}
.news-column__subInfo{
    display: grid;
    grid-template-columns: 120px 1fr;
    align-items: center;
    height: 40px;
}
.news-column__label{
    margin-bottom: 8px;
}
.news-column__label span{
    display: inline-block;
    padding: 0px 10px;
    font-size: 10px;
    font-weight: bold;
    background: #fff;
    color: #ffffff;
    border-radius: calc(1px * infinity);
    margin:0px 10px 0 0;
    color:var(--color-blue);
    border: 1px solid var(--color-blue);
}

.news-column__wrap__container{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.align-button {
    margin-top: auto;
}

.recruit{
    padding: 0px 0 0px;
    background: #fff;

}

.recruit__c-col2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1440px;
    margin:0px auto;
}


.recruit__txtBox{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding:0 20%;
    padding-left: clamp(30px, 80 / 1440 * 100vw, 80px);
    padding-right: clamp(30px, 80 / 1440 * 100vw, 80px);
    direction: ltr;
}

.recruit__txtBox p{
    align-self: flex-start;
    margin-bottom: 20px;
}


.recruit__img{
    background: url(../img/top-recruit.jpg) no-repeat;
    min-height: 630px;
    background-size: 100% auto ;
}



.contact__wrapInner {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
}

.contact__txtBox {
	width: 100%;
	background-color: #ffffff;
	border-radius: 10px;
	z-index: 2;
	padding-bottom: 20px;
}
.contact__txtBox--shadow{
	position: absolute;
	margin-right:-20px;
	margin-top:20px;
	width: 100%;
	background-color: #DEF1FC;
	border-radius: 10px;
	z-index: 1;
	padding-bottom: 20px;
}

.contact__description{
	font-size: clamp(20px, 30 / 1600* 100vw, 26px);
	color: var(--color-blue);
	font-weight: bold;
	text-align: center;
	margin: -26px 0 30px;
    line-height: 1.6;
}

.contact__list{
	display: flex;
	align-items: center;
	flex-direction: column;
}

.contact__item{
	display: grid;
	grid-template-columns: 40px 1fr;
	align-items: center;
	text-align: left;
	width: 550px;
}
.contact__item-icon{
	display: block;
	width: 24px;
	height: 36px;
	background: url(../img/icon-check.svg) no-repeat top left;
	background-size: 100% auto;
}
.contact__item-text{
	font-weight: bold;
	font-size: clamp(14px, 30 / 1600* 100vw, 20px);
}
.contact__item-text span{
	color: var(--color-green);
}

.contact__txt{
	text-align: center;
	font-weight: bold;
	font-size: 14px;
}

.recruit__wrap.c-col2{
    direction: rtl;
}



.fixed-banner-container {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    right:0px;
    width: 86px;
    z-index: 1000;
    opacity: 0; /* 初期状態では透明 */
    visibility: hidden; /* 初期状態では非表示 */
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.fixed-banner{
    margin-bottom: 0;
}

.fixed-banner img {
    width: 86px;
    height: 250px;
    transition-duration: 0.3s;
}
.fixed-banner img:hover{
    opacity: 0.7;
}

.fixed-banner-container.show {
    opacity: 1; 
    visibility: visible; 
}



@media screen and (max-width: 992px) {

    .mv {
        background: #f5f5f5 url(../img/top_mv.jpg) no-repeat top center;
        background-size: auto 100%;
        min-height: 580px;
        display: flex;
    }
    .mv__catch {
        width: 100%;
        height: auto;
        padding: 10px 0 10px;
        margin-top: auto;
    }
    .mv__content {
        display: flex;
        flex-direction: column;
        padding: 0 20px 40px;
    }
    .mv_subcatch{
        padding: 10px 20px;
        margin:10px 0 10px 0.5%;
        text-align: left;
        display: inline-block;
    }

    .c-col2{
        display: block;
    }

    .credo__img{
        margin-bottom: 40px;
        min-height: 300px;
    }
    .credo__txtBox{
        display: block;
        padding: 0 0 60px;
    }
    .business-details__wrap{
        display: block;
        padding: 20px 0 40px;
    }

    .used__content {
        display: block;
        grid-template-columns: 1fr;
    }
    .used__content-item .used__content-item-txtBox > img{
        width: 100%;

    }
    .used__content-item--blue,
    .used__content-item--green{
        min-height: auto;
        display: block;
    }
    .used__content-item--blue{
        padding: 40px 30px 20px 30px;
    }
    .used__content-item--green{
        padding: 40px 20px 20px 40px;
    }
    .c-col5{
        gap:6px;
    }
    .strength__item-title::before{
        margin: 4px 0 0 -10px;
    }
    .strength__item{
        padding: 10px;
        min-height: 245px;
    }
    .recruit__img{
        min-height: 300px;
        margin-bottom: 40px;
    }
    .splide__arrow--prev, .splide__arrow--next{
        display: none;
    }
    .contact__item {
        grid-template-columns: 30px 1fr;
        text-align: left;
        width: 100%;
        padding:0 10px 0 10px;
        align-items: normal;
    }
    .contact__item-icon {
        display: block;
        width: 20px;
        height: 36px;
        background: url(../img/icon-check.svg) no-repeat top left;
        background-size: 80% auto;
        margin-top: 8px;
    }
    .recruit__txtBox{
        padding: 0 0 40px;
    }
    .contact__item-text{
        margin-bottom: 10px;
    }
    .news-column__item-img {
        height: auto;
    }
    .download-section__btn-wrapper p.img{
        display: none;
    }
    .fixed-banner-container{
        display: none;
    }

}