@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
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');

/*-------------------------
  共通
-------------------------*/
/* 表示非表示 */
.vpc {
    display: none;
}

.vsp {
    display: block;
}

@media (min-width: 768px) {
.vpc {
    display: block;
}

.vsp {
    display:none;
}
}

/* ページ共通 */
.top #content {
    padding-top: 0;
    margin-bottom: 0;
}

.page #breadcrumb {
    display: none;
}

.home.page .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    border: 0;
    font-size: 2.5rem;
}

.home.page .post_content h2.is-style-section_ttl::after {
    border: 0;
    bottom: -5px;
    top: auto;
}

.post_content h2.is-style-section_ttl {
    font-size: 2.125rem;
}

.post_content h2.is-style-section_ttl::after {
    height: 5px;
    width: 48px;
    left: calc(50% - 24px);
    background: #034A8F;
}

.is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column {
    box-shadow: 0px 0 8px 0px rgba(0, 0, 0, 0.1);
}

.wp-block-table>table tr>:first-child:not(.-no1) {
    font-weight: 700;
    padding-bottom: 0;
}

.wp-block-table td {
    border: 0;
}

.wp-block-table td:last-child {
    border-bottom: 1px solid #0000001a;
}

.blog .l-content {
    padding-top: 0;
}

@media (min-width: 768px) {
    .post_content h2.is-style-section_ttl {
        font-size: 2rem;
    }

    .home.page .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
        font-size: 2.125rem;
    }

    .wp-block-table td {
        padding: 1.25em .75em;
        border-bottom: 1px solid #0000001a;
    }

    .wp-block-table>table tr>:first-child:not(.-no1) {
        padding: 1.25em .75em;
        width: 30%;
    }

    .wp-block-table td:last-child {
        width: 70%;
    }
}

/*-------------------------
  CTA
-------------------------*/
/* お問い合わせはこちら */
.contact__bg {
    background-image: url(./img/cta/pageContact__bg_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.post_content .contact h2.is-style-section_ttl {
    border: 0;
    color: #fff;
}

.post_content .contact h2.is-style-section_ttl::after {
    display: none;
}

.contact h3 {
    color: #000;
    font-size: 1.5rem;
    margin-bottom: 0;
}

.post_content .contact h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    display: none;
}

.contact .swell-block-column {
    background-color: #fff;
    padding: 2rem 1rem;
}

.contact__tel {
    display: block;
    margin: 0 auto;
    width: 69%;
}

.contact__tel a {
    margin: 0 auto;
    display: block;
    font-size: 2rem;
    color: #034A8F;
    font-weight: 600;
    position: relative;
    text-align: left;
    padding-left: 3rem;
}

.contact__tel a:before {
    content: "";
    position: absolute;
    left: 0;
    background-image: url(./img/common/header-tel-icon.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 30px;
    height: 29px;
    top: 50%;
    transform: translateY(-50%);
}

.l-content [class*=is-style-btn_].-center.contact__btn a {
    display: block;
    margin: 0 auto;
    min-width: 250px;
    width: 80%;
}

@media (min-width: 768px) {
    .contact__bg {
        background-image: url(./img/cta/pageContact__bg.jpg);
    }

    .contact .swell-block-column {
        padding: 3rem 1rem;
    }

    .post_content .contact h2.is-style-section_ttl {
        font-size: 2.5rem;
        margin-bottom: 2rem;
    }

    .l-content [class*=is-style-btn_].-center.contact__btn a {
        width: 60%;
    }

    .contact__tel a {
        font-size: 1.75rem;
        padding-left: 3.5rem;
    }

    .contact__tel {
        width: 78%;
    }

    .contact__tel a:before {
        width: 44px;
        height: 42px;
    }
}

@media (min-width: 1024px) {
    .contact__tel a {
            font-size: 2.5rem;
        }
    .contact__tel {
        width: 58%;
    }
}

/*-------------------------
  固定ページ
-------------------------*/
/* 共通 */
.page #content {
    padding-top: 0;
    margin-bottom: 0;
}

.page .l-mainContent__inner>.post_content {
    margin: 2rem 0 0;
}

.c-pageTitle {
    display: block;
    background-image: url(./img/kv/pageKv__bg_sp.jpg);
    background-size: cover;
    padding: 4rem 1.5rem 8rem;
    color: #fff;
    margin-left: calc(-50vw + 50%);
    width: 100vw;
    font-size: 2rem;
}

.c-pageTitle:after {
    display: none;
}

.c-pageTitle[data-style=b_bottom] {
    border-bottom: none;
}

.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
    border-bottom: 0;
}

.page .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    background-color: transparent;
    color: #000;
    border-left: 8px solid;
    border-image: linear-gradient(to bottom, #034A8F, #0D3964) 1;
    font-size: 1.75rem;
    padding: .25rem 1rem;
}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    border: 0;
    height: 1px;
    top: auto;
    bottom: -10px;
    left: -7px;
    width: 100%;
    background-color: #034A8F;
}

.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    padding-bottom: 1rem;
}

.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    background: #0000001c;
}

@media (min-width: 768px) {
    .c-pageTitle {
        background-image: url(./img/kv/pageKv__bg.jpg);
        padding: 4rem 0rem 4rem;
    }

    .c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
        max-width: 1200px;
        margin: 0 auto;
        display: block;
        float: none;
    }

    .swell-block-columns.-reverse .swell-block-columns__inner {
        flex-direction: row-reverse;
    }
}

/* KV */
.page__kv {
    background-image: url(./img/kv/pageKv__bg_sp.jpg);
    background-size: cover;
    color: #fff;
}

.page__kv .kv__subTtl {
    border-bottom: 2px solid #ffff;
    display: inline-block;
    padding-bottom: .5rem;
    font-size: 1.125rem;
}

@media (min-width: 768px) {
    .page__kv {
        background-image: url(./img/kv/pageKv__bg.jpg);
        padding: 4rem 0rem 4rem;
    }

    .page__kv .swell-block-columns__inner {
        align-items: flex-end;
    }

	.ac__kv .swell-block-columns__inner {
        align-items: center;
    }
}

/* ボタン */
.l-content [class*=is-style-btn_] a {
    border-radius: 4px;
    padding: 1em 3em 1em 1.5em;
    position: relative;
    width: 100%;
    text-align: left;
    font-size: 1.2rem;
    max-width: 400px;
    min-width: 330px;
}

.l-content [class*=is-style-btn_].-center a {
    text-align: center;
}

.l-content [class*=is-style-btn_] a.swell-block-button__link:after {
    content: "";
    position: absolute;
    background-image: url(./img/common/btn-white-arrow.svg);
    top: 50%;
    transform: translateY(-50%);
    right: 1.5rem;
    width: 8px;
    height: 16px;
    background-size: 100% auto;
}

/* QA */
.qa .swell-block-accordion__item {
    background-color: #fff;
    border-radius: 16px;
    padding: 0 1rem;
    margin-top: 1rem;
}

.qa .swell-block-accordion__title {
    background-color: #fff;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.6;
    padding-left: 3.75rem;
    position: relative;
}
.qa .is-opened .swell-block-accordion__title{
    border-bottom: 1px solid #00000017;
}

.qa .swell-block-accordion__title:before {
    content: "Q";
    color: #fff;
    font-weight: 600;
    background-color: #034A8F;
    border-radius: 50vh;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    padding: .5rem 1rem;
    font-size: 1.25rem;
}

.qa .swell-block-accordion__icon {
    color: #fff;
    background-color: #034A8F;
    border-radius: 50vh;
    padding: .3rem;
    width: 30px;
    height: 30px;
    position: relative;
}

.qa .c-switchIconBtn[data-opened=true]>.__icon--closed:before {
    transform: scale(1.2);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.qa .swell-block-accordion__icon .__icon--opened.icon-minus {
    display: block;
    width: 30px;
    height: 30px;
    padding: .2rem 0;
    top: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.qa .icon-minus:before {
    display: block;
    width: 100%;
    height: 100%;
    padding: .2rem;
}

.swell-block-accordion__item {
    margin-top: 1rem;
}

@media (min-width: 768px) {
    .qa .swell-block-accordion__icon {
            padding: .25rem;
        }

    .qa .icon-minus:before {
        padding: .125rem;
    }
}

/* ステップ */
.swell-block-step__item:after {
    border-left: 1px dashed var(--color_border);
    content: "";
    display: block;
    height: 100%;
    left: 23px;
    position: absolute;
    top: 0;
    width: 0;
}

.swell-block-step .swell-block-columns .swell-block-column {
    margin-left: 3rem;
}

@media (min-width: 768px) {
    .swell-block-step__item {
        padding: 0 0 3em 80px;
    }

    .swell-block-step__item:before {
        left: 32px;
    }

    .swell-block-step__item:after {
        display: none;
    }

    .swell-block-step .swell-block-columns .swell-block-column {
        margin-left: 0;
    }

    .swell-block-step .swell-block-columns .swell-block-column > p {
        padding-left: 1.75rem;
    }

    .swell-block-step:not(.is-style-big):not(.is-style-small)>.swell-block-step__item>.swell-block-step__title {
        font-size: 1.75rem!important;
    }

    .swell-block-step__number .__label {
        font-size: 14px;
    }

    .swell-block-step__number {
            width: 64px;
            height: 64px;
    }

    .swell-block-step__number:after {
        font-size: 1.5rem;
    }
}

/* チェックリスト */
.is-style-check_list li {
    position: relative;
    line-height: 2;
    padding-left: 2.5rem;
}
.is-style-check_list li:before {
    content: "";
    background-image: url(./img/common/solar__check.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 2.2rem;
    height: 2.2rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

@media (min-width: 768px) {
    .is-style-check_list li {
        padding-left: 2.5rem;
    }

    .is-style-check_list li:before {
        width: 1.8rem;
        height: 1.8rem;
}
}
/*-------------------------
  投稿ページ
-------------------------*/
.-type-simple .c-postThumb__cat {
    position: relative;
}

.-type-simple .p-postList__item {
    position: relative;
}

.-type-simple .p-postList__item:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
    background-image: url(./img/top/news-icon.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 10px;
    height: 21px;
}

.p-postList__meta :before,
.p-postList__meta :before {
    display: none;
}

.c-postThumb__cat {
    background-image: none;
}

.p-postList__meta {
    font-size: .9rem;
}

.p-postList__title {
    text-decoration: underline;
}

@media (min-width: 768px) {
.-type-simple .p-postList__body {
    display: flex;
    gap: 0 2rem;
}

.-type-simple .c-postThumb__cat {
    font-size: 1rem;
}

.-type-simple .p-postList__meta {
    width: 27%;
    font-size: 1rem;
}
}

/*-------------------------
  Header
-------------------------*/
.-parallel-bottom .l-header__inner {
    border-top: 8px #034A8F solid;
}

@media (min-width: 768px) {
    .-parallel .l-header__inner {
        justify-content: space-between;
    }
    .l-header.-parallel .w-header {
        width: 70%;
        justify-content: flex-end;
        padding-right: 5%;
    }
    .-parallel-bottom .l-header__logo {
        width: 25%;
    }
    .-parallel .l-header__gnav .c-gnav {
        border-top: 2px #034A8F solid;
        background-image: linear-gradient(359deg, rgba(255, 255, 255, 1) 10%, rgba(229, 229, 229, 1));
    }
    .w-header__inner {
        width: 70%;
    }
    .c-gnav>.menu-item {
        width: 14%;
        border-left: 1px #F4F4F4 solid;
    }
    .l-fixHeader .c-gnav>.menu-item {
        width: auto;
    }
    .c-smallNavTitle {
        color: #D5D5D5;
        opacity: 0.8;
    }
    .c-gnav>.menu-item:hover, .c-gnav>.menu-item.-current {
        color: #fff;
        background-image: linear-gradient(179deg, rgba(0, 41, 95, 1) 10%, rgba(73, 117, 175, 1));
    }
    .header__enBtn a, .header__contactBtn a {
        font-weight: 600;
        border-radius: 4px;
        width: 100%;
    }
    .header__enBtn a {
        background-color: #E8E8E8;
        color: #000;
    }
    .header__contactBtn a {
        color: #fff;
        background-color: #034A8F;
        min-width: 150px;
    }
    .header__tel a {
        line-height: 1;
        font-family: "Roboto Condensed", sans-serif;
        color: #000;
        font-weight: 600;
        position: relative;
        padding-left: 3rem;
        font-size: 1.5rem;
    }
    .header__tel a:before {
        content: "";
        background-image: url(./img/common/header-tel-icon.png);
        background-size: 100% auto;
        background-repeat: no-repeat;
        width: 2.2rem;
        height: 2.2rem;
        position: absolute;
        left: 0;
        top: 40%;
        transform: translateY(-50%);
    }
    .header__ctaTel {
        min-width: 300px;
    }
}

@media (min-width: 1440px) {
    .c-gnav>.menu-item {
        width: 210px;
    }
}

@media (min-width: 1920px) {
    .l-header.-parallel .w-header {
        width: 60%;
        padding-right: 10%;
    }

    .-parallel-bottom .l-header__logo {
        width: 30%;
    }
}

/*-------------------------
  Footer
-------------------------*/
.footer__name {
    font-size: 1.4rem;
    font-weight: 600;
}

.footer__tel {
    font-size: 1.5rem;
    font-weight: 600;
}

@media (min-width: 768px) {
.w-footer__box {
    padding: 2rem 0;
}

.w-footer .w-footer__box:nth-child(2), .w-footer .w-footer__box:nth-child(3) {
    padding-top: 7rem;
    padding-left: 2rem;

}
}

/*-------------------------
  トップページ
-------------------------*/
/* KV */
.p-mainVisual {
    border-bottom: 17px solid;
    border-image: linear-gradient(to right, #00295F, #4975AF) 1;
}

.p-mainVisual__textLayer {
   padding: 6rem 4vw 2rem;
   text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

.p-mainVisual__slideTitle {
    background: #00000050;
    padding-top: 3rem;
    font-size: 2rem;
    margin-bottom: 0;
    font-weight: 600;
    padding-bottom: 4rem;
    position: relative;
    text-shadow: ;
}

.p-mainVisual__slideTitle::after {
    content: "";
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 79px;
    height: 5px;
    background-color: #fff;
}

.p-mainVisual__slideText {
    background: #00000050;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 2;
    margin-top: 0;
    padding-bottom: 3rem;
}

@media (min-width: 768px) {
    .p-mainVisual__textLayer{
        margin: 0;
        padding: 0;
    }

    .p-mainVisual__slideTitle {
        font-size: 2.5rem;
        background: #0000007e;
    }

    .p-mainVisual__slideText {
        font-size: 1.25rem;
        background: #0000007e;
    }

}

/* 事業一覧 */
.businessField .c-bannerLink:after {
    position: absolute;
    content: "";
    background-image: url(./img/top/business-field-arrow.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    right: 0.5rem;
    bottom: 0.5rem;
}

.businessField .c-bannerLink .c-bannerLink__title {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.6;
}

/* 取り扱いメーカー一覧 */
.topLogo__accordion {
    position: relative;
    padding-bottom: 6rem;
}

.topLogo__accordion .wp-block-group__inner-container .swell-block-columns{
    height: 220px;
    overflow: hidden;
    position: relative;
}

.topLogo__accordion .wp-block-group__inner-container .swell-block-columns:after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.topLogo__accordion .wp-block-group__inner-container .swell-block-columns.is_open:after {
    background-image: none;
}

.topLogo__btn {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    border-radius: 4px;
    border: 1px solid #034A8F;
    width: 300px;
    padding: 1.5rem 2rem;
    text-align: center;
    line-height: 1;
}

.topLogo__btn:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2rem;
    background-image: url(./img/common/accordion-arrow.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 15px;
    height: 6px;
}

.topLogo__btn.is_openBtn {
    position: absolute;
    bottom: 0;
}

.topLogo__btn.is_openBtn:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    right: 2rem;
    background-image: url(./img/common/accordion-arrow.svg);
    background-size: 80% auto;
    background-repeat: no-repeat;
    width: 15px;
    height: 6px;
}

@media (min-width: 768px) {
    .topLogo__accordion {
            padding-bottom: 6rem;
            margin-bottom: 4rem;
        }

    .topLogo__btn {
        bottom: 0%;
    }

    .topLogo__accordion .wp-block-group__inner-container .swell-block-columns {
            height: 500px;
        }
}

/* 製品一覧 */
.product__column .swell-block-column {
    padding: 1rem;
    background-color: #034A8F;
}

.product__column .swell-block-column > .wp-block-group > .wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product__img {
    width: 40%;
    margin-bottom: 0;
}

.product__content {
    width: 55%;
    color: #fff;
}

.product__heading {
    font-size: 1.125rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #fff;
}

.product__btn {
    float: right;
    padding: 0.5rem 2rem .5rem 1rem;
    background-color: #033463;
    position: relative;
}

.product__btn:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
    background-image: url(./img/top/product-arrow.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 6px;
    height: 9px;
}

@media (min-width: 768px) {
    .product__column .swell-block-column {
        padding: 1.5rem;
    }

    .product__column .swell-block-column>.wp-block-group>.wp-block-group__inner-container {
       position: relative;
       align-items: start;
    }

    .product__img {
        width: 30%;
    }

    .product__content {
        width: 65%;
        margin-bottom: 0;
    }

    .product__content .wp-block-group__inner-container{
        display: flex;
        justify-content: space-between;
        flex-direction: column;
    }

    .product__heading {
        font-size: 1.5rem;
        margin-bottom: 0;
        line-height: 1.5;
        padding-top: 0.25rem;
    }

    .product__btn {
        display: block;
        width: 30%;
        padding: 0.5rem 2.5rem .5rem 1.5rem;
        position: absolute;
        bottom: 0;
        right: 0;
    }
}

/* お問い合わせ */
.topContact__bg {
    background-image: url(./img/cta/contact__bg_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    border-bottom: 17px solid;
    border-image: linear-gradient(to right, #00295F, #4975AF) 1;
}

.top .l-content [class*=is-style-btn_].topContact__mail a{
    padding: 2rem 1.5rem;
    max-width: 100%;
    min-width: none;
}

.top .l-content [class*=is-style-btn_].topContact__mail a.swell-block-button__link:after {
    width: 10px;
    height: 20px;
}

.top .l-content [class*=is-style-btn_].topContact__tel a{
    padding: 2rem 1.5rem;
    background-color: #fff;
    border: 2px solid #0F6DBF;
    color: #0F6DBF;
    font-size: 0.8rem;
    max-width: 100%;
    min-width: none;
	letter-spacing : 0;
}

.top .l-content [class*=is-style-btn_].topContact__tel a.swell-block-button__link:after {
   display: none;
}

.top .l-content [class*=is-style-btn_].topContact__tel a strong {
    font-size: 1.4rem;
    margin-right: 0.5rem;
}


@media (min-width: 768px) {
    .topContact__bg {
        background-image: url(./img/cta/contact__bg.jpg);
    }

    .top .l-content [class*=is-style-btn_].topContact__mail a {
        padding: 2.5rem 2rem;
    }

    .top .l-content [class*=is-style-btn_].topContact__tel a strong {
        font-size: 1.75rem;
        margin-right: 0.5rem;
    }
}

/* 採用情報 */
.topRecruit__bg {
    background-image: url(./img/top/recruit-bg_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .topRecruit__bg {
        background-image: url(./img/top/recruit-bg.jpg);
    }
}

/*-------------------------
 会社情報
-------------------------*/
/* アクセス */
.about__access .swell-block-columns {
    border-bottom: 1px solid #034A8F;
    padding-bottom: 2rem;
    padding-top: 2rem;
}

.about__access .swell-block-columns a{
    color: #000;
}

/*-------------------------
 採用情報
-------------------------*/
.page .post_content h2.recruit__heading:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    padding-left: 0;
    border: none;
}

.page .post_content h2.recruit__heading:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    height: 5px;
    background: linear-gradient(to right, #034A8F, #fff);
    left: 0;
}

.page .post_content h2.recruit__heading:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):after {
    display: none;
}

.recruit__column p {
    line-height: 2;
}

@media (min-width: 768px) {
    .recruit__column {
        padding-bottom: 3rem;
    }

    .recruit__column.-reverse .swell-block-columns__inner {
        flex-direction: row-reverse;
    }
}

/*-------------------------
 お問い合わせ
-------------------------*/
.has-border.-border01 {
    border: 7px solid #034A8F;
}

.form__telList .wp-block-group.is-row {
    background-color: #034A8F;
    color: #fff;
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: space-between;
    font-size: 1.125rem;
}

.form__telList .form__telNum {
    font-size: 1.5rem;
    font-weight: 600;
}

.form__item {
    margin-bottom: 2rem;
    font-size: 1.25rem;
}

.form__content input[type="text"], .form__content input[type="email"], .form__content input[type="tel"], .form__content input[type="email"], .form__content textarea {
    width: 100%;
}

.form__note {
    font-size: 1rem;
    margin-bottom: 0.25rem;
    font-weight: 400;
}

.form__privacy {
    text-align: center;
}

.form__privacy a {
    text-decoration: underline;
    color: #034A8F;
}

.form__btn input[type="submit"] {
    background-color: #034A8F;
    color: #fff;
    width: 270px;
    margin: 0 auto;
    display: block;
    padding: 0.5rem;
    font-weight: 600;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
}

.form__heading {
    margin-bottom: 0.5rem;
}

.form__content input[type="radio"], .form__content input[type="checkbox"] {
    opacity: 0;
    visibility: hidden;
    position: absolute;
}

.form__content .wpcf7-radio span.wpcf7-list-item, .form__content .wpcf7-checkbox span.wpcf7-list-item {
    margin-left: 0;
    display: block;
}

.form__content span.wpcf7-list-item-label {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.form__content .wpcf7-radio span.wpcf7-list-item-label::before {
    display: block;
    content: "";
    border-radius: 50%;
    border: 1px solid #d7d7d7;
    width: 20px;
    height: 20px;
    margin-right: 10px;
}

.form__content .wpcf7-radio span.wpcf7-list-item-label::after {
    display: block;
    position: absolute;
    content: "";
    border-radius: 50%;
    width: 12px;
    height: 12px;
    background-color: #034A8F;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
}

.form__content .wpcf7-checkbox span.wpcf7-list-item-label::before {
    display: block;
    content: "";
    border-radius: 2px;
    border: 1px solid #d7d7d7;
    width: 20px;
    height: 20px;
    margin-right: 10px;
}

.form__content .wpcf7-checkbox span.wpcf7-list-item-label::after {
    display: block;
    position: absolute;
    content: "";
    border-radius: 50%;
    width: 19px;
    height: 15px;
    background-image: url(./img/common/check-icon.svg);
    background-size: cover;
    background-repeat: no-repeat;
    left: 2px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
}

.form__content input[type="radio"]:checked+span.wpcf7-list-item-label::after, .form__content input[type="checkbox"]:checked+span.wpcf7-list-item-label::after {
    display: block;
}

.require p:first-child {
    position: relative;
    align-items: center;
    vertical-align: middle;
    line-height: 1;
}

.require p:first-child:after {
    content: "*";
    padding: 0.4rem .75rem .25rem;
    color: #C82020;
    text-align: center;
    display: inline-block;
    font-size: 0.75em;
    margin-bottom: 0.25rem;
}

.any p:first-child {
    position: relative;
    align-items: center;
    vertical-align: middle;
    line-height: 1;
}

.any p:first-child:after {
    content: "";
    padding: 0.4rem .75rem .25rem;
    text-align: center;
    display: inline-block;
    font-size: 0.75em;
    margin-bottom: 0.25rem;
}

@media (min-width: 768px) {
    .form__telBox .wp-block-group__inner-container > p {
        font-size: 1.25rem;
        margin-bottom: 2rem;
    }

    .form__telList .swell-block-columns__inner {
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
    }

    .form__telList .wp-block-group.is-row {
        font-size: 1.5rem;
    }

    .form__telList .form__telNum {
        font-size: 1.75rem;
    }

    .form__telList .swell-block-column {
        width: 44%;
    }

    .form {
        margin: 4rem auto;
    }

    .form__item {
        display: flex;
        justify-content: space-between;
        margin-bottom: 3rem;
    }

    .form__heading {
        width: 30%;
    }

    .form__content {
        width: 60%;
    }
}
/*-------------------------
  船舶部品事業ページ
-------------------------*/
.jigyo__kv {
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
}

.sP__kv {
    background-image: url(./img/kv/shipParts__kv_sp.jpg);
}

.sPclients__column .swell-block-column {
    background-color: #fff;
    font-weight: 600;
    position: relative;
    text-align: center;
    height: 70px;
    border: 1px solid #0000000f;
}

.sPclients__column .swell-block-column p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    line-height: 1.5;
    font-size: 0.625rem;
}

@media (min-width: 768px) {
    .sP__kv {
            background-image: url(./img/kv/shipParts__kv.jpg);
        }

    .sPclients__column .swell-block-column {
        height: 130px;
    }

    .sPclients__column .swell-block-column p {
        font-size: 1.25rem;
        padding: 1rem;
    }
}

/*-------------------------
  電子部品事業ページ
-------------------------*/
.ec__kv {
    background-image: url(./img/kv/ec__kv_sp.jpg);
}

@media (min-width: 768px) {
    .ec__kv {
        background-image: url(./img/kv/ec__kv.jpg);
    }
}

/*-------------------------
 法人向け太陽光事業ページ
-------------------------*/
.page .post_content .solar .solar_inner h2.is-style-section_ttl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    margin-bottom: 0;
    font-size: 2.25rem;
}

.post_content .solar .solar_inner h2.is-style-section_ttl::after {
    display: none;
}

@media (min-width: 768px) {
    .page .post_content .solar .solar_inner h2.is-style-section_ttl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
        font-size: 2.5rem;
        margin-bottom: 2rem;
    }
	
	.concern__column {
	padding-bottom:4rem;
}
}

/* KV */
.solar__kv {
    background-image: url(./img/kv/solar__kv_sp.jpg);
}

.solar__kvBtn {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 3rem;
}

.solar__kvLabel {
    background-color: #FCED77;
    color: #034A8F;
    font-size: 1.2rem;
    padding: 0.5rem 1rem;
	line-height: 1.6;
    border-radius: 4px;
    font-weight: 600;
    margin: 0 auto;
    width: 80%;
}

.solar__kv h1 {
    font-size: 2rem;
    line-height: 1.6;
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

.solar__kv h1 strong {
    font-size: 2rem;
}

@media (min-width: 768px) {
    .solar__kv h1 strong, .solar__kv h1 {
        font-size: 2.75rem;
    }

    .solar__kvLabel {
        width: 50%;
    }
}

/* お悩み */
.page .post_content h2.is-style-section_ttl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    padding: 2rem 0;
    border: 0;
}

.page .post_content .solar__problem h2.is-style-section_ttl {
    background-image: linear-gradient(87deg, rgba(203, 203, 203, 1) 10%, rgba(233, 227, 227, 1) 90%);
    margin-left: calc(-50vw + 50%);
    width: 100vw;
}

.page .post_content .solar__problem h2.is-style-section_ttl::after {
    border-width: 20px 10px 0 10px;
    border-color: #DBD8D8 transparent transparent;
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    translate: -50% 100%;
    background-color: transparent;
    width: auto;
    height: auto;
}

.solar__problem .wp-block-list {
    list-style: none;
    padding-left: 0;
}

.solar__problem .wp-block-list li {
    padding-bottom: .5rem;
    border-bottom: 2px dotted #00000025;
    margin-bottom: 1rem;
    padding-left: 2.25rem;
    position: relative;
}

.solar__problem .wp-block-list li:before {
    content: "";
    position: absolute;
    top: .2rem;
    background-image: url(./img/common/solar__check.svg);
    background-repeat: no-repeat;
    width: 24px;
    height: 24px;
    left: 0;
}

@media (min-width: 768px) {
    .solar__kv {
        background-image: url(./img/kv/solar__kv.jpg);
        margin: 0 auto;
    }

    .solar__kvBtn {
        max-width: 477px;
    }

    .page .post_content .solar__problem h2.is-style-section_ttl {
        font-size: 2.25rem;
    }

    .page .post_content .solar__problem h2.is-style-section_ttl::after {
        border-width: 18px 24px 0 24px;
    }

    .solar__problem .wp-block-list {
        padding-top: 3rem;
    }

    .solar__problem .wp-block-list li {
        font-size: 1.5rem;
    }
}

/* 扇屋電機産業は、これらのお悩みを全て解決します！ */
.solar__solve {
    padding-bottom: 4rem;
}

.page .post_content .solar__solve h2.is-style-section_ttl {
    background-color: #F0602E;
    margin-left: calc(-50vw + 50%);
    width: 100vw;
    color: #fff;
}

.page .post_content .solar__solve h2.is-style-section_ttl:before {
    border-width: 20px 10px 0 10px;
    border-color: #F0602E transparent transparent;
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    translate: -50% 100%;
    background-color: transparent;
    width: auto;
    height: auto;
}

.solar__solve .l-container > h3 {
    font-size: 1.6rem;
    line-height: 1.6;
}

.solar__solve .l-container>h3 strong {
    background-color: transparent;
    background: linear-gradient(transparent 40%, #FFE35E 40%);
}

.post_content .solar__solve h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    border-left: 0;
    font-size: 1.5rem;
    position: relative;
    padding-left: 5.5rem;
    vertical-align: middle;
    line-height: 1.6;
}

.post_content .solar__solve h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 56px;
    height: 56px;
    background-repeat: no-repeat;
    background-size: cover;
}

.solar__column:nth-child(1) h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    background-image: url(./img/solar/solar_solveNum01.svg);
}

.solar__column:nth-child(2) h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    background-image: url(./img/solar/solar_solveNum02.svg);
}

.solar__column:nth-child(3) h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    background-image: url(./img/solar/solar_solveNum03.svg);
}

.solar__column {
    padding-bottom: 4rem;
}

.solar__ctaBg {
    background-image: url(./img/solar/solar__contact_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.solar__ctaBg a {
    max-width: 520px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .page .post_content .solar__solve h2.is-style-section_ttl {
        position: relative;
    }

    .page .post_content .solar__solve h2.is-style-section_ttl:before {
        border-width: 18px 24px 0 24px;
    }

    .solar__solve .l-container>h3 {
        font-size: 2.25rem;
    }

    .solar__ctaBg {
        background-image: url(./img/solar/solar__contact.jpg);
    }
	
}

/* 扇屋電機産業の太陽光発電の特徴 */
.post_content .solar__featureColumn h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    border-left: 0;
    font-size: 1.5rem;
    position: relative;
    padding-left: 4.5rem;
    vertical-align: middle;
    line-height: 1.6;
}

.post_content .solar__featureColumn h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 46px;
    height: 46px;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.solar__featureColumn:nth-child(1) h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    background-image: url(./img/solar/solar__featureNum01.svg);
}

.solar__featureColumn:nth-child(2) h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    background-image: url(./img/solar/solar__featureNum02.svg);
}

.solar__featureColumn:nth-child(3) h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    background-image: url(./img/solar/solar__featureNum03.svg);
}

.solar__featureColumn:nth-child(4) h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    background-image: url(./img/solar/solar__featureNum04.svg);
}

@media (min-width: 768px) {
    .solar__featureColumn {
        margin-bottom: 3rem;
    }

    .post_content .solar__featureColumn h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
        font-size: 1.75rem;
    }
}

/* よくあるご質問 */
@media (min-width: 768px) {
    .qa .swell-block-accordion__title:before {
        font-size: 1.5rem;
        padding: .5rem 1.125rem;
    }

    .swell-block-accordion__title {
        padding: 1.5em;
    }

    .qa .swell-block-accordion__title {
        padding-left: 4rem;
    }
}

/* お問い合わせから 設置までの流れ*/
.solar__featureColumns .swell-block-columns__inner .swell-block-column {
    border: 10px solid #FDE2CA;
}

.solar__content > .wp-block-group__inner-container {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

.solar__flow {
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1;
}

.solar__flowStep {
    background-color: #FEF9EA;
    color: #F0602E;
    text-align: center;
    font-weight: 600;
    width: 30%;
    font-family: "Roboto Condensed", sans-serif;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;

}

.solar__flowNum {
    font-size: 4rem;
    line-height: 1;
}

.solar__flowTtl {
    padding: 1rem;
}

@media (min-width: 768px) {
    .solar__featureColumns .swell-block-column {
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        height: 100%;
    }

    .solar__content>.wp-block-group__inner-container {
        height: 100%;
    }

    .solar__flowStep {
        width: auto;
        min-width: 160px;
    }

    .solar__content {
        width: 60%;
    }

    .solar__featureColumns figure {
        width: 40%;
    }

    .solar__featureColumns figure img {
        height: 100%;
        object-fit: cover;
    }

    .solar__flowTtl {
        padding: 4rem 2rem;
    }
}

/*-------------------------
 電波暗室照明事業ページ
-------------------------*/
.ac__productsBanner .c-bannerLink__title{
    position: relative;
}

.ac__productsBanner .c-bannerLink__title:after{
    position: absolute;
    background-color: #fff;
    width: 50px;
    height: 4px;
    bottom: -1rem;
    left: 0;
    content: "";
}

/*-------------------------
 船舶部品事業_製品一覧ページ
-------------------------*/
.products__column .swell-block-column {
    border: 1px solid #034A8F;
    padding: 0 0 2rem;
}

.products__column .swell-block-column .wp-block-list, .products__column .swell-block-column .swell-block-button {
    margin: 0 2rem 2rem;
}

.l-content .products__column [class*=is-style-btn_] a {
    border-radius: 0;
    text-align: center;
    padding: var(--the-padding);
    max-width: 100%;
    min-width: auto;
}

.l-content .products__column [class*=is-style-btn_] a:after {
    display: none;
}

.products__column .swell-block-column .wp-block-heading {
    padding: 1rem;
    background-color: #034A8F;
    color: #fff;
    margin-bottom: 1.5rem;
}

.products__column .swell-block-column .swell-block-button {
    max-width: 100%;
}

.products__column .wp-block-image{
    width: 80%;
    margin: 0 auto 2rem;
}

/*-------------------------
 電波暗室照明事業_製品一覧ページ
-------------------------*/
.r-products .wp-block-image img {
    background-color: #F0F0F0;
    border: 2px solid #00000010;
    transition: 0.5s;
}

.r-products .wp-block-image img:hover {
    background-color: #Fff;
}

.r-products {
    padding-bottom: 3rem;
}

.r-products .swell-block-columns__inner {
    align-items: center;
}

.page .post_content .r-products h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    border: 0;
    background: transparent;
    margin-bottom: 2rem;
}

.post_content .r-products h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    background-color: transparent;
}

.r-products .swell-block-button a{
    width: 60%;
    min-width: 300px;
}

@media (min-width: 768px) {
    .r-products .swell-block-button {
        text-align: left;
        margin-left: .75rem;
    }

    .r-products .swell-block-button a {
        width: 100%;
    }
}

/*-------------------------
 電波暗室照明事業_製品詳細ページ
-------------------------*/
.page .l-mainContent__inner>.post_content.pageProduct {
    margin: 4rem 0;
}

.pageProduct__content {
    margin-bottom: 8rem;
}

.pageProduct .product__ttl {
    font-size: 2rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.product__data, .product__spec, .product__detail, .product__function {
    margin-top: 4rem;
}

.product__function {
    margin-bottom: 4rem;
}

.product__feature table th, .product__feature table td {
    background-color: transparent;
    border: 0;
    padding: 1rem 0;
}

.product__feature table th {
    width: 35%;
}

.product__feature table tr {
    border-bottom: 1px solid #00000010;
    margin: 1rem 0;
}

.page .post_content h2.product__subTtl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    border-bottom: 1px solid #0000001c;
    border-image: none;
    border-left: 0;
    padding-bottom: 1rem;
    padding-left: 0;
    margin-bottom: 2rem;
}

.page .post_content h2.product__subTtl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):before {
    display: none;
}

.page .post_content h2.product__subTtl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 30%;
    height: 1px;
    background-color: #034A8F;
}

.product__data table tr th {
     width: 35%;
     background-color: #C6D5E5;
 }

 .product__data table tr td {
    padding: 1rem;
 }

 .product__detail table tr th, .product__detail table tr td, .product__function table tr th, .product__function table tr td {
     padding: 1rem;
 }

 .product__spec tr:first-child {
    background-color: #C6D5E5;
 }

 .product__spec td {
    text-align: center;
 }

 @media (min-width: 768px) {
    .page-template-page-product.-sidebar-off .l-article {
        margin: 0;
        width: 100%;
        max-width: 100%;
    }

     .product__header {
         display: flex;
         justify-content: space-between;
     }

     .product__image {
        width: 46%;
     }

     .product__feature {
        width: 52%;
     }

    .page .post_content h2.product__subTtl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)):after {
        width: 12%;
      }

    .product__data table tbody {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch
    }

    .product__data table tr {
        display: flex;
        flex-direction: column;
        width: 25%;
    }

    .product__data table tr th {
        width: 100%;
        text-align: center;
    }

    .product__data table tr td {
        flex-grow: 1;
    }

    .product__data table tr td a {
        width: 80%;
        display: block;
        margin: 0.5rem auto .75rem;
    }

    .product__detail table tr th,
    .product__function table tr th {
        width: 30%;
    }

    .product__function {
        margin-bottom: 6rem;
    }
 }
