

/* loader */
/*------- loading -------*/
#loader-bg {
  /*display: none;*/
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #ffffff;
  z-index: 10000;
}

#loader {
  /*display: none;*/
  position: fixed;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  margin-left: -30px;
  text-align: center;
  z-index: 100001;
}
.load{
width: 60px;
height: 60px;
}


/*  全体　基本設定
---------------------------------------------*/
html {
	height: 100%;
	overflow-x: hidden;
}
body {
	text-align: left;
	color: #000000;
	min-width: 1200px;
	position: relative;
	/*overflow-x: hidden;*//*fixするのに邪魔っぽい*/
	word-break: break-all;
	text-align: justify;
	height: 100%;
}

@media screen and (max-width: 720px) {
body {
	min-width: 0;
	font-size: 13px;
}
}
body *::selection {
	background: #FF0;
}
body *::-moz-selection {
background: #FF0;
}
/*  リンク　基本設定
---------------------------------------------*/
a {
	color: #000000;
	text-decoration: none;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
a:hover {
	color: #666666;
}
/*  レイアウト　基本設定
---------------------------------------------*/
#all {
	position: relative;
	width: 100%;
	/*overflow: hidden;*/
}
#all .page .page-header {
	width: 100%;
	overflow: hidden;
}

.section-base {
	width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 720px) {
.section-base {
	width: 100%;
	box-sizing: border-box;
	padding-left: 20px;
	padding-right: 20px;
}
}
.sp-fit {
	width: 100%;
	height: auto;
}
.sp-only {
	display: none;
}

@media screen and (max-width: 720px) {
.sp-only {
	display: block;
}
span.sp-only {
	display: inline;
}
.pc-only {
	display: none !important;
}
.nobr {
	display: none;
}
}
.row .col-side {
	float: left;
	width: 220px;
}

@media screen and (max-width: 720px) {
.row .col-side {
	float: none;
	width: auto;
}
}
.row .col-main {
	float: right;
	width: 790px;
}

@media screen and (max-width: 720px) {
.row .col-main {
	float: none;
	width: auto;
	margin: 16px 0 0 0;
}
}



/*  header
---------------------------------------------*/
#header {
	position: fixed;
	background: #ffffff;
	width: 100%;
	height: 80px;
	z-index: 100;
	box-shadow: 0px 3px 1px -3px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0px 3px 1px -3px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 3px 1px -3px rgba(0,0,0,0.2);
}
#header .header-inner {
	position: relative;
	width: 1200px;
	height: 80px;
	margin: 0 auto;
	z-index: 101;
}
#header .header-inner #header-logo {
	position: absolute;
	left: 0;
	top: 20px;
	width: 144px;
	height: 50px;
}
#header .header-inner #header-logo a {
	outline: none;
	font-size: 0;
	width: 144px;
	height: 50px;
	display: block;
}
#header .header-inner nav{
	position: absolute;
	top: 26px;/*-element paddling-top 6px*/
	right: 90px;
}
#header .header-inner nav ul li {
	float: left;
	margin-left: 50px;/*-element paddling-left 10px*/
}
#header .header-inner nav ul li a {
	display: inline-block;
	text-align: center;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 200;
	letter-spacing: 2px;
	color: #887028;
}
#header .header-inner aside {
	position: absolute;
	top: 30px;
	right: 0;
}
#header .header-inner aside a {
	display: block;
	width: 20px;
	height: 20px;
	-webkit-background-size: 20px 20px;
	background-size: 20px 20px;
	content:"";
	background-image: url(../image/kinari-insta.svg);
	background-repeat: no-repeat;
}
#header .header-inner aside a span {
	display: block;
	text-indent: -9999px;
	outline: none;
	overflow: hidden;
}

/* header @media*/
@media screen and (max-width: 720px) {
#header {
	position: fixed;
	width: 100%;
	height: 44px;
	box-shadow: 0px 3px 1px -3px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0px 3px 1px -3px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 3px 1px -3px rgba(0,0,0,0.2);
}
#header .header-inner {
	position: relative;
	width: 100%;
	height: 44px;
	margin: 0;
}
#header .header-inner #header-logo {
	left: 10px;
	top: 6px;
	width: 96px;
	height: 32px;
}
#header .header-inner #header-logo a {
	width: 96px;
	height: 32px;
}
#header .header-inner #header-logo a:after {
	background: url(../image/logo--sp.png) no-repeat 0 0;
	width: 96px;
	height: 32px;
	-webkit-background-size: 96px 32px;
	background-size: 96px 32px;
}
#header .header-inner nav{
	display: none;
}
#header .header-inner aside {
	display: none;
}
}


/*  hamburger
---------------------------------------------*/
.button_container,
.overlay {
    display: none;
}
@media screen and (max-width: 720px) {
    .button_container,
    .overlay {
        display: block;
    }

    .button_container {
        position: fixed;
        top: 14px;
        right: 12px;
        height: 16px;
        /*border+type3*/
        width: 24px;
        cursor: pointer;
        /*z-index: 99999;*/
        z-index: 9999;

    }
    .button_container.active {
        z-index: 99999;

    }
    .button_container.active .top {
        -webkit-transform: translateY(7px) translateX(0) rotate(45deg);
        transform: translateY(7px) translateX(0) rotate(45deg);
        background: #FFF;
    }
    .button_container.active .middle {
        opacity: 0;
        background: #FFF;
    }
    .button_container.active .bottom {
        -webkit-transform: translateY(-7px) translateX(0) rotate(-45deg);
        transform: translateY(-7px) translateX(0) rotate(-45deg);
        background: #FFF;
    }
    .button_container span {
        background: #beaf87;
        border: none;
        height: 2px;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: all .35s ease;
        transition: all .35s ease;
		border-radius:3px;
        cursor: pointer;
    }
    .button_container span:nth-of-type(2) {
        top: 7px;
    }
    .button_container span:nth-of-type(3) {
        top: 14px;
    }
    .overlay {
        position: fixed;
        background: rgba(20,20,20,.9);
        top: 0;
        left: 0;
        width: 100%;
        height: 0%;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity .35s, visibility .35s, height .35s;
        transition: opacity .35s, visibility .35s, height .35s;
        overflow: hidden;
        z-index: 99998;
    }

	.alighn-middle{width:80%;height:340px;margin:-170px auto auto;display:block;position:absolute;top:50%;left:0;right:0}

    .overlay.open {
        opacity: .9;
        visibility: visible;
        height: 100%;
    }
    .overlay.open .overlay-menu li {
        -webkit-animation: fadeInRight .5s ease forwards;
        animation: fadeInRight .5s ease forwards;
        -webkit-animation-delay: .35s;
        animation-delay: .35s;
		float: left;
		width: 50%;
		height: 40px;
		text-align: center;
    }
    .overlay.open li:nth-of-type(2) {
        -webkit-animation-delay: .4s;
        animation-delay: .4s;
    }
    .overlay.open li:nth-of-type(3) {
        -webkit-animation-delay: .45s;
        animation-delay: .45s;
    }
    .overlay.open li:nth-of-type(4) {
        -webkit-animation-delay: .50s;
        animation-delay: .50s;
    }
    .overlay.open li:nth-of-type(5) {
        -webkit-animation-delay: .55s;
        animation-delay: .55s;
    }
    .overlay.open li:nth-of-type(6) {
        -webkit-animation-delay: .60s;
        animation-delay: .60s;
    }
    .overlay.open li:nth-of-type(7) {
        -webkit-animation-delay: .65s;
        animation-delay: .65s;
    }
    .overlay.open li:nth-of-type(8) {
        -webkit-animation-delay: .70s;
        animation-delay: .70s;
    }
    .overlay.open li:nth-of-type(9) {
        -webkit-animation-delay: .75s;
        animation-delay: .75s;
    }
	.overlay.open li a:after{display: block; background: #fff; content:""; height: 2px; width: 10px; margin: 10px auto 0;}
    .overlay .overlay-menu > ul {
        list-style: none;
        padding: 0;
        margin: 0 auto;
        display: inline-block;
        position: relative;
        height: 100%;
    }
    .overlay .overlay-menu > ul > li {
        display: block;
        min-height: 40px;
        position: relative;
        opacity: 0;
		margin:10px auto;
    }
    .overlay .overlay-menu > ul > li a {
		font-weight: 500;
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1;
		letter-spacing: 2px;
		color: #fff;
		height: 40px;
    }

#side-nv-social{margin:30px auto 0;width:100%;text-align:center}
#side-nv-social ul li a{width:24px;height:24px;text-indent:-9999px;overflow:hidden;outline:0;display:block}
#side-nv-social ul li a:after{display:none;}
#side-nv-social ul li {
	margin: 0 8px;
	display: inline-block;
	content:"";
	width: 24px;
	height: 24px;
	-webkit-background-size: 24px 24px;
	background-size: 24px 24px;
	z-index: 99997;
}
#side-nv-social ul li.head-insta { background-image: url(../image/kinari-insta-wht.svg);}
#side-nv-social ul li a {
	text-indent: -9999px;
	outline: none;
	overflow: hidden;
	display: block;
}

}
@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}
@keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}







/*基本フォーマットタイトル*/
.ttl-section {
	text-align: center;
	background: url(../image/line.png) repeat-x 50% 50%;
}
.ttl-section h2 {
	font-size: 12px;
	font-size: 1.2rem;
	background: #fff;
	color: #887028;
	padding: 0 50px;
	display: inline-block;
}
.ttl-section h2 span {
	color: #beaf87;
	display: block;
	margin-bottom: 16px;
	font-size: 40px;
	font-size: 4.0rem;
	letter-spacing: .2em;
	line-height: 1;
}
@media screen and (max-width: 720px) {
.ttl-section {
	background: none;
}
.ttl-section h2 {
	font-size: 12px;
	font-size: 1.2rem;
	color: #887028;
	padding: 0;
	display: inline-block;
}
.ttl-section h2 span {
	margin-bottom: 8px;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 500;
}
}

/*pagetop*/
#pagetop {
	margin: 80px 0 0 0;
}
#pagetop a {
	display: block;
	box-sizing: border-box;
	background: url("../image/page-top.svg") no-repeat top center;
	-webkit-background-size: 30px 30px;
	background-size: 30px 30px;
	margin: 0 auto;
	text-align: center;
	width: 30px;
	height: 30px;
}

@media screen and (max-width: 720px) {
#pagetop {
	margin: 40px 0 0 0;
}
}
/*  footer
---------------------------------------------*/
#footer {
	height: 170px;
	background: url(../image/foot--bg.gif) repeat-x 0 0;
	padding: 0;
	margin: 50px 0 0 0;
	text-align: center;
}
#footer .footer-inner {
	width: 1200px;
	margin: 0px auto;
	position: relative;
}
#footer .footer-inner p {
	font-size: 14px;
	font-size: 1.4rem;
	color: #fff;
	line-height: 1.6;
	position: absolute;
	top: 36px;
	left: 200px;
	text-align: left;
}
#footer .footer-inner p a {
	color: #f1efe7;
}
#footer .footer-inner p span {
	display: block;
}
#footer .foot--logo {
	position: absolute;
	top: 32px;
	left: 0;
}
#footer nav {
	position: absolute;
	top: 36px;
	right: 0;
}
#footer nav ul li {
	font-size: 14px;
	font-size: 1.4rem;
	float: left;
	margin-left: 14px;
}
#footer nav ul li:before {
	content:"|";
	display: inline-block;
	margin-right: 14px;
	color: #fff;
}
#footer nav ul li:first-child:before {
	display: none;
}
#footer nav ul li a {
	color: #fff;
}
#footer aside {
	position: absolute;
	top: 68px;
	right: 0;
}
#footer aside a {
	display: block;
	width: 20px;
	height: 20px;
	-webkit-background-size: 20px 20px;
	background-size: 20px 20px;
	content:"";
	background-image: url(../image/kinari-insta-wht.svg);
	background-repeat: no-repeat;
}
#footer aside a span {
	display: block;
	text-indent: -9999px;
	outline: none;
	overflow: hidden;
}
#footer #address {
	display: block;
	position: absolute;
	top: 130px;
	right: 0;
}
#footer #address address {
	display: block;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	letter-spacing: 2px;
	line-height: 1;
}
@media screen and (max-width: 720px) {
#footer {
	height: auto;
	background: #beaf87;	
}
#footer .footer-inner {
	width: auto;
	margin: 0;
	padding: 20px 20px 10px;
	position: static;
}
#footer .footer-inner p {
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	line-height: 1.6;
	letter-spacing: 0.05em;
	text-align: left;
	position: static;
}
#footer .footer-inner p span {
	margin-top: 6px;
	font-size: 11px;
	font-size: 1.1rem;
	letter-spacing: .1em;
}
#footer .foot--logo {
	position: static;
	width: 70px;
	height: 55px;
	margin: 0 auto 14px;
}
#footer nav {
	display: none;
}
#footer aside {
	display: none;
}
#footer #address {
	display: block;
	position: static;
}
#footer #address address {
	margin-top: 20px;
	font-size: 10px;
	font-size: 1.0rem;
	letter-spacing: 2px;
	line-height: 1;
}
}
/*  btn style
---------------------------------------------*/
.btn {
	display: inline-block;
	padding: 6px 14px;
	color: #ffffff;
	background: #beaf87;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1;
	margin-top: 20px;
}
@media screen and (max-width: 720px) {
.btn {
	margin-top: 12px;
	padding: 4px 12px;
	font-size: 12px;
	font-size: 1.2rem;
}
}
a.btn {
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgb(241 206 104) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .3s;
}
a.btn:hover {
	background-position: -100% 0;
	color: #fff;
}

/*  gnavi gmic
---------------------------------------------*/
.element {
	display: inline;
	position: relative;
	z-index: 2;
	text-decoration: none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-user-select: none; 
	-moz-user-select: none; 
	-ms-user-select: none; 
	user-select: none; 
	-webkit-touch-callout: none; 
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0); 
	padding: 6px 0 0 10px;
	white-space: nowrap;
	overflow: hidden;
	-webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-ms-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.element:hover,
.element:focus {
	outline: 0;
	color: #fff;
	-webkit-transition: color 1s ease;
	-moz-transition: color 1s ease;
	-ms-transition: color 1s ease;
	-o-transition: color 1s ease;
	transition: color 1s ease;
	cursor: pointer;
}

.element:before {
	-webkit-transition: all 1s ease; /* add delay if wanted */
	-moz-transition: all 1s ease; /* add delay if wanted */
	-ms-transition: all 1s ease; /* add delay if wanted */
	-o-transition: all 1s ease; /* add delay if wanted */
	transition: all 1s ease; /* add delay if wanted */
}

.element:after {
	-webkit-transition: all 1s ease; /* add delay if wanted */
	-moz-transition: all 1s ease; /* add delay if wanted */
	-ms-transition: all 1s ease; /* add delay if wanted */
	-o-transition: all 1s ease; /* add delay if wanted */
	transition: all 1s ease; /* add delay if wanted */	
}

.element:hover:after,
.element:focus:after {
	outline: 0;
	background-color:#a08d53;
	-webkit-transition:  all .4s ease; /* add delay if wanted */
	   -moz-transition:  all .4s ease; /* add delay if wanted */
	    -ms-transition:  all .4s ease; /* add delay if wanted */
	     -o-transition:  all .4s ease; /* add delay if wanted */
	        transition:  all .4s ease; /* add delay if wanted */
}

.element:hover:before,
.element:focus:before {
	outline: 0;
	background-color: #a08d53;
	-webkit-transition:  all .4s ease; /* add delay if wanted */
	   -moz-transition:  all .4s ease; /* add delay if wanted */
	    -ms-transition:  all .4s ease; /* add delay if wanted */
	     -o-transition:  all .4s ease; /* add delay if wanted */
	        transition:  all .4s ease; /* add delay if wanted */
}

.bottom-right:after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1px;
  height: 1px; }
.bottom-right:hover:after, .bottom-right:focus:after {
  width: 100%;
  height: 1px; }
.bottom-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1px;
  height: 1px; }
.bottom-right:hover:before, .bottom-right:focus:before {
  width: 1px;
  height: 100%; }
.bottom-right:before {
  top: 0%;
  left: 0; }
.bottom-right:after {
  top: 0;
  left: 0; }




.pager{
	margin-top: 50px;
}