html {
	font-size: 62.5%;
}
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label {
font-family:"游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
color:#333333;
font-size: 1.4rem;
font-weight:500;
}
.cinzel {
	font-family: 'Cinzel', serif;
	letter-spacing:0.1em;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
a {
	color:#333333;
	outline: none;
	text-decoration:none;
}
a:hover {
	text-decoration:none;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}
p {
	padding-bottom:1em;	
}
strong {
	font-weight:900;
	color:#cc0000;
}
hr {
	border:none;
	height:1px;
	background:#ddd;
}
ol>li {
	list-style-type:inherit;
	margin-left:16px;
	line-height:150%;
}
ul.marklist>li {
	list-style-type:disc;
	margin-left:16px;
	line-height:150%;
}
@media screen and (max-width : 767px){
	p {
	line-height:200%;
	}	
	hr {
	margin:16px auto;
	}

}
@media screen and (min-width : 768px){
	p {
	line-height:200%;
	}
	hr {
	margin:32px auto;
	}
}
a.anchor {
	display:block;
	margin-top:-50px;
	padding-top:50px;	
}
.red {color:#cc0000;}
/*-----------------------------------------
icon-font
------------------------------------------*/
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?yzkroh');
  src:  url('../fonts/icomoon.eot?yzkroh#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?yzkroh') format('truetype'),
    url('../fonts/icomoon.woff?yzkroh') format('woff'),
    url('../fonts/icomoon.svg?yzkroh#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-right:before {
  content: "\f0da";
}
.icon-angle-left:before {
  content: "\f104";
}
.icon-angle-right:before {
  content: "\f105";
}
.icon-angle-up:before {
  content: "\f106";
}
.icon-angle-down:before {
  content: "\f107";
}


/*-----------------------------------------
master-layout-settings
------------------------------------------*/
.flex {
	display:-webkit-box; /* Android rower */
	display:-ms-flexbox;/*--- IE10 ---*/
	display:-webkit-flex; /* Safari */
	display:flex;
}
.flex-wrap {
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;	
}
.flex-middle {
	-webkit-align-items:center; /* Safari */
	align-items:center;
}
.flex-center {
	-webkit-justify-content: center; /* Safari */
	justify-content:center;
}
.flex-between {
	-webkit-justify-content:space-between; /* Safari */
	justify-content:space-between;	
}
.flex-right {
  -webkit-justify-content: flex-end; /* Safari */
  justify-content:         flex-end;
}
.flex-no {
	-webkit-flex-direction: column; /* Safari */
	flex-direction: column;
}
.flex.flex-sep-2>* {
	width:50%;	
}
.flex.flex-sep-3>* {
	width:33.3333%;	
}
.flex.flex-sep-4>* {
	width:25%;	
}
.flex.flex-sep-5>* {
	width:20%;	
}
.flex1 {flex:1;}
.flex2 {flex:2;}
.flex3 {flex:3;}
.flex4 {flex:4;}
.flex5 {flex:5;}
@media screen and (max-width : 767px){
	.flex.flex-sp-sep-2>* {
	width:50%;	
	}
	.flex.flex-sp-sep-3>* {
	width:33.33333%;
	}
	.flex.flex-sp-sep-4>* {
	width:25%;
	}
	.flex.flex-spacer>*,.flex.flex-spacer-nallow>*{
	padding-left:4px;
	padding-right:4px;	
	padding-top:4px;
	padding-bottom:4px;
	}
	.flex.flex-spacer-wide>*{
	padding-left:8px;
	padding-right:8px;	
	padding-top:8px;
	padding-bottom:8px;
	}
	.flex-spacer-vertical {
	margin-top:8px;
	margin-bottom:8px;	
	}
	.container {
	padding-left:30px;
	padding-right:30px;
	margin-left:auto;
	margin-right:auto;
	}
	.container-middle {
	margin-left:auto;
	margin-right:auto;
	}
	.img-responsive {
	margin-left: auto;
	margin-right: auto;
	}
	.pc-only {
	display:none !important;
	}
	span.sp-break {display:block;}
	.mt16-sp {margin-top:16px;}
	.mt32-sp {margin-top:32px;}
	.mt40-sp {margin-top:40px;}
	.mt48-sp {margin-top:48px;}
	.text-center-sp {text-align:center;}
}
@media screen and (min-width : 768px){
	.flex-pc {
	display:-webkit-box; /* Android rower */
	display:-ms-flexbox;/*--- IE10 ---*/
	display:-webkit-flex; /* Safari */
	display:flex;
	}
	.flex-pc.flex-sep-2>*,.flex-pc.flex-pc-sep-2>*,.flex.flex-pc-sep-2>* {
	width:50%;	
	}
	.flex-pc.flex-sep-3>*,.flex-pc.flex-pc-sep-3>*,.flex.flex-pc-sep-3>* {
	width:33.33333%;
	}
	.flex-pc.flex-sep-4>*,.flex-pc.flex-pc-sep-4>*,.flex.flex-pc-sep-4>* {
	width:25%;
	}
	.flex-pc.flex-sep-5>*,.flex-pc.flex-pc-sep-5>*,.flex.flex-pc-sep-5>* {
	width:25%;
	}
	.flex.flex-spacer>*,.flex-pc.flex-spacer>* {
	padding-left:8px;
	padding-right:8px;
	padding-top:8px;
	padding-bottom:8px;
	}
	.flex-sep-2.flex-spacer>*:nth-child(odd),.flex-pc-sep-2.flex-spacer>*:nth-child(odd) {
	margin-left:-8px;
	}
	.flex-sep-2.flex-spacer>*:nth-child(even),.flex-pc-sep-2.flex-spacer>*:nth-child(even) {
	margin-right:-8px;
	}
	.flex-sep-3.flex-spacer>*:nth-child(3n+1),.flex-pc-sep-3.flex-spacer>*:nth-child(3n+1) {
	margin-left:-8px;
	}
	.flex-sep-3.flex-spacer>*:nth-child(3n+3),.flex-pc-sep-3.flex-spacer>*:nth-child(3n+3)  {
	margin-right:-8px;
	}
	.flex-sep-4.flex-spacer>*:nth-child(4n+1),.flex-pc-sep-4.flex-spacer>*:nth-child(4n+1) {
	margin-left:-8px;
	}
	.flex-sep-4.flex-spacer>*:nth-child(4n+4),.flex-pc-sep-4.flex-spacer>*:nth-child(4n+4) {
	margin-right:-8px;
	}
	.flex-sep-5.flex-spacer>*:nth-child(5n+1) {
	margin-left:-8px;
	}
	.flex-sep-5.flex-spacer>*:nth-child(5n+5) {
	margin-right:-8px;
	}
	.flex.flex-spacer-nallow>*,.flex-pc.flex-spacer-nallow>* {
	padding-left:4px;
	padding-right:4px;
	padding-top:8px;
	padding-bottom:8px;
	}
	.flex-sep-2.flex-spacer-nallow>*:nth-child(odd) {
	margin-left:-4px;
	}
	.flex-sep-2.flex-spacer-nallow>*:nth-child(even) {
	margin-right:-4px;
	}
	.flex.flex-spacer-wide>*,.flex-pc.flex-spacer-wide>*{
	padding-left:16px;
	padding-right:16px;
	padding-top:0px;
	padding-bottom:32px;
	}
	.flex-sep-3.flex-spacer-wide>*:nth-child(3n+1) {
	padding-left:0;
	padding-right:22px;
	}
	.flex-sep-3.flex-spacer-wide>*:nth-child(3n+2) {
	padding-left:11px;
	padding-right:11px;
	}
	.flex-sep-3.flex-spacer-wide>*:nth-child(3n+3) {
	padding-left:22px;
	padding-right:0;
	}
	.container {
	width:1060px;
	margin-left:auto;
	margin-right:auto;
	overflow:hidden;
	padding-left:50px;
	padding-right:50px;
	}
	.container-middle {
	width:640px;
	margin-left:auto;
	margin-right:auto;
	overflow:hidden;
	}
	.container-full {
	width:100%;
	min-width:1060px;
	margin-left:auto;
	margin-right:auto;
	}
	.leftbox {
	padding-right:32px;	
	}
	.rightbox {
	padding-left:32px;	
	}
	.sp-only {display:none !important;}
	span.pc-break {display:block;}
	.mt32-pc {margin-top:32px;}
	.mt40-pc {margin-top:40px;}
	.mt48-pc {margin-top:48px;}
	.pr16-pc {padding-right:16px;}
	.pr32-pc {padding-right:32px;}
	.pl16-pc {padding-left:16px;}
	.pl32-pc {padding-left:32px;}
	.text-center-pc {text-align:center;}
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
.mt16 {margin-top:16px;}
.mt32 {margin-top:32px;}
.mt40 {margin-top:40px;}
.mt48 {margin-top:48px;}
.mb16 {margin-bottom:16px;}
.mb32 {margin-bottom:32px;}
.mb40 {margin-bottom:40px;}
.mb48 {margin-bottom:48px;}
.pr16 {padding-right:16px;}
.pr32 {padding-right:32px;}
.pb16 {padding-bottom:16px;}
.pb32 {padding-bottom:32px;}

.text-center {text-align:center;}
/*-----------------------------------------
header
------------------------------------------*/
header {
	background-image: url(../images/mainvisual.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:cover;
	position:relative;
	z-index:1;
}
header.thanks {
	background-image:none;	
}
header h1 img {
	display:block;
	margin-left:auto;
	margin-right:auto;	
}
.spenit {
	margin-top:24px;
	letter-spacing:0.2em;
	text-align:center;	
}
.navmenu {
	position:fixed;
	z-index:99;
	right:0px;	
}
.navmenu li {
	margin-bottom:20px;	
}
.navmenu li a {
	display:block;	
	height:30px;
	width:30px;
	line-height:30px;
	text-align:center;
	color:#ffffff;
	background:#000000;
	font-size:1.8rem;	
	font-family: 'Cinzel', serif;
	letter-spacing:0.1em;
}
.navmenu li a:hover {
	background:#0077c4;	
}
@media screen and (max-width : 767px){
	header,.header-box {
	height:100vh;
	}
	header.thanks,.header-thanks-box {
	height:50vh;	
	}
	.spenit {
	font-size:1.1rem;	
	}
	.navmenu {
	top:40vh;		
	}	
	.smaller+.navmenu {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	top:3vh;	
	}
}
@media screen and (min-width : 768px){
	header,.header-box {
	height:768px;
	}
	header.thanks,.header-thanks-box {
	height:384px;	
	}
	.header-navcase {
	position:absolute;
	top:294px;
	right:50px;	
	}
	.header-navcase li {
	text-align:right;
	margin-bottom:20px;	
	}
	.header-navcase li a {
	display:block;
	height:30px;
	line-height:30px;
	color:#000000;
	font-family: 'Cinzel', serif;
	font-weight:700;
	letter-spacing:0.2em;
	}
	.smaller .header-navcase li a {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	opacity:0;	
	}
	.navmenu {
	top:294px;		
	}
	.smaller+.navmenu {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	top:20px;	
	}
}
/*-----------------------------------------
section
------------------------------------------*/
.page-tt h2 {
	display:inline-block;	
	font-family: 'Cinzel', serif;
	letter-spacing:0.32em;
	border-bottom:1px solid #000000;
}
.page-tt h2:first-letter {
	color:#0077c4;	
}
.page-tt span {
	display:block;	
}
@media screen and (max-width : 767px){
	.section-reform,.section-realestate {
	padding-top:48px;
	padding-bottom:48px;		
	}
	.section-information {
	padding-top:48px;
	padding-bottom:48px;		
	}
	.page-tt {
	padding-bottom:32px;
	text-align:center;	
	}
	.page-tt h2 {
	font-size:2.0rem;
	padding-bottom:12px;
	margin-bottom:12px;	
	}
	.infotable th,.infotable td {
	display:block;	
	}
	.infotable th div {
	max-width:120px;
	margin-right:auto;	
	}
	.infotable td {
	padding:8px 0 24px 0;	
	}
}
@media screen and (min-width : 768px){
	.section-reform,.section-realestate {
	padding-top:64px;
	padding-bottom:64px;		
	}
	.section-information {
	padding-top:64px;
	padding-bottom:108px;		
	}
	.page-tt {
	padding-bottom:56px;	
	}
	.page-tt.page-tt-right {
	text-align:right;	
	}
	.page-tt h2 {
	font-size:3.0rem;
	padding-bottom:12px;
	margin-bottom:12px;	
	}
	.infotable th {
	padding:10px 0;	
	}
	.infotable td {
	padding:10px 0 10px 20px;	
	}
}
.infotable {
	width:100%;
	margin-top:40px;
	margin-bottom:40px;
}
.infotable th div {
	color:#ffffff;
	text-align:center;
	background:#000000;
	padding:8px;	
}
.googlemap {
	width:100%;
	height:320px;
	overflow:hidden;	
}
/*-----------------------------------------
contact
------------------------------------------*/
.section-contact {
	background:#f4f4f4;	
}
.contact-table {
	width:100%;	
}
.contact-table th {
	padding:0px;
	height:30px;
	position:relative;
	vertical-align:top;
}
.hissu:before {
	content:"\5FC5\9808";
	display:block;
	position:absolute;
	top:0px;
	left:0px;
	height:30px;
	line-height:30px;
	width:40px;
	color:#ffffff;
	text-align:center;
	font-size:1.2rem;
	text-align:center;
	background:#b60000;
	z-index:2;
}
.contact-table input[type=text],.contact-table textarea {
	border-top:none;
	border-left:none;
	border-right:none;
	background-color:transparent;
	padding:3px;
	width:100%;
	border-bottom:1px solid #000000;	
}
.contact-table textarea {
	width:100% !important;
	height:140px !important;
	resize:none;
}
.submit-btn {
	border:none;
	display:block;
	color:#ffffff;
	background:#000000;
	text-align:center;
	padding:16px;
	width:100%;
	max-width:288px;
	margin:30px auto;	
}
@media screen and (max-width : 767px){
	.section-contact {
	padding-top:60px;
	padding-bottom:40px;	
	}
	.contact-table th,.contact-table td {
	display:block;	
	}
	.contact-table th div {
	padding-left:50px;
	text-align:left;
	height:30px;
	line-height:30px;	
	}
	.contact-table td {
	padding-top:16px;
	padding-bottom:8px;	
	}
}
@media screen and (min-width : 768px){
	.section-contact {
	padding-top:60px;
	padding-bottom:120px;	
	}
	.contact-table th {
	width:160px;
	padding-bottom:20px;	
	}
	.contact-table th div {
	color:#ffffff;
	position:absolute;
	top:0px;
	left:40px;
	width:120px;
	text-align:center;
	background:#000000;
	height:30px;
	line-height:30px;
	z-index:1;
	}
	.contact-table td {
	padding-left:20px;
	padding-bottom:20px;	
	}
}
.thanks-cel {
	padding-bottom:60px;	
}
.btn {
	display:block;
	text-align:center;
	color:#ffffff;
	background:#000000;
	padding:12px;
	max-width:288px;
	margin:30px auto;
}
.btn:hover {
	background:#0077c4;		
}
/*-----------------------------------------
footer
------------------------------------------*/
footer {
	background-image: url(../images/bg-footer.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;	
}
.credit {
	font-size:1.2rem;
	text-align:center;
	color:#ffffff;	
}
@media screen and (max-width : 767px){
	footer {
	height:100vh;
	}
	.footer-box {
	height:90vh;	
	}
	.credit {
	height:10vh;
	line-height:10vh;	
	}
}
@media screen and (min-width : 768px){
	footer {
	height:768px;
	}
	.footer-box {
	height:728px;	
	}
	.credit {
	height:40px;
	line-height:40px;	
	}
}
/*-----------------------------------------
pageback
------------------------------------------*/

.pagebackswitch {
	position: fixed;
	z-index:1001;
	text-align:center;
	bottom:0px;
	right: 0px;
	width:50px;
	height:50px;
	-webkit-transition: all 0.2s ease-out;
	transition: background-color 0.4s ease-out;
	-moz-animation: translate 0.4s;
	-webkit-animation: translate 0.4s;
	animation: translate 0.4s;
	overflow:hidden;
}
@-webkit-keyframes translate { 
  0%   { -webkit-transform:  translate(0px, 110px) ;} 
  100%  { -webkit-transform:  translate(0px, 0px);} 
}
@keyframes translate { 
  0%   { transform:  translate(0px, 110px) ;} 
  100%  { transform:  translate(0px, 0px);}  
} 
.pagebackswitch a {
	display:block;
	width:50px;
	height:50px;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	position:relative;
}
.pagebackswitch a:before {
	position:absolute;
	top:24px;
	left:22px;
	font-family: 'icomoon' !important;
	content: "\f106";
	color:#ffffff;
	font-size:24px;
	text-indent:0px;
	text-align:center;
	width:20px;
	height:20px;
	line-height:20px;
	z-index:3;
}
.pagebackswitch a:after {
	position:absolute;
	bottom:0px;
	right:0px;
	content: "";
	width:0px;
	height:0px;
	border-top: 50px solid transparent;
	border-right: 50px solid #000000;
	border-top: 50px solid transparent;
	border-right: 50px solid #000000;
	z-index:1;
}
.pagebackswitch a:hover:before {
	color:#000000;
}
.pagebackswitch a:hover:after {
	border-top: 50px solid transparent;
	border-right: 50px solid #ffffff;
	border-top: 50px solid transparent;
	border-right: 50px solid #ffffff;	
}
