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


/* 共通 */
h1,h2,h3,h4,h5,h6{
	font-family: "Noto Serif JP", serif;
	font-weight: 500 !important;
}
p{
	line-height: 2.2;
}
.post_content th{
	font-weight: 500 !important;
}
.c-gnav>.menu-item>a .ttl{
	font-size: 1rem;
	font-weight: 400;
}
.swell-block-faq .faq_q:before,
.swell-block-faq .faq_a:before,
.is-style-big>.swell-block-step__item>.swell-block-step__number .__label,
.is-style-big>.swell-block-step__item>.swell-block-step__number:after{
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}	
/* フッター */
#before_footer_widget{
	margin-bottom: 0;
}
#before_footer_widget .l-container {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}
.w-footer__box{
	text-align: center;
}
/* メインビジュアル */
    .p-mainVisual__slideTitle {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 400;
    }
    .-height-full .p-mainVisual__slideText {
        font-weight: 400;
		line-height: 2;
    }
@media (min-width: 600px) {
    .p-mainVisual__slideTitle {
		font-family: "Noto Sans JP", sans-serif;
        font-size: clamp( 26px, 2.6vw, 2.6rem);
		font-weight: 900;
    }
    .-height-full .p-mainVisual__slideText {
        font-size: clamp( 18px, 1.8vw, 1.8rem);
		
		line-height: 2;
    }
}
/* コンタクトフォーム */
.wpcf7{
	max-width: 840px;
	margin: 0 auto;
}
.post_content .wpcf7 th{
	background: none;
	border: none;
	text-align: right;
}
.post_content .wpcf7 td{
	background: none;
	border: none;
}
.wpcf7 input, .wpcf7 select,.wpcf7 textarea {
	width: 100%;
}
.wpcf7 input.wpcf7-submit{
	display: table;
	max-width: 360px;
	height: 60px;
	background: #1f4e5f;
	color: #fff;
	margin: 0 auto 2em;
	transition: all .6s;
}
.wpcf7 input.wpcf7-submit:hover{
	background: #ccc;
}
.required{
	display: inline-block;
	font-size: 10px;
	background: #D84A5A;
	color: #FFF;
	padding: 0 1em;
	border-radius: 5px;
	margin-left: 1em;
}
.any{
	display: inline-block;
	font-size: 10px;
	background: #ccc;
	color: #fff;
	padding: 0 1em;
	border-radius: 5px;
	margin-left: 1em;
}
@media (max-width: 600px) {
	.post_content .wpcf7 th,
	.post_content .wpcf7 td{
		display: block;
		width: 100%;
		text-align: left;
	}
}