@charset "utf-8";

#wpadminbar {position: fixed!important;} html, body, div, span, object, iframe, article, aside, canvas, details, pre, figcaption, figure,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, input, textarea, select, button, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {font-size: 14px;}
html,body {min-width: 320px;}
body {padding-top: 50px;}
.pc {display: none!important;} .container {width: 90vw; margin: 0 auto;} .h-g {padding: 40px 0;}
.h-g .big {font-size: 32px;}
.h-g .small {font-size: 13px;} .pagination {margin-bottom: 50px;} .more {margin: 50px auto;}
.more a {min-width: 180px;} .sub_cat_navi {margin-bottom: 20px;}
.sub_cat_navi ul {flex-wrap: wrap;}
.sub_cat_navi ul li {max-width: 50%;}
.h-news_entry,
.h-works_entry {width: 100%; margin: 0 0 24px 0;}
.h-news_entry a,
.h-works_entry a {height: 75vw;}
.h-news_entry a .cat,
.h-works_entry a .cat {top: 0; font-size: 10px; padding: 4px 16px;}
.h-news_entry .text h2,
.h-works_entry .text h2 {font-size: 17px;}
.h-news_entry .text p {font-size: 13px;}
.h-news_entry .text time,
.h-works_entry .text time {font-size: 13px;} header {position: fixed; top: 0; height: 50px; box-shadow: 0 0 2px 0 #aaa;}
.customize-support header {top: 46px;}
header .logo img {width: auto; height: 25px;} header #nav-toggle {position: relative; right: -10px; width: 50px; height: 50px; z-index: 400;}
header #nav-toggle > div {position: absolute; left: 10px; width: 30px; height: 2px; background: var(--color-green); transition: .3s ease;}
header #nav-toggle div:nth-child(1) {top: 18px;}
header #nav-toggle div:nth-child(2) {top: 24px; opacity: 1;}
header #nav-toggle div:nth-child(3) {top: 30px;}
header .g-navi {flex-direction: column; justify-content: center; align-items: center; position: fixed; top: 0; right: 0; width: 240px; height: 100dvh; background: #fff; transition: .5s ease transform; transform: translateX(100%); z-index: 300;}
header .g-navi a {display: block; font-size: 15px; text-align: center; padding: 8px 0;}
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: 6px; width: 100%; color: #fff; background: var(--color-green); margin-top: 12px; padding: 12px 0; border-top: 1px solid var(--color-green); border-bottom: 1px solid var(--color-green);}
header .g-navi a.recruit:hover {color: var(--color-green); background: #fff;}
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 {content: ""; position: fixed; inset: 0; width: 100vw; height: 100dvh; background: rgba(0,0,0, .375); opacity: 0; visibility: hidden; pointer-events: none; transition: .3s ease; z-index: 299;}
.open header .g-navi {transform: translateX(0);}
.open header .g-navi-back {opacity: 1; visibility: visible; pointer-events: auto;}
.open #nav-toggle div:nth-child(1) {transform: rotate(45deg); top: 24px;}
.open #nav-toggle div:nth-child(2) {opacity: 0;}
.open #nav-toggle div:nth-child(3) {transform: rotate(-45deg); top: 24px;} footer .container {display: block; text-align: center; margin: 10px auto;}
footer .info {padding: 20px 0 10px;}
footer .info .logo {display: inline-block; margin-bottom: 10px;}
footer .info .logo img {width: auto; height: 30px;}
footer .info .recruit {width: 280px; margin: 15px auto 0; padding: 8px 0;}
footer .info .add {margin-top: 15px;}
footer .info .add dl {margin-top: 10px;}
footer .info .add dl dt {margin-bottom: 3px;}
footer .f-navi {display: inline-flex; flex-direction: column; gap: 10px 0; padding: 10px 0;}
footer .f-navi ul {text-align: left;} #scroll {right: 12px; bottom: 12px; width: 48px; height: 48px;}
#scroll a {height: 100%; font-size: 16px; line-height: 1;}
#scroll .down {display: none;}  #front .anim .container {position: absolute; left: 50%; transform: translateX(-50%); width: 1200px;} #front .copy {display: block; text-align: center; padding: 40px 0;}
#front .copy h2 {font-size: 32px; margin: 0 0 35px; padding-left: 10px; text-indent: -10px;}
#front .copy p {font-size: 13px; line-height: 2;} #front .business .entry {display: block; width: 100%; margin: 35px 0 0 0;}
#front .business .entry img {height: 80px; padding-bottom: 20px;}
#front .business .entry .w {left: 14px;}
#front .business .entry .g {left: 26px;}
#front .business .entry .p {left: -20px;}
#front .business .entry .m {left: 18px; top: 4px;}
#front .business .entry .t {left: 10px;}
#front .business .entry .i {left: 30px; top :0;}
#front .business .entry .text {padding: 6px 12px;}
#front .business .entry .text h3 {font-size: 16px;} #front .works .works_entry {width: 50%; height: 50vw;}
#front .works .works_entry .cover h3 {font-size: 14px; margin: 0 15px;}
#front .works .works_entry .cat {top: 0; font-size: 10px; padding: 4px 16px;} #front .member .member_list {width: 90vw;}
#front .member .member_entry {width: 42vw; margin: 0 6vw 6vw 0;}
#front .member .member_entry:nth-child(2n) {margin-right: 0;}
#front .member .member_entry div {height: 44vw;}
#front .member .member_entry p {margin: 16px 0 0;}
#front .member .member_entry h3 {font-size: 16px;} #front .profile {margin-bottom: 50px;}
#front .profile table {width: 100%; font-size: 14px; line-height: 1.5; text-align: center;}
#front .profile table th,
#front .profile table td {display: block; vertical-align: top; padding: 4px 2.5px;}
#front .profile table th {background: var(--color-green); color: #fff;}
#front .profile table td dl:not(:last-child) {margin-bottom: 5px;} #front .map .googlemap {height: 300px;}
#front .map .traffic {margin: 25px auto; padding: 0 15px;} #front .news .news_list {display: block;}
#front .news .news_entry {flex-direction: column-reverse; margin-bottom: 10px; padding: 0 6px 10px;}
#front .news .news_entry time {font-size: 13px;}
#front .news .news_entry h3 {font-size: 15px;} #banner .big {display: block; width: 100%; height: auto; margin: 0 auto;}
#banner .banner_box {display: flex; justify-content: space-between; flex-wrap: nowrap; margin-bottom: 24px;}
#banner .banner_box a {display: block; width: 18%; height: 100px;}  #single-state {margin-top: 20px;}
#single-state h1 {font-size: 24px; padding: 60px 10px;}
#single-state .viewsite {padding: 6px 18px;}
.postlink {padding: 8px 0;}
.postlink span a {font-size: 13px;} #single {margin-bottom: 20px;}
#single .main_img {margin-bottom: 30px;}
#single h2 {font-size: 24px; padding: 12px 0;}
#single h3 {font-size: 20px; padding: 0 10px;}
#single h4 {font-size: 16px; padding: 0 0 0 18px;}
#single h4:before {top: 6px; left: 0; width: 10px; height: 10px;} #single-works {margin-bottom: 20px;}
#single-works .main-img {width: calc(100% - 16px); height: 54vw; margin: 15px auto; box-shadow: 8px 8px 0 0 var(--color-green);}
#single-works .main-img.web {width: 100%; height: 100%;}
#single-works .state table {display: inline-block; margin: 50px auto 0; line-height: 1.5;}
#single-works .state table th,
#single-works .state table td {display: block; width: 100%; text-align: center; padding: 4px 0;}
#single-works .state .overview {margin: 50px auto 0;}
#single-works .works-img {margin: 60px auto;}
#single-works .works-img.pc-small-img,
#single-works .works-img.pc-big-img {width: 100%; margin: 60px auto;}
#single-works .works-img.pc-small-img a {width: 43vw; height: 43vw; margin: 2vw 0;}
#single-works .works-img.pc-small-img a:nth-child(odd) {margin-right: 4vw;}
#single-works .works-img.pc-big-img a {width: 30%; height: 30vw; margin: auto;}
#single-works .works-img.sp-img a {width: 23vw; height: 41vw; margin: 25px auto;}
#single-works .works-img.sp-img a:before {width: 25vw; height: 53vw; top: -8vw; left: -1vw;} #wcd .wcd_list {display: block;}
#wcd .wcd_list .wcd_entry {width: 100%; margin: 0 0 25px 0; padding: 15px;}
#wcd .wcd_list .wcd_entry img {height: 60vw;}
#wcd .wcd_list .wcd_entry h2 {font-size: 18px; margin: 18px 0 12px; padding-left: 10px;}
#wcd .wcd_list .wcd_entry p {font-size: 14px;} #recruit .recruit_card-list {
flex-direction: column;
margin-bottom: 40px;
}
#recruit .recruit_card-list .recruit_card-item:not(:last-child) {
margin-bottom: 20px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-content {
padding: 22px 16px 4px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-title {
font-size: 18px;
margin-bottom: 16px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-post-title {
margin-bottom: 12px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-post-title span {
font-size: 14px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-post-list {
margin-bottom: 16px;
}
#recruit .recruit_card-list .recruit_card-item .recruit_card-post-item {
font-size: 13px;
margin-bottom: 10px;
} #contact .page-description {margin: 0 0 40px;}
.form {width: 100%; margin: 0 auto 40px;}
.form .tab_select li {height: 160px;}
.form .tab_select li img,
.form .tab_select li svg {height: 60px;}
.form .tab_select li span {font-size: 17px; line-height: 1.2; text-align: center; margin: 20px 0 -5px;}
.form .tab_content li {padding: 20px;}
.form .tab_content li p.center {margin-bottom: 15px;}
.form .tab_content li p.center em {display: block;}
.form .tab_content .inner {width: 100%;}
.form .tab_content dt,
.form .tab_content dd {width: 100%;}
.form .tab_content dt {margin-bottom: 10px;}
.form .tab_content .wpcf7-radio {flex-direction: column; text-align: left;}
.form .tab_content .wpcf7-radio {margin: 0 -20px 0 20px;}
.form .tab_content .wpcf7-radio .wpcf7-list-item-label {margin: 5px 0 5px 0;}
.form .tab_content .cheak {margin: 80px auto 40px;}
.form .tab_content .cheak .wpcf7-list-item-label {display: block; left: -10px;}
.form .tab_content .cheak .wpcf7-list-item-label:before {left: 50%; top: -34px; transform: translate(-50%,0);}
.form .tab_content .cheak .wpcf7-list-item-label:after {left: 50%; top: -28px; transform: translate(-50%,0) rotate(-45deg);}
.form .tab_content input[type="submit"] {font-size: 15px; width: 100%; padding: 12px 0;} #notfound {padding: 70px 0 0;}
#notfound h1 span.big {font-size: 120px;}
#notfound p {margin: 50px 0;} #score .container {
flex-direction: column;
justify-content: left;
gap: 30px 0;
max-width: 350px;
}
#score .score-sec {
width: 100%;
padding: 0;
}
#score .score-sec:not(:last-child):after {
content: none;
}