@charset "utf-8";
/* CSS Document */

html {
	scroll-behavior: smooth;
}
body {
	margin:0;
	padding:0;
	font-family: "Work Sans", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W1", "Hiragino Kaku Gothic ProN W1", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", "YuGothic", sans-serif;
	font-weight: 400;
	font-size: 14px;
}
a {
	color:#000;
	text-decoration: none;
}

::selection {
	background-color: #888888;
	color:#ffffff;
}
ul {
	padding:0;
	margin:0;
}
li {
	list-style: none;
}
h1,h2,h3,p {
	margin:0;
}
* {
	box-sizing: border-box;
}
.pc_none{
	display: none;
}
/*----------------------------
 トップページloading
----------------------------*/

#splash {
	position: fixed;
	top:0;left:0;
	width: 100%;
	height: 100%;
	z-index: 999;
	background:#efefef;
	text-align:center;
	color:#fff;
}
#splash_logo {
	position: absolute;
	top: 40%;left: 0;right:0;margin:auto;
}
#splash_logo svg {
	width:300px;	
	height: auto;
}
.fadeUp{
	animation-name: fadeUpAnime;
	animation-duration:.3s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes fadeUpAnime{
	from {opacity: 0;transform: translateY(10px);}
	to {opacity: 1;transform: translateY(0);}
}

/*----------------------------
 サブページloading
----------------------------*/

#splash_sub {
	position: fixed;
	z-index: 999;
	top:0;left:0;
	width: 100%;
	height: 100%;
	background:#efefef;
	text-align:center;
	color:#fff;
}
#splash_text {
	background-color:rgba(0,0,0,.1);
	position: absolute;
	top: 50%;
	left: 50%;
    z-index: 999;
	width: 30px;
	transform: translate(-50%, -50%);
	color: #fff;
}
/* IE11対策用バーの線の高さ */
#splash_text svg {
    height: 2px;
}

/*----------------------------
 swiper
----------------------------*/
.index_name{
	z-index: 2;
	margin: 0 auto 0 0;
	width: 40%;
	padding:2em;
	position: absolute;top:0;left:0;
	min-width: 460px;
	max-width: 580px;
	
	
}
.mv01 {
	position: relative;
}
.mv01:after {
	content:'';
	width:100%;
	height: 100%;
	position: absolute;
	top:0;left:0;
	z-index: 1;
	background: url("../images/dot.png");
	background-size: 3px;
	opacity: 0;
}
.mv01.mv01_hover:after {
	opacity: 1;
}
.mv01-logo {
	display: block;
	width:300px;
	height: auto;
	position: absolute;
	top:40%;
	left:0;right:0;margin:auto;
	z-index: 2;
}
.mv01 .swiper-fade .swiper-slide {
	-webkit-transition-property: opacity, -webkit-transform !important;
	transition-property: opacity, -webkit-transform !important;
	transition-property: opacity, transform !important;
	transition-property: opacity, transform, -webkit-transform !important;
	pointer-events: none;
}
.mv01 .swiper-fade .swiper-slide-active {
	pointer-events: auto;
}
.mv01 .swiper-slide {
	height: 100vh;
	position: relative;
	overflow: hidden;
}
.mv01 .swiper-slide img {
	transition: 1s;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.02);
	transform-origin: center;
}
.mv01.mv01_hover .swiper-slide img {
	transform: scale(1);
}
/*----------------------------
 mv_menu
----------------------------*/

.mv_menu_lists {
	position: absolute;
	bottom:0;left:0;right:0;
	margin:0 auto 1em;
	z-index: 2;
	width:95%;
	max-width: 1600px;
	border-top:1px solid rgba(255,255,255,.5);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	color:#fff;
}
.mv_menu_list {
	width:25%;
	text-align: center;
	color:#fff;
	transition: .1s;
}
.mv_menu_list:hover .mv_menu_list p{
	opacity: .5;
}
.mv_menu_list:nth-of-type(1),.mv_menu_list:nth-of-type(2),.mv_menu_list:nth-of-type(3) {
	border-right:1px solid rgba(255,255,255,.5);
}
.mv_menu_list_link {
	display: block;
	padding:35px 0 30px;
	color:#fff;
}

/*----------------------------
 pop up
----------------------------*/
.open {
	display: block;
	margin:0;
	cursor:pointer;
}
.mv_menu_list .open {
	padding:25px 0;
}
.archive_menu_list .open {
	padding:17px 0;
}
#pop-up {
	display: none;
}
.overlay {
	/*display: none;*/
	display: block;
	transform: translateY(100%);
	transition: .7s;
}
#pop-up:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	transform: translateY(0);
	transition: .7s;
}
.window {
	width: 100vw;
	height: 100vh;
	background-color: #efefef;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	transform: translateY(0);
	transition: .7s;
}
.close {
	cursor:pointer;
	position: absolute;
	top: 5%;
	right: 4%;
}
.close p {
	marign:0;
}
.close:hover p span {
	opacity: .5;
}
.popup-menus {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width:85%;
}
.popup-menu {
	width:33.333333%;
	position: relative;
}
.popup-menu_link {
	display:block;
	border:1px solid rgba(0,0,0,.5);
	text-align: center;
	padding:20px 0;
	transition: .1s;
	cursor: pointer;
	position: relative;
}
.popup-menu_link:after {
	content:'';
	width:100%;
	height: 100%;
	box-sizing: border-box;
	border:1px solid rgba(0,0,0,0);
	position: absolute;
	top:0;left:0;
	transition: .3s;
}
.popup-menu_link:hover:after {
	border:1px solid rgba(0,0,0,1);
}
.popup-menu:nth-last-of-type(1) {
	border-right:1px solid rgba(0,0,0,.5);
}
.popup-menus-child {
	/*visibility: hidden;*/
	transition: .1s;
	position: absolute;
	left:30px;
	padding-left:30px;
	width:calc(100% - 30px);
	opacity: 0;
}
@keyframes menu-fadein {
	100% {opacity: 1;}
}
.modalBgOpen .popup-menus-child {
	animation: menu-fadein 1s ease .5s;
	animation-fill-mode: forwards;
}
.popup-menus-child1 {
	top:58px;
}
.popup-menus-child1:before {
	content:'';
	width:1px;
	height: 0;
	position: absolute;
	left:0;top:0;
	background:rgba(0,0,0,.5);
	transition: 1s;
}
@keyframes menu-heights {
	100% {height: 100%;}
}
.modalBgOpen .popup-menus-child1:before {
	animation: menu-heights 1s ease .5s;
	animation-fill-mode: forwards;
}
.popup-menu:hover .popup-menus-child1:before {
	height: 100%;
}
.popup-menus-child2 {
	bottom:58px;
}
.popup-menus-child2:before {
	content:'';
	width:1px;
	height: 100%;
	position: absolute;
	left:0;top:0;
	background:rgba(0,0,0,.5);
	transition: 1s;
	transform: scale(1,0);
	transform-origin: bottom;
}/*
.popup-menu:hover .popup-menus-child2:before {
	transform: scale(1);
}
.popup-menu:hover .popup-menus-child {
	visibility: visible;
	transition: 0s;
}*/
.modalBgOpen .popup-menus-child2:before {
	animation: menu-scales 1s ease .5s;
	animation-fill-mode: forwards;
}
@keyframes menu-scales {
	100% {transform: scale(1)}
}
.popup-menu-child {
	margin-bottom:20px;
}
.popup-menu-child-mt {
	margin-top:100px;
}
.popup-menu-child-mb {
	margin-bottom:100px;
}
.popup-menu-child-mn {
	margin-bottom:0;
}
.popup-menu-child_link {
	display: inline-block;
	position: relative;
}
.pcmenu-child_link {
	color: #fff;
}

.popup-menu-child_link:after {
	content:'';
	width:4px;height: 4px;
	background:#000;
	border-radius: 100%;
	position: absolute;
	top:0;bottom:0;right:-11px;
	margin:auto;
	transform: translateY(1px);
	transition: .3s;
	opacity: 0;
}
.popup-menu-child_link:hover:after {
	opacity: 1;
}
/* ABOUTをホバーしたらPROFILE/STAFFに点がつく */
.popup-menu_link:hover + .popup-menus-child2 .popup-menu-child:nth-last-of-type(1) .popup-menu-child_link:after {
	opacity: 1;
}
.pcmenu-child_link:after{
	background:#fff;
}

.popup-logo {
	display: block;
	width:220px;
	max-width:50%;
	height: auto;
	position: absolute;
	top:5%;
	z-index: 15;
}
.popup-logo img {
	display: block;
	width:100%;
	height: auto;
	transition: .3s;
}
.popup-logo:hover {
	opacity: .5;
}
.archive_left .popup-logo {
	left:8%;
	transition: .1s;
}
.archive_left .popup-logo.min {
	width:180px;
	max-width:40%;
}
.window .popup-logo {
	left:2.75%;
}

/*----------------------------
 pc_menu
----------------------------*/
.mv_menu_list{
	position: relative;
}
.pcmenus-child{
	visibility: hidden;/*デフォルトでは非表示の状態にしておく*/
    opacity: 0;/*不透明度0*/
    transition: all .3s;/*表示の変化を0.3秒に指定*/
    width: 100%;
    position:absolute;
    bottom: 100%;
    left: 10%;
	border-left: .5px #fff solid;
	text-align: left;
	padding-bottom: 2.5em;
}
.mv_menu_list:hover .pcmenus-child {
    visibility: visible;/*Gナビメニューにホバーしたら表示*/
    opacity: 1;/*不透明度1*/
}
.pcmenu-child{
	margin: 0 auto 1em 1em;
}


/*----------------------------
 archive
----------------------------*/

.archive_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.archive_left {
	/*width:650px;*/
	width:40%;
	height: 100vh;
	background:#fff;
	position: sticky;
	top:0;left:0;
	z-index: 10;
}
.archive_right {
	/*width:calc(100% - 650px);*/
	width:60%;
}
.category_archive_left {
	width:30%;
}
.category_archive_right {
	width:70%;
}

/*----------------------------
 archive_menu
----------------------------*/

.archive_menu_lists {
	position: absolute;
	bottom:38px;left:8%;
	z-index: 2;
	width:80%;
	max-width: 300px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	color:#898989;
}
.archive_menu_list {
	width:80%;
	text-align: center;
	border:1px solid #898989;
	color:#898989;
	transition: .1s;
}
.archive_menu_list_link {
	display: block;
	padding:17px 0;
	color:#898989;
	display: flex;
	justify-content: center;
	align-items: center;
}
.archive_menu_list_link p {
	margin:0;
	line-height: 1;
	font-size: 12px;
}
.archive_menu_list:hover {
	background:#898989;
}
.archive_menu_list:hover p,
.archive_menu_list:hover p span {
	color:#fff;
}

/*----------------------------
 arhive_works_lists
----------------------------*/

.archive_right ul.category {
	width:100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;
}
.archive_right ul.category li {
	width:50%;
	height: 0;
	padding-top:25%;
	overflow: hidden;
	position: relative;
	margin-bottom:5px;
}
.archive_right ul.category li:nth-last-of-type(1),
.archive_right ul.category li:nth-last-of-type(2){
	margin-bottom:0;
}
.archive_right ul.category li a {
	display: block;
	position: absolute;
	width:100%;height: 100%;left:0;top:0;
}
.archive_right_news_a {
	display: block;
	width:100%;
	height: auto;
}
.archive_right ul.category li a img {
	display: block;
	width:100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: .3s;
	transform: scale(1.01);
	transform-origin: center;
}
.archive_right ul.category li a:hover img,
.archive_right_news_a:hover img{
	transform: scale(1.02);
}
.archive_works_list_place {
	position: absolute;
	right:20px;
	bottom:10px;
	font-size: 11px;
	color:#fff;
	z-index: 2;
}
.archive_right ul.category li a:after {
	content:'';
	width:100%;
	height: 100%;
	background:rgba(181,181,182,0);
	position: absolute;
	top:0;left:0;
	z-index: 3;
	transition: .4s;
}
.archive_right ul.category li a:hover:after {
	background:rgba(181,181,182,.9);
}
.archive_works_list_title {
	position: absolute;
	top:0;right:0;bottom:0;left:0;margin:auto;
	width:100%;
	z-index: 4;
	text-align: center;
	display: table;
	vertical-align: middle;
	transition: .1s;
	letter-spacing: 1px;
}
.archive_works_list_title h3 {
	font-size: 16px;
	font-weight: 600;
}
.archive_works_list_title strong {
	font-size: 11px;
	font-weight: 600;
}
.archive_works_list_title h3 span,
.archive_works_list_title strong span {
	opacity: 0;
}
.archive_right ul.category li a:hover .archive_works_list_title h3 span,
.archive_right ul.category li a:hover .archive_works_list_title strong span {
	opacity: 1;
}

/* masonry */

ul.masonry{
	width:100%;
	height: auto;
	position: relative;	
	/*column-count: 3;
	column-gap: 5px;*/
}
.masonry_li {
	width:31%;
	height: auto;
	position: relative;
}

.masonry_li_a {
	margin-bottom:4px;
}
/*
.masonry_li:nth-of-type(1) a,
.masonry_li:nth-of-type(2) a,
.masonry_li:nth-of-type(3) a {
	margin-bottom:-1px;
}*/
.masonry_li_a {
	display: block;
	width:100%;
	height: auto;
}
.masonry_li_a img {
	display: block;
	width:100%;
	height: auto;
}
.masonry_li_a:after{
	content:'';
	width:100%;
	height: calc(100% - 4px);
	background:rgba(181,181,182,0);
	position: absolute;
	top:0;left:0;
	z-index: 3;
	transition: .4s;
}
/*
.masonry_li:nth-of-type(1) a:after,
.masonry_li:nth-of-type(2) a:after,
.masonry_li:nth-of-type(3) a:after {
	height: calc(100% + 1px);
}*/
.masonry_li_a:hover:after{
	background:rgba(181,181,182,.9);
}
.masonry_li_a:hover .archive_works_list_title h3 span,
.masonry_li_a:hover .archive_works_list_title strong span {
	opacity: 1;
}

/* archive_news */

.archive_right_news_ul {
	width:100%;
	height: auto;
	min-height: 100vh;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	border-left:1px solid rgba(0,0,0,.2);
	padding:7% 4%;
}
.archive_right_news_ul:after {
	content:'';
	width:30.66%;
	height: 0;
}
.archive_right_news_li {
	width:30.66%;
	height: auto;
	margin-bottom:4.5%;
}
.archive_right_news_imgwrap {
	position: relative;
	width:100%;
	height: 0;
	margin-bottom:40px;
	padding-top:100%;
	overflow: hidden;
}
.archive_right_news_imgwrap img {
	display: block;
	width:100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: .5s;
	transform: scale(1);
	transform-origin: center;
	position: absolute;
	top:0;left:0;
}
.archive_right_news_day {
	font-size: 12px;
	margin-bottom:10px;
	letter-spacing: 1px;
}
.archive_right_news_title {
	letter-spacing: 1px;
	line-height: 2;
}

/* news_single */

.news_single {
	padding:7% 12.61%;
	border-left:1px solid rgba(0,0,0,.2);
	width:100%;
	height: auto;
	min-height: 100svh;
	font-size: 13px;
	line-height: 2;
	letter-spacing: 1px;
}
.news_single_day_category {
	font-size: 11px;
	margin-bottom:24px;
}
.news_single_title {
	font-weight: normal;
	font-size: 14px;
	margin-bottom:50px;
}
.news_single img {
	width: 100%;
	height: auto;
}
.news_img{
	max-width: 70%;
	margin: 2em 0;
}
.news_single_p{
	margin: 4em 0;
}
.news_single_pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin:8% auto 5em;
	border-top:1px solid rgba(0,0,0,.2);
	padding-top: 5em;
	width: 100%;
}
.news_single_pagination a {
	transition: .3s;
}
.news_single_pagination a:hover {
	opacity: .5;
}
.news_single_pagination_prev,
.news_single_pagination_all {
	display: block;
	width:20%;
	margin: 0 auto;
}
.news_single_pagination_next {
	display: flex;
	width:20%;
	text-align: center;
	margin: 0 auto;
}
.news_single_pagination_prev img,
.news_single_pagination_next img{
	display: block;
	width:100%!important;
}
.news_single_pagination_next a img{

	margin: 0 0 0 auto;
}
.news_single_pagination_all img {
	height: 16px;
	margin: 0 auto;
}

/* archive_right_project_category */

.archive_right_project_category_wrapper {
	padding:0 4%;
	border-left:1px solid rgba(0,0,0,.2);
}
.archive_right_project_category {
	padding:5% 0;
	border-bottom:1px solid rgba(0,0,0,.2);
	display: flex;
	flex-wrap: wrap;
}
.archive_right_project_category_li {
	width:25%;
	margin-bottom:10px;
	font-size: 12px;
	letter-spacing: 1px;
}
.archive_right_project_category_li a {
	transition: .3s;
}
.archive_right_project_category_li a:hover {
	opacity: .5;
}
/*----------------------------
 arhive_works_category
----------------------------*/

.arhive_works_category {
	position: absolute;
	left:8%;
	top:calc(100vw * 0.12);
}
.arhive_works_category li {
	margin-bottom:25px;
}
.arhive_works_category li a {
	position: relative;
}
.arhive_works_category li a:after {
	content:'';
	width:4px;height: 4px;
	background-color:#000;
	border-radius: 100%;
	position: absolute;
	top:0;bottom:0;right:-11px;
	margin:auto;
	transform: translateY(1px);
	transition: .3s;

	opacity: 0;
}
.arhive_works_category li a:hover:after {
	opacity: 1;
}
.arhive_works_category li a:after {
	
}
.arhive_works_category li a.selected {
	/*color:#898989;*/
	position: relative;
}
.arhive_works_category li a.selected:before {
	content:'';
	width:4px;height: 4px;
	/*background:#898989;*/
	background-color:#000;
	border-radius: 100%;
	position: absolute;
	top:0;bottom:0;right:-11px;
	margin:auto;
	transform: translateY(1px);
}
.arhive_works_category li:nth-of-type(1) a {
	width:100px;
	height: 10px;
	display: block;
	position: relative;
}
.arhive_works_category li:nth-of-type(1) a:after {
	display: none;
}
.arhive_works_category li:nth-of-type(1) a:before {
	content:'';
	width:100%;height: 100%;
	background-color:rgba(0,0,0,0);
	border-radius: 0;
	background-size: contain;
	background-position: center left;
	background-repeat: no-repeat;
	position: absolute;
	top:0;left:0;
	transition: .3s;
}
.arhive_works_category li:nth-of-type(1) a:hover:before {
	background-image: url("../images/-works_bold.svg");
}
.arhive_works_category li:nth-of-type(1) a:before {
	background-image: url("../images/-works.svg");
}
.arhive_works_category li:nth-of-type(1) a.selected:before {
	background-image: url("../images/-works_bold.svg");
}
/*----------------------------
 single-works
----------------------------*/

.single-works-image-wrap {
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
.single-works-image-wrap img {
	display: block;
	width:100%;
	height: auto;
	margin-bottom:2px;
}
.single-works-image-wrap img:nth-last-of-type(1) {
	margin-bottom:0;
}
/* 縦長の画像 */
.vertically_long {
	width:auto;
	max-width:50%;
	height: calc(100vw * 0.4)!important;
	object-fit: cover;
	object-position: center;
}
.single-works-content {
	width:75%;
	position: absolute;
	top:calc(100vw * 0.12);
	left:8%;
}
.single-works-content-scroll {
	height: calc(100vh - 560px);
	overflow-y: auto;
	padding-right:4%;
}
.single-works-content-scroll::-webkit-scrollbar {
	width: 1px;
}
.single-works-content-scroll::-webkit-scrollbar-track {
	background-color: rgba(0,0,0,.1);
}
.single-works-content-scroll::-webkit-scrollbar-thumb {
	background-color: #888888;
}
.single-works-content-title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom:25px;
}
.single-works-content-title-h2 {
	letter-spacing: 1px;
	font-size: 16px;
	margin-right:20px;
	font-weight: 600;
}
.single-works-content-title-strong {
	font-size: 11px;
	font-weight: 600;
}
.single-works-content-jp {
	font-size: 11px;
	line-height: 2;
	margin-bottom:20px;
	text-align: justify;
}
.single-works-content-en {
	font-size: 10px;
	line-height: 1.5;
	margin-bottom:30px;
}
.single-works-content-data {
	width:100%;
	letter-spacing: 1px;
}
.single-works-content-data-strong {
	font-size: 11px;
	font-weight: normal;
	display: block;
	border-bottom:1px solid #000;
}
.archive_single_menu_wrap {
	position: absolute;
	left:8%;
	bottom:100px;
	width:75%;
	padding-right:4%;
}
.archive_single_menu_wrap .nextwork {
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	display: flex;
	justify-content: flex-start;
	padding:10px 0;
	font-size: 11px;
}
.archive_single_menu_wrap .nextwork img {
	display: inline-block;
	width:15px;
	margin:0 20px 0 8px;
	height: auto;
}
.archive_single_menu_wrap .en {
	display: inline-block;
}
.archive_single_menu_wrap .nextwork p {
	width:80px;
	transition: .2s;
}
.archive_single_menu_wrap .nextwork:hover p {
	opacity: .5;
}
.archive_single_menu_category {
	margin-top:20px;
}
.archive_single_menu_category li {
	margin-bottom:10px;
	font-size: 11px;
}
.archive_single_menu_category li a {
	position: relative;
}
.archive_single_menu_category li a:after {
	content:'';
	width:3px;height: 3px;
	background:#000;
	border-radius: 100%;
	position: absolute;
	top:0;bottom:0;right:-10px;
	margin:auto;
	transition: .3s;
	opacity: 0;
}
.archive_single_menu_category li a:hover:after {
	opacity: 1;
}
.archive_single_menu_category li a.selected {
	/*color:#898989;*/
}
.archive_single_menu_category li a.selected:before {
	content:'';
	width:3px;height: 3px;
	/*background:#898989;*/
	background:#000;
	border-radius: 100%;
	position: absolute;
	top:0;bottom:0;right:-10px;
	margin:auto;
}
.archive_single_menu_category li:nth-of-type(1) a{
	width:100px;
	height: 7px;
	margin-bottom:13px;
	display: block;
	position: relative;
}
.archive_single_menu_category li:nth-of-type(1) a:after {
	display: none;
}
.archive_single_menu_category li:nth-of-type(1) a:before {
	content:'';
	width:100%;height: 100%;
	background-color:rgba(0,0,0,0);
	border-radius: 0;
	background-size: contain;
	background-position: center left;
	background-repeat: no-repeat;
	position: absolute;
	top:0;left:0;
	transition: .3s;
}
/*
.archive_single_menu_category li:nth-of-type(1) a:before {
	background-image: url("../images/-works.svg");
}
.archive_single_menu_category li:nth-of-type(1) a:hover:before {
	background-image: url("../images/-works_bold.svg");
}
*/
.single-works-content-data table {
	width:100%;
	margin:10px 0 0 0;
	border-spacing: 0;
}
.single-works-content-data table th {
	font-size: 11px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	padding-bottom:5px;
}
.single-works-content-data table td {
	font-size: 11px;
	padding-bottom:5px;
}
.single-works-content-data table a {
	text-decoration: underline;
	transition: .2s;
}
.single-works-content-data table a:hover {
	opacity: .7;
}
/*----------------------------
 profile
----------------------------*/

.profile_wrap {
	width:90%;
	margin: 0 auto;
	padding:5% 0 100px;
}
.profile_image {
	display: block;
	width:100%;
	max-width:779px;
	margin: 0 auto 60px 0;
	height: auto;
	
}

.profile_message {
	margin:70px 0;
	width:100%;
	max-width:779px;
	border-bottom:1px solid rgba(0,0,0,.25);
	padding-bottom:50px;
}
.profile_message strong {
	font-weight: normal;
	display: block;
	margin-bottom:40px;
}
.profile_message p {
	font-size: 12px;
	line-height: 2.18;
	letter-spacing: 1px;
}
.profile_inner {
	margin:40px 0 100px 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	width:100%;
	max-width:880px;
}
.profile_inner a {
	text-decoration: underline;
	transition: .1s;
}
.profile_inner a:hover {
	opacity: .5;
}
.profile_jp {
	font-size: 12px;
	text-align: justify;
	line-height: 23px;
	width:400px;
}
.profile_en {
	font-size: 11px;
	line-height: 23px;
	text-align: justify;
	width:calc(100% - 400px);
}
@media screen and (max-width:1400px) {
	.profile_jp,
	.profile_en{
		width:100%;
	}
}
.about_photo{
	width:100%;
	max-width:779px;
	margin: 0 auto 3em;
}


iframe.profile_map {
	display: block;
	width:100%;
	max-width:779px;
	height: calc(100vw * 0.25);
	filter: grayscale(100%);
}
/*
.text-span span:nth-of-type(1) {transition: .1s;}
.text-span span:nth-of-type(2) {transition: .2s;}
.text-span span:nth-of-type(3) {transition: .3s;}
.text-span span:nth-of-type(4) {transition: .4s;}
.text-span span:nth-of-type(5) {transition: .5s;}
.text-span span:nth-of-type(6) {transition: .6s;}
.text-span span:nth-of-type(7) {transition: .7s;}
.text-span span:nth-of-type(8) {transition: .8s;}
.text-span span:nth-of-type(9) {transition: .9s;}
.text-span span:nth-of-type(10) {transition: 1s;}
.text-span span:nth-of-type(11) {transition: 1.1s;}
.text-span span:nth-of-type(12) {transition: 1.2s;}
.text-span span:nth-of-type(13) {transition: 1.3s;}
.text-span span:nth-of-type(14) {transition: 1.4s;}
.text-span span:nth-of-type(15) {transition: 1.5s;}
.text-span span:nth-of-type(16) {transition: 1.6s;}
.text-span span:nth-of-type(17) {transition: 1.7s;}
.text-span span:nth-of-type(18) {transition: 1.8s;}
.text-span span:nth-of-type(19) {transition: 1.9s;}
.text-span span:nth-of-type(20) {transition: 2s;}
.text-span span:nth-of-type(21) {transition: 3.1s;}
.text-span span:nth-of-type(22) {transition: 3.2s;}
.text-span span:nth-of-type(23) {transition: 3.3s;}
.text-span span:nth-of-type(24) {transition: 3.4s;}
.text-span span:nth-of-type(25) {transition: 3.5s;}
.text-span span:nth-of-type(26) {transition: 3.6s;}
.text-span span:nth-of-type(27) {transition: 3.7s;}
.text-span span:nth-of-type(28) {transition: 3.8s;}
.text-span span:nth-of-type(29) {transition: 3.9s;}
.text-span span:nth-of-type(30) {transition: 4s;}
.text-span span:nth-of-type(31) {transition: 4.1s;}
.text-span span:nth-of-type(32) {transition: 4.2s;}
.text-span span:nth-of-type(33) {transition: 4.3s;}
.text-span span:nth-of-type(34) {transition: 4.4s;}
.text-span span:nth-of-type(35) {transition: 4.5s;}
.text-span span:nth-of-type(36) {transition: 4.6s;}
.text-span span:nth-of-type(37) {transition: 4.7s;}
.text-span span:nth-of-type(38) {transition: 4.8s;}
.text-span span:nth-of-type(39) {transition: 4.9s;}
.text-span span:nth-of-type(40) {transition: 5s;}
*/


.text-span span:nth-of-type(1) {transition: .08s;}
.text-span span:nth-of-type(2) {transition: .16s;}
.text-span span:nth-of-type(3) {transition: .24s;}
.text-span span:nth-of-type(4) {transition: .32s;}
.text-span span:nth-of-type(5) {transition: 0.4s;}
.text-span span:nth-of-type(6) {transition: 0.48s;}
.text-span span:nth-of-type(7) {transition: 0.56s;}
.text-span span:nth-of-type(8) {transition: 0.64s;}
.text-span span:nth-of-type(9) {transition: 0.72s;}
.text-span span:nth-of-type(10) {transition: 0.8s;}
.text-span span:nth-of-type(11) {transition: 0.88s;}
.text-span span:nth-of-type(12) {transition: 0.96s;}
.text-span span:nth-of-type(13) {transition: 1.04s;}
.text-span span:nth-of-type(14) {transition: 1.12s;}
.text-span span:nth-of-type(15) {transition: 1.2s;}
.text-span span:nth-of-type(16) {transition: 1.28s;}
.text-span span:nth-of-type(17) {transition: 1.36s;}
.text-span span:nth-of-type(18) {transition: 1.44s;}
.text-span span:nth-of-type(19) {transition: 1.52s;}
.text-span span:nth-of-type(20) {transition: 1.6s;}
.text-span span:nth-of-type(21) {transition: 1.68s;}
.text-span span:nth-of-type(22) {transition: 1.76s;}
.text-span span:nth-of-type(23) {transition: 1.84s;}
.text-span span:nth-of-type(24) {transition: 1.92s;}
.text-span span:nth-of-type(25) {transition: 2s;}
.text-span span:nth-of-type(26) {transition: 2.08s;}
.text-span span:nth-of-type(27) {transition: 2.16s;}
.text-span span:nth-of-type(28) {transition: 2.24s;}
.text-span span:nth-of-type(29) {transition: 2.32s;}
.text-span span:nth-of-type(30) {transition: 2.4s;}
.text-span span:nth-of-type(31) {transition: 2.48s;}
.text-span span:nth-of-type(32) {transition: 2.56s;}
.text-span span:nth-of-type(33) {transition: 2.64s;}
.text-span span:nth-of-type(34) {transition: 2.72s;}
.text-span span:nth-of-type(35) {transition: 2.8s;}
.text-span span:nth-of-type(36) {transition: 2.88s;}
.text-span span:nth-of-type(37) {transition: 2.96s;}
.text-span span:nth-of-type(38) {transition: 3.04s;}
.text-span span:nth-of-type(39) {transition: 3.12s;}
.text-span span:nth-of-type(40) {transition: 3.2s;}

.sp_info {
	display: none;
}


@media screen and (max-width:1300px) {
	body {
		font-size: 13px;
	}
	.mv01-logo {
		width:250px;
	}
	#splash_logo svg {
		width:250px;
	}
	.mv_menu_list_link {
		padding:30px 0;
	}
	.mv_menu_list .open {
		padding:30px 0;
	}
	.popup-menu-child-mb {
		margin-bottom:calc(100vw * 0.1);
	}
	.popup-menu-child-mt {
		margin-top:70px;
	}
	.archive_works_list_title h3 {
		font-size: 14px;
	}
	.archive_works_list_title strong {
		font-size: 10px;
	}
	.archive_works_list_place {
		right:8px;
		bottom:5px;
		font-size: 10px;
	}
	.arhive_works_category li {
		margin-bottom:20px;
	}
	.archive_right ul.category li {
		margin-bottom:4px;
	}
	.popup-logo {
		width:200px;
	}
	.single-works-content {
		top:130px;
	}
	.single-works-content-title-h2 {
		font-size: 14px;
		margin-right:15px;
	}
	.single-works-content-title-strong {
		font-size: 10px;
	}
	.single-works-content-scroll {
		height: calc(100vh - 500px);
	}
}


/*----------------------------
 ppf
----------------------------*/

.ppf_inner {
	width:93%;
	margin:30px auto;
	letter-spacing: 1px;
}
.ppf_inner p.normal {
	font-size: 12px;
	line-height: 23px;
	margin:0;
	font-weight: 400;
}
.ppf_inner p.min {
	font-size: 11px;
	line-height: 21px;
	margin:0;
	font-weight: 400;
}
.ppf_inner p.min a {
	text-decoration: underline;
	transition: .2s;
}
.ppf_inner p.min a:hover {
	opacity: .5;
}
table.ppf_title {
	margin:60px 0 30px 0;
	width:100%;
	border-top:1px solid #000;
	border-spacing: 0;
	font-size: 22px;
	letter-spacing: 2px;
}
table.ppf_title th {
	text-align: left;
	width:230px;
	border-right:1px solid #000;
	padding:10px 0 5px 0;
}
table.ppf_title td {
	padding:10px 0 5px 0;
	font-weight: bold;
	padding-left:20px;
	box-sizing: border-box;
	width:calc(100% - 230px);
}
.border-dot {
	width:100%;
	height: 3px;
	margin:30px 0;
	background-image: url("../images/border-dot.svg");
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: center;
}
.process_table {
	margin:0 0 20px 0;
	border-spacing: 0;
	width:100%;
}
.process_table th {
	text-align: left;
	width:130px;
	padding:10px 0;
	font-weight: bold;
}
.process_table td {
	width: calc(100% - 130px);
	padding:10px 0;
}
.process_table tr:nth-of-type(1) th {
	position: relative;
	font-size: 12px;
	line-height: 23px;
	vertical-align: center;
}
.process_table tr:nth-of-type(1) td {
	position: relative;
	font-weight: 500;
	font-size: 12px;
	line-height: 23px;
}
.process_table tr:nth-of-type(2) th {
	vertical-align: top;
	line-height: 21px;
}
.process_table tr:nth-of-type(2) td {
	font-weight: 400;
	font-size: 11px;
	line-height: 21px;
}
.process_table tr:nth-of-type(1) th:after,
.process_table tr:nth-of-type(1) td:after{
	content:'';
	width:100%;
	height: 3px;
	background-image: url("../images/border-dot.svg");
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: center;
	position: absolute;
	top:0;left:0;
}
.process_table tr:nth-of-type(1) th:before,
.process_table tr:nth-of-type(1) td:before {
	content:'';
	width:100%;
	height: 3px;
	background-image: url("../images/border-dot.svg");
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: center;
	position: absolute;
	bottom:0;left:0;
}
.process_table th img.triangle {
	display: block;
	width:14px;
	margin-left:3px;
	height: auto;
}
.process_table ul li {
	position: relative;
	padding-left:9px;
}
.process_table ul li:before {
	content:'・';
	width:10px;
	height: 10px;
	font-size: 12px;
	line-height: 10px;
	position: absolute;
	top:0;bottom:0;left:-3px;margin:auto;
}
.ppf_inner strong.border {
	position: relative;
	font-size: 12px;
	display: block;
	width:100%;
	padding:10px 0;
}
.ppf_inner strong.border:before,
.ppf_inner strong.border:after{
	content:'';
	width:100%;
	height: 3px;
	background-image: url("../images/border-dot.svg");
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: center;
	position: absolute;
	left:0;
}
.ppf_inner strong.border:before {
	bottom:0;
}
.ppf_inner strong.border:after {
	top:0;
}
.ppf_inner table.price {
	margin:0;
	width:100%;
	font-size: 11px;
}
.ppf_inner table.price th {
	width:130px;
	text-align: left;
	vertical-align: top;
}
.ppf_inner table.price td {
	width: calc(100% - 130px);
}


/*----------------------------
 モーダル
----------------------------*/
#modalArea{
	backdrop-filter:blur(5px);
}
.modalNoDisp {
	display : none;
}
.modalBg {
	position   : fixed;
	overflow   : hidden;
	top        : 0;
	right      : 0;
	bottom     : 0;
	left       : 0;
	background-color: #efefef;
	opacity: 0.9;
	/*background : radial-gradient(circle at 50% 50%,rgba(0, 0, 0, 0.90),rgba(0, 0, 0, 0.70));*/
	z-index    : 10;
}
.modalBgOpen {
	animation  : bgOpenAnime 0.7s ease;
}
@keyframes bgOpenAnime {
	0% { opacity: 0 }100% { opacity: 0.9 }
}
.modalBgClose {
	bottom     : 100%;
	animation  : bgCloseAnime 0.7s ease;
}
@keyframes bgCloseAnime {
	0% { opacity: 1; bottom: 0 }100% { opacity: 0; bottom: 0 }
}
.modalBg .modalWindow {
	position      : absolute;
	top           : 50%;
	left          : 50%;
	transform     : translate(-50%, -50%);
	z-index       : 11;
	width         : 100vw;
	min-height    : 101vh;
	background-color: #efefef;
	display: flex;
	justify-content: center;
	align-items: center;
}
.modalBgOpen .modalWindow {
	animation     : modalOpenAnime 0.5s ease;
}
@keyframes modalOpenAnime {/* 下 → 中心 */
	0% { top : 150% }100% { top : 50%  }
}
.modalBgClose .modalWindow {
	animation     : modalCloseAnime 0.5s ease;
}
@keyframes modalCloseAnime {/* 中心 → 下 */
	0% { top : 50%  }100% { top : 150% }
}
.modalopenbutton {
	border:none;
	background:none;
	padding:50px 0;
	font-size: 14px;
	letter-spacing: 0;
	color:#fff;
	font-family: "Work Sans", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W1", "Hiragino Kaku Gothic ProN W1", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", "YuGothic", sans-serif;
	width:100%;
}
.modalopenbutton2 {
	border:none;
	background:none;
	font-size: 12px;
	padding:17px 0;
	line-height: 1;
	letter-spacing: 0;
	color:#898989;
	font-family: "Work Sans", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W1", "Hiragino Kaku Gothic ProN W1", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", "YuGothic", sans-serif;
	width:100%;
	transition: .1s;
}
.modalopenbutton2:hover {
	color:#fff;
}
.modalWindow .popup-logo {
	left:50px;
}
.modalWindow {
	position: relative;
}
.modalclosebutton_wrap .modalclosebutton {
	border:none;
	background:#ffffff;
	width:100vw;
	height: 120px;
	font-size: 20px;
	transition: .5s;	
}
.modalclosebutton_wrap:before{
	content:'';
	width:18px;
	height: 18px;
	background-image: url("../images/close.svg");
	background-size: contain;
	background-position: center;
	position: absolute;
	top:0;right:0;bottom:0;left:0;margin:auto;
	transition: .5s;
	pointer-events: none;
}
.modalclosebutton_wrap{
	position: absolute;
	bottom:0;left:0;
}
.modalclosebutton_wrap:hover:before{
	opacity: .7;
}

/*----------------------------
 contact
----------------------------*/

.contact {
	width:100%;
	height: auto;
	padding:200px 0 100px 0;
	position: relative;
}
.contact-logo {
	display: block;
	width:180px;
	height: auto;
	position: absolute;
	top:5%;left:3.2%;
	z-index: 2;
}
.contact .mv_menu_list_link,
.contact .modalopenbutton {
	color:#868687;
}
.contact .mv_menu_lists {
	border-top:1px solid rgba(134,134,135,.6);
}
.contact .mv_menu_list:nth-of-type(1) {
	border-right:1px solid rgba(134,134,135,.6);	
}

/* contact_table */

.contact_form {
	width:650px;
	max-width:85%;
	margin:10em auto 10em 3em;
	border-spacing: 0;
	font-size: 12px;
	letter-spacing: 1px;
}
.contact_table th {
	text-align: left;
	font-weight: 400;
	width:150px;
}
.contact_table td {
	width:calc(100% - 150px);
}
.contact_table th,
.contact_table td {
	border-bottom:1px solid rgba(37,30,28,.2);
	padding:25px 0;
}
.contact_table tr:nth-of-type(1) th {
	font-size: 13px;
}
.contact_table tr:nth-of-type(2) td {
	color:#868687;
	text-align: right;
}
.contact_table tr:nth-of-type(1) th,
.contact_table tr:nth-of-type(1) td,
.contact_table tr:nth-of-type(2) th,
.contact_table tr:nth-of-type(2) td {
	border-bottom:none;
}
input,
textarea {
	font-family: "Work Sans", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W1", "Hiragino Kaku Gothic ProN W1", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", "YuGothic", sans-serif;
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 1px;
	color:#000;
}
input[type="text"],input[type="email"],input[type="tel"],
textarea {
	border:none;
	width:100%;
	background:rgba(0,0,0,0.02);
	padding:10px 15px;
	box-sizing: border-box;
}
/* checkbox */

.my-checkbox {
	display: inline-block;
	width:100%;
	position: relative;
	padding-left:17px;
	cursor: pointer;
	user-select: none;
	margin:3px 0;
}
.my-checkbox input {
	display: none;
}
.checkmark {
	position: absolute;
	top: 0;
	bottom:0;
	left: 0;
	margin:auto;
	height: 11px;
	width: 11px;
	transition: .2s;
	background:#fff;
	border:1px solid rgba(0,0,0,.5);
}
.checkmark:after {
	content: "";
	position: absolute;
	left: 3px;
	top: -1px;
	width: 3px;
	height: 7px;
	border: solid #000;
	border-width: 0 1px 1px 0;
	transition: .2s;
	transform: rotate(45deg);
	opacity: 0;
}
.my-checkbox input:checked + .checkmark {
	background: #ffffff;
}
.my-checkbox input:checked + .checkmark:after {
	opacity: 1;
}
.contact_submit {
	color:#868687;
	border:1px solid #868687;
	background:#fff;
	display: block;
	text-align: center;
	width:220px;
	margin: 70px auto 0 auto;
	padding:10px 0;
	position: relative;
	transition: .3s;
	box-sizing: border-box;
}
.contact_submit:hover {
	border:1px solid #000;
	color:#000;
}
.submit_back {
	display: block;
	margin: 30px auto 0 auto;
	width:90px;
	font-size: 10px;
	border:none;
	background:#fff;
	color:#868687;
	border-bottom:1px solid #868687;
	transition: .3s;
}
.submit_back:hover {
	color:#000;
	border-bottom:1px solid #000;
}
.complete_text {
	width:650px;
	max-width:85%;
	margin: 0 auto;
	font-size: 12px;
	letter-spacing: 1px;
	line-height: 2;
}
.complete_text a {
	text-decoration: underline;
	transition: .3s;
	color:#868687;
}
.complete_text a:hover {
	opacity: .7;
}
.notfound_text{
	font-size: 20px;
	margin-bottom: .3em;
}
.notfound_text2{
	font-size: 12px;
}
.notfound {
	width:100%;
	text-align: center;
	height: auto;
	padding:200px 0 100px 0;
	position: relative;
}

/*----------------------------
 books
----------------------------*/

.books {
	padding:80px 0 0 0;
	max-width:780px
}
.books_header {
	font-size: 14px;
	height: 28px;
	font-weight: 400;
	position: relative;
	width:100%;
	max-width:780px;
}
.books_header:after {
	content:'';
	width:100%;
	height: 1px;
	background:rgba(0,0,0,.25);
	position: absolute;
	top:0;bottom:0;margin:auto;
	z-index: 1;
}
.books_header span {
	display: inline-block;
	background:#fff;
	width:60px;
	position: absolute;
	top:0;bottom:0;left:0;margin:auto;
	z-index: 2;
}
.books_inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:100%;
	max-width:780px;
	margin: 0 auto;
}
.books_box {
	display: block;
	width:40%;
	margin:70px auto 0;
	transition: .3s;
}
.books_box strong {
	display: block;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: 1px;
	font-size: 13px;
}
.books_box img {
	display: block;
	width:100%;
	height: auto;
	margin:0 auto 34px auto;
}
.books_box:hover {
	opacity: .8;
}

.books_archive {
	height: auto;
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	padding:7% 0 0 4%;
	width:100%;
	max-width:780px;
	margin: 0 auto;
}


.books_archive_li {
	width:25%;
	padding-right: 2%;
	margin-bottom: 20px;
}
.books_archive_a {
	display: block;
	width:100%;
}
.books_archive_title{
	letter-spacing: 1px;
	line-height: 1.5;
}

.books_archive_imgwrap {
	width:100%;
	margin-bottom:16px;
}
.books_archive_imgwrap img {
	width:100%;
	margin:0 auto;
	transition: .5s;
	transform: scale(1);
	transform-origin: center;
	max-width: 130px;
}
/*
.books_archive_imgwrap:hover {
	opacity: .8;
	transition: all .3s;
}
*/

.books_archive_img_sp{
	display: none;
}

.archive_works_list_title {
	position: absolute;
	top:0;right:0;bottom:0;left:0;margin:auto;
	width:100%;
	z-index: 4;
	text-align: center;
	display: table;
	vertical-align: middle;
	transition: .1s;
	letter-spacing: 1px;
}



/*----------------------------
 staff
----------------------------*/

.staff_inner {
	width:100%;
	max-width:780px;
	display: flex;
	justify-content: flex-start;
	margin: 1em auto;
	}
.profile_name,.profile_name_eng {
	width:fit-content;
	margin:0;
	text-align: start;
	letter-spacing: 1px;
	font-size: 13px;
	line-height: 2em;

}
.profile_name_eng{
	font-size: 11px;
	line-height: 2.4em;
	margin-left: 1em;
}





/*news openhouse 追記*/

.news_img_small{
	width: 50%!important;
	margin: 0 auto 0 0;
}


.footer_contact_link{
	width:100%;
	margin:4em 0 0;
	padding: 2em 0;
	line-height: 1em;
	display: flex;
	
}
.footer_contact_link .contact_link_box{
	max-width: 50%;
	width: 400px;
	margin: 0;
}
.footer_contact_link .contact_link_box .footer_name{
	height: 55px;
}
.footer_contact_link p{
	margin: 2em auto;
}
.footer_contact_link a {
	text-decoration: underline;
	transition: .2s;
}
.footer_contact_link a:hover {
	opacity: .5;
}
.footer_contact_link p.normal {
	font-size: 12px;
	line-height: 23px;
	margin:0;
	font-weight: 400;
}
.footer_contact_link p.min {
	font-size: 11px;
	line-height: 21px;
	margin:0;
	font-weight: 400;
}
.footer_contact_link p.min a {
	text-decoration: underline;
	transition: .2s;
}
.footer_contact_linkr p.min a:hover {
	opacity: .5;
}

.form_contact_link{
	display: block;
	position: absolute;
	bottom:100px;left:8%;
	line-height: .4em;
}
.form_contact_link .form_name{
	margin: 4em 0 1em!important;
	
}
.form_contact_link_tel{
	display: flex;
	justify-content: flex-start;
}
.form_contact_link_tel .min{
	margin-right: 1em!important;
}
@media screen and  (max-width: 1500px) {
.form_contact_link_tel{
	display: block!important;
}
.form_contact_link_tel min{
	width: 100%;
}
}

