@charset "UTF-8";

/*
Theme Name: gracemoon.jp_mj2023.1.2
Description: gracemoon.jp_mj2023.1.2
Theme URI: https://majestic.tokyo
Author: gracemoon.jp
Author URI: https://www.gracemoon.jp
Version: 1.2.0
*/

@font-face {
	font-family: 'JuliusSansOne';
	src: url('fonts/JuliusSansOne-Regular.ttf') format('truetype');
	font-display: swap;
}

html, body {
	margin: 0;
	padding: 0;
}
body {
	color: #333;
	font-size: 100%;
	line-height: 1.8;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: 200;
}
/*ページをフェードイン表示*/
/*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;
	word-break: break-all;
}
p {
	margin:0 0 1.5em 0;
	padding: 0;
}
p:last-child {
	margin: 0;
}
@media screen and (max-width: 480px) {
	body {
		font-size: 15px;
	}
}

/****************************************
リンク
*****************************************/
a {
	color: #333;
	text-decoration: none;
	transition: all .3s;
	-webkit-transition: all .3s;
}
a:hover {
	opacity: .7;
	color: #AB9A86;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}
a.link {
	text-decoration: none;
	float: right;
	font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}
a.link:after {
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 10px;
}
/****************************************
ベース
*****************************************/
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;
}

/****************************************
h要素
*****************************************/
h1, h2, h3, h4, h5, h6 {
	font-weight:normal;
}
h1 {
	font-size: 1.8em;
	margin: 0;
}
article h1 {
	text-align: center;
	margin: 50px 0;
}
article h1 span {
	display: block;
	font-family: 'JuliusSansOne';
	font-size: .7em;
}
h2 {
	font-size: 1.8em;
	text-align: center;
	margin: 1em 0;
}
section.index h2 {
	margin: 0 0 50px;
}
section.index h2 span {
	display: block;
	font-family: 'JuliusSansOne';
	font-size: .8em;
}
h3 {
	font-size: 1em;
	text-align: center;
	background: #AB9A86;
	color: #FFF;
	display: inline-block;
	padding: 0 10px;
	margin: 1em 0;
}
h4 {
	font-size: 1em;
	margin: 1em 0;
}
#price h4 {
	display: inline-block;
	font-size: .8em;
	background-color: #ededed !important;
	color: #333 !important;
	border-radius: 50px;
	padding: 3px 15px !important;
	margin: 5px 0 10px 0 !important;
}
#price h4:before {
	content: none !important;
}
#page h4,
#single h4{
	margin: 0 0 10px;
	position: relative;
	padding: 5px 5px 5px 30px;
	color: #ff9a16;
}
#page h4:before,
#single h4:before {
	content: "";
	display: inline-block;
	position: absolute;
	background: url(images/common/h4_bg.jpg) no-repeat;
	background-position: center;
	background-size: cover;
	width: 16px;
	height: 3px;
	left: 0;
	top: 25px;
}
h5 {
	font-size: 1.2em;
	margin: 0 0 10px;
}
h6 {
	font-size: 1.0em;
}

@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: 559px) {
	h1 {
		font-size: 1.4em;
		margin: 0;
	}
	article h1 {
		margin: 30px 0;
	}
	h2 {
		font-size: 1.4em;
		text-align: center;
	}
	h3 {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 480px) {

	
	#page h2,
	#single h2,
	#category h2,
	article#page-wide h2 {
		margin: 0 0 50px;
		line-height: 1.6;
	}
	#page h3,
	#single h3{
		padding: 5px 5px 5px 25px;
	}
	#page h3:before,
	#single h3:before {
		width: 14px;
		height: 5px;
		left: 0;
		top: 18px;
	}
}
@media screen and (max-width: 380px) {
	h1 {
		font-size: 1.3em;
		margin: 0;
	}
	h2 {
		font-size: 1.3em;
		text-align: center;
	}
	h3 {
		font-size: 1em;
	}
	#page h2,
	#single h2,
	#category h2,
	article#page-wide h2 {
		line-height: 1.4;
	}
}

/****************************************
リスト
*****************************************/
ul,
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;
}
header .inner {
	overflow: hidden;
	position: relative;
	padding: 15px 0;
}
header .logo-area {
	float: left;
}
header .header-contact {
	float: right;
}
header .header-contact ul.top-fixed {
	position: absolute;
	top: 10px;
	right: 0;
}
header .header-contact ul.top-fixed li {
	display: inline-block;
	padding: 10px 0;
}
header .header-contact ul.top-fixed li span {
	margin-left: 5px;
	font-family: 'JuliusSansOne';
}
header .header-contact ul.top-fixed li.tel {
	margin-right: 30px;
}
header .header-contact ul.top-fixed li.mail {
	font-size: 1.1em;
}

@media screen and (max-width: 1200px) {
}
@media screen and (max-width: 1024px) {
	header .header-contact ul.top-fixed {
		right: 70px;
	}
}
@media screen and (max-width: 768px) {
	header .header-contact {
		display: none;
	}
	header .logo-area {
		width: 100%;
		text-align: center;
	}
}
@media screen and (max-width: 480px) {
	header .logo-area img {
		width: 50%;
	}
}

/****************************************
レイアウト
*****************************************/
.inner {
	width: 1000px;
	margin: 0 auto;
}
main {
	overflow: hidden;
	width: 1000;
	margin: 0 auto;
}
article {
	width: 100%;
	margin: 0 auto 100px;
}
article#page-wide {
	margin: 0 auto !important;
}
section {
	padding: 100px 0;
}
section.contents {
	padding: 0;
}
.content {
	overflow: hidden;
	width: 800px;
	margin: 0 auto 50px;
}

@media screen and (max-width: 1200px) {
	.inner {
		width: 94%;
	}
}
@media screen and (max-width: 1024px) {
	main.sub {
		width: 100%;
		margin-bottom: 50px;
	}
	aside {
		margin-left: 20px;
	}
}
@media screen and (max-width: 768px) {
	.inner {
		width: 92%;
	}
	article {
		float: none;
		width: 100%;
		margin: 0 auto 30px;
	}
	aside {
		display: none;
	}
	section {
		padding: 50px 0;
	}
	.content {
		width: 100%;
	}
}
@media screen and (max-width: 559px) {
	.content {
		margin: 0 auto 30px;
	}
}

/****************************************
共通
*****************************************/
.anchor {
    display: block;
    padding-top: 200px;
    margin-top: -200px;
}
span.date,
nav.navigation {
	font-family: 'JuliusSansOne';
}
.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.linebtn {
	display: inline-block;
	position: relative;
	background-image: linear-gradient(120deg, #AB9A86 0%, #5E554A 100%);
	font-weight: 200;
	font-family: 'JuliusSansOne';
	padding: 12px 3em 12px 4.3em;
	color: #fff;
	border-radius: 60px;
}
a.linebtn:before {
	content: '';
	position: absolute;
	left: 1.8em;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon-line.png) no-repeat;
	background-size: 100%;
	width: 22px;
	height: 22px;

}


a.arrow {
	position: relative;
	background-image: linear-gradient(120deg, #AB9A86 0%, #5E554A 100%);
	font-weight: 200;
	padding: 10px 60px 10px 20px;
	color: #fff;
}
a.arrow:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 5px;
	height: 5px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: rotate(45deg);
	margin: -3px 0 0;
}
a.arrow:hover {
	background-position: -100% 100%;
}
a.double {
	display: inline-block;
	padding: 10px 15px;
	position: relative;
	border: 1px solid #333;
	transition: .6s;
	width: 60%;
}
.double:hover {
	border: 1px solid transparent;
	color: #AB9A86;
}
.double:before,
.double:after {
	width: 100%;
	height: 100%;
	z-index: 3;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	transform: scale(0);
	transition: .6s;
}
.double:before {
  border-bottom:1px solid #AB9A86;
  border-left: 1px solid #AB9A86;
	transform-origin: 100% 0%;
}
.double:after {
	border-top: 1px solid #AB9A86;
	border-right: 1px solid #AB9A86;
	transform-origin: 0% 100%;
}
.double:hover:after,
.double:hover:before {
	transform: scale(1);
}

/****************************************
スマホ時最下部の問い合わせ
*****************************************/
ul.contact_fixed {overflow: hidden;position: fixed;width: 100%;bottom:0;background: #126e44;z-index: 9999;}
ul.contact_fixed li.tel,ul.contact_fixed li.mail {float: left;text-align: center;font-size: 180%;padding: 8px 0;}
ul.contact_fixed li.tel {width:80%;}
ul.contact_fixed li.mail {background-color: #6d4c37;width:20%;}
ul.contact_fixed li.tel span {margin-left:15px;}
ul.contact_fixed a {color:#FFFFFF;display:block;}
ul.contact_fixed p.msg {margin:0;color:#FFF;}

/****************************************
ナビゲーション（nav#general）
*****************************************/
nav#general {
	position: sticky;
	width: 100%;
	height: 90px;
	display: flex;
	box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.2);
}
nav#general.fixed{
    position: fixed;
    top: 0;
	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 {
	text-align: center;
	display: flex;
	justify-content: space-between;
}
nav#general ul#menu-gn li {
	position: relative;
}
nav#general ul#menu-gn li i {
	display: block;
	margin-bottom: 5px;
}
nav#general ul#menu-gn li span {
	display: block;
	font-family: 'JuliusSansOne';
	font-size: 12px;
	margin-top: -2px;
}
nav#general ul#menu-gn li a {
	display: block;
	position: relative;
	padding: 5px;
	font-size: .9em;
	border-bottom: none;
	margin: 0 10px 5px;
}
nav#general ul#menu-gn li a::before,
nav#general ul#menu-gn li a::after {
  border-bottom: solid 1px #5E554A;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}
nav#general ul#menu-gn li a::before {
  left: 50%;
}
nav#general ul#menu-gn li a::after {
  right: 50%;
}
nav#general ul#menu-gn li a:hover::before,
nav#general ul#menu-gn li a:hover::after {
  width: 50%;
}


nav#general ul.sub-menu,
nav ul.children {
	position: absolute;
	left: -1px;
	display: none;
	margin-left: 0;
	width: auto;
	width: 300px;
	border: 1px solid #ddd;
	background: #eee;
}
nav#general .sub-menu li,
nav .children li {
	position: relative;
	border: none;
}
nav#general .sub-menu li a,
nav .children li a {
	background: #6B574C;
}
nav#general ul.sub-menu ul,
nav ul.children ul {
	top: -1px;
	left: 150px;
}
nav#general .menu li:hover > ul{
	display: block;
}

@media screen and (max-width: 768px) {
	nav#general {
		display: none;
	}
}

/****************************************
ナビゲーション（nav#full-screen）
*****************************************/
/*ハンバーガー*/
.hamburger {
    height: 20px;
    position: fixed;
    right: 20px;
    top: 20px;
    width: 30px;
    z-index: 9999;
}
.hamburger-line {
    background: #5E554A;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.hamburger-line-center{
    top: 9px;
}
.hamburger-line-bottom{
    bottom: 0;
}
.hamburger-line-top.active{
    top: 8px;
    transform: rotate(45deg);
}
.hamburger-line-center.active{
    transform:scaleX(0);
}
.hamburger-line-bottom.active{
    bottom: 10px;
    transform: rotate(135deg);
}

/*フルスクリーンのナビゲーション*/
nav.gn-full-screen-menu {
	background: rgba(0,0,0,0.8);
	display: none;
	height: 100%;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999;
}
.menu-sp-menu-container　{
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	position: absolute;
	width: 100%;
}
.menu-sp-menu-container ul#menu-sp-menu {
	margin: 60px 0;
	text-align: center;
}
.menu-sp-menu-container ul#menu-sp-menu li {
	position: relative;
	font-weight: 200;
	padding: 0;
	color: #fff;
}
.menu-sp-menu-container ul#menu-sp-menu li:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10%;
	width: 5px;
	height: 5px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: rotate(45deg);
	margin: -3px 0 0;
}
.menu-sp-menu-container ul#menu-sp-menu a {
	color: #fff;
	font-size: 1.3em;
	transition: .5s;
	padding: 10px;
	display: block;
}
.menu-sp-menu-container ul#menu-sp-menu a span {
	font-family: 'JuliusSansOne';
	margin-right: 5px;
}
.menu-sp-menu-container ul#menu-sp-menu a span:after {
	content: "-";
	margin-left: 5px;
}
.gnav__menu__item a:hover{
    color: #666;
}

@media screen and (max-width: 380px) {
	.menu-sp-menu-container ul#menu-sp-menu a {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 320px) {
	.menu-sp-menu-container ul#menu-sp-menu a {
		font-size: 1em;
	}
}


/****************************************
パンくず
*****************************************/
.breadcrumbs {
	font-size: .8em;
	margin: 30px 0;
}

/****************************************
フェードイン
*****************************************/
.fadein {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
}

/****************************************
別ウィンドウリンク
*****************************************/
a.window {
	margin-right: 5px;
}
a.window:after {
	content: "\f2d2";
	font-family: "Font Awesome 5 Free";
	vertical-align: middle;
	display: inline-block;
	margin-left: 5px;
}

/****************************************
p-contact.php
*****************************************/
section#p-contact {
	clear: both;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(245,245,245,.7), rgba(245,245,245,.72)) fixed,
	url(images/p-contact/bg-min.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding: 100px 0;
}
section#p-contact h4 {
	font-size: 1.6em;
	letter-spacing: .3em;
	color: #AB9A86;
	margin: 0;
}
section#p-contact h4 span {
	display: block;
	font-size: .5em;
	letter-spacing: 0;
	color: #5E554A;
}
section#p-contact .left {
	background: rgba(255,255,255,0.8);
	width: 60%;
	padding: 10px;
}
section#p-contact .left .line {
	border-left:1px solid #AB9A86;
	border-right:1px solid #5E554A;
}
section#p-contact .left .line:before,
section#p-contact .left .line:after {
	content:"";
	display:block;
	height:1px;
	width:100%;
	background:-webkit-gradient(linear, left top, right bottom, from(#AB9A86), to(#5E554A));
	background:-moz-linear-gradient(left, #AB9A86, #5E554A);
	background:linear-gradient(left, #AB9A86, #5E554A);
}
section#p-contact .left .line .box {
	padding: 30px;
}
section#p-contact .left .line .box span {
	display: block;
}
section#p-contact.contact-btn {
	text-align: center;
	font-size: .9em !important;
	font-weight: normal !important;
}

@media screen and (max-width: 768px) {
	section#p-contact .left {
		width: 90%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 560px) {
	section#p-contact {
		padding: 90px 0;
		background: linear-gradient(135deg, rgba(245,245,245,.7), rgba(245,245,245,.72)) fixed,
			url(images/p-contact/bg_sp.png);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}
}
@media screen and (max-width: 430px) {
	section#p-contact .left {
		width: 100%;
	}
	section#p-contact  {
		padding: 60px 0;
	}
}

/****************************************
p-map.php
*****************************************/
section.p-map {
	padding: 0;
	line-height: 0;
}

/****************************************
p-menu.php
*****************************************/
#p-menu {
	background: #DFD9D1;
	position: relative;
}
#p-menu .box {
	width: 930px;
	margin: 0 auto;
}
#p-menu ul.top,
#p-menu ul.bottom {
	display: table;
	text-align: center;
}
#p-menu ul.top {
	width: 620px;
	margin: 0 auto;
}
#p-menu ul.top li {
	display: table-cell;
	width: calc(100%/2);
	padding: 5px;
	position: relative;
}
#p-menu ul.bottom li {
	display: table-cell;
	width: calc(100%/3);
	padding: 5px;
	position: relative;
}
#p-menu ul.top li img,
#p-menu ul.bottom li img {
  width: 100%;
  cursor: pointer;
  filter: grayscale(100%);
  transition-duration: .3s;
}
#p-menu ul.top li img:hover,
#p-menu ul.bottom li img:hover {
  filter: grayscale(0);
  transition-duration: .3s;
	opacity: 1;
}
#p-menu ul.top li a:hover,
#p-menu ul.bottom li a:hover {
	opacity: 1;
}
#p-menu ul.top a p {
	position: absolute;
	top: 40%;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 1.3em;
}
#p-menu ul.top a p span {
	display: block;
	font-size: .9em;
	font-family: 'JuliusSansOne';
}

@media screen and (max-width: 768px) {
	#p-menu .box {
		width: 94%;
	}
	#p-menu ul.top {
		width: 67%;
	}
}
@media screen and (max-width: 480px) {
	#p-menu .box {
		width: 94%;
	}
	#p-menu ul.top {
		width: 100%;
	}
	#p-menu ul.bottom li {
		display: block;
		width: calc(100%/2);
		float: left;
	}
	#p-menu ul.bottom li:last-child {
		width: 100%;
	}
	#p-menu ul.bottom li:last-child img {
		width: 50%;
	}
}

/****************************************
p-articles.php
*****************************************/
section.p-articles {
	clear: both;
	overflow: hidden;
	background: #fafafa url(images/p-articles/bg.png) no-repeat;
	background-position: right 220px bottom;
	background-size: 270px;
	padding-bottom: 50px;
}
section.p-articles h3 {
	margin: 0 0 10px;
}
section.p-articles h4 {
	margin: 0;
	font-size: 1.2em;
}
section.p-articles .box {
	margin: 0 0 30px;
	font-size: .9em;
}
section.p-articles .category-box {
	float: left;
	width: 270px;
	padding: 0 15px;
	border-left: 1px solid #ededed;
	font-size: .9em;
}
section.p-articles .category-box ul.post-list {
	
}
section.p-articles .category-box ul.post-list li {
	position: relative;
	padding-left: 15px;
}
section.p-articles .category-box ul.post-list li:after {
	display: block;
	content: '-';
	position: absolute;
	top: 1px;
	left: 0;
}

@media screen and (max-width: 1320px) {
	section.p-articles {
		background-position: right 120px bottom;
	}
}
@media screen and (max-width: 1150px) {
	section.p-articles {
		background-position: right 0 bottom;
	}
}
@media screen and (max-width: 1080px) {
	section.p-articles .box {
		width: 70%;
	}
	section.p-articles .category-box {
		width: 250px;
	}
}
@media screen and (max-width: 768px) {
	section.p-articles .box {
		width: 100%;
	}
	section.p-articles .category-box {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 480px) {
	section.p-articles {
		background-size: 180px;
	}
}

/****************************************
スライド
*****************************************/
section.p-slide {
	padding: 0;
}

/****************************************
トップページ
*****************************************/
/*トップイメージ */
section#hero {
	padding: 0;
}
/*section#hero {
	background: url(images/index/topimage.jpg) no-repeat;
	background-position: bottom;
	background-size: cover;
	width: 100%;
	height: auto;
	padding: 0;
	position: relative;
}
section#hero:before {
	content: "";
	display: block;
	padding-top: 35%;
}*/

section#hero .overlap {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: -500px;
}
section#firsttime {
	clear: both;
	background: url(images/index/firsttime-bg.jpg) no-repeat;
	background-position: center;
	background-size: cover;
}
section#firsttime ul {
	display: table;
	text-align: center;
	width: 100%;
}
section#firsttime ul li {
	display: table-cell;
	width: calc(100%/3);
}
section#firsttime ul li dl {
	width: 300px;
	margin: 30px auto 25px;
}
section#firsttime ul li dt {
	font-size: 1.6em;
	color: #5E554A;
	border-top: 1px solid #5E554A;
	border-bottom: 1px solid #5E554A;
	position: relative;
	text-align: left;
	padding-left: 96px;
}
section#firsttime ul li dt:after {
	content: "";
	position: absolute;
	display: inline-block;
	background: url(images/index/course-fristtime-limited.jpg) no-repeat;
	background-size: cover;
	width: 60px;
	height: 60px;
	left: 20px;
	top: -16%;
}
section#firsttime ul li dd {
	margin: 30px auto 0;
	text-align: center;
	width: 300px;
}
section#firsttime ul li dd > dl.price {
	display: table;
	margin: 0 0 10px 0;
}
section#firsttime ul li dd > dl.price dt,
section#firsttime ul li dd > dl.price dd {
	display: table-cell;
	border: none;
	font-size: 1em;
}
section#firsttime ul li dd > dl.price dt {
	width: 380px;
	padding-left: 10px;
}
section#firsttime ul li dd > dl.price dt:after {
	content: none;
}
section#firsttime ul li dd > dl.price dd {
	text-align: right;
	padding-right: 10px;
}
section#firsttime ul li p {
	width: 300px;
	margin: 0 auto;
	text-align: left;
}


/* クーポンメニュー */
section#coupon {
	background: url(images/index/coupon_bg.jpg) no-repeat;
	background-size: cover;
}
section#coupon .coupon-list {
}
section#coupon .coupon-list ul {
	text-align: center;
	overflow: hidden;
}
section#coupon .coupon-list ul.top {
	width: 70%;
	text-align: center;
	margin: 0 auto;
}
section#coupon .coupon-list ul.top li {
	float: left;
	width: calc(100%/2);
	margin-bottom: 30px;
}
section#coupon .coupon-list ul.top li .box {
	padding: 0 15px;
	background: url(images/index/glitter_bg.png) no-repeat;
	background-position: center top 75px;
	background-size: 80%;
}
section#coupon .coupon-list ul.middle {
	text-align: center
}
section#coupon .coupon-list ul.middle li {
	float: left;
	width: calc(100%/3);
	margin-bottom: 30px;
}
section#coupon .coupon-list ul.middle li .box {
	padding: 0 15px;
	background: url(images/index/glitter_bg.png) no-repeat;
	background-position: center top 75px;
	background-size: 80%;
}
section#coupon .coupon-list ul.bottom {
	width: 70%;
	text-align: center;
	margin: 0 auto;
}
section#coupon .coupon-list ul.bottom li {
	float: left;
	width: calc(100%/2);
}
section#coupon .coupon-list ul.bottom li .box {
	padding: 0 15px;
	background: url(images/index/glitter_bg.png) no-repeat;
	background-position: center top 75px;
	background-size: 80%;
}
section#coupon .coupon-list ul li .box h3 {
	position: relative;
	width: 100%;
	padding: 10px;
}
section#coupon .coupon-list ul li .box h3 span {
	position: absolute;
	bottom: -20px;
	right: 5px;
	font-size: .8em;
	background: #5E554A;
	padding: 12px 10px;
	border-radius: 50px;
}
section#coupon .coupon-list ul li p.old-price {
	font-size: 1.2em;
	display: inline-block;
	margin: 0 10px 0 0;
}
section#coupon .coupon-list ul li p.old-price span {
	font-size: .8em;
	display: block;
	text-align: center;
	margin-bottom: -5px;
}
section#coupon .coupon-list ul li p.price {
	font-size: 1.6em;
	display: inline-block;
	margin: 15px;
	color: #A83080;
}
section#coupon .coupon-list ul li p.price span {
	font-size: .8em;
	text-align: center;
}
section#coupon .coupon-list ul li .details {
	border-top: 1px solid #AB9A86;
	border-bottom: 1px solid #AB9A86;
	padding: 10px 25px;
	text-align: left;
}
section#coupon .coupon-list ul li .details p {
	margin: 0;
}
section#coupon .coupon-list .link {
	margin: 15px 0;
	text-align: center;
}

section#instagram {
	
}
section#instagram .eapps-instagram-feed-title {
	display: none !important;
}

@media screen and (max-width: 768px) {
	section#top-image {
		background: url(images/index/topimage_tb.jpg) no-repeat;
		background-position: bottom;
		background-size: cover;
		width: 100%;
		height: auto;
		padding: 0;
		position: relative;
		margin-bottom: 80px;
	}
	section#top-image:before {
		padding-top: 400px;
	}
	section#coupon .coupon-list ul.top,
	section#coupon .coupon-list ul.bottom {
		width: 100%;
	}
	section#firsttime {
		background: url(images/index/firsttime-bg_tb.jpg) no-repeat;
		background-attachment: fixed;
		background-size: cover;
	}
	section#firsttime ul {
		display: block;
	}
	section#firsttime ul li {
		clear: both;
		overflow: hidden;
		display: block;
		width: 100%;
		margin: 0 auto 30px;
	}
	section#firsttime ul li img {
		float: left;
		max-width: 40%;
	}
	section#firsttime ul li dl {
		float: right;
		width: 53%;
		margin: 10px 0;
	}
	section#firsttime ul li dd {
		width: 100%;
	}
	section#firsttime ul li dd > dl.price {
		float: none;
		width: 100%;
	}
	section#firsttime ul li dd > dl.price dt {
		width: 65%;
	}
	section#firsttime ul li p {
		width: 100%;
		padding-left: 48%;
	}
}
@media screen and (max-width: 559px) {
	section#coupon .coupon-list ul li .details {
		padding: 10px 0px;
	}
	section#firsttime ul li dt {
		font-size: 1.3em;
	}
	section#firsttime ul li dt:after {
		width: 50px;
		height: 50px;
	}
	section#coupon .coupon-list ul li p.price {
		margin: 0;
	}
	section#coupon .coupon-list ul.middle li .box {
		background-position: center top 65px;
	}
}
@media screen and (max-width: 480px) {
	section#top-image {
		background: url(images/index/topimage_sp.png) no-repeat;
		background-position: bottom;
		background-size: cover;
		width: 100%;
		height: auto;
		padding: 0;
		position: relative;
		margin-bottom: 70px;
	}
	section#top-image:before {
		padding-top: 104%;
	}
	section#coupon {
		padding-top: 80px;
	}
	section#coupon .coupon-list ul.top li,
	section#coupon .coupon-list ul.middle li,
	section#coupon .coupon-list ul.bottom li {
		float: none;
		width: 100%;
		margin-bottom: 15px;
	}
	section#coupon .coupon-list ul li .box h3 {
		text-align: left;
	}
	section#coupon .coupon-list ul li .box h3 img {
		width: 65%;
	}
	section#coupon .coupon-list ul li .box h3 span {
		font-size: 1em;
		bottom: -8px;
	}
	section#coupon .coupon-list .link {
		margin: 15px 0 30px;
	}
	section#firsttime {
		background: url(images/index/firsttime-bg_sp.jpg) no-repeat;
		background-attachment: fixed;
		background-size: cover;
	}
	section#firsttime ul li img {
		float: none;
		max-width: 70%;
		margin-bottom: 20px;
	}
	section#firsttime ul li dl {
		float: none;
		width: 90%;
		margin: 0 auto;
	}
	section#firsttime ul li p {
		padding: 0;
		width: 90%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 380px) {
	section#coupon .coupon-list ul.top li .box,
	section#coupon .coupon-list ul.middle li .box,
	section#coupon .coupon-list ul.bottom li .box {
		background-position: center top 65px;
		padding: 0;
	}
	section#firsttime ul li dl {
		width: 100%;
		padding: 0;
	}
	section#firsttime ul li img {
		max-width: 100%;
	}
}


/*　キャンペーンメニュー */
.campaign-list {
	width: 100%;
	margin-bottom: 60px;
}
.campaign-list .campaign_menu {
	width: 760px;
	margin: 0 auto 45px;
	background: url(images/index/glitter_wide_bg-min.png) no-repeat;
	background-position: top -25px center;
	background-size: 80%;
	position: relative;
}
.campaign-list .campaign_menu h3 {
	display: block;
	padding: 23px 0 8px 0;
	font-size: 1.6em;
}
.campaign-list .campaign_menu img.campaign_num {
	position: absolute;
	left: 30px;
	top: -19px;
}
.campaign-list .campaign_menu dl {
	width: 100%;
	display: table;
}
.campaign-list .campaign_menu dt {
	display: table-cell;
	vertical-align: middle;
	font-size: 1.6em;
	width: 65%;
	text-align: center;
}
.campaign-list .campaign_menu dd {
	display: table-cell;
	vertical-align: middle;
	font-size: 1.6em;
	color: #A83080;
}
.campaign_bnr {
	width: 100%;
	text-align: center;
}
.campaign_contact {
	width: 100%;
	text-align: center;
	margin-top: 60px;
}
.campaign_contact a {
	font-family: 'JuliusSansOne';
}

@media screen and (max-width: 768px) {
	.campaign-list .campaign_menu {
		width: 100%;
	}
	.campaign_bnr img {
		width: 49%;
	}
}
@media screen and (max-width: 559px) {
	.campaign-list .campaign_menu h3 {
		padding: 38px 20px 15px 20px;
		font-size: 1.3em;
	}
	.campaign-list .campaign_menu img.campaign_num {
		left: 25px;
	}
	.campaign-list .campaign_menu dt {
		width: 73%;
	}
}
@media screen and (max-width: 480px) {
	.campaign-list .campaign_menu h3 {
		padding: 38px 20px 15px 20px;
		font-size: 1.3em;
		line-height: 1.4;
	}
	.campaign-list .campaign_menu img.campaign_num {
		width: 200px;
	}
	.campaign-list .campaign_menu dt,
	.campaign-list .campaign_menu dd {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 420px) {
	.campaign-list {
		margin-bottom: 30px;
	}
	.campaign-list .campaign_menu h3 {
		padding: 30px 20px 15px 20px;
		font-size: 1.3em;
	}
	.campaign-list .campaign_menu {
		margin: 0 auto 30px;
	}
	.campaign-list .campaign_menu img.campaign_num {
		top: -18px;
		left: 0;
		right: 0;
		margin: auto;
		width: 180px;
	}
	.campaign_bnr img {
		width: 100%;
	}
	.campaign_bnr img.campaign_bnr_01 {
		margin-bottom: 5px;
	}
	.campaign_contact {
		margin-top: 30px;
	}
}
@media screen and (max-width: 380px) {
	.campaign-list .campaign_menu h3 {
		padding: 23px 15px 10px 15px;
		font-size: 1.1em;
	}
	.campaign-list .campaign_menu dt {
		font-size: 1.1em;
	}
	.campaign-list .campaign_menu img.campaign_num {
		top: -10px;
		width: 130px;
	}
}
@media screen and (max-width: 320px) {
	.campaign-list .campaign_menu {
		margin: 0 auto 20px;
	}
	.campaign-list .campaign_menu dt {
		width: 78%;
		font-size: 1em;
	}
}

/****************************************
固定ページ・投稿ページ共通
*****************************************/
section#title-hero {
	padding: 80px;
	background: url(images/common/title-image.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}
@media screen and (max-width: 768px) {
	section#title-hero {
		background: url(images/common/title-image_tb.jpg) no-repeat;
		padding: 145px;
	}
}
@media screen and (max-width: 480px) {
	section#title-hero {
		background: url(images/common/title-image_sp.jpg) no-repeat;
		padding: 75px;
	}
}

/*アイキャッチ */
article .post_thumbnail {
	text-align: center;
}
article img.wp-post-image {
	margin-bottom: 50px;
}
.post-meta .post-date {font-size: 80%;width: 100%;text-align: right;}

span.red {color:#FF0000;font-weight:bold;}
span.green {color:green;font-weight:bold;}
.red { color: #FF0000;}
.blue { color: blue;}
.font12 {font-size: 1.2em;}
.font11 {font-size: 1.1em;}
.font90 {font-size: 90%;}
.font80 {font-size: 80%;}
.font70 {font-size: 70%;}
.textleft {text-align: left;}
.textcenter {text-align: center;}
.textright {text-align: right;}
.mg10 {margin-bottom: 10px;}
.mg20 {margin-bottom: 20px;}

@media screen and (max-width: 768px) {
	article img.wp-post-image {
		margin-bottom: 0;
	}
}

/****************************************
固定ページ：アバウト about
*****************************************/
#about section.items {
	padding: 100px 0 0;
}
#about section.items #item-01 {
	position: relative;
	padding-bottom: 30px;
}
#about section.items #item-02 {
	background: #F4F2EF;
	position: relative;
	padding-bottom: 10px;
}
#about section.items .box {
	position: relative;
	width: 800px;
	margin: 0 auto;
	padding: 100px 0;
}
#about section.items h2 {
	margin-bottom: 30px;
}
#about section.items #item-01 .box {
	padding: 30px 0 200px;
}
#about section.items #item-01 p.word1 {
	font-family: 'JuliusSansOne';
	font-size: 3em;
	margin: 0;
}
#about section.items #item-01 p.word2 {
	text-align: right;
	font-size: 2.2em;
	margin: 0 0 50px;
}
#about section.items #item-01 .box img.title-image-item-01 {
	position: absolute;
	top: -60px;
	left: -12.5%;
}
#about section.items #item-01 h2,
#about section.items #item-01 > .box p {
	margin-left: 44%;
	text-align: left;
}
#about section.items #item-02 .box img.title-image-item-02 {
	position: absolute;
	top: -60px;
	right: -12.5%;
}
#about section.items #item-02 h2,
#about section.items #item-02 > .box p {
	margin-right: 44%;
	text-align: left;
}
#about section.items #item-03 .box img.title-image-item-03 {
	position: absolute;
	top: -60px;
	left: -12.5%;
}
#about section.items h2 span {
	display: block;
	font-family: 'JuliusSansOne';
	font-size: .8em;
}
#about section.items .main-box {
	width: 800px;
	margin: 30px auto 100px;
}
#about section.items span {
	font-weight: bold;
}

/*よくある質問*/
#about section.items #item-03 .set {
	padding: 20px 0;
	border-bottom: 1px solid #ededed;
}
#about section.items #item-03 label.set-q {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 10px 0 0;
	cursor: default;
}
#about section.items #item-03 label.set-q > span {
	font-family: 'JuliusSansOne';
	margin-right: 20px;
}
#about section.items #item-03 label.set-q i {
	color: #F98D00;
}
#about section.items #item-03 .set-a {
	position: relative;
	overflow: hidden;
	height: auto;
	margin: 0 0 0 39px;
	padding: 20px 0;
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
	opacity: 1;
}
#about section.items #item-03 .set-mark {
	display: none;
}
#about section.items #item-03 .set input[type=checkbox] {
  display: none;
}

@media screen and (max-width: 1024px) {
	#about section.items #item-01 .box {
		padding: 0px 0 200px;
		width: 85%;
	}
	#about section.items #item-01 .box img.title-image-item-01 {
		left: 0;
	}
	#about section.items #item-01 h2,
	#about section.items #item-01 > .box p {
		margin-left: 50%;
	}
	#about section.items #item-02 .box img.title-image-item-02 {
		right: 0;
	}
	#about section.items #item-02 h2,
	#about section.items #item-02 > .box p {
		margin-right: 50%;
	}
}
@media screen and (max-width: 768px) {
	#about section.items #item-01 .box {
		padding: 0px 0 160px;
	}
	#about section.items #item-01 .box img.title-image-item-01 {
		width: 40%;
	}
	#about section.items #item-01 > .box p {
		font-size: 1.2em;
	}
	#about section.items #item-01 p.word1 {
		font-size: 2.2em !important;
	}
	#about section.items #item-01 p.word2 {
		font-size: 1.6em !important;
	}
	#about section.items #item-02 .box img.title-image-item-02 {
		width: 40%;
	}
	#about section.items .box {
		width: 85%;
		padding: 50px 0;
	}
	#about section.items .main-box {
		width: 85%;
	}
}
@media screen and (max-width: 559px) {
	#about section.items {
		padding: 0;
	}
	#about section.items #item-01 .box {
		text-align: center;
		padding: 0px 0 100px;
	}
	#about section.items #item-01 .box img.title-image-item-01 {
		position: static;
		width: 75%;
	}
	#about section.items #item-01 > .box p {
		margin: 0;
		font-size: 1em;
	}
	#about section.items #item-01 p.word1 {
		text-align: center;
		margin: 15px 0 0;
		color: #AB9A86;
	}
	#about section.items #item-01 p.word2 {
		text-align: center;
		margin: 0 0 30px;
	}
	#about section.items .box {
		text-align: center;
		padding: 50px 0 10px;
	}
	#about section.items #item-02 {
		padding-top: 50%;
	}
	#about section.items #item-02 .box img.title-image-item-02 {
		top: -130%;
		left: 0;
		right: 0;
		margin: auto;
		width: 75%;
	}
	#about section.items #item-02 h2,
	#about section.items #item-02 > .box p {
		margin: 25px 0 0;
		text-align: center;
	}
	#about section.items .main-box {
		margin: 30px auto 50px;
	}
}
@media screen and (max-width: 420px) {
	#about section.items #item-02 .box img.title-image-item-02 {
		top: -110%;
	}
}
@media screen and (max-width: 380px) {
	#about section.items #item-02 .box img.title-image-item-02 {
		top: -100%;
	}
}
@media screen and (max-width: 320px) {
	#about section.items #item-01 .box {
		padding: 0 0 50px;
	}
	#about section.items #item-01 p.word1 {
		font-size: 1.8em !important;
	}
	#about section.items #item-01 p.word2 {
		font-size: 1.4em !important;
	}
	#about section.items #item-02 {
		margin-top: 40%;
	}
	#about section.items .box {
		padding: 30px 0 10px;
	}
	#about section.items #item-02 .box img.title-image-item-02 {
		top: -70%;
	}
}

/****************************************
固定ページ：各サービス

*****************************************/
.service .summary {
	background: #F4F2EF;
	margin-top: -180px;
	padding: 210px 0 10px;
}
.service .summary .line-box {
	border: 1px solid #fff;
	padding: 50px;
}
.service .summary .line-box figure {
	float: right;
	margin: 0 0 0 30px;
}
.service .summary .line-box figcaption {
	color: #AB9A86;
}
.service .summary .line-box p.sub-title {
	text-align: center;
	font-size: 1.6em;
}
.service .summary .line-box .standout {
	margin-bottom: 30px;
	font-weight: bold;
	text-align :center;
	font-size: 1.2em;
	background: url(images/service/line-box-bg-gritter.png) no-repeat;
	background-size: cover;
	background-position: top 35px center;
	padding-bottom: 15px;
}
.service .summary .line-box p.standout-title {
	text-align: center;
	font-size: 1.5em;
	margin-bottom: 15px;
	background: #AB9A86;
	color: #FFF;
	font-weight: bold;
	line-height: 1.3;
	padding: 5px 0;
}
.service .summary .line-box p.standout-title span {
	font-size: .9em;
}
.service .summary .line-box .parts {
	margin-bottom: 30px;
}
.service .summary .line-box .parts h2 {
	float: left;
	text-align: left;
	font-size: 1.5em;
	margin: 0;
}
.service .summary .line-box .parts h2 span {
	display: block;
	font-family: 'JuliusSansOne';
	font-size: .6em;
	color: #AB9A86;
}
.service .summary .line-box .parts p {
	padding-left: 230px;
}
.service .summary .line-box .parts-image {
	background: url(images/service/smarttool.jpg) no-repeat;
	background-position: top left;
	background-size: contain;
	padding: 0 0 0 230px;
}
.service .summary .line-box ul {
	text-align: center;
	margin-bottom: 15px;
}
.service .price {
	background: #FFF url(images/service/price-bg.png) no-repeat;
	background-position: right -60px bottom -70px;
	padding: 100px 0 10px;
}
.service .price .line-box {
	position: relative;
	border: 1px solid #F4F2EF;
	padding: 130px 100px 50px 100px;
}
.service .price .content img.price-title {
	position: absolute;
	top: 80px;
	left: 28%;
	z-index: 1;
}
.service .price .line-box dl {
	display: table;
	width: 100%;
	margin-bottom: 30px;
}
.service .price .line-box dt,
.service .price .line-box dd {
	display: table-cell;
	vertical-align: top;
}
.service .price .line-box dt {
	width: 40%;
}
.service .price .line-box dd {
	width: 300px;
}
.service .price .line-box dt span {
	display: block;
	font-size: .9em;
}
.service .price .line-box dt span.big {
	font-size: 1em;
}
.service .price .line-box dt span.big:before {
	content: "-";
}
.service .price .line-box dd table {
	width: 100%;
	table-layout: fixed;
}
.service .price .line-box dd table th {
	text-align: right;
	width: 60%;
	font-weight: lighter;
}
.service .price .line-box dd table td {
	text-align: right;
}
.service .price .line-box .combination {
	margin-bottom: 30px;
}
.service .price .rule-box {
	font-size: .9em;
	width: 600px;
	margin: 50px auto 30px;
}
.service .price .small-table dl {
	margin-bottom: 15px;
}
.service .price .small-table dt {
	background: #F4F2EF;
	vertical-align: middle;
	text-align: center;
	width: 100px;
}
.service .price .small-table dd {
	padding: 15px;
	border: 1px solid #F4F2EF;
}

.service .price .line-box dl.block {
	display: block;
}
.service .price .line-box dl.block dt {
	display: block;
	width: 100%;
}
.service .price .line-box dl.block dt span {
	display: inline-block;
    padding: 3px 12px;
	background: #ab9a86;
	color: #FFF;
}
.service .price .line-box dl.block dd {
	display: block;
	width: 100%;
}
.service .price .line-box dl.block dd p.memo {
	text-align: center;
	margin-top: 30px;
}
.service .price .line-box dl.block dd ul.flexbox {
	display: flex;
	justify-content: space-between;
    align-items: center;
	margin-top: 30px;
}
.service .price .line-box dl.block dd ul.flexbox:first-child {
	
}
.service .price .line-box dl.block dd ul.flexbox li {
	text-align: center;
}
.service .price .line-box dl.block dd ul.flexbox li:first-child {
	width: 150px;
}
.service .price .line-box dl.block dd ul.flexbox li span {
	display: block;
}
.service .price .line-box dl.block dd .small-table dl {
	display: flex;
	align-items: center;
	border: 1px solid #ab9a86;
}
.service .price .line-box dl.block dd .small-table dt {
	text-align: center;
	background: none;
    width: 150px;
	padding: 22px;
	border-right: 1px solid #ab9a86;
}
.service .price .line-box dl.block dd .small-table dt span {
	display: block;
	padding: 0;
	margin-top: -6px;
	background: none;
	color: #000;
}
.service .price .line-box dl.block dd .small-table dd {
	padding: 22px;
	border: none;
}


@media screen and (max-width: 768px) {
	.service .summary {
		margin-top: 0;
		padding: 50px 30px 10px;
	}
	.service .price {
		padding: 50px 30px 10px;
	}
	.service .price .content img.price-title {
		left: 17%;
		top: 30px;
	}
}
@media screen and (max-width: 559px) {
	.service .summary .line-box {
		padding: 30px;
	}
	.service .summary .line-box .parts h2 {
		float: none;
		margin-bottom: 15px;
	}
	.service .summary .line-box .parts h2 span {
		margin-top: -5px;
		padding-left: 10px;
	}
	.service .summary .line-box .parts h2 span:before {
		content: "-";
	}
	.service .summary .line-box p.sub-title {
		font-size: 1.3em;
	}
	.service .summary .line-box .parts p {
		padding: 0;
	}
	.service .price .line-box {
		padding: 100px 30px 30px 30px;
	}
	.service .price .line-box dt {
		width: 50%;
	}
	.service .price .content img.price-title {
		left: 11%;
		width: 170px;
	}
	.service .price .rule-box {
		width: 100%;
	}
	.service .summary .line-box p.standout-title {
		font-size: 1.3em;
	}
	.service .summary .line-box .standout {
		font-size: 1em;
	}
	.service .summary .line-box .parts-image {
		background-position: top center;
		background-size: 260px;
		padding: 260px 0 0 0;
	}
	.service .price .line-box dl.block dd p.memo span {
		display: block;
	}
	
	.service .price .line-box dl.block dd ul.flexbox {
		flex-wrap: wrap;
		margin-top: 12px;
	}
	.service .price .line-box dl.block dd ul.flexbox li {
		width: calc(100% / 2);
		margin-top: 6px;
	}
	.service .price .line-box dl.block dd ul.flexbox li:first-child {
		width: 100%;
		text-align: left;
		margin-top: 0;
	}
	.service .price .line-box dl.block dd .small-table dl {
		flex-direction: column;
	}
	.service .price .line-box dl.block dd .small-table dt,
	.service .price .line-box dl.block dd .small-table dd {
		padding: 12px;
	}
	.service .price .line-box dl.block dd .small-table dt {
		width: 100%;
		padding: 12px 30px;
		text-align: left;
		border-right: none;
		border-bottom: 1px solid #ab9a86;
	}
	.service .price .line-box dl.block dd .small-table dt span {
		display: inline-block;
	}
}
@media screen and (max-width: 430px) {
	.service .summary {
		padding: 50px 20px 10px;
	}
	.service .summary .line-box {
		padding: 20px;
	}
	.service .summary .line-box .parts h2 {
		float: none;
		margin: 0 0 15px !important;
	}
	.service .summary .line-box .parts p {
		padding: 0;
	}
	.service .price{
		padding: 80px 20px 10px;
	}
	.service .price .content img.price-title {
		width: 35%;
	}
	.service .price .line-box {
		padding: 60px 20px 0px 20px;
	}
	.service .price .line-box dl,
	.service .price .line-box dt,
	.service .price .line-box dd {
		display: block;
		width: 100%;
	}
	.service .price .line-box dd table th {
		width: 40%;
	}
	.service .price .line-box .combination h3 {
		font-size: 1em;
	}
	.service .price .line-box .combination h3 {
		width: 100%;
	}
	.service .price .rule-box {
		width: 100%;
		margin: 30px auto 30px;
	}
	.service .summary .line-box figure {
		width: 35%;
	}
	.service .price .line-box dl.block dd .small-table dl {
		border-right: none;
		border-left: none;
	}
	.service .price .line-box dl.block dd .small-table dt {
		padding: 12px;
		background: #F4F2EF;
	}
	.service .price .small-table dd {
		padding: 10px;
	}
}

/****************************************
固定ページ：サロンの様子 gallery
*****************************************/
/* photos-slide スライド */
.photos-slide {
	width: 1000px;
	padding-top: 600px; /* 画像の高さ */
	position: relative;
	margin: 0 auto 50px;
	text-align: center;
}
.photos-slide > img {
	position: absolute;
	left: 0;
	top: 0;
	transition: all 0.5s;
}
.photos-slide input[name='photo-switch'] {
	display: none;
}
/* サムネイル */
.photos-slide label {
	margin: 10px 0 0 0;
	border: 1px solid #fff;
	display: inline-block;
	cursor: pointer;
	transition: all 0.5s ease;
	opacity: 0.3;
}
.photos-slide label:hover {
	opacity: 0.9;
}
.photos-slide label img {
	display: block;
	width: 130px;
}
.photos-slide input[name='photo-switch']:checked + label {
	border-left:1px solid #66A6FF;
	border-right:1px solid #4C7EBF;
	border-top: none;
	border-bottom: none;
	opacity: 1;
}
.photos-slide input[name='photo-switch']:checked + label:before,
.photos-slide input[name='photo-switch']:checked + label:after {
	content:"";
	display:block;
	height:1px;
	width:100%;
	background:-webkit-gradient(linear, left top, right bottom, from(#66A6FF), to(#4C7EBF));
	background:-moz-linear-gradient(left, #66A6FF, #4C7EBF);
	background:linear-gradient(left, #66A6FF, #4C7EBF);
}
.photos-slide input[name='photo-switch'] ~ img {
	opacity: 0;
}
.photos-slide input[name='photo-switch']:checked + label + img {
	opacity: 1;
}

/****************************************
固定ページ：施工事例 portfolios
*****************************************/

/* portfolios固定ページとarchive.phpと共通*/
section.nav {
	overflow: hidden;
}
section.nav nav#portfolios ul.top {
	overflow: hidden;
	margin-bottom: 10px;
}
section.nav nav#portfolios ul.top li,
section.nav nav#portfolios ul.bottom li {
	float: left;
	text-align: center;
	width: 31.25%;
	margin: 0 2.083% 0 0;
	position: relative;
}
section.nav nav#portfolios ul.top li a:first-child {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(images/service/nav-01.jpg) no-repeat;
	background-size: 100%;
	background-position: center;
}
section.nav nav#portfolios ul.top li a:nth-child(2) {
	background: url(images/service/nav-02.jpg) no-repeat;
	background-size: 100%;
	background-position: center;
}
section.nav nav#portfolios ul.top li a:nth-child(3) {
	background: url(images/service/nav-03.jpg) no-repeat;
	background-size: 100%;
	background-position: center;
}
section.nav nav#portfolios ul.bottom li a:first-child {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(images/service/nav-01.jpg) no-repeat;
	background-size: 100%;
	background-position: center;
}
section.nav nav#portfolios ul.bottom li a:nth-child(2) {
	background: url(images/service/nav-02.jpg) no-repeat;
	background-size: 100%;
	background-position: center;
}
section.nav nav#portfolios ul.bottom li a:nth-child(3) {
	background: url(images/service/nav-03.jpg) no-repeat;
	background-size: 100%;
	background-position: center;
}
section.nav nav#portfolios ul li a {
	display: block;
	padding: 20px 0;
}
section.nav nav#portfolios ul li a span {
	color: #FFF;
}

/****************************************
固定ページ：アクセス access
*****************************************/
#access .detail {
	overflow: hidden;
	text-align: center;
	margin-bottom: 100px;
	background-image: url(images/access/frame-top.jpg), url(images/access/frame-bottom.jpg), url(images/access/frame-middle.jpg);
	background-repeat: no-repeat, no-repeat, repeat-y;
	background-position: top, bottom, center;
	background-size: 100%;
	-webkit-box-sizing : border-box;
	-moz-box-sizing : border-box;
	box-sizing : border-box;
	margin: 0 auto;
	padding: 50px 30px;
	width: 800px;
}
#access .detail p {
	margin: 0;
}
#access .detail p.time {
	display: inline-block;
	font-size: 1.3em;
	margin-right: 10px;
}
#access .detail p.holiday {
	display: inline-block;
	font-size: 1.4em;
}
#access .detail p.tel {
	font-size: 1.6em;
	margin-bottom: 15px;
}
#access .detail dl.route {
	width: 600px;
	margin: 0 auto 15px;
}
#access .detail dl.route dt {
	border-bottom: 1px solid #F4F2EF;
	padding: 5px 0;
	font-size: 1.2em;
}
#access .detail dl.route dd {
	text-align: left;
	padding: 10px 30px 10px 120px;
	background: url(images/access/route-title.png) no-repeat;
	background-size: 100px;
	background-position: left top 10%;
}
#access .detail dl.route dd span {
	background: #AB9A86;
	color: #FFF;
	padding: 3px;
	font-size: .8em;
}
#access .detail dl.route dd a {
	display: inline-block;
	text-decoration: underline;
}
#access .detail dl.sns {
	width: 600px;
	margin: 0 auto 15px;
}
#access .detail dl.sns dt {
	border-bottom: 1px solid #F4F2EF;
	padding: 5px 0;
	font-size: 1.2em;
}
#access .detail dl.sns dd {
	text-align: left;
	padding: 10px 30px 10px 120px;
	background: url(images/access/sns-title.png) no-repeat;
	background-size: 100px;
	background-position: left top 10%;
	margin-bottom: 30px;
}
#access .detail dl.sns dd ul li {
	padding: 3px 0;
	font-family: 'JuliusSansOne';
	font-size: .8em;
}
#access .detail dl.sns dd ul li a {
	color: #AB9A86;
}
#access .detail p.downward {
	position: relative;
	display: inline-block;
	border-bottom: 1px solid #AB9A86;
	padding: 0 0 10px;
	margin: 0 0 20px;
}
#access .detail p.downward:before{
	content: "";
	position: absolute;
	bottom: -30px;
	left: 47%;
	margin-left: -1px;
	border: 15px solid transparent;
	border-top: 15px solid #fff;
	z-index: 2;
}
#access .detail p.downward:after {
	position: absolute;
	border: 15px solid transparent;
	border-top-color: #AB9A86;
	border-bottom-width: 0;
	bottom: -16px;
	content: "";
	left: 46.8%;
	z-index: 1;
}
#access .detail .contact {
	margin: 20px 0 0;
}

@media screen and (max-width: 768px) {
	#access .detail {
		width: 90%;
		margin: 50px auto 0;
	}
	#access .detail dl.route,
	#access .detail dl.sns {
		width: 100%;
	}
}
@media screen and (max-width: 559px) {
	#access .detail dl.route dt,
	#access .detail dl.sns dt {
		font-size: 1em;
	}
	#access .detail dl.route dd,
	#access .detail dl.sns dd {
		background-position: top 15px center;
		padding: 60px 0 0 0;
	}
	#access .detail p.downward:before {
		left: 47.2%;
	}
}
@media screen and (max-width: 430px) {
	#access .detail {
		width: 100%;
		padding: 50px 15px;
	}
	#access .detail h2 {
		margin-bottom: 15px;
	}
	#access .detail h2 img {
		width: 70%;
	}
	#access .detail dl {
		width: 100%;
	}
	#access .detail dd {
		background-position: left top 20px;
		padding: 65px 0 5px;
	}
	#access .detail dl.sns dd ul li a {
		display: block;
		text-align: center;
	}
	#access .detail p.downward:before {
		left: 47.3%;
	}
	#access .detail .contact a {
		display: block;
		margin: 0 auto 12px;
		width: calc(100% - 30px);
	}
}
@media screen and (max-width: 320px) {
	#access .detail h2 img {
		width: 85%;
	}
	#access .detail dt {
		font-size: 1.1em;
	}
}

/****************************************
固定ページ：アクセス route
*****************************************/
#route .step-box {
	padding: 30px 0;
}
#route .step-box .inner {
	padding: 0 0 0 350px;
	min-height: 300px;
}
#step-01 {
	background: #FFF;
}
#step-01 .inner {
	background: url(images/route/step-bg-01.jpg) no-repeat;
	background-position: left top;
	background-size: 300px;
}
#step-02 {
	background: #F4F2EF;
}
#step-02 .inner {
	background: url(images/route/step-bg-02.jpg) no-repeat;
	background-position: left top;
	background-size: 300px;
}
#step-03 {
	background: #FFF;
}
#step-03 .inner {
	background: url(images/route/step-bg-03.jpg) no-repeat;
	background-position: left top;
	background-size: 300px;
}
#step-04 {
	background: #F4F2EF;
}
#step-04 .inner {
	background: url(images/route/step-bg-04.jpg) no-repeat;
	background-position: left top;
	background-size: 300px;
}
#step-05 {
	background: #FFF;
}
#step-05 .inner {
	background: url(images/route/step-bg-05.jpg) no-repeat;
	background-position: left top;
	background-size: 300px;
}
#step-06 {
	background: #F4F2EF;
	margin-bottom: 30px;
}
#step-06 .inner {
	background: url(images/route/step-bg-06.jpg) no-repeat;
	background-position: left top;
	background-size: 300px;
}
#route .step-box .guide {
	display: table;
	min-height: 300px;
}
#route .step-box .guide p {
	display: table-cell;
	vertical-align: middle;
}
#route .link {
	text-align: center;
	padding: 30px 0 0;
}

@media screen and (max-width: 560px) {
	#route .step-box .guide,
	#route .step-box .guide p {
		display: block;
	}
	#route .step-box .guide {
		padding: 270px 0 0;
	}
	#route .step-box .inner {
		padding: 0;
		text-align: center;
	}
	#step-01 .inner,
	#step-02 .inner,
	#step-03 .inner,
	#step-04 .inner,
	#step-05 .inner,
	#step-06 .inner {
		background-position: top center;
		background-size: 250px;
	}
}

/****************************************
固定ページ：予約 reserve
*****************************************/
#reserve .msg {
	text-align: center;
	margin: 50px 0;
}
#reserve .summary {
	padding: 0 0 100px;
	text-align: center;
}
#reserve .flow {
	padding: 100px 0;
	background: #F4F2EF;
	margin-bottom: 100px;
}
#reserve .flow ul.step {
	width: 100%;
	overflow: hidden;
}
#reserve .flow ul.step li {
	position: relative;
	float: left;
	width: calc(100%/3);
}
#reserve .flow ul.step li:after {
	content: '';
	position: absolute;
	right: -10px;
	top: 120px;
	width: 20px;
	height: 1px;
	margin: auto;
	background-color: #333;
}
#reserve .flow ul.step li:last-child:after {
	content: none;
}
#reserve .flow ul.step li dl {
	display: block;
	width: 100%;
}
#reserve .flow ul.step li:first-child dl {
	background: url(images/reserve/step-number-01.png) no-repeat;
	background-position: left 20px bottom 20px;
	background-size: 50px;
}
#reserve .flow ul.step li:nth-child(2) dl {
	background: url(images/reserve/step-number-02.png) no-repeat;
	background-position: left 20px bottom 20px;
	background-size: 50px;
}
#reserve .flow ul.step li:last-child dl {
	background: url(images/reserve/step-number-03.png) no-repeat;
	background-position: left 20px bottom 20px;
	background-size: 50px;
}
#reserve .flow ul.step li dt {
	display: block;
	text-align: center;
	margin-bottom: 30px;
}
#reserve .flow ul.step li dd {
	display: block;
	text-align: center;
	height: 60px;
}
#reserve .reserve-form {
	padding: 0 0 100px;
}
#reserve .reserve-form .attention {
	text-align: center;
	padding: 0 0 30px 0;
	background: #F4F2EF;
	width: 80%;
	margin: 0 auto 50px;
}
#reserve table {
	width: 100%;
	table-layout: fixed;
	margin-bottom: 50px;
}
#reserve table tr {
	width: 100%;
	display: table;
}
#reserve table th,
#reserve table td {
	display: table-cell;
	text-align: left;
	padding: 20px;
}
#reserve table th {
	width: 30%;
	font-weight: normal;
}
#reserve table th span {
	float: right;
	background: #AB9A86;
	color :#FFF;
	font-size: .7em;
	padding: 2px 5px;
	vertical-align: middle;
}
#reserve table td dl {
	display: inline-block;
	width: 100%;
}
#reserve table td dt {
	display: inline-block;
	width: 45%;
}
#reserve table td dd {
	display: inline-block;
	width: 50%;
}
#reserve table td p.memo {
	font-size: .8em;
}
#reserve input.name,
#reserve input.kana,
#reserve input.mail,
#reserve input.tel {
	width: 60%;
}
#reserve input.date1,
#reserve input.date2 {
	width: 90%;
}
#reserve select.time1,
#reserve select.time2 {
	width: 80%;
}
#reserve input.contact {
	width: 30px;
	height: 30px;
	vertical-align: middle;
}
#reserve textarea.consultation {
	width: 99%;
	height: 150px;
}
#reserve .information {
	text-align: center;
}
#reserve .information p {
	margin: 0;
}
#reserve .btn {
	text-align: center;
	margin: 30px auto 0;
}
#reserve .btn input.send,
#reserve .btn input.back {
	margin: 0;
	font-weight: normal;
	-webkit-appearance: none;
	-webkit-transition: all .3s;
	transition: all .3s;
}

@media screen and (max-width: 768px) {
	#reserve .summary {
		padding: 50px 0 50px;
	}
	#reserve .flow {
		padding: 50px 0 80px;
		margin-bottom: 50px;
	}
	#reserve .flow ul.step li {
		padding-right: 20px;
	}
	#reserve .flow ul.step li:last-child:after {
		padding-right: 0;
	}
	#reserve .flow ul.step li:after {
		width: 10px;
		right: 5px;
	}
	#reserve .reserve-form .attention {
		padding: 5px 30px 30px 30px;
	}
}
@media screen and (max-width: 559px) {
	#reserve .flow ul.step li {
		float: none;
		width: 100%;
		margin-bottom: 30px;
		padding: 0;
	}
	#reserve .flow ul.step li:last-child {
		margin-bottom: 0;
	}
	#reserve .flow ul.step li:after {
		width: 1px;
		height: 10px;
		right: 0;
		left: 0;
		margin: auto;
		bottom: -70px;
	}
	#reserve .flow ul.step li dl {
		display: table;
	}
	#reserve .flow ul.step li dl dt,
	#reserve .flow ul.step li dl dd {
		display: table-cell;
		vertical-align: middle;
	}
	#reserve .flow ul.step li dl dt {
		width: 40%;
	}
	#reserve .flow ul.step li dl dd {
		padding-left: 10px;
		text-align: left;
	}
	#reserve .reserve-form .attention {
		width: 100%;
		padding: 5px 20px 30px 20px;
	}
	#reserve table tr,
	#reserve table th,
	#reserve table td {
		display: block;
		width: 100%;
	}
	#reserve table th {
		padding: 0 20px;
	}
	#reserve table td {
		padding: 0 20px 30px;
	}
	#reserve input.name,
	#reserve input.kana,
	#reserve input.mail,
	#reserve input.tel {
		width: 100%;
	}
	#reserve input.date1,
	#reserve input.date2 {
		width: 100%;
	}
	#reserve select.time1,
	#reserve select.time2 {
		width: 100%;
	}
	#reserve table td dr,
	#reserve table td dt,
	#reserve table td dd {
		display: block;
		width: 100%;
	}
	#reserve table td dt {
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 420px) {
	#reserve .flow ul.step li:after {
		bottom: -20px;
	}

}

/****************************************
固定ページ：お問い合わせ contact
*****************************************/
#contact .tel-box {
	background: url(images/contact/tel-box_bg.gif) repeat;
	width: 800px;
	margin: 50px auto;
	padding: 20px;
	border-radius: 5px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.22);
}
#contact .tel-box .box {
	background: #FFF;
	text-align: center;
	padding: 30px;
}
#contact .tel-box .box .tel-btn p.number {
	font-size: 2em;
	margin-bottom: 0;
	color: #FFB000;
}
#contact .tel-box .box .tel-btn span {
	color: #FF1650;
	font-weight: 400;
	margin-right: 10px;
}
#contact .msg {
	text-align: center;
	margin: 0 0 50px;
}
#contact .msg p {
	margin-bottom: 0;
}
#contact table {
	width: 100%;
	table-layout: fixed;
	margin-bottom: 50px;
}
#contact table tr {
	width: 100%;
	display: table;
}
#contact table th,
#contact table td {
	display: table-cell;
	text-align: left;
	padding: 20px;
}
#contact table th {
	width: 30%;
	font-weight: normal;
}
#contact table th span {
	float: right;
	background: #AB9A86;
	color :#FFF;
	font-size: .7em;
	padding: 2px 5px;
	vertical-align: middle;
}
#contact table td p.memo {
	font-size: .8em;
}
#contact input.name,
#contact input.mail,
#contact input.tel {
	width: 70%;
}
#contact input.contact {
	width: 30px;
	height: 30px;
	vertical-align: middle;
}
#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 0;
}
#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: 768px) {
	#contact .msg {
		margin: 50px 0 50px;
	}
}
@media screen and (max-width: 480px) {
	#contact table tr,
	#contact table th,
	#contact table td {
		display: block;
		width: 100%;
	}
	#contact table th {
		padding: 20px 20px 0 20px;
	}
	#contact table td {
		padding: 0 20px;
	}
	#contact table td dt {
		margin-bottom: 10px;
	}
	#contact input.name,
	#contact input.mail,
	#contact input.tel {
    width: 100%;
	}
}
@media screen and (max-width: 320px) {
	#contact table th {
		padding: 20px 0 5px;
	}
	#contact table td {
		padding: 0;		
	}
}

/****************************************
フォーム
*****************************************/
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: #aaaaaa;
	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 #AB9A86;
	outline: none;
	background: #F4F2EF;
}
select {/*デフォルトスタイルをリセット*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select {
	position: relative;
	width: 100%;
	padding: 5px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #AB9A86;
	background: #fff url(images/common/select-arrow.jpg) right 50% no-repeat;
	background-size: 20px, 100%;
	font-size: 1em;
}

/*ボタン*/
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	border: none;
	background-size: 200% 100%;
	background-image: -webkit-linear-gradient(120deg, #AB9A86 0%, #5E554A 100%);
	background-image: linear-gradient(120deg, #AB9A86 0%, #5E554A 100%);
	font-weight: bold;
	line-height: normal;
	cursor: pointer;
	-webkit-transition: all .3s;
	transition: all .3s;
	-webkit-appearance: none;
	width: 40%;
	padding:15px 0;
	font-size: 1.1em;
	color: #FFF;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	background-color: #998bfa;
	background-position: -100% 100%;
}
.button:active,
button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
	position: relative;
	top: 1px;
}



/****************************************
privacy-policy　プライバシーポリシー
*****************************************/
#privacy-policy dl {
	margin-bottom: 30px;
}
#privacy-policy dt {
	font-weight: bold;
}
#privacy-policy ul {
	list-style: inside;
	margin-bottom: 30px;
	margin-left: .6em;
}
#privacy-policy ul li {
	padding-left: 1em;
	text-indent: -1.4em;
}

/****************************************
sitemaps　サイトマップ
*****************************************/
#sitemaps ul li {
	position: relative;
	padding-left: 15px;
	margin-bottom: 5px;
}
#sitemaps ul li:after {
	display: block;
	content: '-';
	position: absolute;
	top: 0;
	left: 0;
}
#sitemaps ul li ul li {
	list-style-type: circle;
}

/****************************************
index.php Main
*****************************************/
.content-box{float: right;margin-top: -0.25em;width: 420px;}
.content-box .more-link{margin: 0;}

.thumbnail-box{float: left;width: 160px;}
.thumbnail-box img{width: 160px;height: 160px;}


/****************************************
home.php(固定ページで投稿ページを出力した投稿のトップページ)
*****************************************/
#page #articles ul.category-box {
	
}
#page #articles ul.category-box > li {
	border: 1px solid #fafafa;
	border-radius: 5px;
	margin-bottom: 30px;
	padding: 15px 30px;
}
#page #articles ul.category-box > li:nth-child(1) {
	background: url(images/articles/category-box-bg_souzoku.png) no-repeat;
	background-position: right -40px top 10px;
}
#page #articles ul.category-box > li:nth-child(2) {
	background: url(images/articles/category-box-bg_souzokuhouki.png) no-repeat;
	background-position: right -40px top 10px;
}
#page #articles ul.category-box > li:nth-child(3) {
	background: url(images/articles/category-box-bg_igon.png) no-repeat;
	background-position: right -40px top 10px;
}

@media screen and (max-width: 480px) {
	#page #articles ul.category-box > li {
		padding: 15px;
	}
	#page #articles ul.category-box > li:nth-child(1),
	#page #articles ul.category-box > li:nth-child(2),
	#page #articles ul.category-box > li:nth-child(3) {
		background-size: 60%;
		background-position: right -70px top 20px;
	}
}

/****************************************
single.php
*****************************************/
#single #portfolios-contents .meta {
	margin: 10px 0 50px;
}
#single #portfolios-contents .meta span {
	display: block;
	border-bottom: 1px solid #ededed;
	padding-bottom: 5px;
}
#portfolios-contents .before-info {
	overflow: hidden;
	margin-bottom: 50px;
}
#portfolios-contents .before-info figure.before-photo {
	width: 50%;
	float: right;
}
#portfolios-contents .before-info .client {
	width: 48%;
	float: left;
}
#portfolios-contents .before-info .client dl {
	display: block;
}
#portfolios-contents .before-info .client dt,
#portfolios-contents .before-info .client dd {
	display: inline-block;
	padding: 10px 0;
	border-bottom: 1px dotted #ededed;
}
#portfolios-contents .before-info .client dt {
	width: 30%;
}
#portfolios-contents .before-info .client dd {
	width: 65%;
}

/* after-photo スライダー */
.after-photo-slide {
	width: 740px;
	padding-top: 500px; /* 画像の高さ */
	position: relative;
	margin: 0 auto 50px;
	text-align: center;
}
.after-photo-slide > img {
	position: absolute;
	left: 0;
	top: 0;
	transition: all 0.5s;
}
.after-photo-slide input[name='photo-switch'] {
	display: none;
}
/* サムネイル */
.after-photo-slide label {
	margin: 10px 0 0 0;
	border: 1px solid #fff;
	display: inline-block;
	cursor: pointer;
	transition: all 0.5s ease;
	opacity: 0.3;
}
.after-photo-slide label:hover {
	opacity: 0.9;
}
.after-photo-slide label img {
	display: block;
	width: 130px;
}
.after-photo-slide input[name='photo-switch']:checked + label {
	border-left:1px solid #66A6FF;
	border-right:1px solid #4C7EBF;
	border-top: none;
	border-bottom: none;
	opacity: 1;
}
.after-photo-slide input[name='photo-switch']:checked + label:before,
.after-photo-slide input[name='photo-switch']:checked + label:after {
	content:"";
	display:block;
	height:1px;
	width:100%;
	background:-webkit-gradient(linear, left top, right bottom, from(#66A6FF), to(#4C7EBF));
	background:-moz-linear-gradient(left, #66A6FF, #4C7EBF);
	background:linear-gradient(left, #66A6FF, #4C7EBF);
}
.after-photo-slide input[name='photo-switch'] ~ img {
	opacity: 0;
}
.after-photo-slide input[name='photo-switch']:checked + label + img {
	opacity: 1;
}

#portfolios-contents .text {
	
}
/*関連記事*/
.related {
	padding: 30px 30px 50px;
	margin-top: 50px;
	background: #ededed url(images/articles/related_bg.png) repeat;
}
.related ul {
	overflow: hidden;
	background: #FFF;
	border-radius: 5px;
	padding: 30px;
}
.related ul li {
	float: left;
	width: calc(100%/2);
	padding: 5px 0;
	border-bottom: 1px dotted #ededed;
}
.related ul li a:before {
	    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}
.related ul li a:hover {
	opacity: .7;
}

/****************************************
施工事例アーカイブ　archive.php
*****************************************/
section#portfolios-archive .portfolios-list {
	overflow: hidden;
	margin-bottom: 50px;
}
section#portfolios-archive .portfolios-list ul {
	overflow: hidden;
}
section#portfolios-archive .portfolios-list ul li {
	float: left;
	width: 20%;
	padding-right: 10px;
	margin-bottom: 30px;
}
section#portfolios-archive .portfolios-list ul li:ntc-child(5n) {
	padding-right: 0;
}
section#portfolios-archive .portfolios-list ul li dl {
	text-align: center;
}
section#portfolios-archive .portfolios-list ul li dt {
	overflow: hidden;
	margin-bottom: 15px;
}
section#portfolios-archive .portfolios-list ul li img {
	margin-bottom: 10px;
}
section#portfolios-archive .portfolios-list ul li dd {
	position: relative;
	font-size: .9em;
}
section#portfolios-archive .portfolios-list ul li dd span.category {
	position: absolute;
	background: #ededed;
	font-size: 12px;
	padding: 0 3px;
	top: -34px;
	left: 10px;
}
section#portfolios-archive .portfolios-list ul li dd span.date {
	position: absolute;
	color: #333;
	display: block;
	font-size: 1em;
	top: -34px;
	right: 10px;
}


/****************************************
home.phpとsingle.phpとarchive.php(アーカイブ)共通
*****************************************/
#page #articles .summary,
#single #article-contents .summary,
#category #category-contents .summary {
	width: 100%;
	background: #FFFCF9;
	font-size: .9em;
	border-bottom: 1px solid #F98D00;
	margin-bottom: 50px;
}
#page #articles .summary .box,
#single #article-contents .summary .box,
#category #category-contents .summary .box {
	position: relative;
	background: url(images/articles/summary_bg.jpg) no-repeat;
	background-size: 140px;
	background-position: left 12px top 20px;
	padding: 40px 30px 30px 170px;
	margin-top: -40px;
}
#page #articles .summary img,
#single #article-contents .summary img,
#category #category-contents .summary img{
	position: absolute;
	right: 20px;
	top: -28px;
	z-index: 333;
}
#category #category-contents .content dl {
	width: 100%;
	margin-bottom: 15px;
	border-bottom: 1px solid #ededed;
	padding-bottom: 15px;
}
#category #category-contents .content dt {
	width: 100%;
	font-weight: 400;
}
#category #category-contents .content dd {
	position: relative;
}
a.more {
	position: absolute;
	right: 0;
	bottom: 0;
}
a.more:after {
	content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 10px;
}

@media screen and (max-width: 768px) {
	#single #article-contents .summary .box,
	#category #category-contents .summary .box {
		background-position: left 12px top 30px;
		padding: 50px 30px 30px 170px;
	}
	#category #category-contents .content dd {
		margin: 0;
	}
}
@media screen and (max-width: 480px) {
	#single #article-contents .summary,
	#category #category-contents .summary {
		margin-bottom: 30px;
	}
	#single #article-contents .summary .box,
	#category #category-contents .summary .box {
		background-size: 100px;
		background-position: left 10px top 10px;
		padding: 10px 10px 10px 120px;
	}
	#category #category-contents .content dd {
		margin: 0;
	}
}

/****************************************
ナビゲーション（数字が並ぶ）
*****************************************/
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;
	width: 800px;
	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;
	}
}

/****************************************
ページネーション下の一覧へリンク
*****************************************/
#single .back {
	text-align: center;
	padding: 30px 0 0;
}


/****************************************
固有のネイティブ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;
	border-left: 1px solid #ededed;
	padding-left: 30px;
}

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

/****************************************
画像キャプション
*****************************************/
.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-news.php
*****************************************/
#single #news-contents .meta {
	text-align: right;
	margin: 10px 0 70px;
}
#single #news-contents .meta span {
	display: block;
	border-bottom: 1px solid #ededed;
	padding-bottom: 5px;
}
@media screen and (max-width: 768px) {
	#single #news-contents {
		padding: 30px 30px 50px;
	}
}
@media screen and (max-width: 480px) {
	#single #news-contents {
		padding: 25px 20px 50px;
	}
}

/****************************************
archive-news.php(アーカイブ)
*****************************************/
#archive #archive-news dl {
	display: table;
	width: 100%;
	margin-bottom: 15px;
}
#archive #archive-news dt,
#archive #archive-news dd {
	display: table-cell;
	padding: 10px 20px;
}
#archive #archive-news dt {
	width: 20%;
	background: #333;
	text-align: center;
}
#archive #archive-news dt a {
	color: #FFF;
}
#archive #archive-news dd {
}
#archive #archive-news dd span {
	float: right;
}
#archive #archive-news 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) {
	#archive #archive-news-contents .content {
		padding: 25px 25px 50px;
	}
	#archive #archive-news-contents .content dl,
	#archive #archive-news-contents .content dt,
	#archive #archive-news-contents .content dd {
		display: block;
		width: 100%;
	}
	#archive #archive-news-contents .content dd {
		margin: 0;
		padding-right: 50px;
		position: relative;
	}
	#archive #archive-news-contents .content dd span {
		float: none;
		position: absolute;
		right: 0;
	}
}

/****************************************
404 error
*****************************************/
#error {
	text-align: center;
}

/****************************************
フッター
*****************************************/
footer {
	clear: both;
	overflow: hidden;
	background: #AB9A86;
	padding: 50px 0 0;
	color: #FFF;
}
footer .totop img.icon {
	position: fixed;
	bottom: 30px;
	right: 40px;
	z-index: 99;
}
footer .totop a.reserve-fixed {
	position: fixed;
	width: 160px;
	top: 90px;
	right: 10px;
	z-index: 999;
	font-family: 'JuliusSansOne';
	color: #fff;
	font-size: 1.1em;
}
footer .totop a.contact-fixed {
	position: fixed;
	width: 160px;
	top: 145px;
	right: 10px;
	z-index: 999;
	font-family: 'JuliusSansOne';
	color: #fff;
	font-size: 1.1em;
}
footer .footer-logo {
	text-align: center;
	font-size: .8em;
	margin-bottom: 20px;
}
footer a {
	color: #fff;
}
footer a:hover {
	color: #F4F2EF;
}
footer ul.sns {
	padding: 0;
	margin: 0 auto;
	text-align: center;
}
footer ul.sns li {
	display: inline-block;
}
#footer-1 {
}
#footer-2 {
	margin-bottom: 50px;
	font-size: .8em;
}
#footer-1 ul,
#footer-2 ul {
	text-align: center;
}
#footer-1 ul li,
#footer-2 ul li {
	position: relative;
	display: inline-block;
	padding: 5px;
}
#footer-1 ul li::after {
    content: "";
    display: block;
    vertical-align: top;
    position: absolute;
    top: 14px;
    left: -3px;
    width: 1px;
    height: 10px;
    background-color: #fff;
}
#footer-2 ul li::after {
    content: "";
    display: block;
    vertical-align: top;
    position: absolute;
    top: 11px;
    left: -3px;
    width: 1px;
    height: 10px;
    background-color: #fff;
}
#footer-1 ul li:first-child::after,
#footer-2 ul li:first-child::after{
	content: none;
}
#footer-1 .foot-button {
	text-align: center;
	padding: 10px 0;
}
#footer-1 .foot-button a {
	background: #FFF;
	color: #AB9A86;
	font-family: 'JuliusSansOne';
}
#footer-1 .foot-button a.arrow:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 5px;
	height: 5px;
	border-top: solid 1px #AB9A86;
	border-right: solid 1px #AB9A86;
	transform: rotate(45deg);
	margin: -3px 0 0;
}
#footer-1 .foot-button a.arrow:hover {
	background-color: #5E554A;
	background-position: -100% 100%;
	color: #FFF;
}

section.copyright {
	padding: 15px 0;
	background: #F4F2EF;
	font-size: .8em;
	color: #333;
	margin-top: 30px;
}
section.copyright a {
	color: #333;
}
section.copyright #copyright{
	clear: both;
	padding: 0;
	text-align: center;
}
#copyright a {
	display: inline;
}

@media screen and (max-width: 1024px) {
	#copyright {padding: 30px 0 50px;}
}
@media screen and (max-width: 768px) {
	footer .totop a.reserve-fixed,
	footer .totop a.contact-fixed {
		display: none;
	}
	footer .footer-logo img.logo {
		width: 50%;
	}
	#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: 480px) {
	footer .totop img.icon {
		width: 50px;
		right: 15px;
		bottom: 15px;
	}
	footer .footer-logo img.logo {
		width: 50%;
	}
	#footer-1 ul li::after {
		top: 9.5px;
	}
	#footer-2 ul li::after {
		top: 8px;
	}
	section.copyright {
		padding: 15px;
	}
	#copyright {
		padding: 30px 0 80px;
	}
}

/****************************************
mj_profile.php
*****************************************/
section.profile {padding: 40px 0;background: #F9F6F4;}
section.profile h4 {text-align: center;margin-bottom: 30px;}
section.profile figure {float:left;width:30%;margin: 0 20px 0 0;}
section.profile p {font-size:80%;line-height: 160%;}
section.profile a {margin-right:10px;font-size:80%;}
section.profile a:before {content: "\f105";font-family: FontAwesome;margin-right: 5px;}
section.profile ul {margin: 10px 0 0 0;}
section.profile ul li a:before {content:"" !important;margin:0;}
section.profile p.title {margin: 0;}

/****************************************
mj_articlelink.php
*****************************************/
section.articlelink {clear: both;overflow: hidden;background:#E8DBD2;padding: 50px 0;}
section.articlelink h4 {text-align:center;margin-bottom: 30px;}
section.articlelink h5 {margin: 10px 0;}
section.articlelink a {border:none;}
section.articlelink .left,section.articlelink .center,section.articlelink .right {float:left;width: 30%;text-align:center;} 
section.articlelink .left,section.articlelink .center {margin-right:5%;}
section.articlelink ul {overflow:hidden;}
section.articlelink ul li {}
section.articlelink ul li:before {content: "\f101";font-family: FontAwesome;margin-right: 5px;}
section.articlelink ul li ul li:before {content: "\f105";font-family: FontAwesome;margin-right: 5px;}

@media screen and (max-width: 768px) {
	section.articlelink .left,section.articlelink .center,section.articlelink .right {overflow: hidden;float:none;width: 100%;margin-bottom: 20px;}
	section.articlelink .photo {float:left;width:50%;}
}
@media screen and (max-width: 480px) {
	section.articlelink .photo {float:none;width:100%;}
}

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

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

/* MW WP Form */
.mw_wp_form .error {font-weight: bold;color: #B73E3A !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;
}
