@charset "utf-8";
/*-- ----------- --*/
/*-- project css --*/
/*-- ----------- --*/
/*-- Foundation --*/
:root{
    --main-blue:#3cb4ff;
    --main-bg:#e6e6e6;
}
/*-- Grid --*/
.l-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}
.l-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.l-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
.l-grid-2.l__20{
    grid-template-columns: calc(50% + 20px) 1fr;
}
.l-grid-2.r__20{
    grid-template-columns:  1fr calc(50% + 20px);
}
.l-grid-2.l__10{
    grid-template-columns: calc(50% + 10px) 1fr;
}
.l-grid-2.r__10{
    grid-template-columns:  1fr calc(50% + 10px);
}
.nogap{gap:0!important;}
.no-cgap{column-gap:0!important;}
.no-rgap{row-gap:0!important;}
@media (max-width:1200px){
.l-grid-4{
    grid-template-columns: repeat(4, 1fr);
}
}
@media (max-width:900px){
.l-grid-4,.l-grid-3{
    grid-template-columns: repeat(2, 1fr);
}
.l-grid-2 {
    gap:30px;
}
}
@media (max-width:768px){
.l-grid-4,.l-grid-3,.l-grid-2{
    gap:20px;
    grid-template-columns: repeat(1, 1fr);
}
.l-grid-2.l__img3,.l-grid-2.l__img4,.l-grid-2.r__img3,.l-grid-2.r__img4{
    grid-template-columns: repeat(1, 1fr);
}
.l-grid-2.l__20,.l-grid-2.r__20,.l-grid-2.l__10,.l-grid-2.r__10{
    grid-template-columns: repeat(1, 1fr);
}
}

/*-- l-container-top --*/
.l-container-top{
    width:100%;
    max-width: 1200px;
    padding:0;
    margin: 0 auto;
}
@media (max-width:1200px){
.l-container-top{max-width: 960px;}
}
@media (max-width:992px){
.l-container-top{max-width: 880px;}
}
@media (max-width:900px){
.l-container-top{max-width: calc(100% - 60px);}
}
@media (max-width:768px){
.l-container-top{max-width: calc(100% - 40px);}
}
/*-- ---------- --*/
/*-- layout css --*/
/*-- ---------- --*/
/*-- l-header --*/
.l-header{
    background: var(--main-bg);
}
.list_nav a{
    color:#000;
}
/*-- .list_nav2 --*/
.list_nav.nav2 li{
    position: relative;
    margin-right: 30px;
}
.list_nav.nav2 li a,.list_nav.nav2 li a svg{
    color:#000;
    fill:#000;
}
@media (max-width:1200px){
/*-- .list_nav2 --*/
.list_nav.nav2_sp li a,.list_nav.nav2_sp li a svg{
    color:#000;
    fill:#000;
}
}
/*-- l-main --*/
.new-index,.new-contact,.recruit,.company,.single,.thanks-topform{background: var(--main-bg);}
.u__mv2026{
    position: relative;
    padding: 0;
}
.u__mv2026 h1{
    color:var(--main-blue);
    position: relative;
    text-align: center;
    padding: 0px;
}
.u__mv2026 h1::after{
    content:'';
    position: relative;
    display: flex;
    justify-content: center;
    width:80px;
    height:5px;
    margin: 2rem auto 0;
    background: var(--main-blue);
}
.u__mv2026 .section__header{
    position: relative;
    padding: 2rem;
}
/*-- toggle__content --*/
.toggle__content {
  position: relative;
  overflow: hidden;
}

/* 初期：省略状態 */
.toggle__content{
  max-height: 280px; /* 見せたい高さ */
}

/* フェード */
.toggle__content::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(to bottom,transparent,var(--main-bg));
  pointer-events: none;
}

/* 開いた状態 */
.toggle__content.is-open {
  max-height: none;
}

.toggle__content.is-open::after {
  display: none;
}

.toggle__btn{
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 6rem auto 0;
    cursor: pointer;
    left: 50%;
    transform: translateX(-50%);
}
.toggle__btn .img__open{
    display: block;
    width:auto;
    height: 16px;
}
.toggle__btn .img__close{
    display: none;
    width:auto;
    height: 16px;
}
.toggle__btn.open .img__open{
    display: none;
}
.toggle__btn.open .img__close{
    display: block;
}
.toggle__img{
    margin: 0 0 3rem;
    cursor: pointer;
}
.toggle__img .img__open{
    display: block;
    width:auto;
    height: 16px;
}
.toggle__img .img__close{
    display: none;
    width:auto;
    height: 16px;
}
.toggle__img.open-form .img__open{
    display: none;
}
.toggle__img.open-form .img__close{
    display: block;
}
/*-- top_form --*/
.section__project .top__form{display: none;}
.top__form__txt{
    font-weight: 500;
    margin: 0 0 2rem; 
}
.top__form .form__grid{
    width:100%;
}
.top__form .form__inner{
    margin: 0 0 3rem;
    width:100%;
}
.top__form .form__inner label{
    font-weight: 500;
}
.top__form .form__inner input,
.top__form .form__inner select,
.top__form .form__inner textarea{
    width:100%;
    background: #fff!important;
}
.top__form .form__inner textarea{
    min-width:100%;
    min-height:80px;
}
.top__form .submit__btn{
    margin:30px auto 40px;
    width:180px;
    text-align: center;
}
.top__form .submit__btn button{
    font-size: 16px;
    padding: 10px;
    width:160px;
    color:#fff;
    background: #5A5A64;
    text-align: center;
    border-radius: 10px;
}
.top__form .submit__btn button:hover{
    opacity: .7;
}
/*-- border --*/
.border__top{border-top:10px solid var(--main-blue);}
.border__rtop{
    position: relative;
}
.border__rtop::before{
    content:'';
    display: block;
    width:100%;
    max-width: 1200px;
    height:10px;
    margin: 0 auto;
    background: var(--main-blue);
}
.border__rtop::after{
    content:'';
    position: absolute;
    top:0;
    right:0;
    display: block;
    width:50%;
    height:10px;
    background: var(--main-blue);
}
.border__ltop{
    position: relative;
}
.border__ltop::before{
    content:'';
    display: block;
    width:100%;
    max-width: 1200px;
    height:10px;
    margin: 0 auto;
    background: var(--main-blue);
}
.border__ltop::after{
    content:'';
    position: absolute;
    top:0;
    left:0;
    display: block;
    width:50%;
    height:10px;
    background: var(--main-blue);
}
.border__left{
    padding-left: 80px;
    padding-right: 20px;
    border-left:10px solid var(--main-blue);
}
.border__right{
    padding-right: 40px;
    border-right:10px solid var(--main-blue);
}
section.border__section{padding: 0;}
section.border__section >.border__left,
section.border__section >.border__right{padding-top: 80px;padding-bottom: 80px;}
/*-- mv --*/
.mv{padding-top: 0;}
.mv__area{
    display: flex;
    flex-wrap: wrap;
}
.mv .mv__area .mv__l{
    width:33%;
    padding: 6rem 5rem 2rem 2rem; 
    border-right: 10px solid var(--main-blue);
}
.mv .mv__area .mv__l img{
    max-width: 100px;
}
.mv .mv__area .mv__r{
    width:67%;
    padding: 0rem 2rem 2rem 5rem; 
}
.mv .mv__area .mv__r h2{
    width:95%;
    margin: 14rem 0;
}
.mv .mv__area .mv__r h1{
    font-weight: 700;
    color:#000;
    margin: 0 0 3rem;
}
.mv .mv__area .mv__r p{
    font-weight: 500;
    margin-bottom: 1em;
}
.mv .mv__area .mv__r p:last-child{
    margin-bottom: 0;
}
/*-- .l-main__home --*/
.l-main__home .section__body .top__stitle{
    font-weight: 700;
    line-height: 1.8;
    color:#000;
    margin: 3rem 0 2rem;
}
.l-main__home .section__body .top__stitle span{
    color:var(--main-blue);
}
.l-main__home .section__body .top__sititle{
    margin: 3rem 0 1rem;
}
.l-main__home .section__body .top__stitle2{
    font-weight: 700;
    line-height: 1.8;
    color:#000;
    margin: 3rem 0 2rem;
    border-left:4px solid var(--main-blue);
    padding: 5px 10px 5px 15px;
}
.l-main__home .section__body .top__stitle2 span{
    font-weight: 700;
    line-height: 1.5;
    color:#000;
    margin: 0;
    display: block;
}
.l-main__home .section__body .top__stitle2 a{
    font-weight: 500;
    color:var(--main-blue);
    text-decoration: underline!important;
    display: inline-block;
}
.l-main__home .section__body{padding: 0;}
.l-main__home .top__timg{margin: 0 0 3rem}
.l-main__home .top__timg img{width:auto;max-height: 46px;}
.l-main__home .top__simg{
    margin: 7rem 0 3rem;
}
.l-main__home .top__simg img{
    width:auto;max-height: 20px;
}
.l-main__home .sb--2{margin-top: 8rem;}
/*-- strategy --*/
#strategy{padding-top:130px;margin-top:-130px;}
#strategy h2{font-weight: 700;color:#000;margin: 0 0 2rem 2rem;}
.section__strategy .sb--1 h3{
    font-weight: 700;
    line-height: 1.8;
    color:#000;
    margin: 3rem 0 2rem;
}
.section__strategy .sb--1 h3 span{
    color:var(--main-blue);
}
.section__strategy .sb--1 p{
    font-weight: 500;
}
.section__strategy .sb--1 .s--i1{
    margin: 0 0 6rem;
}
.section__strategy .sb--1 .l__border{
    border-left:4px solid var(--main-blue);
    padding: 5px 10px 5px 15px;
    background: #fff;
    margin: 0 0 15px;
}
.section__strategy .sb--1 .l__border:last-child{
    margin: 0;
}
.l-main__home #works.sb--2{
    margin-top: -8rem;
    padding-top: 16rem;
}
/*-- section__evolution --*/
.section__evolution .sb--1 .img1{
    margin: 6rem 0 0;
    max-width: 80%;
}
.img__zoom p{
    margin: 4rem 0 0;
    display: none;
    align-items: center;
    justify-content: flex-end;
    color:#000;
}
.img__zoom p i{
    margin-right: 5px;
}
.img-zoom-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;              /* ← 常にflex */
    align-items: center;        /* 縦中央 */
    justify-content: center;    /* 横中央 */
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease;
    z-index: 9999;
}
.img-zoom-modal.is-active {
    opacity: 1;
    visibility: visible;
    transition: opacity .3s ease;
}
.img-zoom-modal__inner {
    position: relative;
    background: var(--main-bg);
    padding: 16px;
    max-width: 90%;
    max-height: 90%;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.img-zoom-modal__inner img {
    width: 100%;
    height: auto;
    display: block;
}
.img-zoom-modal__close {
    position: absolute;
    top: -40px;
    right: 0;
    font-size: 20px;
    font-weight: 700;
    width:30px;
    height:30px;
    background: none;
    border: none;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fcfcfc;
    cursor: pointer;
}

/*-- section__mth --*/
.section__mth h4{
    font-weight: 700;
    line-height: 1.5;
    color:#000;
    gap:15px;
    margin:0 0 10px;
}
.section__mth .creator__info{margin: 0 0 3rem;}
/*-- section__concrete --*/
.section__concrete .top__sititle{
    font-weight: 700;
    color:#000000;
}
.section__concrete .sb--1 .l__border{
    border-left:4px solid var(--main-blue);
    padding: 5px 10px 5px 15px;
    background: #fff;
    margin: 0 0 15px;
}
.section__concrete .sb--1 .l__border:last-child{
    margin: 0;
}
/*-- section__project --*/
.section__project .section__body{padding: 160px 0 20px;}
.section__project h2.top__timg{
    display: flex;
    justify-content: center;
}
.section__project h2.top__timg img{
    margin-bottom: 2rem;
}
.section__project .post-swiper{margin: 0 0 24px;}
.post-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
.post-swiper .swiper-thum {
	position: relative;
	width: 100%;
	aspect-ratio: 2 / 1;
	overflow: hidden;
    border-radius: 10px;
}
.post-swiper .swiper-thum img {
	width: 100%;
	height: 100%;
	object-fit: cover; 
	display: block;
}
.post-swiper.is-static .swiper-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:24px;
    margin:0 auto;
    width:100%;
    max-width: 1200px;
    padding: 0 40px;
    box-sizing: border-box;
}
.post-swiper.is-static .swiper-wrapper .swiper-slide{
    width: 60%;
    flex-shrink: initial;
}
/*-- section__bottom --*/
.section__bottom .section__bottom__card a{
    display: block;
    background: #b3b3b3;
    padding: 2rem;
    border-radius: 10px;
}
.section__bottom .section__bottom__card h2{
    font-weight: 300;
    line-height: 1.5;
    color:#fff;
    margin: 0 0 2rem;
}
.section__bottom .section__bottom__card p{
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    font-weight: 700;
    line-height: 1;
    color:#fff;
}
.section__bottom .section__bottom__card p::after{
    content: '';
    background: url(../img/top/ico_tri.svg)no-repeat center bottom/10px;
    width: 10px;
    height: 10px;
    margin-left: 10px;
}
@media screen and (max-width: 1200px){
/*-- border --*/
.border__top{border-top:10px solid var(--main-blue);}
.border__rtop::before{
    max-width: 960px;
    height:10px;
}
.border__rtop::after{
    height:10px;
}
.border__ltop::before{
    max-width: 960px;
    height:10px;
}
.border__ltop::after{
    height:10px;
}
/*-- mv --*/
.mv .mv__area .mv__l{
    width:180px;
    padding: 6rem 60px 2rem 20px; 
    border-right: 10px solid var(--main-blue);
}
.mv .mv__area .mv__l img{
    max-width: 80px;
}
.mv .mv__area .mv__r{
    width:calc(100% - 180px);
    padding: 0rem 2rem 2rem 5rem; 
}
.mv .mv__area .mv__r h2{
    width:95%;
    margin: 14rem 0;
}
.mv .mv__area .mv__r h1{
    font-weight: 700;
    color:#000;
    margin: 0 0 3rem;
}
.mv .mv__area .mv__r p{
    font-weight: 500;
}
/*-- strategy --*/
#strategy{padding-top:90px;margin-top:-90px;}
}
@media screen and (max-width: 992px){
/*-- border --*/
.border__top{border-top:10px solid var(--main-blue);}
.border__rtop::before{
    max-width: 880px;
    height:10px;
}
.border__rtop::after{
    height:10px;
}
.border__ltop::before{
    max-width: 880px;
    height:10px;
}
.border__ltop::after{
    height:10px;
}
}
@media (max-width: 900px) {
/*-- border --*/
.border__top{border-top:10px solid var(--main-blue);}
.border__rtop::before{
    max-width: calc(100% - 60px);
    height:10px;
}
.border__rtop::after{
    height:10px;
}
.border__ltop::before{
    max-width: calc(100% - 60px);
    height:10px;
}
.border__ltop::after{
    height:10px;
}
}
@media (max-width: 768px) {
.u__mv2026{margin-bottom:-40px;}
/*-- toggle__content --*/
/* 初期：省略状態 */
.toggle__content{
  max-height: 380px; /* 見せたい高さ */
}
.toggle__btn .img__open{
    height: 13px;
}
.toggle__btn .img__close{
    height: 13px;
}
/*-- .border --*/
.border__rtop::before{
    max-width: calc(100% - 40px);
}
.border__ltop::before{
    max-width: calc(100% - 40px);
}
.border__left{
    padding-left: 20px;
    padding-right: 5px;
    border-left:10px solid var(--main-blue);
}
.border__right{
    padding-left: 5px;
    padding-right: 20px;
    border-right:10px solid var(--main-blue);
}
section.border__section{padding: 0;}
section.border__section >.border__left,
section.border__section >.border__right{padding-top: 40px;padding-bottom: 40px;}
/*-- mv --*/
.mv .mv__area{
    margin: 0 0 2rem;
}
.mv .mv__area .mv__l{
    width:140px;
    padding: 2rem 40px 2rem 20px; 
}
.mv .mv__area .mv__l img{
    max-width: 80px;
}
.mv .mv__area .mv__r{
    width:calc(100% - 180px);
    padding: 0rem 20px 2rem 40px; 
}
.mv .mv__area .mv__r h2{
    width:100%;
    margin: 10rem 0;
}
.mv .mv__area .mv__r h1{
    font-weight: 700;
    color:#000;
    font-size: 30px;
    margin: 0 0 3rem;
}
.mv .mv__area__b p{
    font-weight: 500;
    margin-bottom: 1em;
}
.mv .mv__area__b p:last-child{
    font-weight: 500;
    margin-bottom: 0em;
}
/*-- .l-main__home --*/
.l-main__home .section__body .top__stitle{
    line-height: 1.7;
    margin: 2rem 0 2rem;
}
.l-main__home .top__timg{margin: 0 0 2rem}
.l-main__home .top__timg img{max-height: 28px;}
.l-main__home .top__simg{
    margin: 5rem 0 2rem;
}
.l-main__home .top__simg img{
    width:auto;max-height: 20px;
}
.l-main__home .sb--2{margin-top: 40px;}
/*-- section__evolution --*/
.section__evolution .sb--1 .img1{
    margin: 2rem 0 0;
    max-width: 100%;
    cursor: pointer;
}
.img__zoom p{
    display: flex;
    cursor: pointer;
}
/*-- section__project --*/
.section__project .section__body{padding: 80px 0 40px;}
.section__project .post-swiper{margin: 0 0 15px;}
.post-swiper.is-static .swiper-wrapper{
    gap:15px;
    padding: 0 20px;
    flex-wrap: wrap;
}
.post-swiper.is-static .swiper-wrapper .swiper-slide{
    width: 100%;
    flex-shrink: initial;
}
/*-- section__botttom --*/
.section__bottom .l-container{padding: 0;}
.section__bottom .l-grid-3{gap:10px;}
.section__bottom .section__bottom__card a{
    background: #b3b3b3;
    padding: 2rem;
    border-radius: 0px;
}
}
@media screen and (max-width: 640px){
/*-- border --*/
.border__top{border-top:5px solid var(--main-blue);}
.border__rtop::before{
    height:5px;
}
.border__rtop::after{
    height:5px;
}
.border__ltop::before{
    height:5px;
}
.border__ltop::after{
    height:5px;
}
.border__left{
    padding-left: 20px;
    border-left:5px solid var(--main-blue);
}
.border__right{
    padding-right: 20px;
    border-right:5px solid var(--main-blue);
}
/*-- mv --*/
.mv .mv__area .mv__l{
    width:75px;
    border-right:5px solid var(--main-blue);
    padding: 2rem 15px 10px 10px;
}
.mv .mv__area .mv__l img{
    max-width: 40px;
}
.mv .mv__area .mv__r{
    width:calc(100% - 75px);
    padding: 0rem 0px 10px 15px; 
}
.mv .mv__area .mv__r h2{
    width:100%;
    margin: 8rem 0 6rem;
}
.mv .mv__area .mv__r h1{
    font-weight: 700;
    color:#000;
    font-size: 18px;
    margin: 0;
}
/*-- .l-main__home --*/
.l-main__home .section__body .top__stitle{
    font-size: 18px;
}
.l-main__home .top__timg img{max-height: 20px;}
/*-- strategy --*/
#strategy h2{font-size: 28px;}
}
/*-- add header --*/

/*-- ------- --*/
/*-- archive --*/
/*-- ------- --*/

/*-- .single --*/
.single__header__project{
	margin:0px 0 40px;
}
.single__header__project h1{
	font-weight:500;
	line-height:1.7;
	margin:0 0 10px;
}
.single .single__header__project h1,
.single .single__sub__ptitle p{
    color:#000;
}
.single .single__sub__ptitle a{
    text-decoration: underline!important;
}
/*--- ---------- ---*/
/*---  固定ページ ---*/
/*--- ---------- ---*/
/*-- 固定ページ about us--*/
.company .company__leftbox{
	width:140px;
	flex-basis: initial!important;
}
.company .company__rightbox{
	width:calc(100% - 160px);
	flex-basis: initial!important;
}
/*-- 固定ページ お問い合わせ --*/
.section__form .contact__body{
    margin: 4rem 0 0;
}
.section__form .contact__left{
    width:100%;
    margin: 0;
    text-align: left;
    font-weight: 500;
}
.section__form .contact__right{
    width:100%;
    margin: 0 0 30px;
}
.section__form .contact__right input{
    width:100%;
    border:0px solid #5A5A64;
    box-shadow: 0px 0px 0px #CCC inset;
    text-align: left;
    background: #fff!important;
    border-radius: 0;
}
.section__form .contact__right textarea{
    width:100%!important;
    min-height:100px;
    border:0px solid #5A5A64;
    box-shadow: 0px 0px 0px #CCC inset;
    text-align: left;
    background: #fff!important;
    border-radius: 0;
}
.section__form .must__item span{
    font-size: 14px;
    font-weight: 500;
    display: inline-block;
    color:#ff0000;
    margin-left: 5px;
}
.section__form .submit__btn{
    margin:30px auto 40px;
    width:240px;
    text-align: center;
}
.section__form .submit__btn button{
    font-size: 16px;
    line-height: 1;
    padding: 10px 20px;
    width:auto;
    color:#fff;
    background: var(--main-blue);
    text-align: center;
    border-radius: 10px;
}
.section__form .submit__btn button:hover{
    opacity: .7;
}
@media screen and (max-width: 768px){
/*-- 固定ページ お問い合わせ--*/
.section__form .contact__right{
    margin: 0 0 20px;
}
/*-- 固定ページ company-profile--*/
.company .company__leftbox{
	width:65px;
	flex-basis: initial!important;
}
.company .company__rightbox{
	width:calc(100% - 80px);
	flex-basis: initial!important;
}
}