@charset "utf-8";
/*
Theme Name:【052】結婚相談所
Theme URI: http://wordpress.org/
Description:【052】結婚相談所
Author:sungrove
Version: 1.0
License: GNU General Public License
License URI: license.txt
Tags:esthe
*/
@import url("css/sanitize.css");
@import url("css/hamburgers.css");
/*
@import url("css/grey.css");
*/
:root {
	font-size:62.5%;
	color:#6a523a;
}
/*
	main-color:#aba272;
	sub-color:#dac8b2;
	main-color-rgb : 154, 132, 0;
	color:#aba272;
*/
* {
	margin:0;
	padding: 0;
	outline:none;
	-webkit-tap-highlight-color: rgba(255,255,255,0.5);
}
html,body{
	font-size: 14px;
	font-size: 1.4rem;
	width: 100%;
	overflow-x:hidden;
	background:#fbfcf5;
}
@media screen and (max-width:767px){
	html,body{
		font-size: 14px;
		font-size: 1.4rem;
	}
}
body {
	font-family:"Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 160%;
	letter-spacing:0.1em;
}
.min {
	font-family:"Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.got {
	font-family: 'メイリオ', 'Meiryo',  '游ゴシック体', 'Yu Gothic',  'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro',  'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', 'sans-serif';
}
.gf {
	letter-spacing:0.1em;
	font-family: 'Pinyon Script', cursive ,"Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*****************************************************************************
common
*****************************************************************************/
.none {
	display:none;
}
a {
	text-decoration: none;
	color:inherit;
	cursor:pointer;
}
figure {
	margin:0;
}
li {
	list-style: none;
}
h1,h2,h3,h4{
	position:relative;
	text-align:center;
	font-weight:normal;
	line-height:120%;
	margin:0;
	word-break:break-all;
	color:#6a523a;
	font-family:"Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
hr {
	border:none;
	margin:2em 0 3em 0;
	border-top:1px solid #9a9a9a
}
p.hr {
	padding:5em 0;
}
@media screen and (max-width:767px) {
	p.hr {
		padding:2em 0;
	}
}
button {
}
address {
	font-size:12px;
	font-size:1.2rem;
	font-style:normal;
	line-height:160%;
	width:100%;
	padding:1.5em 0;
}
address p {
}
.stress {
	color:#ec727f;
}
.shadow{
	box-shadow:0 0px 50px 0px rgba(10,10,10,0.2);
}
.white {
	color:#ffffff;
}
.base {
	color: #aba272;
}
.red {
    color: #ec7280;
}
.purple {
	color: #8f82bc;
}

.col {
	height:auto;
}
.bold {
	font-weight: bold;
}
.tc {
	text-align:center;
}
.tl {
	text-align:left;
}
.tr {
	text-align:right;
}
.ib {
	display:inline-block;
}
.f_cc {
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.nowrap {
	white-space:nowrap;
}
.none {
	display:none;
}
.lh100 {
	line-height:100%;
}
.mr1 {
	margin-right:1em;
}
.mr2 {
	margin-right:2em;
}
.mb1 {
	margin-bottom:1em;
}
.mt1 {
	margin-top:1em;
}
.ma {
	margin-left:auto;
	margin-right:auto;
}
.pa1 {
	padding:0 1em 1em 1em;
}
.rad {
	border-radius:0.3em;
}
.z1 {
	z-index:1;
}
span.tri {
	display:block;
	-webkit-transform:scale(0.6) rotate(90deg);
			transform:scale(0.6) rotate(90deg);
}
/*****************************************************************************
button gimic
*****************************************************************************/
.btn {
	position:relative;
	display:inline-block;
}
.btn.main {
	position: relative;
	text-align:center;
	max-width: 310px;
	font-size:20px;
	font-size:2.0rem;
	width:100%;
	padding:1em 2em;
	z-index: 2;
	transition: all .1s ease-out;
	overflow: hidden;
	background:rgba(255, 255, 255, 1);
	border:1px solid rgba(154, 132, 0, 1);
	line-height:100%;
}
.btn.main:hover {
	color:#ffffff;
	background:rgba(154, 132, 0, 1);
}
.btn.main.form, .btn.main.single {
	max-width:250px;
	width:100%;
	margin:0em 0.3em 0 0.3em;
}
.btn.main.blog {
	font-size: 14px;
	font-size: 1.4rem;
	padding: 0.7em 0 0.5em 0;
}
@media screen and (max-width:767px) {
	.btn.main.blog {
		display:block;
		margin: 1em auto 2em auto;
		padding: 1em;
	}
}
@media screen and (min-width:768px) {
	.btn.main.blog {
		position:absolute;
		max-width: 90px;
		top:-3em;
		right:0;
	}
}

.toTop {
	position:fixed;
	width:60px;
	height:60px;
	z-index:99;
	display:none;
	text-align:center;
}
.toTop {
	right:4em;
	bottom:4em;
}
@media screen and (min-width:768px) {
}
@media screen and (max-width:767px){
	.toTop {
		right:1em;
	}
	.toTop	img {
		width:inherit;
	}
	.btn.main {
		width:100%;
		white-space:nowrap;
		font-size: 16px;
		font-size: 1.6rem;
	}
	.btn.main.single {
		width:100%;
		margin:0;
	}
	.btn.main.header {
		text-align:left;
		background:none;
		margin:0 0 1.5em 0;
		padding: 1.2em 1em 1em 1.5em;
	}
}

/*****************************************************************************
	Header
*****************************************************************************/
header {
	width:100%;
	position:fixed;
	z-index:10;
	background: rgba(255, 255, 255, 1);
	height:80px;
}
header::before {
	content:"";
	position:absolute;
	z-index:10;
	left:0;
	top:0;
	width:100%;
	height:3px;
	background: #c7be8d;
}
header h1 {
	text-align:left;
	line-height:100%;
	max-width:240px;
	width:100%;
}
h1.logo {
	z-index:2;
	white-space:nowrap;
}
.navigation, .sp.navi {
	padding:0;
	position:relative;
	z-index:1;
	background:rgba(255, 255, 255, 1);
	box-shadow: 0 5px 5px 0px rgba(100, 100, 100, 0.2);
}
@media screen and (max-width:767px) {
	header {
		padding:0;
		width:100%;
		height:58px;
		z-index:100;
	}
	header .navi .tel {
		width:55px;
		height:55px;
		margin:3px 0 0 auto;
		background: rgba(154, 132, 0, 1);
	}
	header .tel i {
		font-size:24px;
		font-size:2.4rem;
		transform:rotate(10deg);
		color:#ffffff;
	}
	header .toggle {
		margin:3px 0 0 0;
		width:55px;
		height:55px;
		background: rgba(255, 255, 255, 1);
	}
	header section , header section article {
		height:100%;
		padding:0;
	}
	header .sp.navi {
		width:100%;
		position:fixed;
		top:0;
		left:0;
		z-index:1;
		height:inherit;
		padding:0 0 0 0.5em;
	}
	header #logo {
		margin:0;
	}
	header .sp.navi img {
		max-height:45px;
		max-width:150px;
	}
	header .navigation {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-justify-content: center;
		justify-content: center;
	}
	header .navigation > div {
		height:100%;
		margin:0 0 0 15px;
		white-space:nowrap;
	}
}
@media screen and (min-width:768px) {
	header {
		min-width:768px;
	}
	
	header h1 {
		font-size: 25px;
		font-size: 2.5rem;
	}
	header h1 span{
		font-size: 0.4em;
		line-height:0;
	}
	header  .logo {
		height:inherit;
	}
	header .logo img {
		max-height:90px;
		max-width:210px;
	}
	header .guide {
		padding:1em 0;
		position:relative;
		z-index:1;
	}
	header .open {
		font-size: 12px;
		font-size: 1.2rem;
		line-height:140%;
	}
	header .tel {
		font-size: 30px;
		font-size: 3.0rem;
		font-weight:bold;
	}
	header .navigation {
		width:100%;
		position:relative;
		z-index:1;
		height:80px;
		transition: all 0.3s ease;
	}
	header .navigation > div {
		height:inherit;
		margin:0 auto;
	}
	
}
@media screen and (max-width:350px) {
	h1.logo {
		font-size: 18px;
		font-size: 1.8rem;
	}
}
/*****************************************************************************
	Navigation / MENU
*****************************************************************************/
nav.menu {
	height:inherit;
	z-index:10;
	text-align:center;
}
nav.menu li {
	text-align:center;
}
nav.menu a{
	display:block;
	line-height:150%;
	position:relative;
	transition: all 0.3s ease-in-out;
}
nav.menu a span {
	color:#9a8400;
}
footer nav.menu+p {
	line-height:0;
}
footer .bannerbtn a.btn{
	color: #ffffff;
	background: rgba(154, 132, 0, 1);
	padding: 1em 2em;
	width: auto
}
footer .bannerbtn{
	margin: 30px 150px 0;
}
footer .bannerbtn a{
	margin: 10px 30px;
	width: 150px;
	text-align: center;
}
footer .bannerbtn a img{
	width: 100%;
	height: auto;
}
/* SP Navigation */
@media screen and (max-width:767px){
	footer .bannerbtn{
		margin: 10px 0px 0;
	}
	footer .bannerbtn a{
		margin: 10px 5px;
		font-size: 12px;
		width: 130px;
	}
	footer .bannerbtn.f_box{
		flex-flow: row wrap;
	}
	ul#navi {
		padding:0;
		width:100%;
		-webkit-box-lines:multiple;
		-webkit-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
		background:rgba(255, 255, 255 , 1);
	}
	nav > h1 {
		padding:0 1em;
		max-width:50%;
	}
	nav > h1 img {
		width:100%;
	}
	header nav.menu {
		position:fixed;
		left:0;
		top:0px;
		width:100%;
		z-index:0;
		padding:58px 0 0 0;
		line-height:150%;
		height:auto;
		-webkit-transform:translate3d(0, -100% , 0) ;
				transform:translate3d(0, -100% , 0) ;
		transition: all 0.3s ease-in-out;
		/*-webkit-transform-origin:100% 0;
		-webkit-transform:scale3d(0, 1, 1) ;
				transform:scale3d(0, 1, 1) ;*/
	}
	header nav.menu.active {
		-webkit-transform:translate3d(0 , 0, 0) ;
				transform:translate3d(0 , 0, 0) ;
	}
	nav.menu a, footer nav.menu a {
		font-size:14px;
		font-size:1.4rem;
		text-align:left;
		display:block;
		width:100%;
		position:relative;
		padding:1em 0em 1em 4em;
		line-height:120%;
	}
	nav.menu li {
		width:100%;
		border-bottom:1px solid #efeadd;
	}
	footer nav.menu {
		margin:2em 0 1em 0;
	}
	footer nav.menu ul li {
		width:100%;
	}
	footer nav.menu a {
		text-align:center;
		padding:1em 0;
	}
}
/* PC Navigation */
@media screen and (min-width:768px){
	ul#navi {
		display:-webkit-box;
		display:-ms-flexbox;
		display: -webkit-flex;
		display:flex;
		max-width:1100px;
		width:100%;
		height: inherit;
	}
	nav.menu {
		max-width:1100px;
		width:100%;
		height:inherit;
	}
	nav.menu a span {
		line-height:120%;
	}
	nav.menu a i {
		display:none;
	}
	header .navigation nav.menu a {
		padding: 1.5em 0 0 0;
		height:inherit;
	}
	header .navigation nav.menu .logo a{
		padding: 0.5em 0 0 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
	}
	header nav.menu > div > div {
		width:inherit;
		padding:0em;
		height:100%;
	}
	header nav.menu > ul > li {
		position:relative;
		max-width:145px;
		width:100%;
	}
	header nav.menu > ul > li.logo {
		position:relative;
		min-width:235px;
		height:100px;
		padding:0;
	}
	header nav.menu > ul > li.logo::after {
		content:"";
		position:absolute;
		bottom:-20px;
		left:0;
		width:100%;
		height:50px;
		background:url(./img/common/header_logo_bg.png) center top / cover no-repeat;
		z-index:-1;
	}
	header nav.menu > ul > li:hover > a::after, header nav.menu > ul > li > a.active::after {
		transform-origin: left top;
		transform: scale3d(1, 1, 1);
	}
	footer nav.menu {
		width:initial;
		margin:4em auto 2em auto;
	}
	footer nav.menu a {
		padding:0.5em 2em;
	}
	footer nav.menu ul > li:last-child > a {
		padding-right:0;
	}
	footer nav a:not(:last-child) {
	}
	footer nav.menu a:hover {
		opacity:0.5;
	}
}
@media screen and (min-width:1000px) {
	header .navigation nav.menu a {
	}
}
/*****************************************************************************
	Header PullDown
*****************************************************************************/
ul#navi ul {
	width:200px;
	position:absolute;
	font-size:12px;
	font-size:1.2rem;
	top:3.5em;
	left:0;
	z-index:1;
	visibility:hidden;
	opacity:0;
	transition: all 0.3s ease-in-out;
}
ul#navi ul li {
	padding:0 0.5em;
	background:rgba(154, 132, 0, 0.9);
	transition: all 0.3s ease-in-out;
}
ul#navi ul li a{
	text-align:left;
	padding:1.2em 1em 1em 1em;
	border-bottom:1px solid #ede4da;
}
ul#navi li:hover ul {
	visibility:visible;
	opacity:1;
}
ul#navi ul > li:last-child a{
	border:none;
}
ul#navi ul > li:hover{
	background:rgba(255, 255, 255, 0.9);
}
ul#navi ul > li:hover a{
	color:#aba272;
}

@media screen and (max-width:767px) {
	ul#navi li:hover ul {
		visibility:hidden;
	}
}



/*****************************************************************************
	Key Visual
*****************************************************************************/
#mv, #kv {
	margin:0 auto;
	max-width:100%;
	width:100%;
	position:relative;
}
#mv img, #kv img{
	width:100%;
}
#kv {
	padding:0;
	height:200px;
}
#mv figure {
	margin:0;
}
#mv figcaption {
	position:absolute;
	bottom:10em;
	right:6em;
	z-index:2;
	text-align:center;
}
#mv figcaption p {
	font-size:30px;
	font-size:3.0rem;
	padding:0.5em;
	color:#9a8400;
	margin-bottom:0;
	letter-spacing:0em;
	text-shadow:0 0 2px rgba(255,255,255,1);
}
#mv figcaption p.under {
	font-size:1.8rem;
	color:#333333;
}
.kv .deco {
	position:absolute;
	bottom:0.4em;
	left:0;
	width:100%;
	text-align:center;
}

#kv figcaption {
	position:absolute;
	top:0;
	right:50%;
	width:50%;
	max-width:500px;
	height:inherit;
	padding:0.5em 0 0 1em;
	color:#b0a77a;
	font-size:30px;
	font-size:3.0rem;
	z-index:5;
}
#kv figcaption span {
	display:block;
	padding-top:1.5em;
	letter-spacing:0;
	font-size:0.7em;
	letter-spacing:0.1em;
}
#kv figcaption h2 {
	color:inherit;
	font-size:inherit;
	line-height:160%;
	text-align:left;
	text-shadow: 2px 2px 2px rgba(255, 255, 255, 0.5);
}

.kv {
	height:inherit;
}
#kv+p {
	height:8px;
	text-align:center;
	line-height:0;
}
.kv_about {
	background:url(./img/about/kv_about.jpg) right center / auto auto no-repeat;
}
.kv_flow {
	background:url(./img/flow/kv_flow.jpg) right center / auto auto no-repeat;
}
.kv_services {
	background:url(./img/services/kv_services.jpg) right center / auto auto no-repeat;
}
.kv_achivements {
	background:url(./img/achivements/kv_achivements.jpg) right center / auto auto no-repeat;
}
.kv_contact {
	background:url(./img/contact/kv_contact.jpg) right center / auto auto no-repeat;
}
.kv_blog {
	background:url(./img/blog/kv_blog.jpg) right center / auto auto no-repeat;
}

@media screen and (max-width:767px){
	#mv figcaption {
		position:absolute;
		bottom:3em;
		right:0em;
		width:100%;
		z-index:2;
	}
	#mv figcaption p {
		font-size:20px;
		font-size:2.0rem;
		padding:0;
	}
	#mv figcaption p.under {
		font-size:14px;
		font-size:1.4rem;
	}
	#kv {
	}
	.kv {
		background-size:cover;
		background-position:center center;
	}
	#kv figcaption {
		margin-top:50px;
		right:0;
		width:100%;
		font-size:24px;
		font-size:2.4rem;
		max-width:100%;
		color:#ffffff;
		padding:0.5em;
		height:auto;
		background: rgba(0,0,0,0.2);
	}
	#kv figcaption span {
		line-height:150%;
		padding:0;
	}
	#kv figcaption h2 {
		text-align:center;
		text-shadow: 2px 2px 2px rgba(10, 10, 10, 1);
	}
	#kv+p {
		height:70px;
		position:relative;
		margin-top:-70px;
	}
}
@media screen and (min-width:768px){
	#mv figure {
		width:100%;
	}
}

/*****************************************************************************
slick
*****************************************************************************/
/*****************************************************************************
icon
*****************************************************************************/
.social {
	width:160px;
}
.social a {
	font-size:20px;
	font-size:2.0rem;
	width:42px;
	height:42px;
	color:#ffffff;
	border-radius:100%;
}
.social a:nth-child(1) {
	background:#64ccef;
}
.social a:nth-child(2) {
	background:#507cbe;
}
.social a:nth-child(3) {
	background:#333333;
}
header .social {
	position:relative;
	z-index:1;
}
.social img {
	max-width:2.5em;
}
/*****************************************************************************
	Map
*****************************************************************************/
.gmap {
	position:relative;
	width: 100%;
	height: 500px;
	z-index:0;
	border-top: 1px solid #cfc695;
	border-bottom: 1px solid #cfc695;
}
/*****************************************************************************
	Section / Article
*****************************************************************************/
section {
	width:100%;
	position:relative;
	padding:3em 0;
}
section.kv {
	position:relative;
	padding:0 0 1em 0;
}

section.np {
	padding:0;
}
section.nptop {
	padding-top:0;
}
section.npbtm {
	padding-bottom:0;
}
section > article {
	position:relative;
	max-width:1050px;
	width:100%;
	margin:0 auto;
	padding-left:1em;
	padding-right:1em;
}
main {
	padding-top:80px;
}
@media screen and (max-width:767px){
	main {
	    padding-top: 58px;
	}
	section {
		padding:1em 0;
	}
}
/*****************************************************************************
	background
*****************************************************************************/
.board {
	width:323px;
	height:323px;
	position:absolute;
	top:-210px;
	right:0;
	border-radius:50%;
	background:url(./img/about/board.png) center center / cover no-repeat;
	z-index:2;
	text-align:center;
	padding:3em 2em;
}
.board > .arch {
	color:#5d3f24;
	font-size:22px;
	font-size:2.2rem;
	letter-spacing:0.2em;
}
.board h2 {
	font-size:20px;
	font-size:2.0rem;
	margin:3.2em 0 0.5em 0;
}
.board h2+div {
	letter-spacing:0;
}
@media screen and (max-width:767px){
	.board {
		display:none;
	}
}

/*****************************************************************************
	background
*****************************************************************************/
.bg_white {
	background:#ffffff;
}
.bg_flow {
	background:url(./img/flow/bg_flow.png) right top / auto auto no-repeat;
}
.bg_index {
	background:url(./img/common/bg_top.png) right center / contain no-repeat;
}
.bg_service {
	background:url(./img/common/bg_service_01.png) left top / auto auto no-repeat, url(./img/common/bg_service_02.png) right bottom / auto auto no-repeat;
}
.bg_flow_index {
	background:url(./img/common/bg_flow_01.png) right top / auto auto no-repeat, url(./img/common/bg_flow_02.png) left bottom / auto auto no-repeat;
}
@media screen and (max-width:767px){
}
@media screen and (max-width:767px){
	.bg_index {
		background:url(./img/common/bg_top.png) right -90px center / contain no-repeat;
	}
	.bg_flow {
		background:url(./img/flow/bg_flow.png) right top / 50% auto no-repeat;
	}
	.bg_flow_index {
		background:url(./img/common/bg_flow_01.png) right top / 50% auto no-repeat, url(./img/common/bg_flow_02.png) left bottom / auto auto no-repeat;
	}
}
/*****************************************************************************
	Title Decoration
*****************************************************************************/
.arch.title {
	font-size:32px;
	font-size:3.2rem;
	text-align:center;
}
h2.title {
	font-size:22px;
	font-size:2.2rem;
	margin:3em 0 ;
}
h2.title+div {
}
h2.single {
	text-align:left;
	margin:1em 0 ;
	line-height:150%;
}
h3.title {
	font-weight:bold;
	font-size:18px;
	font-size:1.8rem;
}
h3.title span{
	font-size:30px;
	font-size:3.0rem;
	display:inline-block;
	letter-spacing:0em;
	font-style:italic;
	margin-right:0.2em;
}
h3.title+p {
	padding:3em 0 2em 0;
}
h3.title.flow {
	text-align:left;
}
h3.title.flow+p {
	padding:1em 0 2em 0;
}
h3.title.achivements {
	padding:1em 0 0em 2.3em;
	line-height:100%;
	display:inline-block;
	color:#f2609a;
	background:url(./img/common/heart.png) left center / auto auto no-repeat;
}
h3.blog {
	text-align:left;
	font-weight:bold;
	font-size:14px;
	font-size:1.4rem;
	margin:1em 0;
	line-height:130%;
}
h3.blog+div {
	height:3em;
	overflow:hidden;
}
h3.blog.index {
	font-size:20px;
	font-size:2.0rem;
	margin:0.5em 0;
}
h3.title.index {
	font-size:26px;
	font-size:2.6rem;
	text-align:left;
	font-weight:normal;
}
h3.title.index span {
	font-size:2em;
}
h3.title.index+p{
	padding:1em 0 4em 0;
}
h3.service {
	position:relative;
	font-size:18px;
	font-size:1.8rem;
	margin:0.8em 0 0.6em 0;
	padding:0 2em;
}
h3.service::before, h3.service::after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(./img/common/service_title_01.png) left center / auto auto no-repeat;
}
h3.service::after {
	right:0;
	background:url(./img/common/service_title_02.png) right center / auto auto no-repeat;
}

@media screen and (max-width:767px){
}
@media screen and (min-width:768px){
}
/*****************************************************************************
	figure
*****************************************************************************/
figure {
	position:relative;
	overflow:hidden;
	text-align:center;
	margin-bottom:2em;
}
figure img {
	max-width:100%;
	width:100%;
	height:auto;
}

figure.point, figure.flow {
	width:200px;
	height:200px;
	min-width:200px;
	border-radius:50%;
	margin:0;
}
figure.flow.index {
	width:150px;
	height:150px;
	min-width:150px;
}
figure.info {
	text-align:left;
	padding:0.5em;
	width:320px;
	height:214px;
	background:url(./img/index/blog.jpg) center center / cover no-repeat;
}
figure.info > figcaption {
	font-size:22px;
	font-size:2.2rem;
	padding:0.5em;
	color:#ffffff;
	height:100%;
	border:1px solid #ffffff;
	text-shadow:1px 1px 3px rgba(10,10,10,0.5);
}

.point_ring {
	position:relative;
	width:242px;
	height:220px;
	margin:0 auto 3em auto;
}
.point_ring::after {
	content:"";
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background:url(./img/common/point_ring.png) center center / auto auto no-repeat;
	z-index:5;
	overflow:visible;
}

@media screen and (max-width:767px){
	figure {
		width:100%;
	}
	figure img{
		width:100%;
		height:auto;
	}
	figure.flow.index {
		width:200px;
		height:200px;
		min-width:200px;
	}
}

/* Image Fill Gray */
figure:after , picture:after{
	/* use copy
	content:"";
	*/
	position:absolute;
	z-index:1;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:#9a9a9a;
	border:1px solid #bababa;
}
/*****************************************************************************
	index
*****************************************************************************/

div.service {
	width:242px;
	margin-bottom:2em;
}
div.service:not(:last-child) {
	margin-right:1em;
}
div.service div.frame {
	position:relative;
	width:242px;
	height:182px;
	overflow:hidden;
	box-shadow: 0 0 10px 5px rgba(251, 252, 245, 1);
}
div.service div.frame::after {
	content:"";
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background:url(./img/common/frame.png) center center / 100% 100% no-repeat;
}
div.service figure.frame {
	margin:0;
}

@media screen and (max-width:767px){
	div.service {
		width:100%;
	}
	div.service:not(:last-child) {
		margin-right:0;
	}
	div.service div.frame {
		margin:0 auto;
	}
}
.date {
	margin-right:1em;
	padding:0;
	line-height:100%;
}
.category {
	font-size:12px;
	font-size:1.2rem;
	display:inline-block;
	line-height:100%;
	color:#ffffff;
	padding:0.5em 1.5em;
	background:rgba(154, 132, 0, 1);
	white-space:nowrap;
	border-radius:1em;
	margin-top:0.5em;
}
.category.voice {
	font-size:14px;
	font-size:1.4rem;
	padding:0.3em 0.8em;
	margin-right:0.5em;
}
/*****************************************************************************
	Under
*****************************************************************************/
div.flow,div.achivements {
	margin-bottom:3em;
}
div.flow:last-child {
	margin-bottom:1em;
}
div.flow:first-child {
	margin-top:4em;
}
div.flow span{
	font-size:50px;
	font-size:5.0rem;
	padding-right:0.5em;
	line-height:200px;
}
div.flow > div {
	padding:3em 0 0 2em;
}

section.services {
	background:#f6f4f0;
	padding:0;
}

section.services > figure, section.services > div {
	width:50%;
}
section.services > figure.services {
	min-height:360px;
	margin:0;
}
section.services > div {
	padding:3em;
}
section.services > div > div{
	max-width:500px;
}
section.services > div > div.left{
	margin:0 0 0 auto;
}
section.services h3 {
	background: #9a8400;
	color: #fff;
	padding: 1em 2.5em;
	display: inline-block;
	margin-bottom: 1.5em;
	font-size: 20px;
	font-size: 2.0rem;
}
@media screen and (max-width:767px) {
	section.services > figure, section.services > div {
		width:100%;
	}
	section.services > figure.services {
		min-height:220px;
	}
	section.services > div {
		padding:1.5em 1.5em 2em 1.5em;
		max-width:100%;
	}
	section.services > div > div.left{
		margin:0;
	}
	.order_top {
		-webkit-order: -1;
		-ms-order: -1;
		order: -1;
	}
	section.services h3 {
		font-size: 16px;
		font-size: 1.6rem;
		padding: 0.5em 1em;
		margin-bottom: 0.5em;
	}
}

@media screen and (max-width:767px){
	div.flow {
		margin-bottom:2em;
	}
	figure.flow {
		margin-right:auto;
		margin-bottom:2em;
	}
	div.flow span {
		margin-left:auto;
	}
	div.flow > div {
		padding:0;
	}
}
@media screen and (min-width:768px){
	div.flow.index span{
		line-height:150px;
	}
}
/******************************************************************************
	CTA
******************************************************************************/
.cta {
	color:#ffffff;
	padding:5.5em 0;
}
.cta > div {
	width:50%;
	height:100px;
}
@media screen and (max-width:767px){
}
@media screen and (min-width:768px){
	.cta > div > a {
		max-width:500px;
	}
}
/*****************************************************************************
	footer
*****************************************************************************/
footer {
	padding:2em 0 0 0;
	background:rgba(255, 255, 255, 1);
	border-top: 1px solid #e0dbba;
}
footer .logo img {
	max-height: 250px;
	max-width: 250px;
}
p.copy {
	padding:2em 0;
	text-align:center;
	font-size:12px;
	font-size:1.2rem;
	margin:0 auto;
	width:100%;
	background:#fbfcf5;
}
footer .social {
	margin:0.5em auto;
}
@media screen and (max-width:767px){
}
@media screen and (min-width:768px){
}
/******************************************************************************
	Post
******************************************************************************/
#post {
}
#post ul {
	margin-bottom:3em;
}
#post ul.index {
	margin-bottom:0em;
}
#post ul.blog a {
	width:300px;
}
#post ul.blog li {
	width:320px;
	margin-bottom:3em;
}
#post ul.blog li:not(:nth-child(3n)) {
}
#post ul.blog li div.frame{
	width:100%;
	height:215px;
	margin:0 0 1.5em 0;
	background:url(./img/blog/noimage.png) center center / cover no-repeat;
	padding:0.5em;
}
#post ul.blog li div.frame figure {
	width:100%;
	height:100%;
	border:1px solid #ffffff;
	background-size:100% auto;
	transition:background-size 0.1s linear;
}
#post ul.blog li div.frame figure:hover{
	background-size:110% auto;
}

#post ul.blog a {
	width:100%;
}
#post ul.blog.index a {
	width:100%;
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
	padding:0em 1em 0em 0em;
	margin-bottom:0em;
	transition:all 0.2s linear;
}
#post ul.blog a:hover {
	background:rgba(154, 132, 0, 0.1);
}
#post h3.tl {
	font-size:14px;
	font-size:1.4rem;
	height:3.5em;
	padding:0.5em 0.5em 0.5em 0;
	color:#333333;
	overflow:hidden;
}
#post ul.blog.index h3.tl {
	overflow:hidden;
}

#post .list a {
    max-width: 500px;
    height: auto;
}
#post .new {
	position:absolute;
	z-index:1;
}
@media screen and (min-width: 768px) {
	#post ul.blog a {
	}
	#post ul.list a:not(:nth-of-type(2n)) {
	    margin-right: 0.9em;
	}
}
@media screen and (max-width: 767px) {
	#post ul.blog {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-justify-content: center;
		justify-content: center;
	}
	#post ul.blog li:not(:nth-child(3n)){
		margin-right:0;
	}
}
/* #post .side */
#post .side > div {
	margin-bottom:2em;
}
#post .side h3 {
	color:#9c8400;
	font-size:22px;
	font-size:2.2rem;
	letter-spacing:0;
	padding:0 0 0.3em 0 ;
	line-height:100%;
	text-align:left;
	border-bottom:1px solid rgba(154, 132, 0, 1);
}
#post .side li a:hover {
	background:rgba(154, 132, 0, 0.1);
}
#post .side li a {
	padding:1em 1em 1em 0em;
	width:100%;
}
#post .side li{
	position:relative;
	font-size:14px;
	font-size:1.4rem;
	line-height:100%;
	border-bottom: 1px dotted rgba(154, 132, 0, 1);
}

#post .side li p.deco {
	position:relative;
	width:1em;
	margin-right:1em;
	height:0.3em;
	background:rgba(154, 132, 0, 0.7);
	line-height:100%;
}
#post .side li p.deco::before, #post .side li p.deco::after {
	content:"";
	position:absolute;
	width:1.5em;
	height:0.3em;
	background:rgba(154, 132, 0, 1);
	top:-0.5em;
	left:0;
}
#post .side li p.deco::after {
	width:0.5em;
	background:rgba(154, 132, 0, 0.4);
	top:initial;
	bottom:-0.5em;
}


/* Category */
#category li a {
	display:block;
}
/* Recent */
#post .side #recent li a {
	font-size:12px;
	font-size:1.2rem;
	padding:1.5em 0 1.5em 0;
}
#recent p {
	margin-top:0.5em;
	line-height:160%;
}
#recent figure {
	text-align:center;
	min-width:85px;
	width:85px;
	min-height:85px;
	height:85px;
	margin:0 1em 0 0;
	overflow:hidden;
}
/* Archive */
#post .side #archive li a {
	display:block;
	padding:1em 0 1em 1.2em;
}
#post .side #archive li:before {
	content:"●";
	color:#9a8400;
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:1em;
	line-height:300%;
}
/* Search */
#post #search .s {
	display: block;
	padding: 0.5em 0.5em 0.5em 1em;
	border: 1px solid #cccccc;
	width: 100%;
	z-index: 1;
	background: url(./img/icon/search.png) right top  / auto 100%  no-repeat;
	margin-top: 1em;
}
#post #search .searchsubmit {
	display: none;
}
/******************************************************************************
	Post:Single
******************************************************************************/
#post .content {
	font-size:14px;
	font-size:1.4rem;
	padding-top: 1em;
	margin-top:1.5em;
	min-height:300px;
}
#post .content img {
	max-width:100%;
	height:auto;
}
#post.single h2 {
	font-size:26px;
	font-size:2.6rem;
	line-height:140%;
	margin:1em 0;
	padding-bottom:0.5em;
	color:#333333;
}
/************************************************************************************
	single paging
************************************************************************************/
.single_paging {
	width:100%;
	margin:20px 0;
	padding:0;
}
/******************************************************************************
	Pager
******************************************************************************/
#pager {
	margin:5em 0;
}
#pager .pages {
	display:none;
}
#pager .wp-pagenavi {
	display:-webkit-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
#pager .wp-pagenavi * {
	padding:0;
	min-width:3em;
	height:3em;
	margin:0 3px;
	text-align:center;
	border:1px solid rgba(154, 132, 0, 1);
	color:#aba272;
	line-height:3em;
	font-size:14px;
	font-size:1.4rem;
}
#pager .current, .wp-pagenavi > *:hover, #pager .wp-pagenavi a:hover {
	color:#ffffff;
	background:rgba(154, 132, 0, 0.9);
}
.wp-pagenavi .page {
}
.wp-pagenavi .current {
}
.wp-pagenavi .previouspostslink {
	border:none;
	margin-right:40px;
}
.wp-pagenavi .nextpostslink {
	border:none;
	margin-left:40px;
}
#pager .wp-pagenavi a {
	display: block;
	line-height:140%;
	padding: 0.8em;
	text-align: center;
	background:rgba(255, 255, 255, 1);
	margin-bottom:0.2em;
}
/*****************************************************************************
	ul / dl / Table
*****************************************************************************/
ul.blog.index {
	position:relative;
	border-top: 1px dotted #e0dbba;
}
ul.blog.index li:not(:last-child) {
	border-bottom: 1px solid #e0dbba;
}
ul.blog.index li a{
	transition:all 0.1s ease;
	padding:1em 0;
}
ul.blog.index li a.f_box:hover {
	background:#faf8ea;
}
table th, table td {
	vertical-align : top;
	padding:1em 0em;
}
table.access {
	border-top: 1px solid #e0dbba;
}
table.access tr {
	border-bottom: 1px solid #e0dbba;
}
table.access th{
	padding:1em 0.5em;
	text-align:left;
	white-space:nowrap;
	width:5em;
}
table.access td{
	max-width:100%;
	width:0;
}

ul.price {
	font-size:18px;
	font-size:1.8rem;
	margin:3em auto 0.5em auto;
	border-top: 1px solid #efeadd;
}
ul.price li {
	padding:1em;
	border-bottom: 1px solid #efeadd;
}
ul.price li > div {
	min-width:50%;
	text-align:center;
}
ul.price+p {
	font-size:12px;
	font-size:1.2rem;
	min-width:50%;
}

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

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

}
/************************************************************************************
 contact
************************************************************************************/
#contact{
	font-size: 14px;
	font-size: 1.4rem;
}
#contact article {
	padding-bottom:3em;
}
#contact dl {
	margin:0 auto;
}
#contact dt {
	width:100%;
	padding: 0.5em 0;
	margin-right:2em;
}
#contact dt span, #contact li .label span {
	font-size: 12px;
	font-size: 1.2rem;
	color:#ffffff;
	background:rgba(154, 132, 0, 1);
	padding:0.3em 1em;
	margin-right:1em;
	line-height:140%;
	height:2em;
}
#contact dt span.nn, #contact li .label span.nn {
	background:#cccccc;
}
.mw_wp_form_confirm li span {
	display:none;
}
#contact dt p {
	font-size: 12px;
	font-size: 1.2rem;
	color:#f79783;
}
#contact dd {
	width:100%;
	margin-bottom:1em;
}
#contact li .label {
	margin-bottom:1em;
}
#contact .memo {
	width: 100%;
	font-weight: bold;
	padding: 0 0 2em 0;
}
#contact  input[type="text"],
#contact  input[type="email"],
#contact  textarea {
	font-size: 14px;
	font-size: 1.4rem;
	width:100%;
	padding: 0.5em 1em;
	resize:none;
	border:1px solid #cccccc;
	background:rgba(255, 255, 255, 0.8);
	font-family: sans-serif;
}
#contact  textarea {
	height:200px;
}
#contact  input:focus,
#contact  textarea:focus {
	content:"";
	border:1px solid #666666;
}
#contact  input[type="submit"] {
	font-family:"Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	cursor:pointer;
}
#contact p {
	text-align:center;
	line-height: 170%;
}
@media screen and (max-width:767px) {
	#contact p {
		text-align:left;
	}
}

#contact .confirm, .sending, .backform {
	cursor: pointer;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
	width: 200px;
	height: 45px;
	margin-top: 5px;
	background: #888;
}
.mw_wp_form_confirm .send {
	display:none;
}

p.message {
	display:none;
}
.mw_wp_form_input p.message:nth-child(1) {
	display:block;
}
.mw_wp_form_confirm p.message:nth-child(2) {
	display:block;
}

/*****************************************************************************
	Flex Box
*****************************************************************************/
/***********
horizon
************/
.f_box {
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
}
.f_item {
    -webkit-flex:1 0 auto;
    -ms-flex:1 0 auto;
    flex:1 0 auto;
}
.f_h_start {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
.f_h_center {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
}
.f_h_end {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
.f_h_sb {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.f_h_sa {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}
.f_wrap {
	-webkit-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
/***********
vertical
************/
.f_column {
	-webkit-box-direction:column;
	-webkit-flex-direction:column;
	flex-direction:column;
}
.f_start {
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.f_end {
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.f_center {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.f_baseline {
	-webkit-align-items: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
}
.f_stretch {
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
/*****************************************************************************
	Gimic with jQuery
*****************************************************************************/
.trans {
	-webkit-transition:all 0.3s ease;
			transition:all 0.3s ease;
}
.zoom {
	-webkit-transition:all 0.3s ease;
			transition:all 0.3s ease;
}
.zoom:hover {
    -webkit-transform: scale3d(1.1,1.1,1);
    transform: scale3d(1.1,1.1,1);
}
/*  3D Appear */
.deg {
	position:relative;
	perspective:1000px;
}
.deg.back {
	z-index:-1;
}
.deg > [data-type="left"] {
	transition:all 1s ease;
	transform: rotateY(90deg) translateX(-100px);
	opacity:0;
}
.deg > [data-type="right"] {
	transition:all 1s ease;
	transform: rotateY(-90deg) translateX(100px);
	opacity:0;
}
.deg.active > *{
	transform: rotateY(0deg);
	opacity:1;
}
/*  Scrolling Appear */
.scroll {
			transition:all 1.0s ease;
}
.scroll[data-type="up"] {
	transform: translate3d(0, 100px, 0);
	opacity:0.01;
}
.scroll[data-type="down"] {
	transform: translate3d(0, -100px, 0);
	opacity:0.01;
}
.scroll[data-type="left"] {
	transform: translate3d(-100px, 0, 0);
	opacity:0.01;
}
.scroll[data-type="right"] {
	transform: translate3d(100px, 0, 0);
	opacity:0.01;
}
.scroll[data-type="up"].active, .scroll[data-type="down"].active, .scroll[data-type="left"].active, .scroll[data-type="right"].active  {
	transform: translate3d(0, 0, 0);
	opacity:1;
}
.dur {
	transition-delay: 0.2s;
}
.dur4 {
	transition-delay: 0.4s;
}
/*  Parallax Setting */
.para {
	position: relative;
	background-repeat: no-repeat;
	background-color: rgba(255, 255, 255, 1);
}

.para[data-id="p1"] {
    background-image: url("./img/index/index_para_01.jpg");
}
.para[data-id="p2"] {
    background-image: url("./img/index/index_para_02.jpg");
}
.para[data-id="p3"] {
    background-image: url("./img/index/index_para_03.jpg");
}
.para[data-id="p4"] {
    background-image: url("./img/index/index_para_04.jpg");
}
@media screen and (max-device-width:1024px) {
	/* for Mobile and Tablet */
	.para {
		background-size: cover;
		height: 400px;
		background-position: center center;
	}
}
@media screen and (min-device-width:1024px)  {
	/* for PC */
	.para {
		background-attachment: fixed;
		background-size:100% auto;
		background-position: center 100%;
		height: 300px;
	}
}
@media screen and (max-width:768px) {
	/* for Mobile */
	.para {
		height: 190px;
	}
	.deg {
		width:100%;
	}
}
/*****************************************************************************
	common media
*****************************************************************************/
.col {
	width:100%;
}
@media screen and (max-width:767px){
	/* for Mobile */
	.f_res {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-box-lines:multiple;
		-webkit-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	div.blank {
		height:25px;
	}
	div.blankx2 {
		height:50px;
	}
	.pc {
		display:none;
	}
	.order_top {
		-webkit-order:-1;
		-ms-order:-1;
		order:-1;
	}
	.order_1 {
		-webkit-order:1;
		-ms-order:1;
		order:1;
	}
	address {
	}
}
@media screen and (min-width:768px){
	/* for Tablet and PC */
	.f_res {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	div.blank {
		height:50px;
	}
	div.blankx2 {
		height:100px;
	}
	div.blankx3 {
		height:150px;
	}
	.sp {
		display:none;
	}
	.w10 {
		width:10%;
		min-width:c10%;
	}
	.w15 {
		width:15%;
		min-width:15%;
	}
	.w20 {
		width:20%;
		min-width:20%;
	}
	.w20s {
		width:calc(20% - 1em);
		min-width:calc(20% - 1em);
	}
	.w20l {
		width:calc(20% + 1em);
		min-width:calc(20% + 1em);
	}
	.w25 {
		width:25%;
		min-width:25%;
	}
	.w25s {
		width:calc(25% - 1em);
	}
	.w33{
		width:calc(100% / 3);
	}
	.w33s{
		width:calc(100% / 3 - 0.5em);
	}
	.w30 {
		width:30%;
		min-width:30%;
	}
	.w30s {
		width:calc(30% - 1em);
		min-width:calc(30% - 1em);
	}
	.w30l {
		width:calc(30% + 1em);
	}
	.w35 {
		width:35%;
		min-width:35%;
	}
	.w35s {
		width:calc(35% - 1em);
		min-width:calc(35% - 1em);
	}
	.w40 {
		width:40%;
		min-width:40%;
	}
	.w40s {
		width:calc(40% - 1em);
		min-width:calc(40% - 1em);
	}
	.w45 {
		width:45%;
	}
	.w45s {
		width:calc(45% - 1em);
		min-width:calc(45% - 1em);
	}
	.w45l {
		width:calc(45% + 1em);
		min-width:calc(45% + 1em);
	}
	.w60 {
		width:60%;
		min-width:60%;
	}
	.w60s {
		width:calc(60% - 1em);
	}
	.w60l {
		width:calc(60% + 1em);
	}
	.w66 {
		width:66%;
	}
	.w50s {
		width:calc(50% - 1em);
	}
	.w50 {
		width:50%;
		min-width:50%;
	}
	.w50l {
		width:calc(50% + 1em);
	}
	.w55 {
		width:calc(55%);
		min-width:calc(55%);
	}
	.w55s {
		width:calc(55% - 1em);
		min-width:calc(55% - 1em);
	}
	.w65 {
		width:65%;
		min-width:65%;
	}
	.w65s {
		width:calc(65% - 1em);
		min-width:calc(65% - 1em);
	}
	.w75 {
		width:75%;
	}
	.w75s {
		width:calc(75% - 1em);
	}
	.w70 {
		width:70%;
	}
	.w70s {
		width:calc(70% - 1em);
	}
	.w70l {
		width:calc(70% + 1em);
	}
	.w80 {
		width:80%;
	}
	.w80s {
		width:calc(80% - 1em);
	}
	.w80l {
		width:calc(80% + 1em);
	}
	.w85 {
		width:85%;
	}
	.w90 {
		width:90%;
	}
	.w95 {
		width:95%;
	}
}