.sub-top { height: 430px; padding-top: 165px; }
.sub-top.project { padding-bottom: 25px; }
.sub-top.view-page h2,
.sub-top h2 { font-size: 48px; }
.sub-top h3 { font-size: 28px; }
.sub-top__line { width: 70px; margin: 25px auto; }
.sub-top::before,
.sub-top.bg02::before { transform: translateX(-50%) scale(0.75); top: -100px; }
.news-list figure { width: 300px; height: 200px; }
.news-list__tit { font-size: 24px; margin-bottom: 15px; }
.news-list__press { font-size: 18px; margin-bottom: 12px; }
.news-list > div > a > div { padding: 30px 30px 0 30px; }
.archive-list figure { height: 0; padding-top: 60%; overflow: hidden; position: relative; }
.archive-list figure img { position: absolute; top: 0; left: 0; width: 100%; }
.archive-list h3 { font-size: 28px; }
.archive-list p { font-size: 18px; }
.archive-modal { width: 90%; }
.archive-modal figure { padding-top: 50%; position: relative; overflow: hidden; height: 0; max-height: none; }
.archive-modal figure img { position: absolute; top: 0; left: 0; width: 100%; }
.archive-modal h3 { font-size: 36px; }
.archive-modal h4 { font-size: 26px; }
.archive-modal p { font-size: 18px; }
.modal-close { font-size: 24px; }
.modal-close svg { width: 20px; }
.wedo-btns > a { width: 49%; }
.project-list__list { grid-template-columns: repeat(3, 1fr); grid-gap: 70px 20px; }
.project-list__list li a figure img { width: 100%; }
.contact-modal { width: 90%; }

@media all and (max-width: 1024px) {
 .small-inner { width: auto; margin-left: 9%; margin-right: 9%; }
 .search { width: 100%; }
 .search input { width: 100%; }
 .news-view { margin-bottom: 100px; }
 .news-view hgroup h3 { font-size: 36px; }
 .news-view__link,
 .news-view__content,
 .news-view hgroup p { font-size: 18px; }
 .wedo-btns { flex-direction: column; gap: 20px 0; }
 .wedo-btns > a { width: 100%; }
 .wedo-top { font-size: 20px; padding-bottom: 60px; margin-bottom: 60px; }
 .wedo-body li,
 .wedo-body strong { font-size: 18px; }
 .wedo-body li:not(:last-child) { margin-bottom: 45px; }
 .wedo-btns > a { height: auto; }
 .wedo-btns > a p { font-size: 36px; }
 .wedo-btns > a h3 { font-size: 60px; }
 .wedo-btns > a svg { width: 180px; }
 .people hgroup h3 { font-size: 36px; }
 .people hgroup h4 { font-size: 24px; }
 .people hgroup p,
 .people hgroup + p { font-size: 18px; }
 .people-list__mail { font-size: 16px; }
 .people-list__mail img { width: 24px; margin-right: 8px; }
 .people-list__img { position: absolute; left: 0; top: 60px; }
 .people-list__img figure { width: 150px; height: 150px; }
 .people-list__info hgroup { padding-left: 200px; }
 .people hgroup + p { margin-top: 45px; }
 .contact-form h3 { font-size: 20px; }
 .contact-form p { font-size: 18px; margin-bottom: 45px; }
 .contact-location__info .small-inner nav { flex: none; }
 .contact-location__info .small-inner nav a p { font-size: 18px; }
 .contact-location__info .small-inner nav:last-child { padding-left: 75px; margin-left: auto; }
 .contact-location__map svg { width: 8vmin; }
 .project-list__tab { gap: 20px; }
 .project-upcoming { border-top: none; position: relative; margin-top: 45px; }
 .project-upcoming::before { content: ''; width: 10vw; height: 1px; background-color: #fff; position: absolute; top: 0; left: 50%; transform: translateX(-50%); opacity: 0.5; }
 .project-upcoming .item { flex-direction: column; }
 .project-upcoming .item figure { display: flex; align-items: center; justify-content: center; width: 70%; margin-left: auto; margin-right: auto; height: 0; padding-top: 100%; position: relative; }
 .project-upcoming .item figure img { position: absolute; top: 0; left: 0; }
 .sub-top.view-page h2,
 .sub-top h2 { font-size: 42px; }
 .project-upcoming { padding: 45px 0; }
 .project-upcoming .slick-dots { width: 100%; }
 .project-upcoming .btn-style01 { margin-left: auto; margin-right: auto; margin-top: 100px; }
 .project-view__top .small-inner { justify-content: center; gap: 50px 0; }
 .contact-complete { max-width: 90%; }
}

@media all and (max-width: 768px) {
 .sub-top.view-page { height: 300px; padding-top: 140px; }
 .sub-top { height: 350px; padding-top: 140px; background-position: top left; }
 .sub-top.view-page h2,
 .sub-top h3 { font-size: 24px; }
 .sub-top__line { width: 50px; }
 .sub-top::before,
 .sub-top.bg02::before { transform: translateX(-50%) scale(0.5); top: -200px; }
 .sub-page { padding: 100px 0; }
 .news-list { gap: 36px 0; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
 .news-list > div > a { flex-direction: column; }
 .news-list figure { width: 100%; height: 50vmin; }
 .news-list > div > a > div { padding: 25px; }
 .search input { font-size: 18px; }
 .search button { width: 45px; height: 45px; }
 .search button svg { width: 30px; }
 .paginate { margin-top: 45px; }
 .archive-list { grid-template-columns: repeat(1, 1fr); }
 .archive-modal h3 { font-size: 24px; }
 .archive-modal h4 { font-size: 18px; }
 .archive-modal p { font-size: 14px; }
 .modal-close { font-size: 18px; }
 .modal-close svg { width: 16px; }
 .contact-location__info .small-inner { gap: 0; }
 .contact-location__info .small-inner nav a figure { width: 35px; }
 .contact-location__info .small-inner nav a { gap: 18px; }
 .contact-location__info .small-inner nav { gap: 20px; }
 .contact-location__info .small-inner nav:last-child { padding-left: 25px; }
 .contact-agree label { gap: 12px; font-size: 18px; }
 .contact-agree label span { width: 20px; height: 20px; }
 .contact-form { padding-bottom: 75px; }
 .project-list__list { grid-template-columns: repeat(2, 1fr); gap: 45px 18px; }
 .project-list__list li a figure img { width: 100%; }
 .project-list__tit { font-size: 20px; }
 .project-list__desc p { font-size: 18px; }
 .project-list__tab { gap: 0 12px; }
 .project-list__tab li a { width: 28vw; border-width: 1px; }
 .project-upcoming__cate { font-size: 20px; margin-bottom: 12px; }
 .project-upcoming__tit { font-size: 42px; margin-bottom: 28px; }
 .project-upcoming .item > div span { margin-bottom: 28px; }
 .project-upcoming__date { font-size: 20px; }
 .project-upcoming__date strong { font-size: 32px; }
 .project-upcoming .btn-style01 { margin-top: 75px; }
 .sub-top.project { background-image: url('/assets/images/sub/project_bg_mo.jpg'); }
 .project-view__top ul { width: 100%; }
 .project-view__top ul li { padding: 20px 0; }
 .project-view__desc strong { font-size: 28px; }
 .project-view__desc p { font-size: 18px; margin-top: 20px; }
 .project-view__top { padding: 100px 0; }
 .contact-modal { border-radius: 12px; padding: 45px 20px 20px 20px; height: auto; }
 .contact-modal__tit { font-size: 24px; }
 .contact-modal__close { font-size: 16px; top: 25px; gap: 8px; right: 20px; }
 .contact-modal__close img { width: 14px; }
 .contact-modal__tit { margin-bottom: 20px; }
 .contact-modal__desc { max-height: 70vh; overflow-y: scroll; padding: 20px; }
 .contact-complete figure { width: 60px; }
 .contact-complete { font-size: 16px; gap: 12px; }
 .contact-complete__tit { font-size: 24px; }
 .contact-complete button { margin-top: 20px; font-size: 24px; height: 80px; }
.news-view__content p { font-size: 18px !important; }
}

@media all and (max-width: 568px) {
 .project-list__tab { gap: 0 8px; }
 .project-list__tab li{flex: 1;}
 .project-list__tab li a { width: auto; height: 9vw; font-size: 3.75vw; }
 .project-view__top figure { width: 80%; margin-left: auto; margin-right: auto; display: flex; align-items: center; justify-content: center; }
 .project-view__top .small-inner { gap: 25px 0; }
 .project-upcoming .item { gap: 100px; }
 .project-upcoming .slick-dots { position: absolute; top: 105vw; }
}

@media all and (max-width: 480px) {
 .slick-dots li { height: 2px !important; }
 .sub-top.view-page { height: auto; padding-top: 110px; padding-bottom: 35px; }
 .sub-top { height: auto; padding-top: 110px; padding-bottom: 35px; }
 .sub-page { padding: 36px 0 60px; }
 .project-view__detail { padding: 60px 0; }
 .sub-top.view-page h2 { font-size: 6.5vw; }
 .sub-top h2 { font-size: 6.25vw; }
 .sub-top__line { width: 8vw; margin: 3vw auto; height: 1px; }
 .sub-top h3 { font-size: 4.25vw; }
 .sub-top::before { transform: translateX(-50%) scale(0.25); top: -225px; }
 .sub-top.bg02::before { transform: translateX(-50%) scale(0.25); top: -350px; }
 .news-list figure { height: 60vmin; }
 .news-list > div > a > div { padding: 4vw; }
 .news-list__press { font-size: 3.75vw; }
 .news-list__tit { font-size: 5vw; }
 .view-all { font-size: 4.25vw; }
 .view-all img { width: 4.25vw; }
 .search input { font-size: 3.75vw; height: 40px; padding-left: 8px; }
 .search { margin-top: 45px; }
 .search button { width: 40px; height: 40px; }
 .search button svg { width: 20px; }
 .paginate { margin-top: 40px; gap: 0 20px; }
 .paginate > a { font-size: 3.75vw; display: inline-flex; align-items: center; justify-content: center; }
 .archive-list { grid-gap: 36px 0; }
 .archive-list h3 { font-size: 4.5vw; }
 .archive-list p::before { width: 20px; }
 .archive-list p { font-size: 3.25vw; }
 .archive-list h3 { margin-top: 12px; }
 .archive-modal h3 { font-size: 7vw; margin-top: 35px; }
 .archive-modal h4 { font-size: 4vw; margin-top: 3vw; }
 .archive-modal p { font-size: 3vw; }
 .modal-close { font-size: 3.75vw; margin-bottom: 35px; }
 .modal-close svg { width: 3.75vw; margin-left: 4px; }
 .archive-modal p::before { width: 20px; }
 .archive-modal figure { padding-top: 70%; }
 .news-view { margin-bottom: 60px; }
 .news-view hgroup h3 { font-size: 6.5vw; margin-bottom: 4vw; }
 .news-view hgroup { margin-bottom: 4vw; }
 .news-view__link,
 .news-view__content p,
 .news-view hgroup p { font-size: 4.25vw !important; }
 .sub-page.wedo .sub-page__inner::before{  background-image: url(/assets/images/sub/wedo_bg_m.png); background-size: 100%; bottom: -18vw; }
 .wedo-top { font-size: 4.25vw; margin-bottom: 45px; padding-bottom: 45px; }
 .wedo-top::before { width: 15vmin; }
 .wedo-body li,
 .wedo-body strong { font-size: 3.75vw; }
 .wedo-btns { margin-top: 45px; }
 .wedo-btns > a { padding: 15px 20px 15px 20px; border-radius: 16px; }
 .wedo-btns > a p { font-size: 5vw; }
 .wedo-btns > a h3 { font-size: 8vw; margin-top: 2vw; margin-bottom: 0; }
 .wedo-btns > a svg { width: 25vw; height: 30px; }
 .people hgroup h3 { font-size: 5.5vw; }
 .people hgroup h4 { font-size: 4.25vw; margin-top: 0; }
 .people hgroup p { font-size: 4.25vw; margin-top: 8px; padding-bottom: 12px; }
 .people hgroup p::before { width: 20px; }
 .people hgroup p,
 .people hgroup + p { font-size: 3.75vw; }
 .people-top { padding-bottom: 7vw; }
 .people-list ul li { padding: 7vw 0; }
 .people-list__img { top: 7vw; }
 .people-list__img figure { width: 25vw; height: 25vw; }
 .people-list__info hgroup { padding-left: 30vw; }
 .people hgroup + p { margin-top: 30px; }
 .people-list__mail { font-size: 3.25vw; }
 .people-list__mail img { width: 4.5vw; margin-right: 5px; transform: none; }
 .contact-location__info .small-inner nav a { gap: 8px; }
 .contact-location__info .small-inner nav a figure { width: 6vw; }
 .contact-location__info .small-inner nav a p { font-size: 3.25vw; }
 .contact-location__info .small-inner nav { gap: 12px; }
 .contact-location__info { padding: 25px 0; }
 .contact-location__map svg { position: absolute; top: 20%; left: 46%; -webkit-transform: scale(0.9); transform: scale(0.7); }
 .contact-form h3 { font-size: 4vw; }
 .contact-form p { font-size: 3.75vw; margin-bottom: 25px; }
 .contact-input li { padding: 3vw; }
 .contact-input li textarea,
 .contact-input li input[type='text'] { font-size: 3.75vw; }
 .contact-input li textarea { min-height: 150px; }
 .contact-agree label span { width: 15px; height: 15px; }
 .contact-agree label { font-size: 3.25vw; gap: 8px; }
 .contact-agree { margin-top: 0; }
 .contact-form { padding-bottom: 60px; }
 .conatact-modal__scroll a, .conatact-modal__scroll p, .conatact-modal__scroll span{
  font-size: 3.25vw !important;
 }
 .btn-style01.contact-btn a { margin-top: 7vw; }
 .project-list { margin-bottom: 60px; }
 .project-list__tit { font-size: 3.75vw; }
 .project-list__list { gap: 5vw 2.5vw; }
 .project-list__desc p { font-size: 3.25vw; }
 .project h3 { font-size: 7vw; padding-bottom: 7vw; margin-bottom: 7vw; }
 .project-upcoming { padding: 25px 0 0px; }
 .project-upcoming .item { gap: 60px; }
 .project-upcoming .slick-dots { top: 109vw; width: 80%; }
 .project-upcoming__cate { font-size: 3.75vw; }
 .project-upcoming__tit { font-size: 7vw; margin-bottom: 18px; }
 .project-upcoming .item > div span { width: 25px; margin-bottom: 18px; }
 .project-upcoming__date { font-size: 3.75vw; }
 .project-upcoming__date strong { font-size: 4.5vw; }
 .project-upcoming .btn-style01 { margin-top: 25px; }
 .btn-style01::before { bottom: -4px; }
 .project-view__detail { padding: 45px 0; }
 .project-view__detail .btn-style01 a { margin-top: 0px; }
 .project-view__top ul li { display: flex; padding: 4vw 0; }
 .project-view__top ul li p,
 .project-view__top ul li p:first-child { font-size: 4vw; }
 .project-view__top ul li p:first-child { width: 20vw; }
 .project-view__top ul li p { gap: 0 12px; }
 .project-view__top { padding-top: 36px; }
 .project-view__desc { margin-top: 25px; }
 .project-view__desc strong { font-size: 4.75vw; }
 .project-view__desc p { font-size: 4.2vw; margin-top: 15px; }
 .project-view__top { padding-bottom: 45px; }
 .project-upcoming { margin-top: 25px; }
 .project-upcoming .item figure { width: 80%; padding-top: 114%; }
 .contact-modal__tit { font-size: 5vw; margin-bottom: 3vw; }
 .contact-modal__close { font-size: 3.75vw; gap: 5px; top: 20px; }
 .contact-modal__close img { width: 3vw; }
 .contact-modal__desc { padding: 12px; font-size: 3.25vw; }
 .conatact-modal__scroll { padding-right: 0px; }
 .contact-complete figure { width: 12vw; }
 .contact-complete { font-size: 3.75vw; gap: 8px; padding-top: 7.5vw; border-radius: 16px; }
 .contact-complete__tit { font-size: 4.25vw; margin-top: 3vw; }
 .contact-complete button { margin-top: 2vw; font-size: 4.25vw; height: 12vw; margin-bottom: -1px; }
 .contact-complete { max-width: 300px;}
}
