/*
Theme Name: LUMINOIR v2
Theme URI: https://luminoir.net
Description: LUMINOIR
Version: 1.0
Author: LUMINOIR
Author URI: https://luminoir.net
*/

@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
	background-position: center center;
	box-sizing: border-box;
	outline: none;
}

html {
	-webkit-text-size-adjust: 100%;
	height: 100%;
	width: 100%;
	font-size: 62.5%;
}

@media screen and (max-width:1340px) {
	html {
		font-size: 56.25%;
	}
}

@media screen and (min-width:1700px) {
	html {
		font-size: 68.75%;
	}
}


body {
	position: relative;
	font-family: 'dnp-shuei-gothic-gin-std', sans-serif;
	font-weight: 500;
	color: #333;
	font-size: 1.6rem;
	line-height: 1.75;
	margin: auto;
	text-align: left;
	letter-spacing: 0.04em;
	background: #fff;
	height: 100%;
	width: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

li {
	list-style: none;
}


/*基本パーツ*/

p {
	text-align: justify;
	line-height: 2.0;
	letter-spacing: 0.04em;

}

.en {
	font-weight: bold;

}

.en_w {
	letter-spacing: 0.12em;
}

img {
	width: 100%;
	height: auto;
	border: 0;
	vertical-align: top;
}

*::selection {
	background: #333;
	color: #fff;
}

h1, h2, h3, h4, .about .lead, th, .en {
	line-height: 1.5;
	font-size: 100%;
	font-family: 'din-2014','dnp-shuei-gothic-gin-std', sans-serif;
	font-weight: 600;

}

table {
	border-collapse: collapse;
}


.sp_only {
	display: none;
}

.pc_only {
	display: block;
}

/*テーブル*/

.table_standard {
	width: 100%;
}

.table_standard th,
.table_standard td {
	padding: 20px 0 30px 0;
	font-size: 1.4rem;
	vertical-align: text-top;
}

.table_standard th {
	border-top: 1px solid #a3a8b2;
}

.table_standard td {
	border-top: 1px solid #eee;
}


/*リンク*/

a {
	text-decoration: none;
	color: #333;
	transition: 0.2s ease-in-out;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
/* 	color: #888; */
}

a.child:hover {
	color: inherit;
}

a img {
	transition: 0.6s ease-in-out;
}

a:hover img {
	
}

p a {
	text-decoration: underline;
}

.fade {
	transition: 0.6s ease-in-out;
	opacity: 0;
}

.fade.show {
	opacity: 1;
}

.fade_ph {
	overflow: hidden;
	
}

.fade_ph img {
	transition: 1.0s cubic-bezier(.53,-0.01,.39,1);
	filter: brightness(50%);
	transform: scale(120%);
	opacity: 0;
	transform-origin: center center;
}

.fade_ph.show img {
	filter: brightness(100%);
	transform: scale(100%);
	opacity: 1;
}

/*文字詰め*/

.kern01 {
	letter-spacing: 0.1em;
}

.kern02 {
	letter-spacing: 0.2em;
}

.kern03 {
	letter-spacing: 0.3em;
}

.kern04 {
	letter-spacing: 0.4em;
}

.kern05 {
	letter-spacing: 0.5em;
}

.kern-005 {
	letter-spacing: -0.05em;
}

.kern-01 {
	letter-spacing: -0.1em;
}

.kern-02 {
	letter-spacing: -0.2em;
}

.kern-03 {
	letter-spacing: -0.3em;
}

.kern-04 {
	letter-spacing: -0.4em;
}

.kern-05 {
	letter-spacing: -0.5em;
}


/*見出し*/

.st_standard {
	font-size: 2.8rem;
	margin-bottom: 100px;
	
}

.st_standard.en {
	font-size: 3.2rem;

}

.fade_st {
	height: 1.5em;
	overflow: hidden;
}

.fade_st.en span {
	display: inline-block;
	transform: translateY(1.5em);
	transition: 0.6s cubic-bezier(.53,-0.01,.39,1);
}

.fade_st.en span.show {
	transform: translateY(0);
}

.sst_standard {
	font-size: 2.0rem;
	margin-bottom: 80px;
}

.st_standard_right {
	text-align: right;
}

.st_standard_center {
	text-align: center;
}

/*リンク*/

.btn {
	font-size: 1.4rem;
	display: inline-block;
	line-height: 1.75;
	padding: 20px 40px;
	text-align: center;
	transition: 0.6s ease-in-out;
}

.btn .bar {
	display: block;
	width: 100%;
	height: 2px;
	position: relative;
	overflow: hidden;
}

.btn .bar:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #333;
	position: absolute;
	left: 0;
	top: 0;	animation: btn 1.4s  infinite;
}

.btn:hover {
	letter-spacing: 0.4em;
}

@keyframes btn {
	0% {left: 0%; width: 100%;}
	30% {left: 100%; width: 100%;}
	31% {left: 100%; width: 0%;}
	32% {left: -100%; width: 0%;}
	33% {left: -100%; width: 100%;}
	100% {left: 0%; width: 100%;}
}

.post-type-archive-gallery .btn {
	position: relative;

}

.arrow {
	display: inline-block;
	font-size: 1.4rem;
	margin-left: 20px;

	
}

.arrow:first-child {
	margin-left: 0;
}

.arrow span {
	display: inline-block;
	position: relative;
	padding-right: 22px;
}

.arrow span:after {
	content: url(images/arrow_right.svg);
	display: inline-block;
	width: 13px;
	height: 13px;
	position: absolute;
	right: 0.2em;
	top: 0.15em;
	transition: 0.2s ease-in-out;
}

.arrow.blank span:after {
	content: url(images/blank.svg);
}

a:hover .arrow span:after,
.arrow span:hover:after {
	right: 0;
}

.arrow.blank span:hover:after {
	right: 0.2em;
	top: 0;
}

.arrow:hover {
	opacity: 0.5;
}

/*Google map*/

.gmap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.gmap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}


/*--------------------------------------
	
	bg movie
	
--------------------------------------*/

#bg_movie{
    position: fixed;/*h1の中央寄せ配置の起点とするためのrelative*/
    top: 0;
    left: 0;
    height: 100vh;/*高さを全画面にあわせる*/
    
} 



#video-area{
    position: fixed;
    z-index: -1;/*最背面に設定*/
    top: 0;
    right:0;
	left: 0;
    bottom:0;
    overflow: hidden;
    transition: 2.8s ease-in-out;

}

.home #video-area {
    filter: brightness(200%);
}

.home #bg_movie.show #video-area {
    filter: brightness(100%);
}

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}

.front {
	position: relative;
	z-index: 10;
	height: 100%;
}

/*--------------------------------------
	
	loading
	
--------------------------------------*/

.loading {
	width: 100%;
	height: 100%;
	background: #e3e5ea;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 50;

	transition: 1.2s ease-in-out;
	pointer-events: none;

}

.loading.hide {

	height: 0;
}

.loading .load_logo {
	height: 24px;
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -12px;
	margin-left: -48px;

}

.loading .load_logo .type {
	display: inline-block;
	height: 100%;
	margin-right: 5px;

	overflow: hidden;
}

.loading .load_logo .type img {
	height: 100%;
	width: auto;

	transition: 0.6s cubic-bezier(.53,-0.01,.39,1);
	transform: translateY(24px);
}

.loading .load_logo .type:first-child {
	margin-right: 4px;
}

.loading .load_logo .type.ready img {
	transform: translateY(0);
	filter: brightness(100%);
}

.loading .load_logo .type.end img {
	transform: translateY(-24px);
}

/*--------------------------------------
	
	key
	
--------------------------------------*/

.key {
	width: 100%;
	height: 100%;
	position: absolute;
	pointer-events: none;
}

.home .key {
	opacity: 0;
	position: relative;
	transition: 0.4s ease-in-out;
}

.home .key.load {
	opacity: 1;
}

.key .copy {
	font-size: 1.4rem;
	right: 60px;
	top: 60px;
}

.key .copy,
.scroll,
.pagetop {
	position: fixed;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #a3a8b2;
}

.scroll,
.pagetop {
	font-size: 1.0rem;
	text-align: center;
	left: 70px;
	bottom: 60px;
	transition: 0.4s ease-in-out;
	opacity: 1;
}


.scroll {
	display: none;
}

.home .scroll,
.tax-gallerycate .scroll {
	display: block;
	opacity: 0;
}

.home .scroll.load,
.tax-gallerycate .scroll.load {
	opacity: 1;
}

.tax-gallerycate .scroll {
	z-index: 500;
/*
	bottom: auto;
	top: 39vw;
*/
	filter: brightness(1000%);
	opacity: 0.7 !important;
/* 	position: absolute; */
}

.tax-gallerycate .scroll.load.op {
	opacity: 0 !important;
}

.tax-gallerycate .pagetop {
	filter: brightness(1000%);
}

.tax-gallerycate .pagetop.show {
	opacity: 0.7;
}

.pagetop {
	bottom: 70px;
	z-index: 20;
}

.scroll.load.hide,
.pagetop.hide {
	opacity: 0;
}

.pagetop {
	opacity: 0;
}

.pagetop.show {
	opacity: 1;
}

.scroll span,
.pagetop span {
	position: relative;
	display: inline-block;
	width: 1px;
	height: 120px;
	overflow: hidden;
	margin: 10px auto 10px auto;
}

.scroll span:after,
.pagetop span:after {
	content: '';
	width: 100%;
	height: 100%;
	display: block;
	background: #a3a8b2;
	position: absolute;
	top: 0;
	left: 0;

}


.scroll span:after {
	animation: scroll 2.0s  infinite;
}

.pagetop span:after {
	animation: pagetop 2.0s  infinite;
}


@keyframes scroll {
	0% {top: -100%;}
	70% {top: 0;}
	100% {top: 100%;}
}

@keyframes pagetop {
	0% {top: 100%;}
	70% {top: 0;}
	100% {top: -100%;}
}

/*--------------------------------------
	
	header
	
--------------------------------------*/

header .logo {
	position: fixed;
	left: 80px;
	top: 80px;
	width: 115px;
	z-index: 5;
}

.home header .logo {
	position: fixed;
	top: 33%;
	left: 8.3%;
	margin-top: -2.3vw;

	opacity: 1;
/* 	transition: 2.0s; */
	z-index: 0;



}

.home header .logo.show {
	width: 24vw;
}

.home header .logo img {
	width: 24vw;
}



header .logo {
	width: 0;
	opacity: 1;
	transition: 1.0s ease-in-out;
	overflow: hidden;

}

header .logo.show {
	width: 115px;
}

header .logo img {
	width: 115px;
}





.home header .logo.auto img {
	width: 100%;
}

.home header .logo.auto {
	transition: 0s;
}

.home header .logomove.logo {
/*
	position: absolute;
	top: 1830px;
*/
/*  opacity: 0;  */
top: 6.2vw;
left: 4.2vw;
width: 8.7vw;
width: 6.8vw;
	z-index: 20;

}





header .navi {
	position: fixed;
	right: 80px;
	bottom: 60px;
	font-size: 1.4rem;
	z-index: 20;
}

.navi li {
	width: 0;
	overflow: hidden;
	transition: 0.6s ease-in-out;
	text-align: left;
}

.navi li.show {
	width: 100%;
}

header .navi li a.navi_a {
	display: inline-block;
	padding: 4px 0 0 0;
	margin-bottom: 4px;
	overflow: hidden;
	position: relative;
}

header .navi li a.navi_a:after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #333;
	position: absolute;
	bottom: 0;
	left: -100%;
	transition: 0.3s ease-in-out;
}

header .navi li a.navi_a:hover:after {
	left: 0;
}




/*--------------------------------------
	
	Flex
	
--------------------------------------*/

.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
}


.flex_start {
	justify-content: flex-start;
}

.flex_end {
	justify-content: flex-end;
}

.flex_center {
	justify-content: center;
}


.list_3::after{
  content:"";
  display: block;
  width:29.6%;
}

.list_4::before{
  content:"";
  display: block;
  width:20.8%;
  order:1;
}
.list_4::after{
  content:"";
  display: block;
  width:20.8%;
}


/*--------------------------------------
	
	Wide / layout
	
--------------------------------------*/


.wrapper {

	margin-left: auto;
	margin-right: auto;

}

.wide_standard {
	padding-left: 13.03vw;
	padding-right: 13.03vw;
}

.wide_standard_w {
	padding-left: 8.75vw;
	padding-right: 8.75vw;
}


.wide_1 {
	width: 8.75vw;
}

.wide_1_w {
	width: 13.03vw;
}

.wide_2 {
	width: 21.78vw;
}

.wide_2_w {
	width: 26.06vw;
}

.wide_3 {
	width: 34.81vw;
}

.wide_3_w {
	width: 39.09vw;
}

.wide_4 {
	width: 47.84vw;
}

.wide_4_w {
	width: 52.12vw;
}

.wide_4_ww {
	width: 56.36vw;
}

.wide_5 {
	width: 60.87vw;
}

.wide_5_w {
	width: 65.15vw;
}

.wide_6 {
	width: 73.90vw;
}

.wide_6_w {
	width: 78.18vw;
}

.wide_7 {
	width: 86.93vw;
}

.wide_7_w {
	width: 91.21vw;
}

.wide_8 {
	width: 99.96vw;
}


/*
@media screen and (min-width:1800px) {
.wide_standard {
	padding-left: 13.03%;
	padding-right: 13.03%;
}

.wide_standard_w {
	padding-left: 8.75%;
	padding-right: 8.75%;
}


.wide_1 {
	width: 8.75%;
}

.wide_1_w {
	width: 13.03%;
}

.wide_2 {
	width: 21.78%;
}

.wide_2_w {
	width: 26.06%;
}

.wide_3 {
	width: 34.81%;
}

.wide_3_w {
	width: 39.09%;
}

.wide_4 {
	width: 47.84%;
}

.wide_4_w {
	width: 52.12%;
}

.wide_5 {
	width: 60.87%;
}

.wide_5_w {
	width: 65.15%;
}

.wide_6 {
	width: 73.90%;
}

.wide_6_w {
	width: 78.18%;
}

.wide_7 {
	width: 86.93%;
}

.wide_7_w {
	width: 91.21%;
}

.wide_8 {
	width: 99.96%;
}
}
*/


/*--------------------------------------
	
	margin
	
--------------------------------------*/

.mb_-1em {
	margin-bottom: -1.75em;
}

.mb_240 {
	margin-bottom: 240px;
}

.mb_200 {
	margin-bottom: 200px;
}

.mb_180 {
	margin-bottom: 180px;
}

.mb_160 {
	margin-bottom: 160px;
}

.mb_120 {
	margin-bottom: 120px;
}

.mb_100 {
	margin-bottom: 100px;
}

.mb_80 {
	margin-bottom: 80px;
}


.mb_60 {
	margin-bottom: 60px;
}

.mb_40 {
	margin-bottom: 40px;
}

.mb_20 {
	margin-bottom: 20px;
}


/*--------------------------------------
	
	footer
	
--------------------------------------*/

footer {
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;

}

.tax-gallerycate footer,
.post-type-archive-gallery footer {
	height: 30vh;
}

footer .cvn {
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	background: rgba(163,168,178,0.5);
	transition: 1.2s ease-in-out;

}

footer.show .cvn {
	width: 100%;
	height: 100vh;
}

footer .cvn .btn {
	filter: brightness(500%);
	transform: scale(1.5);
	opacity: 0;
}

footer.show .cvn .btn {
	opacity: 1;
	transform: scale(1.0);
}


/*--------------------------------------
	
	content
	
--------------------------------------*/

.about {
	padding-top: 100px;
}

.about .lead p {
	font-size: 1.8rem;
	line-height: 2.5;
	margin-bottom: 30px;
}

.about .lead p .line {
	display: inline-block;
	opacity: 0;
	transform: translateY(40px);
	transition: 0.8s cubic-bezier(.53,-0.01,.39,1);
}

.about .lead p .line.show {
	opacity: 1;
	transform: translateY(0);
}

.about table {
	font-size: 1.2rem;
}

.about table th,
.about table td {
	padding: 3px 0;
	vertical-align: text-top;
}

.about table th {
	width: 7em;
}

.about table td {
	padding-right: 40px;
}

.member .ph {
	position: relative;
	z-index: 25;
}

.home .works {
	padding-top: 100px;
}

.works .unit .text .sub {
	font-size: 1.2rem;
	letter-spacing: 0.01em;
}

.works .unit .thumb {
	position: relative;
}

.works .unit .thumb .link {
	width: 100%;
	text-align: center;
	position: absolute;
	top: 14.6vw;
	left: 0;
	opacity: 0;
	transition: 0.8s ease-in-out;
	
}

.works .unit .thumb img {
	transition: 0.8s ease-in-out;
}

.works .unit .thumb:hover img {
	filter: brightness(50%);
}

.works .unit .thumb:hover .link {
	opacity: 1;
}

.works .unit .thumb .link .arrow {
	color: #fff;
}

.works .unit .thumb .link .arrow span:after {
	content: url(images/arrow_right_white.svg);
}

.works .unit .thumb .link .blank span:after {
	content: url(images/blank_white.svg);
}

.home .gallery {
	padding-top: 100px;
}

.gallery_list .child {
	width: 29.46%;
}

.gallery_list .child li img {
	margin: 0 0 20px 0;
/* 	filter: saturate(0%); */
}

/*
.gallery_list .child:hover li img {
	filter: saturate(100%);
}
*/

.gallery_list .child a.img img {
	transition: 0.8s ease-in-out;
}

.gallery_list .child a:hover .img img {
	filter: brightness(50%);
}

.gallery_list .child .sst {
	font-size: 1.6rem;
    line-height: 1.2;
}


.home .gallery a .img {
	margin-bottom: 20px;
}

.home .gallery a .img img {
	saturate(0%);
}


.home .gallery a:hover .img img {
	saturate(100%);
}



.recruit .unit .title {
	font-size: 2.0rem;
}

.recruit .unit .title .no {
	font-size: 2.4rem;
	display: block;
}



/*--------------------------------------
	
	下層テンプレート
	
--------------------------------------*/


.page_title {
	text-align: center;
	padding: 220px 0 200px 0;
	font-size: 3.2rem;
}

.page_title_mid {
	padding-top: 100px;
}

.post_title .title {
	font-size: 2.4rem;
	display: block;
}

.post_title .roll {
	font-size: 1.2rem;
	display: block;
}

.post_title .arrow {
	display: block;
}

.credit {
	font-size: 1.2rem;
	line-height: 1.75;
}

.blog_list {
	border-top: 1px solid #333;
}

.blog_list .post_title a {
	transition: 0.6s ease-in-out;
}

.blog_list .post_title a:hover {
	opacity: 0.5;
}

.blog_list .post_title {
	border-bottom: 1px solid #333;
}

.blog_list .post_title a {
	display: block;
	padding: 80px 0;
}


.single-blog .post_body_tpl p {
	margin-bottom: 30px;
}


.post_body_tpl p {
	margin-bottom: 70px;
}

.post_body_tpl h2 {
	font-size: 2.2rem;
	margin-bottom: 70px;
	line-height: 1.75;
}

.post_body_tpl h3 {
	font-size: 1.6rem;
	margin-bottom: 40px;
	line-height: 1.75;
}

.post_body_tpl figure {
	margin-bottom: 70px;
}





























/*----------------------------------------------------------------------------------

	contact

----------------------------------------------------------------------------------*/




.form {
	margin: 0 auto;
}

.mw_wp_form {
	margin-bottom: 100px;
}

.mw_wp_form mw_wp_form_input p {
	text-align: center;
}

ul.myform {
	margin-bottom: 55px;
	background-size: 25px auto;
}

ul.myform li {

	background-size: 25px auto;

	padding: 25px 0;
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
	align-items: flex-start;
}

.page-template-page-confirm ul.myform li {
	border-bottom: 1px solid #a3a8b2;
}

.page-template-page-confirm ul.myform li:last-child {
	border-bottom: none;
}

ul.myform li:first-child {
	padding-top: 0;
}

ul.myform li span {
	display: inline-block;
	vertical-align: top;
}

ul.myform li span.title {
	font-size: 1.6rem;
	width: 30%;
	padding: 4px 20px 4px 0;
	display: flex;
	justify-content: space-between;
}

ul.myform li span.title .icon {
	font-size: 1.1rem;
	color: #fff;
	display: inline-block;
	padding: 3px 4px 3px 4px;
	line-height: 1;
	background: #333;
	border-radius: 2px;
	margin: 0 0 0 2px;
	vertical-align: baseline;
	align-self: center;
}



ul.myform li span.form {
	width: 70%;
}

ul.myform li span.error {
	display: block;
	margin: 5px 0 0 0;
}

.confirm ul.myform li span.title {
	padding: 0;
}



.contact_input {
	background: #fff;
	border: none;
	font-size: 16px;
	padding: 7px;
	width: 70%;
/*	border-radius: 4px;*/
}

.form_content {
	width: 100%;
	display: block;
}

input.type {
	width: 15px;
	height: 15px;
	vertical-align: middle;
}

.mwform-radio-field-text {
	vertical-align: middle;
}

.mwform-radio-field {
	padding: 8px 0;
	font-size: 1.6rem;
}

.submit_area {
	text-align: center;
}

.submit {
	background: #333;
	color: #fff;
	font-size: 16px;
	width: 320px;
	padding: 20px;
	margin: 0 auto;
	border: none;
	cursor: pointer;

	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;

}

.submit:hover {
	background: #777;

	color: #fff;
}




.contact_back {
	background: #333;
	color: #fff;
	font-size: 16px;
	width: 200px;
	padding: 20px;
	margin: 0 auto;
	border: none;
	cursor: pointer;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	margin: 0 20px;

}

.contact_back:hover {
	background: #333;

	color: #fff;
}



.contact_message {
	border: 1px solid #333;
	padding: 30px;
	text-align: center;
}


.mw_wp_form .horizontal-item + .horizontal-item {
	margin: 0 0 0 0 !important;
}

.mwform-checkbox-field {
	min-width: 48%;
	padding: 5px 0 10px 0;
	font-size: 1.6rem;
}

.mwform-checkbox-field input {
	border: none;
	width: 15px;
	height: 15px;
}

.mw_wp_form select {
	border: 1px solid #fff;
	border-right: 14px solid #fff;
	padding: 10px;
	width: 70%;
/*	border-radius: 4px;*/
}

.page-template-page-complete p.lead {
	text-align: center;
}


/*----------------------------------------------------------------------------------

	pagenavi

----------------------------------------------------------------------------------*/

.wp-pagenavi_area {
	text-align: center;
	width: 100%;
	margin-top: 60px;
}

.wp-pagenavi {
	margin: 20px auto 0 auto;
}

.wp-pagenavi span,
.wp-pagenavi a {
	display: inline-block;
	padding: 4px 14px;
	background: #333;
	border: 1px solid #333 !important;
	color: #fff;

	margin: 0 5px !important;

}

.wp-pagenavi a:hover {
	border: none;
	border: 1px solid #fff !important;
	background: #fff;
	color: #333;
}

.wp-pagenavi span.current {
	border: none;
	border: 1px solid #fff !important;
	background: #fff;
	color: #333;
	font-weight: normal;
}

.wp-pagenavi span.pages {
	font-size: 75%;
	background: none;
	color: #444;
	display: block;
	margin: 0 0 20px 0 !important;
	border: none !important;
}

.wp-pagenavi a, .wp-pagenavi span {

	padding: 5px 15px !important;
}

.wp-pagenavi span.extend {
	display: none;
}

.wp-pagenavi span.extend {
	display: none;
}



/*------------------------------------------------------------------------------------------------------------------------------------

	スマホここから
	
------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width:768px){

html {
	font-size: 62.5%;
	width: 100%;
}

body {
	font-size: 1.4rem;
}

body, html {
	min-width: 100%;
	height: 100%;
}

p {
	font-size: 1.4rem;
	text-align: left;
}

h1,h2,h3,h4 {

}

.sp_only {
	display: block;
}

.pc_only {
	display: none;
}

.gmap {
	padding-top: 150%;
}

/*見出し*/

.st_standard {
	font-size: 2.4rem;
	margin-bottom: 11vw;
}

.st_standard.en {
	font-size: 2.8rem;
}

.sst_standard {
	font-size: 1.8rem;
	margin-bottom: 8vw;
}

.st_standard_right {
	text-align: left;
}

.st_standard_center {
	text-align: left;
}

/*テーブル*/



.table_standard th,
.table_standard td {
	padding: 4vw 0 6vw 0;
	font-size: 1.2rem;
}

.table_standard th {
	width: 7em;
	border-top: 0.6px solid #a3a8b2;
}

.table_standard td {

	border-top: 0.6px solid #fff;
}

/*--------------------------------------
	
	header
	
--------------------------------------*/

header .logo {
	position: absolute;
	left: 6vw;
	top: 6vw;

}

.home header .logo {
	position: absolute;
	top: 30vh;
	left: 10vw;
	margin-top: -4vh;

	width: 0;
	opacity: 1;
/* 	transition: 2.0s; */
	z-index: 0;

	transition: 1.0s ease-in-out;
	overflow: hidden;

}

/*
.home header .logo.sp_move {
	position: absolute;
	top: 90vh;
}
*/

.home header .logo.show {
	width: 50vw;
}

.home header .logo img {
	width: 50vw;
}

header .logo.show {
	width: 60px;
}

header .logo img {
	width: 60px;
}




.home header .logomove.logo {

/*
top: 6.2vw;
left: 4.2vw;
width: 8.7vw;
width: 6.8vw;
*/


}








/*--------------------------------------
	
	header
	
--------------------------------------*/


.toggle {
	display: block ;
	position: fixed;
	z-index: 300;
	bottom: 15px;
	right: 15px;
	width: 60px;
	height: 60px;
	transition: 0.3s ease-in-out;
	opacity: 1;
}

.toggle.fix {
	opacity: 1;
}

.toggle span {
	display: block;
	position: absolute;
	background: #333;
	transition: 0.3s ease-in-out;
	width: 30px;
	height: 2px;
	left: 15px;
}

.toggle span:first-child {
	top: 22px;

}

.toggle span:nth-child(2) {
	top: 32px;
}

.toggle.active span:first-child {
	transform: rotate(30deg);
	top: 28px;
}

.toggle.active span:nth-child(2),
.toggle.active span:nth-child(3) {
	transform: rotate(-30deg);
	top: 28px;
}

header .navi,
header .navi_sub {
	padding: 0;
	position: relative;
	z-index: 300;
}



header.normal #menu:before {
	opacity: 1;
}

/*
#menu:after {
	content: '';
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.7);
	pointer-events: none;
	transition: 0.4s;
	opacity: 0;
	z-index: 150;
}
*/

#menu {
	background: #bfc3cd;
	position: fixed;
	top: 0;
	right: -60%;
/* 	opacity: 0; */
	width: 60%;
	height: 100%;
	z-index: 200;
	transition: 0.4s ease-in-out;
	pointer-events: none;
	padding: 0;
	display: flex;
	align-content: flex-end;
	align-items: flex-end;
	justify-content: flex-end;
	flex-direction: column;
}

header.normal #menu {
	right: 0;
	pointer-events: auto;
}

header.normal #menu:after {
	pointer-events: auto;
	opacity: 0.5;
}

header .navi{
	width: 100%;
	position: static;
	text-align: left;
	
}




header .navi {
	font-size: 1.3rem;
	height: auto;
	margin-bottom: 5vw;
}

header .navi ul {
	display: block;

	width: 100%;
	height: 100%;
	position: relative;

}

header .navi ul li {
	width: 100%;
	display: block;
	margin-bottom: 0;
}



header .navi li a.navi_a {
	width: 100%;
	display: block;
	padding: 14px 34px;
	margin: 0;
/* 	text-align: right; */
	
}

header .navi li a.navi_a:after {
	content: none;
}




/*--------------------------------------
	
	key
	
--------------------------------------*/



.key .copy {
	font-size: 1.2rem;
	right: 4vw;
	top: 6vw;
	position: absolute;
	display: none;
}

.home .key .copy {
	display: block;
}

.scroll,
.pagetop {
	left: 3vw;
	bottom: 3vw;
}

.pagetop {
	padding-bottom: 10px;
}

.scroll span,
.pagetop span {
	height: 60px;
	width: 0.6px;
}



.scroll span:after {
	animation: scroll 1.0s  infinite;
}

.pagetop span:after {
	animation: pagetop 1.0s  infinite;
}

.pagetop.show {
	opacity: 0;
	pointer-events: none;
}

.pagetop.sp_show {
	opacity: 1;
	pointer-events: auto;
}


/*--------------------------------------
	
	Wide / layout
	
--------------------------------------*/


.wrapper {

	margin-left: auto;
	margin-right: auto;

}

.wide_standard,
.wide_standard_sp {
	padding-left: 6vw;
	padding-right: 6vw;
}

.wide_standard_w {
	padding-left: 0;
	padding-right: 0;
}


.wide_1 {
	width: 44%;
}

.wide_1_w {
	width: 44%;
}

.wide_2 {
	width: 100%;
}

.wide_2_w {
	width: 100%;
}

.wide_3 {
	width: 100%;
}

.wide_3_w {
	width: 100%;
}

.wide_4 {
	width: 100%;
}

.wide_4_w {
	width: 100%;
}

.wide_4_ww {
	width: 100%;
}

.wide_5 {
	width: 100%;
}

.wide_5_w {
	width: 100%;
}

.wide_6 {
	width: 100%;
}

.wide_6_w {
	width: 100%;
}

.wide_7 {
	width: 100%;
}

.wide_7_w {
	width: 100%;
}

.wide_8 {
	width: 100%;
}




/*--------------------------------------
	
	margin
	
--------------------------------------*/

.mb_240 {
	margin-bottom: 18vw;
}

.mb_200 {
	margin-bottom: 17vw;
}

.mb_180 {
	margin-bottom: 16vw;
}

.mb_160 {
	margin-bottom: 15vw;
}

.mb_120 {
	margin-bottom: 14vw;
}

.mb_100 {
	margin-bottom: 12vw;
}

.mb_80 {
	margin-bottom: 10vw;
}


.mb_60 {
	margin-bottom: 8vw;
}

.mb_40 {
	margin-bottom: 6vw;
}

.mb_20 {
	margin-bottom: 4vw;
}

.mb_160_sp {
	margin-bottom: 15vw;
}


/*--------------------------------------
	
	content
	
--------------------------------------*/

.about {
	padding-left: 10vw;
	padding-right: 10vw;
	padding-top: 0;
	
}



.about .lead p {
	font-size: 1.6rem;
	margin-bottom: 4vw;
	line-height: 2.2;
	text-align: justify;
}

.about .lead p .line {
	display: inline;
	opacity: 1;
	transform: translateY(0);
}


.about .lead p br {
	display: none;
}

.about table {
	font-size: 1.2rem;
}



.about table th,
.about table td {
	padding: 6px 0;
	vertical-align:text-top;

}

.about table th {
	width: 6.5em;
}

.about table td {
	padding-right: 0;
}

.member {
	padding-bottom: 8vw;
	margin-bottom: 16vw;
	border-bottom: solid #fff 0.6px;
}

.home .member .wide_1_w {
	width: 100%;
}

.home .works {
	padding-top: 0;
}

.works .unit {
	flex-direction: column-reverse;
}


.works .unit .text {
	width: 100%;
	margin-top: 8vw;
}

.works .unit .text .title {
	margin-bottom: 2vw;
}

.works .unit .text .sub {
	margin-bottom: 7.5vw;
}


.works .unit .text .link {
	display: flex;
	border-top: 0.6px solid #fff;
	border-bottom: 0.6px solid #fff;
}

.works .unit .text .link a {
	width: 50%;
	padding-top: 4vw;
	padding-bottom: 4vw;
	text-align: center;
	margin-left: 0;
}

.works .unit .text .link a:first-child {
	border-right: 0.6px solid #fff;
}



.works .unit .thumb .link {
	display: none;	
}

.home .gallery {
	padding-top: 16vw;
	border-top: 0.6px solid #fff;
	margin-top: 12vw;
}


.home .gallery a .img {
	margin-bottom: 20px;
}

.home .gallery a .img {
	margin-bottom: 3vw;

}

.home .gallery a {
	display: block;
	margin-bottom: 8vw;
	padding: 0 6vw;
}


.recruit .unit {
	width: 100%;
	margin-bottom: 12vw;
	padding-left: 14vw;
	position: relative;
}

.recruit .unit .title {
	font-size: 1.8rem;
}

.recruit .unit .title .no {
	font-size: 2.0rem;
	position: absolute;
	left: 0;
	top: 0;
}

.gallery_list .child {
	width: 100%;
	margin-bottom: 8vw;
}
.gallery_list .child .img {
	margin: 0 0 4vw 0;
}
.gallery_list .child .sst {
	font-size: 1.3rem;
}

.recruit .mid img {
	width: 75%;
	margin-bottom: 15vw;
}

.recruit .job {
	margin-bottom: 15vw;
}



/*--------------------------------------
	
	下層テンプレート
	
--------------------------------------*/


.page_title {

	padding: 100px 0 90px 0;
	font-size: 2.8rem;
}

.page_title_mid {
	padding: 12vw 0;
}




.post_title .title {
	font-size: 2.0rem;
}







.blog_list_area {
	margin-bottom: 0;
}

.blog_list {
	margin-bottom: 0 !important;
	border-width: 0.6px;
}


.blog_list .post_title a {
	padding: 12vw 6vw;
}

.blog_list .post_title {
	border-width: 0.6px;
}

.blog_list .post_title:last-child {
	border-bottom: none;
}



.single-blog .post_body_tpl p {
	margin-bottom: 4vw;
}

.post_body_tpl p {
	margin-bottom: 9vw;
}

.post_body_tpl h2 {
	font-size: 1.8rem;
	margin-bottom: 9vw;
}

.post_body_tpl h3 {
	font-size: 1.5rem;
	margin-bottom: 5vw;
}

.post_body_tpl figure {
	margin-bottom: 9vw;
}




/*----------------------------------------------------------------------------------

	pagenavi

----------------------------------------------------------------------------------*/

.wp-pagenavi_area {
	margin: 40px 0 40px 0;
}

.wp-pagenavi {
	margin: 10px auto 30px auto;
}

.wp-pagenavi span,
.wp-pagenavi a {
	display: inline-block;
	padding: 6px 14px;
}



.wp-pagenavi span.pages {
	margin: 0 0 10px 0;
}

.wp-pagenavi a.last,
.wp-pagenavi a.first {
	display: none;
}





/*----------------------------------------------------------------------------------

	contact

----------------------------------------------------------------------------------*/



input[type="submit"],
input[type="button"],
input[type="email"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;

}




input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.contact_lead {
	margin: 20px 0 30px 0;
}


ul.myform {
	margin-bottom: 35px;
	padding-top: 10px;

}

ul.myform li {
	padding: 20px 0;
	display: block;
}

ul.myform li span {
	display: block;
}

ul.myform li span.mwform-checkbox-field {
	display: inline-block;
	min-width: 48%;
	font-size: 1.2rem;
}

ul.myform li span.mwform-checkbox-field-text {
	display: inline;
}

ul.myform li span.mwform-radio-field-text {
	display: inline-block
}



.page-template-page-confirm .mw_wp_form {
	margin-top: 0;
}

.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0 !important;
}

.mwform-checkbox-field input,
.mwform-radio-field input {
	border: 1px solid #d37457;
}

.mwform-radio-field {
	font-size: 1.4rem;
	padding: 0 0 10px 0;
}

.confirm ul.myform li span.title,
ul.myform li span.title {
	width: 100%;
	padding: 0 0 18px 0;
}

ul.myform li span.form {
	width: 100%;
}

ul.myform li span.title .icon {
	padding: 4px 3px 3px 3px;
}

.contact_input {
	font-size: 1.5rem;
	width: 100%;
}

.form_content {
	width: 100%;
	display: block;
}

.submit_area {
	text-align: center;
}

.submit {
	
	font-size: 1.5rem;
	width: 100%;
}

.submit,
.contact_back {

	font-size: 1.5rem;
	width: 100%;
	margin: 0 auto 30px auto;

}

.contact_back {
	background: #777;
	width: 60%;
	padding: 10px;
}


.mw_wp_form select {
	border: 1px solid #a19885;
	padding: 10px;
	background:  none;

	width: 100%;
	font-size: 1.3rem;
}


.page-template-page-complete p.lead {
	text-align: left;
}

}

