@charset "utf-8";

/* common
---------------------------------------------------------------------------*/
body {
	background-color: #FFFFFF;
	color: #572D57;
	font-size: 14px;
	font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.noscroll {
	overflow-y: scroll;
}

::-moz-selection { background: #E7EDF2; color: #572D57; }
::selection { background: #E7EDF2; color: #572D57; }

p { font-size: 14px; font-weight: bold; line-height: 1.8; letter-spacing: 0.12em; }
p:last-of-type { margin-bottom: 0 !important; }
address,i { font-style: normal; }

.clearfix:after { content: ''; display: block; clear:both; }

body#pc .sp_view { display: none !important; }
body#sp .pc_view { display: none !important; }

/* #loading
---------------------------------------------------------------------------*/
#loading,
#cover-white,
#cover-blue {
	overflow: hidden;
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	min-height: 100vh;
}

#loading {
	background: #FFFFFF;
	z-index: 10000;
}

#cover-white {
	position: absolute;
	background: #FFFFFF;
	z-index: 2;
}

#cover-blue {
	position: absolute;
	background:#F69;
	z-index: 1;
}

#cover-white .inner,
#cover-blue .inner {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	min-width: 100vw;
	height: 100%;
	min-height: 100vh;
}

/* #logo-loading
------------------------------------*/
#logo-loading,
#cover-blue .logo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 546px;
	height: 224px;
	-ms-transform: translate(-50%,-50%);
-webkit-transform : translate(-50%,-50%);
transform : translate(-50%,-50%);
}

#logo-loading { opacity: 0; }
#cover-blue .logo {  }


#logo-loading .type {
	bottom: 0;
	left: 10px;
	width: 546px;
	height: 224px;
	transform-origin: left bottom;
	margin:-112px 0 0 -273px;
}




/* txt
---------------------------------------------------------------------------*/

@font-face{ 
font-family: 'Levenim MT';
src: local('Levenim MT'), url('ufonts.com_levenim-mt.woff') format('woff');}

.font-sans { font-family: 'Josefin Sans', sans-serif; font-style: normal; font-weight: 500; }


/* img
---------------------------------------------------------------------------*/
.img-color {
	display: block;
	position: relative;
}

/*
.img-color:before,
.img-color-slide:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(19,78,120,0.2);
	width: 100%;
	height: 100%;
	z-index: 1;
	transition: .15s linear;
}

a:hover .img-color:before {
	opacity: 0;
}

.img-color-slide:before {
	background: rgba(19,78,120,0.1);
}
*/

/* link
---------------------------------------------------------------------------*/
a { color: #572D57; text-decoration: none; transition: .15s linear; -webkit-transform: translateZ(0); }
a:hover { text-decoration: none; opacity: 0.5; }

/* .btn
---------------------------------------------------------------------------*/
.btn-link a {
	display: inline-block;
	background: url(img/share/ico-arrow2.svg) no-repeat right 5px top 4px;
	background-size: 8px 9px;
	border-bottom: 1px solid #572D57;
	padding: 0 80px 13px 3px;
	font-size: 18px;
	letter-spacing: 0.08em;
}

@media all and (-ms-high-contrast:none){
	.btn-link a {
		background-position-y: top 0;
	}
}

/* nav
---------------------------------------------------------------------------*/

/* .gnav
------------------------------------*/
.gnav {
	overflow: hidden;
	display: inline-block;
}

.gnav li {
	float: left;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.14em;
}

.gnav li a,
.gnav li .dnav-btn {
	display: block;
	padding: 14px 8px;
}

.gnav li .dnav-btn {
	cursor: default;
}

.gnav .dnav-wrap {
	display: none;
	padding-bottom: 15px;
/* 	transition: .15s linear; */
	opacity: 0;
}

/*
.gnav .dnav:hover .dnav-wrap {
	opacity: 1;
}
*/

.gnav li.dnav a {
	padding: 7px 10px 7px 13px;
	font-size: 13px;
	letter-spacing: 0.16em;
}

/* .sns-list
------------------------------------*/
.sns-list {
	overflow: hidden;
	display: inline-block;
	margin-right: 20px;
}

.sns-list li {
	float: left;
}

.sns-list li a {
	display: block;
	padding: 11px 7px;
}

.sns-list li img{
	width:20px;
	height:20px;}

/* header
---------------------------------------------------------------------------*/
header {
	box-sizing: border-box;
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
}

header .logo {
	position: fixed;
	top: 20px;
	left: 45px;
	width: 166px;
	height: 110px;
	transform-origin: left top;
	transform: scale(0.85,0.85);
	z-index: 1000;
}

header .logo .scissors {
	display: block;
	position: absolute;
	bottom: 18px;
	right: 33px;
	width: 71px;
	height: 84px;
}

header .logo .scissors1,
header .logo .scissors2 {
	display: block;
	position: absolute;
	bottom: 0;
	width: 71px;
	height: 84px;
}

header .logo .scissors1 {
	left: 0;
	transform-origin: left bottom;
}

header .logo .scissors2 {
	right: 0;
	transform-origin: right bottom;
}

header .inner {
	overflow: hidden;
	position: fixed;
	top: 35px;
	right: 40px;
	z-index: 1000;
}

header .gnav {
	float: right;
}

header .sns-list {
	float: right;
}

/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
	padding: 50px 60px 45px 55px;
}

footer .gnav {
	float: left;
}

footer .sns-list {
	float: left;
}

.pagetop {
	position: absolute;
	bottom: 30px;
	right: 35px;
}

.pagetop a {
	display: block;
	padding: 20px;
}


/* contents
---------------------------------------------------------------------------*/
.main-contents {
	display: block;
	overflow: hidden;
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
	padding: 120px 0 0;
	text-align: left;
}




.barba-container,
.fade-container {
	position: relative;
}

.fade-container {
	opacity: 0;
}

/* slider
------------------------------------*/
.slider-wrap,
.slider-wrap-l {
	position: relative;
	box-sizing: border-box;
	width: 100%;
}

.slider-wrap {
	margin-bottom: 100px;
}

.slider-main {
	width: 100%;
	opacity: 0;
}

.slider-main .inner {
	width: 100%;
}

.slider-main .inner img {
	width: 100%;
	height: auto;
}

.slick-list {
	min-width: 100%;
}

.slider-wrap .cover,
.slider-wrap-l .cover,
.slider-wrap-top .cover {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background: #FFFFFF;
	width: 100%;
	height: 100%;
	z-index: 2;
}

/* .blog-list
------------------------------------*/
.blog-list article {
	position: relative;
	float: left;
	width: 30%;
	margin: 0 5% 8% 0;
}

.blog-list article:nth-of-type(3n) {
	margin-right: 0;
}

.blog-list article a {
	display: block;
}

.blog-list article figure {
	margin-bottom: 24px;
}

.blog-list article figure img {
	width: 100%;
	height: auto;
}

.blog-list article .inner {
	padding-right: 5%;
}

.blog-list article time {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.blog-list article .post-categories {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: -4%;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	transform-origin: left top;
	transform: rotate(90deg);
}

.blog-list article .post-categories li {
	position: relative;
	float: left;
	margin-right: 13px;
}

.blog-list article .post-categories li:after {
	display: block;
	content: '/';
	position: absolute;
	top: -1px;
	right: -12px;
}

.blog-list article .post-categories li:last-of-type:after {
	display: none;
}

.blog-list article h2 {
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.blog-list article p {
	font-size: 11px;
	text-align: justify;
	letter-spacing: 0.08em;
}

/* .wp-pagenavi
------------------------------------*/
.wp-pagenavi {
	margin-left: -4px;
	text-align: left;
	font-size: 14px;
}

.wp-pagenavi a,
.wp-pagenavi .extend {
	margin: 0 4px;
	padding: 4px;
}

.wp-pagenavi .current {
	display: inline-block;
	border-bottom: 1px solid #666666;
	margin: 0 8px;
	padding: 4px 0 0;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	letter-spacing: 0.1em;
}

.wp-pagenavi a.first { margin-right: 10px; }
.wp-pagenavi a.last {	margin-left: 10px; }

.wp-pagenavi a.previouspostslink {
	position: relative;
	margin: 0 4px 0 4px;
	padding-left: 12px;
}

.wp-pagenavi a.nextpostslink {
	position: relative;
	margin: 0 0 0 4px;
	padding-right: 10px;
}

.wp-pagenavi a.previouspostslink:before,
.wp-pagenavi a.nextpostslink:after {
	position: absolute;
	top: 10px;
	display: block;
	content: '';
	width: 5px;
	height: 5px;
	transform: rotate(45deg);
}

.wp-pagenavi a.previouspostslink:before {
	left: 0;
	border-bottom: 1px solid #572D57;
	border-left: 1px solid #572D57;
}

.wp-pagenavi a.nextpostslink:after {
	right: 0;
	border-top: 1px solid #572D57;
	border-right: 1px solid #572D57;
}

/* .sec-access
------------------------------------*/
.sec-access {
	width: 1060px;
	margin: 0 auto;
}

.sec-access p {
	letter-spacing: 0.15em;
}

.sec-access .map {
	position: relative;
	float: left;
	width: 620px;
	padding-left: 46px;
}

.sec-access #gMap1,
.sec-access #gMap2 {
	float: left;
	width: 620px;
	height: 670px;
}

.sec-access .map address {
	position: absolute;
	top: 55px;
	left: 0;
	font-size: 13px;
}

.sec-access .map address p {
	margin-bottom: 10px;
}

.sec-access .map address p.font-sans {
	font-size: 13px;
	font-weight: 500;
	font-style: italic;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.sec-access address p span {
	font-size: 11px;
}

.sec-access .txt-set {
	position: relative;
	float: right;
	width: 325px;
}


.footer_logo img {
	width: 200px;
	height: 90px;
}

.sec-access .txt-set address {
	margin-bottom: 50px;
}

.sec-access .txt-set address p {
	margin-bottom: 12px;
}

.sec-access .txt-set address p:first-of-type {
	margin-bottom: 8px;
}

.sec-access .txt-set address p.font-sans {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: 0.07em;
}

.sec-access .txt-set address p.font-sans i {
	display: inline-block;
	margin-left: -5px;
}

.sec-access .txt-set address + p {
	font-size: 13px;
	line-height: 2.1;
	letter-spacing: 0.18em;
	white-space: nowrap;
}

@media all and (-ms-high-contrast:none){
	.sec-access .txt-set address + p {
		font-feature-settings: 'palt' 0;
	}
}

.sec-access .tel {
/* 	border-bottom: 2px solid #A1B8C9; */
	border-bottom: 2px solid #939;
	width: 280px;
	margin-top: 35px;
	padding: 0 0 4px 2px;
}

.sec-access .tel span {
	display: inline-block;
	padding-right: 15px;
	font-size: 13px;
	letter-spacing: 0.12em;
	transform: translateY(-2px);
}

.sec-access .tel strong {
	display: inline-block;
	font-size:36px;}

/* .sec-lead
------------------------------------*/
.sec-lead {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	width: 990px;
	margin: 0 auto 120px;
	padding-left: 10px;
}

.sec-lead .title {
	float: left;
	width: 295px;
	margin-top: -10px;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.sec-lead .title i {
	padding: 0 5px;
}

.sec-lead .inner {
	padding: 60px 0 0 295px;
}

.sec-lead .inner p {
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 2.2;
}

.sec-lead .inner.txt-l p {
	margin-bottom: 13px;
	font-size: 16px;
	line-height: 1.85;
}

.sec-lead .url {
	position: absolute;
	bottom: 0;
	left: 10px;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.04em;
}

.sec-lead .url span {
	padding: 0 8px 0 1px;
	letter-spacing: -0.3em;
}

/* page access
---------------------------------------------------------------------------*/
body.concept .sec-lead {
	margin-bottom: 100px;
}

/* page error
---------------------------------------------------------------------------*/
body.error .main-contents {
	padding-top: 295px;
}

.error-contents {
	padding: 0 7.4% 0 25%;
}

.error-contents h1 {
	margin-bottom: 35px;
	font-size: 25px;
	font-weight: 400;
	letter-spacing: 0.12em;
}

.error-contents .txt-set p {
	margin-bottom: 15px;
	line-height: 1.9;
}

.error-contents .txt-set p:last-of-type {
	font-size: 13px;
}

.error-contents .txt-set p a,
.error-contents .txt-set p a span {
	text-decoration: underline;
}



.wrap1080{
	width:1080px;
	margin:0 auto;}

.al-center{
	text-align:center;}



















