@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
/*
    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
*/



/* ------------------------------
    Global Styles
------------------------------ */
h1 {
    font-family: Montserrat !important;
    font-weight: 500;
    font-size: 50px;
    line-height: 1;
    color: #fff;

}

/*------------------------
   固定ページh1周辺
 * ------------------------*/
.archive #top_title_area h1, .l-mainContent__inner h1,
.page-template-default #top_title_area h1, .l-mainContent__inner h1 {
    font-family: Montserrat !important;
    font-weight: 700 !important;
    font-size: 4rem !important;
    line-height: 1;
    background: linear-gradient(90deg, rgba(61, 121, 213, 1), rgba(14, 244, 255, 1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/*------------------------
   固定ページh1シャドウ
 * ------------------------*/
.l-topTitleArea__body{
	text-shadow:none;
}

.archive .l-topTitleArea.c-filterLayer::before,
.page-template-default .l-topTitleArea.c-filterLayer::before{
	background-color: #fff;
	opacity: 1;
}
.archive .c-filterLayer.-texture-dot:after,
.page-template-default .c-filterLayer.-texture-dot:after{
	background-color: #fff;
	background-image:none;
}

/*------------------------
お知らせボックス
 * ------------------------*/
.news-block{
position: relative;
top: -150px;
padding: 3em!important;
border-radius:0.2em;
box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.05);
}

/*------------------------
   topページサービスbox
 * ------------------------*/
.home .c-bannerLink{
	border-radius: 5px;
}

/*------------------------
固定ページh1サブタイトル
 * ------------------------*/
.archive .c-pageTitle__inner__title,
.page-template-default .c-pageTitle__inner__title {
    padding-top: 0;
    font-size: 2rem;
}
/*------------------------
英語タイトルボックス横並
 * ------------------------*/
.title-box{
	display: -webkit-box!important;
}
/*------------------------
テキストグラデーション
 * ------------------------*/
.gradation-text {
    background: linear-gradient(90deg, rgba(61, 121, 213, 1), rgba(14, 244, 255, 1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.top #content {
    padding-top: 0em;
}

/*------------------------
固定ページコンテンツ上部余白
 * ------------------------*/
.l-content {
	padding-top: 0em;
}

/*------------------------
投稿ページコンテンツ上部余白
 * ------------------------*/
.single-post .l-content {
	padding-top: 4em;
}

.c-gnav > .menu-item > a {
    padding: 0 24px;
}

.p-mainVisual__slideTitle {
    width: 50%;
}

.p-mainVisual__slideText {
    font-size: 20px;
}

.service-content {
    width: 80% !important;
    margin: 0 auto !important;
}

/*------------------------
ページネーション装飾
 * ------------------------*/
.page-numbers{
	    border-radius: 5px;
}
/*------------------------
サブタイトル調整
 * ------------------------*/
.c-pageTitle__subTitle {
    display: block;
    font-style: normal;
    opacity: 1;
    font-size: 1rem;
    position: unset;
    margin: 1rem 0 0 0;
}

/*------------------------
ボタングラデーション
 * ------------------------*/
.is-style-btn_normal a {
    background: linear-gradient(90deg, rgba(61, 121, 213, 1), rgb(14, 220, 255));
}
.company-btn{
	--the-min-width: 100%;
}

/*------------------------
ボタンした余白削除
 * ------------------------*/
[class*=is-style-btn_] {
    margin: 0 auto 0em;
}

/*------------------------
フッターカスタマイズ
 * ------------------------*/

.l-footer .copyright {
    font-size: 12px;
    text-align: right !important;
}

.l-footer__foot {
    padding-bottom: 3em;
    padding-top: 0;
}

.l-footer__widgetArea {
    padding-bottom: 0;
    padding-top: 3em;
}

.l-footer .copyright {
    text-align: right;
}

/*------------------------
フッターメニュー色の変化をスムーズに 
 * ------------------------*/
.footer_menu_item {
    transition: background-color 0.2s ease, color 0.2s ease; 
}

/*------------------------
フッターメニュー 
 * ------------------------*/
.footer_menu_item:hover {
    color: #7e7e7e;
}

/*------------------------
TOP投稿カスタマイズ
 * ------------------------*/
.p-postList__title {
    /*🔻投稿_タイトル補正*/
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.p-postList__body {
    /*🔻投稿_日付タイトル横並び*/
    display: flex;
}

.icon-posted:before {
    /*🔻投稿_日付アイコン非表示*/
    content: none;
}

.-type-simple .p-postList__meta {
    /*🔻投稿上下調整*/
    margin: 0;
}

.c-postTimes__posted {
    /*🔻投稿_日付調整*/
    margin-right: 2em;
    font-size: 1.3em;
    font-weight: bold;
    white-space: nowrap;
}

.-type-simple .p-postList__link {
    padding: 1.5em 1.5em;
}

.p-postList.-type-simple {
    border-top: 0;
}

/*------------------------
ContactForm7カスタマイズ
 * ------------------------*/
table.CF7_table {
    width: 100%;
    margin: 0 auto;
}

.CF7_table td {
    width: 70%;
}

table.CF7_table tr {
    border-top: 1px solid #e5e5e5;
}

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

.post_content th {
	font-weight:400;
}
.post_content td {
	font-weight:600;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
    border: 1px solid #d8d8d8;
    width: 100%;
    background-color: #fff;
}

.CF7_table ::placeholder {
    color: #797979;
}

/*「必須」文字*/
.CF7_req {
    font-size: 0.7em;
    padding: 4px;
    background: #3d79d5;
    color: #fff;
    border-radius: 2px;
    display: inline-block;
    vertical-align: bottom !important;
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
    background: linear-gradient(90deg, rgba(61, 121, 213, 1), rgb(14, 220, 255));
    border-radius: 50px;
    border: 0;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    margin: 0 auto;
    padding: 0.5em 4em;
    margin-top: 0;
    box-shadow: var(--swl-btn_shadow);
    transition: box-shadow 0.25s;
}

.wpcf7 input.wpcf7-submit:hover,.wpcf7 input.wpcf7-previous:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 12px 24px -12px rgba(0, 0, 0, 0.2);
}

/* 「修正」ボタン */
.CF7_btn_content {
    display: flex; 
    justify-content: center;
    margin-top: 2em;
}

/* 「修正」ボタン */
.wpcf7 input.wpcf7-previous {
    background-color: #8b8b8b;
	display: inline-block !important;
	border-radius: 50px;
    border: 0;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    margin: 0 auto;
    padding: 0.5em 4em;
    margin-right: 1em !important;
    box-shadow: var(--swl-btn_shadow);
	transition: box-shadow 0.25s;
    

}

.CF7_btn {
    text-align: center;
}

.wpcf7-spinner {
    width: 0;
    margin: 0;
}

/* ------------------------------
    Responsive Styles
------------------------------ */
@media screen and (max-width: 781px) {
	.sp-left{
		text-align:left;
	}
	}
@media screen and (max-width: 768px) {
    table.CF7_table {
        width: 95%;
    }
	    .CF7_req {
        display: unset;
    }

    .CF7_table tr, .CF7_table td, .CF7_table th {
        display: block;
        width: 100%;
        line-height: 2.5em;
    }

    .CF7_btn_content {
        display: block;
    }
}

@media screen and (min-width: 768px) {
    .CF7_table th {
        background-color: #fff;
        text-align: right;
        padding: 3.5em 3em 3.5em 0;
    }
}

@media screen and (min-width: 960px) {
    .-series .l-header__logo {
        padding: 24px 0;
    }

    .w-footer__box {
        padding: 1em 0em;
    }
}

@media (max-width: 960px) {
    .p-mainVisual__slideTitle {
        width: 80% !important;
    }
}

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

    .c-pageTitle {
        font-size: 2.5em;
    }
}

@media screen and (min-width: 600px) {
	/* ------------------------------
    PC非表示
------------------------------ */
	.pc-none{
		display:none;
	}
}

@media screen and (max-width: 600px) {
	
	/* ------------------------------
    スマホ非表示
------------------------------ */
	.sp-none{
		display:none;
	}
	
	.wp-block-group-service,.footer-contents {
		display:block!important;
	}
	
	.is-layout-flex.is-vertical.is-content-justification-center{
		display:flex;
	}
	
	/*------------------------
   スマホMVタイトル位置
 * ------------------------*/
	.p-mainVisual__textLayer{
		top:10%;
	}
	
	/*------------------------
お知らせボックス:スマホ
 * ------------------------*/
	.news-block{
		padding: 2em !important;
	}
	.p-postList__body{
		display:block;
	}
	.u-mb-40 {
    margin-bottom: 2em !important;
}
	.footer_menu{
		flex-wrap:wrap;
		text-align:center!important;
	}
	.textwidget{
		text-align:center;
	}
	.textwidget div{
		justify-content:center;
	}
	.l-footer .copyright{
		text-align:center!important;
	}
	.c-bannerLink__text{
		padding:1rem!important;
	}
	[class*=is-style-btn_]{
		        --the-min-width: 100%;
	}
	    .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media{
		margin-bottom:2rem !important;
	}
	.post_content h2{
		margin-bottom:1rem !important;
		font-size:2rem;
	}
/*------------------------
フッターコンタクト・リクルートボタン
 * ------------------------*/
	.footer-cr-btn{
		  --the-min-width: 80%;
		margin-top:40px!important;
	}

	
/*------------------------
お知らせボックス
 * ------------------------*/
	.news-block{
position: relative;
top: -100px;
}
/*------------------------
SPスペーサー
 * ------------------------*/
	.sp-spacer{
	height:40px!important;
	}
	.sp-padding{
		padding:1rem!important;
	}
}
