@charset "UTF-8";
:root {
    --main-font-color: #333;
    --sub-font-color: #fff;
    --main-color: #005bac;
    --main-thin-color: #edf4fa;
    --accent-color: #e03131;
    --gray-dark: #848484;
    --gray-medium: #e8e8e8;
    --gray-thin: #b7b7b7;
    --bg-black: #303234;
}
body {
    font-size: 14px;
}
.container_narrow,
.container_wide {
    padding: 0 20px;
}
/*--------------------------------
 トップぺージ
---------------------------------*/
.navi-full-menu hgroup>p {
    line-height: 1;
}
.navi-full-menu hgroup {
    row-gap: 6px;
}
.navi-full-menu li {
    margin-bottom: 2em;
}
.navi-full-menu li:nth-child(6) {
    margin-top: 80px;
}
.header {
    padding: 17px 12px;
}
.header h1 {
    position: static;
}
.menu_btn {
    top: 1%;
}
.menu_btn {
    width: 60px;
    height: 60px;
}
.menu_btn::after {
    font-size: 9px;
    bottom: 8px;
}
.menu_btn.active::after {
    font-size: 8px;
    bottom: 9px;
}
.menu_btn span {
    width: 30px;
}
.menu_btn span:nth-of-type(1) {
    top: 16px;
}
.menu_btn span:nth-of-type(2) {
    top: 26px;
}
.menu_btn span:nth-of-type(3) {
    top: 36px;
}
.hero {
    width: calc(100vw - 5%);
}
.bg .bg-wrap .inn {
    font-size: 25px;
}
.bg .bg-wrap {
    margin-bottom: 3px;
}
.hero .hero-text {
    left: 0%;
    bottom: 5%;
    padding: 0 0 40px 10px;
}
.bg .bg-wrap:last-child {
    margin-bottom: 20px;
}
.hero-text .sub-title {
    margin-bottom: 20px;
    font-size: 14px;
}
.hero .swiper-wrapper div img {
    height: 70vh;
}
.scroll_down {
    top: 70%;
}
@media screen and (max-width : 400px) {
    .scroll_down {
        display: none;
    }
}
.btn1-white,
.btn1-blue {
    font-size: 14px;
    margin-inline: auto;
}
.index-heading>p {
    font-size: 39px;
}
.column-heading {
    row-gap: 8px;
    align-items: flex-start;
}
.index-heading>h2 {
    font-size: 15px;
}
.index-about-desc .img-area img {
    height: auto;
}
.index-about-desc .text-area {
    padding: 24px 30px;
}
.index-about-desc .text-area>h3 {
    font-size: 20px;
    margin-bottom: 20px;
}
.index-about {
    padding: 300px 0 400px 0;
    margin-bottom: -160px;
}
.row-heading {
    flex-direction: column-reverse;
    row-gap: 8px;
    align-items: flex-start;
}
.index-flex {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 25px;
}
.row-heading>h2 {
    margin-bottom: 0px;
}
.index-flex>div {
    margin-inline: auto;
}
.index-service-list {
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
}
.index-service-list-item>a {
    aspect-ratio: 4 / 3;
    height: auto;
}
.index-service-list-item>a div {
    padding: 20px;
}
.line-heading {
    font-size: 24px;
}
.index-service {
    margin-top: 40px;
}
.index-service,
.index-case {
    margin-bottom: 80px;
}
.index-case .index-flex>div {
    margin-right: auto;
}
.swiper-controller {
    margin-top: 40px;
}
.swiper-button-prev,
.swiper-button-next {
    width: 40px;
    height: 40px;
}
.index-recruit {
    flex-direction: column;
    row-gap: 80px;
}
.index-recruit-partners-item {
    width: 100%;
}
.index-recruit-partners-item img {
    width: 100%;
}
.index-recruit-partners-item>p {
    margin-bottom: 24px;
}
.index-recruit-partners-item:nth-child(2) {
    margin-top: 0;
}
.index-recruit-partners {
    padding: 60px 0 80px 0;
}
.index-instgram .inst-account {
    margin-left: auto;
    padding-right: 36px;
}
.index-instgram .inst-list li:nth-child(n+5) {
    display: none;
}
.index-instgram .inst-list li {
    width: 45%;
    height: auto;
    row-gap: 1em;
}
.index-news {
    padding: 80px 0;
}
.index-news .news-all .news-title {
    flex-direction: column;
    align-items: flex-start;
}
.index-news .news-all hgroup {
    margin-bottom: 24px;
}
.news-list li .date {
    width: 100%;
    margin-bottom: 0.8em;
}
.news-list li .text {
    line-height: 1.4;
}
.news-list li a {
    padding: 20px 8px;
    row-gap: 0px;
}
.cta-all {
    padding: 40px;
}
.cta-all>.container_narrow {
    padding: 0px;
}
.tel-btn,
.cta-btnlist .mail-btn {
    font-size: 23px;
    height: 80px;
}
.cta-btnlist .mail-btn::before {
    width: 30px;
    height: 30px;
}
.tel-btn,
.mail-btn {
    padding: 15px;
}
.tel-number::before {
    width: 19px !important;
    height: 19px !important;
    margin-right: 5px;
}
.footer-site .site-map ul {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 10px;
}
.footer-site .site-map ul li {
    border-right: none;
}
.footer-site {
    align-items: flex-start;
}
.footer-site .site-map ul li:last-child,
.footer-site .site-map ul li {
    padding: 0px;
}
.footer-top {
    padding-top: 120px;
    padding-bottom: 30px;
}
.footer-middle {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 20px;
}
.footer-sns-list {
    justify-content: flex-start;
}
footer .sns-list li {
    margin-bottom: 10px;
}
.page-top {
    right: 8px;
    bottom: 13px;
}
/*--------------------------------
 下層ぺージ_共通
---------------------------------*/
.lower-mv {
    padding: 90px 0 40px 0;
}
.lower-mv-heading>p {
    font-size: 34px;
    margin-bottom: 6px;
}
.breadcrumb__list li {
    font-size: 10px;
}
.breadcrumb__list li:after {
    padding: 0 0.4em;
}
.lower-heading>p {
    font-size: 13px;
}
.lower-heading>h3 {
    font-size: 20px;
}
/*--------------------------------
 single
---------------------------------*/
.single-article {
    margin: 20px 0 80px;
}
.single-article .article-title {
    flex-wrap: wrap;
}
.single-article .article-title>h3 {
    font-size: 18px;
}
.single-article .article-title>div {
    font-size: 12px;
}
.article-link-btn {
    margin-bottom: 40px;
}
.single-article .article-main {
    font-size: 14px;
}
/*--------------------------------
 お問い合わせ　contact
---------------------------------*/
.contact-desc p {
    font-size: 14px;
}
.contact-desc .desc-text {
    margin-bottom: 40px;
}
.cta-box {
    flex-direction: column;
    padding: 20px;
}
.cta-box .box-item {
    width: 100%;
}
.cta-box .box-item:nth-child(2) {
    border-left: none;
    border-top: 2px solid var(--main-color);
}
.cta-box .box-item>p {
    padding: 15px;
}
.contact-form {
    padding: 40px 30px;
}
.form .form__textarea {
    height: 120px;
}
.note_text_desc {
    margin: 30px 0;
}
.policy-heading>p {
    font-size: 24px;
}
.policy-heading>h2 {
    font-size: 12px;
}
.policy_scroll {
    padding: 20px 10px;
}
.policy_h3 {
    font-size: 14px;
    padding: .2em 0em .2em .8em;
}
/*--------------------------------
 ぺージが見つかりません　404
---------------------------------*/
.page-404 p {
    margin-bottom: 40px;
}
/*--------------------------------
 施工事例　case
---------------------------------*/
.tab-label {
    font-size: 15px;
    padding: 10px .5em;
}
.tab-switch:checked+.tab-label+.tab-content {
    padding: 30px 5px;
}
.tab-switch:checked+.tab-label:after {
    border-width: 10px;
    margin-left: -12px;
}
.grid-container {
    grid-template-columns: repeat(2, 1fr);
}
.card {
    gap: 0.5rem;
}
.card .card-text .date {
    margin-bottom: 5px;
}
/*--------------------------------
 事業内容　service
---------------------------------*/
.page-service-desc p {
    padding: 20px 30px;
    font-size: 14px;
}
.service-business-box .lower-heading {
    margin-bottom: 20px;
}
.flex .flex-text>h4 {
    font-size: 16px;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.service-item {
    margin-bottom: 50px;
}
.individual-cta {
    margin-top: 80px;
    padding: 45px 20px;
}
.individual-cta>h4 {
    font-size: 16px;
}
.individual-cta>h4::before,
.individual-cta>h4::after {
    height: 25px;
}
.individual-cta>h4::before {
    margin-right: 15px;
}
.individual-cta>h4::after {
    margin-left: 15px;
}
.individual-cta p,
.individual-cta .individual-mailbtn {
    margin-bottom: 25px;
}
.individual-cta .individual-telarea {
    padding: 20px;
}
.individual-telarea>h4 {
    font-size: 16px;
}
.individual-telarea .individual-tel {
    font-size: 25px;
    line-height: 1;
}
.service-safety .safety-text,
.service-quality .quality-text {
    margin-bottom: 20px;
}
/*--------------------------------
 ブライトについて　company
---------------------------------*/
/* 共通 */
.page-company-message .lower-heading,
.page-company-staff .lower-heading,
.page-company-profile .lower-heading,
.page-company-history .lower-heading,
.page-company-partner .lower-heading {
    margin-bottom: 20px;
}
.page-company-message,
.page-company-staff,
.page-company-profile,
.page-company-history {
    padding: 0;
}
/* 表 */
.table1 tr {
    display: flex;
    flex-direction: column;
}
.table1 th {
    font-size: 14px;
    width: 100%;
    border-bottom: none;
    padding: 20px 20px 9px 10px
}
.table1 td {
    font-size: 14px;
    padding: 0px 30px 20px 15px;
    line-height: 1.7;
}
.company-mv {
    min-height: 400px;
}
.company-mv .logo-img img {
    width: 100%;
    max-width: 180px;
    height: auto;
}
@media screen and (max-width : 475px) {
    .company-mv .logo-img img {
        max-width: 150px;
    }
}
.company-mv .flex {
    row-gap: 30px;
}
.company-mv .flex .text-area {
    padding: 0 5%;
}
.company-mv .flex .text-area>h3 {
    font-size: 60px;
    margin-bottom: 20px;
}
@media screen and (max-width : 475px) {
    .company-mv .flex .text-area>h3 {
        font-size: 50px;
    }
    .company-mv .flex .text-area>h2 {
        font-size: 15px;
        margin-bottom: 5px;
    }
}
@media screen and (max-width : 400px) {
    .company-mv .flex .text-area>h3 {
        font-size: 40px;
    }
}
.company-parallax {
    display: none;
}
.company-anchor {
    margin-bottom: 50px;
    padding: 0 10px;
}
.page-company-message .flex .flex-text>h4 {
    margin-bottom: 25px;
}
.page-company-message {
    background-size: 60%;
}
.page-company-message .flex .flex-text p:last-child {
    font-size: 18px;
}
#message {
    padding-bottom: 80px;
}
.page-company-staff .flex .flex-text {
    padding: 30px 40px;
}
.page-company-profile {
    padding-top: 80px;
}
.profile-main {
    padding: 35px 20px;
}
.page-company-profile {
    padding-bottom: 200px;
}
.page-company-history {
    padding-bottom: 110px;
}
.page-company-recruit {
    padding-top: 80px;
}
.page-company-recruit .lower-heading {
    margin-bottom: 30px;
}
.page-company-recruit .profile-main>h4 {
    font-size: 20px;
    margin-bottom: 20px;
}
.page-company-recruit {
    padding-bottom: 140px;
}
.page-company-partner .partner-box,
.page-company-partner .profile-main>p {
    margin-bottom: 35px;
}
.page-company-partner .partner-box .service_heading {
    font-size: 16px;
}
.page-company-partner .partner-cta,
.page-company-partner .individual-cta {
    margin-top: 0px;
}
.page-company-partner {
    padding-bottom: 40px;
    margin-right: 0;
    margin-left: 0;
}

.page-company-partner-img {
    margin: 0em 0;
}
