@charset "utf-8";
/* Top */

.btn-detail{max-width: 384px; width: 100%; margin: 0 auto;}
.btn-detail a{background: #a59466; color: #fff; font-size: 1.6rem; width: 100%; height: 60px; display: flex; justify-content: center; align-items: center; border-radius: 5px; transition: .3s;}
.btn-detail a:before{content: ''; width: 18px; height: 18px; background: url("../img/common/ic_arrow.svg") no-repeat top left/100% 100%; margin-right: 10px; display: inline-block;}
.btn-detail a:hover{background: #cab47a;}
.btn-map{max-width: 384px; width: 100%; margin: 20px auto 0;}
.btn-map a{background: #1a3558; color: #fff; font-size: 1.6rem; width: 100%; height: 60px; display: flex; justify-content: center; align-items: center; border-radius: 5px; transition: .3s; cursor: pointer;}
.btn-map a:before{content: ''; width: 16px; height: 22px; background: url("../img/common/ic_map.svg") no-repeat top left/100% 100%; margin-right: 10px; display: inline-block;}
.btn-map a:hover{background: #336bb3;}

@media (min-width: 767px){
    .btn-box{ display: flex; justify-content: center;}
    .btn-box .btn-detail,
    .btn-box .btn-map{ margin: 0 10px;}
}
@media (max-width: 767px){
    .btn-map{margin: 10px auto 0;}
    
    footer{margin-bottom: 60px;}
}

/* Loader */
.loader-bg{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 9999; background-color: #1a3558;}
.loader{text-indent: -9999em; width: 60px; height: 60px; border-radius: 50%; position: absolute; top: 50%; left: 50%; margin: -30px 0 0 -30px;
  background: #ffffff;
  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);  
  -webkit-animation: loading 1.4s infinite linear;
  animation: loading 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loader:before{width: 50%; height: 50%; background: #ffffff; border-radius: 100% 0 0 0; position: absolute; top: 0; left: 0; content: '';}
.loader:after{background: #1a3558; width: 75%; height: 75%; border-radius: 50%; content: ''; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0;}

@-webkit-keyframes loading {
  0% {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  }
  100% {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  }
}
@keyframes loading {
  0% {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  }
  100% {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  }
}

/* First View */
.fview{line-height: 0; position: relative; z-index: 3; overflow: hidden; width: 100%; background: #000;}
.fview-video,
.fview-img{position: absolute;}
.fview-img img,
.fview-img picture,
.fview-img source{width: 100%;}

.fview-video{z-index: 9;}
.fview-img{z-index: 10; display: none;}


@media (min-width: 768px){
    .fview{height: calc(80vh - 100px); max-height: 44vw; min-height: 38vw;}
    .fview-video,
    .fview-img{width: 100%; top: 50%; left: 0; transform: translateY(-50%); -webkit-transform: translateY(-50%);}
}

@media (max-width: 767px){
    /* .fview{height: 66vw;} */
    .fview .btn-detail { position: absolute; top: 70vw; width: calc(100% - 80px); left: 40px; right: 40px;}
	.fview .btn-detail a {background: #fff;color:#161616;}
	.fview .btn-detail a:before {background: url("../img/common/ic_arrow_blue.svg") no-repeat top left/100% 100%;}
    .fview-video,
    .fview-img{width: 100%; top: 0; left: 0;}
}

/*
.fview-txt{position: absolute; top: 5vw; left: 5vw; z-index: 2; width: 31%; opacity: 0; transform: translateX(-100%); transition: 1.2s ease .3s;}
.fview-line{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1;}
.fview-line:after{content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 0; background: url("../img/top/fview_line.png") no-repeat top left/auto 100vh; transition: height .5s ease-in-out;}
.fview-line:before{content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.2);}
.fview.is-view .fview-line:after{height: 100%;}
.fview.is-view .fview-txt{opacity: 1; transform: translateX(0);}

@media (min-width: 768px) and (orientation: portrait){
    .fview-line:after{background: url("../img/top/fview_line.png") no-repeat top left/auto 56.32vw;}
}
@media (max-width: 767px){
    .fview-txt{width: 76%; left: 12vw; top: 12vw;}
    .fview-line:after{background: url("../img/top/fview_line_sp.png") no-repeat top left/100% 128vw;}
}
*/

/* Top wrap */
.top-wrap{position: relative; margin: 0 0 80px;}
.top-wrap:before{content: ''; position: absolute; top: 0; bottom: 60px; left: 0; width: 100%; background: #e8edf2; z-index: -1;}

@media (max-width: 1400px){
    .top-wrap:before{bottom: 0;}
}

@media (max-width: 767px){
    .top-wrap{margin: 0 0 60px;}
}

/* News */
.news{background: #161616; color: #fff; width: 740px; padding: 23px 30px; position: relative; margin: -140px 0 90px; z-index: 10;}
.news-tit{font-size: 2.4rem; line-height: 1; letter-spacing: 0.05em; font-family: 'Lato', sans-serif; margin: 0 0 10px;}
.news-more{font-size: 1.4rem; line-height: 1; font-family: 'Lato', sans-serif; position: absolute; top: 23px; right: 30px;}
.news-more:before{content: ''; width: 14px; height: 14px; background: url("../img/common/ic_arrow.svg") no-repeat top left/100% 100%; margin-right: 10px; display: inline-block; position: relative; top: 2px;}
.news-more:hover{text-decoration: underline;}

.news-list time{font-size: 1.2rem; line-height: 1.8; font-family: 'Lato', sans-serif;}
.news-list p{font-size: 1.4rem; line-height: 1.8;}
.news-list p.new:before{content: 'NEW'; background: #a59466; color: #fff; font-size: 1rem; width: 36px; height: 16px; display: inline-block; line-height: 16px; text-align: center; margin-right: 10px;}
.news-list a:hover{text-decoration: underline;}

@media (min-width: 768px){
    .news-list li{display: flex;}
    .news-list li:not(:last-of-type){margin-bottom: 10px;}
    .news-list time{width: 90px; margin: 3px 0 0 0;}
    .news-list p{width: calc(100% - 90px);}
    .news-list p.new:before{line-height: 14px;}
    .top-info{ margin: 0 auto 100px; text-align: center;}
    .top-info p{ font-size: 1.8rem;}
}

@media (max-width: 1024px){
    /* .news{margin-top: -90px;} */
}

@media (max-width: 767px){
    .news{ width: 100%; padding: 23px 20px; margin: 0;}
    .news-more{right: 20px;}
    .news-tit{margin: 0 0 20px;}
    .news-list li:not(:last-of-type){margin-bottom: 15px;}
    .news-list time{display: block;}
    .top-info{ margin: 60px auto; padding: 0 20px;}
    .top-info p{ font-size: 1.6rem;}
}

/* Concept */
.concept-tit{font-size: 3.6rem; line-height: 0.9; letter-spacing: 0.05em; color: #1a3558; font-family: 'Lato', sans-serif; font-weight: 900;}
.concept .btn-detail a {background: #fff;color: #161616;border:1px solid #1a3558;}
.concept .btn-detail a:before {background: url("../img/common/ic_arrow_blue.svg") no-repeat top left/100% 100%;}

@media (min-width: 768px){
    .concept{display: flex; justify-content: space-between; flex-wrap: wrap; align-items: flex-start;}
    .concept-img{width: 50%;}
    .concept-inner{width: 43.33%;}
    .concept-desc{padding: 35px 0;}
    .concept .btn-detail{margin: 0 0 40px;}
}

@media (max-width: 767px){
    .concept{width: 100%; padding: 0 0 60px;}    
    .concept-img{padding: 0 0 25px 0;}
    .concept-inner{padding: 0 20px;}
    .concept-tit{font-size: 3.6rem; text-align: center;}
    .concept-desc{padding: 15px 0 20px;}
}

/* Pickup */
.pickup{margin: 0 0 95px;}
.pickup-tit{font-size: 3.6rem; line-height: 0.9; letter-spacing: 0.05em; color: #1a3558; font-family: 'Lato', sans-serif; font-weight: 900; text-align: center;}
.pickup-tit2{font-size: 1.7rem; line-height: 1.4; margin: 0 0 5px;}
.pickup-item{background: #e8edf2; /*position: relative;*/ padding-bottom: 5%; display: flex; flex-direction: column;}
.pickup-img img{width: 100%;}
.pickup-num{position: absolute; top: 0; left: 0; width: 60px; height: 60px; background: #1a3558; display: flex; justify-content: center; align-items: center; font-size: 3rem; font-weight: bold; color: #fff; font-family: 'Barlow', sans-serif; letter-spacing: 0.05em;}
.pickup-btn{max-width: 250px; width: 87.5%; margin: auto auto 0; /*position: absolute; bottom: 30px; left: 0; right: 0;*/ height: 40px; line-height: 1.3; text-align: center; display: flex; justify-content: center; align-items: center; border-radius: 5px; transition: .4s;
border: 1px solid #1a3558; color: #1a3558; background: #fff;}
.pickup-btn:before{content: ''; margin-right: 10px; display: inline-block; position: relative; top: 1px; width: 18px; height: 18px; background: url("../img/common/ic_arrow_blue.svg") no-repeat top left/100% 100%;}
.pickup-btn:hover{background: #dfe4ea;}

@media (max-width: 1400px){
    .pickup-num{/*top: -20px; left: 20px;*/ width: 63px; height: 63px; font-size: 3.2rem;}
}

@media (min-width: 768px){
    .pickup-desc{text-align: center; padding: 25px 20px 30px;}
    .pickup-box{display: flex; justify-content: space-between; /*margin: 0 0 35px;*/}
    .pickup-item{width: calc((100% - 6px) / 4);}
    /* .pickup-img { max-height: 12vw; width: auto; overflow: clip;} */
    .pickup-inner{padding: 5% 6.25% 4%;}
    .pickup-inner p { line-height: 1.5em; font-size: 1.4rem;}
}

@media (max-width: 767px){
    .pickup{margin: 0 0 70px;}
    .pickup-desc{padding: 20px 20px 30px;}
    .pickup-inner{padding: 20px;}
    .pickup-num{top: 0;}
    .pickup-tit2{font-size: 1.6rem;}
    .pickup .btn-detail{padding: 30px 20px 0;}
}

/* Search */
.search{padding: 80px 0 100px; background: url("../img/top/search_bg.jpg") no-repeat center center/cover;}
.search-tit{font-size: 3.6rem; line-height: 1; text-align: center; letter-spacing: 0.1em;color: #1a3558;}
.search-tit span{font-size: 1.4rem; line-height: 0.9; color: #161616; letter-spacing: 0; font-family: 'Lato', sans-serif; display: block; margin: 20px 0 0 0;}
.search-tit2{font-size: 2rem; color: #fff; background: #1a3558; width: calc(100% - 60px); max-width: 300px; height: 65px; padding: 0 0 0 30px; display: flex; align-items: center; position: relative;}
.search-tit2 img{margin-right: 19px;}
.search-tit2:after{content: ''; width: 0; height: 0; position: absolute; top: 0; right: -40px;
border-top: 65px solid #1a3558; border-right: 40px solid transparent;}

.search-desc{text-align: center; padding: 30px 0;}
.search-box{display: flex; flex-wrap: wrap; margin: 0 0 40px;}
.search-item{border: 1px solid #1a3558; background: #fff;}
.search-inner{padding: 30px 30px 22px;}
.search-inner li{margin-bottom: 8px;}
.search .btn-detail a:before{width: 20px; height: 20px; background: url("../img/common/ic_search.svg") no-repeat top left/100% 100%;}
.search-inner.col2{display: flex; flex-wrap: wrap;}
.search-inner.col2 li{width: calc(50% - 4px);}
.search-inner.col2 li:nth-of-type(2n+1){margin-right: 8px;}

@media (min-width: 1200px){
    .search-box{justify-content: space-between;}
    .search-item{width: 32%;}
}

@media (max-width: 1199px) and (min-width: 768px){
    .search-item{width: 48.5%; margin-bottom: 3%;}
    .search-item:last-of-type{margin-bottom: 0;}
    .search-item:nth-of-type(2n+1){margin-right: 3%;}
}

@media (max-width: 767px){
    .search{padding: 60px 0;}
    .search-tit{font-size: 3rem;}
    .search-item{width: 100%;}
    .search-item:not(:last-of-type){margin-bottom: 20px;}
    .search-inner{padding: 20px 20px 12px;}
}

@media (max-width: 360px){
    .search-tit2{padding: 0 0 0 15px; width: calc(100% - 40px);}
    .search-tit2 img{margin-right: 15px;}
}

/* Think Office */
.office{background: #1a3558; padding: 90px 0 100px;}
.office-head{text-align: center; color: #fff; margin-bottom: 40px;}
.office-head .txt{font-size: 2rem;}
.office-head .tit{padding: 5px 0 25px;}
.office-head .tit img { height: max(40px,6vw);}

@media (max-width: 767px){
    .office{padding: 50px 0 60px;}
    .office-head{width: 100%; margin-bottom: 40px;}    
    .office-head .txt{font-size: 1.3rem;}
    .office-head .tit{padding: 5px 20px 20px;}
}

.office-date{line-height: 1; font-weight: 700; font-family: 'Barlow', sans-serif; letter-spacing: 0.05em; color: #1a3558;}
.office-label{line-height: 1; font-weight: 900; font-family: 'Lato', sans-serif; border: 1px solid #1a3558; border-radius: 30px; padding: 0.4375em 1.25em 0.375em; margin-top: 0.3125em; color: #1a3558; margin: 15px 0 0 0; display: inline-block;}
.office-tit{font-size: 2.2rem; font-weight: bold; line-height: 1.5; padding: 12px 0 10px;}
.office-inner:after{content: ''; position: absolute; bottom: 0; right: 0; width: 60px; height: 60px; background: url("../img/common/btn_arrow.jpg") no-repeat top left/100% 100%;}

.office-slide{/*padding-bottom: 130px;*/padding-bottom: 60px; position: relative;}
.office-slide .img.only-pc { overflow: hidden; height: min(30vw,370px);}
.office-slide .office-tit{font-size: 2.3rem;}
.office-slide .office-inner{width: 50%; position: absolute; bottom: 45px; left: 0; background: #fff; padding:1vw 3.5vw 1vw 1.5vw;}
.office-slider .pager{position: absolute; bottom: 0; left: 43px; font-size: 2rem; color: #fff; line-height: 1; font-weight: 500; font-family: 'Barlow', sans-serif; width: 100px; text-align: center;}
.office-slide img{transition: .5s;}
.office-slide a:hover img{opacity: .5;}

.office-slider{padding-bottom: 13px; position: relative; line-height: 1; margin-bottom: 50px;}
.office-slider .slick-arrow{width: 43px; height: 43px; bottom: 0;}
.office-slider .slick-prev{left: 0; background: url("../img/common/btn_prev.png") no-repeat top left/100% 100%;}
.office-slider .slick-next{left: 144px; background: url("../img/common/btn_next.png") no-repeat top left/100% 100%;}

@media (min-width: 768px){
    .office-cate{display: flex; align-items: center;}
    .office-cate .office-label{margin: 0 0 0 20px;}
    .office-slide .office-inner{line-height: 2.3; min-height: 150px;}
    .office-box{display: flex; flex-wrap: wrap;}
    .office-item{width: 48.5%; margin-bottom: 3%; background: #1A3558;}
    .office-item:nth-of-type(2n+1){margin-right: 3%;}
    .office-item a{display: flex; height: 100%;}
    .office-item .office-inner{/*width: 52.77%;*/width: 62%; padding: 45px 50px; position: relative; background: #fff;}
    .office-item .img{ /*width: 47.23%;*/ /*max-height: 12vw;*/width: 38%; overflow: hidden; background: #000;}
    .office-item .img img{transition: .5s; object-fit: cover; width: 100%; height: 100%;}
    .office-item a:hover img{opacity: .8; transform: scale(1.05); -webkit-transform: scale(1.05);}
}

@media (max-width: 1500px) and (min-width: 768px){
    .office-tit{font-size: 1.5vw;}
    .office-inner:after{width: 4vw; height: 4vw;}
    .office-slide .office-inner{padding: 1vw 4.5vw 0.5vw 2.5vw}
    .office-slide .office-tit{font-size: 2rem;}
    .office-item .office-inner{padding: 2vw 2.5vw;}
    .office-item .img img{/*height: 100%;*/ object-fit: cover; object-position: center;}
}

@media (max-width: 1023px) and (min-width: 768px){
    .office-slide .office-inner{min-height: 17vw;}
}

@media (max-width: 767px){
    .office-label{margin: 0 0 0 10px;}
    .office-tit{font-size: 1.6rem; padding: 10px 0 5px;}
    .office-inner{line-height: 1.9; position: relative;}
    .office-slide .office-inner{ padding: 18px 20px 25px !important; min-height: 180px;}
    .office-inner:after{width: 34px; height: 34px;}

    .office-slider{margin-bottom: 40px; width: 100%;}
    .office-slide{padding-bottom: 220px;}
    .office-slide .office-inner{width: calc(100% - 40px);}
    .office-slide .office-tit{font-size: 2rem;}
    .office-slide .img{padding: 0 0 0 20px;}
    .office-slide .img img{width: 100%;}
    .office-slide .pager{left: calc(50% - 51px);}
    .office-slider .slick-prev{left: calc(50% - 94px);}
    .office-slider .slick-next{right: calc(50% - 94px); left: auto;}
        
    .office-item{background: #fff; margin-bottom: 20px;}
    .office-item img{width: 100%; height: calc(37.8vw - 80px); object-fit: cover; object-position: center; /*max-height: 90px;*/}
    .office .btn-detail{padding: 10px 20px 0;}
}

@media (max-width: 480px){
    .office-item img{ height: calc(43.9vw - 80px);}
}

/* PickUp slider */
.pu-slider{ max-width: 1200px; margin: 0 auto;}
.pu-slider.slick-slider{ margin-bottom: 40px;}
.pu-slider .slick-slide{margin: 0 1px;}
.pu-slider a:hover{opacity: .7;}
.pu-slider .slick-arrow{width: 47px; height: 47px; top: calc(50% - 23px); background: url("../img/common/ic_arrow_black.svg") no-repeat top left/100% 100%; background-color: white; border-radius: 50%; border: 1px solid white;}
.pu-slider .slick-prev{left: -23px; transform: rotate(-180deg); -webkit-transform: rotate(-180deg);}
.pu-slider .slick-next{right: -23px;}
.pu-slider .slick-dots{
position: absolute; bottom: -25px; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; display: flex; align-items: center; justify-content: center;}
.pu-slider .slick-dots li{
position: relative; display: inline-block; width: 8px; height: 8px; margin: 0 5px; padding: 0; cursor: pointer;}
.pu-slider .slick-dots li button{ font-size: 0; line-height: 0; display: block; cursor: pointer; color: transparent; outline: none; background: white; width: 8px; height: 8px; padding: 0; border-radius: 50%; border: 1px solid #1a3558;}
.pu-slider .slick-dots li.slick-active button,
.pu-slider .slick-dots li button:hover,
.pu-slider .slick-dots li button:focus{ outline: none; background: #1a3558;}
@media (min-width: 767px){
    /*.pu-slider .slick-list { padding: 20px 0 0;}*/
    .pu-slider .slick-track::before,
    .pu-slider .slick-track::after { content: none;}
    .pu-slider .slick-track { display: flex;}
    .pu-slider .slick-slide{ float: none;  height: auto !important;}
    .pu-slider .slick-slide > div{ height: 100%;}
    .pu-slider .slick-slide .pickup-item{ height: 100%; display: flex !important; position: relative;}
}
@media (max-width: 767px){
    .pu-slider{max-width: 350px;}
    .pu-slider .slick-list{background: #e8edf2;}
    .pu-slider .slick-slide{margin: 0;}
    .pu-slider .slick-arrow{width: 30px; height: 30px; top: 50%; margin-top: -15px;}
    .pu-slider .slick-prev{left: -15px;}
    .pu-slider .slick-next{right: -15px;}
}


/* Bnr */
.bnr{padding: 60px 10px; line-height: 0;}
.bnr-slider{max-width: /*936px*/1030px; margin: 0 auto;}
.bnr-slider .slick-slide{margin: 0 15px;}
.bnr-slider a:hover{opacity: .7;}

.bnr-slider .slick-arrow{width: 47px; height: 47px; top: 34px; background: url("../img/common/ic_arrow_black.svg") no-repeat top left/100% 100%;}
.bnr-slider .slick-prev{left: -10px; transform: rotate(-180deg); -webkit-transform: rotate(-180deg);}
.bnr-slider .slick-next{right: -10px;}

@media (max-width: 1023px) and (min-width: 768px){
    .bnr-slider{max-width: 624px;}
}

@media (max-width: 767px){
    .bnr{padding: 60px;}
    .bnr-slider{max-width: 282px;}
    .bnr-slider .slick-slide{margin: 0 5px;}
    .bnr-slider .slick-arrow{width: 30px; height: 30px; top: 50%; margin-top: -15px;}
    .bnr-slider .slick-prev{left: -45px;}
    .bnr-slider .slick-next{right: -45px;}
}



/* ADD 23.09.26 */
@media (max-width: 767px) {
    /* pickup */
	.pickup-item{ display: flex; flex-wrap: wrap; padding: 0 20px 20px; justify-content: space-between;}
	.pickup-item:not(:first-of-type){ margin-top: 4px;}
    .pickup-sp-head { flex-basis: 100%; padding: 20px 0 20px 40px;position: relative;}
    .pickup-img { flex-basis: 35%;}
	.pickup-num{ font-size: 1.7rem; width: 28px; height: 28px; top: 20px; left: 0;}
    .pickup-inner { padding: 0; flex-basis: calc(65% - 20px); margin-top: 0.5em;}
    .pickup-btn{ height: 46px; font-size: 14px; position: static; margin-top: 20px;}
    /* Think Office */
    .office-item a { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 20px;}
    .office-item .office-sp-head{ display: flex; align-items: center; flex-basis: 100%; margin-bottom: 15px;}
    .office-item .office-label { margin: 0 0 0 10px;}
    .office-tit { padding: 0 0 8px;}
    .office-item .img{ flex-basis: 30%;}
    .office-inner{ flex-basis: calc(70% - 20px); padding: 0 0 25px; margin-top: -5px;}
    .office-box .office-inner::after { bottom: -20px; right: -20px;}
    .office-date{ font-size: 13px;}
    .office-cate { display: flex; align-items: center;}
    .office-slide .office-cate{ margin-bottom: 10px;}
}