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

/*  テキスト  */
.big{font-size:1.4em;}
.small{font-size: 0.7em;}
h2.font-responsive{font-size: clamp(1.6rem, calc(1vw + 1.5rem), 3.2rem) !important;}
h3.font-responsive{font-size: clamp(1.2rem, calc(1vw + 1.5rem), 2.2rem) !important;}
h2.title_txt{
	font-size: 38px;
	font-size: 2.4rem;
	line-height: 50px;
	letter-spacing:0;
}
.txtL{text-align: left;}
.txtC{text-align: center;}
.txtR{text-align: right;}
.tate{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

/*  SP用  */
@media screen and (max-width: 767px){
	.sp_txtL{text-align: left;}
	.sp_txtC{text-align: center;}
	.sp_txtR{text-align: right;}
}
/*  改行 */
.br_pc{display: block;}
.br_sp{display: none;}
@media screen and (max-width: 480px){
	.br_pc{display: none;}
	.br_sp{display: block;}
}

/*  余白  */
.margin-none{margin: 0}
.margin-top-none{margin-top: 0 !important;}
.bottom20{margin-bottom: 20px;}
.bottom30{margin-bottom: 30px;}
.bottom40{margin-bottom: 40px;}

/*  ボタンの影なし  */
.no-shadow a{box-shadow: none !important}

/*  hoverで透過  */
.opacity a:hover{opacity: .7}
/*  ======================================
 *     共通
 * ====================================  */
@media (max-width: 768px)  {
.swell-col-reverse .swell-block-columns__inner{
flex-direction: column-reverse; 
}
}
.flexbox{
	display: flex;
	gap: 10px;
}
.align-center{align-items: center;}

/*  固定ページのタイトル非表示  */
.page #content h1{display: none;}
.l-mainContent__inner>.post_content {
margin-top: 0;
}

/*  スマホ表示の時にカラムを入れ替える  */
@media screen and (max-width: 480px){
	.order1{order: 1;}
	.order2{order: 2;}
	.order3{order: 3;}
}
.btn_border{
	border: 3px solid #1A1A1A;
}
.incomplete{display: none;}
/*  ======================================
 *     HEADER・NAVI
 * ====================================  */

/*  ====================================--
 *    トップページ
 * =====================================  */
.main-title{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 600;
}
@media screen and (max-width: 767px){
}
.top_reform_item{
    position: relative;
    margin-top: 1em;
    padding: 2em 1.5em 1em 1.5em;
    border: 2px solid #6392c1;
	background: #fff;
}

.top_reform_item > div {
    position: absolute;
    top: -2.5em;
    left: -.5em;
    padding: .4em 1.4em;
    border-radius: 5px;
    background-color: #6392c1;
    color: #fff;
    font-size: .9em;
}

.top_reform_item > div::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 8px;
    background-color: #6392c1;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.top_reform_item p {
    margin: 0;
}
.top_card > div{
	box-sizing: border-box;
	position: relative;
	counter-increment: num;
	padding: 40px 20px 30px;
	background: #fff;
	margin-bottom: 50px;
	border-radius: 4px;
}
.top_card > div:before {
	position: absolute;
	left: 50%;
	top: -20px;
	content: counter(num);
	height: 40px;
	margin-left: -16px;
	font-size: 24px;
	text-align: center;
	line-height: 40px;
	font-weight: bold;
	color: #fff;
	width: 40px;
}
.top_card > div:nth-of-type(1):before{
	background:#6392C1;
	box-shadow: 5px 5px 0 rgb(99 146 193 / .3);
}
.top_card > div:nth-of-type(2):before{
	background:#8EB034;
	box-shadow: 5px 5px 0 rgb(142 176 52 / .3);
}
.top_card > div:nth-of-type(3):before{
	background:#C81683;
	box-shadow: 5px 5px 0 rgb(200 22 131 / .3);
}
.top_card > div h3{
	font-size: 1.1em;
	line-height: 1.7;
}
.news_list li{
	display: flex;
}
.news_list li a{
	order: 2;
}
.news_list li time{
	order: 1;
	font-size: 1em !important;
	margin-right: 10px;
}
.news_list{border-top: none !important;}
@media screen and (max-width: 480px){
	.news_list li{flex-direction: column;}
	.news_list li a,
	.news_list li time{
		width: 100%;
	}
}
/*  ================================
 *    ABOUT US
 * =============================  */
.guidelines_list{
	max-width: 600px;
	margin: 0 auto;
}
.guidelines_list li{
    padding: 4px 0;
	font-size: 18px;
	font-weight: 600;
}
.guidelines_list li::marker{
    font-weight: 600;
    color: #6392C1;
}
/*  ================================
 *     FOOTER
 * =============================  */
/* footer直前  */
#before_footer_widget{
	padding: 60px 0;
	background: rgb(245 197 66 / .3) 
}
footer{
	font-size: 14px;
}
.footer-list-child{
	margin-left: 20px;
	font-size: 0.9em;
}
.footer-list-child a:hover{
	color: #8EB034;
}

/*  ======================================
 *     便利屋さん
 * ====================================  */
@media screen and (max-width: 767px){
	.benri_box .box1{order: 1 !important;}
	.benri_box .box2{order: 3 !important;}
	.benri_box .box3{order: 2 !important;}
}
h2.underline{
	position: relative !important;
	padding: 1.5rem;
}
h2.underline:before{
	content: 'a';
	display:block;
}
/*  ======================================
 *     フォーム
 * ====================================  */
.form_tbl{
    width: 100%;
    text-align: left;
    margin-bottom: 30px;
	border: none;
	font-family: ''
}
.form_tbl th,
.form_tbl td{
    padding: 12px 0;
	border: none;
	background: #fff;
}
.form_tbl th{
    width: 220px;
    font-size: 16px;
    font-weight: 500;
	vertical-align: baseline;
}
.form_tbl span.req,
.form_tbl span.any{
    font-size: 0.7em;
    font-weight:  400;
    padding:2px 8px;
    margin-right: 8px;
    border: 1px solid #000;
    border-radius: 4px;
}
.req{background: #FFBDE9;}
.any{background: #fff;}
.exsample{
    font-size: 13px;
    color: #727171;
	margin-bottom: 10px;
}
input[name="zip"]{
	width:200px !important;
}
.confirm{
    margin: 0 auto 30px;
    max-width: 400px;
    border: 1px solid #aaa;
    border-radius: 4px;
}
.confirm span{
	height: 60px;
	line-height: 60px;
}
input[name="acceptance"]{
	display: inline-block;
	width: 15px;
	height: 15px;
	border-radius: 4px;
	margin-right: 10px;
}
@media screen and (max-width: 480px) {
    .form_tbl th,
    .form_tbl td{
    padding: 12px 0;
    width: 100%;
    display: block;
    }
    .form_tbl td{border-bottom: 1px dotted #aaa !important;}
    .form_tbl tr:last-child td{border: none !important;}
}
.form_tbl input,
.form_tbl textarea{
	width: 100%;
	padding: 15px ;
	margin-bottom: 5px;
	background: #FFF8E6;
	border-radius: 4px;
}
.form_tbl input:focus,
.form_tbl textarea:focus{
	background: #fff;
}
.is-style-more_btn input {
    background: #fff;
    box-shadow: 0 0 0 1px #dcdcdc;
    color: #666;
    display: inline-block;
    font-size: var(--the-fz);
    min-width: var(--the-min-width);
    padding: var(--the-padding);
    position: relative;
    text-decoration: none;
    transition: box-shadow .25s, background-color .25s;
    width: var(--the-width);
}

.is-style-more_btn input:hover {
    background-color: var(--color_main);
    box-shadow: none;
    color: #fff;
}
.is-style-more_btn input:after {
    content: "\e930";
    font-family: icomoon;
    position: absolute;
    right: 1em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: -webkit-transform .25s;
    transition: transform .25s;
    transition: transform .25s, -webkit-transform .25s;
}
.wpcf7-spinner{
	display: block;
	width: 100%;
	text-align: center;
}
.submit_btn{
	display: flex;
	flex-direction: column;
}
.submit_btn input{
	display: block;
	order: 2;
}
.submit_btn span{
	order: 1;
	margin: 10px 0 !important;
	margin-bottom: 10px !important;
}
/*  ======================================
 *     カスタムフィールド出力
 * ====================================  */
.data_box{
	max-width: 460px;
	min-width: 380px;
	margin: 0 auto;
}
.data_box h3{

	margin: 0 auto;
	font-size: 1.2em;
	color: #6392c1;
}
.data_box table{
	width: 100%;

}
.data_box table th,
.data_box table td{
	padding: 8px;
	border-bottom: 1px dotted #6392c1;
	font-size: 14px;
	font-weight: 400;
	text-align: left;
}
.data_box table th{
	width: 90px;
}