@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/**********************************
 * 共通
**********************************/

@media screen and (min-width:601px) {
    .br-sp {
        display: none !important;
    }
}


/**********************************
 * トップページ
**********************************/

.home {
    background:url('../../uploads/2025/09/bg-grey1.png');
    background-attachment: fixed;
}

.home .l-content,
.page .l-content {
    margin-bottom: 0;
}

.home .w-beforeFooter,
.page.page-id-220 .w-beforeFooter,
.page.page-id-31 .w-beforeFooter,
.page.page-id-648 .w-beforeFooter {
    margin-top: 0;
}


.p-mainVisual__slide .p-mainVisual__textLayer .main-catch {
    line-height: 1.5;
}

.p-mainVisual__slide .p-mainVisual__textLayer .swell-block-fullWide__inner {
    padding-left: 50px;
}

.top-brand .bland-logo {
    width: 80%;
    margin: 0 auto;
}

/* メインビジュアル */
.p-mainVisual__slide .p-mainVisual__img {
    display: block;
    transform: scale(1);
    transform-origin: center center;
    will-change: transform;
    transition: transform 12s ease-out;
}

.p-mainVisual__slide.swiper-slide-active .p-mainVisual__img,
.p-mainVisual__slide.swiper-slide-duplicate-active .p-mainVisual__img {
    transform: scale(1.1);
}

@media (prefers-reduced-motion: reduce) {
    .p-mainVisual__slide .p-mainVisual__img {
        transition: none;
    }
}

/* About */
.top-about .has-white-background-color {
    background-color: transparent !important;
}

/* Service */
.top-service .swell-block-box-menu.is-style-default .swell-block-box-menu__item {
    border: 2px solid #7e9a97;
}

.top-service .swell-block-box-menu__link {
    background-color: #fff;
}

.top-service .swell-block-box-menu__link .swell-block-box-menu__text {
    line-height: 1.6;
    flex: none;
}

/* brand */
.top-brand .is-style-emboss_box {
    border-top: 4px solid;
}


@media screen and (max-width:600px) {

    .home {
        background:url('../../uploads/2025/09/bg-grey3.png');
    }

    .p-mainVisual__slide .p-mainVisual__textLayer .swell-block-fullWide__inner {
        padding-left: 17px;
    }

    .p-mainVisual__slide .p-mainVisual__textLayer .swell-block-fullWide+.swell-block-fullWide {
        margin-top: -13em;
    }
    
    .top-service .swell-block-box-menu__link .swell-block-box-menu__text {
        font-size: 0.875rem;
    }

    .top-recruit .swell-block-fullWide__inner .title-custom span {
        font-size: 1.25rem !important;
    }

}


/**********************************
 * ヘッダーエリア
**********************************/

.l-header__bar {
    background: #98fb98;
}

@media screen and (min-width: 960px) {
    .l-header {
        /* border-top: solid 4px #98fb98; */
    }
}


/**********************************
 * メインエリア
**********************************/

.post_content h2.is-style-section_ttl::after {
    height: 3px;
}

.post_content h2 {
    font-size: 1.6em;
    color: #254441;
}

@media (min-width: 600px) {
    .post_content h2 {
        font-size: 1.8em;
    }
}

.page-id-648 #top_title_area {
    aspect-ratio: 1280 / 400;
}

.page .lineup-capbox .swell-block-columns__inner .swell-block-column {
    padding: 0;
    background-color: #f2f8f2;
}

.page .lineup-capbox .swell-block-columns__inner .swell-block-column .cap_box_content {
    border: 0;
}

@media screen and (min-width:601px) {
    .bland-logo {
        width:80%;
        margin-left:auto;
        margin-right:auto;
    }
}


/* recruit */
.values .is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column {
    border: 2px solid #7e9a97;
    background-color: #f2f8f2;
}

.values .velues-box h3 {
    margin-bottom: 0;
    color: #254441;
}

.values .velues-box .icon-block {
    text-align: center;
    margin-bottom: 0;
}

.values .velues-box .swl-inline-icon {
    font-size: 3rem;
    color: #254441;
}

.interview-fv-bg {
    background-color: #f2f8f2;
}


/* service */
.is-style-border > .swell-block-dl__dt {
    border-left: 3px solid var(--color_main);
}


/* sitemap */
.swell-block-linkList.sitemap-list-parent {
  margin-bottom: 12px;
}

.swell-block-linkList.sitemap-list-parent .swell-block-linkList__link {
  padding: 0.8em 0.5em;
}

.swell-block-linkList.sitemap-list-child {
  margin-left: 28px;
}

.swell-block-linkList.sitemap-list-child .swell-block-linkList__link {
  padding: .1em;
}


/**********************************
 * サイドエリア
**********************************/


/**********************************
 * フッターエリア
**********************************/

/* アイコンサイズ */
.tel-txt .swl-inline-icon {
	font-size: 1.6rem;
}

.footer-custom .contact-wrap h2.is-style-section_ttl::after {
    content: none;
}

.footer-custom .swell-block-linkList.is-style-default .swell-block-linkList__icon {
    color: #98fb98;
}

.footer-custom .swell-block-linkList.is-style-default .swell-block-linkList__link:hover {
    color: #98fb98;
}

.footer-custom .swell-block-linkList-child {
    font-size: 0.85em;
    padding-left: 40px;
}

.footer-custom .swell-block-linkList.is-style-default:not(.-flex).swell-block-linkList-child .swell-block-linkList__link:hover .swell-block-linkList__text {
    -webkit-transform: translateX(.4em);
    transform: translateX(.4em);
}


/* フッター-SNSアイコン */
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram,
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube,
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok {
  background-color: transparent;
  border: solid 1px #fff;
}


/**********************************
 * スマホメニュー
**********************************/

.p-spMenu__body {
    padding-bottom: 20vw;
}

/* SNSアイコン */
.p-spMenu__body :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram,
.p-spMenu__body :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube,
.p-spMenu__body :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok {
  background-color: transparent;
  border: solid 1px #2d2d2a;
}

.p-spMenu__body .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram .wp-block-social-link-anchor svg,
.p-spMenu__body .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube .wp-block-social-link-anchor svg,
.p-spMenu__body .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok .wp-block-social-link-anchor svg {
  color: #2d2d2a;
}


/**********************************
 * Otherカスタマイズ
**********************************/

/* GTranslate */
.gt_float_switcher {
    font-size: 14px !important;
}
.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 5px 10px !important;
}
.gt_float_switcher img {
    width: 23px !important;
}
.gt_float_switcher .gt_options a {
    padding: 5px 10px !important;
}


/************************************************************
 * Contact Form7 カスタマイズ
************************************************************/

.c-contact,
.c-contact * {
  box-sizing: border-box;
}

.c-contact {
  max-width: 980px;
  margin: 0 auto;
  padding: 24px 16px 24px;
}

.c-contact__row {
  margin-bottom: 40px;
}

.c-contact__label {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 20px;
  align-items: start;
}

@media (max-width: 768px) {
  .c-contact__label { grid-template-columns: 1fr; gap: 8px; }
}

.c-contact__head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  word-break: keep-all;
}

.c-contact__badge {
  display: inline-block;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  color: #e60033;
  position: relative;
}

.c-contact .wpcf7-form-control {
  width: 100%;
  max-width: 100%;
  padding: 12px 14px;
  border: 1px solid #cfd8e3;
  border-radius: 0;
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.c-contact textarea.wpcf7-form-control {
  min-height: 240px;
  resize: vertical;
}

.c-contact ::placeholder { color: #9aa5b1; }
.c-contact .wpcf7-form-control:focus {
  border-color: #2b6cb0;
  box-shadow: 0 0 0 3px rgba(43,108,176,.15);
}

.c-contact .wpcf7-form-control.wpcf7-not-valid {
  border-color: #e11d48;
  box-shadow: 0 0 0 3px rgba(225,29,72,.12);
}

.c-contact span.wpcf7-not-valid-tip {
  display: block;
  margin-top: 8px;
  color: #b91c1c;
  font-size: 13px;
}

.c-contact__agree {
  border-top: 1px dashed #cfd8e3;
  margin-top: 28px;
  padding-top: 28px;
}

.c-contact__agree-text {
  margin: 10px 0 0 0;
}

.c-contact__agre-link {
  margin: 0 0 15px 0;
}

.c-contact__agre-link a {
  color: #2b6cb0;
  text-decoration: underline;
}

.c-contact__accept .wpcf7-acceptance,
.c-contact__accept .wpcf7-form-control-wrap {
  display: inline-block;
}

.c-contact__accept input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  vertical-align: -3px;
  accent-color: #2b6cb0;
}

.c-contact__agree .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.c-contact__submit {
  text-align: center;
  margin-top: 60px;
}

.c-contact__submit .wpcf7-submit {
  display: inline-block;
  min-width: 280px;
  padding: 16px 26px;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  background: #254441;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: filter .15s ease, transform .02s ease;
}

.c-contact__submit .wpcf7-spinner {
  display: block;
  margin: 5px auto;
}

@media (min-width: 480px) {
    .c-contact__submit .wpcf7-submit {
        max-width: 450px;
    }
}

.c-contact__submit .wpcf7-submit:hover {
  filter: brightness(1.1);
}

.c-contact__submit .wpcf7-submit:active { 
  transform: translateY(2px);
}

/* 送信後メッセージ */
.wpcf7 form .wpcf7-response-output {
  margin: 30px 0 0;
  padding: 12px 14px;
  border-radius: 0;
  background: #f8fafc;
}

.c-contact input:-webkit-autofill,
.c-contact textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
          box-shadow: inset 0 0 0 1000px #fff;
}

/* 印刷時 */
@media print {
  .c-contact__submit { display: none; }
  .c-contact a { color: #000; text-decoration: none; }
}

