/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/




/* ==========================================================

	全体

========================================================== */
.fa, .fas {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.site-title a { color: #f00;}


/* title
===========================================================*/
.page_title {
	background-color: #009360;
	background-image: url("../../uploads/2021/05/d17b4fb6e3eaaa6ab8807fb23da49419.png");
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: flex;
	justify-content: center; align-items: center;
	color: #fff;
	font-weight: bold;
	position: relative;
}

.page_title span {
	content: '';
	display: block; width: 100%; height: 100%;
	background-color: #009360;
	opacity: 0.65;
	position: absolute; top: 0; left: 0;
}
.page-id-119 .page_title {
	background-color: #594c46;
}
.page-id-119 .page_title span {
	background-color: #594c46;
}

.page_title h2 {
	position: relative;
	z-index: 100;
	color: #fff;
}

/* PC */
@media screen and (min-width: 768px) {
	.page_title { padding: 76px 20px 76px 20px;}

	.page_title h2 { font-size: 28px;}
}

/* SP */
@media screen and (max-width: 767px) {
	.page_title { padding: 38px 10px 38px 10px}
	
	.page_title h2 { font-size: 18px;}
}


/* title01 */
.title01 {
	background: #594C46;
	color: #fff;
	font-weight: bold;
}

/* PC */
@media screen and (min-width: 768px) {
	.title01 {
		padding: 12px;
		font-size: 20px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.title01 {
		padding: 8px;
		font-size: 16px;
	}
}




/* .wrapper
===========================================================*/
/* PC */
@media screen and (min-width: 768px) {
	.custom_wrapper {
		width: 980px;
		margin-right: auto; margin-left: auto;
	}
}

/* タブレット */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
	.custom_wrapper { width: 95%;}
}

/* SP */
@media screen and (max-width: 767px) {
	.custom_wrapper {
		margin-right: 3vmin; margin-left: 3vmin;
	}
}







/* ==========================================================

	side

========================================================== */
.sidebar-main li { list-style-type: none;}

#secondary .sidebar-main > li { margin-bottom: 3em;}

.sidebar-main li h2 {
	font-size: 1.5rem;
	margin-bottom: 0.5em;
}





/* ==========================================================

	footer

========================================================== */
.footer-widget-area h2 { display: none;}

/* PC */
@media screen and (min-width: 768px) {
	.site-above-footer-wrap { padding-top: 40px;}
}

/* SP */
@media screen and (max-width: 767px) {
	.footer-widget-area-inner .widget_pages { padding: 4vmin 8vmin;}
}






/* ==========================================================

    single
    ページ下部ボタン表示

========================================================== */
.single_btn { text-align: center;}

.single_btn a:hover { opacity: 0.7;}

/* PC */
@media screen and (min-width: 768px) {	
	.single_btn .__top {
		margin-top: 80px;
		padding-bottom: 30px;
		border-bottom: 1px solid #666;
	}

    .single_btn .__bottom { padding-top: 30px;}
}

/* SP */
@media screen and (max-width: 767px) {
    .single_btn .__top {
		margin-top: 8vmin;
		padding-bottom: 3vmin;
		border-bottom: 0.2vmin solid #666;
	}

    .single_btn .__bottom { padding-top: 3vmin;}
}


/* LINEボタン
===========================================*/
.btn_line {
	display:inline-block;
	text-align:center;
	background:#00B900;
	color:#fff;
	position:relative;
}

.btn_line::before {
	content:'';
	display:block;
}

.btn_line:hover {
	color:#fff;
	opacity:0.8;
}

/* PC */
@media screen and (min-width: 768px) {
	.line {
		margin-top:30px;
		text-align:right;
	}
	
	.btn_line {
		padding:5px 50px 5px 90px;
		font-size:24px;
		border-radius:8px;
		line-height:46px;
	}
	
	.btn_line::before {
		background:url(img/line.png);
		background-size:50px 48px;
		width:50px; height:48px;
		position:absolute; top:5px; left:25px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.line {
		margin-top:5vmin;
		text-align:center;
	}
	
	.btn_line {
		padding:5px 15px 5px 60px;
		font-size:18px;
		border-radius:5px;
		line-height:36px;
	}
	
	.btn_line::before {
		background:url(img/line.png);
		background-size:40px 38px;
		width:40px; height:38px;
		position:absolute; top:5px; left:10px;
	}
}


/* サービス一覧ボタン
===========================================*/
.single_btn .__bottom {
	display: flex;
	flex-wrap: wrap; align-items: center;
}

.single_btn .__bottom a { color: #fff;}

.single_btn .__btn1 { background: #009360;}
.single_btn .__btn2 { background: #f44336;}

/* PC */
@media screen and (min-width: 768px) {
    .single_btn .__bottom { justify-content: center;}
	
	.single_btn .__btn1,
    .single_btn .__btn2 {
        padding: 10px 50px 8px 30px;
        font-size: 16px;
        border-radius: 5px;
    }

    .single_btn .__btn1 { margin-right: 30px;}

    .single_btn .__bottom a i { margin-right: 30px;}
}

/* SP */
@media screen and (max-width: 767px) {
    .single_btn .__bottom { justify-content: space-around;}
	
	.single_btn .__btn1,
    .single_btn .__btn2 {
        padding: 1.5vmin 4vmin 1vmin 3vmin;
        border-radius: 5px;
    }

	.single_btn .__bottom a i { margin-right: 1vmin;}
}







/* ==========================================================

    shofoo一覧（flyer）

========================================================== */
/* PC */
@media screen and (min-width: 768px) {
	.flyer { margin-top: 50px; margin-bottom: 100px;}

	.flyer .__summary { margin: 50px 20px 80px;}

	.flyer .title01 { margin-bottom: 30px;}
}

/* SP */
@media screen and (max-width: 767px) {
	.flyer { margin-top: 5vmin; margin-bottom: 10vmin;}

	.flyer .__summary { margin: 3vmin;}

	.flyer .title01 { margin-bottom: 4vmin;}
}





/* ==========================================================

    shofoo（各店舗ページ チラシ）

========================================================== */
.shufoo { border: 1px solid #ccc;}

/* デフォルト設定打消し */
.shufoo .shufoo-sp .shufoo-vertical .shufoo-item { border-bottom: none;}

.shufoo div.shufoo-main-wrap .shufoo-shopList .shufoo-item p { font-size: 15px;}

.shufoo .shufoo-sp .shufoo-ui-area {
	width: 65px;
	top: 20px; right: -15px;
}


/* PC */
@media screen and (min-width: 768px) {
	.shufoo {
		width: 600px;
		height: 132px;
		margin-right: auto; margin-bottom: 100px; margin-left: auto;
	}

	.shufoo img { width: 180px;}
	
	.shufoo div.shufoo-main-wrap .shufoo-shopList .shufoo-item p.shufoo-img { margin-right: 20px;}

	.shufoo div.shufoo-main-wrap .shufoo-shopList .shufoo-item .shufoo-text { margin-top: 20px;}

	.shufoo .shufoo-sp .shufoo-ui-area { top: 20px; right: -15px;}
}

/* SP */
@media screen and (max-width: 767px) {
	.shufoo div.shufoo-main-wrap { min-width: 60vmin;}

	.shufoo {
		height: 110px;
		margin-right: 3vmin; margin-bottom: 20vmin; margin-left: 3vmin;
	}

	.shufoo img { width: 80px;}

	.shufoo .shufoo-item { width: 100%;}

	.shufoo .shufoo-sp .shufoo-ui-area { top: 10px; right: -20px;}

	.shufoo div.shufoo-main-wrap .shufoo-shopList .shufoo-item .shufoo-main { margin-right: 30px;}
}




/* フォーム
===========================================================*/
.form .title01 { color:inherit;}

.form .wpcf7-validation-errors { color:#a80000;}

/* PC */
@media screen and (min-width: 768px) {
	.form .wpcf7-validation-errors,
	.wpcf7c-elm-step2 {
		margin-bottom:40px;
		padding-top:8px;
		text-align:center;
		font-size:18px;
		font-weight:bold;
		background:#fff;
	}
	
	.form .wpcf7-validation-errors { border:3px solid #a80000;}
}

/* SP */
@media screen and (max-width: 767px) {
}




/* ==========================================================

	Form

========================================================== */
/* form-flow（フォームの流れ）
=======================================*/
#form-flow {
	display:flex;
	flex-wrap:wrap; justify-content:center; align-items:stretch;
}

#form-flow p,
.custom-wpcf7c-confirmed #form-flow.f_input p:nth-child(1) {
	margin-bottom:0;
	border:solid 2px #009360;
	color:#009360;
	background:#fff;
	display:flex;
	flex-wrap:wrap; justify-content:center; align-items:center;
	position:relative;
}

#form-flow p:after,
.custom-wpcf7c-confirmed #form-flow.f_input p:nth-child(1):after {
	content:'';
	width:0; height:0;
	border-top:8px solid transparent;
	border-right:0 solid transparent;
	border-bottom:8px solid transparent;
	border-left:8px solid #009360;
	position:absolute; top:50%;
	margin-top:-5px;
}

#form-flow p:last-child { margin-right:0;}

#form-flow p:last-child:after { content:normal;}

#form-flow.f_input p:nth-child(1),
#form-flow.f_conf p:nth-child(2),
#form-flow.f_thanks p:nth-child(3),
.custom-wpcf7c-confirmed #form-flow p:nth-child(2) {
	background:#009360;
	color:#fff;
}

/* PC */
@media screen and (min-width: 768px) {
	#form-flow { margin-top:60px; margin-bottom:60px;}
	
	#form-flow p {
		width:260px;
		margin-right:40px;
		padding-top:18px; padding-bottom:16px;
		font-size:15px;
	}
	
	#form-flow p:after { right:-26px;}
	
	#form-flow p span:first-child { margin-right:20px;}

}

/* SP */
@media screen and (max-width: 767px) {
	#form-flow { margin-top:30px; margin-bottom:30px;}
	
	#form-flow p {
		width:27%;
		margin-right:20px;
		padding-top:8px; padding-bottom:6px;
		font-size:13px;
		line-height:1.3;
		flex-direction:column;
	}

	#form-flow p:after { right:-17px;}
}


/* wpcf7c-pressed（「ボタンを押してください」テキスト）
=======================================*/
/* PC */
@media screen and (min-width: 768px) {
	.wpcf7c-pressed { text-align:center;}
}

/* SP */
@media screen and (max-width: 767px) {

}



/* table
=======================================*/
.form table {
	width:100%;
	margin-bottom:20px;
	font-size:15px;
}

.form th,
.form td { border:solid 1px #ccc;}

.form th { background:#f9f9f9; font-weight:bold;}

.form td { background:#fff;}

/* 必須・任意 */
.form .ind,
.form .any {
	color:#fff;
	display:inline-block;
	padding:2px 8px 0;
	margin-right:10px;
	border-radius:3px;
	font-size:11px;
	font-weight:normal;
	vertical-align:middle;
}

.form .ind { background:#e60000;}
.form .any { background:#688cc3;}

.form td .ind,
.form td .any { position:static;}

.form td input {
	margin-right:15px;
	padding:5px;
	font-size:16px;
	border:1px solid #ccc;
	-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
}

.form td input[type="radio"],
.form td input[type="checkbox"] {
	width:20px; height:20px;
	margin-right:5px;
	vertical-align:bottom;
	position:relative; top:-1px;
}

.wpcf7-list-item label:first-child input[type="radio"] { margin-left:0;}

.form td input[type="checkbox"] {
	position:relative; top:-2px;
	vertical-align:middle;
}

.form td input[type="date"],
.form td .calendar { width:180px;}

.form td select {
	font-size:16px;
	border:1px solid #ccc;
}

.form td textarea {
	width:100%;
	box-sizing:border-box;
	border:1px solid #ccc;
}


/* PC */
@media screen and (min-width: 768px) {
	.form table { margin-top:30px;}
	
	.form th {
		width:250px;
		padding:24px 20px 13px 70px;
		text-align:left;
		position:relative;
		vertical-align: top;
	}
	
	.form td {
		padding:15px 20px 12px;
		position:relative;
	}
	
	.form td input {
		width:500px;
		padding:14px 20px;
	}
	
	.form td input[type="date"] { padding:10px; position:relative; top:-4px;}
	
	.form .__birthday span:first-of-type input { width:140px;}
	
	.form .__birthday input { width:100px;}
	
	.form td select { padding-top:15px; padding-bottom:12px; padding-left:20px;}
	
	.form td textarea {
		height:215px;
		padding:15px 20px 12px;
	}
	
	/* 必須・任意 */
	.form .ind,
	.form .any { position:absolute; top:26px; left:18px;}
	
	/* 個人情報保護方針 */
	.form .__privacy_policy {
		width:100%; height:140px;
		margin-bottom:20px;
		padding:10px;
		box-sizing:border-box;
		overflow-y:scroll;
		font-size:14px;
		border:1px solid #ccc;
	}
	
	.form .__privacy_policy th,
	.form .__privacy_policy td { padding:10px;}
	
	.form .__privacy_policy th { width:5.3em;}

}

/* SP */
@media screen and (max-width: 767px) {
	.form table,
	.form tbody,
	.form tr,
	.form th,
	.form td { display:block;}
	
	.form th,
	.form td {
		padding:10px 15px 8px;
	}
	
	.form table { border-top:1px solid #ccc; }
	
	.form th {
		text-align:left;
		border-top:none; border-bottom:none;
	}
	
	.form td {
		padding-bottom:10px;
	}
	
	
	/* 必須・任意 */
	.form .ind,
	.form .any { position:relative; top:-2px;}
	
	/* input */
	.form td input {
		width:100%;
		padding:12px 10px 10px;
		-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
		font-size:16px;
	}
	.form td input[type="radio"],
	.form td input[type="checkbox"] {
		width:inherit;
		padding:0;
		margin:0 5px 0 0;
	}
	
	.form td input[type="checkbox"] {
		width:20px; height:20px;
		margin-right:8px;
		background:#fff;
	}
	
	.form td input[type="date"] { margin-bottom:5px;}
	
	.form label {
		margin-bottom:8px; margin-right:10px;
		display:inline-block;
		font-size:16px;
	}
	
	/* placeholder */
	input::-webkit-input-placeholder,
	input:-ms-input-placeholder,
	input::-moz-placeholder { color:#aaa;}
	
	
	/* textarea */
	.form td textarea {
		padding:12px 10px 10px;
		font-size:16px;
	}
	
	.form td select {
		width:100%;
		padding:12px 10px 10px;
		-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
		font-size:16px;
	}
	
	/* 個人情報保護方針 */
	.form .__privacy_policy {
		width:100%; height:100px;
		margin-bottom:10px;
		padding:10px;
		box-sizing:border-box;
		overflow-y:scroll;
		font-size:14px;
		border:1px solid #ccc;
	}
	
	.form .__privacy_policy th,
	.form .__privacy_policy td { padding:10px;}

}



/* table（ご住所）
=======================================*/
.form .addr table th,
.form .addr table td { border:none;}

.form .addr table th {
	padding-left:0;
	background:none;
}

/* PC */
@media screen and (min-width: 768px) {
	.form .addr p {
		margin-bottom:0;
	}
	
	.form .addr table { margin-top:10px; margin-bottom:0;}
	
	.form .addr table th { vertical-align:middle;}
	
	.form .addr table td { padding-left:0;}
	
	.form .addr table input { width:450px;}
	
	.form .addr table .zip input { width:200px;}
}

/* SP */
@media screen and (max-width: 767px) {

}



/* 希望日時
=======================================*/
.request_date div { margin-bottom:20px;}

/* PC */
@media screen and (min-width: 768px) {
	.request1_date,
	.request1_time { position:relative;}
	
	.request1_date .wpcf7-not-valid-tip,
	.request1_time .wpcf7-not-valid-tip {
		font-size:11px;
		position:absolute; left:0; top:40px;
	}
}

/* SP */
@media screen and (max-width: 767px) {

}



/* 確認画面
=======================================*/
.form .wpcf7c-conf {
	border:none;
	background:#efefef;
	color:#333;
}

/* 確認画面でプレースホルダ―が見えないようにする */
.form input[readonly='readonly']:-ms-input-placeholder{ opacity: 0; }
.form input[readonly='readonly']::-moz-input-placeholder{ opacity: 0; }
.form input[readonly='readonly']::-webkit-input-placeholder{ opacity: 0; }


/* SP */
@media screen and (max-width: 767px) {
	wpcf7c-elm-step2 {
		background:#fff;
		border:1px solid #f00;
		color:#f00;
	}
}




/* 完了画面
=======================================*/
/* PC */
@media screen and (min-width: 768px) {
	.thanks { text-align:center;}
}

/* SP */
@media screen and (max-width: 767px) {
}

/* ボタン
=======================================*/
.form .btn_form {
	display: flex;
	justify-content: center; align-items: center;
	position: relative;
	padding-bottom: 30px;
}

.form .btn_home,
.form .btn_form input[type="submit"],
.form .btn_form input[type="button"] {
	border:none;
	line-height:48px;
	margin-top:10px;
	cursor:pointer;
	font-size:16px;
	text-decoration:none;
	border-radius:4px;
	-webkit-appearance: none; /* iPone対策 */
}

.form .btn_form button[type="submit"]:hover,
.form .btn_form input[type="button"]:hover { opacity:0.8; filter:alpha(opacity=80);}

.form input[type="submit"].wpcf7-confirm,
.form input[type="submit"].wpcf7-submit {
	display:inline-block;
	width:280px;
	padding:5px 15px 3px 10px;
	background:#009360;
	color:#fff;
	text-align:center;
}

.form input[type="button"].wpcf7c-btn-back,
.form .btn_home {
	display:inline-block;
	width:280px;
	padding:5px 10px 3px 15px;
	margin-bottom: 0;
	background:#999;
	color:#fff;
	text-align:center;
}

.form .wpcf7c-btn-back { margin-right:60px;}

.wpcf7 .ajax-loader {
	position: absolute;
	bottom: 0;

}


/* SP */
@media screen and (max-width: 767px) {
	.form input[type="button"].wpcf7c-btn-back {
		margin-right: 5vmin;
	}
	
}