@charset "utf-8";
/* CSS Document */

/*== common ==*/

/*- reset -*/
ul, ol {
	list-style: none;
	padding: 0;
}
a {
	color: inherit;
	text-decoration: none;
}
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
main {
	display: block;
	position: relative;
	background-color: #f2f2f2;
}
.works_post main, .contact main {
	background-color: #e6e6e6;
}
.top main {
	background-color: transparent;
}
/*- font -*/
@font-face {
	font-family: 'Montserrat';
	src: url('/library/font/Montserrat-Bold.woff')format('woff');
}
@font-face {
	font-family: 'Roboto';
	src: url('/library/font/Roboto-Regular.woff')format('woff');
}
@font-face {
	font-family: 'RobotoThinItalic';
	src: url('/library/font/Roboto-ThinItalic.ttf')format('truetype');
	src: url('/library/font/Roboto-ThinItalic.woff')format('woff');
}
@font-face {
	font-family: 'RobotoLightItalic';
	src: url('/library/font/Roboto-LightItalic.ttf')format('truetype');
	src: url('/library/font/Roboto-LightItalic.woff')format('woff');
}
body {
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "Noto Sans CJK JP", sans-serif;
	letter-spacing: 2px;
	font-size: 16px;
	line-height: 32px;
	color: #000000;
	-webkit-font-smoothing: antialiased;
}
.font_hannari {
	font-family: 'hannari';
}
.font_bold {
	font-family: 'notoBold';
}
/*- layout -*/
.layout_clr:before, .layout_clr:after {
	content: " ";
	display: table;
}
.layout_clr:after {
	clear: both;
}
.layout_clr {
	zoom: 1;
}
.layout_clr > div {
	width: 50%;
}
.layout_clr > div:first-child {
	float: left;
}
.layout_clr > div:last-child {
	float: right;
}
.layout_rerative {
	position: relative;
}
.layout_absolute {
	position: absolute;
}
.layout_fixed {
	position: fixed;
}
.layout_flex {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-webkit-flex-direction: row;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;
	-webkit-align-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
	align-content: space-between;
}
.layout_width1000 {
	width: 1000px;
	margin: 0 auto;
}
.object_fit img{
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

/*- header -*/
header h2 {
	margin: 0;
	padding: 42px calc( ( 100% - 1000px ) / 2 ) 344px;
	width: 100%;
	line-height: 1;
	text-align: right;
	z-index: 0;
	background-color: #ffffff;
	background-image: url(../img/common/bg_stripe.svg);
	background-repeat: repeat;
	border-bottom: #cccccc solid 1px;
}
header h2 img {
	width: 192px;
}
.top header h2 {
	padding: 60px 0 14px;
	text-align: center;
	z-index: 102;
	border: none;
}
.top header h2 img {
	width: 350px;
}
header .groval_navi_area {
	height: 100%;
	width: 70px;
	right: 0;
	top: 0;
	z-index: 101;
}
header .groval_navi_area input[type="checkbox"] {
	display: none;
}
header .groval_navi_area .groval_navi_tag {
	padding: calc( ( 100vh - 290px ) / 2 ) 0 0 0;
	margin: 0;
}
header .groval_navi_area .groval_navi_tag li {
	background-color: #000000;
	margin: 0 0 10px 0;
	height: 50px;
}
header .groval_navi_area .groval_navi_tag .home {
	height: 170px;
}
header .groval_navi_area .groval_navi_tag li a {
	display: block;
	text-align: center;
	box-sizing: border-box;
	height: 100%;
	padding: 8px 0 0 0;
}
header .groval_navi_area .groval_navi_tag .home a {
	padding: 20px 0 0 0;
	height: auto;
}
header .groval_navi_area .groval_navi_tag .home img {
	width: 48px;
	margin: 0 auto;
}
header .groval_navi_area .groval_navi_tag .home label {
	margin: 60px 0 0 0;
	position: relative;
}
header .groval_navi_area .groval_navi_tag .home label:hover {
	cursor: pointer;
}
header .groval_navi_area .menu_trigger, header .groval_navi_area .menu_trigger span {
	transition: all .4s;
	display: block;
	box-sizing: border-box;
}
header .groval_navi_area .menu_trigger {
	position: relative;
	width: 100%;
	height: 32px;
}
header .groval_navi_area .menu_trigger span {
	position: absolute;
	left: calc( ( 100% - 30px ) / 2 );
	width: 30px;
	height: 2px;
	background-color: #fff;
	border-radius: 2px;
}
header .groval_navi_area input[type="checkbox"] + ul li .menu_trigger span:nth-child(1) {
	top: 7px;
}
header .groval_navi_area input[type="checkbox"] + ul li .menu_trigger span:nth-child(2) {
	top: 15px;
}
header .groval_navi_area input[type="checkbox"] + ul li .menu_trigger span:nth-child(3) {
	bottom: 7px;
}
header .groval_navi_area input[type="checkbox"]:checked + ul li .menu_trigger span:nth-child(1) {
	-webkit-animation: menu-bar01 .75s forwards;
	animation: menu-bar01 .75s forwards;
}
header .groval_navi_area input[type="checkbox"]:checked + ul li .menu_trigger span:nth-child(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
header .groval_navi_area input[type="checkbox"]:checked + ul li .menu_trigger span:nth-child(2) {
	opacity: 0;
}
header .groval_navi_area input[type="checkbox"]:checked + ul li .menu_trigger span:nth-child(3) {
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi {
	height: 100vh;
	top: 0;
	background-color: #000000;
	transition-duration: 0.4s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: -1;
	right: -370px;
	width: 370px;
}
header .groval_navi_area input[type="checkbox"]:checked ~ .groval_navi {
	right: 0px;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi nav {
	margin: calc(( 100vh - 270px ) / 2 ) 0 0 0;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul {
	padding: 0 0 0 70px;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul li {
	position: relative;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul li::before {
	width: 15px;
	height: 3px;
	background-color: #ffffff;
	display: block;
	position: absolute;
	top: 22px;
}
.top header nav ul .top, .concept header nav ul .concept, .works header nav ul .works, .about header nav ul .about, .contact header nav ul .contact, .ec header nav ul .ec {
	text-indent: 1.2em;
}
.top header nav ul .top a, .concept header nav ul .concept a, .works header nav ul .works a, .about header nav ul .about a, .contact header nav ul .contact a, .ec header nav ul .ec a {
	color: #ffffff !important;
}
.top header nav ul .top::before, .concept header nav ul .concept::before, .works header nav ul .works::before, .about header nav ul .about::before, .contact header nav ul .contact::before, .ec header nav ul .ec::before {
	content: "";
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul li.insta {
	width: 26px;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul li a {
	color: #808080;
	font-weight: 900;
	font-size: 20px;
	line-height: 46px;
	position: relative;
	transition-duration: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	filter: none;
	border-bottom: 1px transparent solid;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul .insta a, header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul .fb a {
	padding: 0 0 6px 0;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul li a:hover {
	filter: brightness(140%);
	border-bottom: 1px #808080 solid;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul li.insta a img {
	width: 100%;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul .insta a img, header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul .fb a img {
	opacity: 0.5;
}
/*- footer -*/
footer {
	background-color: #000000;
	color: #ffffff;
	text-align: center;
	padding: 40px 0 12px;
	font-size: 14px;
	line-height: 28px;
	position: relative;
}
footer .for_top {
	width: 50px;
	height: 50px;
	top: -98px;
	right: calc( ( 100% - 1000px ) / 2 );
	box-shadow: 3px 3px 7px rgba(0,0,0,0.4);
}
footer .for_top::after {
	transition-duration: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	content: " ";
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
}
footer .for_top:hover::after {
	background-color: rgba(255,255,255,0.3);
}
footer .for_top img {
	width: 100%;
}
footer .for_top:hover {
	cursor: pointer;
}
footer img {
	width: 100%;
}
footer .logo {
	width: 154px;
	margin: 0 auto 30px;
}
footer .layout_clr {
	width: 370px;
	margin: 0 auto;
}
footer .layout_clr div:first-child {
	width: 272px;
	letter-spacing: 1px;
}
footer .layout_clr div:first-child .layout_flex li:first-child a {
	border-right: 1px solid #ffffff;
	padding: 0 16px 0 0;
}
footer .layout_clr div:last-child {
	width: 60px;
}
footer .layout_clr div:last-child .layout_flex li:first-child {
	width: 10px;
}
footer .layout_clr div:last-child .layout_flex li:last-child {
	width: 23px;
}
footer .copylight span {
	color: #666666;
	font-size: 12px;
	display: block;
	line-height: 1;
}
/*- elements -*/
h1 {
	margin: 80px 0;
	font-weight: normal;
	font-size: 16px;
	text-align: center;
}
.top h3 {
	margin: 1em 0;
	font-weight: normal;
	font-size: 16px;
	text-align: center;
}
h1 span, h3 span {
	font-family: 'Montserrat';
	font-size: 35px;
	display: block;
	margin-bottom: 8px;
	letter-spacing: 3px;
}
.title_area {
	width: 1000px;
	left: calc( (100% - 1000px ) / 2);
	top: -411px;
	height: 411px;
}
.title_area .breadcrumb_list {
	padding: 42px 0;
	display: inline-block;
}
.title_area .breadcrumb_list ol {
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	margin: 0;
}
.title_area .breadcrumb_list ol li {
	font-size: 12px;
	line-height: 1;
	margin: 6px 52px 6px 0;
	position: relative;
}
.title_area .breadcrumb_list ol li:first-child {
	margin: 3px 52px 0 0;
}
.title_area .breadcrumb_list ol li::after {
	content: ">";
	position: absolute;
	font-size: 8px;
	top: 4px;
	right: -33px;
	font-weight: bold;
	display: block;
	line-height: 1px;
}
.title_area .breadcrumb_list ol li:first-child::after {
	line-height: 8px;
}
.title_area .breadcrumb_list ol li:last-child::after {
	display: none;
}
.title_area .breadcrumb_list ol li .home img {
	transition-duration: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 1;
}
.title_area .breadcrumb_list ol li .home:hover img {
	opacity: 0.5;
}
.link_italic {
	transition-duration: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	border-bottom: 1px solid transparent;
}
.link_italic:hover {
	color: #999;
	border-bottom: 1px solid #ccc;
}
.link_box {
	position: relative;
	display: block;
}
.link_box::after {
	content: " ";
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	transition-duration: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.link_box:hover::after {
	background-color: rgba(255,255,255,0.4);
}
.link_backblack {
	transition-duration: 0.2s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	filter: none;
}
.link_backblack:hover {
	filter: drop-shadow(0px 0px 3px #fff);
}
.midashi_area h4 {
	margin: 0;
	font-size: 16px;
	color: #ffffff;
	background-color: #000000;
	width: 250px;
	height: 50px;
	text-align: center;
	font-weight: normal;
	line-height: 50px;
}
/*== top ==*/
.top main .sec01 h1 {
	width: 403px;
	height: 312px;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	z-index: 50;
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.7))
}
.top main .sec01, .top main .sec01 .top_slider {
	margin: 0;
	padding: 0;
	max-height: 700px;
	height: calc(100vh - 102px);
	overflow: hidden;
}
.top main .sec01 .top_slider .slick-slide img {
	width: 100%;
	max-height: 700px;
    height: calc(100vh - 102px);
}
.top main .sec01 .layout_absolute img {
	width:100%;
}
.top main .sec01 .slick-counter, .top main .sec01 .slick-arrow {
	position: absolute;
}
.top main .sec01 .slick-counter {
	background-color: #000000;
	bottom: 0;
	left: calc( ( 100vw - 1000px) / 2 );
	color: #ffffff;
	width: 160px;
	margin: 0 820px 0 20px;
	height: 50px;
	font-size: 14px;
	line-height: 50px;
	padding: 0 0 0 106px;
	letter-spacing: 0;
}
.top main .sec01 .slick-arrow {
	width: 8px;
	height: 16px;
	bottom: 18px;
	text-indent: -500px;
	overflow: hidden;
	z-index: 50;
}
.top main .sec01 .slick-arrow.slick-prev {
	background-image: url(/library/img/top/slide_pager_01.svg);
	left: calc( ( ( 100vw - 1000px) / 2 ) + 40px );
}
.top main .sec01 .slick-arrow.slick-next {
	background-image: url(/library/img/top/slide_pager_02.svg);
	left: calc( ( ( 100vw - 1000px) / 2 ) + 80px );
}
.top main .sec02 {
	background-image: url(../img/common/bg_stripe.svg);
	background-repeat: repeat;
	padding: 26px 0;
	border-bottom: #cccccc solid 1px;
}
.top main .sec02 a {
	display: block;
	margin: 0 auto;
	width: 1000px;
}
.top main .sec02 a + a {
	margin-top: 20px;
}
.top main .sec02 .layout_clr {
	height: 100px;
}
.top main .sec02 .layout_clr .txt {
	background-color: #000000;
	color: #b3b3b3;
	height: 100px;
	padding: 28px 24px;
}
.top main .sec02 .layout_clr .txt img, .top main .sec02 .layout_clr .txt > span {
	display: block;
}
.top main .sec02 .layout_clr .txt span {
	font-size: 14px;
	margin: 0 0 0 4px;
}
.top main .sec03 .wrap {
	width: 100%;
	border-bottom: #cccccc solid 1px;
	height: 200px;
}
.top main .sec03 .inner {
	width: 1000px;
	margin: 0 auto;
	position: relative;
	height: 200px;
}
.top main .sec03 .inner::before {
	content: "　";
	display: block;
	position: absolute;
	transform: rotate(45deg);
	border-right: #cccccc solid 1px;
	height: 282px;
	left: calc( (1000px / 3 ) + 70px);
	top: -48px;
}
.top main .sec03 .inner::after {
	content: "　";
	display: block;
	position: absolute;
	transform: rotate(45deg);
	border-right: #cccccc solid 1px;
	height: 282px;
	right: calc( (1000px / 3 ) - 116px);
	top: -48px;
}
.top main .sec03 .inner div {
	display: inline-block;
}
.top main .sec03 .inner div.title {
	position: relative;
	padding: 56px 0 0 0;
	height: 200px;
}
.top main .sec03 .inner div.title h3 {
	text-align: left;
}
.top main .sec03 .inner div.link {
	position: absolute;
	top: 0;
	height: 200px;
	padding: 162px 0 0 0;
	right: 0;
	z-index: 0;
}
.top main .sec03 .link {
	font-family: 'RobotoLightItalic';
	z-index: 100;
}
.top main .sec03 ul {
	width: 1000px;
	margin: 0 auto;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.top main .sec03 ul::after {
	content: " ";
	height: 100%;
	width: 2px;
	top: 0;
	right: 0px;
	position: absolute;
	display: block;
	background-color: #ffffff;
}
.top main .sec03 ul li {
	width: calc( ( 100% - 360px ) / 2);
	box-sizing: border-box;
	border-right: #cccccc solid 1px;
	border-bottom: #cccccc solid 1px;
	padding: 30px 0 70px;
}
.top main .sec03 ul li:nth-child(3n-1) {
	width: 360px;
}
.top main .sec03 ul li div {
	text-align: center;
	width: 280px;
	margin: 0 auto;
	border-bottom: #cccccc solid 1px;
}
.top main .sec03 ul li div.img {
	border-bottom: none;
	overflow: hidden;
}
.top main .sec03 ul li:nth-child(3n-2) div {
	margin: 0;
}
.top main .sec03 ul li:nth-child(3n) div {
	margin: 0 0 0 calc( 100% - 280px );
}
.top main .sec03 ul li .img img {
	width: auto;
	height: 210px;
}
.top main .sec03 ul li .no {
	font-family: 'RobotoThinItalic';
	font-size: 34px;
	letter-spacing: 2.5px;
	padding: 16px 0 7px;
	text-align: right;
}
.top main .sec03 ul li .day, .top main .sec03 ul li .category {
	padding: 6px 0;
	width: 140px;
	border-bottom: none;
	position: relative;
}
.top main .sec03 ul li .category::before {
	content: " ";
	position: absolute;
	display: block;
	top: 0;
	height: 13px;
	width: 1px;
	background-color: #cccccc;
}
.top main .sec03 ul li .title {
	font-weight: bold;
	padding: 13px 0;
}
.top main .sec03 ul li .link {
	border-bottom: none;
	padding: 6px 0 0;
}
.top main .sec04 {
	background-image: url(../img/common/bg_stripe.svg);
	background-repeat: repeat;
	margin: 0 0 -1px 0;
	position: relative;
	top: -1px;
	border-bottom: #cccccc solid 1px;
	border-top: #cccccc solid 1px;
	padding: 54px 0 40px;
	width: 100%;
	overflow: hidden;
}
.top main .sec04 h3 {
	margin: 0 0 50px 0;
}
.top main .sec04 h3 a {
	width: 214px;
	display: block;
	margin: 0 auto;
}
.top main .sec04 h3 a img {
	transition-duration: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 1;
	display: inline-block;
}
.top main .sec04 h3 a:hover img {
	opacity: 0.5;
}
.top main .sec04 h3 span {
	margin: 20px auto 0;
	width: 214px
}
.top main .sec04 .insta_slider {
	width: 3000px;
}
.top main .sec04 .insta_slider a {
	height: 300px !important;
}
.top main .sec04 .insta_slider img {
	width: 100%;
}
.top main .sec05 {
	background-color: #e6e6e6;
}
.top main .sec05 .layout_flex {
	width: 1000px;
	margin: 0 auto;
}
.top main .sec05 li {
	padding: 70px 0 150px;
}
.top main .sec05 li:nth-child(2) {
	background-color: #ffffff;
	width: 360px;
}
.top main .sec05 li:nth-child(2) a {
	background-color: #e6e6e6;
}
.top main .sec05 li:nth-child(1) a, .top main .sec05 li:nth-child(3) a {
	background-color: #ffffff;
}
.top main .sec05 h3 {
	font-size: 14px;
	margin: 0 auto 60px;
}
.top main .sec05 h3 span {
	font-size: 25px;
	margin: 0;
}
.top main .sec05 a {
	display: block;
	width: 280px;
	padding: 70px 0 30px;
	margin: 0 auto;
}
.top main .sec05 .img {
	width: 220px;
	margin: 0 auto;
}
.top main .sec05 .img img {
	width: 100%;
}
/*== works ==*/
.works main .sec01 ul {
	width: 1000px;
	margin: 0 auto;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.works main .sec01 ul::after {
	content: " ";
	height: 100%;
	width: 2px;
	top: 0;
	right: 0px;
	position: absolute;
	display: block;
	background-color: #f2f2f2;
}
.works main .sec01 ul::before {
	content: " ";
	width: 100%;
	height: 2px;
	bottom: 0;
	left: 0;
	position: absolute;
	display: block;
	background-color: #f2f2f2;
}
.works main .sec01 ul li {
	width: calc( ( 100% - 360px ) / 2);
	box-sizing: border-box;
	border-right: #cccccc solid 1px;
	border-bottom: #cccccc solid 1px;
	padding: 30px 39px 70px;
}
.works main .sec01 ul li:nth-child(3n-2) {
	padding-left: 0;
}
.works main .sec01 ul li:nth-child(3n-1) {
	width: 360px;
}
.works main .sec01 ul li:nth-child(3n) {
	padding-right: 0;
}

.works main .sec01 ul li div {
	text-align: center;
	width: 280px;
	margin: 0 auto;
	border-bottom: #cccccc solid 1px;
}
.works main .sec01 ul li div.img {
	border-bottom: none;
	overflow: hidden;
}
.works main .sec01 ul li:nth-child(3n-2) div {
	margin: 0;
}
.works main .sec01 ul li:nth-child(3n) div {
	/*margin: 0 0 0 calc( 100% - 280px );*/
}
.works main .sec01 ul li .img img {
	width: auto;
	height: 210px;
}
.works main .sec01 ul li .no {
	font-family: 'RobotoThinItalic';
	font-size: 34px;
	letter-spacing: 2.5px;
	padding: 16px 0 7px;
	text-align: right;
}
.works main .sec01 ul li .day, .works main .sec01 ul li .category {
	padding: 6px 0;
	width: 140px;
	border-bottom: none;
	position: relative;
}
.works main .sec01 ul li .category::before {
	content: " ";
	position: absolute;
	display: block;
	top: 0;
	height: 13px;
	width: 1px;
	background-color: #cccccc;
}
.works main .sec01 ul li .title {
	font-weight: bold;
	padding: 13px 0;
}
.works main .sec01 ul li .link {
	font-family: 'RobotoLightItalic';
	border-bottom: none;
	padding: 6px 0 0;
}
.works main .sec02 {
	padding: 0;
}
.works main .sec02 .layout_flex {
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	margin: 0 auto;
	padding: 70px 0 160px;
}
/*
.works main .sec02 .layout_flex li {
	backface-visibility: hidden;
	transition-duration: 0.3s;
	background-color: #ffffff;
	width: 50px;
	height: 50px;
	margin: 0 5px 0 0;
}
*/
.works main .sec02 .layout_flex li {
	min-width: 50px;
	height: 50px;
	margin: 0 5px 0 0;
}
.works main .sec02 .layout_flex li:last-child {
	margin: 0;
}
.works main .sec02 .layout_flex li a {
	display: block;
	background-color: #ffffff;
	width: 50px;
	height: 50px;
}
/*
.works main .sec02 .layout_flex li:hover {
	opacity: 0.5;
}
*/

.works main .sec02 .layout_flex li.current {
	display: block;
	background-color: #000000;
	color: #ffffff;
	text-align: center;
	line-height: 50px;
}
.works main .sec02 .layout_flex li.current:hover {
	opacity: 1;
}
/*.works main .sec02 .layout_flex li.prev,*/
.works main .sec02 .layout_flex .previouspostslink {
	margin: 0 25px 0 0;
}
/*.works main .sec02 .layout_flex li.next,*/
.works main .sec02 .layout_flex .nextpostslink {
	margin: 0 0 0 25px;
}
.works main .sec02 .layout_flex .previouspostslink,
.works main .sec02 .layout_flex .nextpostslink {
	color: rgba(0,0,0,0);
	position: relative;
}
.works main .sec02 .layout_flex .previouspostslink::before {
	content: "»";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	background: url(../img/works/prev.svg) center no-repeat;
}
.works main .sec02 .layout_flex .nextpostslink::before {
	content: "«";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	background: url(../img/works/next.svg) center no-repeat;
}

.works main .sec02 .layout_flex li a {
	display: block;
	text-align: center;
	line-height: 50px;
}
.works main .sec03 a {
	transition-duration: 0.3s;
	backface-visibility: hidden;
}
.works main .sec03 a:hover {
	opacity: 0.6;
}
.works main .sec03 {
	background-color: #f2f2f2;
	padding: 116px 130px 170px;
}
.works main .sec03 h4 {
	margin: 0;
	font-size: 20px;
	font-weight: bold;
	max-width: 470px;
	text-align:  justify;
}
.works main .sec03 > .number {
	font-family: 'RobotoThinItalic';
	margin: 0;
	padding: 0;
	top: 40px;
	right: 130px;
}
.works main .sec03 > .number p {
	margin: 0;
	padding: 0;
	color: #cccccc;
	font-size: 110px;
	line-height: 110px;
}
.works main .sec03 .body_copy {
	font-size: 14px;
	line-height: 30px;
	letter-spacing: 1px;
	margin: 20px 0 74px;
	color: #4d4d4d;
	width: 470px;
	min-height: 13.5em;
	text-align:  justify;
}
.works main .sec03 .outline {
	font-size: 12px;
	width: 165px;
	bottom: 1213px;
	right: 130px;
}
.works main .sec03 .outline h5 {
	border-bottom: #cccccc 1px solid;
	line-height: 28px;
	margin: 12px 0;
}
.works main .sec03 .outline dl {
	overflow: hidden;
	letter-spacing: 1px;
	line-height: 25px;
	margin: 0;
	color: #4d4d4d;
}
.works main .sec03 .outline dl dt {
	margin: 0;
	float: left;
	width: 80px;
}
.works main .sec03 .outline dl dd {
	margin: 0;
	float: right;
	width: 80px;
}
.works main .sec03 .main_visual ul {
	position: relative;
	background: #FFF;
}
.works main .sec03 .main_visual ul li {
	width: 740px;
	height: 555px;
	overflow: hidden;
	text-align: center;
}
.works main .sec03 .main_visual ul li.slick-slide img {
	/*width: 740px;*/
	height: 555px;
	display: inline-block;
}
.works main .sec03 .main_visual ul .slick-counter, .works main .sec03 .main_visual ul .slick-arrow {
	position: absolute;
}
.works main .sec03 .main_visual ul .slick-counter {
	background-color: #000000;
	bottom: 0;
	right: 0;
	color: #ffffff;
	width: 160px;
	margin: 0;
	height: 50px;
	font-size: 14px;
	line-height: 50px;
	padding: 0 0 0 106px;
	letter-spacing: 0;
}
.works main .sec03 .main_visual ul .slick-arrow {
	width: 8px;
	height: 16px;
	bottom: 18px;
	text-indent: -500px;
	overflow: hidden;
	z-index: 50;
}
.works main .sec03 .main_visual ul .slick-arrow.slick-prev {
	background-image: url(/library/img/top/slide_pager_01.svg);
	right: 128px;
}
.works main .sec03 .main_visual ul .slick-arrow.slick-next {
	background-image: url(/library/img/top/slide_pager_02.svg);
	right: 80px;
}
.works main .sec03 .pager {
	margin: 44px 0 120px;
}
.works main .sec03 .pager .layout_flex {
	-webkit-justify-content: center;
	justify-content: center;
}
.works main .sec03 .pager .layout_flex li {
	margin: 0 30px;
	font-size: 20px;
	position: relative;
	font-family: 'RobotoLightItalic';
}
.works main .sec03 .pager .layout_flex li:first-child,
.works main .sec03 .pager .layout_flex li:last-child {
	min-width: 52px;
}
.works main .sec03 .pager .layout_flex li:first-child a::before {
	content: " ";
	background-image: url(../img/works/prev.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	width: 4px;
	height: 8px;
	left: -14px;
	top: 14px;
}
.works main .sec03 .pager .layout_flex li:last-child a::after {
	content: " ";
	background-image: url(../img/works/next.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	width: 4px;
	height: 8px;
	right: -14px;
	top: 14px;
}
.works main .sec03 .for_contact p {
	font-weight: bold;
	text-align: center;
	font-size: 17px;
	line-height: 33px;
	margin: 0 0 50px 0;
}
.works main .sec03 .for_contact a {
	display: block;
	text-align: center;
	width: 400px;
	height: 100px;
	background-color: #000000;
	padding: 20px;
	line-height: 30px;
	margin: 0 auto;
}
.works main .sec03 .for_contact a span {
	color: #ffffff;
	font-size: 14px;
	display: block;
}
/*== concept ==*/

.concept main .sec01 .lead_copy p {
	font-size: 35px;
	text-align: center;
	font-weight: bold;
	margin: 0;
	padding: 120px 0 158px;
}
.concept main .sec01 .consept_wrap {
	height: 1260px;
}
.concept main .sec01 .consept_wrap::before {
	content: " ";
 width: calc( 100vw - ( ( 560px - 70px ) + ( ( 100vw - 900px ) / 2 ) ) );
	background-image: url(../img/concept/pict_01.png);
	background-size: cover;
	display: block;
	position: absolute;
	/*left:calc( 0px - ( 100vw - ( 560px + ( ( 100vw - 900px ) / 2 ) ) ) );
	top: -110px;*/
	left: 0;
	top: 0;
	height: 360px;
	z-index: 0;
}
.concept main .sec01 .consept_wrap::after {
	content: " ";
 width: calc( 100vw - ( ( 560px - 70px ) + ( ( 100vw - 900px ) / 2 ) ) );
	background-image: url(../img/concept/pict_02.png);
	background-size: cover;
	display: block;
	position: absolute;
	right: 0;
	bottom: 140px;
	height: 360px;
	z-index: 0;
}
.concept main .sec01 .consept_wrap .block01, .concept main .sec01 .consept_wrap .block02 {
	background-color: #ffffff;
	border: #cccccc solid 1px;
	padding: 50px 0 0 50px;
	z-index: 1;
}
.concept main .sec01 .consept_wrap .block01 {
	width: 560px;
	height: 500px;
	right: calc( ( 100% - 900px ) / 2 );
	top: 110px;
}
.concept main .sec01 .consept_wrap .block02 {
	width: 560px;
	height: 440px;
	left: calc( ( 100% - 900px ) / 2 );
	bottom: 260px;
}
.concept main .sec01 .consept_wrap .overlap {
	width: 220px;
	height: 50px;
	background-color: #000000;
	left: calc( ( 100% - 220px ) / 2 );
	top: 560px;
	z-index: 3;
	text-align: center;
	line-height: 50px;
}
.concept main .sec01 .consept_wrap h5 {
	font-size: 20px;
	line-height: 32px;
	margin: 0 0 30px 0;
}
.concept main .sec01 .consept_wrap p {
	font-size: 14px;
	line-height: 25px;
	margin: 0;
	letter-spacing: 0;
	color: #4d4d4d;
}
.concept main .sec02 {
	background-color: #e6e6e6;
	border-top: #cccccc solid 1px;
	padding: 0 0 170px 0;
}
.concept main .sec02 .dekirukoto_wrap {
	padding: 70px 0 90px 0;
}
.concept main .sec02 .dekirukoto_wrap ul {
	margin: 0;
}
.concept main .sec02 .dekirukoto_wrap ul li {
	width: 310px;
	height: 200px;
	background-color: #ffffff;
	padding: 50px 29px 30px;
	position: relative;
}
.concept main .sec02 .dekirukoto_wrap ul li::before {
	content: " ";
	position: absolute;
	top: 40px;
	right: 26px;
	background-repeat: no-repeat;
	display: block;
}
.concept main .sec02 .dekirukoto_wrap ul li:nth-child(1)::before {
	background-image: url(../img/concept/icon01.svg);
	width: 35px;
	height: 35px;
}
.concept main .sec02 .dekirukoto_wrap ul li:nth-child(2)::before {
	background-image: url(../img/concept/icon02.svg);
	width: 43px;
	height: 35px;
}
.concept main .sec02 .dekirukoto_wrap ul li:nth-child(3)::before {
	background-image: url(../img/concept/icon03.svg);
	width: 37px;
	height: 32px;
}
.concept main .sec02 .dekirukoto_wrap ul li h5 {
	margin: 0 0 20px 0;
	font-size: 16px;
}
.concept main .sec02 .dekirukoto_wrap ul li:nth-child(2) h5 {
	letter-spacing: -1px;
}
.concept main .sec02 .dekirukoto_wrap ul li p {
	font-size: 12px;
	line-height: 22px;
	margin: 0;
	letter-spacing: -0.6px;
	text-align: justify;
}
.concept main .sec02 .for_contact p {
	font-weight: bold;
	text-align: center;
	font-size: 17px;
	line-height: 33px;
	margin: 0 0 50px 0;
}
.concept main .sec02 .for_contact a {
	display: block;
	text-align: center;
	width: 400px;
	height: 100px;
	background-color: #000000;
	padding: 20px;
	line-height: 30px;
	margin: 0 auto;
	transition-duration: 0.4s;
	backface-visibility: hidden;
}
.concept main .sec02 .for_contact a:hover {
	opacity: 0.7;
}
.concept main .sec02 .for_contact a span {
	color: #ffffff;
	font-size: 14px;
	display: block;
}
/*== about ==*/
.about main {
	padding-bottom: 150px;
}
.about .layout_width600 {
	float: right;
	width: 600px;
}
.about .sec01, .about .sec02, .about .sec03 {
	padding-bottom: 130px;
	overflow: hidden;
}
.about .sec01 .layout_width600, .about .sec02 .layout_width600, .about .sec03 .layout_width600 {
	font-size: 14px;
	letter-spacing: 1px;
}
.about .midashi_area {
	margin-bottom: 90px;
}
.about .sec01 strong {
	display: block;
	margin-bottom: 30px;
	font-size: 30px;
	letter-spacing: 3px;
	line-height: 1.5;
}
.about .sec01 p, .about .sec02 p {
	margin: 15px 0;
	color: #4D4D4D;
	line-height: 2;
}
.about .sec02, .about .sec03 {
	border-top: 1px solid #CCC;
}
.about .sec02 img {
	float: left;
	width: 260px;
	height: auto;
	margin-top: 70px;
	margin-left: 40px;
}
.about .sec03 {
	padding-bottom: 65px;
}
.about .sec03 .midashi_area {
	margin-bottom: 100px;
}
.about .sec03 table {
	position:relative;
}
.about .sec03 table::after {
	content:" ";
	display:block;
	height:2px;
	width:100%;
	background-color: #000;
	position:absolute;
	top:0;
	left:0;
}
.about .sec03 table tr th, .about .sec03 table tr td {
	border-top: 1px solid #CCC;
}
.about .sec03 table tr:first-child th, .about .sec03 table tr:first-child td {
	border-top: none;
}
.about .sec03 table tr th {
	width: 140px;
	border-right: 1px solid #CCC;
}
.about .sec03 table tr td {
	padding: 20px 40px;
	line-height: 1.9;
}
.about .sec03 table tr td img {
	margin-right: 3px;
}
.about .sec03 table tr td a {
	font-weight: bold;
	text-decoration: underline;
}
#office_map {
	width: 100%;
	height: 300px;
}
/*== contact ==*/
.contact_wrap {
	padding-top: 50px;
	padding-bottom: 170px;
	font-size: 14px;
	background-color: #f2f2f2;
}
.contact_inner {
	width: 800px;
	margin: 0 auto;
	overflow: hidden;
}
.contact_wrap .read {
	margin-bottom: 80px;
	text-align: center;
}
.contact_wrap .read strong {
	font-size: 20px;
}
.mw_wp_form_confirm .read {
	display: none;
}
.contact_wrap .address_cont {
	float: left;
	width: 235px;
	text-align: center;
}
.contact_wrap .address_cont > img {
	width: 168px;
	height: auto;
	margin-bottom: 20px;
}
.contact_wrap .address_cont p {
	margin-bottom: 20px;
	letter-spacing: 1px;
	line-height: 1.9;
	text-align: left;
}
.contact_wrap .address_cont ul {
	margin-top: 30px;
	text-align: right;
}
.contact_wrap .address_cont ul li {
	display: inline-block;
	margin-left: 5px;
}
.contact_wrap .address_cont ul li a {
	display: inline-block;
	width: 24px;
	height: 24px;
	text-align: center;
}
.contact_wrap .address_cont ul li a img {
	width: auto;
	height: 24px;
}
.contact_cont {
	float: right;
	width: 400px;
}
.contact_cont dl {
	margin: 0;
}
.contact_cont dt {
	margin-bottom: 8px;
	font-weight: bold;
	line-height: 1;
}
.contact_cont .label_req {
	position: relative;
	top: -2px;
	display: inline-block;
	margin-left: 15px;
	padding: 4px 8px;
	color: #FFF;
	font-size: 11px;
	font-weight: normal;
	line-height: 1;
	background-color: #B3B3B3;
}
.contact_cont dd {
	margin: 0 0 40px;
}
.contact_cont .select, .contact_cont input[type="text"], .contact_cont input[type="tel"], .contact_cont textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #CCC;
	background-color: #FFF;
}
.contact_cont input[type="text"], .contact_cont input[type="tel"] {
	padding: 10px;
	line-height: 1;
}
.contact_cont .select {
	position: relative;
}
.contact_cont .select::after {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	margin: auto;
	right: 10px;
	display: inline-block;
	width: 17px;
	height: 17px;
	background: url(../img/contact/arrow.svg) 0 0 no-repeat;
}
.contact_cont .select select {
	position: relative;
	z-index: 5;
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	line-height: 1.3;
	border: none;
	background: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.contact_cont .select select::-ms-expand {
 display: none;
}
.contact_cont .select .error {
	display: none;
}
.mw_wp_form_confirm .contact_cont .select {
	border: none;
	background: none;
}
.mw_wp_form_confirm .contact_cont .select::after {
	display: none;
}
.contact_cont .inp_radio {
	margin-bottom: 35px;
}
.contact_cont .inp_radio label {
	position: relative;
	margin-right: 30px;
}
.contact_cont .inp_radio label:last-of-type {
	margin-right: 0;
}
.contact_cont .inp_radio input[type="radio"] {
	display: none;
}
.contact_cont .inp_radio .mwform-radio-field {
	margin-right: 25px;
}
.contact_cont .inp_radio span.mwform-radio-field-text {
	margin-left: 20px;
	display: inline-block;
}
/*.contact_cont .inp_radio span::before, .contact_cont .inp_radio span::after,*/
.mwform-radio-field-text::before, .mwform-radio-field-text::after {
	content: "";
	position: absolute;
	/*top: 2px;*/
	top: calc(50% - 8px);
	left: 0;
	display: inline-block;
}
.contact_cont .inp_radio span::before {
	width: 16px;
	height: 16px;
	border: 1px solid #CCC;
	border-radius: 50%;
	background-color: #fff;
}
.contact_cont .inp_radio input[type="radio"]:checked + span::after {
	top: 7px;
	left: 5px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #000;
}
.contact_cont textarea {
	padding: 10px;
	line-height: 1.5;
}
.contact_wrap .agree, .contact_wrap .submit_area {
	clear: both;
	text-align: center;
}
.contact_wrap .agree {
	margin-bottom: 30px;
	position: relative;
}
.contact_wrap .agree label {
	position: relative;
	top: 2px;
	/*display: inline-block;*/
	width: 14px;
	height: 14px;
}
.contact_wrap .agree label input[type="checkbox"] {
	display: none;
}
.contact_wrap .agree label span::before, .contact_wrap .agree label span::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
}
.contact_wrap .agree label span::before {
	width: 14px;
	height: 14px;
	border: 1px solid #000;
	background: none;
}
.contact_wrap .agree label input[type="checkbox"]:checked + span::after {
	top: 2px;
	left: 5px;
	width: 4px;
	height: 8px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.contact_wrap .agree p {
	display: inline-block;
	margin-left: 20px;
}
.contact_wrap .agree p a {
	text-decoration: underline;
}
.contact_wrap .mwform-checkbox-field-text {
	color: rgba(255,255,255,0);
}
.contact_wrap .agree .error {
	position: absolute;
	text-align: center;
	width: 100%;
	line-height: 1;
	top: 60px;
}
.contact_wrap .agree .error + .comment {
	margin-bottom: 40px;
}
.mw_wp_form_confirm .agree {
	display: none;
}
.contact_wrap .submit_area button {
	width: 250px;
	margin: 0 auto;
	color: #FFF;
	line-height: 50px;
	background-color: #000;
}
.contact_wrap .submit_wrap.send {
	margin-bottom: 20px;
}
.contact_wrap .submit_wrap.back button {
	background-color: #b3b3b3;
}
.contact_wrap.confirm {
	padding-top: 100px;
}
.contact_wrap.confirm .contact_cont .select {
	border: none;
	background: none;
}
.contact_wrap.confirm .contact_cont .select::after {
	display: none;
}
.contact_wrap.confirm .submit_area {
	margin-top: 30px;
}
.contact_wrap.complete {
	padding-top: 100px;
}
.contact_wrap.complete .contact_cont p:first-of-type {
	margin-top: 0;
}
/*== privacy ==*/
.privacy_wrap {
	padding-top: 90px;
	padding-bottom: 160px;
	color: #4D4D4D;
	font-size: 14px;
	letter-spacing: 1px;
}
.privacy_wrap .layout_width600 {
	float: right;
	width: 600px;
}
.privacy_cont {
	clear: both;
	padding-top: 50px;
	overflow: hidden;
}
.privacy_wrap h4 {
	float: left;
	margin-left: 50px;
	color: #000;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 0.9;
}
.privacy_cont ul {
	margin-top: 30px;
}
.privacy_cont ul li {
	margin-left: 1em;
	text-indent: -1em;
}
/*== sitemap ==*/
.sitemap_wrap {
	width: 760px;
	padding-top: 100px;
	padding-bottom: 140px;
	overflow: hidden;
	background: url(../img/common/logo_01_gray.svg) 0 188px / auto 260px no-repeat;
}
.sitemap_cont {
	float: right;
	width: 270px;
	margin-right: 10px;
}
.sitemap_cont ul {
	margin: 0;
}
.sitemap_cont ul li {
	padding: 20px 20px 20px 47px;
	line-height: 1;
	border-bottom: 1px solid #CCC;
	background: url(../img/sitemap/arrow.svg) 20px 19px / auto 17px no-repeat;
}
.sitemap_cont ul li a {
	display: inline-block;
	margin-top: 14px;
}
.sitemap_cont ul li a:first-child {
	margin-top: 0;
}
.sitemap_cont ul li a img {
	margin-top: -5px;
	margin-left: 10px;
}
.notfound_wrap {
    padding-top: 50px;
    padding-bottom: 170px;
    font-size: 14px;
    background-color: #f2f2f2;
	text-align: center;
}

 @media only screen and (min-width: 768px) {
body {
	min-width: 1000px;
}
.sp_only {
	display: none !important;
}
.works main .sec01 ul li:nth-child(1), .works main .sec01 ul li:nth-child(2), .works main .sec01 ul li:nth-child(3) {
	padding-top: 100px;
}
}
 @media only screen and (max-width: 767px) {
.pc_only {
	display: none !important;
}
/*== common ==*/
body {
	margin: 50px 0 0 0;
}
/*- layout -*/
.layout_width1000 {
	width: 100%;
	box-sizing: border-box;
	padding: 0 24px;
}
/*- header -*/

header, .top header {
	position: fixed !important;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	transition: .3s;
}
header h2 {
	padding: 0 0 0 14px;
	height: 50px;
	position: relative;
	text-align: left;
	z-index: 0;
	background-image: none;
	background-color: #ffffff;
	border: none;
}
.top header h2 {
	padding: 0 0 0 14px;
	height: 50px;
	position: relative;
	text-align: left;
	z-index: 0;
	background-color: #ffffff;
	background-image: url(../img/common/bg_stripe.svg);
	background-repeat: repeat;
	border-bottom: #cccccc solid 1px;
}
header h2 img, .top header h2 img {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 180px;
}
header .groval_navi_area {
	position: absolute;
	height: auto;
	width: 110px;
	right: 0;
}
header .groval_navi_area .groval_navi_tag {
	padding: 0;
}
header .groval_navi_area .groval_navi_tag li {
	display: none;
}
header .groval_navi_area .groval_navi_tag li.home {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-align-items: stretch;
	-webkit-align-content: space-between;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	align-content: space-between;
	height: 50px;
}
header .groval_navi_area .groval_navi_tag .home a {
	padding: 0;
	margin: 7px 16px 0 0;
}
header .groval_navi_area .groval_navi_tag .home img {
	width: 40px;
}
header .groval_navi_area .groval_navi_tag .home label {
	margin: 8px 0 0;
	width: 28px;
}
header .groval_navi_area .groval_navi_tag .home label span {
	width: 100%;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi {
	position: fixed;
	width: 100%;
	right: -100%;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi nav {
	margin-top: 100px;
}
header .groval_navi_area input[type="checkbox"] ~ .groval_navi ul {
	padding: 0 0 0 8vw;
}
/*- footer -*/
footer .for_top {
	top: -70px;
	right: 6.25vw;
}
footer p {
	line-height: 25px;
}
footer .layout_clr {
	width: 100%;
}
footer .layout_clr > div {
	float: none;
	width: 100% !important;
}
footer .layout_clr > div .layout_flex {
	-webkit-justify-content: center;
	justify-content: center;
}
footer .layout_clr > div .layout_flex li a {
	padding: 0 16px;
}
footer .layout_clr > div .layout_flex {
	margin: 18px 0 0 0;
}
footer .layout_clr > div:last-child .layout_flex {
	margin: 8px 0 18px 0;
}
footer .layout_clr > div:last-child .layout_flex li {
	padding: 0px 14px;
	box-sizing: content-box;
}
footer .layout_clr > div:last-child .layout_flex li a {
	padding: 0;
}
footer .copylight {
 footer .copylight span
}
footer .copylight span {
	font-size: 10px;
	letter-spacing: 0;
}
/*- elements -*/
h1 {
	font-size: 12px;
}
h1 span {
	-moz-transform:scale(0.64);
	zoom: 64%;
}
.top h1 {
	zoom: 100%;
}
.top h3 img {
	zoom: 84%;
}
.top h3 span {
	font-size: 12px;
}
.title_area {
	background-image: url(../img/common/bg_stripe.svg);
	background-color: #ffffff;
	background-repeat: repeat;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 128px;
	padding: 28px 0 0 0;
	border-bottom: #cccccc solid 1px;
	margin:0;
}
.title_area .breadcrumb_list {
	display: none;
}
.title_area h1 {
	margin: 0;
}
.midashi_area {
    margin: -1px 0 0 0;
}
.midashi_area h4 {
	width: auto;
	height: 35px;
	text-align: left;
	line-height: 35px;
	display: inline-block;
	font-size: 13px;
	padding: 0 12px;
}
/*== top ==*/
.top main .sec01 h1 {
	width: 164px;
	height: 126px;
}
.top main .sec01, .top main .sec01 .top_slider {
	max-height: auto;
	height: auto;
}
.top main .sec01 .top_slider .slick-slide img {
	width: 100%;
	max-height: auto;
    height: auto;
}
.top main .sec01 .slick-counter {
	left: 0;
	margin: 0;
	padding: 0;
	text-indent: -500px;
	width: 100px;
}
.top main .sec01 .slick-arrow.slick-prev {
	left: 20px;
}
.top main .sec01 .slick-arrow.slick-next {
	left: 70px;
}
.top main .sec02 {
	padding: 10px 0;
}
.top main .sec02 a {
	width: 87.5%;
}
.top main .sec02 a + a {
	margin-top: 10px;
}
.top main .sec02 a:nth-of-type(2) img {
	width: 100%;
}
.top main .sec02 .layout_clr {
	height: 20vw;
}
.top main .sec02 .layout_clr .txt {
	padding: 4.8vw 3.2vw;
	height: 100%;
}
.top main .sec02 .layout_clr .txt img {
	width: 80%;
	min-width: 120px;
}
.top main .sec02 .layout_clr .txt span {
	font-size: 2vw;
	letter-spacing: 0;
	margin: 0;
	line-height: 6vw;
}
.top main .sec02 .layout_clr .img {
	overflow: hidden;
	height: 100%;
	position: relative;
}
.top main .sec02 .layout_clr .img img {
	width: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.top main .sec03 .wrap {
	height: 110px;
}
.top main .sec03 .inner {
	width: 100%;
}
.top main .sec03 .inner div.title {
	padding: 30px 30px;
	height: 110px;
}
.top main .sec03 .inner::before, .top main .sec03 .inner::after, .top main .sec03 ul::after {
	display: none;
}
.top main .sec03 .inner div.title h3 {
	margin: 0;
	font-size: 12px;
}
.top main .sec03 .inner div.title h3 span {
	margin: 0;
}
.top main .sec03 .inner div.title h3 img {
	width: 98px;
}
.top main .sec03 .inner div.link {
	padding: 66px 20px 0;
	height: 110px;
}
.top main .sec03 ul {
	display: block;
	width: 100%;
}
.top main .sec03 ul li, .top main .sec03 ul li:nth-child(3n-1) {
	border-right: none;
	width: 100%;
}
.top main .sec03 ul li:nth-child(3n-2) div, .top main .sec03 ul li:nth-child(3n) div {
	margin: 0 auto;
}
.top main .sec03 ul li div {
	width: 87.5%;
}
.top main .sec03 ul li .day, .top main .sec03 ul li .category {
	width: 50%;
}
.top main .sec03 ul li .img img {
    width: auto;
    height: 246px;
}
.top main .sec04 {
	padding: 30px 0 20px;
}
.top main .sec04 h3 {
	margin: 0 0 30px 0;
}
.top main .sec04 h3 span {
	margin: 10px 0 0 0;
	width: auto;
}
.top main .sec04 h3 > img {
	width: 32px;
}
.top main .sec04 h3 span img {
	width: 160px;
}
.top main .sec04 .insta_slider {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-align-items: stretch;
	-webkit-align-content: space-between;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	align-content: space-between;
}
	 #sbi_images .sbi_item{
		 width: calc(100vw / 3) !important;
	 }
	 #sbi_images .sbi_item:last-child{
		 display: none !important;
	 }
.top main .sec04 .insta_slider a {
	width: 100% !important;
	 height: calc(100vw / 3) !important;
}
.top main .sec04 .insta_slider a:last-child {
	display: none;
}
.top main .sec05 .layout_flex {
	width: 100%;
	display: block;
}
.top main .sec05 li, .top main .sec05 li:nth-child(2) {
	width: 100%;
	padding: 30px 0;
}
.top main .sec05 li:last-child {
	padding: 30px 0 120px;
}
.top main .sec05 a {
	width: 87.5%;
	padding: 70px 30px 30px 30px;
}
.top main .sec05 .img {
	width: 100%;
}
/*== works ==*/
.works main .sec01 .wrap {
	height: 110px;
}
.works main .sec01 ul {
	display: block;
	width: 100%;
}
.works main .sec01 ul li, .works main .sec01 ul li:nth-child(3n-1) {
	border-right: none;
	width: 100%;
	padding: 30px 0 70px;
}
.works main .sec01 ul li:nth-child(3n-2) div, .works main .sec01 ul li:nth-child(3n) div {
	margin: 0 auto;
}
.works main .sec01 ul li div {
	width: 87.5%;
}
.works main .sec01 ul li .img img {
    width: auto;
    height: 246px;
}

.works main .sec01 ul li .day, .works main .sec01 ul li .category {
	width: 50%;
}
.works main .sec03 {
	padding: 28px 24px 130px;
}
.works main .sec03 .number {
	position: static;
	text-align: right;
	margin: 0 0 20px 0;
}
.works main .sec03 .number p {
	font-size: 52px;
	line-height: 52px;
}
.works main .sec03 .body_copy {
	margin: 1em 0 40px;
	width: 100%;
	min-height: auto;
}
.works main .sec03 .outline {
	position: static;
	width: 100%;
	margin: 0 0 40px;
}
.works main .sec03 .outline dl dt {
	width: 40%;
}
.works main .sec03 .outline dl dd {
	width: 60%;
}
.works main .sec03 .main_visual {
	width: 100%;
	height: auto;
}
.works main .sec03 .main_visual ul li {
	height: 65vw
}
/*
.works main .sec03 .main_visual ul li img {
	width: 100%;
	height: 58vw
}
*/
.works main .sec03 .main_visual ul li.slick-slide img {
	height: 65vw
}
.works main .sec03 .main_visual ul .slick-counter {
	left: 0;
	margin: 0;
	padding: 0;
	text-indent: -500px;
	width: 100px;
}
.works main .sec03 .main_visual ul .slick-arrow.slick-prev {
	left: 20px;
}
.works main .sec03 .main_visual ul .slick-arrow.slick-next {
	left: 70px;
}
.works main .sec03 .pager {
	margin: 40px 0 58px;
}
.works main .sec03 .pager .layout_flex li:first-child {
	margin: 0 3vw 0 0;
}
.works main .sec03 .pager .layout_flex li:last-child {
	margin: 0 0 0 3vw;
}
.works main .sec03 .for_contact p {
	font-size: 15px;
	line-height: 26px;
	margin: 0 0 30px 0;
}
.works main .sec03 .for_contact a {
	width: 100%;
}
.works main .sec03 .for_contact a img {
	width: 36vw;
}
/*== concept ==*/
.concept main .sec01 .lead_copy p {
	padding: 26px 0;
	line-height: 28px;
	font-size: 20px;
}
.concept main .sec01 .consept_wrap {
	height: auto;
	padding: 0 24px 72px;
	box-sizing: border-box;
}
.concept main .sec01 .consept_wrap::before, .concept main .sec01 .consept_wrap::after {
	display: none;
}
.concept main .sec01 .consept_wrap div {
	margin: 0 0 82px 0;
	border: none !important;
	position: relative !important;
	width: 100% !important;
	height: auto !important;
	padding: 0!important;
	top: 100px !important;
	left: auto !important;
	right: auto !important;
	border: auto !important;
}
.concept main .sec01 .consept_wrap div::before {
	content: " ";
	width: 100vw;
	height: 160px;
	display: block;
	position: absolute;
	background-image: url(../img/concept/pict_01.png);
	background-size: cover;
	background-position: 50%;
	left: -24px;
	top: -100px;
	z-index: -5;
}
.concept main .sec01 .consept_wrap .block01 {
	z-index: 15;
}
.concept main .sec01 .consept_wrap .block02 {
	z-index: 10;
}
.concept main .sec01 .consept_wrap .block01::before {
	background-image: url(../img/concept/pict_01.png);
}
.concept main .sec01 .consept_wrap .block02::before {
	background-image: url(../img/concept/pict_02.png);
}
.concept main .sec01 .consept_wrap div .inner {
	padding: 38px 33px;
	display: block;
	background-color: #ffffff;
	border: #cccccc solid 1px;
	position: relative;
	z-index: 10;
}
.concept main .sec01 .consept_wrap h5 {
	font-size: 16px;
	line-height: 26px;
	margin: 0 0 24px 0;
	letter-spacing: 0;
}
.concept main .sec01 .consept_wrap p {
	font-size: 13px;
	line-height: 22px;
}
.concept main .sec02 {
	padding: 0 0 120px 0;
}
.concept main .sec02 .dekirukoto_wrap {
	padding: 30px 24px 0px;
}
.concept main .sec02 .dekirukoto_wrap ul li {
	width: 100%;
	height: auto;
	margin: 0 0 25px 0;
}
.concept main .sec02 .for_contact {
	width: 100%;
	box-sizing: border-box;
	padding: 25px 24px 0;
}
.concept main .sec02 .for_contact p {
	font-size: 15px;
	line-height: 26px;
	margin: 0 0 30px 0;
}
.concept main .sec02 .for_contact a {
	width: 100%;
}
/*== about ==*/
.about main {
	padding-bottom: 90px;
}
.about .layout_width600 {
	float: none;
	width: 100%;
}
.about .sec01, .about .sec02, .about .sec03 {
	padding-bottom: 30px;
}
.about .midashi_area {
	margin-bottom: 30px;
}
.about .sec01 strong {
	margin-bottom: 20px;
	/*font-size: 24px;*/
	font-size: 20px;
	letter-spacing: 1px;
}
.about .sec02 .layout_width1000 {
	text-align: center;
}
.about .sec02 .midashi_area {
	text-align: left;
}
.about .sec02 img {
	float: none;
	width: 160px;
	margin: 0 0 15px;
}
.about .sec02 p {
	text-align: left;
}
.about .sec03 .midashi_area {
	margin-bottom: 34px;
}
.about .sec03 table tr th {
	width: 5.5em;
}
.about .sec03 table tr td {
	padding: 15px;
}
#office_map {
	height: 200px;
}
/*== contact ==*/
.contact_wrap {
	padding-top: 30px;
	padding-bottom: 140px;
}
.contact_inner {
	width: 100%;
}
.contact_wrap .read {
	margin-bottom: 40px;
	font-size: 12px;
	line-height: 2;
}
.contact_wrap .read strong {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 15px;
}
.contact_wrap .address_cont, .contact_wrap .contact_cont {
	width: 100%;
}
.contact_wrap .address_cont {
	margin-bottom: 40px;
}
.contact_wrap .address_cont ul {
	margin-top: 0;
}
.contact_wrap .contact_cont select, .contact_wrap .contact_cont input[type="text"], .contact_wrap .contact_cont input[type="tel"], .contact_wrap .contact_cont textarea {
	font-size: 16px;
}
.contact_wrap .mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0;
}
.contact_wrap .agree {
	margin-bottom: 10px;
	text-align: left;
	vertical-align: top;
}
.contact_wrap .agree label {
	/*top: 8px;*/
	top: 4px;
	vertical-align: top;
	position: absolute;
}
.contact_wrap .agree p {
	margin-top: 0;
	margin-left: 25px;
	line-height: 1.7;
}
.contact_wrap .submit_area button {
	width: 100%;
}
.contact_wrap.confirm, .contact_wrap.complete {
	padding-top: 40px;
}
.contact_wrap.confirm .submit_area {
	margin-top: 20px;
}
.contact_wrap.complete .address_cont {
	margin-bottom: 0;
}
/*== privacy ==*/
.privacy_wrap {
	padding-top: 30px;
	padding-bottom: 130px;
}
.privacy_wrap .layout_width600 {
	float: none;
	width: 100%;
}
.privacy_cont {
	padding-top: 22px;
}
.privacy_wrap h4 {
	float: none;
	margin: 15px 0;
	letter-spacing: 1px;
	line-height: 1.5;
}
.privacy_cont ul {
	margin-top: 20px;
}
/*== sitemap ==*/
.sitemap_wrap {
	width: 100%;
	padding-top: 30px;
	padding-bottom: 130px;
	background: none;
}
.sitemap_cont {
	float: none;
}
}
/*IEだけに適応するスタイル*/

/*IE10*/
@media all and (-ms-high-contrast:none) {
.top main .sec03 .inner::before, .top main .sec03 .inner::after {
	top: -42px;
}
.top main .sec03 .inner::before {
	top: -42px;
	left: calc( (1000px /3 ) + 86px);
}
.top main .sec03 .inner::after {
	top: -42px;
	right: calc( (1000px /3 ) - 114px);
}
}
/*IE11*/
@media all and (-ms-high-contrast:none) {
 *::-ms-backdrop, .top main .sec03 .inner::before, .top main .sec03 .inner::after {
top:-42px;
}
 *::-ms-backdrop, .top main .sec03 .inner::before {
 top:-42px;
 left:calc( (1000px /3 ) + 86px);
}
 *::-ms-backdrop, .top main .sec03 .inner::after {
 top:-42px;
 right:calc( (1000px /3 ) - 114px);
}
}
/*EDGE*/
_:-ms-lang(x), _::-webkit-meter-bar, .top main .sec03 .inner::before, .top main .sec03 .inner::after {
top:-42px;
}
_:-ms-lang(x), _::-webkit-meter-bar,.top main .sec03 .inner::before {
 top:-42px;
 left:calc( (1000px /3 ) + 86px);
}
_:-ms-lang(x), _::-webkit-meter-bar,.top main .sec03 .inner::after {
 top:-42px;
 right:calc( (1000px /3 ) - 114px);
}
/*IEだけに適応するスタイルここまで*/
