@charset "utf-8";
/*
Theme Name: Lightning Child Sample
Theme URI: 
Template: Lightning-master
Description: 
Author: 
Tags: 
Version: 0.1.2
*/


/* ==========================
リセットＣＳＳ
============================= */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	font-family: 'Yu Gothic','游ゴシック','YuGothic','游ゴシック体','ヒラギノ角ゴ Pro','メイリオ','ＭＳ ゴシック',sans-serif;
	color: #0D0D0D;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a {
	text-decoration: none;
	color: inherit;
}
address{
	font-style:normal;
}
h1, h2, h3, h4, th {
	font-weight: normal;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}


/* ==========================
元テーマCSS上書き
============================= */
h2 {
	background-color: transparent;
}
h3 {
	box-shadow: none;
	-webkit-box-shadow: none;
	position: static;
}
.subSection-title:after, h3:after {
	border-bottom: none;
}
article, .page, .news_hero, .blog_hero {
	margin-top: 0 !important;
}

.table tbody tr td, .table tbody tr th, .table td, .table th, .table thead tr td, .table thead tr th, table tbody tr td, table tbody tr th,
table td, table th, table thead tr td, table thead tr th {
	border: none;
	padding: 0;
}
.siteHeader {
	background-color: rgba(255,255,255,0.9);
	box-shadow: none;
}

ul.gMenu a {
	background-color: transparent;
}
nav {
	font-size: 16px;
}
.nav>li>a {
	padding: 12px 15px 3px;
}
ul.sub-menu a {
	background-color: rgba(255,255,255,0.9);
}
.wpfront-scroll-top-container {
	box-shadow: 0 1px 3px rgba(0,0,0,.1);
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.1);
}
ul.gMenu > li.current-menu-ancestor > a::after, ul.gMenu > li.current-menu-item > a::after,
ul.gMenu > li.current-menu-parent > a::after, ul.gMenu > li.current-post-ancestor > a::after,
ul.gMenu > li.current_page_ancestor > a::after, ul.gMenu > li.current_page_parent > a::after, ul.gMenu > li > a:hover::after {
	border-bottom: none;
}
.nav>li>a:focus, .nav>li>a:hover {
	background-color: transparent;
}
footer .nav li a:hover {
	color: inherit;
}
a:focus, a:hover {
	text-decoration: none;
}
.vk-mobile-nav-menu-btn {
	top: 8px;
	right: 10px;
	left: auto;
	background-color: #fcfcfc;
}
.entry-title, .single h1.entry-title::first-letter {
	color: #FF659E;
}
.entry-title_border {
	border-bottom: 1px solid #ccc;
}
.entry-body, .widget .entry-body {
	padding: 2em 0 0;
}
.siteContent {
	padding: 0 0 3em;
}
.pager .previous a {
	text-align: right;
}
.pager li.next a::before {
	content: "≪";
}
.pager li.previous a::before {
	content: "";
}
.pager li.previous a::after {
	content: "≫";
	margin-left: .8em;
}
.media .media-body .media-heading a {
	color: #FF659E;
	font-weight: bold;
}
.media:last-child {
	border-bottom: none;
}
.media_pd {
	padding: 20px 0 50px;
}
.media_pd a:hover {
	opacity: 0.7;
}
.table tbody tr td .form-control, .table tbody tr th .form-control, .table td .form-control, .table th .form-control, .table thead tr td .form-control, .table thead tr th .form-control, table tbody tr td .form-control, table tbody tr th .form-control, table td .form-control, table th .form-control, table thead tr td .form-control, table thead tr th .form-control {
	max-width: 100%;
}
input.form-control {
	margin-bottom: 0;
}
.section.breadSection {
	border: none;
	text-align: left;
	margin-bottom: 70px;
}
.entry-body a {
	text-decoration: underline;
}
.entry-body a:hover {
	text-decoration: none;
}
.vk-mobile-nav {
	z-index: 1000;
}

/* ==========================
共用ＣＳＳ
============================= */
body,main{
	overflow-x:hidden;
}
article, header, footer {
	width: 100%;	
}
section {
	margin-bottom: 80px;
}
p {
	font-size: 16px;
	/*line-height: 140%;*/
}

.container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/*各ページdisplay：flex用*/
.df, .df_1024, .df_768, .df_500, footer .menu {
	display:flex;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
}
.df_r {
	flex-direction: row-reverse;
}
.flex_1 {
	flex: 1;
}
.flex_2 {
	flex: 2;
}
.flex_3 {
	flex: 3;
}

/* ホバー設定 */
article a, footer a, a::after, .navbar-brand img, nav li, ul.gMenu>li>ul.sub-menu li a, .pager li > a:focus, .pager li > a:hover,
.recruit_content button, .confirm_sendback input, .confirm_sendback button{
	transition: all .3s;
}

/* テキスト寄せ */
.align_c {
	text-align: center;
}
.align_l {
	text-align: left;
}
.align_r {
	text-align: right;
}

/* 縦中央寄せ用 親要素 */
.center_p {
	position: relative;
}
/* 縦中央寄せ */
.center_ver {
	position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
}
/* 縦横中央寄せ */
.center_verside {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
}

/* マージン類 */
.mg_lr_auto {
	margin-left: auto;
	margin-right: auto;
}
.mg_t_20 {
	margin-top: 20px;
}
.mg_t_50 {
	margin-top: 50px;
}
.mg_t_80 {
	margin-top: 80px;
}
.mg_t_120 {
	margin-top: 120px;
}
.mg_tb_20 {
	margin-top: 20px;
	margin-bottom: 20px;
}
.mg_b_20 {
	margin-bottom: 20px;
}
.mg_b_50 {
	margin-bottom: 50px;
}
.mg_b_80 {
	margin-bottom: 80px;
}
.mg_b_100 {
	margin-bottom: 100px;
}
.mg_lr_5 {
	margin-left: 5px;
	margin-right: 5px;
}
.mg_lr_15 {
	margin-left: 15px;
	margin-right: 15px;
}

/* 見出し・ヒーロー系 */
h1 {
	font-size: 34px;
	font-weight: bold;
	margin: 0 auto;
}
.top_h1 {
	font-family: "Sawarabi Gothic";
	margin-bottom: 15px;
}
.page_h1 {
	color: #fff;
	font-size: 45px;
}
.top_h2 {
	font-size: 40px;
	font-weight: bold;
	margin: 15px auto 30px;
}
.page_h2 {
	display: inline-block;
	font-size: 36px;
	padding: 10px 25px;
	margin: 0 0 50px;
}
.privacy_h2 {
	font-size: 20px;
	font-weight: bold;
	margin: 50px 0 5px;
}
.page_hero {
	height: 500px;
	background-size: cover;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin-bottom: 10px;
}

/* 線  */
hr {
	border-color: #999;
	margin-bottom: 15px;
}

/* 文中の改行が全く聞かないので苦肉の策 */
.span_br {
	display: block;
}

/* ==========================
SVGアニメーション用
============================= */
@keyframes STROKE {
	0% {
		fill: rgba(0, 0, 0, 0);
		opacity: 0;
	}
	3% {
		stroke-dashoffset: 2000;
		fill: rgba(0, 0, 0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		stroke-dashoffset: 0;
		fill: rgba(0, 0, 0, 0);
	}
}
.st0, .st1, .st2, .st3{
stroke-linecap:round;
stroke-linejoin:round;
stroke-dasharray: 2000;
stroke-dashoffset: 2000;
animation: STROKE 10s ease-in-out;
animation-fill-mode: forwards;
}
svg {
	width: 80vw;
	max-width: 600px;
}

/* SVGとVegasの組み合わせがうまく動かないブラウザのために、代理の画像使用 */
.svg_substitute {
	display: none;
}


/* ==========================
ヘッダー設定
============================= */
.navbar-brand img:hover {
	opacity: 0.7;
}
nav li {
	margin-left: 15px;
	margin-right: 15px;
}
.nav li a:hover {
	color: #fff;
}
.gMenu > li:nth-child(1) {
	border-bottom: 2px solid #FF488A;
}
.gMenu > li:nth-child(1):hover {
	background-color: #FF488A;
}
.gMenu > li:nth-child(2) {
	border-bottom: 2px solid #A9C449;
}
.gMenu > li:nth-child(2):hover {
	background-color: #A9C449;
}
.gMenu > li:nth-child(3) {
	border-bottom: 2px solid #ECAA5E;
}
.gMenu > li:nth-child(3):hover {
	background-color: #ECAA5E;
}
.gMenu > li:nth-child(4) {
	border-bottom: 2px solid #AA87F2;
}
.gMenu > li:nth-child(4):hover {
	background-color: #AA87F2;
}
.gMenu > li:nth-child(5) {
	border-bottom: 2px solid #00A7EB;
}
.gMenu > li:nth-child(5):hover {
	background-color: #00A7EB;
}
.gMenu > li:nth-child(6) {
	border-bottom: 2px solid #8DAFB8;
}
.gMenu > li:nth-child(6):hover {
	background-color: #8DAFB8;
}
.gMenu > li:nth-child(7) {
	border-bottom: 2px solid #2d8c3c;
}
.gMenu > li:nth-child(7):hover {
	background-color: #2d8c3c;
}
ul.gMenu>li>ul.sub-menu li a:hover {
	background-color: #A9C449;
}
header .siteHeadContainer {
	width: 100%;
}

/* ==========================
トップページ設定
============================= */

/* ヒーローイメージ */
.top_hero {
	height: 100vh;
	background-size: cover;
	margin-bottom: 0;
}
.hero_gradation {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0.5) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#80ffffff',GradientType=0 ); /* IE6-9 */
}
.hero_gradation img {
	width: 80vw;
	max-width: 600px;
	height: auto;
}

/* バナー */
.top_bnr {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 900px;
	text-align: center;
	margin: 0 auto;
}
.top_bnr a {
	flex: 1 1 350px;
	display: block;
	max-width: 410px;
	margin: 2rem;
}
.top_bnr a:hover {
	opacity: 0.7;
}

/* 見出し部分 */
.top_h_text {
	max-width: 800px;
	text-align: left;
	margin: 0 auto;
}

/* 店舗紹介 */
.top_shop {
	background-image: url(/img/bgimg_shop.jpg);
	background-size: cover;
	background-position: center;
	padding: 40px 0;
}
.top_shop h2 {
	color: #fff;
}
.top_shopinfo {
	max-width: 900px;
	background-color: rgba(255,255,255,0.8);
	padding: 30px 25px;
	margin: 30px auto;
}
.top_shopinfo_photo {
	flex: 1;
	text-align: center;
	margin: 0 20px 0 10px;
}
.top_shopinfo_photo img {
	max-width: 100%;
	height: auto;
}
.top_shopinfo_text {
	flex: 1;
	margin: 0 10px;
}
.top_shopinfo_text h3 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.8;
	border-left: 15px solid #A9C449;
	padding-left: 15px;
}
.table_shopinfo {
	text-align: left;
	line-height: 1.4;
	border-collapse: separate;
    border-spacing: 8px 12px;
}
.table_shopinfo a {
	text-decoration: underline;
}
.table_shopinfo a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.table_shopinfo th {
	width: 85px;
	text-align: right;
}
.top_shopinfo_text p {
	text-align: right;
	margin: 10px;
}

/* 会社説明 */
.top_company {
	justify-content: space-around;
}
.top_company_content {
	flex: 1;
	position: relative;
	text-align: center;
	margin: 0 15px 30px;
}
.top_company_content div {
	width: 250px;
}
.top_company_content img {
	max-width: 280px;
	opacity: 0.2;
}
.top_company_content h3 {
	color: #603E18;
	font-size: 26px;
	font-weight: bold;
	margin: 15px;
}

/* 在宅訪問 */
.top_visit {
	justify-content: space-between;
}
.top_visit_img {
	flex: 1;
	text-align: center;
	margin-bottom: 20px;
}
.top_visit_content {
	flex: 1;
	padding-right: 60px;
}
.top_visit_text {
	margin-bottom: 30px;
}

/* 採用情報 */
.top_recruit {
	background-image: url(/img/bgimg_recruit.jpg);
	background-size: cover;
	background-position: center;
	text-align: center;
	padding: 40px 0;
}
.top_recruit h2 {
	color: #fff;
}
.top_recruit_content {
	max-width: 900px;
	background-color: rgba(255,255,255,0.8);
	padding: 30px 25px;
	margin: 10px auto;
}
.top_recruit_content p:first-child{
	margin-bottom: 20px;
}

/* お知らせ */
.container_top_news {
	background-color: #f4f4f4;
	padding: 30px 10px;
	margin-bottom: 40px;
}
.top_news {
	max-width: 900px;
	margin: 0 auto;
}
.top_news_content li {
	margin-bottom: 15px;
}
.top_news_content a {
	padding: 5px 8px;
}
.top_news_content a:hover {
	color: #fff;
	background-color: #bbb;
}
.top_news_content span {
	margin-left: 20px;
}
.top_news_content img {
	width: 60px;
	vertical-align: middle;
	margin: 0 12px 3px 0;
}

/* ブログ */
.top_blog {
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.top_blog_item {
	flex: 0 0 24%;
	max-width: 320px;
	border: 1px solid #ccc;
	margin-bottom: 20px;
}
.top_blog_item:not(:last-child) {
	margin-right: 1%;
}
.top_blog_image {
	position: relative;
	height: 150px;
	overflow: hidden;
}
.top_blog_image a {
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
}
.top_blog_image a:hover {
	transform: scale(1.1);
}
.top_blog_image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	border: 1px solid #fff;
}
.top_blog_text {
	padding: 20px;
	background: #fff;
}
.top_blog_title {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #2d8c3c;
	margin-bottom: 10px;
}
.top_blog_description {
	margin-bottom: 10px;
}
.top_blog_category {
	flex-wrap: wrap;
}
.top_blog_category li {
	margin: 0 10px 10px 0;
}
.top_blog_category a {
	display: inline-block;
	font-size: 14px;
	text-align: center;
	color: #fff;
	background: #337ab7;
	border-radius: 4px;
	padding: 1px 8px;
}
.top_blog_category a:hover {
	opacity: .7;
}

/* NEWアイコンアニメーション */
.double-flash {
  animation: double-flash_2320 3s ease infinite;
  transform-origin: 50% 50%;
}
@keyframes double-flash_2320 {
  0% { opacity:1 }
  12.5% { opacity:0 }
  25% { opacity:1 }
  37.5% { opacity:0 }
  50% { opacity:1 }
  100% { opacity:1 }
}


/* 各リンクボタン（共通できるものは共通化） */
.top_shopinfo_btn, .top_company_btn, .top_visit_btn, .top_recruit_btn, .top_news_btn, .top_blog_btn {
	display: inline-block;
	position: relative;
	color: #fff;
	border-radius: 8px;
}
.top_company_btn, .top_visit_btn, .top_recruit_btn, .top_news_btn, .top_blog_btn {
	font-size: 20px;
	padding: 12px 45px 12px 25px;
	margin: 20px;
}
.top_shopinfo_btn {
	background-color: #A9C449;
	padding: 8px 45px 8px 25px;
	border: 2px solid #A9C449;
}
.top_company_btn {
	background-color: #ECAA5E;
	border: 2px solid #ECAA5E;
}
.top_visit_btn {
	background-color: #AA87F2;
	border: 2px solid #AA87F2;
	margin: 0;
}
.top_recruit_btn {
	background-color: #00A7EB;
	border: 2px solid #00A7EB;
}
.top_news_btn {
	background-color: #8DAFB8;
	border: 2px solid #8DAFB8;
}
.top_blog_btn {
	background-color: #2d8c3c;
	border: 2px solid #2d8c3c;
}

.top_shopinfo_btn:hover, .top_company_btn:hover, .top_visit_btn:hover, .top_recruit_btn:hover, .top_news_btn:hover, .top_blog_btn:hover {
	background-color: #fff;
}
.top_shopinfo_btn:hover {
	color: #A9C449;
}
.top_company_btn:hover {
	color: #ECAA5E;
}
.top_visit_btn:hover {
	color: #AA87F2;
}
.top_recruit_btn:hover {
	color: #00A7EB;
}
.top_news_btn:hover {
	color: #8DAFB8;
}
.top_blog_btn:hover {
	color: #2d8c3c;
}

/* 各リンクボタンの矢印 */
.top_shopinfo_btn::after, .top_company_btn::after, .top_visit_btn::after, .top_recruit_btn::after, .top_news_btn::after, .top_blog_btn::after {
	content: "";
	display: inline-block;
	margin-left: 10px;
    box-sizing: border-box;
    width: 9px;
    height: 9px;
    border: 9px solid transparent;
    border-left: 14px solid #fff;
	position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
}
.top_shopinfo_btn:hover::after {
	border-left: 14px solid #A9C449;
}
.top_company_btn:hover::after {
	border-left: 14px solid #ECAA5E;
}
.top_visit_btn:hover::after {
	border-left: 14px solid #AA87F2;
}
.top_recruit_btn:hover::after {
	border-left: 14px solid #00A7EB;
}
.top_news_btn:hover::after {
	border-left: 14px solid #8DAFB8;
}
.top_blog_btn:hover::after {
	border-left: 14px solid #2d8c3c;
}

/* ==========================
店舗案内ページ
============================= */
.shop_main_hero {
	background-image: url(/img/hero_shop_main.jpg);
	background-position: center;
}
.shop_south_hero {
	background-image: url(/img/hero_shop_south.jpg);
	background-position: center top;
}
.shop_h2 {
	border-bottom: 3px solid #A9C449;
}
.shop_content div {
	flex: 1;
	margin: 15px;
}
.shop_content .table_shopinfo {
	margin-top: -12px;
}
div.shop_service {
	background-color: #EF8DB1;
	border-radius: 15px;
	margin: 40px 0 10px;
	padding: 10px;
}
.shop_service p {
	text-align: center;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}
.shop_service ul {
	flex-wrap: wrap;
	justify-content: space-around;
	background-color: #fff;
	border-radius: 8px;
	padding: 10px 5px;
}
.shop_service li {
	flex: 0 0 42%;
	align-items: center;
	border-bottom: 2px dashed #EF8DB1;
	margin: 5px 0;
	padding: 10px 5px;
}

.shop_service li img {
	flex: 0 0 45px;
	width: 45px;
}
.shop_service li span {
	flex: 1;
	padding-left: 8px;
}
.gmaps {
		margin-left: 15px;
		margin-right: 15px;
}

/* 以下モーダルウィンドウの設定 */
body {
	position:relative;
}
/* メニューボタン等調整 */
body.device-mobile .vk-mobile-nav-menu-btn, #wpfront-scroll-top-container {
	z-index: 1001;
}
.modalOpen {
	text-decoration: underline;
}
.modal {
	position:fixed;
	width:100%;
	height:100vh;
	top:0;
	left:0;
	display:none;
}
.overLay {
	position:fixed;
	top:0;
	left:0;
	background:rgba(200,200,200,0.9);
	width:100%;
	height:100vh;
	z-index:10000;
}
.modal .inner {
	width: 90%;
	max-width: 700px;
	position:absolute;
	z-index:10001;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	background-color: #fff;
	padding: 30px;
}
.service_card_h {
	font-weight: bold;
	text-align: center;
}
.service_card {
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 25px 0 30px;
}
.service_card div {
	flex: 0 0 120px;
	margin: 5px;
}


/* ==========================
会社概要ページ
============================= */
.company_hero {
	background-image: url(/img/hero_company.jpg);
	background-position: bottom;
}
.company_h2 {
	border-bottom: 3px solid #ECAA5E;
}
.company_content {
	max-width: 800px;
	margin: 0 auto;
}
.company_content div {
	margin: 15px;
}
.table_company {
	width: 100%;
	line-height: 1.6;
	border-collapse: collapse;
}
.table_company th {
	width: 20%;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #ccc;
	background-color: #FCF2E7;
	padding: 15px;
}
.table_company td {
	width: 80%;
	border: 1px solid #ccc;
	padding: 15px;
}


/* ==========================
在宅訪問ページ
============================= */
.visit_hero {
	background-image: url(/img/hero_visit.jpg);
	background-position: center;
}
.visit_h2, .visit_h2_first {
	border-bottom: 3px solid #AA87F2;
}
.visit_h3 {
	font-size: 26px;
	font-weight: bold;
	color: #AA87F2;
	line-height: 1.4;
	margin-bottom: 10px;
}
.visit_h2_sub {
	font-size: 46px;
	font-weight: bold;
	color: #AA87F2;
	line-height: 1.4;
	margin-bottom: 50px;
}
.visit_h2_sub .pc_br {
	display: block;
}
.visit_exsample {
	justify-content: space-around;
	flex-wrap: wrap;
}
.visit_exsample div {
	flex: 0 0 40%;
	max-width: 400px;
	text-align: center;
	margin: 0 auto 80px;
}
.visit_exsample img {
	max-height: 250px;
	margin-bottom: 20px;
}
.visit_exsample h3 {
	font-size: 26px;
	font-weight: bold;
	text-align: left;
	line-height: 1.4;
}
.visit_exsample h3 span {
	display: block;
	font-size: 0.7em;
}
.visit_merit {
	justify-content: space-around;
	flex-wrap: wrap;
}
.visit_merit div {
	flex: 0 0 40%;
	max-width: 400px;
	text-align: center;
	margin: 0 auto 80px;
}
.visit_merit img {
	max-height: 250px;
	margin-bottom: 20px;
}
.visit_merit h3 {
	font-size: 26px;
	font-weight: bold;
	text-align: left;
	line-height: 1.4;
}
.visit_merit_img {
	border-radius: 30px;
}
.visit_trouble {
	justify-content: space-around;
	flex-wrap: wrap;
}
.visit_trouble div {
	flex: 0 0 33%;
	max-width: 380px;
	text-align: center;
	margin: 0 auto 80px;
}
.visit_trouble img {
	max-height: 200px;
	margin-bottom: 20px;
}
.visit_trouble h3 {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
}
.visit_price div {
	flex: 1;
	background: #F7F4FE;
	padding: 30px;
	margin: 20px;
}
.visit_price_h {
	text-align: center;
	margin-bottom: 20px;
}
.visit_price_listh {
	text-align: center;
	margin-bottom: 30px;
}
.visit_price_listh span {
	display: block;
	font-size: 0.7em;
}
.visit_price_list li {
	display: flex;
	max-width: 370px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	margin: 0 auto 15px;
}
.visit_price_list .title {
	flex: 1;
}
.visit_price_list .colon {
	flex: 0 0 40px;
	text-align: center;
}
.visit_price_list .price {
	flex: 0 0 60px;
	text-align: right;
}
.visit_price_annotation {
	font-size: 18px;
	margin-bottom: 30px;
}
.visit_price_list2 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 80px;
}
.visit_price_list2 li {
	line-height: 1.4;
	background: url(/img/icon_check.png) no-repeat left top / 30px;
	padding-left: 5rem;
	margin-bottom: 20px;
}
.visit_price_text {
	max-width: 700px;
	font-size: 20px;
	font-weight: bold;
	margin: 0 auto;
}
.visit_price_text .pc_br {
	display: block;
}
.visit_flow {
	max-width: 900px;
	background: #F7F4FE;
	border-radius: 20px;
	padding: 20px;
	margin: 0 auto;
}
.visit_flow_img {
	flex: 0 0 180px;
	text-align: center;
}
.visit_flow_text {
	flex: 1;
	padding-left: 2rem;
}
.visit_flow_next {
	text-align: center;
	margin: 20px;
}
.visit_flow_next img {
	width: 70px;
}
.visit_contact {
	max-width: 800px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: #AA87F2;
	border-radius: 20px;
	padding: 30px 20px;
	margin: 0 auto;
}
.visit_contact .visit_contact_tel {
	text-decoration: none;
}
.visit_contact_h {
	font-size: 24px;
	margin-bottom: 30px;
}
.visit_contact_tel {
	font-size: 70px;
}
.visit_contact_tel:hover {
	color: #fff;
	opacity: 0.7;
}
.visit_contact_tel img {
	width: 50px;
	margin: 0 5px 8px 0;
}
.visit_contact_text {
	max-width: 520px;
	text-align: left;
	font-weight: normal;
	margin: 30px auto 0;
}


/* ==========================
採用情報ページ
============================= */
.recruit_hero {
	background-image: url(/img/hero_recruit.jpg);
	background-position: 60% center;
}
.recruit_h2 {
	border-bottom: 3px solid #00A7EB;
	padding-top: 10rem;
}
.recruit_h2_main {
	color: #00A7EB;
	font-weight: bold;
	padding: 0;
}
.recruit_content {
	max-width: 800px;
	margin: 0 auto;
}
.recruit_content div {
	margin: 15px;
}
.recruit_text {
	margin-bottom: 8rem;
}
.recruit_point {
	display: flex;
	justify-content: space-around;
}
.recruit_point div {
	flex: 0 0 45%;
	position: relative;
	text-align: center;
	border: 1px solid #00A7EB;
	border-radius: 2rem;
	padding: 4rem 2rem;
	margin-bottom: 4rem;
}
.recruit_point h3 {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
	font-weight: bold;
	white-space: nowrap;
	color: #00A7EB;
	background: #fff;
	padding: 0 1.5rem;
}
.recruit_point p {
	text-align: left;
}
.recruit_link {
	display: flex;
	justify-content: space-around;
	text-align: center;
}
.recruit_link_btn {
	flex: 0 0 31%;
	display: inline-block;
	width: 100%;
	max-width: 350px;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	background: #00A7EB;
	border-radius: 2rem;
	padding: 2rem 1rem;
	margin-top: 3rem;
}
.recruit_link_btn:hover {
	color: #fff;
	opacity: 0.7;
}
.recruit_link_btn:focus {
	color: #fff;
}
.recruit_link_btn img {
	width: 50px;
	height: 30px;
	margin-top: 1.5rem;
}
.recruit_tel {
	text-align: center;
}
.recruit_tel h3 {
	font-size: 30px;
	font-weight: bold;
	margin: 2rem 0;
}
.recruit_tel a {
	font-size: 70px;
	font-weight: bold;
	color: #00A7EB;
}
.recruit_tel a:hover {
	opacity: 0.7;
}
.recruit_tel img {
	width: 50px;
	vertical-align: baseline;
	margin-right: 1rem;
}
.recruit_tel p {
	text-align: left;
	max-width: 550px;
	margin: 3rem auto 6rem;
}
.err_msg {
	color: #f00;
}
.table_recruit {
	width: 100%;
	line-height: 1.6;
	border-collapse: collapse;
}
.table_recruit th {
	width: 20%;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #ccc;
	background-color: #DDECF2;
	padding: 15px;
	white-space: nowrap;
}
.table_recruit td {
	width: 80%;
	border: 1px solid #ccc;
	padding: 15px;
}
.table_recruit a {
	text-decoration: underline;
}
.table_recruit a:hover {
	text-decoration: none;
}
.table_form {
	width: 100%;
	line-height: 1.6;
	border-collapse: separate;
	border-spacing: 8px;
}
.table_form th {
	width: 20%;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #ccc;
	background-color: #DDECF2;
	padding: 15px;
	white-space: nowrap;
}
.table_form td {
	width: 80%;
	padding: 0px;
}
.required_item {
	color: #e00;
	font-size: 12px;
	font-weight: bold;
	vertical-align: middle;
	margin-left: 5px;
}
.table_form input, .table_form select {
	max-width: 100%;
	height: 70px;
	box-sizing: border-box;
}
input[type="text"], input[type="tel"], input[type="email"] {
	-webkit-appearance: none;
	border-radius: 0;
}
select.form-control, textarea.form-control {
	border-radius: 0;
}
textarea {
	resize: vertical;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* flex（点数上げの苦肉の策） */
.table_form td.input_postnumber, .table_form td.input_birthday {
	display:flex;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
}
.input_postnumber div {
	flex: 0 0 45%;
	margin: 0;
}
.input_postnumber span, .input_postnumber p {
	flex: 0 0 10%;
	text-align: center;
}
.input_birthday div {
	margin: 0;
	flex: 0 0 30%;
}
.input_birthday span, .input_birthday p {
	margin: 0;
	flex: 0 0 5%;
	text-align: center;
}
.privacy_text {
	font-size: 14px;
	text-align: center;
	margin: 30px 0;
}
.privacy_text a {
	text-decoration: underline;
}
.privacy_text a:hover {
	text-decoration: none;
}
.confirm_btn {
	width: 200px;
	margin-top: 50px;
}


/* ==========================
応募内容確認ページ
============================= */
.confirm_hero {
	margin-bottom: 80px;
}
.confirm_text {
	margin-bottom: 20px;
}
.table_confirm {
	width: 100%;
	line-height: 1.6;
}
.table_confirm th {
	width: 20%;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #ccc;
	background-color: #DDECF2;
	padding: 15px;
	white-space: nowrap;
}
.table_confirm td {
	width: 80%;
	min-height: 55px;
	vertical-align: middle;
	border: 1px solid #ccc;
	padding: 15px;
}
.confirm_sendback {
	justify-content: center;
	text-align: center;
	padding-top: 30px;
}
.confirm_back_btn {
	padding-right: 25px;
	margin: 20px 25px;
}
.confirm_send_btn {
	margin: 20px 25px;
}

/* ==========================
応募完了ページ
============================= */
a.top_recruit_btn {
	text-decoration: none;
}

/* ==========================
お知らせページ
============================= */
.news_hero {
	background-image: url(/img/hero_info.jpg);
	background-position: 35% center;
}
.news_hero_single {
	height: 300px;
}
.news_hero_single h1 {
	margin-top: 50px;
}
.news_h2 {
	border-bottom: 3px solid #8DAFB8;
}
.multiple_categories {
	margin-top :10px;
}
.entry-meta_items_term {
	float: none;
	border: none;
	margin: 0 5px 5px 0;
}

/* ==========================
ブログページ（一部は「お知らせ」CSSそのまま流用）
============================= */
.blog_hero {
	background-image: url(/img/hero_blog.jpg);
	background-position: right 20% center;
}
.blog_h2 {
	border-bottom: 3px solid #2d8c3c;
}
.blog_postlist .entry-title, .blog_postlist .media .media-body .media-heading a, .single .type-blog h1.entry-title::first-letter, .type-blog .entry-title {
	color: #2d8c3c;
}
.blog_sidebar {
	flex: 0 0 220px;
	margin-left: 20px;
}
.blog_sidebar_title {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: #2d8c3c;
	border-radius: 3px;
	padding: 7px 5px;
	margin-bottom: 10px;
}
.blog_sidebar_category {
	margin-bottom: 30px;
}
.blog_sidebar_category li {
	font-weight: 500;
	padding: 8px 10px;
}
.blog_sidebar_archive li {
	font-weight: 500;
	padding: 8px 10px;
}
.blog_relate_title {
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	background: #2d8c3c;
	border-radius: 5px;
	padding: 7px 10px;
	margin: 60px 0 10px;
}
.blog_relate_content .top_blog_image {
	height: 100px;
}
.blog_relate_content .top_blog_text {
	padding: 10px;
}

/* ==========================
投稿詳細ページ
============================= */
article.type-post .entry-body h2, article.type-blog .entry-body h2 {
	background: #f3f3f3;
	border-top: 2px solid #337ab7;
	padding: 10px;
}
article.type-post .entry-body h3, article.type-blog .entry-body h3 {
	position: relative;
	border-bottom: 1px solid #ccc;
}
article.type-post .entry-body h3::after, article.type-blog .entry-body h3::after {
	border-bottom: 1px solid #337ab7;
}
article.type-post .entry-body a, article.type-blog .entry-body a {
	color: #337ab7;
}
article.type-post .entry-body a:hover, article.type-blog .entry-body a:hover {
	opacity: .7;
}
article.type-post .entry-body ol, article.type-post .entry-body ul, article.type-blog .entry-body ol, article.type-blog .entry-body ul {
	list-style: revert;
	padding-left: 1.5em;
}


/* ==========================
フッター設定
============================= */

footer {
	width: 100%;
	text-align: center;
	background-image: url(/img/footer_bg.jpg);
	background-size: cover;
	background-position: 75% center;
}
.footer_gradation {
	background-color: rgba(255,255,255,0.7);
	padding: 40px;
}
footer img {
	display: inline-block;
	max-width: 280px;
	margin-bottom: 40px;
}
footer nav {
	margin-bottom: 80px;
}
footer ul {
	justify-content: space-around;
}
footer li {
	margin-bottom: 20px;
}

footer a:hover {
	opacity: 0.7;
}
footer a {
	position: relative;
  display: inline-block;
  padding: 0 10px 5px;
}
footer a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
footer ul li:nth-child(1) a:after {
	background: #FF488A;
}
footer ul li:nth-child(2) a:after {
	background: #A9C449;
}
footer ul li:nth-child(3) a:after {
	background: #ECAA5E;
}
footer ul li:nth-child(4) a:after {
	background: #AA87F2;
}
footer ul li:nth-child(5) a:after {
	background: #00A7EB;
}
footer ul li:nth-child(6) a:after {
	background: #8DAFB8;
}
footer ul li:nth-child(7) a:after {
	background: #2d8c3c;
}
footer a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

footer ul.sub-menu {
	list-style-type: none;
	margin-top: 10px;
	padding-left: 25px;
}
footer ul.sub-menu li {
	text-align: left;
	margin-bottom: 10px;
}
footer ul.sub-menu li:before {
	content: url(/img/icon_menulist);
}
footer ul.sub-menu a {
	background-color: transparent;
}
footer .nav>li {
	text-align: left;
}
footer .nav>li>a {
	display: inline-block;
}

/* ==========================
メディアクエリ
============================= */
@media screen and (min-width:1025px){
	
	/* 画面幅が大きい時だけ、文章を中央寄せにする */
	.align_c_wide {
		/*text-align: center;*/
	}
}

/* ヘッダー微調整 */
@media screen and (max-width:1100px){
	header .gMenu li {
		margin-left: 9px;
		margin-right: 9px;
	}
}

@media screen and (max-width:1024px){

	/* FLEX解除 */
	.df_1024 {
		display: block;
	}
	
	/* フッター */
	footer li {
		margin: 0 5px 20px;
	}
	footer .nav > li > a {
		padding: 12px 0 3px;
	}
	
	/* トップページ */
	.top_blog {
		justify-content: space-between;
	}
	.top_blog {
		max-width: 670px;
		margin: 0 auto 40px;
	}
	.top_blog_item {
		flex: 0 0 48%;
	}
}

@media screen and (max-width:768px){

	/* FLEX解除 */
	.df_768, footer .menu {
		display: block;
	}
	
	/* 共通（複数ページ） */
	.shop_content div, .company_content div, .recruit_content div {
		margin-left: 0;
		margin-right: 0;
	}
	
	/* トップページ */
	.top_h1 {
		font-size: calc(8px + 4vw);
	}
	.top_h_text, .top_recruit_content p {
		text-align: left;
	}
	.top_bnr {
		display: block;
	}
	.top_bnr a {
		margin: 2rem auto;
		padding: 0 1rem;
	}
	.top_recruit_content p:last-child {
		text-align: center;
	}
	.top_shopinfo {
		padding: 25px 5px;
	}
	.top_shopinfo_photo {
		margin: 0 10px;
	}
	.top_shopinfo_text {
		margin-top: 20px;
	}
	.top_shopinfo_text p {
		text-align: center;
	}
	.top_news_content a {
		padding: 5px 0;
	}
	.top_visit_content {
		padding-right: 0;
	}
	.top_visit_content h2 {
		text-align: center;
	}
	.top_visit_btn_wrap {
		text-align: center;	
	}
	.top_blog_item {
		margin: 0 auto 20px;
	}
	.top_blog_item:not(:last-child) {
		margin-right: auto;
	}
	
	/* 店舗紹介ページ */
	div.shop_service {
		margin-bottom: 40px;
	}
	.shop_service li {
		flex: 0 0 45%;
		padding: 10px 0px;
	}
	.shop_service li img {
		flex: 0 0 35px;
		width: 35px;
	}
	.gmaps {
		margin-left: 0;
		margin-right: 0;
	}
	
	/* 在宅訪問 */
	.visit_h2_sub {
		font-size: 36px;
	}
	.visit_exsample div, .visit_merit div {
		padding: 0 20px;
	}
	.visit_exsample img, .visit_merit img, .visit_trouble img {
		max-height: 180px;
	}
	.visit_price div {
		padding: 20px;
		margin: 20px 0;
	}
	.visit_price_h {
		font-size: 22px;
	}
	.visit_price_annotation {
		font-size: 16px;
	}
	.visit_price_list li {
		max-width: 340px;
		font-size: 18px;
	}
	.visit_price_text .pc_br {
		display: inline;
	}
	.visit_flow_img img {
		max-width: 180px;
	}
	.visit_flow_text {
		padding: 2rem 0;
	}
	.visit_contact_tel {
		font-size: 36px;
	}
	.visit_contact_tel img {
		width: 28px;
	}
	
	/* 採用情報ページ、応募確認ページ */
	.recruit_h2_main {
		text-align: left;
		font-size: 30px;
	}
	.recruit_h2 {
		font-size: 30px;
	}
	.recruit_point h3 {
		font-size: 19px;
	}
	.recruit_point, .recruit_link {
		display: block;
	}
	.recruit_tel h3 {
		font-size: 21px;
	}
	.recruit_tel a {
		font-size: 36px;
	}
	.recruit_tel img {
		width: 30px;
		margin-right: 0.5rem;
	}
	.table_form th, .table_form td, .table_confirm th,  .table_confirm td{
		display: block;
		width: 100%;
		text-align: left;
	}
	.table_form td input,  .table_form td select, .table_form td textarea {
		border-top: none;
	}
	.table_confirm td {
		margin-bottom: 8px;
	}
	
	/* フッター */
	footer li {
		margin: 0 15px 20px;
	}
	
	/* アーカイブページ */
	.blog_sidebar {
		margin-left: 0;
	}
	.blog_sidebar_title {
		text-align: left;
		padding-left: 10px;
	}

}

@media screen and (max-width:500px){

	/* FLEX解除、インライン改行用  */
	.df_500, .smt_br {
		display: block;
	}
	/* 共通 */
	.container {
		padding-left: 10px;
		padding-right: 10px;
	}
	/* 在宅訪問 */
	.visit_h2_first {
		font-size: 28px;
		padding: 10px;
	}
	.visit_h2_sub .pc_br {
		display: inline;
	}

}
