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

/*ハッピーライフ工房のCSS*/

/*ページ内リンクの遷移先の表示位置を調整（下に下げる）*/
:target {
  scroll-margin-top: 120px; /* 下げたい距離（固定ヘッダーの高さ + 余白など）を調整 */
}

@media screen and (min-width: 600px){
    .onsp{
        display: none;
    }
}
@media screen and (max-width: 599px){
    .onpc{
        display: none;
    }
}

@media screen and (min-width: 600px){
    .pc-mar-bt-0{margin-bottom: 0!important;}    
    .pc-mar-bt-0_5em{margin-bottom: 0.5em!important;}
    .pc-mar-bt-2em{margin-bottom: 2em!important;}
    .pc-mar-bt-6em{margin-bottom: 6em!important;}
    .pc-mar-bt-8em{margin-bottom: 8em!important;}

    .pc-pad-bt-2em{padding-bottom: 2em!important;}    
    .pc-pad-bt-4em{padding-bottom: 4em!important;}
}
@media screen and (max-width: 599px){
    .sp-mar-bt-0{margin-bottom: 0em!important;}    
    .sp-mar-bt-0_5em{margin-bottom: 0.5em!important;}
    .sp-mar-bt-2em{margin-bottom: 2em!important;}
    .sp-mar-bt-6em{margin-bottom: 6em!important;}

    .sp-pad-bt-2em{padding-bottom: 2em!important;}    
    .sp-pad-bt-4em{padding-bottom: 4em!important;}
}

.kadomaru img, img.kadomaru{
    border-radius: 20px;
}
/*ヘッダー*/
.l-header__customBtn.sp_ {
    line-height: 1.5em;
}
.c-gnav>.menu-item>a:after {
    bottom: 25%;
}
.c-gnav>.menu-item.menu-item-329>a:after, .c-gnav>.menu-item.menu-item-330>a:after {
    display: none;
}
.pc-header-tel {
    line-height: 1.5em;
}
.pc-header-tel span{
    font-size: 1.2rem;
    color: #013e5b;
    font-weight: 700;
}
.pc-header-btn {
    background: #007db3;
    display: table;
    color: #fff;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    text-align: center;
    margin: 0 auto;
}
.pc-header-btn:hover{
opacity: 0.8;
}

@media screen and (min-width: 600px){
    .pc-fs-0_8rem{font-size:0.8rem;}    
    .pc-fs-0_9rem{font-size:0.9rem;}
    .pc-fs-1_2rem{font-size:1.2rem;}
    .pc-fs-1_5rem{font-size:1.5rem;}
    .pc-fs-2rem{font-size:2rem;}
}
@media screen and (max-width: 599px){
    .sp-fs-0_8rem{font-size:0.8rem;}
    .sp-fs-0_9rem{font-size:0.9rem;}
    .sp-fs-1_2rem{font-size:1.2rem;}
    .sp-fs-1_5rem{font-size:1.5rem;}
    .sp-fs-2rem{font-size:2rem;}
}

@media screen and (min-width: 600px){
.top-fv-erea {
    background: #fff;
    display: table;
    padding: 0.5em 1em;
    font-size: 0.9rem;
    color: #007db3;
    font-weight: 700;
    border-radius: 50px;
    border: 1px solid #007db3;
}
.top-fv-catchcopy {
    font-weight: 700;
    font-size: 3rem;
    color: #013e5b;
    line-height: 1.5em;
    margin-bottom: 0;
}
.top-fv-catchcopy span{
    color: #007db3!important;
}
.top-fv-btn-erea {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 10px;
    transform: translateX(-1em);
}
.top-fv-left-btn {
    background: #007db3;
    display: table;
    color: #fff;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    width: 250px;
    text-align: center;
}
.top-fv-right-btn {
    background: #fff;
    display: table;
    color: #007db3;
    border: 1px solid #007db3;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    width: 250px;
    text-align: center;
}
.top-fv-left-btn:hover,.top-fv-right-btn:hover{
opacity: 0.8;
}
}

@media screen and (max-width: 599px){
.top-fv-erea {
    background: #fff;
    display: table;
    padding: 0.5em 1em;
    font-size: 0.9rem;
    color: #007db3;
    font-weight: 700;
    border-radius: 50px;
    border: 1px solid #007db3;
    margin-left: 1em;
}
.top-fv-catchcopy {
    font-weight: 700;
    font-size: 2rem;
    color: #013e5b;
    line-height: 1.5em;
    margin-bottom: 0.5em!important;
}
.top-fv-catchcopy span{
    color: #007db3!important;
}
.top-fv-left-btn {
    background: #007db3;
    display: table;
    color: #fff;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    width: 90%;
    text-align: center;
    margin: 0 auto 1em!important;
}
.top-fv-right-btn {
    background: #fff;
    display: table;
    color: #007db3;
    border: 1px solid #007db3;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    width: 90%;
    text-align: center;
    margin: 0 auto!important;
}
.top-fv-left-btn:hover,.top-fv-right-btn:hover{
opacity: 0.8;
}
}

.top-fv-img{
    position: relative;
}
@media screen and (min-width: 600px){
.top-fv-img-content-area {
        background: #fff;
        padding: 1em !important;
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
        position: absolute;
        bottom: 1em;
        width: 90%;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 10px;
    }
}
@media screen and (max-width: 599px){
.top-fv-img-content-area{
    background: #fff;
    padding: 1em!important;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}
}
.top-fv-img-check-icon {
    background: #e9f8fb;
    padding: 0.2em 0.5em;
    border-radius: 5px;
    color: #007db3;
}
.top-fv-img-futoji{
    color: #013e5b;
    font-weight: 700;
}

.top-service-box {
    background: #fff;
    padding: 2em 1em !important;
    border:1px solid #007db3;
    border-radius: 10px;
}
.top-service-icon {
    background: #e9f8fb;
    padding: 0.5em 1em;
    border-radius: 10px;
    color: #007db3;
    display: inline-block;
}
.cta-btn {
    background: #007db3;
    display: table;
    color: #fff;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    text-align: center;
    margin: 0 auto;
}
.cta-btn:hover{
opacity: 0.8;
}
.cta-btn-02 {
    background: #fff;
    display: table;
    color: #007db3;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    text-align: center;
    margin: 0 auto;
    border: 1px solid #007db3;
}
.cta-btn-02:hover{
opacity: 0.8;
}

.reason-num {
    height: 56px;
    width: 56px;
    background: #013e5b;
    border-radius: 50%;
    margin: 0 auto 1em;
    position: relative;
}
.reason-num-text {
    color: #fff;
    font-weight: 700;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

/*文字色*/
.kon{color: #013e5b;}
.main-color{color:#007db3;}
.gray{color: #879293;}

.futoji{font-weight: 700;}

.center{text-align: center;}
@media screen and (min-width: 600px){
    .pc-center{text-align: cnter;}
}
@media screen and (max-width: 599px){
    .sp-center{text-align: cnter;}
}

.works-box{
    background: #fff;
    border-radius: 20px;
    border: 1px solid #007db3;
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.45);
}
.works-box img{
    border-radius: 20px 20px 0 0;
}
@media screen and (min-width: 600px){
.works-text{
    padding: 0.5em 2em 1em!important;
}
}
@media screen and (max-width: 599px){
 .works-text{
    padding: 0.5em 0.5em 1em!important;
}   
}

.works-before{
    color: #fff;
    font-weight: 700;
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
    font-size: 1.2rem;
    position: absolute;
    bottom: 5%;
    right: 55%;
}
.works-after{
    color: #fff;
    font-weight: 700;
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
    font-size: 1.2rem;
    position: absolute;
    bottom: 5%;
    right: 5%;
}

.relative{
    position: relative;
}



#breadcrumb{
    z-index: 10;
}

.page-id-119 h1.c-pageTitle, .page-id-203 h1.c-pageTitle, .page-id-237 h1.c-pageTitle, .page-id-269 h1.c-pageTitle, .page-id-283 h1.c-pageTitle, .page-id-289 h1.c-pageTitle{
    display: none;
}
@media screen and (min-width: 600px){
.page-id-119 .l-mainContent__inner>.post_content, .page-id-203 .l-mainContent__inner>.post_content, .page-id-237 .l-mainContent__inner>.post_content, .page-id-269 .l-mainContent__inner>.post_content, .page-id-283 .l-mainContent__inner>.post_content, .page-id-289 .l-mainContent__inner>.post_content {
    margin-top: -4em;
}
}
@media screen and (max-width: 599px){
.page-id-119 .l-mainContent__inner>.post_content, .page-id-203 .l-mainContent__inner>.post_content, .page-id-237 .l-mainContent__inner>.post_content, .page-id-269 .l-mainContent__inner>.post_content, .page-id-283 .l-mainContent__inner>.post_content, .page-id-289 .l-mainContent__inner>.post_content {
    margin-top: -2em;
}
}

.voice-box{
    border: 1px solid #007db3;
    border-radius: 20px;
    padding: 2em 1em!important;
}
.swell-block-review__inner{
border-radius:0!important;
border-top:none!important;
box-shadow:none!important;
margin-left: 0!important;
margin-right: 0!important;
max-width: none!important;
padding: 0!important;
}
.swell-block-review__title, .swell-block-review__rating span.__label, .swell-block-review__rating .__str{
    display: none!important;
}
.swell-block-review__rating .__value{
    justify-content: left!important;
}

@media screen and (min-width: 600px){
.top-recruit-box{
    background: linear-gradient(45deg,rgba(11, 61, 94, 1) 0%, rgba(21, 92, 142, 1) 50%, rgba(30, 119, 183, 1) 100%);
    padding: 4em 2em!important;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
}
}
@media screen and (max-width: 599px){
.top-recruit-box{
    background: linear-gradient(45deg,rgba(11, 61, 94, 1) 0%, rgba(21, 92, 142, 1) 50%, rgba(30, 119, 183, 1) 100%);
    padding: 4em 1em!important;
    border-radius: 20px;
}
}
@media screen and (max-width: 599px){
    .top-recruit-content{
        margin-bottom: 1em!important;
    }
}
.top-recruit-midashi{
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
}
.top-recruit-text{
    color: #fff;
}
.top-recruit-btn{
    background: #fff;
    color: #007db3;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    text-align: center;
    margin: 0 auto;
    border: 1px solid #007db3;
}

@media screen and (min-width: 600px){
.top-cta-area{
    border-radius: 20px;
    display: flex;
    gap: 40px;
    justify-content: center;
}
}
@media screen and (max-width: 599px){
 .top-cta-area{
    border-radius: 20px;
}   
}
.cta-btn-03 {
    background: #007db3;
    display: table;
    color: #fff;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    text-align: center;
    margin: 0 auto;
}
@media screen and (max-width: 599px){
    .cta-btn-03 {
    width: 90%;
}
}
.cta-btn-03:hover{
opacity: 0.8;
}
.cta-tel {
    background: #fff;
    display: table;
    color: #007db3;
    font-weight: 700;
    padding: 1em 2em;
    border-radius: 50px;
    text-align: center;
    margin: 0 auto;
    border: 1px solid #007db3;
}
@media screen and (max-width: 599px){
   .cta-tel{
    width: 90%;
   } 
}
@media screen and (min-width: 600px){
a.pc-link-none, .pc-link-none a{
pointer-events: none;
}
}


/*フッター*/
@media screen and (min-width: 600px){
.footer-address{
    font-size: 0.8rem;
    color:#9db8c3;
    margin-top: -2em;
}
.footer-midashi{
    font-size: 0.9rem;
    color:#fff;
    font-weight: 700;
}
.footer-sub-text{
    font-size: 0.8rem;
    color:#a9c6d5;
    transition: color 0.5s ease;
}
.footer-sub-text:hover{
    color: #fff;
}
}
@media screen and (max-width: 599px){
.footer-address{
    font-size: 0.9rem;
    color:#9db8c3;
    margin-top: -1.5em;
}
.footer-midashi{
    font-size: 1rem;
    color:#fff;
    font-weight: 700;
}
.footer-sub-text{
    font-size: 0.9rem;
    color:#a9c6d5;
}
}
@media (min-width: 960px) {
    .w-footer {
        display: block!important;
        justify-content: space-between;
    }
}

.footer-logo-erea{
    display: flex;
    align-items: center;
}
@media screen and (min-width: 600px){
    .footer-logo {
    width: 4%;
    height: 50px;
    margin-right: 10px;
}
    .footer-company-name{
        font-size: 1rem;
        color: #fff;
        font-weight: 700;
    }
}
@media screen and (max-width: 599px){
    .footer-logo {
    width: 12%;
    height: 50px;
    margin-right: 10px;
}
    .footer-company-name{
        font-size: 1.1rem;
        color: #fff;
        font-weight: 700;
    }
}

.company-table th,.company-table td{
background: rgba(0,0,0,0);
border: none;
}
@media screen and (min-width: 600px){
.company-table th{
    width: 15%!important;
    color: #879db0;
    font-weight: normal;
}
}
@media screen and (max-width: 599px){
    .company-table th {
    width: 32% !important;
    color: #879db0;
    font-weight: normal;
}
}
.company-table td{
    color: #1c2b33;
}
.company-table{
    border:1px solid #d9ecf1;
    border-radius: 20px;
    padding: 1em!important;
}
.company-table tr{
        border-bottom:1px solid #d9ecf1;
        line-height: 2em!important;
}

.flow-num,.flow-num-02 {
    height: 56px;
    width: 56px;
    background: #007db3;
    border-radius: 50%;
    margin: 0 auto 1em;
    position: relative;
}
.flow-num::after {
    content: "";
    background-color: #d9ecf1;
    width: 100px;
    height: 2px;
    display: inline-block;
    position: absolute;
    top: 25%;
    left: 70%;
}
.flow-num-text {
    color: #fff;
    font-weight: 700;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

.service-info-box{
    background: #eaf8fb;
    padding: 1em!important;
    border-radius: 20px;
}
ul.is-style-index.list-kon li:before{
    color: #013E5B;
}
.lineup-box{
    border-bottom: 1px solid #eaf8fb;
}
@media screen and (max-width: 599px){
.sp-lineup-box{
    border-bottom: 1px solid #eaf8fb;
    padding-bottom: 2em !important;
}
}

.recruit-3box{
    border: 1px solid #d9ecf1;
    border-radius: 20px;
    padding: 2em!important;
}
.recruit-3box-icon {
    background: #e9f8fb;
    padding: 0.5em 1em;
    border-radius: 10px;
    color: #007db3;
    display: table;
    margin: 0 auto 1em!important;
}

.swell-block-faq .faq_q{
    color: #013E5B;
}

@media screen and (min-width: 600px){
.contact-form-area{
    border: 1px solid #d9ecf1;
    border-radius: 20px;
    padding: 2em!important;
}
}
@media screen and (max-width: 599px){
.contact-form-area{
    border: 1px solid #d9ecf1;
    border-radius: 20px;
    padding: 2em 0.5em!important;
}
}

.contactpage-2btn{
    border: 1px solid #d9ecf1;
    border-radius: 20px;
    padding: 2em!important;
}

/*------------------------------contact form 7 ここから------------------------------*/
/*ContactForm7カスタマイズ*/
table.CF7_table{
	width:100%;
	margin:0 auto;
	border: 3px solid transparent;
    font-size: 0.9rem!important;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
@media screen and (min-width: 600px){
    .CF7_table input{
    max-width: 100% !important;
    background-color: #fff;
    border: 1px solid #d9ecf1;
    border-radius: 5px;
    padding: 0.8em;
    margin-bottom: 1em!important;
    }
    select {
    background-color: #fff;
    width: 100% !important;
    border: 1px solid #d9ecf1;
    border-radius: 5px;
    padding: 0.8em;
    margin-bottom: 1em !important;
}
    .check-box {
    background: #fff;
    padding: 1rem;
    border-radius: 5px;
    border: 1px solid #d9ecf1;
    margin-bottom: 1em!important;
}
textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required {
    width: 100%;
    border: 1px solid #d9ecf1;
    border-radius: 5px;
    max-width: 100% !important;
    background-color: #fff;
    margin-bottom: 1em!important;
}
}
@media screen and (max-width: 599px){
.CF7_table input {
	border: 1px solid transparent;
    max-width: 100%!important;
    background-color: #fff;
    border: 1px solid #d9ecf1;
    border-radius: 5px;
    margin-bottom: 1em!important;
}
select {
    background-color: #fff;
    width: 92% !important;
    border: 1px solid #d9ecf1;
    border-radius: 5px;
    margin-bottom: 1em !important;
    padding: 0.8em;
}
.check-box {
    background: #fff;
    padding: 1rem;
    border-radius: 5px;
    border: 1px solid #d9ecf1;
    margin-bottom: 1em!important;
}
textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 5px;
    max-width: 100% !important;
    background-color: #fff;
    border: 1px solid #d9ecf1;
    border-radius: 5px;
}
}

.CF7_table ::placeholder {
	color:#797979;
}
@media screen and (min-width: 600px){
.CF7_chuigaki{
   color:#797979;
   font-size: 0.8em;
}
.CF7_chuigaki-02{
   color:#797979;
   font-size: 0.8em;
   text-align: center;
   margin-top: 2em;
}
}
@media screen and (max-width: 599px){
    .CF7_chuigaki{
   color:#797979;
   font-size: 0.8em; 
   margin-top: -1.5em !important;
}
.CF7_chuigaki-02{
   color:#797979;
   font-size: 0.8em;
   margin-top: 2em;
}
}

/*「必須」文字*/
.CF7_req{
    font-size:.8em;
	padding: 5px;
	background: #007db3;
	color: #fff;
	border-radius: 3px;
	margin-left:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 5px;
	background: #3D79D5;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

.wpcf7-list-item{
    display: block!important;
}
span.wpcf7-list-item {
    margin-bottom: 1rem !important;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
	width:30%;/*横幅*/
	background-color:#fff;
    border: 1px solid transparent;
	}
    .CF7_table td{
        border: 1px solid transparent;
    }
    input.wpcf7-form-control.wpcf7-text, textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
}
}

/* レスポンシブ */
@media screen and (max-width: 768px){
    table.CF7_table{
	width: 100%;
    display: flex;
	}
    table.CF7_table tbody{
        width: 100%;
    }
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
    max-width: 100%!important;
	}
	.CF7_table th{
	background-color:#fff;
    border: 1px solid transparent!important;
    margin-bottom: -1em;
	}
    .CF7_table td{
        border: 1px solid transparent;
    }
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#007db3;
    /*background-color:#0070c0;*/
	border:0;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
    border-radius: 50px;
    padding: 1em 4em;
    font-size: 0.9rem;
}
.wpcf7 input.wpcf7-submit:hover{
    opacity: 0.8;
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}
/*------------------------------contact form 7 ここまで------------------------------*/