@charset "UTF-8";

#allWrapper
{
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#title
{
	padding-top: clamp(calc(100px * 75 / 200 + clamp(1rem, 2vw, 2rem)), calc(15vw * 75 / 200 + clamp(1rem, 2vw, 2rem)), calc(10rem * 75 / 200 + clamp(1rem, 2vw, 2rem)));
	padding-bottom: clamp(2rem, 4vw, 4rem)
}

#title._b
{
	min-height: max(50%, 10rem);
}

#title._b:before
{
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width:0;
	height: max(50%, 5rem);
	background-image: url(../_img/project_bg.svg);
	background-repeat: repeat-x;
	background-size: contain;
	
	transition: width 1s ease .5s;
}

#title._b.end:before
{
	width: 100%;
}

#title .max_page_width
{
	padding-top: clamp(1rem, 2.5vw, 2rem);
	padding-bottom: clamp(.5rem, 2.5vw, .75rem)
}

#title h1,
#title h2
{
/*	font-family:  'R-M', 'GG-M', 'YU Gothic UI', 'Hiragino Sans', sans-serif;
	font-weight: 500;*/
	font-size: clamp(1.5em, 5vw, 2.5em);
	line-height: 1.5;
}

#contents
{
	transform: translateY(10rem);
	padding-top: clamp(2rem, 4vw, 4rem);
	padding-bottom: clamp(6rem, 15vw, 15rem);
	
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 200%;
	
	transition: transform .5s ease 0s;
}

#contents.end
{
	transform: translateY(0rem);
}

/**********************************************************************/
/************************** カテゴリーリスト ***************************/
/**********************************************************************/

#taxonomy_list,
.taxonomy_list
{
	display: flex;
	align-items:center;
	flex-wrap: wrap;
	margin: 0 -.5rem;
}

#taxonomy_list .cate,
.taxonomy_list .cate
{
	line-height: 1.6;
	margin: .25rem .5rem;
	padding-left: 1.5em;
}

#taxonomy_list > p,
.taxonomy_list > p
{
	display: flex;
	align-items: center;
}

#taxonomy_list .cate:before,
#taxonomy_list .cate._n:after,
.taxonomy_list .cate:before,
.taxonomy_list .cate._n:after
{
	content: "";
	position: absolute;
}

#taxonomy_list .cate:before,
.taxonomy_list .cate:before
{
	width: 1em;
	height: 1em;
	border: 1px solid rgb(0, 0, 0);
	background-color: rgb(255, 255, 255);
	left: 0;
	top: .2em;
}

#taxonomy_list .cate._n:after,
.taxonomy_list .cate._n:after
{
	content:"";
	display:block;
	position: absolute;
	border-style: solid;
	top: .2em;
	left: .15em;
	width: .4em;
	height: .6em;
	border-width: 0px 2px 2px 0;
	transform: rotate(45deg) translateX(.15em) translateY(-.1em);
}

#taxonomy_list .cate._n._p:after,
.taxonomy_list .cate._n._p:after
{
	width: .85em;
	border-width: 0px 0px 2px 0px;
	transform: rotate(0) translateX(0) translateY(-.1em);
}

#taxonomy_list .cate .parent
{
	display: inline-block;
	font-size: .8em;
	padding-left: 1em;
	transform: translateY(-.1em);
}
#taxonomy_list .cate .parent:before
{
	content:"";
	display: block;
	position: absolute;
	left: .5em;
	top: .3em;
	height: 1em;
	border-left: 1px solid;
}


/**********************************************************************/
/********************************* 本文 ********************************/
/**********************************************************************/

.wp-block-quote
{
	background-color: rgb(240, 240, 240);
	border-radius: 1em;
}

.wp-block-quote._2
{
	border-radius: 0em;
	background-color: rgba(240, 240, 240, 0);
	padding: 0;
	padding-left: 1em;
	border-left: solid .25em;
}

h1.wp-block-heading,
.editor-editor-canvas__post-title-wrapper h1,
.block-editor-block-list__layout h1,
#contents h1
{
	font-size: clamp(1.5rem, 5vw, 2.2rem);
	margin-bottom: 1em;
}

h2.wp-block-heading,
.block-editor-block-list__layout h2,
#contents h2
{
	font-size: clamp(1.2em, 3vw, 1.3em);
	margin-bottom: 1em;
}

* + h2.wp-block-heading,
.block-editor-block-list__layout * + h2,
#contents * + h2
{
	margin-top: 2.5em;
}

h3.wp-block-heading,
.block-editor-block-list__layout h3,
#contents h3
{
/*	font-family:  'R-M', 'GG-M', 'YU Gothic UI', 'Hiragino Sans', sans-serif;
	font-weight: 500;*/
	font-size: clamp(1.1em, 2.5vw, 1.1em);
	margin-bottom: .75em;
}

* + h3.wp-block-heading,
.block-editor-block-list__layout * + h3,
#contents * + h3
{
	margin-top: 1.5em;
}

body:not(.wp-admin) p + .wp-block-image,
p + .wp-block-image,
.wp-block-image + p
{
	margin-top: 3rem;
}

.wp-block-columns .wp-block-image
{
	margin-bottom: 3rem;
}

.wp-block-columns .wp-block-image
{
	margin-bottom: 1rem;
}

.wp-block-image > img
{
	width: 100%;
	height: auto;
}

body:not(.wp-admin) figcaption,
figcaption
{
	font-size: .8rem;
	margin-top: 2em;
	text-align: left;
}

.vert_photo
{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

.vert_photo > img,
.vert_photo .components-resizable-box__container
{
	width: calc(100% - 20rem);
	width: calc(100% - 20rem) !important;
	min-width: 350px;
	min-width: 350px !important;
	height: auto;
}
.vert_photo .components-resizable-box__container img
{
	width: 100%;
}

.vert_photo > figcaption
{
	width: 20rem;
	padding-left: 1rem
}

body:not(.wp-admin) blockquote,
blockquote
{
	margin: 3rem auto;
	padding: 2rem;
}

*:not(h3):not(h2) + ul.wp-block-list,
*:not(h3):not(h2) + ol.wp-block-list
{
	margin-top: 1em;
}

ul.wp-block-list
{
	list-style: none;
}

ol.wp-block-list
{
	padding-left: 2em;
}

ul.wp-block-list li
{
	padding-left: 1em;
}

ul.wp-block-list li + li,
ol.wp-block-list li + li
{
	margin-top: .25em;
}

ul.wp-block-list li:before
{
	content: "";
	display: block;
	width:.75em;
	height:.75em;
	border-radius: 50%;
	border: 1px solid;
	position: absolute;
	top: .55em;
	left: 0;
}

ul.wp-block-list + *:not(h3):not(h2):not(.cta),
ol.wp-block-list + *:not(h3):not(h2):not(.cta)
{
	margin-top: 1em;
}

* + figure:is([class]),
figure:is([class]) + *
{
	margin-top: 1em;
}

.wp-block-table
{
	width: 100%;
	overflow-x: auto;
}

.wp-block-table table
{
	table-layout: auto;
}

.wp-block-table td
{
	padding: .5em 1em;
	border-bottom: 1px solid rgb(230, 230, 230);
	border-right: 1px solid rgb(230, 230, 230);
	background-color: white;
}

.wp-block-table tr td:nth-of-type(1)
{
	border-left: 1px solid rgb(230, 230, 230);
/*	white-space: nowrap;*/
}

.wp-block-table tr:nth-of-type(1) td
{
	font-family:  'R-M', 'GG-M', 'YU Gothic UI', 'Hiragino Sans', sans-serif;
	font-weight: 500;
	background-color: rgb(245, 245, 245);
	border-top: 1px solid rgb(230, 230, 230);
	text-align: center;
}

*:not(h3):not(h2) + .cta
{
	margin-top: 2em;
}
.cta + *:not(h3):not(h2)
{
	margin-top: 2em;
}

.cta a:not([class]):link, 
.cta a:not([class]):active, 
.cta a:not([class]):visited
{
	font-family:  'R-G', "GG-B", serif;
	font-weight: 700;
	font-size: clamp(1.1rem, 2vw, 1.2rem);
	padding: 1em 2em;
	line-height: 1.5;
	color: rgb(0, 0, 0);
	background-color: rgb(255, 255, 255);
	border-color: rgb(0, 0, 0);
	border-style: solid;
	border-width: 2px;
	border-radius: 2em;

	display:flex;
	align-items:center;
	justify-content:center;
	
	overflow: hidden;
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.cta a:after
{
	margin-left: .25em;
	content: "\f061";
	font-family: "awesome";
	display:inline-block;
	transform: rotate(-45deg);
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

body:not(.touch) .cta a:hover:after
{
	transform: rotate(0deg);
}

.wp-block-accordion-item
{
	padding: 1em;
	border-radius: 1em;
	background-color: rgb(250, 250, 250);
	border: 2px solid rgb(240, 240, 240);
}

#contents .wp-block-accordion-item h3.wp-block-accordion-heading,
h3.wp-block-accordion-heading
{
	margin-bottom: 0;
}

/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Pagenation ////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#pagenation
{
	padding-bottom: clamp(2rem, 4vw, 4rem);
	line-height: 1.75;
}

.nav-links
{
	display:flex;
	justify-content: space-between;
}

.prevWrapper,
.nextWrapper
{
	justify-content: space-between;
	-webkit-justify-content: space-between;
	
	-webkit-align-items: center;
	align-items: center;
}

.nav-links .dir
{
	cursor:pointer;
	display:flex;
	flex-direction:column;
	-webkit-align-items: center;
	align-items: center;
	
	width:1.5rem;
	height:1.5rem;
}

.nav-links p.dir
{
	cursor:default;
}

.nav-links .dir._l
{
	transform-origin-x:left;
}
.nav-links .dir._r
{
	transform-origin-x:right;
}

.nav-links .dir:before
{
	content: "";
	width: .5em;
	height: .5em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	
	transition: all .3s ease;
}

.nav-links p.dir:before
{
	display: none;
}

.nav-links .dir._r:before
{
	transform: rotate(45deg) translateX(.25em) translateY(.25em);
}
body:not(.touch) .nav-links a.dir._r:hover:before
{
	transform: rotate(45deg) translateX(.5em) translateY(0em);
}
.nav-links .dir._l:before
{
	transform: rotate(-135deg) translateX(-.25em) translateY(-.25em);
}
body:not(.touch) .nav-links a.dir._l:hover:before
{
	transform: rotate(-135deg) translateX(0em) translateY(-.5em);
}

.nav-links .dir:after
{
	display:block;
	font-size:.7em;
	width:100%;
	text-align:center;
}
/*.nav-links .dir._l:after
{
	content:"BACK";
}
.nav-links .dir._r:after
{
	content:"NEXT";
}*/

.nav-links .pageNum .pager
{
	display: inline-block;
	text-align:center;
	width:2em;
	height:2em;
	margin: 0 .25em;
	
	-webkit-transition: all .1s ease;
	-moz-transition: all .1s ease;
	-ms-transition: all .1s ease;
	-o-transition: all .1s ease;
	transition: all .1s ease;
}

.nav-links .pageNum .space
{
	display: inline-block;
	text-align:center;
}

.nav-links .pageNum .pager span
{
	white-space:nowrap;
}

.nav-links .pageNum p.pager
{
	color:rgb(255, 255, 255);
}

body:not(.touch) .nav-links .pageNum a.pager:hover
{
	color:rgb(255, 255, 255);
}

.nav-links .pageNum .pager:before
{
	content:"";
	display:block;
	position:absolute;
	width:2em;
	height:2em;
	border-width: 1px;
	border-style: solid;
	border-radius:50%;
	left:calc(50% - 1em - 1px);
	top:calc(50% - 1.2em - 1px);
	
	-webkit-transition: all .1s ease;
	-moz-transition: all .1s ease;
	-ms-transition: all .1s ease;
	-o-transition: all .1s ease;
	transition: all .1s ease;
}

.nav-links .pageNum a:before
{
	background-color: rgb(255, 255, 255);
}

.nav-links .pageNum p:before
{
	border-color:rgb(255, 255, 255);
	background-color:rgb(0, 0, 0);
}

body:not(.touch) .nav-links .pageNum a.pager:hover:before
{
	background-color:rgb(50, 50, 50);
}

.nav-links .pageNum.current
{
	color: rgba(255, 255, 255, 1);
}

.nav-links .page_dir
{
	cursor:pointer;
	display:flex;
	align-items: center;
	
	color: inherit;
	
	width:3.5rem;
	height:1.5rem;
}

.nav-links .page_dir._r
{
	flex-direction: row-reverse;
}

.nav-links p.page_dir
{
	cursor:default;
	color:rgba(0, 0, 0, 0);
}

.nav-links .page_dir._l
{
	transform-origin-x:left;
}
.nav-links .page_dir._r
{
	transform-origin-x:right;
}

.nav-links .page_dir:before
{
	content: "";
	width: .5em;
	height: .5em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	
	transition: all .3s ease;
}

.nav-links p.page_dir:before
{
	display: none;
}

.nav-links span.page_dir
{
	cursor: auto;
}

.nav-links span.page_dir:before
{
	border-color: rgb(200, 200, 200);
}

.nav-links .page_dir._r:before
{
	transform: rotate(45deg) translateX(0) translateY(0);
}
body:not(.touch) .nav-links a.page_dir._r:hover:before
{
	transform: rotate(45deg) translateX(.25em) translateY(-.25em);
}
.nav-links .page_dir._l:before
{
	transform: rotate(-135deg) translateX(0em) translateY(0em);
}
body:not(.touch) .nav-links a.page_dir._l:hover:before
{
	transform: rotate(-135deg) translateX(.25em) translateY(-.25em);
}

.nav-links .page_dir:after
{
	display:block;
	font-size:.9em;
	transform: translateY(.1em);
}

.nav-links span.page_dir:after
{
	color: rgb(200, 200, 200);
}

.nav-links .page_dir._l:after
{
	content:"PREV";
}
.nav-links .page_dir._r:after
{
	content:"NEXT";
}

.nav-links .moreBt._box._b
{
	display: none;
}

/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Pagenation Single ///////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

.page-nav
{
	margin-top: clamp(2rem, 4vw, 4rem);
	padding-top: clamp(2rem, 4vw, 4rem);
	border-top: 1px solid;
	display: flex;
	justify-content: space-between;
}

.prev-link,
.next-link
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: .9em;
	line-height: 1;
}

p.prev-link,
p.next-link
{
	color: rgb(200, 200, 200);
}

.prev-link > span,
.next-link > span
{
	transform: translateY(.1em);
}

.prev-link:before,
.next-link:after
{
	content:"";
	width: .5em;
	height: .5em;
	border-style: solid;
	border-width: 1px 1px 0 0;
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
.prev-link:before
{
	transform:rotate(-135deg);
	margin-right: .5rem;
}
body:not(.touch) a.prev-link:hover:before
{
	transform: rotate(-135deg) translateX(.25em) translateY(-.25em);
}

.next-link:after
{
	transform:rotate(45deg);
	margin-left: .5rem;
}
body:not(.touch) a.next-link:hover:after
{
	transform:rotate(45deg) translateX(.25em) translateY(-.25em);
}


/*//////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// 拡大写真表示 ///////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#modalWindow .photo_100
{
	padding: clamp(5rem, 10vw, 5rem) 2rem 2rem;
}

#photo_large ._dir
{
	cursor:pointer;
	display: flex;
	align-items:center;
	justify-content:center;
	position: fixed;
	width: 2rem;
	height: 2rem;
	top: calc(50% - .75rem);
	transform-origin: 50% 50%;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
	
	z-index: 10;
}

#photo_large ._dir .dir
{
	display:block;
	position:absolute;
	width: .8rem;
	height: .8rem;
	border-style: solid;
	border-color: rgb(50, 50, 50);
	border-width: 3px 3px 0 0;
}

#photo_large ._dir:before
{
	content:"";
	position:absolute;
	display:block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

#photo_large ._dir._r
{
	transform: rotate(45deg);
	right:.5rem;
}

#photo_large ._dir._l
{
	transform: rotate(-135deg);
	left:.5rem;
}

#modalWindow .photo_100 + .caption
{
	padding: 0 2rem;
}


/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// MEDIA SCREEN ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

@media screen and (max-width: 600px)
{
	.nav-links
	{
		margin-top: 0rem;
	}

	.nav-links .pageNum a,
	.nav-links .pageNum p
	{
		margin: 0 .25em;
	}
}

@media screen and (max-width: 650px)
{
	.wp-block-table tr td:nth-of-type(n+2)
	{
		min-width: 15em;
	}
}