@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: 11px;
}
a {
	color:#000;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent; /* 青いハイライトを消す */
}
::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;
}
.sp_none {
	display: none!important;
}

/*----------------------------
 トップページ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:200px;
	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;
	top:0;left:0;
	z-index: 999;
	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;
	width: 60%;
	max-width: 220px;
	position: fixed;
	left:4%;
	top:4.5%;
}
.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:200px;
	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: 100svh;
	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:auto;
	z-index: 2;
	width:95%;
	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:50%;
	text-align: center;
	color:#fff;
}
.mv_menu_list:nth-of-type(1) {
	border-right:1px solid rgba(255,255,255,.5);
}
.mv_menu_list_link {
	display: block;
	padding:20px 0;
	color:#fff;
}
.mv_menu_list:hover p span {
	color: #000;
}


/*--------- spメニュー -------*/
.mv_menu_list_sp .modalopenbutton2 {
	border:none;
	background:none;
	padding:5px 0;
	font-size: 10px;
	color:#898989;
	font-family: "Work Sans","游ゴシック", "Yu Gothic", "YuGothic", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W1", "Hiragino Kaku Gothic ProN W1", "Hiragino Kaku Gothic Pro", sans-serif;
	width:100%;
	transition: .1s;
}


.mv_menu_list_sp .modalopenbutton2:hover {
	color:#fff;
}
.mv_menu_lists .mv_menu_list_sp {
	position: fixed;
	z-index: 10;
	right:7.5%;
	top:4.5%;
	width:80px;
	color:#898989;
	transition: .1s;
}
.mv_menu_list_sp {
	width:100%;
	text-align: center;
	font-size: 10px;
	border:1px solid #898989;
	background:rgba(255,255,255,.8);
	color:#898989;
	transition: .1s;
}
.mv_menu_list_sp:hover {
	background:#898989;
}
.mv_menu_list_sp:hover p span {
	color:#fff;
}

/*----------------------------
 pop up
----------------------------*/
.open {
	display: block;
	margin:0;
	cursor:pointer;
}
.mv_menu_list .open {
	padding:25px 0;
}
.archive_menu_list .open {
	padding:10px 0;
}
#pop-up {
	display: none;
}
.overlay {
	display: none;
}
#pop-up:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100svh;
	top: 0;
	left: 0;
}
.window {
	width: 100vw;
	height: 100svh;
	background-color: #efefef;
	position: fixed;
	top: 0;
	left: 0;
}
.close {
	cursor:pointer;
	position: absolute;
	top: 5%;
	right: 8%;
}
.close p {
	marign:0;
}
.close:hover p span {
	opacity: .5;
}
.popup-menus {
	width:85%;
}
.popup-menus:nth-of-type(1) {
	margin:100px auto 0 auto;
}
.popup-menu {
	width:100%;
	position: relative;
	margin-bottom:30px;
}
.popup-menu_link {
	display:block;
	border:1px solid rgba(0,0,0,.5);
	padding:7px 10px;
	transition: .1s;
	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-menus-child {
	transition: .1s;
	width:100%;
	padding:15px 0 5px 40px;
	position: relative;
}
.popup-menus-child:before {
	content:'';
	width:1px;
	height: 100%;
	position: absolute;
	left:20px;top:0;
	background:rgba(0,0,0,.5);
	transition: 1s;
}
.popup-menu-child {
	font-size: 10px;
	margin-bottom:10px;
}
.popup-menu-child-mn,
.popup-menu-child-mb {
	margin-bottom:0;
}
.popup-menu-child_link {
	display: inline-block;
	position: relative;
}
.popup-menu-child_link:after {
	content:'';
	width:3px;height: 3px;
	background:#000;
	border-radius: 100%;
	position: absolute;
	top:0;bottom:0;right:-7px;
	margin:auto;
	transition: .3s;
	opacity: 0;
}
.popup-menu-child_link:hover:after {
	opacity: 1;
}
.popup-logo {
	position: absolute;
	top:35px;left:30px;
	display: block;
	width:110px;
	max-width:50%;
	height: auto;
	z-index: 15;
}
.popup-logo img {
	display: block;
	width:100%;
	height: auto;
}
.archive_left .popup-logo {
	position: fixed;
	top:5%;
	left:7.5%;
	transition: .1s;
}
.archive_left .popup-logo.min {
	width:110px;
	max-width:40%;
}
.window .popup-logo {
	position: absolute;
	top:5%;
	left:7.5%;
}
/*----------------------------
 archive
----------------------------*/

.archive_wrapper {
	display: block;
}
.archive_left {
	width:100%;
	height: auto;
	background:#fff;
}
.archive_right {
	width:100%;
	margin-top:40px;
}

/*----------------------------
 archive_menu
----------------------------*/

.archive_menu_lists {
	position: fixed;
	z-index: 10;
	right:7.5%;
	top:4.5%;
	width:80px;
	color:#898989;
	transition: .1s;
}
.archive_menu_lists.min {
	width:80px;
}
.archive_menu_list {
	width:100%;
	text-align: center;
	font-size: 10px;
	border:1px solid #898989;
	background:rgba(255,255,255,.3);
	color:#898989;
	transition: .1s;
}
.archive_menu_list:nth-of-type(2) {
	border-right:1px solid #898989;
}
.archive_menu_list_link {
	display: block;
	padding:10px 0;
	color:#898989;
}
.archive_menu_list:hover {
	background:#898989;
}
.archive_menu_list:hover p span {
	color:#fff;
}
.archive_menu_list_top{
	width:100%;
	text-align: center;
	border:1px solid #fff;
}

.archive_menu_list_top .modalopenbutton2 {
	background:none;
	padding:5px 0;
	font-size: 10px;
	color:#fff;
	font-family: "Work Sans","游ゴシック", "Yu Gothic", "YuGothic", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W1", "Hiragino Kaku Gothic ProN W1", "Hiragino Kaku Gothic Pro", sans-serif;
	width:100%;
	transition: .1s;
}

.archive_menu_list_top .modalopenbutton2:hover {
	opacity: 0.5;
}

/*----------------------------
 arhive_works_lists
----------------------------*/

.archive_right ul.category {
	width:100%;
	height: auto;
}
.archive_right ul.category li {
	width:100%;
	height: calc(50vw * 1.3);
	height: auto;
	overflow: hidden;
	position: relative;
	margin-bottom:3px;
}
.archive_right ul.category li:nth-last-of-type(1){
	margin-bottom:0;
}
.archive_right ul.category li a,
.archive_right_news_a {
	display: block;
	width:100%;
	height: 100%;
	position: relative;
}
.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 li a:hover img {
	transform: scale(1.02);
}
.archive_works_list_place {
	position: absolute;
	right:10px;
	bottom:8px;
	font-size: 9px;
	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;
	z-index: 4;
	display: table;
	vertical-align: middle;
	text-align: center;
	transition: .1s;
}
.archive_works_list_title h3 {
	font-size: 13px;
	margin-bottom:5px;
	font-weight: 600;
	letter-spacing: 1px;
}
.archive_works_list_title strong {
	font-size: 9px;
	font-weight: 500;
}
.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;
}
.masonry_li {
	width:100%;
	height: calc(50vw * 1.3);
	height: auto;
	overflow: hidden;
	position: relative;
	margin-bottom:3px;
}
.masonry_li:nth-last-of-type(1) {
	margin-bottom:0;
}
.masonry_li_a {
	display: block;
	width:100%;
	height: 100%;
	position: relative;
}
.masonry_li_a img {
	display: block;
	width:100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: .3s;
	transform: scale(1.01);
	transform-origin: center;
}
.masonry_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;
}
.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:85%;
	margin: 0 auto;
	height: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}
.archive_right_news_li {
	width:48%;
	height: auto;
	margin-bottom:9%;
}
.archive_right_news_imgwrap {
	position: relative;
	width:100%;
	height: 0;
	margin-bottom:30px;
	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: 10px;
	margin-bottom:10px;
	letter-spacing: 1px;
}
.archive_right_news_title {
	letter-spacing: 1px;
	line-height: 2;
}

/* news_single */

.news_single {
	width:85%;
	height: auto;
	border-top:1px solid rgba(0,0,0,.2);
	padding:10% 0;
	line-height: 2;
	letter-spacing: 1px;
	margin: 0 auto;
}
.news_single_day_category {
	font-size: 10px;
	margin-bottom:20px;
}
.news_single_title {
	font-weight: normal;
	font-size: 12px;
	margin-bottom:30px;
}
.news_single img {
	display: block;
	width:auto;
	height: auto;
	max-width:100%;
}
.news_single_pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	margin:8% auto 5em;
	padding-top: 5em;
	border-top:1px solid rgba(0,0,0,.2);
	width: 100%;
	max-width: 100svw;
}
.news_single_pagination a {
	transition: .3s;
	width: 30%;
}
.news_single_pagination a:hover {
	opacity: .5;
}
.news_single_pagination_prev,
.news_single_pagination_all {
	display: block;
	width:15%;
}
.news_single_pagination_next {
	display: flex;
	width:15%;
	margin: 0 auto;
}
.news_single_pagination_prev img,
.news_single_pagination_next img{
	display: block;
	width:auto;
	height: 6px;
}
.news_single_pagination_all img {
	height: 11px;
	margin: 0 auto;
}

/* archive_right_project_category */

.archive_right_project_category {
	width:85%;
	margin: 0 auto 7% auto;
	padding:5% 0;
	border-bottom:1px solid rgba(0,0,0,.2);
	border-top:1px solid rgba(0,0,0,.2);
	display: flex;
	flex-wrap: wrap;
}
.archive_right_project_category_li {
	width:50%;
	margin-bottom:10px;
	font-size: 10px;
	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 {
	display: block;
	width:85%;
	margin:150px auto 0 auto;
}
.arhive_works_category li {
	margin-bottom:15px;
}
.arhive_works_category li a {
	position: relative;
}
.arhive_works_category li a:after {
	content:'';
	width:3px;height: 3px;
	background:#000;
	border-radius: 100%;
	position: absolute;
	top:0;bottom:0;right:-8px;
	margin:auto;
	transition: .3s;
	opacity: 0;
}
.arhive_works_category li a:hover:after {
	opacity: 1;
}
.arhive_works_category li a.selected {
	/*color:#898989;*/
	position: relative;
}
.arhive_works_category li a.selected:before {
	content:'';
	width:3px;height: 3px;
	/*background:#898989;*/
	background:#000;
	border-radius: 100%;
	position: absolute;
	top:0;bottom:0;right:-8px;
	margin:auto;
}
.arhive_works_category li:nth-of-type(1) a {
	width:100px;
	height: 7px;
	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%;
}
.single-works-image-wrap img {
	display: block;
	width:100%;
	height: auto;
	margin-bottom:1px;
}
.single-works-image-wrap img:nth-last-of-type(1) {
	margin-bottom:0;
}
.single-works-content {
	width:85%;
	height: auto;
	margin:150px auto 0 auto;
}
.single-works-content-title {
	margin-bottom:25px;
}
.single-works-content-title-h2 {
	display: inline-block;
	margin-right:10px;
	margin-bottom:3px;
	font-size: 14px;
	letter-spacing: 1px;
	font-weight: bold;
}
.single-works-content-title-strong {
	font-size: 10px;
	font-weight: 500;
}
.single-works-content-jp {
	font-size: 10px;
	line-height: 2;
	margin-bottom:15px;
	text-align: justify;
}
.single-works-content-en {
	font-size: 10px;
	margin-bottom:20px;
	line-height: 1.5;
}
.single-works-content-data {
	margin-top:30px;
	letter-spacing: 1px;
}
.single-works-content-data-strong {
	font-size: 10px;
	font-weight: normal;
	display: block;
	border-bottom:1px solid #000;
}
.archive_single_menu_wrap {
	width:85%;
	margin:0 auto 20px auto;
}
.archive_single_menu_wrap a.nextwork {
	display: block;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:10px 0;
	font-size: 10px;
}
.archive_single_menu_wrap a.nextwork img.icon {
	display: inline-block;
	width:13px;
	margin:0;
	height: auto;
}
.archive_single_menu_wrap a.nextwork p {
	width:calc(100% - 95px);
	transition: .2s;
}
.archive_single_menu_wrap a.nextwork:hover p {
	opacity: .5;
}
.archive_single_menu_wrap a.nextwork span.en {
	display: none;
}
.archive_single_menu_category {
	margin-top:20px;
}
.archive_single_menu_category li {
	margin-bottom:10px;
}
.archive_single_menu_category li a {
	font-size: 10px;
}
.archive_single_menu_category li a {
	font-size: 11px;
	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;
}
.single-works-content-data table {
	width:100%;
	margin:10px 0 0 0;
	border-spacing: 0;
}
.single-works-content-data table th {
	font-size: 9px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	padding-bottom:3px;
}
.single-works-content-data table td {
	font-size: 9px;
	padding-bottom:3px;
}
.single-works-content-data table a {
	text-decoration: underline;
}

/*----------------------------
 profile
----------------------------*/

.profile_wrap {
	width:85%;
	margin: 0 auto;
	padding:0 0 30px 0;
}
.profile_image {
	display: block;
	width:100%;
	min-width: 100%;
	height: auto;
}
.profile_message {
	margin:50px 0;
	width:100%;
	border-bottom:1px solid rgba(0,0,0,.25);
	padding-bottom:30px;
}
.profile_message strong {
	font-weight: normal;
	display: block;
	font-size: 12px;
	margin-bottom:30px;
}
.profile_message p {
	text-align: justify;
	line-height: 2.18;
	letter-spacing: 1px;
}
.profile_inner {
	margin:50px 0;
	width:100%;
}
.profile_inner a {
	text-decoration: underline;
	transition: .1s;
}
.profile_inner a:hover {
	opacity: .5;
}
.profile_jp {
	font-size: 11px;
	text-align: justify;
	line-height: 20px;
	width:100%;
}
.profile_en {
	font-size: 10px;
	line-height: 20px;
	text-align: justify;
	width:100%;
}
.about_photo{
	width:100%;
	
max-width: 100%;
	margin: 0 auto 3em;
}

iframe.profile_map {
	display: block;
	width:100%;
	height: calc(100vw * 0.5);
	filter: grayscale(100%);
}

.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 {
	margin:40px 0;
}

/*----------------------------
 ppf
----------------------------*/

.ppf_inner {
	width:85%;
	margin:30px auto;
	letter-spacing: 1px;
}
.ppf_inner p.normal {
	font-size: 11px;
	line-height: 21px;
	margin:0;
	font-weight: 400;
	text-align: justify;
}
.ppf_inner p.min {
	font-size: 10px;
	line-height: 19px;
	margin:0;
	font-weight: 400;
	text-align: justify;
}
.ppf_inner p.min a {
	text-decoration: underline;
	transition: .2s;
}
.ppf_inner p.min a:hover {
	opacity: .5;
}
table.ppf_title {
	margin:30px 0 20px 0;
	width:100%;
	border-top:1px solid #000;
	border-spacing: 0;
	font-size: 16px;
	letter-spacing: 1px;
}
table.ppf_title th {
	text-align: left;
	width:130px;
	border-right:1px solid #000;
	padding:10px 0 5px 0;
}
table.ppf_title td {
	padding:10px 0 5px 0;
	font-weight: bold;
	padding-left:10px;
	box-sizing: border-box;
	width:calc(100% - 130px);
}
.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 15px 0;
	width:100%;
	display: block;
}
.process_table tr {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.process_table th {
	text-align: left;
	padding:8px 0;
}
.process_table td {
	padding:8px 0;
}
.process_table tr:nth-of-type(1) th {
	position: relative;
	font-size: 11px;
	line-height: 21px;
	vertical-align: center;
	width:85px;
}
.process_table tr:nth-of-type(1) td {
	position: relative;
	font-weight: 500;
	font-size: 11px;
	line-height: 21px;
	width: calc(100% - 85px);
}
.process_table tr:nth-of-type(2) th {
	vertical-align: top;
	display: none;
}
.process_table tr:nth-of-type(2) td {
	font-weight: 400;
	font-size: 10px;
	line-height: 19px;
	width:100%;
}
.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:11px;
	margin-left:2px;
	height: auto;
}
.process_table ul li {
	position: relative;
	padding-left:9px;
}
.process_table ul li:before {
	content:'・';
	width:10px;
	height: 10px;
	font-size: 11px;
	line-height: 10px;
	position: absolute;
	top:0;bottom:0;left:-3px;margin:auto;
}
.ppf_inner strong.border {
	position: relative;
	font-size: 11px;
	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: 10px;
}
.ppf_inner table.price th {
	width:100px;
	text-align: left;
	vertical-align: top;
}
.ppf_inner table.price td {
	width: calc(100% - 100px);
}

/*----------------------------
 モーダル
----------------------------*/
.modalNoDisp {
	display : none;
}
.modalBg {
	position   : fixed;
	overflow   : hidden;
	top        : 0;
	right      : 0;
	bottom     : 0;
	left       : 0;
	background : #efefef;
	z-index    : 10;
	opacity: 0.8;
}
.modalBgOpen {
	animation  : bgOpenAnime 0.7s ease;
}
@keyframes bgOpenAnime {
	0% { opacity: 0 }100% { opacity: 0.8 }
}
.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;
	height: 100%;
	background-color: #efefef;
}
.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:20px 0;
	color:#fff;
	font-family: "Work Sans","游ゴシック", "Yu Gothic", "YuGothic", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W1", "Hiragino Kaku Gothic ProN W1", "Hiragino Kaku Gothic Pro", sans-serif;
	width:100%;
	font-size: 11px;
}
.modalopenbutton2 {
	border:none;
	background:none;
	padding:5px 0;
	font-size: 10px;
	color:#898989;
	font-family: "Work Sans","游ゴシック", "Yu Gothic", "YuGothic", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W1", "Hiragino Kaku Gothic ProN W1", "Hiragino Kaku Gothic Pro", sans-serif;
	width:100%;
	transition: .1s;
}
.modalopenbutton2:hover {
	color:#fff;
}
.modalWindow {
	position: relative;
}
.modalclosebutton_wrap .modalclosebutton {
	border:none;
	width:100px;
	height: 50px;
	transition: .5s;
	background: none;
}
.modalclosebutton_wrap:before {
	content:'';
	width:80px;
	height: 20px;
	background:none;
	background-image: url("../images/close_sp.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	transition: .5s;
	pointer-events: none;
}
.modalclosebutton_wrap {
	position: absolute;
	top:32px;right:0;

	display: block;
	width:110px;
	max-width:50%;

}

.modalclosebutton_wrap:hover:before {
	opacity: .7;
}

/*----------------------------
 contact
----------------------------*/

.contact {
	width:100%;
	height: auto;
	min-height: 100vh;
	padding:120px 0 150px 0;
	position: relative;
}
.contact-logo {
	display: block;
	width:110px;
	height: auto;
	position: absolute;
	top:2.8%;left:7.5%;
	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_table {
	width:85%;
	margin:15em auto 2em;
	border-spacing: 0;
	font-size: 11px;
	letter-spacing: 1px;
}
.contact_table th {
	text-align: left;
	font-weight: 400;
	padding-top:20px;
}
.contact_table td {
	border-bottom:1px solid rgba(37,30,28,.2);
	padding:15px 0 20px 0;
}
.contact_table th,
.contact_table td {
	display: block;
	width:100%;
}
.contact_table tr:nth-of-type(1) th {
	font-size: 12px;
}
.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) td {
	border-bottom:none;
	padding:0;
}
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: 11px;
	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:5px 0;
}
.my-checkbox input {
	display: none;
}
.checkmark {
	position: absolute;
	top: 2px;
	left: 0;
	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:200px;
	max-width:85%;
	margin: 50px auto ;
	padding:10px 0;
	position: relative;
	transition: .3s;
	box-sizing: border-box;
}
.contact_submit:hover {
	border:1px solid #000;
	color:#000;
}
.contact_table td span.spbr {
	display: inline-block;
	transform: translateX(-6px);
	font-size: 10px;
}
.submit_back {
	display: block;
	margin: 20px auto 0 auto;
	width:90px;
	font-size: 9px;
	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:85%;
	margin: 0 auto;
	font-size: 11px;
	letter-spacing: 1px;
	line-height: 2;
	text-align: justify;
}
.complete_text a {
	text-decoration: underline;
	transition: .3s;
	color:#868687;
}
.complete_text a:hover {
	opacity: .7;
}

/*----------------------------
 books
----------------------------*/

.books {
	padding:50px 0 0 0;
}
.books_header {
	font-size: 11px;
	height: 22px;
	font-weight: 400;
	position: relative;
	width:100%;
}
.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:40px;
	position: absolute;
	top:0;bottom:0;left:0;margin:auto;
	z-index: 2;
}
.books_inner {
	width:100%;
}
.books_box {
	display: block;
	width:100%;
	margin:40px auto 0 auto;
	transition: .3s;
	text-align: center;
}
.books_box strong {
	display: block;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: 1px;
	font-size: 10px;
}
.books_box img {
	display: block;
	width:60%;
	height: auto;
	margin:0 auto 20px auto;
}
.books_box:hover {
	opacity: .8;
}

.books_archive {
	height: auto;
	min-height: 100vh;
	padding:7% 4%;
	width:100%;
	margin-top: 30px;
}
.books_archive_li {
	width:70%;
	height: auto;
	margin:0 auto;
	margin-bottom:9%;
}
.books_archive_title{
	letter-spacing: 1px;
	line-height: 2;
	margin-bottom: 45px;
}

/*
.books_archive {
	height: auto;
	width:90%;
	margin: 0 auto;
}
 .books_archive_ul {
	width:85%;
	margin: 25px auto 0;
	height: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}*/


.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:40%;
	padding-right: 2%;
	margin: 0 5% 20px;
}


.books_archive_title{
	letter-spacing: 1px;
	line-height: 2;
	margin-bottom: 20px;
}

.books_archive_imgwrap {
	margin: 0 auto 30px;
	position: relative;
	width:100%;
}
.books_archive_imgwrap img {
	display: block;
	width:100%;
	height: auto;
	margin:0 auto;
	transition: .5s;
	transform: scale(1);
	transform-origin: center;
	max-width: 780px;
}

.books_archive_a {
	display: block;
	width:100%;
	margin: 0 auto;
}

@media screen and (max-width:1000px) {
.books_archive_img_pc {
	display: none;
	}
}


/*----------------------------
 staff
----------------------------*/

.staff_inner {
	width:100%;
	height: auto;
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	padding:2% 0 0 4%;
	margin: 1em auto .8em;
}
.profile_name,.profile_name_eng {
	margin:0;
	text-align: start;
	letter-spacing: 1px;
	font-size: 12px;
	line-height: 2em;
	width:fit-content;
}
.profile_name_eng{
	font-size: 10px;
	line-height: 2.4em;
	margin-left: .8em;
}



.footer_contact_link{
	width:100%;
	margin:5em auto 3em;
	line-height: 1.6em;
}
.footer_contact_link .contact_link_box{
	width: 100%;
	margin:2em auto;
}
.footer_contact_link .footer_name{
	width: 100%;
	margin:.8em auto!important;
	height: auto;
}
.footer_contact_link a {
	text-decoration: underline;
	transition: .2s;
}
.footer_contact_link a:hover {
	opacity: .5;
}
