@charset "utf-8";

/* ------------------------------------------------------- */
/* ヘッダー
---------------------------------------------------------- */
header {
	width: 100%;
	background: #fff;
	}

header #menu {
	width: 1000px;
	height: 60px;
	margin: auto;
	display: flex;
	align-items: center;
	}

header h1 {
	width: 280px;
	line-height: 1;
	}

header h1 img {
	width: 100%;
	}

header h1 a:hover {
	opacity: 0.7;
	}

header .btn {
	display: none;
	}

header nav {
	width: calc(100% - 280px);
	text-align: right;
	}

header nav ul {
	display: inline-flex;
	}

header nav ul li {
	line-height: 1;
	margin: 0 0 0 40px;
	position: relative;
	}

header nav ul li::after {
	content: "";
	width: 8px;
	height: 8px;
	background: url(../images/common/ico_green.png) center center no-repeat;
	background-size: 8px 8px;
	top: 50%;
	right: -24px;
	margin: -4px 0 0 0;
	position: absolute;
	}

header nav ul li:last-child::after {
	background: none;
	}

header nav ul li a {
	font-size: 2.0rem;
	font-family: 'David Libre', serif;
	color: #373737;
	text-decoration: none;
	}

header nav ul li a:hover {
	color: #b9b48c;
	}

@media (max-width: 1100px){
header #menu {
	width: 100%;
	padding: 0 40px;
	}
}

@media (max-width: 768px){
header {
	border-bottom: 1px solid #ecf3fa;
	position: fixed;
	z-index: 100;
	}

header #menu {
	height: 55px;
	padding: 0 20px;
	}

header h1 {
	position: relative;
	z-index: 100;
	}

header h1 img {
	width: 228px;
	}

header .btn {
	width: calc(100% - 228px);
	height: 55px;
	text-align: right;
	cursor: pointer;
	display: block;
	position: relative;
	z-index: 100;
	}

header .btn span ,
header .btn span:before ,
header .btn span:after {
	content: "";
	width: 25px;
	height: 2px;
	background: #373737;
	top: 50%;
	right: 0;
	transition: .3s;
	display: block;
	position: absolute;
	}

header .btn span {
	margin: 0;
	}

header .btn span:before {
	margin: -9px 0 0 0;
	}

header .btn span:after {
	margin: 7px 0 0 0;
	}

header .btn.close span {
	background: transparent;
	}

header .btn.close span:before {
	margin: -2px 0 0 0;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	}

header .btn.close span:after {
	margin: -2px 0 0 0;
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	}

header nav {
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(255,255,255,0.9);
	margin: 0;
	top: 0;
	left: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity .35s, visibility .35s;
	overflow: auto;
	padding: 96px 0 30px 0;
	display: block;
	z-index: 90;
	position: fixed;
	}

header nav.open {
	opacity: 1;
	visibility: visible;
	}

header nav ul {
	flex-direction: column;
	}

header nav ul li {
	margin: 0 0 40px 0;
	}

header nav ul li::after {
	width: 100%;
	top: 30px;
	left: auto;
	right: auto;
	margin: 4px 0 0 0;
	display: block;
	}

header nav ul li a {
	font-size: 2.6rem;
	}
}

@media (max-width: 640px){
header #menu {
	padding: 0 15px;
	}

header h1 img {
	width: 210px;
	}

header .btn {
	width: calc(100% - 210px);
	}
}

@media (min-width: 769px){
nav ul {
	display: inline-flex !important;
	}
}


/* ------------------------------------------------------- */
/* コンテンツ
---------------------------------------------------------- */
#wrapper {
	background: url(../images/common/bg_contents.png);
	border-top: 1px solid #ecf3fa;
	border-bottom: 1px solid #ecf3fa;
	padding: 70px 0;
	}

h2 {
	font-size: 3.6rem;
	font-family: 'David Libre', serif;
	line-height: 1;
	text-align: center;
	margin: 0 0 50px 0;
	position: relative;
	}

h2::after {
	content: "";
	width: 12px;
	height: 12px;
	background: url(../images/common/ico_green.png) center center no-repeat;
	background-size: 12px 12px;
	top: 45px;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute;
	}

.btn-sample {
	width: 20px;
	line-height: 1;
	top: 4px;
	position: relative;
	transition: all 0.3s ease;
	}

.btn-sample:hover {
	opacity: 0.7;
	}

@media (max-width: 1100px){
#wrapper {
	padding: 70px 40px;
	}
}

@media (max-width: 768px){
#wrapper {
	background-size: 58px 57px;
	padding: 105px 0 50px 0;
	}

h2 {
	font-size: 3.0rem;
	}

h2::after {
	top: 40px;
	}
}

@media (max-width: 640px){
#wrapper {
	padding: 95px 0 40px 0;
	}

h2 {
	font-size: 2.6rem;
	margin: 0 0 40px 0;
	}

h2::after {
	top: 30px;
	}
}


/* ------------------------------------------------------- */
/* PAGE TOP
---------------------------------------------------------- */
#pageTop {
	width: 40px;
	height: 40px;
	background: #69c3c8;
	bottom: 15px;
	right: 15px;
	display: block;
	position: fixed;
	z-index: 80;
	}

#pageTop:after {
	content: "";
	width: 10px;
	height: 10px;
	top: 50%;
	right: 50%;
	border-top: 1px solid #fff;
	border-right:1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin: -3px -5px 0 0;
	display: block;
	position: absolute;
	}

#pageTop:hover {
	background: #b9b48c;
	}

@media (max-width: 768px){
#pageTop {
	bottom: 10px;
	right: 10px;
	}
}


/* ---------------------------------------------------------- */
/* magnific-popup */
/* ---------------------------------------------------------- */
.mfp-container {
	padding-left: 20px;
	padding-right: 20px;
	}

button.mfp-close {
	width: 40px !important;
	height: 40px;
	background: #69c3c8;
	border: 1px solid #fff;
	top: 25px !important;
	right: -20px !important;
	opacity: 1;
	display: block;
	padding: 0;
	z-index: 100;
	cursor: pointer !important;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
	}

button.mfp-close:hover {
	background: #b9b48c;
	}

button.mfp-close::before{
	content:"";
	width: 1px;
	height: 20px;
	background: #fff;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	position:absolute;
	display:inline-block;
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	}

button.mfp-close::after{
	content:"";
	width: 1px;
	height: 20px;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fff;
	margin: auto;
	position:absolute;
	display:inline-block;
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	}

.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out;
	-moz-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
	}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.7;
	}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
	}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
	}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
	}

.mfp-iframe-scaler.pop-movie iframe {
	border: 5px solid #fff;
	}

@media (max-width: 640px){
button.mfp-close {
	width: 30px !important;
	height: 30px;
	top: 15px !important;
	right: -15px !important;
	}

button.mfp-close::before{
	width: 1px;
	height: 15px;
	}

button.mfp-close::after{
	width: 1px;
	height: 15px;
	}
}


/* ------------------------------------------------------- */
/* フッター
---------------------------------------------------------- */
footer {
	text-align: center;
	padding: 13px 0;
	}

footer p {
	font-size: 1.2rem;
	font-family: 'David Libre', serif;
	}

footer p span {
	font-family: Verdana , Droid Sans;
	}

@media (max-width: 640px){
footer {
	padding: 10px 15px;
	}
}