@charset "UTF-8";

/*
Theme Name: office-hattori.net_mj2025.1.3
Description: office-hattori.net_mj2025.1.3
Theme URI: https://office-hattori.net/
Author: https://office-hattori.net/
Author URI: https://office-hattori.net/
Version: 1.3
*/

html, body {
	margin: 0;
	padding: 0;
}
body {
	color: #333;
	font-size: 17px;
	line-height: 1.8;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: normal;
}
/*ページをフェードイン表示*/
body {
	animation: fadeIn 3s ease 0s 1 normal;
	-webkit-animation:fadeIn 3s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
p {
	margin:0 0 1.5em 0;
	padding: 0;
}
p:last-child {
	margin: 0;
}
img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	vertical-align: middle;
}

/* 画像 */
figure {
	display: block;
	margin: 0;
}
figcaption {
	font-size: .8em;
	text-align: center;
	margin-top: 10px;
}

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

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

a {
	color: #333;
	text-decoration: none;
	transition: all .3s;
	-webkit-transition: all .3s;
	word-break: break-all;
}
a:hover {
	opacity: .7;
	color: #5FB2CD;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}

#single p a {
	color: #5FB2CD;
	text-decoration: underline;
}

/****************************************
 * h要素
 * **************************************/

h1, h2, h3, h4, h5, h6 {
	font-weight:normal;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'YuGothic', 'Yu Gothic', '游ゴシック', 'Meiryo', 'メイリオ', Helvetica, sans-serif;
}
h1 {
	font-size: 1.8em;
	margin: 0;
	font-weight: bold;
}
h1 span {
	display: block;
	font-size: .6em;
}
h2 {
	font-size: 1.8em;
	text-align: center;
	margin: 0 0 50px 0;
}
#page h2 {
	background: #E7F3F7;
	position: relative;
	padding: 10px 0;
}
#page h2:before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	height: 1px;
	width: 50px;
	background: #5FB2CD;
}
#page h2:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	height: 1px;
	width: 50px;
	background: #5FB2CD;
}
#page #status h2,
#page #inheritance h2,
#page #accounting h2,
#page #pet .pay h2{
	background: #F4F2E6;
	position: relative;
	padding: 10px 0;
	color: #988B42;
}
#page #status h2:before,
#page #inheritance h2:before,
#page #accounting h2:before,
#page #pet .pay h2:before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	height: 1px;
	width: 50px;
	background: #988B42;
}
#page #status h2:after,
#page #inheritance h2:after,
#page #accounting h2:after,
#page #pet .pay h2:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	height: 1px;
	width: 50px;
	background: #988B42;
}
#single h2 {
	color: #5FB2CD;
	background: #E7F3F7;
	border-top: 1px solid;
	border-bottom: 1px solid;
	text-align: left;
	font-weight: bold;
	padding: 10px 20px;
}
h3 {
	font-size: 1.5em;
	text-align: center;
}
.item-box h3 {
	text-align: left;
	padding-bottom: 5px;
	border-bottom: 1px solid #5fb2cd;
	color: #5fb2cd;
}
#single h3 {
	position: relative;
	text-align: left;
	font-weight: bold;
	padding: 0 0 10px 40px;
	border-bottom: 1px solid #ededed;
	color: #5FB2CD;
}
#single h3:before {
	font-family: "Font Awesome 5 Free";
	content: "\f00c";
	position: absolute;
	font-size: 1em;
	left: 0;
	top: 0;
	color: #5FB2CD;
}
h4 {
	font-size: 1.3em;
}
.item-box .special h4 {
	margin: 0 0 15px;
}
#single h4 {
	position: relative;
	padding-left: 2em;
	color: #E5AEB7;
}
#single h4:before,
#single h4:after {
	position: absolute;
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid #E5AEB7;
	top: 35%;
	left: 3px;
	transform: rotate(45deg);
}
#single h4:after {
	top: 35%;
	left: 10px;
	height: 12px;
	width: 12px;
	transform: rotate(45deg);
	border: none;
	background: rgba(229,174,183,.3);
}
h5 {
	font-size: 1.2em;
	margin: 0 0 10px;
}
h6 {
	font-size: 1.0em;
}

@media screen and (max-width: 1024px) {
	h1,
	h2 {
		font-size: 1.6em;
	}
	h3 {
		font-size: 1.3em;
	}
}

@media screen and (max-width: 768px) {
	h1 {
		font-size: 1.6em;
		margin: 0;
	}
	h2 {
		font-size: 1.6em;
		text-align: center;
	}
	h3 {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 380px) {
	h1 {
		font-size: 1.4em;
	}
	h2 {
		font-size: 1.4em;
		text-align: center;
		margin: 0 0 30px;
	}
	h3 {
		font-size: 1.1em;
	}
	h4 {
		font-size: .9em;
	}
}

/****************************************
 * リスト
 * **************************************/

dl,
dt,
dd {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul ul{
	margin-left: 1em;
}


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

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

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

header {
	overflow: hidden;
	position: relative;
	float: right;
	width: 75%;
	margin-bottom: 30px;
	
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.home header .logo-area {
	margin: 0 0 0 50px;
    max-width: 380px;
}
header .logo-area p.logo {
	display: none;
}
header .header-contact {
	margin-right: 50px;
}
header .header-contact ul.top-fixed {
	text-align: right;
	padding: 0;
	margin: 0;
}
header .header-contact ul.top-fixed li {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
}
header .header-contact ul.top-fixed li.tel {
	margin-right: 30px;
	font-size: 1.5em;
}
header .header-contact ul.top-fixed li.tel span {
	display: block;
	font-size: .6em;
}
header .header-contact ul.top-fixed li.mail {
	background: #ADD8E6;
}
header .header-contact ul.top-fixed li.mail a {
	display: block;
	padding: 20px;
}
header .header-contact ul.top-fixed li.mail a:hover {
	background: #5FB2CD;
	color: #FFF;
	opacity: 1;
}

#description {
	margin: 5px 0 15px;
	font-size: .8em;
	line-height: 1.3;
}

@media screen and (max-width: 1450px) {
	.home header .logo-area {
		max-width: 260px;
	}
	header .header-contact ul.top-fixed li.tel {
		font-size: 1.8vw;
		margin-right: 1vw;
	}
	header .header-contact ul.top-fixed li.mail a {
		font-size: 1.2vw;
	}
}
@media screen and (max-width: 1194px) {
	header #header {
		max-width: 96%;
	}
	header #header .logo-area {
		max-width: auto;
		width: 38%;
	}
	header #header .header-contact {
		width: 60%;
	}
	
	.home header .logo-area {
		max-width: 220px;
	}
	header .header-contact ul.top-fixed li.tel {
		margin-right: 0;
	}
	header .header-contact ul.top-fixed li.mail a {
		padding: 20px 12px;
	}
}
@media screen and (max-width: 1024px) {
	header {
		flex-direction: column;
		align-items: flex-start;
	}
	header .logo-area {
		width: 50%;
	}
	.home header .logo-area {
		width: 50%;
		margin: 15px auto;
	}
	header .header-contact {
		margin-left: auto;
	}
}
@media screen and (max-width: 768px) {
	header {
		align-items: center;
	}
	.home header .logo-area {
		max-width: 320px;
		margin: 18px 0 0;
	}
	header .logo-area {
		margin: 18px 0 0;
	}
	header .logo-area p.logo {
		display: block;
	}
	header .header-contact {
		max-width: 100%;
		margin: 18px auto 0;
	}
	header .header-contact ul.top-fixed li.tel {
		font-size: 1.6rem;
		margin-right: 5vw;
	}
	header .header-contact ul.top-fixed li.mail a {
		padding: 20px;
		font-size: 1.2rem;
	}
	header .header-contact ul.top-fixed {
		text-align: center;
	}
	
}
@media screen and (max-width: 559px) {
	header {
		margin-bottom: 18px;
	}
	header .logo-area {
		max-width: 50%;
	}
	header #header .logo-area img {
		width: 50%;
	}
	header .header-contact ul.top-fixed li.tel {
		font-size: 1.2em;
		margin-right: 10px;
	}
	header .header-contact ul.top-fixed li.mail a {
		padding: 10px 18px;
		font-size: 1rem;
		line-height: 1.6;
	}
}
@media screen and (max-width: 430px) {
	header .header-contact ul.top-fixed li.tel {
		font-size: 4.2vw;
	}
	header .header-contact ul.top-fixed li.mail a {
		font-size: 2.8vw;
	}
}


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

.inner {
	margin: 0 50px;
}
main {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	position: relative;
}
article {
	float: right;
	width: 75%;
}
article#page-wide {
	margin: 0 auto !important;
}
aside {
	float: left;
	width: 25%;
	height: 100%;
	overflow: auto;
	background: #FFF;
	padding: 20px 40px 20px 50px;
	position: fixed;
	box-shadow: 1px 1px 3px #ededed;
}
section {
	padding: 50px 0;
}
section.contents {
	width: 80%;
	margin: 0 auto;
	padding: 60px 0 90px;
}
.content {
	overflow: hidden;
	width: 800px;
	margin: 0 auto 30px;
	padding-bottom: 30px;
}

@media screen and (max-width: 1440px) {
	header,
	article {
		width: 70%;
	}
	aside {
		width: 30%;
	}
}
@media screen and (max-width: 1195px) {
	header,
	article {
		width: 65%;
	}
	aside {
		width: 35%;
	}
	section.contents {
		width: 82%;
	}
}
@media screen and (max-width: 1024px) {
	aside {
		padding: 20px 15px;
	}
}
@media screen and (max-width: 768px) {
	header {
		width: 100%;
	}
	article {
		width: 100%;
		margin: 0 auto;
	}
	aside {
		display: none;
	}
	section.contents {
		width: 90%;
	}
}
@media screen and (max-width: 559px) {
	.inner {
		margin: 0 30px;
	}
	article {
		margin: 0 auto;
	}
	section {
		padding: 30px 0;
	}
	section.contents {
		padding: 0 0 30px;
	}
}
@media screen and (max-width: 430px) {
	.inner {
		margin: 0 20px;
	}
}
@media screen and (max-width: 320px) {
	.inner {
		margin: 0 15px;
	}
}

/****************************************
 * サイドバー
 * **************************************/

aside .profile {
	overflow: hidden;
	padding: 10px;
	background: #fafafa;
	margin-bottom: 10px;
}
aside .profile figure.photo {
	float: left;
	margin-right: 10px;
}
aside .profile figure.photo figcaption {
	font-size: .7em;
}
aside .profile p {
	font-size: .8em;
	line-height: 1.6;
}
aside #new-arrival-blog {
	margin-bottom: 10px;
}
aside #new-arrival-blog ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
aside #new-arrival-blog ul li {
	background: #fafafa;
	font-size: .8em;
	padding: 5px 40px 5px 15px;
	border-bottom: 1px solid #ADD8E6;
	position: relative;
}
aside #new-arrival-blog ul li:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 5px;
	height: 5px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg);
	margin: -3px 0 0;
}
aside #new-arrival-blog ul li a {
	display: block;
}
#nav_menu-2 ul#menu-sidemenu1 {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: .8em;
}

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

.font11 {
	font-size: 1.1em;
}
.font12 {
	font-size: 1.2em;
}
.anchor {
    display: block;
    padding-top: 200px;
    margin-top: -200px;
}
.border {
	position: relative;
	display: inline-block;
	padding: 10px 15px;
	border: 1px solid #333;
	color: #333;
	text-align: center;
	text-decoration: none;
	outline: none;
	transition: all .2s;
	box-sizing: content-box;/*必須：paddingとboederを幅と高さに含めない*/
}
.border::before,
.border::after {
	position: absolute;
	z-index: 2;
	content: '';
	width: 0;
	height: 0;
	border: 1px solid transparent;
	box-sizing: content-box;/*必須：paddingとboederを幅と高さに含めない*/
}
.border::before {
	top: -1px;
	left: -1px;
}
.border::after {
	bottom: -1px;
	right: -1px;
}
.border:hover {
	color: #66a6ff;
}
.border:hover::before,
.border:hover::after {
	width: 100%;
	height: 100%;
}
.border:hover::before {
  border-bottom-color: #66a6ff;
  border-left-color: #66a6ff;
  transition: height .3s, width .3s .3s;
}
.border:hover::after {
  border-top-color: #66a6ff;
  border-right-color: #66a6ff;
  transition: height .3s, width .3s .3s;
}
/* 右に矢印 */
a.arrow {
	display: inline-block;
	position: relative;
	background: #ADD8E6;
	font-weight: 200;
	padding: 10px 60px 10px 20px;
	color: #333;
}
a.arrow:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 5px;
	height: 5px;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	transform: rotate(45deg);
	margin: -3px 0 0;
}
.arrow:hover {
	background: #5FB2CD;
	color: #FFF;
	opacity: 1;
}
/* 別ウィンドウリンク */
a.window {
	display: inline-block;
	margin-right: 5px;
}
a.window:after {
	content: "\f2d2";
	font-family: "Font Awesome 5 Free";
	vertical-align: middle;
	display: inline-block;
	margin-left: 5px;
}

/****************************************
 * スマホ時最下部の問い合わせ
 * **************************************/

ul.contact_fixed {
	display: none;
}
@media screen and (max-width: 560px) {
	ul.contact_fixed {
		display: block;
		overflow: hidden;
		position: fixed;
		width: 100%;
		bottom:0;
		background: #5FB2CD;
		z-index: 9999;
		list-style: none;
		padding: 0;
		margin: 0;
		font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'YuGothic', 'Yu Gothic', '游ゴシック', 'Meiryo', 'メイリオ', Helvetica, sans-serif;
	}
	ul.contact_fixed li.text,
	ul.contact_fixed li.tel,
	ul.contact_fixed li.mail {
		float: left;
		text-align: center;
		padding: 8px 0;
	}
	ul.contact_fixed li.text {
		width: 22%;
		font-size: .7em;
		font-weight: bold;
		padding: 10px;
	}
	ul.contact_fixed li.text span {
		display: block;
		background: #FFF;
		border-radius: 3px;
		line-height: 1.3;
    padding: 6px 6px;
	}
	ul.contact_fixed li.tel {
		width: 65%;
		font-size: 1.6em;
	}
	ul.contact_fixed li.mail {
		width: 13%;
		font-size: 1.6em;
	}
	ul.contact_fixed li.tel span {
		margin-left: 5px;
	}
	ul.contact_fixed a {
		color: #FFFFFF;
		display: block;
	}
	ul.contact_fixed p.msg {
		margin: 0;
		color: #FFF;
	}
}
@media screen and (max-width: 320px) {
	ul.contact_fixed li.text {
		padding: 7px;
	}
	ul.contact_fixed li.tel,
	ul.contact_fixed li.mail {
		font-size: 1.3em;
	}
	ul.contact_fixed li.text {
		width: 25%;
	}
	ul.contact_fixed li.tel {
		width: 60%;
	}
	ul.contact_fixed li.mail {
		width: 15%;
	}
}

/****************************************
ナビゲーション（nav#general）
*****************************************/
nav#general {
	width: 100%;
	margin-bottom: 10px;
}
nav#general.fixed{
	background: rgba(255,255,255,0.9);
	z-index: 1;
}
nav#general .menu-gn-container {
	overflow: hidden;
	position: relative;
	margin: 0 auto;
}
nav#general ul#menu-gn {
	overflow: hidden;
	text-align: center;
	padding: 0;
	margin: 0;
}
/*ホーム*/
nav#general ul#menu-gn > li.home {
	font-size: .8em;
	padding-bottom: 0;
	text-align: left;
}
nav#general ul#menu-gn > li.home a {
	padding: 5px 0;
	text-align: left;
	background: none;
	border: none;
}
nav#general ul#menu-gn > li.home a i {
	display: inline-block;
	margin-right: 10px;
}
nav#general ul#menu-gn > li.home a:after {
	content: none;
}
nav#general ul#menu-gn > li.home a:hover {
	background: none;
	color: #333;
}
nav#general ul#menu-gn > li {
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 0 5px 5px 0;
}
nav#general ul#menu-gn > li a {
	display: block;
	position: relative;
	padding: 5px 10px;
	text-align: left;
	background: #ADD8E6;
}
nav#general ul#menu-gn > li:nth-child(even) {
	padding: 0 0 5px 0;
}
nav#general ul#menu-gn > li:nth-child(2) {
	width: 100%;
	height: 89px;
	margin-bottom: -4px;
}
nav#general ul#menu-gn > li:nth-child(2) a {
	text-align: left;
	position: absolute;
	vertical-align: middle;
	width: calc(50% - 5px);
	height: 100%;
	display: block;
	background: #ADD8E6;
}
nav#general ul#menu-gn > li:nth-child(2) a:after {
	content: '';
    display: block;
    position: absolute;
    top: 23%;
    right: 20px;
    width: 5px;
    height: 5px;
    border-top: solid 1px #333;
    border-right: solid 1px #333;
    transform: rotate(45deg);
    margin: -3px 0 0;
}
nav#general ul#menu-gn > li:nth-child(3),
nav#general ul#menu-gn > li:nth-child(4),
nav#general ul#menu-gn > li:nth-child(5),
nav#general ul#menu-gn > li:nth-child(6) {
	float: left;
	width: calc(100%/2);
}
nav#general ul#menu-gn > li:nth-child(5),
nav#general ul#menu-gn > li:nth-child(6) {
	padding-bottom: 0;
}
nav#general ul#menu-gn > li:nth-child(3) a:after,
nav#general ul#menu-gn > li:nth-child(4) a:after,
nav#general ul#menu-gn > li:nth-child(5) a:after,
nav#general ul#menu-gn > li:nth-child(6) a:after {
	content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 5px;
    height: 5px;
    border-top: solid 1px #333;
    border-right: solid 1px #333;
    transform: rotate(45deg);
    margin: -3px 0 0;
}
nav#general ul#menu-gn > li a:hover {
	color: #FFF;
}
nav#general ul.sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	float: right;
	width: 50%;
}
nav#general ul.sub-menu > li {
	width: 100%;
	position: relative;
	display: table;
	margin-bottom: 6px;
}
nav#general ul.sub-menu > li a {
	float: right;
	position: static !important;
	width: 100% !important;
	height: auto !important;
	background: #E7F3F7 !important;
}
nav#general ul.sub-menu > li a:before {
	content: "-";
	margin-right: 5px;
}
nav#general ul.sub-menu > li a:after {
	content: '';
    display: block;
    position: absolute;
    top: 50% !important;
    right: 20px;
    width: 5px;
    height: 5px;
    border-top: solid 1px #333;
    border-right: solid 1px #333;
    transform: rotate(45deg);
    margin: -3px 0 0;
}
nav#general ul.sub-menu > li a:hover {
	color: #5FB2CD !important;
}
nav#general ul.sub-menu li:last-child a {
	margin-bottom: 0 !important;
}

/****************************************
nav#nav-drop(上から落ちてくる)
*****************************************/
nav#nav-drop {
	position: fixed;
	z-index: 99999;
	top: 0;
	right: 0;
}
nav#nav-drop a {
	color: #333;
	display: block;
}
/*menuコンテンツ*/
nav#nav-drop .menu-box {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	visibility: hidden;
	overflow: hidden;
	width: 100%;
	height: 100%;
	pointer-events: none;
	outline: 1px solid transparent;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	align-items: center;
	justify-content: center;
}
nav#nav-drop .menu-box > .menu-container {
	overflow: hidden;
	width: 100%;
	height: 100%;
	transition: .3s ease-in-out;
	-webkit-transform: translateX(-105%);
	transform: translateY(-105%);
	color: #C54D61;
	background: #FFF;
	flex: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	align-items: center;
	justify-content: center;
}
nav#nav-drop .menu-box > .menu-container ul {
	display: block;
	width: 80%;
	max-height: 100vh;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	transition: opacity 0.4s ease;
	opacity: 0;
}
nav#nav-drop .menu-box > .menu-container ul li {
	padding: 12px 0;
	border-bottom: 1px solid #5FB2CD;
	position: relative;
}
nav#nav-drop .menu-box > .menu-container > ul li a {
	position: relative;
	display: inline;
	cursor: pointer;
	transition: color 0.4s ease;
}
nav#nav-drop .menu-box > .menu-container > ul > li > a:hover {
	color: #e5e5e5;
}
nav#nav-drop .menu-box > .menu-container > ul > li > a:hover:after {
	width: 100%;
}
nav#nav-drop .menu-box > .menu-container > ul > li > a:after {
	position: absolute;
	z-index: 1;
	bottom: -0.15em;
	left: 0;
	width: 0;
	height: 2px;
	content: '';
	transition: width 0.4s ease;
	background: #e5e5e5;
}
nav#nav-drop .menu-box > .menu-container ul li#menu-item-286 a:after {
	top: 20px !important;
}
/*クリックしたらメニューが開閉の動作*/
nav#nav-drop .toggle {
	position: absolute;
	z-index: 2;
	top: 15px;
	right: 15px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	opacity: 0;
}
nav#nav-drop .toggle:checked + .hamburger > span {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
nav#nav-drop .toggle:checked + .hamburger > span:before,
nav#nav-drop .toggle:checked + .hamburger > span:after {
	top: 0;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
nav#nav-drop .toggle:checked + .hamburger > span:after {
	opacity: 0;
}
nav#nav-drop .toggle:checked ~ .menu-box {
	visibility: visible;
	pointer-events: auto;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container {
	transition-duration: 0.75s;
	-webkit-transform: scale(1);
	transform: scale(1);
	overflow: scroll;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container > .menu-sp-menu-container > ul#menu-sp-menu,
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container > .menu-sp-menu-container > ul#menu-sp-menu li ul.sub-menu {
	opacity: 1;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container > .menu-sp-menu-container > ul#menu-sp-menu li a:after {
	position: absolute;
	content: '';
    display: block;
    position: absolute;
    top: 45%;
    right: 5px;
    width: 5px;
    height: 5px;
    border-top: solid 1px #333;
    border-right: solid 1px #333;
    transform: rotate(45deg);
    margin: -3px 0 0;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container > .menu-sp-menu-container > ul#menu-sp-menu li ul.sub-menu {
	width: 94%;
	margin: 0 0 0 20px;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container > .menu-sp-menu-container > ul#menu-sp-menu li ul.sub-menu li {
	border-bottom: none;
	padding: 5px 0 !important;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container > .menu-sp-menu-container > ul#menu-sp-menu li ul.sub-menu li a:after {
	position: absolute;
	content: '';
	display: block;
	position: absolute;
	top: 45%;
	right: 5px;
	width: 5px;
	height: 5px;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	transform: rotate(45deg);
	margin: -3px 0 0;
}
nav#nav-drop .toggle:checked:hover + .hamburger > span {
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .menu-sp-menu-container {
	display: block;
	overflow: hidden;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .tel-box {
	display: block;
	margin: 50px auto 0;
	text-align: center;
	font-size: 1.3em;
	font-weight: 400;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .tel-box a {
	font-size: 1.6em;
	color: #C54D61;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'YuGothic', 'Yu Gothic', '游ゴシック', 'Meiryo', 'メイリオ', Helvetica, sans-serif;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .contact-btn {
	width: 80%;
	margin: 0 auto;
	text-align: center;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .contact-btn a {
	background: #C54D61;
	color: #FFF;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .contact-btn a:after {
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .contact-btn a:hover {
	opacity: .7;
}
nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .blog-btn {
	margin: 0 auto 15px;
	width: 80%;
}

/*ハンバーガー*/
nav#nav-drop .hamburger {
	position: absolute;
	z-index: 1;
	top: 15px;
	right: 15px;
	display: block;
	width: 60px;
	height: 60px;
	padding: 0.5em 1em;
	cursor: pointer;
	transition: box-shadow 0.4s ease;
	border-radius: 0 0.12em 0.12em 0;
	background: #5FB2CD;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
nav#nav-drop .hamburger > span {
	position: relative;
	top: 30%;
	display: block;
	width: 100%;
	height: 3px;
	transition: all 0.4s ease;
	background: #fefefe;
}
nav#nav-drop .hamburger > span:before,
nav#nav-drop .hamburger > span:after {
	position: absolute;
	z-index: 1;
	top: -10px;
	left: 0;
	display: block;
	width: 100%;
	height: 3px;
	content: '';
	transition: all 0.4s ease;
	background: inherit;
}
nav#nav-drop .hamburger > span:after {
	top: 10px;
}
nav#nav-drop .hamburger p {
	color: #FFF;
	font-weight: 400;
	text-align: center;
    display: block;
    font-size: 10px;
    position: absolute;
    bottom: 10%;
    width: 100%;
    left: 0;
    right: 0;
    margin: auto;
}
nav#nav-drop .toggle:checked ~ nav#nav-drop .hamburger p {
	display: none;
}

@media screen and (max-width: 768px) {
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .contact-btn a {
		width: 20em;
		margin: 0 auto;
	}
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .menu-sp-menu-container {
		margin: 15px 0;
	}
}
@media screen and (max-width: 480px) {
	nav#nav-drop .hamburger {
		top: 10px;
		right: 10px;
	}
	nav#nav-drop .toggle {
		top: 10px;
		right: 10px;
	}
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .article-btn ul {
		width: 100%;
	}
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .article-btn ul li img {
		width: 70%;
	}
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .tel-box {
		font-size: 1.2em;
	}
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .tel-box a {
		font-size: 1.5em;
		margin-top: 5px;
	}
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .contact-btn a {
		width: 100%;
		padding: 5px 60px 5px 10px;
	}
}
@media screen and (max-width: 320px) {
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container .tel-box {
		font-size: 1em;
	}
	nav#nav-drop .toggle:checked ~ .menu-box > .menu-container > .menu-sp-menu-container > ul#menu-sp-menu li ul.sub-menu li a:after {
		right: 10px;
	}
	nav#nav-drop .menu-box > .menu-container ul {
		width: 87%;
	}
}

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

.breadcrumbs {
	font-size: .7em;
	position: absolute;
	left: 50px;
	bottom: 0;
	width: 50%;
	line-height: 1.3;
}
.breadcrumbs span.current-item {
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.breadcrumbs {
		display: none;
	}
}

/****************************************
p-contact.php
*****************************************/
section#p-contact {
	clear: both;
	position: relative;
	overflow: hidden;
	padding: 50px 0;
	/*background: url(images/p-contact/bg.png) no-repeat;*/
	background: #E7F3F7;
	background-position: left top;
	font-weight: bold;
}
section#p-contact .left {
	width: 70%;
}
section#p-contact .left dl {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
section#p-contact .left dt {
	width: 280px;
	font-size: 1.3em;
}
section#p-contact .left dd {
	width: calc(100% - 280px);
}
section#p-contact .contact-btn {
	text-align: center;
}
section#p-contact .contact-btn ul {
	padding: 0;
}
section#p-contact .contact-btn ul li {
	display: inline-block;
	vertical-align: middle;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'YuGothic', 'Yu Gothic', '游ゴシック', 'Meiryo', 'メイリオ', Helvetica, sans-serif;
	color: #C54D61;
}
section#p-contact .contact-btn ul li:first-child {
	font-size: 2em;
	margin-right: 30px;
}
section#p-contact .contact-btn ul li a {
	color: #C54D61;
}
section#p-contact .contact-btn ul li a.arrow {
	background: #C54D61;
	color: #FFF;
	padding: 18px 60px 18px 20px;
}
section#p-contact .contact-btn ul li a.arrow:after {
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
}
section#p-contact .contact-btn ul li a.arrow:hover {
	opacity: .7;
}
section#p-contact .contact-btn span {
	display: block;
	font-size: 0.4em;
	margin-top: -10px;
}

@media screen and (max-width: 1460px) {
	section#p-contact .contact-btn ul li:first-child {
		margin-bottom: 10px;
	}
	section#p-contact .left dl {
		flex-direction: column;
		text-align: center;
	}
	section#p-contact .left dt {
		width: 100%;
	}
	section#p-contact .left dd {
		width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	section#p-contact .left {
		width: 100%;
	}
	section#p-contact .contact-btn ul {
		text-align: left;
		margin: 0;
	}
	section#p-contact .contact-btn span {
		text-align: center;
	}
	section#p-contact .contact-btn ul li:first-child {
		margin: 0 0 15px;
	}
}
@media screen and (max-width: 768px) {
	section#p-contact .left dt {
		width: 100%;
	}
	section#p-contact .left dd {
		width: 100%;
	}
	section#p-contact .contact-btn ul li {
		display: block;
		width: 60%;
		text-align: center;
	}
	section#p-contact .contact-btn ul li:first-child {
		font-size: 4.6vw;
	}
	section#p-contact .contact-btn ul li a.arrow {
		font-size: 2.4vw;
	}
}
@media screen and (max-width: 559px) {
	section#p-contact {
		padding-bottom: 130px;
	}
	section#p-contact .left dl,
	section#p-contact .left dt,
	section#p-contact .left dd {
		display: block;
		width: 100%;
	}
	section#p-contact .contact-btn ul {
		text-align: center;
	}
	section#p-contact .contact-btn ul li {
		width: 100%;
	}
	section#p-contact .contact-btn ul li:first-child {
		font-size: 1.6em;
	}
	section#p-contact .contact-btn span {
		display: block;
		text-align: center;
		font-size: .6em;
		margin-top: -2px;
	}
	section#p-contact .contact-btn ul li:first-child {
		font-size: 3.2vw;
	}
	section#p-contact .contact-btn ul li a.arrow {
		font-size: 3.2vw;
	}
}
@media screen and (max-width: 430px) {
	section#p-contact .left dd {
		font-size: .9rem;
	}
	section#p-contact .contact-btn ul li:first-child {
		font-size: 6.4vw;
	}
	section#p-contact .contact-btn span {
		font-size: .4em;
	}
}
@media screen and (max-width: 320px) {
	section#p-contact .contact-btn ul li a.arrow {
		padding: 10px 35px 10px 10px;
	}
	section#p-contact .contact-btn span {
		font-size: .47em;
	}
}

/****************************************
p-map.php
*****************************************/
section.p-map {
	position: relative;
	padding: 0;
	line-height: 0;
}
section.p-map img.yukimasa {
	position: absolute;
	right: 30px;
	top: -230px;
}

@media screen and (max-width: 1024px) {
	section.p-map img.yukimasa {
		right: 0;
		top: -170px;
		width: 250px;
	}
}
@media screen and (max-width: 768px) {
	section.p-map img.yukimasa {
		right: 30px;
	}
}
@media screen and (max-width: 559px) {
	section.p-map img.yukimasa {
		right: 0;
		width: 160px;
		top: -110px;
	}
}

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

#topimage {
	padding: 0;
	margin: 0 50px;
}
#message {
	overflow: hidden;
}
#message .message_box {
	max-width: 720px;
    margin: -22px auto 0;
}

section#service-01 {
	clear: both;
	padding: 0 0 15px 0;
}
section#service-01 .inner {
	border: 1px solid #4e6f24;
}
section#service-02 {
	padding: 0;
	margin-bottom: 18px;
}
section#service-02 .inner {
	border: 1px solid #c5514d;
}
section#service-03 {
	padding: 0;
	margin-bottom: 18px;
}
section#service-03 .inner {
	border: 1px solid #5186e2;
}
section#service-04 {
	padding: 15px 0 30px;
}
section#service-04 .inner {
	border: 1px solid #e07626;
}
section#service-01 dl,
section#service-02 dl,
section#service-03 dl,
section#service-04 dl {
	display: table;
}
section#service-01 dt,
section#service-01 dd,
section#service-02 dt,
section#service-02 dd,
section#service-03 dt,
section#service-03 dd,
section#service-04 dt,
section#service-04 dd {
	display: table-cell;
}
section#service-01 dt {
	background: #4e6f24;
	vertical-align: middle;
	width: 30%;
}
section#service-02 dt {
	background: #c5514d;
	vertical-align: middle;
	width: 30%;
}
section#service-03 dt {
	background: #5186e2;
	vertical-align: middle;
	width: 30%;
}
section#service-04 dt {
	background: #e07626;
	vertical-align: middle;
	width: 30%;
}
section#service-01 dd,
section#service-02 dd,
section#service-03 dd,
section#service-04 dd {
	padding: 1.6vw 12vw 1.6vw 1.6vw;
}
section#service-01 dd {
	background: url(images/index/message-01-bg.png) no-repeat;
	background-size: cover;
	background-position: right center;
}
section#service-02 dd {
	background: url(images/index/message-02-bg.png) no-repeat;
	background-size: cover;
	background-position: right center;
}
section#service-03 dd {
	background: url(images/index/message-03-bg.png) no-repeat;
	background-size: cover;
	background-position: right center;
}
section#service-04 dd {
	background: url(images/index/message-04-bg.png) no-repeat;
	background-size: cover;
	background-position: right center;
}
section#service-01 h3,
section#service-02 h3,
section#service-03 h3,
section#service-04 h3 {
	color: #FFF;
	text-align: center;
	padding: 0 30px;
	line-height: 1.6;
	font-size: 1.3em;
}
section#service-01 h3 span,
section#service-02 h3 span,
section#service-03 h3 span,
section#service-04 h3 span {
	display: block;
	font-size: 1.1em;
}
section#service-01 dd .link,
section#service-02 dd .link,
section#service-03 dd .link,
section#service-04 dd .link {
	text-align: center;
	margin-top: 12px;
}
section#service-01 dd .link a {
	background: #4e6f24;
	color: #FFF;
}
section#service-02 dd .link a {
	background: #c5514d;
	color: #FFF;
}
section#service-03 dd .link a {
	background: #5186e2;
	color: #FFF;
}
section#service-04 dd .link a {
	background: #e07626;
	color: #FFF;
}
section#service-01 dd .link a.arrow:after,
section#service-02 dd .link a.arrow:after,
section#service-03 dd .link a.arrow:after ,
section#service-04 dd .link a.arrow:after {
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
}
section#service-04 .certificate {
	background: #FFF url(images/index/certificate.jpg) no-repeat;
	background-position: right 30px center;
	background-size: 230px;
	border: 1px solid #E2C4AC;
	padding: 60px 30px;
	margin-bottom: 30px;
}
section#service-04 .certificate .certificate-box {
	padding-right: 45%;
	text-align: center;
	font-weight: bold;
}
section#service-04 .trouble {
	margin-bottom: 30px;
}
section#service-04 .trouble ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
section#service-04 .trouble ul li {
	position: relative;
	padding-left: 2em;
}
section#service-04 .trouble ul li:before,
section#service-04 .trouble ul li:after {
	position: absolute;
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid #E2C4AC;
	top: 35%;
	left: 3px;
	transform: rotate(45deg);
}
section#service-04 .trouble ul li:after {
	top: 35%;
	left: 10px;
	height: 12px;
	width: 12px;
	transform: rotate(45deg);
	border: none;
	background: rgba(245,236,228,.3);
}



/*お客様の声*/
#voice .voice-title {
	margin-bottom: 18px;
}
.voice-list {
	overflow: hidden;
}
.voice-list ul {
	list-style: none;
	overflow: hidden;
	margin-bottom: 30px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.voice-list ul li {
	width: calc(100%/3);
	padding: 20px;
}
.voice-list .voice-image {
	display: inline-block;
	position: relative;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.voice-list .voice-image:after {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	transform: rotate(3deg);
	z-index: -1;
}
.voice-list ul li dt {
	text-align: center;
	margin-bottom: 15px;
}
.voice-list ul li dd {
	text-align: center;
}
.voice-list .link {
	clear: both;
	text-align: center;
	background: url(images/index/voice-link-bg.png) no-repeat;
	background-position: center;
	background-size: contain;
	padding: 15px 0;
}
.voice-list .link a {
	position: relative;
	padding: 10px 80px 10px 30px;
}
.voice-list .link a:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	transform: rotate(45deg);
	margin: -3px 0 0;
}
section#about {
	background: url(images/index/about-bg.jpg) no-repeat;
	background-position: center;
	background-size: cover;
	padding: 50px 0;
}
section#about h2 {
	line-height: 1.4;
}
section#about dl {
	display: flex;
	align-items: stretch;
}
section#about dt {
	background: #FFF;
	text-align: center;
	padding: 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 45%;
}
section#about dd {
	padding-left: 45px;
	font-size: .9em;
	width: 55%;
}
section#about dt h3 {
	color: #5FB2CD;
}
section#about dt .link {
	text-align: center;
	margin: 10px 0 0;
}
section#about dd .news h3 {
	position: relative;
	text-align: left;
	font-size: 1em;
	padding-left: 20px;
}
section#about dd .news h3:before {
	content: "";
	display: inline-block;
	position: absolute;
	background: url(images/news/icon.png) no-repeat;
	background-size: 100%;
	width: 15px;
	height: 15px;
	left: 0;
	top: 5px;
}
section#about dd dl.news-list {
	width: 100%;
	display: flex;
	margin: 0 0 10px 0;
}
section#about dd dl.news-list dt {
	border-bottom: 1px solid #ADD8E6;
	background: none;
	width: 105px;
	padding: 0 0 0 12px;
	min-width: auto;
	display: flex;
    align-items: flex-start;
}
section#about dd dl.news-list dd {
	border-bottom: 1px solid #ADD8E6;
	width: calc(100% - 105px);
	padding: 0 10px;
	min-width: auto;
}
section#about dd .link {
	text-align: right;
}
section#about dd .link a {
	position: relative;
	padding: 0 10px 0 0;
}
section#about dd .link a:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 5px;
	height: 5px;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	transform: rotate(45deg);
	margin: -3px 0 0;
}

@media screen and (max-width: 1600px) {
	section#service-04 .certificate {
		background-position: bottom 15px center;
		padding: 15px;
	}
	section#service-04 .certificate .certificate-box {
		padding: 0 0 160px;
	}
	
	section#service-01 h3,
	section#service-02 h3,
	section#service-03 h3 {
		font-size: 1.36vw; 
	}
	section#service-01 h3 span,
	section#service-02 h3 span,
	section#service-03 h3 span {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 1560px) {
	section#service-04 .certificate {
		padding: 15px;
	}
	section#service-04 .certificate {
		background-size: 220px;
	}
}
@media screen and (max-width: 1330px) {
	section#about h2 {
		font-size: 2vw;
	}
	section#about dt h3 {
		font-size: 1.6vw;
	}
}
@media screen and (max-width: 1200px) {
	section#service-01 dd,
	section#service-02 dd,
	section#service-03 dd,
	section#service-04 dd {
		padding: 30px 200px 30px 30px;
	}
	
}
@media screen and (max-width: 1194px) {
	section#about h2 {
		margin-bottom: 30px;
	}
	section#about dt h3 {
		font-size: 1.5em;
	}
	section#about dt {
		width: 50%;
	}
	section#about dd {
		width: 50%;
		padding-left: 30px;
	}
	section#about dd dl.news-list dt {
		width: 90px;
	}
	section#about dd dl.news-list dd {
		width: calc(100% - 90px);
	}
}
@media screen and (max-width: 1194px) {
	.voice-list ul li {
		width: calc(100%/2);
	}
	
	section#service-01 dl,
	section#service-01 dt,
	section#service-01 dd,
	section#service-02 dl,
	section#service-02 dt,
	section#service-02 dd,
	section#service-03 dl,
	section#service-03 dt,
	section#service-03 dd,
	section#service-04 dt,
	section#service-04 dd {
		display: block;
		width: 100%;
	}
	section#service-01 h3,
	section#service-02 h3,
	section#service-03 h3,
	section#service-04 h3 {
		margin: 0;
		padding: 10px 0;
		font-size: 1.2em;
		line-height: 1.6;
	}
	section#service-01 h3 span,
	section#service-02 h3 span,
	section#service-03 h3 span,
	section#service-04 h3 span {
		display: block;
        font-size: 1.1em;
	}
	section#about dl,
	section#about dt,
	section#about dd {
		display: block;
		width: 100%;
	}
	section#about dd {
		padding: 30px 30px 0 30px;
	}
	section#about dd dl.news-list dt {
		width: 105px;
	}
	section#about dd dl.news-list dd {
		width: calc(100% - 105px);
	}
}
@media screen and (max-width: 980px) {
	section#service-01 dd,
	section#service-02 dd,
	section#service-03 dd,
	section#service-04 dd {
		padding: 30px 100px 30px 30px;
	}
}
@media screen and (max-width: 768px) {
	#topimage {
		padding: 0;
		margin: 0 auto;
	}
	section#about {
		background: url(images/index/about-bg_tb.jpg) no-repeat;
		background-position: center;
		background-size: cover;
	}
	section#about h2 {
		padding: 0 20px;
		font-size: 1.2em;
	}
}
@media screen and (max-width: 559px) {
	#message .message_box {
		margin-top: -9px;
	}
	section#service-01 h3,
	section#service-02 h3,
	section#service-03 h3,
	section#service-04 h3 {
		padding: 10px 20px;
		text-align: center;
		font-size: 1em;
	}
	section#service-01 h3 span,
	section#service-02 h3 span,
	section#service-03 h3 span,
	section#service-04 h3 span {
		display: block;
	}
	section#service-01 dd,
	section#service-02 dd,
	section#service-03 dd,
	section#service-04 dd {
		padding: calc(35% + 18px) 20px 30px 20px;
	}
	section#service-01 dd {
		background: url(images/index/message_sp-01.png) no-repeat;
		background-size: 100%;
		background-position: center top;
	}
	section#service-02 dd {
		background: url(images/index/message_sp-02.webp) no-repeat;
		background-size: 100%;
		background-position: center top;
	}
	section#service-03 dd {
		background: url(images/index/message_sp-03.webp) no-repeat;
		background-size: 100%;
		background-position: center top;
	}
	section#service-04 dd {
		background: url(images/index/message_sp-04.png) no-repeat;
		background-size: 100%;
		background-position: center top;
	}
	section#about {
		background: url(images/index/about-bg_sp.jpg) no-repeat;
		background-position: center;
		background-size: cover;
	}
	.voice-list ul li {
		margin-top: 12px;
	}
	.voice-list ul li dd p {
		font-size: .8em;
		margin: 0 !important;
	}
	section#about h2 {
		font-size: 1.2em;
		padding: 0;
		font-weight: bold;
		line-height: 1.4;
	}
	section#about dd {
		padding: 30px 0 0;
		font-size: 1em;
	}
	section#about dd dl.news-list dt {
		width: 17%;
		font-size: .9em;
	}
	section#about dd dl.news-list dd {
		width: 83%;
	}
}
@media screen and (max-width: 430px) {
	section#about {
		padding: 30px 0;
	}
	section#about dd .news {
		margin-top: 30px;
	}
	section#about dd .news h3 {
		font-weight: bold;
	}
	section#about dd dl.news-list {
		margin: 0;
	}
	section#about dd dl.news-list dt {
		width: 23%;
	}
	section#about dd dl.news-list dd {
		width: 77%;
	}
	section#about dd dl.news-list a {
		display: block;
		padding: 6px 0;
		line-height: 1.6;
	}
	section#about dd .link {
		margin-top: 12px;
	}
	
	.voice-list ul li:nth-child(odd) {
		padding: 0 12px 0 0;
	}
	.voice-list ul li:nth-child(even) {
		padding: 0 0 0 12px;
	}
}
@media screen and (max-width: 380px) {
	section#service-03 {
		padding: 15px 0 0;
	}
	section#service-01 dd,
	section#service-02 dd,
	section#service-03 dd,
	section#service-04 dd {
		padding: 130px 20px 30px 20px;
	}
	section#service-03 dd .link a {
		padding: 10px 40px 10px 20px;
	}
	section#about dt {
		padding: 20px;
	}
}
@media screen and (max-width: 380px) {
	.voice-list .link a {
		padding: 0;
	}
	.voice-list .link a:after {
		content: none;
	}
}
@media screen and (max-width: 320px) {
	section#service-01 dd,
	section#service-02 dd,
	section#service-03 dd,
	section#service-04 dd {
		padding: 110px 10px 20px 10px;
	}
}

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

section#title-hero {
	padding: 40px 50px;
	background: url(images/common/title-image.webp) no-repeat;
	background-size: cover;
	background-position: center;
}
@media screen and (max-width: 768px) {
	section#title-hero {
		padding: 30px 50px;
	}
}
@media screen and (max-width: 559px) {
	section#title-hero {
		background: url(images/common/title-image_sp.webp) no-repeat;
		background-size: cover;
		margin-bottom: 30px;
		padding: 30px;
	}
}

.post-meta .post-date {
	font-size: 80%;
	width: 100%;
	text-align: right;
}

/****************************************
 * 事務所概要
 * **************************************/

#office .greeting {
	position: relative;
	padding: 30px;
	margin-bottom: 30px;
}
#office .greeting::before,
#office .greeting::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#office .greeting::before {
  top: 0;
  left: 0;
  border-top: 1px solid #555;
  border-left: 1px solid #555;
}
#office .greeting::after {
  bottom: 0;
  right: 0;
  border-bottom: 1px solid #555;
  border-right: 1px solid #555;
}
#office .greeting p.name {
	text-align: right;
	position: relative;
	font-size: 1em;
	padding-left: 20px;
}
#office .greeting p.name:before {
	content: "";
	display: inline-block;
	position: absolute;
	background: url(images/office/mark.png) no-repeat;
	background-size: 100%;
	width: 25px;
	height: 25px;
	top: 2px;
	right: 8.5em;
}
#office .profile {
	clear: both;
	overflow: hidden;
	margin-bottom: 50px;
}
#office .profile h3 {
	position: relative;
    text-align: left;
    font-size: 1em;
    padding-left: 20px;
	margin: 0 0 15px;
}
#office .profile h3:before {
	content: "";
	display: inline-block;
	position: absolute;
	background: url(images/news/icon.png) no-repeat;
	background-size: 100%;
	width: 15px;
	height: 15px;
	left: 0;
	top: 5px;
}
#office .profile figure.photo {
	float: left;
	max-width: 25%;
}
#office .profile .text {
	float: right;
	width: 73%;
	margin-bottom: 10px;
}
#office .profile .text figure {
	display: inline-block;
	margin-right: 20px;
}
#office .profile .text .picture {
	display: flex;
}
#office .license {
	clear: both;
	overflow: hidden;
	font-size: .9em;
}
#office .license ul {
	padding-left: 2em;
}
#office .license ul li {
	float :left;
	width: calc(100%/2);
	list-style: circle;
	text-indent: -1em;
}
#office .office {
	margin-bottom: 50px;
}
#office .office .outline {
	padding: 0 50px;
}
#office .office .outline table {
	table-layout: fixed;
	width: 100%;
}
#office .office .outline table tr {
	display: table;
	width: 100%;
	margin-bottom: 5px;
}
#office .office .outline table th {
	display: table-cell;
	width: 25%;
	font-weight: normal;
	text-align: left;
	background: #fafafa;
	padding: 10px;
}
#office .office .outline table td {
	display: table-cell;
	padding: 0 0 0 20px;
}
#office .office .outline a.office-contact {
	display: block;
	color: #5FB2CD;
}
#office a.googlemap {
	color: #5FB2CD;
	text-decoration: underline;
}
#office .access {
	margin-bottom: 50px;
}
#office .access h3 {
	font-size: 1.1em;
	text-align: left;
	position: relative;
	padding-left: 23px;
	margin: 0 0 15px;
}
#office .access h3:before {
    content: "";
    display: inline-block;
    position: absolute;
    background: url(images/news/icon.png) no-repeat;
    background-size: 100%;
    width: 17px;
    height: 17px;
    left: 0;
    top: 9px;
}
#office .access h3 span {
	margin-left: 10px;
}
#office .access h3 span i {
	color: #e2bf0b;
}
#office .access .outline {
    padding: 0 50px;
}
#office .access .outline dl {
	display: table;
}
#office .access .outline dl dt,
#office .access .outline dl dd {
	display: table-cell;
	vertical-align: top;
}
#office .access .outline dl dt {
	width: 40%;
	background: url(images/office/map.jpg) no-repeat;
	background-size: 93%;
	padding-top: 38%;
	text-align: center;
}
#office .access .outline dl dd {
	width: 60%;
	padding-left: 12px;
}

@media screen and (max-width: 1194px) {
	#office .access .outline dl dt {
		display: block;
		width: 100%;
		background-position: top center;
        background-size: 80%;
        padding-top: 80%;
	}
	#office .access .outline dl dd {
		display: block;
		width: 100%;
		margin-top: 30px;
		padding: 0;
	}
}
@media screen and (max-width: 768px) {
	#office .office .outline {
		padding: 0;
	}
}
@media screen and (max-width: 559px) {
	#office .profile {
		margin-bottom: 30px;
	}
	#office .profile figure.photo {
		float: none;
		max-width: 100%;
		text-align: center;
	}
	#office .profile figure.photo img {
		width: 40%;
	}
	#office .profile .text {
		float: none;
		width: 100%;
	}
	#office .license ul li {
		float: none;
		width: 100%;
		text-indent: -0.6em;
	}
	
	#office .office .outline table th {
		font-size: .9em;
	}
	
	#office .access .outline {
		padding: 0;
	}
	#office .access .outline dl,
	#office .access .outline dl dt,
	#office .access .outline dl dd {
		display: block;
		width: 100%;
	}
	#office .access .outline dl dt {
		background: url(images/office/map-sp.jpg) no-repeat;
		background-size: 80%;
		padding-top: 80%;
		background-position: top center;
	}
	#office .access .outline dl dt {
		text-align: center;
		margin-bottom: 15px;
	}
}
@media screen and (max-width: 320px) {
	#office .office .outline table tr,
	#office .office .outline table th,
	#office .office .outline table td {
		display: block;
		width: 100%;
		padding: 10px;
	}
	#office .office .outline table tr {
		padding: 0;
	}
	#office .office .outline table td {
		padding-bottom: 0;
	}
	
	#office .access .outline dl dt {
		background-size: 100%;
		padding-top: 100%;
	}
}

/****************************************
 * 取扱業務
 * **************************************/
section.service-01 {
	clear: both;
	padding: 0 0 15px 0;
}
section.service-01 .inner {
	margin: 0;
	border: 1px solid #4e6f24;
}
section.service-02 {
	padding: 15px 0;
}
section.service-02 .inner {
	margin: 0;
	border: 1px solid #c5514d;
}
section.service-03 {
	padding: 15px 0 30px;
}
section.service-03 .inner {
	margin: 0;
	border: 1px solid #5186e2;
	
}
section.service-01 dl,
section.service-02 dl,
section.service-03 dl {
	display: table;
}
section.service-01 dt,
section.service-01 dd,
section.service-02 dt,
section.service-02 dd,
section.service-03 dt,
section.service-03 dd {
	display: table-cell;
}
section.service-01 dd {
	background: url(images/index/message-01-bg.png) no-repeat;
	background-position: right center;
	background-size: cover;
}
section.service-02 dd {
	background: url(images/index/message-02-bg.webp) no-repeat;
	background-position: right center;
	background-size: cover;
}
section.service-03 dd {
	background: url(images/index/message-03-bg.webp) no-repeat;
	background-position: right center;
	background-size: cover;
}
section.service-01 dt {
	background: #4e6f24;
	vertical-align: middle;
	width: 35%;
}
section.service-02 dt {
	background: #c5514d;
	vertical-align: middle;
	width: 35%;
}
section.service-03 dt {
	background: #5186e2;
	vertical-align: middle;
	width: 35%;
}
section.service-01 dd,
section.service-02 dd,
section.service-03 dd {
	padding: 1.6vw 12vw 1.6vw 1.6vw;
}
section.service-01 h3,
section.service-02 h3,
section.service-03 h3 {
	color: #FFF;
	text-align: center;
	padding: 0 10px;
	line-height: 1.6;
    font-size: 1.3em;
}
section.service-01 h3 span,
section.service-02 h3 span,
section.service-03 h3 span {
	display: block;
}
section.service-01 dd .link,
section.service-02 dd .link,
section.service-03 dd .link {
	text-align: center;
	margin-top: 12px;
}
section.service-01 dd .link a {
	background: #4e6f24;
	color: #FFF;
}
section.service-02 dd .link a {
	background: #c5514d;
	color: #FFF;
}
section.service-03 dd .link a {
	background: #5186e2;
	color: #FFF;
}
section.service-01 dd .link a.arrow:after,
section.service-02 dd .link a.arrow:after,
section.service-03 dd .link a.arrow:after {
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
}


@media screen and (max-width: 1560px) {
	section.service-01 dt,
	section.service-02 dt,
	section.service-03 dt {
		width: 30%;
	}
	section.service-01 dd,
	section.service-02 dd,
	section.service-03 dd {
		width: 70%;
	}
	section.service-01 h3,
	section.service-02 h3,
	section.service-03 h3 {
		font-size: 1.36vw; 
	}
	section.service-01 h3 span,
	section.service-02 h3 span,
	section.service-03 h3 span {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 1194px) {
	section.service-01 dd,
	section.service-02 dd,
	section.service-03 dd {
		padding: 30px 170px 30px 30px;
	}
	section.service-01 dl,
	section.service-01 dt,
	section.service-01 dd,
	section.service-02 dl,
	section.service-02 dt,
	section.service-02 dd,
	section.service-03 dl,
	section.service-03 dt,
	section.service-03 dd {
		display: block;
		width: 100%;
	}
	section.service-01 h3,
	section.service-02 h3,
	section.service-03 h3 {
		margin: 0;
		padding: 10px 0;
		font-size: 1.2em;
		line-height: 1.6;
	}
	section.service-01 h3 span,
	section.service-02 h3 span,
	section.service-03 h3 span {
		display: block;
		font-size: 1.1em;
	}
}
@media screen and (max-width: 980px) {
	section.service-01 dd,
	section.service-02 dd,
	section.service-03 dd {
		padding: 30px 100px 30px 30px;
	}
}
@media screen and (max-width: 559px) {
	section.service-01 dd,
	section.service-02 dd,
	section.service-03 dd {
		padding: calc(35% + 18px) 20px 30px 20px;
	}
	section.service-01 dd {
		background: url(images/index/message_sp-01.png) no-repeat;
		background-size: auto;
		background-position: center top;
	}
	section.service-02 dd {
		background: url(images/index/message_sp-02.webp) no-repeat;
		background-size: contain;
		background-position: center top;
	}
	section.service-03 dd {
		background: url(images/index/message_sp-03.webp) no-repeat;
		background-size: contain;
		background-position: center top;
	}
	
	section.service-01 h3,
	section.service-02 h3,
	section.service-03 h3 {
		font-size: 1em;
	}
	section.service-01 h3 span,
	section.service-02 h3 span,
	section.service-03 h3 span {
		
	}
}

/****************************************
 * 在留資格、相続・遺言、会計記帳
*****************************************/

.sentence {
	margin-bottom: 50px;
	position: relative;
	min-height: 400px;
}
.sentence img.image {
	width: 26vw;
    max-width: 400px;
	float: left;
    margin: 0 3vw 3vw 0;
}
.sentence-pet {
	position: relative;
	margin-bottom: 50px;
	min-height: 520px;
}
.sentence-pet img {
	position: absolute;
	width: 43%;
}
.sentence-pet p,
.sentence-pet ul.menu {
	padding-left: 50%;
}
.sentence-pet ul.menu {
	list-style: none;
	margin: 0 0 50px;
}
.sentence-pet ul.menu li {
	position: relative;
	padding: 0 0 0 25px;
}
.sentence-pet ul.menu li:before {
	content: '';
	display: block;
	position: absolute;
	left: 5px;
	bottom: 13px;
	width: 8px;
	height: 8px;
	border-right: solid 1px #000;
	border-bottom: solid 1px #000;
	transform: rotate(45deg);
}
.sentence-bottom {
	margin-bottom: 50px;
}
.item-box {
	clear: both;
	overflow: hidden;
	margin-bottom: 50px;
}
.item-box p {
	padding: 0;
}
.item-box ul.billboard {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
	text-align: center;
}
.item-box ul.billboard li {
	display: inline-block;
	width: 50%;
}
.item-box dl {
	display: table;
	border: 1px solid #ededed;
}
.item-box dl dt,
.item-box dl dd {
	display: table-cell;
	vertical-align: middle;
	padding: 30px;
}
.item-box dl dt {
	width: 25%;
	background: #ededed;
	text-align: center;
}
.item-box .special {
	border: 1px solid #ededed;
	background: #fafafa url(images/service/certificate.jpg) no-repeat;
	background-size: contain;
	background-position: right top;
	padding: 30px;
}
.item-box .special p {
	padding-right: 30%;
}


.pay {
	width: 90%;
	margin: 0 auto;
}
.pay table {
	width: 100%;
	margin-top: 45px;
}
.pay table caption {
	color: #BDB16A;
	font-size: 1.3rem;
}
.pay table caption:before {
	content: "《";
}
.pay table caption:after {
	content: "》";
}
.pay table th {
	padding: 10px;
	background: #F4F2E6;
}
.pay table td {
	padding: 10px;
	border-bottom: 1px solid #F4F2E6;
}
.pay table th.th1,
.pay table td.td1 {
	width: 40%;
}
.pay table th.th2,
.pay table td.td2 {
	width: 35%;
}
.pay table th.th3,
.pay table td.td3 {
	width: 13%;
}
.pay table th.th4,
.pay table td.td4 {
	width: 12%;
}
.pay table th.th7 {
	width: 30%;
}
.pay table td.td7 {
	width: 70%;
}
.pay table td.price {
	text-align: right;
}

@media screen and (max-width: 1560px) {
	.sentence-pet {
		min-height: 410px;
	}
	.item-box .special {
		background-size: 40%;
		background-position: right 15px center;
	}
	.item-box .special p {
		padding-right: 47%;
	}
}
@media screen and (max-width: 1300px) {
	.item-box dl dt {
		width: 45%;
	}
	.item-box .special {
		background-size: 40%;
		background-position: right 30px top 50%;
	}
	.pay {
		width: 90%;
	}
}
@media screen and (max-width: 1024px) {
	.pay {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.sentence img.image {
		min-width: 105px;
		width: 38vw;
		margin: 0 5vw 5vw 0;
	}
	.sentence-pet {
		min-width: 370px;
	}
}
@media screen and (max-width: 480px) {
	.sentence-pet ul.menu {
		padding: 0;
	}
	.sentence-pet ul.menu li {
		text-align: left;
	}
	.item-box dl,
	.item-box dl dt,
	.item-box dl dd {
		display: block;
		width: 100%;
	}
	.item-box dl dt {
		padding: 5px 0;
	}
	.item-box dl dd {
		padding: 15px;
	}
	.item-box .special {
		background-size: 70%;
		background-position: center bottom 15px;
		padding: 15px 15px 56% 15px;
	}
	.item-box .special p {
		padding: 0;
	}
	.pay table {
		font-size: .86em;
	}
	.pay table th.th7,
	.pay table td.td7 {
		display: block;
		width: 100%;
	}
}
@media screen and (max-width: 380px) {
	.item-box .special {
		background-size: 80%;
		padding: 15px 15px 70%;
	}
}


#service .table_caption {
	font-size: 1.3rem;
	color: #BDB16A;
	margin: 30px auto 0;
}

@media screen and (max-width: 560px) {
	#service .table_caption {
		font-size: 1rem;
	}
}


/*報酬表 在留資格*/
#service table.tableStatus {
	width: 100%;
	margin-top: 30px;
	border-top: 1px solid #F4F2E6;
}
#service table.tableStatus,
#service table.tableStatus tr,
#service table.tableStatus th,
#service table.tableStatus td {
	border-collapse: collapse;
}
#service table.tableStatus th {
	background: #F4F2E6;
	padding: 12px;
}
#service table.tableStatus th:first-child,
#service table.tableStatus th:nth-child(2),
#service table.tableStatus th:nth-child(3) {
	border-right: 1px solid #FFF;
}
#service table.tableStatus td {
	background: #FFF;
	padding: 12px;
	text-align: left;
	border-bottom: 1px solid #F4F2E6;
}
#service table.tableStatus.visa td:nth-child(3),
#service table.tableStatus.visa td:nth-child(4) {
	text-align: right;
}
#service table.tableStatus.visaPlus td:nth-child(2) {
	text-align: right;
}
#service table.tableStatus td span {
	font-size: .8em;
	margin-left: 3px;
}

@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width: 560px) {
	#service p.scroll_msg {
		font-family: sans-serif;
		font-size: .7rem;
		text-align: right;
		margin: 12px 0;
		line-height: 1;
		animation: SlideIn 1.6s infinite;
	}
	@keyframes SlideIn {
		0% {
			opacity: 0;
			transform: translateX(30px);
		}
		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}
	#service .scroll {
		overflow-x: scroll;
	}
	#service table.tableStatus {
		width: 100%;
		margin-top: 0;
		border-collapse: collapse;
		white-space: nowrap;
	}
	#service table.tableStatus {
		font-size: .9rem;
	}
}
@media screen and (max-width: 430px) {
	#service table.tableStatus {
		font-size: .8rem;
	}
}


/*報酬表 相続・遺言*/
#service table.tableInheritance {
	width: 100%;
	margin-top: 30px;
	border-top: 1px solid #F4F2E6;
}
#service table.tableInheritance,
#service table.tableInheritance tr,
#service table.tableInheritance th,
#service table.tableInheritance td {
	border-collapse: collapse;
	
}
#service table.tableInheritance th {
	background: yellow;
	padding: 12px;
}
#service table.tableInheritance td {
	background: #FFF;
	padding: 12px;
	text-align: left;
	border-bottom: 1px solid #F4F2E6;
}
#service table.tableInheritance td:first-child {
	background: #F4F2E6;
	width: 30%;
	text-align: center;
	font-weight: bold;
	border-bottom: 1px solid #FFF;
}
#service table.tableInheritance td:nth-child(2) {
	width: 70%;
}
#service table.tableInheritance td span {
	font-size: .8em;
	margin-left: 3px;
}

@media screen and (max-width: 1024px) {
	#service table.tableInheritance td:first-child,
	#service table.tableInheritance td:nth-child(2) {
		display: block;
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	#service table.tableInheritance {
		font-size: .9rem;
	}
}
@media screen and (max-width: 430px) {
	#service table.tableInheritance {
		font-size: .8rem;
	}
}




/****************************************
 * ご相談の流れ
 * **************************************/

#flow ul.step {
	list-style: none;
	margin: 0;
	padding: 0;
}
#flow ul.step li {
	margin-bottom: 50px;
	clear: both;
	position: relative;
	background: #fafafa;
	padding: 30px;
	min-height: 250px;
}
#flow ul.step li:after {
	content: " ";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -30px;
	border-color: #fafafa rgba(232, 232, 232, 0) rgba(232, 232, 232, 0);
	border-image: none;
	border-style: solid;
	border-width: 30px;
	pointer-events: none;
}
#flow ul.step li:last-child:after {
	content: none;
}
#flow ul.step li dl.step_detail {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
#flow ul.step li dl.step_detail p {
	margin-bottom: .5em;
}
#flow ul.step li dl.step_detail dt {
	vertical-align: top;
	text-align: left;
	border-right: 3px solid #5FB2CD;
	width: 40%;
	padding-right: 45px;
	color: #5FB2CD;
	font-weight: bold;
}
#flow ul.step li dl.step_detail dd {
	width: 64%;
	padding-left: 45px;
}
#flow ul.step li dl.step_detail dt h2 {
	text-align: left;
	padding: 0;
	font-size: 1.3em;
	font-weight: bold;
	background: none;
	margin-bottom: 15px;
}
#flow ul.step li dl.step_detail dt h2:before,
#flow ul.step li dl.step_detail dt h2:after {
	content: none;
}
#flow ul.step li dl.step_detail dt h2 span {
	background: #5FB2CD;
	color: #FFF;
	display: inline-block;
	padding: 0 15px;
	margin-right: 15px;
}
#flow ul.step li dl.step_detail dt img.step-img {
	width: 100%;
}


/*
#flow ul.step li dl.step_detail dt::before {
	content:"";
	display: inline-block;
	position: absolute;
	top: 50px;
	left: 0;
	width: 18vw;
    height: 8.4vw;
	z-index: 1;
}
#flow ul.step li:first-child dl.step_detail dt:before {
	background: url(images/flow/step-bg-01.jpg) no-repeat;
	background-size: 100%;
}
#flow ul.step li:nth-child(2) dl.step_detail dt:before {
	background: url(images/flow/step-bg-02.jpg) no-repeat;
	background-size: 100%;
}
#flow ul.step li:nth-child(3) dl.step_detail dt:before {
	background: url(images/flow/step-bg-03.jpg) no-repeat;
	background-size: 100%;
}
#flow ul.step li:nth-child(4) dl.step_detail dt:before {
	background: url(images/flow/step-bg-04.jpg) no-repeat;
	background-size: 100%;
}
#flow ul.step li:nth-child(5) dl.step_detail dt:before {
	background: url(images/flow/step-bg-05.jpg) no-repeat;
	background-size: 100%;
}
#flow ul.step li:nth-child(6) dl.step_detail dt:before {
	background: url(images/flow/step-bg-06.jpg) no-repeat;
	background-size: 100%;
}
#flow ul.step li:nth-child(7) dl.step_detail dt:before {
	background: url(images/flow/step-bg-07.jpg) no-repeat;
	background-size: 100%;
}
*/
#flow .contact-flex {
	display: flex;
    align-items: center;
    justify-content: space-around;
}
#flow .contact-flex .tel-box {
	width: 50%;
	text-align: center;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'YuGothic', 'Yu Gothic', '游ゴシック', 'Meiryo', 'メイリオ', Helvetica, sans-serif;
	color: #C54D61;
}
#flow .contact-flex .tel-box span {
	display: block;
	font-size: 1.6em;
	font-weight: bold;
	margin-top: -5px;
}
#flow .contact-flex .mail-box {
	width: 50%;
	text-align: center;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'YuGothic', 'Yu Gothic', '游ゴシック', 'Meiryo', 'メイリオ', Helvetica, sans-serif;
	padding: 10px;
}
#flow .contact-flex .mail-box a {
	display: block;
	max-width: 260px;
	text-align: center;
	padding: 12px 30px 12px 12px;
	margin: 0 auto;
	background: #C54D61;
	color: #FFF;
}
#flow .contact-flex .mail-box a:after {
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
}
#flow .contact-flex .mail-box a:hover {
	opacity: .7;
}


@media screen and (max-width: 1560px) {
	#flow .contact-flex {
		flex-direction: column;
	}
	#flow .contact-flex .tel-box,
	#flow .contact-flex .mail-box {
		width: 100%;
	}
}
@media screen and (max-width: 1380px) {
	#flow .tel-box,
	#flow .mail-box {
		float: none;
		width: 100%;
		padding: 0;
	}
	#flow ul.step li:first-child dl.step_detail dt:before,
	#flow ul.step li:nth-child(2) dl.step_detail dt:before,
	#flow ul.step li:nth-child(3) dl.step_detail dt:before,
	#flow ul.step li:nth-child(4) dl.step_detail dt:before,
	#flow ul.step li:nth-child(5) dl.step_detail dt:before,
	#flow ul.step li:nth-child(6) dl.step_detail dt:before,
	#flow ul.step li:nth-child(7) dl.step_detail dt:before {
		width: 190px;
		height: 90px;
	}
}
@media screen and (max-width: 1194px) {
	#flow ul.step li dl.step_detail {
		    flex-direction: column;
	}
	#flow ul.step li dl.step_detail dl,
	#flow ul.step li dl.step_detail dt,
	#flow ul.step li dl.step_detail dd {
		display: block;
		width: 100%;
		padding: 0;
	}
	#flow ul.step li dl.step_detail dt {
		border-right: none;
		display: flex;
		flex-direction: column;
	}
	#flow ul.step li dl.step_detail dt picture {
		width: 100%;
	}
	#flow ul.step li:first-child dl.step_detail dt:before,
	#flow ul.step li:nth-child(2) dl.step_detail dt:before,
	#flow ul.step li:nth-child(3) dl.step_detail dt:before,
	#flow ul.step li:nth-child(4) dl.step_detail dt:before,
	#flow ul.step li:nth-child(5) dl.step_detail dt:before,
	#flow ul.step li:nth-child(6) dl.step_detail dt:before,
	#flow ul.step li:nth-child(7) dl.step_detail dt:before {
		left: unset;
		right: 0;
		top: 0;
	}
	#flow ul.step li dl.step_detail dd {
		padding: 30px 0 0;
	}
	#flow .tel-box span {
		display: inline-block;
		margin-left: 10px;
	}
}
@media screen and (max-width: 768px) {
	#flow .tel-box,
	#flow .mail-box {
		float: left;
		width: 50%;
		padding: 0;
	}
	#flow .tel-box span {
		display: block;
		margin-left: 0;
	}
	#flow .mail-box {
		margin-top: 10px;
	}
}
@media screen and (max-width: 559px) {
	#flow ul.step li:first-child dl.step_detail dt:before,
	#flow ul.step li:nth-child(2) dl.step_detail dt:before,
	#flow ul.step li:nth-child(3) dl.step_detail dt:before,
	#flow ul.step li:nth-child(4) dl.step_detail dt:before,
	#flow ul.step li:nth-child(5) dl.step_detail dt:before,
	#flow ul.step li:nth-child(6) dl.step_detail dt:before,
	#flow ul.step li:nth-child(7) dl.step_detail dt:before {
		top: 50px;
		left: 0;
		right: 0;
		margin: auto;
	}
	#flow .tel-box,
	#flow .mail-box {
		float: none;
		width: 100%;
		padding: 0;
		margin: 0;
	}
	#flow .tel-box span {
		font-size: 1.5em;
	}
}

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

#contact .tel-box {
	overflow: hidden;
	background: url(images/contact/tel-box_bg.gif) repeat;
	width: 800px;
	margin: 0 auto;
	padding: 20px;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'YuGothic', 'Yu Gothic', '游ゴシック', 'Meiryo', 'メイリオ', Helvetica, sans-serif;
}
#contact .tel-box h2:before,
#contact .tel-box h2:after {
	content: none;
}
#contact .contact-title {
	padding: 0;
	background: linear-gradient(transparent 60%, #F7E7EA 60%);
}
#contact .contact-title span {
	display: inline-block;
	background: none;
	padding-left: 80px;
	position: relative;
}
#contact .contact-title span:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	background: url(images/contact/yukimasa.png) no-repeat;
	background-position: left center;
	background-size: 100%;
	width: 75px;
	height: 45px;
}
#contact .tel-box .tel {
	display: flex;
    justify-content: center;
    align-items: center;
}
#contact .tel-box .tel .number {
	font-size: 2em;
	font-weight: bold;
	color: #C54D61;
}
#contact .tel-box .tel .number a {
	color: #C54D61;
}
#contact .tel-box .tel .time {
	font-size: .8em;
	line-height: 1.3;
	margin-left: 12px;
}
#contact .msg {
	text-align: center;
	margin: 30px 0 50px;
}
#contact table {
	width: 100%;
	table-layout: fixed;
	margin-bottom: 50px;
}
#contact table tr {
	width: 100%;
	display: flex;
	align-items: stretch;
}
#contact table th,
#contact table td {
	text-align: left;
	padding: 20px;
}
#contact table th {
	width: 28%;
	font-weight: normal;
	display: flex;
    align-items: center;
	position: relative;
}
#contact table th.hissu {
	background: #E7F3F7;
}
#contact table th:after {
	content: ":";
	position: absolute;
	right: 1em;
}
#contact table th span {
	display: inline-block;
	background: #e2bf0b;
	color: #FFF;
	margin-right: 5px;
	font-size: .6em;
	font-family: sans-serif;
	padding: 0 3px;
}
#contact table td {
	width: 72%;
}
#contact input.name,
#contact input.kana,
#contact input.company,
#contact input.mail,
#contact input.tel {
	width: 70%;
}
#contact textarea.consultation {
	width: 99%;
	height: 200px;
}
#contact .information {
	text-align: center;
}
#contact .information p {
	margin: 0;
}
#contact .btn {text-align:center;margin:30px auto;}
#contact .btn input.send,
#contact .btn input.back {
	margin: 0;
	font-weight: normal;
	-webkit-appearance: none;
	-webkit-transition: all .3s;
	transition: all .3s;
}



@media screen and (max-width: 1330px) {
	#contact table th {
		display: flex;
		align-items: flex-start;
		position: relative;
		flex-direction: column;
		justify-content: center;
		line-height: 1.4;
	}
	#contact table th span {
		margin-bottom: 6px;
	}
}
@media screen and (max-width: 1194px) {
	#contact .tel-box {
		width: 100%;
		padding: 0;
	}
	#contact .tel-box .tel {
		margin-top: 6px;
	}
	#contact .tel-box .tel .number {
		font-size: 2.8vw;
	}
	#contact .tel-box .tel .time {
		font-size: 1.2vw;
	}
	
	#contact table th {
		font-size: .8em;
	}
	#contact table th span {
		display: block;
		font-size: .8em;
	}
	#contact input.name,
	#contact input.kana,
	#contact input.company,
	#contact input.mail,
	#contact input.tel {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	#contact .tel-box {
		width: 100%;
		padding: 0;
	}
	#contact .tel-box .tel .number {
		font-size: 4vw;
	}
	#contact .tel-box .tel .time {
		font-size: 2vw;
	}
}
@media screen and (max-width: 559px) {
	#contact .tel-box h2 {
		font-size: 1.15em;
		padding-bottom: 6px;
	}
	#contact .contact-title span {
		padding-left: 56px;
	}
	#contact .contact-title span:before {
		width: 54px;
		height: 31px;
	}
	#contact .tel-box .tel {
		    flex-direction: column;
		margin-top: 9px;
	}
	#contact .tel-box .tel .number,
	#contact .tel-box .tel .time {
		float: none;
		text-align: center;
	}
	
	#contact .tel-box .tel .number {
		font-size: 2em;
	}
	#contact .tel-box .tel .time {
		margin: 0;
		font-size: 1em;
	}
	#contact .msg {
		text-align: left;
	}
	#contact table tr {
		display: block;
		width: 100%;
		margin-bottom: 0;
		margin-top: 12px;
		padding: 0;
	}
	#contact table th,
	#contact table td {
		display: block;
		width: 100%;
		padding: 12px;
	}
	#contact table th {
		font-size: 1em;
	}
	#contact table th span {
		display: inline-block;
        margin: 0 5px 0 0;
	}
}
@media screen and (max-width: 380px) {
	#contact .tel-box {
		padding: 10px 0;
	}
}
@media screen and (max-width: 320px) {
	#contact .tel-box h2 {
		font-size: 1em;
		font-weight: bold;
		padding-bottom: 6px;
	}
	#contact .contact-title span {
		padding-left: 50px;
	}
	#contact .contact-title span:before {
		width: 45px;
		height: 26px;
	}
	#contact .tel-box .tel .number {
		font-size: 1.6em;
	}
}


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

textarea {
	overflow: auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
textarea {
	font-size: 1em;
	margin: 0;
	padding: 10px;
	max-width: 100%;
	outline: none;
	color: #ededed;
	vertical-align: bottom;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #000;
	border: none;
	border-bottom: 1px solid #333333;
	background: transparent;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
	border-bottom: 1px solid #5FB2CD;
	outline: none;
}

/*ボタン*/
.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;
	font-size: 1.3em;
}
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	width: 40%;
	height: auto;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	cursor: pointer;
}
.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,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border: 2px solid #e2bf0b;
  color: #e2bf0b;
  line-height: 50px;
  overflow: hidden;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	color: #fff;
	background: #e2bf0b;
}
.button::after,
button::after,
input[type="submit"]::after,
input[type="reset"]::after,
input[type="button"]::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.button:hover::after,
button:hover::after,
input[type="submit"]:hover::after,
input[type="reset"]:hover::after,
input[type="button"]:hover::after {
  background: #333;
  -webkit-transform: scale(1);
  transform: scale(1);
}

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

#privacy-policy dl {
	margin-bottom: 20px;
}
#privacy-policy dt {
	font-weight: bold;
}
#privacy-policy ul {
	list-style: inside;
	margin-bottom: 30px;
	margin-left: 20px;
	padding: 0;
}
#privacy-policy ul li {
	padding-left: 1em;
	text-indent: -1.4em;
	margin-bottom: 5px;
}
#privacy-policy a {
	display: inline-block;
	text-decoration: underline;
	color: #5FB2CD;
}

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

#sitemap ul {
	list-style: none;
	margin: -12px 0 0;
	padding: 0;
}
#sitemap ul li {
	position: relative;
	margin-top: 12px;
	padding-left: 28px;
}
#sitemap ul li:after {
	content: '⚫︎';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	color: #ADD8E6;
}
#sitemap ul li ul {
	margin: 0 0 0;
}
#sitemap ul li ul li {
	position: relative;

}
#sitemap ul li ul li:after {
	content: '⚫︎';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	color: #E7F3F7;
}


/****************************************
 * single-blog.php
 * **************************************/

#single #blog-contents .meta {
	overflow: hidden;
	margin: 0 0 30px;
	background: #fafafa;
	border-bottom: 1px solid #5FB2CD;
	font-size: .9em;
	font-weight: bold;
}
#single #blog-contents .meta p.date {
	float: left;
	padding: 5px 10px;
	margin: 0;
}
#single #blog-contents .meta p.category {
	float: right;
	padding: 5px 10px;
	margin: 0;
}
#single #blog-contents .meta p.category a {
	text-decoration: none;
	font-weight: bold;
	color: #333;
}
#single #blog-contents .blog-image {
	text-align: center;
	margin-bottom: 30px;
}
#single #blog-contents .text {
	clear: both;
}
/*関連記事*/
#related-contents {
	background: #fafafa;
}
#related-contents .blog-list h3 {
	position: static;
	padding: 0 0 10px;
}
#related-contents .blog-list h3:before {
	content: none;
}
#related-contents .blog-list {
	width: 80%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	#related-contents .blog-list {
		width: 90%;
	}
}


/****************************************
 * ページナビゲーション
 * **************************************/
nav.navigation {
	overflow: hidden;
	float: none;
	max-width: 100%;
	text-align: center;
	padding: 0;
	margin: 30px 0 0;
}
nav.navigation > div {
	width: 30%;
}
nav.navigation h2.screen-reader-text {
	display: none;
}
nav.navigation .nav-links {
	width: 100%;
	padding: 5px 0;
}
nav.navigation .nav-links span.current {
	color: #333;
	padding: 5px 13px;
	border-radius: 50px;
	margin-right: 10px;
}
nav.navigation .nav-links a.page-numbers {
	display: inline-block;
	margin: 0 10px;
}
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: auto;
	float: none;
}
nav.navigation .nav-links a.prev:hover,
nav.navigation .nav-links a.next:hover {
}

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

/****************************************
 * ページネーション（前へ次へ）
 * **************************************/
nav.prev-next {
	overflow: hidden;
	margin: 0 auto;
	padding: 30px 0;
}
nav.prev-next a {
	width: calc(100%/2);
}
nav.prev-next a.next-link {
	float: right;
	text-align: right;
}
nav.prev-next a.prev-link {
	float: left;
}
nav.prev-next a:hover {
	opacity: .7;
}

@media screen and (max-width: 480px) {
	nav.prev-next {
		padding: 35px 20px 15px;
	}
}

/****************************************
 * WPネイティブCSS
 * **************************************/

.alignleft {
	float: left;
}
.alignright {
	float: right;
}
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;
}

/****************************************
 * single-voice.php
 * **************************************/

#single #voice-contents .meta {
	margin-bottom: 30px;
}
#single #voice-contents .meta p.date {
	display: inline-block;
	float: right;
}
#single #voice-contents .meta p.voice-area {
	display: inline-block;
	font-size: 1.5em;
}
#single #voice-contents .meta p.voice-area span.category {
	font-weight: bold;
}
#single #voice-contents .voice-image {
	text-align: center;
	margin-bottom: 30px;
}
#single #voice-contents .text {
	margin-bottom: 30px;
}
#single #voice-contents .by-office {
	font-size: 1.3rem;
	background: #EDDAE1 url(images/voice/yukimasa-walk.png) no-repeat;
	background-size: 90px;
	background-position: left 20px center;
	padding: 20px 20px 20px 140px;
	border-radius: 100px;
}

@media screen and (max-width: 768px) {
	#single #voice-contents .by-office {
		font-size: 1.2em;
		background-size: 80px;
		padding: 15px 15px 15px 120px;
	}
}
@media screen and (max-width: 480px) {
	#single #voice-contents .meta p.voice-area {
		font-size: 1.2em;
	}
	#single #voice-contents .by-office {
		font-size: 1em;
		background-size: 80px;
		background-position: left 10px center;
		padding: 15px 15px 15px 95px;
	}
}

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

#single #news-contents .meta {
	text-align: right;
	margin: 10px 0 70px;
	border-bottom: 1px solid #5FB2CD;
}

@media screen and (max-width: 480px) {
	#single #news-contents .meta {
		margin: 10px 0 30px;
	}
}

/****************************************
archive-blog.php(アーカイブ)
*****************************************/
.category-box {
	overflow: hidden;
	margin-bottom: 50px;
}
ul.category-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
}
ul.category-list li {
	list-style: none;
	text-align: center;
	margin-right: 30px;
}
ul.category-list li a {
	display: inline-block;
	background: #FFF;
}
ul.category-list li a:before {
	content: "POINT";
	display: inline-block;
	background: #ADD8E6;
	border: 1px #5FB2CD dashed;
	border-radius: 2.5em;
	box-shadow: 0 0 0 4px #ADD8E6;
	color: #FFF;
	height: 2.5em;
	line-height: 2.5;
	margin: 4px 15px 4px 4px;
	padding: 0 15px;
	text-align: center;
	text-decoration: none;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'YuGothic', 'Yu Gothic', '游ゴシック', 'Meiryo', 'メイリオ', Helvetica, sans-serif;
}
.blog-list dl {
	width: 100%;
	display: table;
	margin-top: 30px;
}
.blog-list dt {
	display: table-cell;
	padding: 5px 0;
	width: 70px;
	background: #5FB2CD;
	color: #FFF;
	text-align: center;
	vertical-align: middle;
}
.blog-list dt span {
	display: block;
}
.blog-list dt span.day {
	font-size: 1.6em;
}
.blog-list dt span.month {
	margin-top: -5px;
	font-size: .8em;
}
.blog-list dt span.year {
	margin-top: -5px;
	font-size: .8em;
}
.blog-list dd {
	display: table-cell;
	padding: 0 0 0 30px;
	vertical-align: middle;
}
.blog-list dd span {
	display: inline-block;
	margin-right: 10px;
	font-size: .9em;
}
.blog-list dd span.category {
	display: inline-block;
	font-size: .9em;
}
.blog-list dd a.title {
	display: block;
	font-size: 1.2em;
	line-height: 1.4;
	font-weight: bold;
}
.blog-list dd a.excerpt {
	display: inline-block;
	font-size: 1rem;
	line-height: 1.6;
	margin-top: 6px;
}

@media screen and (max-width: 560px) {
	ul.category-list li {
		width: calc(100%/2);
		margin-top: 5px;
		margin-right: 0;
		text-align: left;
	}
	.blog-list dd {
		padding: 0 0 0 22px;
	}
	.blog-list dd a.excerpt {
		font-size: .9rem;
	}
}
@media screen and (max-width: 380px) {
	ul.category-list {
		flex-wrap: wrap;
		margin-top: -9px;
	}
	ul.category-list li {
		width: 100%;
		margin-top: 9px;
	}
	.blog-list dt {
		width: 56px;
	}
}


/****************************************
 * archive-news.php
 * **************************************/

#news-archive dl {
	display: table;
	width: 100%;
	margin-bottom: 15px;
}
#news-archive dt,
#news-archive dd {
	display: table-cell;
	vertical-align: middle;
	padding: 10px 20px;
}
#news-archive dt {
	width: 20%;
	background: #ADD8E6;
	text-align: center;
}
#news-archive dt a {
	color: #FFF;
}
#news-archive dd span {
	float: right;
}
#news-archive dd span a:after {
	content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 10px;
}

@media screen and (max-width: 768px) {
	#archive #archive-news-contents .content {
		padding: 30px 30px 50px;
	}
}
@media screen and (max-width: 480px) {
	#news-archive dt {
		width: 30%;
	}
	#news-archive dt,
	#news-archive dd {
		padding: 9px 12px;
	}
}


/****************************************
 * 404 error
 * **************************************/
#error {
	text-align: center;
	font-size: 1.2em;
}


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

footer {
	clear: both;
	overflow: hidden;
	background: #ADD8E6;
	padding: 50px 0 0;
}
footer .totop {
	position: fixed;
	bottom: 30px;
	right: 40px;
	z-index: 999;
}
footer .footer-logo {
	text-align: center;
	font-size: .8em;
}
footer .bnr {
    margin-bottom: 60px;
}
footer .bnr ul {
	text-align: center;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .bnr ul li {
	display: inline-block;
	margin: 0 12px;
}
footer .bnr ul li span {
	font-family: sans-serif;
	font-size: .8rem;
}
.must_nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.must_nav ul li {
	font-size: .8em;
}

.sns ul {
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	font-size: 2em;
}
.sns ul li {
	display: inline-block;
	vertical-align: middle;
}
.sns ul li.line {
	margin-right: 10px;
}
.sns ul li.line i {
	color: #00B900;
}
.sns ul li.fb i {
	color: #3C5A99;
}
footer .footer_flex {
	display: flex;
}
footer .footer_flex .footer_box {
	width: calc(100% / 2);
}

#footer-1 {
	text-align: left;
}
#footer-2 {
	text-align: left;
	margin-bottom: 50px;
	font-size: .8em;
}
#footer-1 ul,
#footer-2 ul {
	margin: 0 0 18px;
	padding: 0 0 0 18px;
	border-left: 1px solid #5FB2CD;
}
#footer-1 ul li,
#footer-2 ul li {
	position: relative;
	display: inline-block;
	margin-right: 18px;
}
footer .blog-list {
	margin: 0 0 18px;
	padding: 0 0 0 18px;
	border-left: 1px solid #5FB2CD;
}
footer .blog-list ul.footer_blog_list {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: .8em;
}
footer .blog-list ul.footer_blog_list li {
	margin-top: 3px;
}
footer .blog-list ul.footer_blog_list li:before {
	content: "⚫︎";
	color: #FFF;
	margin-right: 4px;
}
section.copyright {
	clear: both;
	padding: 15px 0;
	background: #ededed;
	font-size: .8em;
}
section.copyright a {
	color: #333;
}
section.copyright #copyright {
	clear: both;
	padding: 0;
	text-align: center;
}
section.copyright #copyright a {
	display: inline;
}

@media screen and (max-width: 1024px) {
	#copyright {
		padding: 30px 0 50px;
	}
}
@media screen and (max-width: 768px) {
	#footer-2 {
		margin: 0;
	}
	#footer-1 ul li,
	#footer-2 ul li {
		line-height: 1.3;
	}
	#footer-1 ul li::after {
		top: 13px;
	}
	#footer-2 ul li::after {
		top: 10px;
	}
}
@media screen and (max-width: 560px) {
	footer {
		padding: 50px 0 60px;
	}
	footer .totop {
		right: 15px;
		bottom: 75px;
	}
	footer .totop img {
		width: 50px;
	}
	footer .bnr {
		margin-bottom: 30px;
	}
	footer .bnr ul {
		flex-direction: column;
	}
	footer .bnr ul li {
		display: block;
		margin-bottom: 12px;
	}
	footer .footer_flex {
		flex-direction: column;
	}
	footer .footer_flex .footer_box {
		width: 100%;
	}
	footer .left,
	footer .right {
		float: none;
		width: 100%;
	}
	footer .left {
		margin-bottom: 30px;
	}
	#footer-1 ul li::after {
		top: 9.5px;
	}
	#footer-2 ul li::after {
		top: 8px;
	}
	section.copyright #copyright {
		padding: 0 15px;
		text-align: center;
	}
}

/****************************************
ログイン画面
*****************************************/
#login h1 a {
	background-size: 100% !important;
	width: 300px !important;
	height: 80px !important;
}

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

/* MW WP Form */
.mw_wp_form .error {
	font-size: .9rem;
	font-weight: bold;
	font-family: sans-serif;
	color: #5FB2CD !important;
}
.mw_wp_form .error:before {
	content: "\f05a";
	font-family: FontAwesome;
	margin-right: 8px;
	margin-left: 10px;
}

/****************************************
Clearfix
*****************************************/
#container:after,
#header .menu > ul:after,
#header ul.menu:after,
.clearfix:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: " ";
	font-size: 0;
}

/* clearfix for ie7 */
#container,
#header .menu > ul,
#header ul.menu,
.clearfix {
	display: inline-block;
}
#container,
#header .menu > ul,
#header ul.menu,
.clearfix {
	display: block;
}
