@charset "utf-8";
  ::-webkit-scrollbar {width: 12px; background: #eee; z-index: 3;}
::-webkit-scrollbar-thumb {width: 12px; background: var(--color-green);}
html,body {min-width: 1024px;}
.sp {display: none!important;} .container {width: calc(100% - 160px); max-width: 1500px; margin: 0 auto;}
@media screen and (max-width: 1024px) {.container {width: calc(100% - 100px);}} .h-g {padding: 80px 0;}
.h-g .big {font-size: 40px;}
.h-g .small {font-size: 15px;} .more {margin: 100px auto;}
.more a {min-width: 400px;} .sub_cat_navi {margin-bottom: 40px;}
.h-news_entry,
.h-works_entry {width: calc((100% - 72px) / 3); margin: 0 36px 42px 0;}
.h-news_entry:nth-child(3n),
.h-works_entry:nth-child(3n) {margin-right: 0;}
.h-news_entry a,
.h-works_entry a {height: 25vw; max-height: 450px;}
.h-news_entry a .cat,
.h-works_entry a .cat {top: 16px; font-size: 12px; padding: 4px 20px;}
.h-news_entry .text h2,
.h-works_entry .text h2 {font-size: 18px;}
.h-news_entry .text p {font-size: 14px;}
.h-news_entry .text time,
.h-works_entry .text time {font-size: 14px;} header .logo img {width: auto; height: 30px;}
header .g-navi {justify-content: space-between; transition: 0s;}
header .g-navi a {display: block; position: relative; font-size: 14px; padding: 20px 12px; color: #333;}
header .g-navi a:hover {color: var(--color-green);}
header .g-navi a:after {position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; content: ''; background: var(--color-green); transform: scale(0,1); transform-origin: right; transition: .3s ease; transition-property: transform,color; z-index: 1;}
header .g-navi a:hover:after {transform: scale(1,1); transform-origin: left;}
header .g-navi a span {position: relative; display: block; color: inherit; z-index: 2;}
header .g-navi a.recruit {display: flex; justify-content: center; align-items: center; gap: 3px; color: #fff; background: var(--color-green); margin-left: 8px; padding: 20px 24px; border: 1px solid var(--color-green);}
header .g-navi a.recruit:hover {color: var(--color-green);}
header .g-navi a.recruit:after {background: #fff; height: 100%;}
header .g-navi a.recruit svg {position: relative; width: 1em; fill: #fff; z-index: 2;}
header .g-navi a.recruit:hover svg {fill: var(--color-green);}
header .g-navi-back {display: none;} .nav_sticky {position: fixed; top: 0; left: 0; width: 100%; box-shadow: 0 0 2px 0 #aaa; transition: .3s ease; transform: translateY(-100%);}
.customize-support .nav_sticky {top: 32px;}
.is-show {transform: translateY(0);} footer .container {justify-content: center; margin: 30px auto;}
footer .info {display: flex; gap: 0 50px; padding: 10px 40px; border-right: 1px solid #ccc;}
footer .info .logo {display: inline-block; margin-bottom: 18px;}
footer .info .logo img {width: auto; height: 36px;}
footer .info .recruit {min-width: 240px; margin-top: 18px; padding: 12px 0;}
footer .info .add {display: flex; flex-direction: column; gap: 10px;}
footer .info .add dl dt {margin-bottom: 3px;}
footer .f-navi {justify-content: space-around; gap: 0 50px; padding: 10px 40px;} #scroll {right: 32px; bottom: 32px; width: 60px; height: 60px;}
#scroll a {height: 50%; font-size: 20px; line-height: 1.5;}  #front .anim .container {position: absolute; left: 50%; transform: translateX(-50%); width: 1200px;} #front .copy {justify-content: center; align-items: center; padding: 60px 0;}
#front .copy h2 {font-size: 42px; margin-right: 40px;} #front .business .entry {display: block; width: calc((100% - 120px) / 3); margin: 60px 60px 0 0;}
#front .business .entry:nth-child(3n) {margin-right: 0;}
#front .business .entry img {height: 120px; padding-bottom: 30px;}
#front .business .entry .w {left: 16px;}
#front .business .entry .g {left: 34px;}
#front .business .entry .p {left: -14px;}
#front .business .entry .m {left: 26px;}
#front .business .entry .t {left: 14px;}
#front .business .entry .i {left: 46px; top :4px;}
#front .business .entry .text {min-height: 240px; padding: 10px 32px 12px;}
#front .business .entry .text h3 {font-size: 18px;} #front .works .works_entry {width: 25%; height: 25vw;}
#front .works .works_entry .cover h3 {font-size: 16px; margin: 0 30px;}
#front .works .works_entry .cat {top: 16px; font-size: 12px; padding: 4px 20px;}
@media screen and (min-width: 1920px) {
#front .works .works_entry {width: calc(100% / 6); height: calc(100vw / 6);}
} #front .member .member_list {width: 900px;}
#front .member .member_entry {width: 180px; margin: 0 60px 60px 0;}
#front .member .member_entry:nth-child(4n) {margin-right: 0;}
#front .member .member_entry div {height: 180px;}
#front .member .member_entry p {margin: 18px 0 0;}
#front .member .member_entry h3 {font-size: 18px;} #front .profile {margin-bottom: 100px;}
#front .profile table {
width: 850px;
margin: 0 auto;
font-size: 14px;
line-height: 1.5;
text-align: left; border: 1px solid #ccc;
}
#front .profile table th,
#front .profile table td {vertical-align: top; padding: 7.5px 12.5px; border-bottom: 1px dotted #ccc;}
#front .profile table th { width: 20%;
}
#front .profile table td dl {display: flex;}
#front .profile table td dl dt {min-width: 9em;} #front .map .map-list .entry {display: flex; align-items: center; height: 480px;}
#front .map .map-list .entry:nth-child(even) {flex-direction: row-reverse;}
#front .map .googlemap {width: 50%; height: 100%;}
#front .map .traffic {width: calc(50% - 5vw); margin: 0 auto;} #front .news .news_list {width: 960px;}
#front .news .news_entry {justify-content: space-between; align-items: center; margin-bottom: 12px; padding: 0 10px 10px;} #front .video {width: 100%; height: 400px; overflow: hidden;}
#front .video video {min-width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';} #front .office_photo {flex-wrap: wrap; padding: 50px 0 42px;}
#front .office_photo a {display: block; width: calc((100% - 24px) / 4); height: 132px; margin: 0 8px 8px 0;}
#front .office_photo a:nth-child(4n) {margin-right: 0;}
#front .office_photo a img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';} #front .banner .big {display: block; width: 980px; height: auto; margin: 0 auto;}
#front .banner .banner_box {justify-content: space-between; flex-wrap: nowrap; margin-bottom: 24px;}
#front .banner .banner_box a {display: block; width: 18%; height: 100px;}  #single-state {margin-top: 30px;}
#single-state h1 {font-size: 32px; padding: 80px 10px;}
#single-state .viewsite {padding: 8px 20px;}
.postlink {padding: 12px 0;} #single {margin-bottom: 40px;}
#single .main_img {margin: auto; padding-bottom: 30px;}
#single h2 {font-size: 26px; padding: 16px 0;}
#single h3 {font-size: 22px; padding: 0 15px;}
#single h4 {font-size: 18px; padding: 0 0 0 20px;}
#single h4:before {top: 7px; left: 0; width: 12px; height: 12px;} #single-works {margin-bottom: 40px;}
#single-works .main-img {width: 900px; max-width: calc(100% - 30px); height: 600px; margin: 20px auto; box-shadow: 15px 15px 0 0 var(--color-green);}
#single-works .main-img.web {width: 100%; height: 100%; max-width: 1280px; max-height: 720px; transform: rotate(.003deg);}
#single-works .state {margin-bottom: 100px;}
#single-works .state table {width: auto; margin: 120px auto 0;}
#single-works .state table th {width: 18%;}
#single-works .state .overview {margin: 100px auto 0;}
#single-works .works-img {margin: 100px auto;}
#single-works .works-img.pc-small-img,
#single-works .works-img.pc-big-img {margin: 100px auto;}
#single-works .works-img.pc-small-img {width: 760px;}
#single-works .works-img.pc-small-img a {width: 340px; height: 215px; margin: 20px;}
#single-works .works-img.pc-big-img a {width: 30%; max-width: 340px; height: 340px; margin: 0 16px;}
#single-works .works-img.sp-img a {width: 188px; height: 334px; margin: 70px 35px;}
#single-works .works-img.sp-img a:before {width: 217px; height: 461px; top: -68px; left: -15px;} #wcd .wcd_list {flex-wrap: wrap;}
#wcd .wcd_list .wcd_entry {width: calc((100% - 50px) / 2); margin: 0 50px 50px 0; padding: 25px;}
#wcd .wcd_list .wcd_entry:nth-last-child(2) {margin-bottom: 0;}
#wcd .wcd_list .wcd_entry:nth-child(even) {margin-right: 0;}
#wcd .wcd_list .wcd_entry img {height: 360px;}
#wcd .wcd_list .wcd_entry h2 {font-size: 20px; margin: 20px 0 15px; padding-left: 10px;} #recruit .recruit_card-list {
margin-bottom: 60px;
}
#recruit .recruit_card-list .recruit_card-item {
width: calc((100% - 60px) / 3);
}
#recruit .recruit_card-list .recruit_card-item:not(:nth-child(3n)) {
margin-right: 30px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-content {
padding: 26px 22px 5px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-title {
font-size: 20px;
margin-bottom: 22px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-post-title {
margin-bottom: 15px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-post-title span {
font-size: 15px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-post-list {
margin-bottom: 20px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-post-item {
font-size: 14px;
margin-bottom: 12px;
} #contact .page-description {margin: 0 0 80px;}
.form {width: 92%; margin: 0 auto 80px;}
.form .tab_select li {height: 200px;}
.form .tab_select li img,
.form .tab_select li svg {height: 90px;}
.form .tab_select li span {font-size: 18px; margin-top: 30px;}
.form .tab_content li {padding: 50px;}
.form .tab_content li p.center {margin-bottom: 50px;}
.form .tab_content .inner {width: 90%; max-width: 960px;}
.form .tab_content dl {display: flex; align-items: center;}
.form .tab_content dt {width: 40%; padding: 0 2%;}
.form .tab_content dd {width: 60%; padding: 0 2%;}
.form .tab_content .wpcf7-radio {margin: 0 -38px 0 38px;}
.form .tab_content .wpcf7-radio .wpcf7-list-item-label {font-size: 14px; margin-right: 38px;}
.form .tab_content input[type="submit"] {font-size: 16px; padding: 12px 100px;}
.form .tab_content .cheak {margin: 40px auto;}
@media screen and (max-width: 1024px) {
.form {width: 100%;}
.form .tab_content li {padding: 40px;}
.form .tab_content li p.center {margin-bottom: 40px;}
.form .tab_content .wpcf7-radio {flex-direction: column; text-align: left;}
.form .tab_content .wpcf7-radio .wpcf7-list-item-label {margin: 5px 38px 5px 0;}
}
@media screen and (max-width: 768px) {
.form .tab_content li {padding: 30px;}
.form .tab_content li p.center {margin-bottom: 30px;}
.form .tab_content li p.center em {display: block;}
.form .tab_content .inner {width: 100%;}
.form .tab_content dt {width: 44%; padding: 0 2% 0 1%;}
.form .tab_content dd {width: 56%; padding: 0 1% 0 2%;}
} #notfound {padding: 100px 0 40px;}
#notfound h1 span.big {font-size: 140px;}
#notfound p {margin: 50px 0;}
#notfound .more {margin: 50px auto;}