@charset "UTF-8";

/*
Theme Name: 2021mj_hana
Description: 2021mj_hana
Theme URI: https://
Author: https://
Author URI: https://
Version: 1.0.0
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

@font-face {
	font-family: 'NotoSansJP-Light';
	font-family: 300;
	src: url('fonts/Noto_Sans_JP/NotoSansJP-Light.otf') format('opentype');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSansJP-Regular';
	font-family: 400;
	src: url('fonts/Noto_Sans_JP/NotoSansJP-Regular.otf') format('opentype');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSansJP-Medium';
	font-family: 500;
	src: url('fonts/Noto_Sans_JP/NotoSansJP-Medium.otf') format('opentype');
	font-display: swap;
}
@font-face {
	font-family: 'NotoSansJP-Bold';
	font-family: 700;
	src: url('fonts/Noto_Sans_JP/NotoSansJP-Bold.otf') format('opentype');
	font-display: swap;
}
@font-face {
	font-family: 'BubblerOne-Regular';
	src: url(fonts/Bubbler_One/BubblerOne-Regular.ttf) format('truetype');
	font-display: swap;
}
.noto_L {
	font-family: 'NotoSansJP-Light';
}
.noto_R {
	font-family: 'NotoSansJP-Regular';
}
.noto_M {
	font-family: 'NotoSansJP-Medium';
}
.noto_B {
	font-family: 'NotoSansJP-Bold';
}
.bub {
	font-family: 'BubblerOne-Regular';
}

* {
	font-size: inherit;
	line-height: inherit;
}
*, *:before, *:after {
	box-sizing: inherit;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
}
body {
	color: #251E1F;
	font-size: 16px;
	line-height: 1.8;
	font-family: 'NotoSansJP-Light', sans-serif;
	font-weight: normal;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	vertical-align: middle;
}
p {
	margin:0 0 1.5em 0;
	padding: 0;
}
p:last-child {
	margin: 0;
}
p span {
	font-family: 'KleeOne-Regular', sans-serif;
	font-weight: normal;
}

@media screen and (max-width: 768px) {
	body {
		font-size: 16px;
	}
}
@media screen and (max-width: 320px) {
	body {
		font-size: 15px;
	}
}

/****************************************
 * リンク
*****************************************/

a {
	color: #251E1F;
	text-decoration: none;
	transition: all .3s ease;
	word-break: break-all;
}
a:hover {
	opacity: .7;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}

/*single テキストリンク
*****************************************/
#single .contents_textbox a,
#page .contents a {
	text-decoration: underline;
}

/* 別ウィンドウリンク
*****************************************/
a.tab {
	display: inline-block;
	position: relative;
	padding-right: 25px;
	line-height: 1;
}
a.tab:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 3px;
	background: url(images/common/icon-mini_tab.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 18px;
	height: 18px;
}

/* メインボタン
*****************************************/
a.circle {
	display: inline-block;
	position: relative;
	text-decoration: none;
	padding: 20px 60px 20px 38px;
	margin: 0 3px;
	background: #ed6756;
	border-radius: 50px;
	color: #FFF;
	line-height: 1;
	transition: background-color .3s, box-shadow .3s;
}
a.circle:after {
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 26px;
	width: 10px;
	height: 10px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}
a.circle:hover {
	opacity: 1;
	box-shadow: 0px 0px 16px -6px rgb(0 0 0 / 60%);
}




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

/****************************************
 * h要素
*****************************************/
h1, h2, h3, h4, h5, h6 {
	font-weight: 600;
	margin: 0;
	text-align: center;
	font-family: sans-serif;
}

.main_title {
	font-size: 2.6em;
	line-height: 1.6;
}
.main_title span {
	display: block;
	font-size: .5em;
	color: #FFF;
	margin-top: 26px;
	position: relative;
	z-index: 1;
}
.main_title span:before {
	content: '';
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	background: url(images/common/main_title_span_bg.png) no-repeat;
	background-position: center;
	background-size: contain;
	width: 222px;
	height: 50px;
	z-index: -1;
}


@media screen and (max-width: 560px) {
	.main_title span {
		font-size: .7em;
		margin-top: 18px;
	}
}
@media screen and (max-width: 430px) {
	.main_title span {
		margin-top: 12px;
	}
}

/****************** h1 ******************/

h1 {
	
}

h1.main_title {
	font-size: 2em;
	text-align: left;
	padding: 60px 0 0 60px;
	line-height: 1.6;
}
h1.main_title span {
	display: block;
	font-size: .5em;
	margin-top: 1em;
	position: relative;
	padding-left: 45px;
}
h1.main_title span:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 15px;
	top: .6em;
	width: 15px;
	height: 8px;
	background: #1F583B;
}

@media screen and (max-width: 560px) {
	h1.main_title {
		font-size: 1.6em;
		padding: 45px 0 0 45px;
	}
	
}
@media screen and (max-width: 430px) {
	h1.main_title {
		font-size: 1.3em;
		padding: 30px 0 0 0;
	}
	h1.main_title span {
		font-size: .7em;
	}
}

/****************** h2 ******************/

h2 {
	font-size: 2em;
	margin-bottom: 60px;
}


/****************** h3 ******************/

h3 {
	text-align: left;
	font-size: 1.3em;
	margin-bottom: 30px;
}
h3.aid_title {
	margin-bottom: 15px;
	text-align: left;
	font-size: 1.3em;
	padding-left: 30px;
}


@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width: 559px) {
	.front-page h2 {
		font-size: 1.6em;
	}
	#page h2 {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 480px) {
	h2 {
		margin-bottom: 30px;
	}
	.front-page h2 {
		font-size: 1.3em;
	}
	#page h2 {
		font-size: 1.3em;
	}
	h3 {
		font-size: 1em;
	}
}
@media screen and (max-width: 430px) {
	
}


/****************************************
リスト
*****************************************/
table {
	table-layout: fixed;
}
dl,
dt,
dd {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul ul{
	margin-left: 1em;
}

/****************************************
 * レスポンシブ
*****************************************/

@media screen and (min-width: 1025px) {/*1025px以上で*/
	.tb {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width:1024px) {/*1024px以下で*/
	.tb {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 480px) {/*480px以下で*/
	.tb {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}


/****************************************
 * 上部固定ヘッダー
*****************************************/

.fix_header {
	background: #ed6756;
	color: #FFF;
	position: fixed;
	top: -120px;
	left: 0;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	opacity:0;
	z-index: 1000;
	box-shadow: 0 0 6px rgb(0 0 0 / 20%);
}
.fix_header_contents {
	width: 100%;
	margin: 0 auto;
}
.fix_header_contact {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}
.fix_header_contact .logo {
	position: absolute;
	left: 30px;
}
.fix_header_contact .nav {
	
}
.fix_header_contact .contact {
	
}
.fix_header_contact .contact a.contact_button {
	display: block;
	background: #FFF;
	color: #000;
	padding: 15px 20px;
}
.fix_header_contact .contact a.contact_button span {
	display: block;
	font-size: .8em;
}

.fix_header nav#fix_header {
	
}
.fix_header ul {
	list-style: none;
	margin: 15px 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
}
.fix_header ul li {
	font-size: 1em;
	position: relative;
}
.fix_header li a,
.fix_header li a:visited {
	color: #FFF;
	display: block;
	padding: 0 22px;
	text-align: center;
}
.fix_header li:last-child{
	margin-right:0;
}
.fix_header li a span {
	display: block;
	font-size: .8em;
	font-family: 'BubblerOne-Regular';
}

@media screen and (max-width: 1024px) {
	.fix_header_contents {
		width: 100%;
	}
}
@media screen and (max-width: 568px) {
	.fix_header {
		display: none;
	}
}

/****************************************
 * ヘッダー
*****************************************/

/*上部*/
header.front-page_header {
	
}


header .header_top {
	background: #FFF;
	padding: 0 30px;
	position: relative;
}
header .header_top .inner {
	overflow: hidden;
	position: relative;
}
header .logo {
	margin: 0;
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

header .header_nav {
	position: relative;
	height: 90px;
}
header .header_nav:before {
	content: '';
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	background: url(images/front-page/header_nav_bottom.png) no-repeat;
	background-size: cover;
	background-position: 50% 0;
	width: 100%;
	height: 40px;
}

header .header_image {
	width: 100%;
	height: 700px;
	background: url(images/front-page/header_bg.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	z-index: -1;
}

@media screen and (max-width: 1024px) {
	header .header_top .inner {
		padding: 0 30px;
	}
	header nav.header_nav {
		width: 640px;
	}
	header nav.header_nav ul {
		flex-wrap: wrap;
	}
}
@media screen and (max-width: 768px) {
	header nav.header_nav {
		width: 540px;
	}
	
}
@media screen and (max-width: 559px) {
	header .header_top {
		padding: 12px 0;
	}
	header .header_top .inner,
	header .header_right {
		height: 40px;
	}
	header .header_right .header_contact,
	header nav.header_nav {
		display: none;
	}
	
}
@media screen and (max-width: 480px) {
	
	
}
@media screen and (max-width: 430px) {
	
	
}
@media screen and (max-width: 320px) {
	
	
}

/****************************************
 * スマホナビゲーション
*****************************************/

#few_nav {
	display: none;
}

@media screen and (max-width: 568px) {
	#few_nav {
		display: block;
	}
	#few_nav a {
		display: block;
		color: #222;
		padding: 10px;
		font-size: 1em;
	}
	#few_nav_body_area {
		background: #FFF;
		color: #222;
		height: 100%;
		padding: 30px;
		position: fixed;
		right: -280px;
		top: 0;
		transition: transform 0.3s linear 0s;
		width: 280px;
		z-index: 1000;
	}
	#few_nav_background {
		background: #000;
		display: block;
		height: 100%;
		opacity: 0;
		position: fixed;
		right: 0;
		top: 0;
		transition: all .3s linear 0s;
		width: 100%;
		z-index: -1;
	}
	#few_nav_icon {
		background: #5498ca;
		color: #FFF;
		cursor: pointer;
		display: block;
		height: 64px;
		line-height: 64px;
		position: fixed;
		right: 0;
		text-align: center;
		top: 0;
		width: 60px;
		transition: all 0.3s linear 0s;
		z-index: 1000;
	}
	#few_nav_icon span.few_nav_button {
		display: block;
		font-size: 12px;
		font-weight: bold;
		background: #5498ca;
		color: #FFF;
	}
	input#switching {
		display: none;
	}
	input#switching:checked ~ #few_nav_body_area,
	input#switching:checked ~ #few_nav_icon {
		color: #222;
		background: #FFF;
		transform: translate(-280px);
	}
	input#switching:checked ~ #few_nav_background {
		opacity: .7;
		z-index: 999;
	}
	
	#few_nav ul#menu-sp-nav {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	#few_nav ul#menu-sp-nav li {
		border-bottom: 1px dotted #ededed;
		position: relative;
	}
	#few_nav ul#menu-sp-nav li:first-child {
		border-top: 1px dotted #ededed;
	}
	#few_nav ul#menu-sp-nav li:before {
		content: '';
		width: 10px;
		height: 10px;
		border: 0;
		border-top: solid 1px #000;
		border-right: solid 1px #000;
		position: absolute;
		top: 45%;
		right: 15px;
		margin-top: -3px;
		transform: rotate(45deg);
	}
	
	
	#few_nav a.phone {
		padding: 0;
		margin-top: 15px;
	}
	p.few_nav_phone {
		margin-top: 8px;
		color: #FFF;
		text-align: center;
		font-family: 'Noto Sans JP';
		font-weight: 700;
	}
	p.few_nav_phone span {
		display: block;
		font-size: .8em;
	}
}
@media screen and (max-width: 430px) {
	padding: 30px;
}
@media screen and (max-width: 380px) {
	#few_nav a {
		padding: 12px 0;
	}
	#few_nav_body_area {
		padding: 20px;
		right: -220px;
		width: 220px;
	}
	input#switching:checked ~ #few_nav_body_area,
	input#switching:checked ~ #few_nav_icon {
		transform: translate(-220px);
	}
}

/****************************************
 * レイアウト
*****************************************/

.inner {
	padding: 0 30px;
	width: 1260px;
	margin: 0 auto;
}
.inner__nr {
	padding: 0 30px;
	width: 980px;
	margin: 0 auto;
}
.inner__wd {
	padding: 0 30px;
	width: 100%;
}
main {
	width: 100%;
	margin: 0 auto;
}
article {
	overflow: hidden;
	width: 100%;
	background: #EFF5FA;
	padding-bottom: 60px;
}
article.front-page {
	overflow: visible;
	background: #FFF;
	padding-bottom: 0;
}
article#page {
	background: #FFF;
	padding-bottom: 0;
}
article#archive,
article#single {
	background: #FFF;
}
aside {
	float: left;
	width: 300px;
	overflow: hidden;
}
section {
	padding: 90px 0;
}
.contents {
	padding: 0;
	margin: 60px auto 0;
}



@media screen and (max-width: 1024px) {
	.inner {
		width: 100%;
	}
	.inner__nr {
		width: 100%;
	}
	.contents {
		padding: 60px 0;
	}
}
@media screen and (max-width: 768px) {
	section {
		padding: 75px 0;
	}
}
@media screen and (max-width: 559px) {
	.inner {
		padding: 0 30px;
	}
	section {
		padding: 60px 0;
	}
	section.contents {
		padding: 30px 0;
	}
}
@media screen and (max-width: 430px) {
	.inner {
		padding: 0 20px;
	}
	section {
		padding: 45px 0;
	}
	section.contents {
		padding: 30px 0 45px;
	}
}


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

}

/****************************************
 * ナビゲーション（nav#general）
*****************************************/

nav#general {
	position: absolute;
	top: 45px;
	z-index: 1;
}
nav#general ul.menu {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
	margin: 0;
}
nav#general ul.menu > li {
	
	text-align: center;
}
nav#general ul.menu > li:nth-child(3) {
	margin-right: 150px;
}
nav#general ul.menu > li:nth-child(4) {
	margin-left: 150px;
}
nav#general ul.menu > li > a {
	display: block;
	position: relative;
}
nav#general ul.menu > li > a:hover {
	opacity: 1;
	color: #251E1F;
}

@media screen and (max-width: 480px) {
	nav#general ul.menu > li {
		width: calc(100%/2);
	}
	nav#general ul.menu > li:first-child {
		display: none;
	}
	nav#general ul.menu > li > a {
		padding-top: 5px;
	}
}

/****************************************
 * ナビゲーション
 * cat-general
*****************************************/

/* ハンバーガーメニューの場所 */
#cat-nav {
	position: fixed;
	right: 15px;
	top: 15px;
	z-index: 999;
}
/* ハンバーガーの場所の中 */
#cat-nav nav#cat-nav-body {
	position: relative;
	padding: 15px;
}
#cat-nav nav#cat-nav-body input.cat-nav-unshown {
	display: none;
}
#cat-nav nav#cat-nav-body label#cat-nav-open {
	display: inline-block;
	width: 25px;
	height: 20px;
	vertical-align: middle;
}
/*ハンバーガー ここから*/
#cat-nav nav#cat-nav-body label#cat-nav-open span,
#cat-nav nav#cat-nav-body label#cat-nav-open span:before,
#cat-nav nav#cat-nav-body label#cat-nav-open span:after {
	position: absolute;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background: #251E1F;
	display: block;
	content: '';
	cursor: pointer;
}
#cat-nav nav#cat-nav-body label#cat-nav-open span:before {
	bottom: -8px;
}
#cat-nav nav#cat-nav-body label#cat-nav-open span:after {
	bottom: -16px;
}
/*ハンバーガー ここまで */
/*閉じる用の薄黒カバー*/
#cat-nav nav#cat-nav-body label#cat-nav-close {
	display: none;/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0;/*全体に広がるように*/
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}
/*開いた時のメニュー*/
#cat-nav nav#cat-nav-body .cat-nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 80%;
	padding: 30px;
	max-width: 330px; /*最大幅調整 */
	height: 100%;
	background: #FFF;
	transition: .3s ease-in-out;
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
}
/*チェックが入ったら表示*/
#cat-nav #cat-nav-input:checked ~ #cat-nav-close {
	display: block;/*カバーを表示*/
	opacity: .6;
}
#cat-nav #cat-nav-input:checked ~ .cat-nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);/*中身を表示（右へスライド）*/
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
#cat-nav a {
	display: block;
	padding: 13px;
	color: #902940;
}
#cat-nav ul#menu-sp-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}
#cat-nav ul#menu-sp-nav li {
	font-size: 1.15em;
	border-bottom: 1px solid #3D3233;
}
#cat-nav .freearea {
	margin-top: 30px;
	text-align: center;
}
#cat-nav .freearea a.tel {
	padding: 0;
	font-size: 1.6em;
	position: static;
}
#cat-nav .freearea a.mail {
	padding: 0;
	font-size: 1em;
	margin-top: 5px;
	position: static;
}

/****************************************
 * パンくず
*****************************************/

.breadcrumbs_area {
	padding: 30px 0;
	border-bottom: 1px solid #fafafa;
}
.breadcrumbs {
	font-size: .7em;
}

@media screen and (max-width: 560px) {
	.breadcrumbs {
		overflow-x: auto;
		white-space: nowrap;
	}
}
@media screen and (max-width: 560px) {
	.breadcrumbs_area {
		padding: 20px 0;
	}
}

/****************************************
 * p-contact.php
*****************************************/

#p-contact {
	padding: 0;
}
#p-contact .p-contact_box {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	line-height: 1;
}
#p-contact .p-contact_box .googlemap {
	width: calc(100%/2);
}
#p-contact .p-contact_box .information {
	width: calc(100%/2);
	background: #ededed;
	display: flex;
	align-items: center;
}
#p-contact .p-contact_box .information .information_outline {
	width: 100%;
	margin: 25px;
	border: 1px solid #FFF;
}
#p-contact .p-contact_box .information .information_text {
	width: 100%;
	padding: 45px;
	line-height: 1.8;
}
#p-contact p.office {
	font-size: 1.2em;
	margin-bottom: 12px;
}
#p-contact p.address {
	margin-bottom: 12px;
}
#p-contact p.address span {
	display: block;
}
#p-contact p.access {
	font-weight: bold;
}
#p-contact .contact_box {
	text-align: center;
}

/* メインボタン（大）
*****************************************/
a.square_big {
	width: 360px;
	position: relative;
	text-decoration: none !important;
	display: inline-block;
	padding: 0 3em;
	color: #FFF;
	line-height: 60px;
	border: 1px solid #fff;
	background: #ff3cac;
	background-image: -webkit-gradient( linear, left top, right top, color-stop(40%, #ff3cac), to(#562b7c) );
	background-image: -webkit-linear-gradient(left, #ff3cac 40%, #562b7c 100%);
	background-image: linear-gradient(90deg, #ff3cac 40%, #562b7c 100%);
}
a.square_big:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	-webkit-transition: all .5s;
	transition: all .5s;
	background-image: -webkit-gradient(linear, left top, right top, from(#ff3cac), color-stop(#562b7c), to(#2b86c5));
	background-image: -webkit-linear-gradient(left, #ff3cac, #562b7c, #2b86c5);
	background-image: linear-gradient(90deg, #ff3cac, #562b7c, #2b86c5);
}
a.square_big span {
	display: block;
	position: relative;
	z-index: 1;
}
a.square_big span.bottom {
	margin-top: -30px;
	font-size: .8em;
}
a.square_big:hover {
	color: #FFF;
	opacity: 1;
}
a.square_big:hover:after {
	opacity: 0;
}

@media screen and (max-width: 1024px) {
	#p-contact .p-contact_box {
		padding: 45px;
	}
	#p-contact p.btn_tel_text_phone {
		padding-left: 20px;
	}
}
@media screen and (max-width: 768px) {
	#p-contact {
		padding: 60px 0 0;
	}
	#p-contact .p-contact_top {
		width: 100%;
	}
	#p-contact .p-contact_top .p-contact_top_box {
		flex-direction: column;
	}
	#p-contact .p-contact_top .p-contact_top_box .googlemap {
		width: 100%;
		padding: 0;
		order: 2;
	}
	#p-contact .p-contact_top .p-contact_top_box .information {
		width: 100%;
		padding: 0;
		margin-bottom: 20px;
		text-align: center;
		order: 1;
	}
	#p-contact .p-contact_top .p-contact_top_box .information p.access {
		display: inline-block;
	}
	
	#p-contact .p-contact_box {
		padding: 45px;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		flex-direction: column;
	}
	#p-contact p.btn_tel_text_phone {
		font-size: 2.2em;
		padding-left: 70px;
		display: inline-block;
	}
	#p-contact p.btn_tel_text_phone:before {
		width: 32px;
		height: 32px;
	}
	#p-contact .p-contact_box .p-contact_phone {
		width: 100%;
	}
	#p-contact .p-contact_box .p-contact_mail {
		width: 100%;
		margin-top: 10px;
	}
}
@media screen and (max-width: 559px) {
	#p-contact {
		padding: 45px 0 0;
		background: url(images/p-contact/bg_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center bottom;
	}
	#p-contact a.btn_mail {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	#p-contact .p-contact_box {
		padding: 30px;
	}
}
@media screen and (max-width: 430px) {
	#p-contact .p-contact_box {
		padding: 30px 20px;
	}
	#p-contact p.btn_tel_text_phone {
		font-size: 2em;
		padding-left: 55px;
	}
	#p-contact p.btn_tel_text_phone:before {
		left: 0;
		width: 30px;
		height: 30px;
	}
}
@media screen and (max-width: 320px) {
	#p-contact .p-contact_area .p-contact_box .memo {
		font-size: .9em;
		margin-bottom: 8px;
	}
}

/****************************************
 * 共通
*****************************************/

/*ビジュアル
*****************************************/
.page_topimage {
	padding: 0;
	height: 260px;
	background: url(images/page_topimage_test.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
}

/*見出し
*****************************************/
.page_topimage h1.topimage_title {
	text-align: center;
	font-size: 2.6em;
	color: #FFF;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	margin: auto;
	transform: translateY(-50%) translateX(0);
}
.page_topimage h1.topimage_title span {
	display: block;
	text-transform: uppercase;
	font-size: .5em;
	font-weight: bold;
	position: relative;
	margin-top: 12px;
}
.page_topimage h1.topimage_title span:before {
    content: '';
    position: absolute;
    top: -7px;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    background: url(images/common/main_title_span_bg.png) no-repeat;
    background-position: center;
    background-size: contain;
    width: 222px;
    height: 50px;
    z-index: -1;
}


.pagecontents_title {
	font-size: 2em;
	text-align: center;
}
.pagecontents_title span {
	display: block;
	text-transform: uppercase;
	font-size: .4em;
	font-weight: bold;
}

/*ボタンボックス
*****************************************/
.button_box {
	text-align: center;
	margin-top: 45px;
}

/*アンダーライン
*****************************************/
.marker {
	background-image: -webkit-linear-gradient(left, rgba(255,235,6,0) 50%, rgba(255,235,6,0.75) 50%);
	background-image: -moz-linear-gradient(left, rgba(255,235,6,0) 50%, rgba(255,235,6,0.75) 50%);
	background-image: -o-linear-gradient(left, rgba(255,235,6,0) 50%, rgba(255,235,6,0.75) 50%);
	background-image: -ms-linear-gradient(left, rgba(255,235,6,0) 50%, rgba(255,235,6,0.75) 50%);
	background-image: linear-gradient(left, rgba(255,235,6,0) 50%, rgba(255,235,6,0.75) 50%);
}
.marker_mv {
	background-size: 200% 14px;
	background-position: 0 14px;
	background-repeat: repeat-x;
	transition: all 2s ease;
}
.marker_mv.marker_mv_action {
	background-position: -100% 14px;
}



/****************************************
 * トップページ
*****************************************/

/* トップイメージ
*****************************************/
.topimage {
	padding: 0;
}

/* メッセージ
*****************************************/
.greeting {
	background: #FFF;
	position: relative;
	padding: 90px 0 120px;
}
.greeting:before {
	content: '';
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	background: url(images/front-page/section_top_greeting.png) no-repeat;
	background-position: 50% 0;
	width: 100%;
	height: 40px;
	z-index: 1;
}
.greeting:after {
	content: '';
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	background: url(images/front-page/section_bottom_greeting.png) no-repeat;
	background-position: 50% 0;
	width: 100%;
	height: 40px;
	z-index: 1;
}
.greeting .greeting_box {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: center;
}
.greeting .greeting_image {
	width: 500px;
}
.greeting .greeting_text {
	width: 600px;
}


@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width: 768px) {
	
}
@media screen and (max-width: 560px) {
	
}
@media screen and (max-width: 480px) {
	
}
@media screen and (max-width: 430px) {
	
}

/* 受講生の声
*****************************************/
.voice {
	background: url(images/front-page/voice_bg.png) repeat;
}

#voice_slider ul.slick-dots {
	width: 300px;
	font-size: 0;
	margin: 30px auto 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: stretch;
}
#voice_slider ul.slick-dots li {
	display: inline-block;
	cursor: pointer;
	width: 15px; 
	height: 15px;
}
#voice_slider ul.slick-dots li.slick-active button {
	background: #f2ce1e;
}
#voice_slider button {
	width: 15px;
	height: 15px;
	border-radius: 20px;
	padding: 0;
	box-shadow: none;
	cursor: pointer;
	background: #9ea09f;
}

/*ボタン*/
#voice_slider .slick_prev, 
#voice_slider .slick_next {
	position: absolute;
	cursor: pointer;
	z-index: 1;
}
#voice_slider .slick_prev {
	top: 50%;
	transform: translateY(-50%);
	left: calc(50% - 28rem);
}
#voice_slider .slick_next {
	top: 50%;
	transform: translateY(-50%);
	right: calc(50% - 28rem);
}
/*　ボタン ここまで */

#voice_slider div a {
	width: 800px;
	display: block;
	background: #FFF;
	padding: 60px;
	border-radius: 24px
}
#voice_slider div a:hover {
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
}
#voice_slider .icon_name {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#voice_slider .icon_name .voice_image {
	width: 150px;
}
#voice_slider .icon_name .voice_image img {
	margin-bottom: 20px;
}
#voice_slider .icon_name .voice_image img:hover {
	opacity: 1;
}
#voice_slider .icon_name .voice_image span.voice_name {
	font-size: .9em;
}
#voice_slider .icon_name .voice_image span.voice_age {
	font-size: .9em;
}
#voice_slider .icon_name .voice_image span.voice_class {
	display: block;
	font-size: .9em;
}
#voice_slider .text {
	width: 480px;
	margin-left: 45px;
	margin-top: -15px;
}
#voice_slider .icon_name .question {
	color: #ed6756;
	font-weight: bold;
	margin-top: 15px;
}
#voice_slider .icon_name .answer {
	
}

/* 中央を大きくする */
.voice_item {
	margin: 0 30px;
}
.slick-list {
	padding: 8px 0 !important;
}
.slick-slide {
	border-radius: 24px;
	transition: .3s ease;
	background: #FFF;
}
.slick-current {
	transform: scale(1);
}
/* 中央を大きくする　ここまで */


@media screen and (max-width: 768px) {
	#voice_slider ul.slick-dots {
		width: 280px;
	}
	#voice_slider ul.slick-dots li,
	#voice_slider button {
		width: 13px;
		height: 13px;
	}
}
@media screen and (max-width: 559px) {
	#voice_slider ul.slick-dots {
		width: 220px;
	}
	#voice_slider ul.slick-dots li,
	#voice_slider button {
		width: 6px;
		height: 6px;
	}
}
@media screen and (max-width: 430px) {
	#voice_slider .slick-next,
	#voice_slider .slick-prev {
		font-size: 1.6em;
	}
}

/* 特徴
*****************************************/
.feature {
	background: #fbe1df;
	position: relative;
}
.feature:before {
	content: '';
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	background: url(images/front-page/section_top_feature.png) no-repeat;
	background-size: cover;
	background-position: 50% 0;
	width: 100%;
	height: 40px;
}
.feature:after {
	content: '';
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	background: url(images/front-page/section_bottom_feature.png) no-repeat;
	background-size: cover;
	background-position: 50% 0;
	width: 100%;
	height: 40px;
	z-index: 1;
}
.feature .feature_box {
	
}
.feature ul.feature_list {
	padding: 0;
	counter-reset: number;
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.feature ul.feature_list li {
	width: calc(100%/3 - 15px);
}
.feature dl {
	
}
.feature dt {
	
}
.feature dd {
	padding: 0 25px;
}
.feature .feature_title {
	text-align: center;
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	
}
@media screen and (max-width: 560px) {
	
}
@media screen and (max-width: 480px) {
	
}
@media screen and (max-width: 430px) {
	
}


/* コース
*****************************************/
.course {
	background: url(images/front-page/course_bg.jpg) no-repeat;
	background-position: center;
	position: relative;
}
.course:before {
	content: '';
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	background: url(images/front-page/section_top_feature.png) no-repeat;
	background-size: cover;
	background-position: 50% 0;
	width: 100%;
	height: 40px;
}
.course .course_box {
	display: flex;
	
}
.course img.course1,
.course img.course2 {
	display: block;
	width: calc(100%/2);
}
.course img.course_image1,
.course img.course_image2 {
	display: block;
}
.course img.course_image1 {
	border-radius: 24px 0 0 24px;
}
.course img.course_image2 {
	border-radius: 0 24px 24px 0;
}

/* 教室
*****************************************/
.class {
	background: url(images/front-page/news_bg.png) repeat;
}
.class .class_box {
	
}







/****************************************
 * Gutenberg（グーテンベルク）
*****************************************/

.wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.screen-reader-text {}

.wp-block-quote {
	background: #fafafa;
	padding: 15px 15px 15px 1.3em !important;
}
figure.wp-block-table {
	padding: 0;
	width: 100%;
	border-collapse: collapse;
}
figure.wp-block-table table th,
figure.wp-block-table table td {
	border-bottom: 1px #999 solid;
	padding: 30px 15px;
}
figure.wp-block-table table th {
	width: 30%;
}
.wp-block-group {
	margin-top: 60px;
}
figure {
	display: block;
	margin: 0;
}
figcaption {
	line-height: 1.5;
	font-size: .8em;
	text-align: center;
	margin-top: 15px;
}

@media screen and (max-width: 559px) {
	.wp-block-media-text__content {
		padding: 0 !important;
		margin-top: 45px;
	}
}
@media screen and (max-width: 480px) {
	.wp-block-media-text__content,
	.wp-block-group {
		margin-top: 30px;
	}
}
@media screen and (max-width: 430px) {
	.wp-block-group {
		margin-top: 30px;
	}
	figure.wp-block-table table th {
		width: 25%;
	}
	figure.wp-block-table table th,
	figure.wp-block-table table td {
		padding: 15px;
	}
}
@media screen and (max-width: 320px) {
	.wp-block-media-text__content {
		margin-top: 20px;
	}
}

/****************************************
 * 店舗・アクセス
*****************************************/

#office .office_box {
	margin-top: 60px;
}

#office table.company {
	width: 100%;
}
#office table.company,
#office table.company th,
#office table.company td {
	border-collapse: collapse;
	font-family: 'KleeOne-Regular', sans-serif;
}
#office table.company tr {
	border-bottom: 1px solid #999;
}
#office table.company tr:first-child {
	border-top: 1px solid #999;
}
#office table.company th {
	width: 320px;
	background: #f1f1f1;
}
#office table.company td {
	padding: 30px;
}
#office table.company td.hour span {
	margin-left: 20px;
}

#office ul.office_member,
#office ul.office_contact,
#office ul.office_works {
	list-style: none;
	padding: 0;
	margin: 0;
}
#office ul.office_contact li.phone {
	margin-right: 20px;
}
#office ul.office_contact li.phone,
#office ul.office_contact li.fax {
	display: inline-block;
}
#office ul.office_contact span {
	margin-right: 8px;
}

@media screen and (max-width: 768px) {
	#map .google_map {
		padding-bottom: 56.25%;
	}
}


/****************************************
 * 司法書士紹介
*****************************************/

@media screen and (max-width: 560px) {
	#introduce .inner {
		padding: 0;
	}
}

/* 見出し
*****************************************/
.introduce_title {
	position: relative;
	padding-left: 120px;
	margin-bottom: 45px;
}
.introduce_title:before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #5398c9;
	width: 105px;
	height: 3px;
	border-radius: 6px;
}
.introduce_title span {
	display: block;
	font-size: .6em;
	font-weight: bold;
}

@media screen and (max-width: 430px) {
	.introduce_title {
		padding-left: 45px;
	}
	.introduce_title:before {
		width: 120px;
		left: -85px;
	}
}

/* メッセージ（トップページ共通）
*****************************************/
.message_box {
	position: relative;
}
.message_image {
	width: 920px;
	margin-left: -220px;
	margin-bottom: 60px;
}
.message_image img {
	border-radius: 12px;
}
.message_contenst {
	background: #FFF;
	border-radius: 12px;
	position: absolute;
	top: 90px;
	right: 0;
	width: 860px;
	max-height: 540px;
	margin-top: 0;
	padding: 64px 64px 74px;
}
.message_text {
	overflow-y: scroll;
	max-height: 300px;
	padding-right: 12px;
}
.message_title {
	font-weight: bold;
	font-size: 1.3em;
	line-height:1.6;
}
/*スクロールバー*/
.message_text::-webkit-scrollbar {
	width: 16px;
}
.message_text::-webkit-scrollbar-track {
	background: #fafafa;
}
.message_text::-webkit-scrollbar-thumb {
	background: #5498ca;
	border-radius: 20px;
}

@media screen and (max-width: 1024px) {
	.message_image {
		margin-bottom: 130px;
	}
	.message_contenst {
		top: 150px;
	}
}
@media screen and (max-width: 768px) {
	.message_box {
		margin-bottom: 346px;
	}
	.message_image {
		width: 100%;
		margin: 0 auto;
	}
	.message_contenst {
		width: 90%;
		top: 260px;
		left: 0;
		right: 0;
		margin: auto;
		padding: 60px;
	}
}
@media screen and (max-width: 560px) {
	.message .inner {
		padding: 0;
	}
	.message_box {
		margin-bottom: auto;
	}
	.message_image img {
		border-radius: 0;
	}
	.message_contenst {
		position: inherit;
		left: auto;
		right: auto;
		min-height: 100%;
		padding: 45px;
		background: #FFF;
		top: auto;
		margin: -60px auto 0;
	}
}
@media screen and (max-width: 480px) {
	.message_contenst {
		padding: 30px;
	}
}
@media screen and (max-width: 430px) {
	.message_contenst {
		padding: 20px;
	}
}

/* プロフィール
*****************************************/
.profile {
	background: #FAFAFA;
	padding: 180px 60px 60px 60px;
	margin-top: -90px;
	border-radius: 12px;
}
.profile table.profile_table {
	width: 680px;
	margin-left: auto;
	font-family: 'KleeOne-Regular', sans-serif;
}
.profile table.profile_table,
.profile table.profile_table th,
.profile table.profile_table td {
	border-collapse: collapse;
	border: 1px solid #ededed;
}
.profile table.profile_table th {
	width: 180px;
	text-align: left;
	background: #ededed;
	padding: 20px;
}
.profile table.profile_table td {
	padding: 20px;
}
.profile table.profile_table ul {
	list-style: none;
	padding: 0;
}
.profile .profile_inner {
	width: 100%;
}

@media screen and (max-width: 1024px) {
	.profile {
		padding: 155px 60px 60px 60px;
	}
}
@media screen and (max-width: 768px) {
	.profile table.profile_table {
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	.profile {
		padding: 155px 30px 45px 30px;
	}
	.profile .inner__nr {
		padding: 0;
	}
	.profile table.profile_table {
		width: 100%;
	}
	.profile table.profile_table th {
		width: 160px;
	}
}
@media screen and (max-width: 480px) {
	.profile table.profile_table th {
		width: 140px;
	}
}
@media screen and (max-width: 430px) {
	.profile {
		padding: 140px 20px 45px 20px;
	}
	.profile table.profile_table,
	.profile table.profile_table th,
	.profile table.profile_table td {
		display: block;
		width: 100%;
	}
	.profile table.profile_table th,
	.profile table.profile_table td {
		padding: 10px 15px;
	}
	.profile table.profile_table th {
		font-size: .8em;
	}
}

/*経歴
*****************************************/
.career {
	margin-top: 60px;
}
.career ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.career ul li {
	position: relative;
	padding: 0;
	margin: 30px 0 0 0;
}
.career ul li:before {
	content: '';
	position: absolute;
	left: 40px;
	top: 20px;
	background: #5398c9;
	width: 1px;
	height: 100%;
	min-height: 160px;
}
.career ul li:last-child:before {
	content: none;
}
.career ul li .timeline {
	min-height: 80px;
	margin-left: 40px;
	padding: 0 0 0 30px;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
.career ul li .timeline .time {
	position: absolute;
	top: 0;
	left: 0;
	width: 80px;
	height: 80px;
	border-radius: 80px;
	background: #5398c9;
	color: #FFF;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: space-around;
}
.career ul li .timeline .timeline_content {
	padding: 0 0 0 60px;
	width: 100%;
}

@media screen and (max-width: 1024px) {
	.career {
		padding: 0 60px 60px 60px;
	}
}
@media screen and (max-width: 560px) {
	.career {
		padding: 0 30px 45px 30px;
	}
	.career .inner__nr {
		padding: 0;
	}
	.career ul li:before {
		min-height: 160px;
	}
}
@media screen and (max-width: 480px) {
	.career ul li .timeline .timeline_content {
		padding: 0 0 0 45px;
	}
}
@media screen and (max-width: 430px) {
	.career {
		padding: 0 20px 45px 20px;
	}
	.career ul li .timeline .timeline_content {
		padding: 0 0 0 30px;
	}
}
@media screen and (max-width: 380px) {
	.career ul li .timeline .time {
		width: 60px;
		height: 60px;
		border-radius: 60px;
	}
	.career ul li:before {
		left: 30px;
	}
	.career ul li .timeline .timeline_content {
		padding: 0 0 0 5px;
	}
}

/*経歴
*****************************************/
.recommend {
	margin-top: 60px;
	background: #fafafafa;
	border-radius: 12px;
}
.recommend .recommend_box {
	padding: 30px;
}

@media screen and (max-width: 1024px) {
	.recommend {
		margin: 0 60px;
	}
}
@media screen and (max-width: 560px) {
	.recommend {
		margin: 0 30px;
	}
	.recommend .recommend_box {
		padding: 30px 0;
	}
}

/****************************************
 * FAQ（よくある質問）
*****************************************/

#faq .tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#faq .tabs .tab_item {
	width: 180px;
	padding: 0;
	line-height: 60px;
	color: #565656;
	background: #ededed;
	text-align: center;
	display: block;
	transition: all .7s ease;
}
#faq .tab_item:hover {
	opacity: 0.75;
	cursor: pointer;
}
#faq label#tab01_nav {
	border-radius: 30px 0 0 30px;
}
#faq label#tab02_nav {
	border-radius: 0;
}
#faq label#tab03_nav {
	border-radius: 0 30px 30px 0;
}

#faq input[name="tab_item"] {
	display: none;
}
#faq .tab_content {
	display: none;
	width: 100%;
	padding: 60px;
	clear: both;
	overflow: hidden;
}
#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content {
	display: block;
	animation: show .7s linear 0s;
}
.tabs input#tab01:checked ~ label#tab01_nav,
.tabs input#tab02:checked ~ label#tab02_nav,
.tabs input#tab03:checked ~ label#tab03_nav {
	background: #5398c9;
	color: #FFF;
}

@keyframes show{
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}

@media screen and (max-width: 560px) {
	#faq .tabs .tab_item {
		width: calc(100%/3);
		font-size: .8em;
	}
}
@media screen and (max-width: 380px) {
	#faq .tabs .tab_item {
		width: auto;
	}
	#faq label#tab01_nav {
		width: 80px;
	}
	#faq label#tab02_nav {
		width: 80px;
	}
	#faq label#tab03_nav {
		width: 160px;
	}
}

/****************************************
 * お問い合わせ
*****************************************/

#contact .phone_box {
	max-width: 800px;
	text-align: center;
	padding: 30px;
	margin: 0 auto 60px;
	border-radius: 12px;
	background: #fafafa;
}
#contact .phone_box .phone_inbox {
	padding: 45px 30px 30px;
	border-radius: 12px;
	background: #ededed;
	position: relative;
}
#contact .phone_box .phone_inbox p.phone_text {
	font-family: sans-serif;
	background: #5498ca;
	text-align: center;
	border-radius: 30px;
	color: #fff;
	left: 50%;
	padding: 11px 76px;
	position: absolute;
	top: -40px;
	transform: translate(-50%);
	white-space: nowrap;
	font-size: 1.3em;
}
#contact .phone_box .phone_inbox p.phone_text:before {
	border-color: #5498ca transparent transparent transparent;
	border-style: solid;
	border-width: 10px 11px 0 11px;
	content: "";
	display: block;
	height: 0;
	left: calc(50% - 11px);
	position: absolute;
	top: 100%;
	width: 0;
}
#contact .phone_box .phone_inbox a.phone {
	font-size: 2em;
	position: relative;
	padding-left: 50px;
	text-decoration: none;
}
#contact .phone_box .phone_inbox a.phone:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(images/common/icon140_phone.png) no-repeat;
	background-position: center;
	background-size: 100%;
	width: 28px;
	height: 28px;
}
#contact .phone_box .phone_inbox p.phone_hour {
	margin: 0;
}
#contact .phone_box .phone_inbox p.phone_bottom {
	margin-top: 12px;
}
#contact .form_box {
	text-align: center;
	border: 1px solid;
	position: relative;
	margin-bottom: 60px;
}
#contact .form_box:before {
	content: "";
	position: absolute;
	top: -10px;
	left: 60px;
	display: inline-block;
	background: url(images/page/form_box_flag.png) no-repeat;
	background-size: 100%;
	width: 80px;
	height: 128px;
}
#contact .form_box .mail_inbox {
	
}
#contact .form_box .mail_inbox .txt_box {
	background: #ededed;
	padding: 60px 60px 60px 210px;
	text-align: left;
}
#contact .form_box .mail_inbox p.mail_text {
	font-family: sans-serif;
	background: #5498ca;
	text-align: center;
	border-radius: 30px;
	color: #fff;
	left: 50%;
	padding: 11px 76px;
	position: absolute;
	top: -40px;
	transform: translate(-50%);
	white-space: nowrap;
	font-size: 1.3em;
}
#contact .form_box .mail_inbox p.mail_text:before {
	border-color: #5498ca transparent transparent transparent;
	border-style: solid;
	border-width: 10px 11px 0 11px;
	content: "";
	display: block;
	height: 0;
	left: calc(50% - 11px);
	position: absolute;
	top: 100%;
	width: 0;
}
#contact .form_box p.caution {
	
}

/*フォーム*/
#contact .mw_wp_form {
	margin-top: 30px;
	padding: 30px;
}
#contact table {
	width: 100%;
	margin: 0 auto;
}
#contact table,
#contact table th,
#contact table td {
	border-collapse: collapse;
}
#contact table th {
	width: 260px;
	text-align: left;
	padding: 20px 30px;
	position: relative;
}
#contact table th.hissu {
	
}
#contact table th span.t-hissu {
	background: #ededed;
	font-size: .8em;
	display: inline-block;
	padding: 2px 5px;
	margin-right: 8px;
}
#contact table td {
	text-align: left;
	padding: 20px 30px 20px 45px;
}
#contact textarea.consultation {
	min-height: 220px;
}

#contact .information {
	margin-top: 45px;
}
.page-id-25 #contact table.contact_form td.position span.memo {
	display: none;
}


#contact input.postcode {
	width: 120px;
	margin-bottom: 5px;
}
#contact .check_send {
	text-align: center;
	margin-top: 30px;
}

@media screen and (max-width: 768px) {
	#contact .tel_box .tel_inbox {
		padding: 0 60px;
	}
	#contact table.contact_form th {
		width: 200px;
	}
	#contact table.contact_form td.position span.memo {
		font-size: .7em;
	}
}
@media screen and (max-width: 559px) {
	#contact .summary {
		margin: 0 45px 45px;
	}
	#contact .tel_box {
		margin: 0 auto 45px;
	}
	#contact table.contact_form th {
		width: 160px;
	}
	#contact table.contact_form input.postcode {
		width: 100px;
	}
	#contact table.contact_form td.position span.memo {
		top: 35px;
		left: 165px;
	}
}
@media screen and (max-width: 480px) {
	#contact .summary {
		margin: 0 30px 30px;
	}
	#contact .tel_box {
		margin: 0 auto 30px;
	}
	#contact .tel_box .tel_inbox {
		padding: 0 30px;
	}
	#contact .tel_box .tel_inbox a.tel {
		font-size: 2em;
	}
	#contact table.contact_form th,
	#contact table.contact_form td {
		display: block;
		width: 100%;
		padding: 15px;
	}
	#contact table.contact_form th {
		border: none;
		padding: 15px 15px 0 15px;
	}
	#contact table.contact_form th.hissu span {
		display: inline-block;
		margin-left: 15px;
	}
	#contact table.contact_form td.position span.memo {
		top: 45px;
		left: 165px;
	}
}
@media screen and (max-width: 430px) {
	#contact .summary {
		margin: 0 20px 20px;
	}
	#contact .tel_box {
		margin: 0 auto 20px;
	}
	#contact .tel_box .tel_inbox {
		padding: 0 20px;
	}
	#contact .tel_box .tel_inbox span.tel_text {
		font-size: 1em;
	}
	#contact .tel_box .tel_inbox a.tel {
		font-size: 1.8em;
		padding-left: 40px;
	}
	#contact .tel_box .tel_inbox a.tel:before {
		width: 30px;
		height: 30px;
	}
	#contact table.contact_form td.position span.memo {
		top: 25px;
		left: 155px;
	}
}
@media screen and (max-width: 380px) {
	#contact table.contact_form td.position span.memo {
		top: 20px;
	}
}
@media screen and (max-width: 320px) {
	#contact .tel_box .tel_inbox {
		padding: 0 15px;
	}
	#contact .tel_box .tel_inbox a.tel {
		font-size: 1.6em;
		padding-left: 30px;
	}
	#contact .tel_box .tel_inbox a.tel:before {
		width: 22px;
		height: 22px;
	}
	#contact table.contact_form input.postcode {
		width: 90px;
	}
	#contact table.contact_form td.position span.memo {
		left: 135px;
	}
}

/****************************************
 * フォーム
*****************************************/

/* iOSリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}
button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}

/*フォーム*/
textarea {
	overflow: auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
textarea {
	font-size: 1em;
	margin: 0;
	padding: 10px;
	width: 100%;
	max-width: 100%;
	outline: none;
	color: #000;
	vertical-align: bottom;
	transition: .3s;
	letter-spacing: 1px;
	border-top: none;
	border-right: none;
	border-bottom: 1px solid #000;
	border-left: none;
	background: #FFF;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
	background: #fafafa;
	border-bottom: 1px solid red;
	outline: none;
}
select {
	position: relative;
	width: 100%;
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #ededed;
	background: #fff url(images/contact/select-arrow.jpg) no-repeat;
	background-position: right 2% center;
	background-size: 20px, 100%;
	font-size: 1em;
	border-radius: 0;
}

/*ボタン*/
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"],
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	line-height: 70px;
	border-radius: 70px;
	padding: 0 5em;
	margin: 0 1em;
	height: auto;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #5498ca;
	outline: none;
	position: relative;
}
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	background: #1F4865;
}

@media screen and (max-width: 559px) {
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		
	}
}
@media screen and (max-width: 430px) {
	select {
		padding: 5px;
	}
}

/****************************************
 * プライバシーポリシー
*****************************************/

#privacy-policy h2 {
	text-align: left;
	margin-bottom: 15px;
	padding: 6px 30px;
	background: #fafafa;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
#privacy-policy h3 {
	text-align: left;
	margin-bottom: 15px;
	padding-left: 20px;
	line-height: 1;
	position: relative;
}
#privacy-policy h3:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	background: #000;
	width: 4px;
	height: 22px;
	border-radius: 6px;
}

#privacy-policy .policy_box {
	margin-top: 45px;
}
#privacy-policy .top .box-wide {
	background: rgba(0,0,0,.9);
}
#privacy-policy .top .box-wide .text {
	width: 800px;
	margin: 0 auto;
	padding: 80px 0;;
	color: #FFF;
	text-align: center;
}
#privacy-policy .privacy-policy-content {
	background: #eeeeee;
	padding: 80px 0;
}
#privacy-policy .privacy-policy-content h3 {
	color: #bf482b;
	border-bottom: 1px solid #999;
}
#privacy-policy .privacy-policy-content .outline {
	border: 1px solid #999999;
	background: #FFF;
	padding: 50px;
}
#privacy-policy .privacy-policy-content .poricy {
	margin-bottom: 80px;
}
#privacy-policy .privacy-policy-content .outline .begin {
	width: 80%;
	margin: 0 auto 30px;
}
#privacy-policy .privacy-policy-content dl {
	margin-bottom: 30px;
}
#privacy-policy .privacy-policy-content dt {
	border-left: 1px solid #bf482b;
	padding-left: 15px;
	margin-bottom: 15px;
}
#privacy-policy .privacy-policy-content table {
	width: 100%;
	display: table;
	margin: 80px 0 50px;
}
#privacy-policy .privacy-policy-content table span {
	display: block;
	border-bottom: 1px solid #9999;
	padding: 10px;
}
#privacy-policy .privacy-policy-content table span.top {
	border-top: 1px solid #9999;
	background: none;
}
#privacy-policy .privacy-policy-content table span.height {
	padding: 25px 10px;
}
#privacy-policy .privacy-policy-content table th {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
	width: 25%;
	font-weight: normal;
}
#privacy-policy .privacy-policy-content table td {
	display: table-cell;
	vertical-align: middle;
	padding-left: 100px;
}

@media screen and (max-width: 768px) {
	#privacy-policy .privacy-policy-content {
		padding: 80px 30px;
	}
	#privacy-policy .privacy-policy-content table th {
		width: 30%;
	}
	#privacy-policy .privacy-policy-content table td {
		padding-left: 30px;
	}
	#privacy-policy .privacy-policy-content table span.height2 {
		padding: 24px 10px;
	}
	#privacy-policy .privacy-policy-content table span.height {
		padding: 20px 10px;
	}
	#privacy-policy .privacy-policy-content table span.height-td {
		padding: 20px 10px;
	}
}
@media screen and (max-width: 559px) {
	#privacy-policy .privacy-policy-content .outline {
		padding: 30px;
	}
	#privacy-policy .privacy-policy-content .outline .begin {
		width: 100%;
	}
	#privacy-policy .privacy-policy-content table {
		margin: 50px 0 30px;
	}
	#privacy-policy .privacy-policy-content table span.height2 {
		padding: 24px 10px;
	}
	#privacy-policy .privacy-policy-content table span.height {
		padding: 25px 10px;
	}
}
@media screen and (max-width: 430px) {
	#privacy-policy .top {
		background: url(images/privacy-policy/top-bg_sp.jpg) no-repeat;
		background-position: center;
		background-size: cover;
		padding: 30px 0;
	}
	#privacy-policy .privacy-policy-content {
		padding: 30px;
	}
	#privacy-policy .privacy-policy-content .outline {
		padding: 15px;
	}
	#privacy-policy .privacy-policy-content table {
		margin: 30px 0;
	}
	#privacy-policy .privacy-policy-content table tr,
	#privacy-policy .privacy-policy-content table th,
	#privacy-policy .privacy-policy-content table td {
		display: block;
		width: 100%;
	}
	#privacy-policy .privacy-policy-content table tr {
		border-bottom: 1px solid #9999;
	}
	#privacy-policy .privacy-policy-content table span,
	#privacy-policy .privacy-policy-content table span.top,
	#privacy-policy .privacy-policy-content table span.height,
	#privacy-policy .privacy-policy-content table span.height2 {
		border: none;
	}
	#privacy-policy .privacy-policy-content table th {
		padding: 0;
	}
	#privacy-policy .privacy-policy-content table td {
		padding: 0;
	}	
	#privacy-policy .privacy-policy-content table th span {
		padding: 10px 10px 0 10px !important;
	}
	#privacy-policy .privacy-policy-content table td span {
		padding: 0 10px 10px 10px !important;
	}
}
@media screen and (max-width: 320px) {
	#privacy-policy .privacy-policy-content {
		padding: 30px 15px;
	}
}

/****************************************
 * サイトマップ
*****************************************/

ul#menu-sitemaps-nav {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-family: 'KleeOne-Regular', sans-serif;
}
ul#menu-sitemaps-nav li {
	width: 100%;
	border-bottom: 1px dotted #5398c9;
	position: relative;
}
ul#menu-sitemaps-nav li:first-child {
	border-top: 1px dotted #5398c9;
}
ul#menu-sitemaps-nav li:before {
	content: '';
	width: 12px;
	height: 12px;
	border: 0;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	position: absolute;
	top: 45%;
	right: 30px;
	margin-top: -3px;
	transform: rotate(45deg);
}
ul#menu-sitemaps-nav li a {
	display: block;
	padding: 15px 60px 15px 30px;
	margin-top: 3px;
	text-decoration: none !important;
}
ul#menu-sitemaps-nav li ul.sub-menu li a {
	background: #FFF;
	padding: 6px 30px;
}
ul#menu-sitemaps-nav li ul.sub-menu li a:before {
	content: none;
}

@media screen and (max-width: 480px) {
	ul#menu-sitemaps-nav li {
		width: 100%;
	}
}



/****************************************
 * コラム
 * home.php
 * single.php
*****************************************/

/* コラム一覧
*****************************************/
ul#columns_list {
	list-style: none;
	padding: 0;
	margin: 0;
}
ul#columns_list li {
	border-bottom: 1px dotted #ededed;
}
ul#columns_list li:first-child {
	border-top: 1px dotted #ededed;
}
ul#columns_list .columns_list_box {
	padding: 20px 30px;
}
ul#columns_list .post_title {
	margin: 0;
	text-align: left;
	font-size: 1.3em;
}
ul#columns_list p.date {
	margin: 0;
	font-size: .8em;
}
ul#columns_list a {
	display: block;
}


/* single.php
*****************************************/
#single .meta {
	padding: 0 60px 30px;
}
#single .meta span.date {
	font-size: .9em;
}
#single .meta span.the_title {
	font-size: .9em;
	display: block;
	font-weight: bold;
}
#single .contents_textbox {
	padding: 60px;
}
#single .related {
	position: relative;
	z-index: 1;
}
#single .related:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -180px;
	left: 0;
	right: 0;
	background: #ededed;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#single .related .related_box {
	padding: 60px;
	background: #fafafa;
	border: 1px solid #ededed;
	border-radius: 12px;
}

/****************************************
 * お知らせ
 * archive-news.php
 * single-news.php
*****************************************/

#archive-news,
#single-news {
	background: url(images/front-page/news_bg.png) repeat;
}

/* リスト
*****************************************/
ul.news_list {
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
ul.news_list li {
	border-bottom: 1px solid #333;
	position: relative;
}
ul.news_list li:first-child {
	border-top: 1px solid #333;
}
ul.news_list li:before {
	content: '';
	width: 12px;
	height: 12px;
	border: 0;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	position: absolute;
	top: 45%;
	right: 30px;
	margin-top: -3px;
	transform: rotate(45deg);
}
ul.news_list li a {
	display: block;
	padding: 15px 60px 15px 30px;
	text-decoration: none;
	color: #251E1F;
}
ul.news_list li a:hover {
	background: #FFF;
}
ul.news_list li dl {
	width: 100%;
	display: flex;
	align-items: center;
}
ul.news_list li dl dt {
	display: table-cell;
	width: 110px;
}
ul.news_list li dl dd {
	display: table-cell;
	padding-left: 30px;
	border-left: 1px solid #333;
}

@media screen and (max-width: 768px) {
	ul.news_list li a {
		padding: 15px 55px 15px 15px;
	}
	ul.news_list li dl dt {
		width: 170px;
	}
}
@media screen and (max-width: 559px) {
	.news .news_area {
		padding: 45px;
	}
	ul.news_list li:before {
		right: 15px;
	}
	ul.news_list li a {
		padding: 15px 45px 15px 15px;
	}
	ul.news_list li dl,
	ul.news_list li dl dt,
	ul.news_list li dl dd {
		display: block;
		width: 100%;
	}
	ul.news_list li dl dt {
		font-size: .8em;
	}
}
@media screen and (max-width: 480px) {
	.news .news_area {
		padding: 30px;
	}
	ul.news_list li a {
		padding: 15px 35px 15px 15px;
	}
}
@media screen and (max-width: 430px) {
	.news .news_area {
		padding: 20px;
	}
	ul.news_list li:before {
		right: 0;
	}
	ul.news_list li a {
		padding: 15px 15px 15px 0;
	}
}

/* single-news.php
*****************************************/

#single .single_contents {
	padding: 0;
	background: rgba(255,255,255,.7);
	border-top: 1px solid;
}
#single-news .meta {
	padding: 30px 60px 30px !important;
	border-bottom: 1px solid;
}
#single-news .meta dl {
	display: table;
}
#single-news .meta dt {
	display: table-cell;
	width: 110px;
	font-size: .9em;
}
#single-news .meta dd {
	display: table-cell;
	padding-left: 30px;
	border-left: 1px solid #000;
}
.single-news .contents_textbox {
	padding: 30px 60px 60px;
	border-bottom: 1px solid;
}

.new_arrival {
	margin-top: 90px;
}

@media screen and (max-width: 559px) {
	.single-news .text,
	.new_arrival {
		margin-top: 45px;
	}
}
@media screen and (max-width: 480px) {
	.single-news .text,
	.new_arrival {
		margin-top: 30px;
	}
	.single-news .meta span.author {
		float: none;
		text-align: left;
		display: block;
	}
}
@media screen and (max-width: 320px) {
	.single-news .text,
	.new_arrival {
		margin-top: 15px;
	}
}


/****************************************
 * ページナビゲーション
*****************************************/

nav.navigation {
	overflow: hidden;
	float: none;
	max-width: 100%;
	text-align: center;
	padding: 0;
	margin: 30px 0 0;
}
nav.navigation a {
	text-decoration: none;
	color: #251E1F;
}
nav.navigation > div {
	width: 30%;
}
nav.navigation h2.screen-reader-text {
	display: none;
}
nav.navigation .nav-links {
	width: 100%;
	display: block;
}
nav.navigation .nav-links span.current {
	display: inline-block;
	background: #C3C6C9;
	color: #FFF;
	border: 1px solid #C3C6C9;
	width: 36px;
	line-height: 35px;
	border-radius: 35px;
	text-align: center;
}
nav.navigation .nav-links a.page-numbers {
	display: inline-block;
	background: #FFF;
	color: #C3C6C9;
	border: 1px solid #C3C6C9;
	width: 36px;
	line-height: 35px;
	border-radius: 35px;
	margin: 0 5px;
	text-align: center;
}
nav.navigation .nav-links a:hover {
	display: inline-block;
}
nav.navigation .nav-links a.page-numbers:hover {
	opacity: .7;
}
nav.navigation .nav-links a.prev,
nav.navigation .nav-links a.next {
	width: 3.6em;
	float: none;
	color: #C3C6C9;
	background: #FFF;
	margin: 0;
}
nav.navigation .nav-links a.prev span.prev_icon {
	display: inline-block;
	position: relative;
	width: 36px;
	height: 7px;
	line-height: 35px;
	border-radius: 35px;
}
nav.navigation .nav-links a.prev span.prev_icon:before {
	content: '';
	position: absolute;
	top: -150%;
	left: 42%;
	transform: rotate(-135deg) translateY(-50%) translateX(-50%);
	width: 10px;
	height: 10px;
	border-top: solid 2px #C3C6C9;
	border-right: solid 2px #C3C6C9;
}
nav.navigation .nav-links a.next span.next_icon {
	display: inline-block;
	position: relative;
	width: 36px;
	height: 7px;
	line-height: 35px;
	border-radius: 35px;
}
nav.navigation .nav-links a.next span.next_icon:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 42%;
	transform: rotate(45deg) translateY(-50%) translateX(-50%);
	width: 10px;
	height: 10px;
	border-top: solid 2px #C3C6C9;
	border-right: solid 2px #C3C6C9;
}
nav.navigation .nav-links a.prev:hover,
nav.navigation .nav-links a.next:hover {
}

/*お知らせ*/
.archive-news nav.navigation .nav-links span.current {
	border: 1px solid #251E1F;
}
.archive-news nav.navigation .nav-links a.page-numbers {
	background: #FFF;
	border: 1px solid #251E1F;
}
.archive-news nav.navigation .nav-links a.prev,
.archive-news nav.navigation .nav-links a.next {
	color: #FFF;
	background: #251E1F;
}

/*人事労務の基礎知識*/
.archive-column nav.navigation .nav-links span.current {
	border: 1px solid #F2D857;
}
.archive-column nav.navigation .nav-links a.page-numbers {
	background: #F2D857;
	border: 1px solid #F2D857;
}
.archive-column nav.navigation .nav-links a.prev,
.archive-column nav.navigation .nav-links a.next {
	color: #251E1F;
	background: #F2D857;
}

@media screen and (max-width: 768px) {
	nav.navigation {
		display: block;
	}
}



/****************************************
 * ページネーション（前へ次へ）
*****************************************/

nav.prev-next_navigation {
	
}
nav.prev-next_navigation .navigation {
	clear: both;
	overflow: hidden;
	border-top: 1px solid #EFF5FA;
	border-bottom: 1px solid #EFF5FA;
	position: relative;
	/*background: url(images/post/gray.gif) repeat-y 50% 0;*/
}
nav.prev-next_navigation .navigation:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	background: #EFF5FA;
	width: 1px;
	height: 100%;
}
nav.prev-next_navigation .navigation a {
	display: block;
	color: #251E1F;
	font-size: .8em;
	border: none;
	text-decoration: none;
}
nav.prev-next_navigation .navigation a.prev-link {
	padding: 30px 30px 30px 60px;
}
nav.prev-next_navigation .navigation a.next-link {
	padding: 30px 60px 30px 30px;
}
nav.prev-next_navigation .navigation > div {
	width: 50%;
}
nav.prev-next_navigation .navigation a:hover {
	background: #EFF5FA
}

@media screen and (max-width: 559px) {
	nav.prev-next_navigation .navigation {
		margin-top: 45px;
	}
}
@media screen and (max-width: 480px) {
	nav.prev-next_navigation .navigation {
		margin-top: 30px;
		background: none;
	}
	nav.prev-next_navigation .navigation > div {
		width: 100%;
	}
	nav.prev-next_navigation .navigation > div.alignleft {
		border-bottom: 1px solid #999;
	}
}
@media screen and (max-width: 430px) {
	nav.prev-next_navigation .navigation a.prev-link {
		padding: 15px 15px 15px 60px;
	}
	nav.prev-next_navigation .navigation a.next-link {
		padding: 15px 60px 15px 15px;
	}
	nav.prev-next_navigation .navigation a.prev-link:after {
		left: 15px;
	}
	nav.prev-next_navigation .navigation a.next-link:after {
		right: 15px;
	}
}
@media screen and (max-width: 320px) {
	nav.prev-next_navigation {
		display: none;
	}
}

/****************************************
WPネイティブCSS
*****************************************/
.alignleft {
	float: left;
}
.alignright {
	float: right;
}
.wp-block-image {
	
}
.wp-block-image figcaption {
	
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	max-width: 100%;
	height: auto;
}
img.alignright {
	display: block;
	margin: 0 0 0 auto;
}
img.alignleft {
	display: block;
	margin: 0 auto 0 0;
}
img.aligncenter {
	display: block;
	margin: 0 auto;
}
blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
	margin: 50px;
	border-left: 1px solid #ededed;
	padding-left: 30px;
}
cite {
	font-size: .8em;
}
cite a {
	display: inline;
}

/* clearfix */
.clearfix {
	overflow: hidden;
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

@media screen and (max-width: 480px) {
	blockquote {
		margin: 30px;
	}
}

/****************************************
画像キャプション
*****************************************/
.wp-caption {
	text-align: right;
}
.wp-caption-text,
.gallery-caption　{
	font-size: 12px;
	margin: 0;
	color: #333;
}
.wp-caption img {
	margin: 0;
	padding: 0;
	border: 0 none;
	vertical-align: bottom;
}
.wp-caption-dd {
	margin: 0;
	padding: 0 4px 5px;
	font-size: 11px;
	line-height: 17px;
}


/****************************************
 * 404.php
*****************************************/

#error .error_title {
	font-size: 2em;
	margin-bottom: 30px;
}
#error .error_box {
	text-align: center;
	font-size: 1.3em;
}
#error p.error_url span {
	color: #5498ca;
}
#error a {
	text-decoration: none;
}

@media screen and (max-width: 559px) {
	#error .contents {
		font-size: 1.2em;
	}
}
@media screen and (max-width: 430px) {
	#error .contents {
		font-size: 1em;
	}
}

/****************************************
 * フッター
*****************************************/

footer {
	clear: both;
	overflow: hidden;
	background: #f1f1f1;
	padding: 60px 0 0;
}
footer a {
	color: #000;
}
footer .totop img.icon {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9;
	transition: all .6s;
	z-index: 999;
}

footer .footer_box {
	display: flex;
	flex-direction: column;
}
footer .footer_logo {
	width: 780px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}


footer .footer_box .footer_menu {
	margin-top: 45px;
	font-family: 'KleeOne-Regular', sans-serif;
}
footer nav.footer-nav {
	margin-bottom: 10px;
	text-align: center;
}
footer nav.footer-must {
	font-size: .8em;
	text-align: center;
}
footer nav.footer-nav ul#menu-footer-nav,
footer nav.footer-must ul#menu-footer-must {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer nav.footer-nav ul#menu-footer-nav li,
footer nav.footer-must ul#menu-footer-must li {
	display: inline-block;
	margin-right: 15px;
}
footer nav.footer-nav ul#menu-footer-nav li:last-child {
	margin-right: 0;
}
footer .footer_bottom1 {
	border-top: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	padding: 15px 0;
	position: relative;
}
footer .footer_bottom1 nav.footer-must {
	position: absolute;
	right: 0;
	top: 0;
}
footer .footer_bottom1 nav.footer-must ul#menu-footer-must {
	list-style: none;
}
footer .footer_bottom1 nav.footer-must ul#menu-footer-must li {
	display: inline-block;
	margin-left: 15px;
	font-size: .8em;
}

footer .footer_copy {
	background: #000;
	text-align: right;
	margin-top: 60px;
	padding: 15px 0;
}
footer .footer_copy a {
	color: #FFF;
	font-size: .8em;
}

@media screen and (min-width: 1024px) {
}
@media screen and (max-width: 768px) {
	footer .totop img.icon {
		width: 40px;
	}
	footer .footer_information {
		width: 100%;
	}
}
@media screen and (max-width: 559px) {
	footer .totop img.icon {
		width: 35px;
	}
	footer .footer_information {
		flex-direction: column;
	}
	footer .footer_information .logo_left {
		margin-bottom: 20px;
	}
	footer .footer_information .logo_right {
		padding: 0;
	}
}
@media screen and (max-width: 430px) {
	footer .totop img.icon {
		width: 30px;
	}
	nav.footer-must ul {
		list-style: none;
		text-align: center;
		font-size: .8em;
		margin: 0;
		padding: 0;
	}
	nav.footer-must ul li {
		display: inline-block;
		margin-right: 15px;
	}
	nav.footer-must ul li:last-child {
		margin-right: 0;
	}
}

@media screen and (max-width: 380px) {
	
}
@media screen and (max-width: 320px) {
	footer .totop img.icon {
		width: 35px;
	}
}

/****************************************
プラグイン
*****************************************/

/* MW WP Form
*****************************************/
.mw_wp_form .error {
	text-align: left !important;
	font-weight: bold !important;
	font-size: 1em !important;
	color: #902940 !important;
	padding-left: 30px !important;
	line-height: 1.35 !important;
	margin-top: 15px !important;
	position: relative;
}
.mw_wp_form .error:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	background: url(images/common/icon-mini_bang.png) no-repeat;
	background-size: contain;
	background-position: center;
	width: 22px;
	height: 22px;
}
.mwform-checkbox-field input,
.mwform-radio-field input {
	vertical-align: middle;
	margin-right: 5px;
	width: 20px;
	height: 20px;
}

@media screen and (max-width: 559px) {
	.mw_wp_form .vertical-item {
		width: 100% !important;
	}
}
