@charset "UTF-8";

/*
Theme Name: SF RDC 2025
Text Domain: SF RDC-2025
Description: SF RDC
Author: SF RDC
Author URI: 
Theme URI: 
Version: 0.9
*/


/******************/
/******************/

:root {
--color-black:#2f2f2f;
--color-gray:#B0B2B3;
--color-border:#d2d2d2;
--color-dark-green:#4d7576;
--color-white:#ffffff;
--color-gradient-green-0: linear-gradient(0deg, rgba(24, 186, 131, 1) 0%, rgba(55, 102, 131, 1) 100%);
--color-gradient-green-270: linear-gradient(270deg, rgba(24, 186, 131, 1) 0%, rgba(55, 102, 131, 1) 100%);

--box-shadow:0 0 50px rgba(0,0,0,0.1);

--font-light:100;
--font-regular:500;
--letter-spacing:0.1em;
--transition:0.4s;

--line-height-small: 1.5;
--line-height: 2;
}


/******************/
/******************/
/* ONZE RESET CSS */

*,
*::before,
*::after {
	box-sizing:border-box;
}

* {
border:0;
margin:0;
outline:0;
padding:0;
font:inherit;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
text-decoration:none;
vertical-align:baseline;
/*	all:unset;
	display:revert;*/
}


article, aside, footer, header, main, nav, section {display:block;}
img, picture, audio, canvas, video, svg {display:block; max-width:100%; height:auto;}

br,
hr {display:block;}

ol,
ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:none;}

input,
select {vertical-align:middle;}

body {
	line-height:1;
	line-break:strict;
	overflow-wrap:break-word;
	overflow-wrap:anywhere;
	word-break:normal;
	font-feature-settings:"palt";
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
}

a {-webkit-tap-highlight-color:transparent;}

/******************/
/******************/
/* html format ****/

html {
	font-size:62.5%;
}
html {
	font-size: clamp(10px, calc(100vw / 1600 * 4 + 6px), 11px);
	scroll-behavior: smooth;
}


@media (max-width:750px) {
	html {font-size:clamp(8px, calc(100vw / 1600 * 4 + 5px), 10px);}
}
@media (max-width:370px) {
	html {font-size: 2.1vw;}
}

html.is-fixrem {font-size:62.5%;}

body {
	color:var(--color-dark-green);
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", "Meiryo", sans-serif;
	font-size:16px;
	font-size:1.6rem;
	font-weight:var(--font-regular);
	position:relative;
	text-align:left;
	width:100%;
	letter-spacing: 0.08em;
	overflow-x: hidden;
}

a,
a:link,
a:visited,
a:hover,
a:active {
	color:inherit;
	-webkit-tap-highlight-color:transparent rgba(0,0,0,0);
	text-decoration:none;
	-webkit-text-decoration-skip:objects;
}

h1,
h2,
h3,
h4,
h5,
h6 {display:block; line-height:var(--line-height-small);}

b {color:#998877; color:var(--color-brown);}
i {font-style:normal;}
u {text-decoration:underline;}
em {font-weight:var(--font-bold);}
strong {font-size:1.2em;}
mark {background:transparent;}

q {}
q:before,
q:after {content:'"';}
s {text-decoration:underline;}
del {text-decoration:line-through;}

ins {}
iframe {}

ruby {}
rt {font-size:0.5em;}

sup {vertical-align:super; font-size:smaller;}
sub {vertical-align:sub; font-size:smaller;}

details {margin:0 0 40px 0;}

hr {margin:0 0 40px 0; border:0; border-top:1px solid #ececec; border-color:var(--color-border); height:0;}

table {
	border-collapse:collapse; border-spacing:0; empty-cells:show; border:0; width:100%; margin:0 0 3em 0;
}
table th,
table td {
	padding:2em 1em; vertical-align:top;
	border-top:1px solid #ececec;
	border-bottom:1px solid #ececec;
	border-color:var(--color-border); 
	vertical-align:middle;
}
table caption {
	text-align:left; padding:0 0 0.5em 0; font-size:25px; font-size:2.5rem;
}

::-moz-selection {background-color:var(--color-dark-green); color:#ffffff;}
::selection {background-color:var(--color-dark-green); color:#ffffff;}

/******************/
/******************/
/* shortcodes *****/

.alignright,
.align-right,
.textright,
.text-right {text-align:right;}
.alignleft, .align-left, .textleft, .text-left {text-align:left;}
.center, .aligncenter, .align-center, .textcenter, .text-center {text-align:center; margin-left:auto; margin-right:auto;}
.clear {clear:both;}
.clearfix:after {content:""; clear:both; display:block; height:0; visibility:hidden;}
.empty {visibility:hidden;}
.hide,
.none {display:none;}
.hidden {overflow:hidden;}
.left, .floatleft, .float-left {float:left;}
.right, .float-right, .float-right {float:right;}
.relative {position:relative;}
.absolute {position:absolute;}
.nowrap {white-space:nowrap;}
.small {font-size:0.8em;}

img.left,
img.alignleft,
img.align-left {margin:0 20px 20px 0; float:left;}
img.right,
img.alignright,
img.align-right {margin:0 0 20px 20px; float:right;}
img.full {max-width:100%; width:100%; height:auto;}




/******************/
/******************/
/* WordPress Tags */

img.size-full,
img.size-large,
.wp-post-image,
.post-thumbnail img {
max-width:100%;
width:100%;
height:auto;
}

.wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
#wpstats {display:none;}

.wp-embedded-content {max-width:100%; width:100%;}
.wp-video {margin:0 0 1em 0; max-width:100%; width:100%;}
.wp-video-shortcode {margin:0 0 1em 0; max-width:100%; width:100%;}


/******************/
/******************/
/* header *********/

#vanta-background {
	position: fixed;
	min-height: 100vh;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: -5;
}

.site-header {
	width: 260px;
	height: 100vh;
	min-height: 780px;
	display: block;
	position: fixed;
	backface-visibility: hidden;
	backface-visibility: hidden;
	top: 0;
	left: 0;
	padding: 0;
	margin: 0;
	-webkit-overflow-scrolling: touch;
	z-index: 99;
}
.site-header.is-fixed {
	position: fixed;
	bottom: 0;
	top: auto;
}
.site-header.fixed-bottom {
	position: fixed;
	bottom: 0;
	top: auto;
}
.site-headerader.is-ie,
.site-header.is-ie.is-fixed,
.site-header.is-ie.fixed-bottom {
	position: absolute;
	top: 0;
	bottom: auto;
}
.site-header .header-inner {
	padding: 3rem 2rem;
	height: 100dvh;
	overflow-y: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.site-header .header-inner::-webkit-scrollbar{
	display: none;
}
.site-header .header-inner .header-navi-wrapper {
	height: fit-content;
	padding: 0 0 10rem 0;
}
.site-header .header-logo a {
	display: block;
	padding: 10rem 0 0 0;
	margin: 0;
	background-image: url("images/logo.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.site-header .header-logo .site-title {
	height: 0;
	overflow: hidden;
}
.site-header .site-description {
	height: 0;
	overflow: hidden;
}
.site-header .header-navi{
	margin-top: 7rem;
}
.site-header .header-navi ul {
	width: fit-content;
	margin: 0 auto;
}
.site-header .header-navi ul li {
	margin-bottom: 3rem;
}
.site-header .header-navi ul li a {
	display: block;
	padding-left: 1.5em;
	position: relative;
	text-transform: capitalize;
}
.site-header .header-navi ul li a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) scale(0);
	display: block;
	width: 0.4em;
	height: 0.4em;
	border-radius: 50%;
	transition: 0.5s;
	background-color: var(--color-dark-green);
}
.site-header .header-navi ul li a.current::before {
	transform: translateY(-50%) scale(1);
}
.site-header .header-utility {
	width: fit-content;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 5rem auto 0 auto;
	background-color: var(--color-white);
	border-radius: 999px;
	border: 1px solid var(--color-border);
	padding: 0.5rem;
	cursor: pointer;
}
.site-header .header-utility span {
	display: block;
	padding: 0.5em 1.2em;
	border-radius: 999px;
	font-size: 0.8em;
}
.site-header .header-utility span.current {
	background-color: var(--color-dark-green);
	color: var(--color-white);
}
.site-header .navi-toggle {
	display: none;
}

@media screen and (max-width: 1100px) {
	.site-header {
		pointer-events: none;
		width: 100%;
		height: 100%;
	}
	.site-header.navi-active {
		pointer-events: all;
	}
	.site-header .header-inner {
		padding: 0;
	}
	.site-header .header-inner .header-navi-wrapper {
		padding: 20rem 0 10rem 0;
	}
	.site-header .header-logo {
		position: fixed;
		top: 2rem;
		left: 1rem;
		width: 18rem;
	}
	.site-header .header-logo a {
		pointer-events: all;
		background-image: url("images/logo-sp.svg");
		padding: 6rem 0 0 0;
	}
	.site-header .header-navi {
		margin: 0;
		padding: 0;
		opacity: 0;
		transition: 0.5s;
	}
	.site-header.navi-active .header-navi {
		opacity: 1;
		pointer-events: all;
	}
	.site-header .header-navi ul li a {
		font-size: 2.2rem;
	}
	.site-header .header-utility {
		opacity: 0;
		transition: 0.5s;
	}
	.site-header.navi-active .header-utility {
		opacity: 1;
		pointer-events: all;
	}
	.site-header .navi-toggle {
		display: block;
		position: fixed;
		top: 3rem;
		right: 3rem;
		pointer-events: all;
	}
	.site-header .navi-toggle {
		display: flex;
		width: 45px;
		height: 45px;
		align-items: flex-end;
		flex-wrap: wrap;
		background-color: transparent;
		cursor: pointer;
	}
	.site-header .navi-toggle::before,
	.site-header .navi-toggle::after {
		content: "";
		position: absolute;
		display: block;
		height: 2px;
		border-radius: 999px;
		background-color: var(--color-dark-green);
	}
	.site-header .navi-toggle::before {
		top: 0;
		left: 0;
		width: 100%;
	}
	.site-header .navi-toggle::after {
		top: 35%;
		right: 0;
		width: 60%;
	}
	.site-header .navi-toggle i {
		font-size: 1.8rem;
		color: var(--color-dark-green);
		white-space: nowrap;
	}
}


/******************/
/******************/
/* footer *********/


.site-footer {
	padding: 12rem 0;
	position: relative;
	margin-top: 35%;
	transition: filter 0.5s;
	position: relative;
	z-index: 2;
}
.site-footer::before {
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 150 / 31;
	background-image: url("images/footer-background.svg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: absolute;
	bottom: 100%;
	left: 0;
}
.site-footer::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgb(255, 255, 255, 0.65);
	z-index: -1;
}
.site-footer .decoration-circle-gradient {
	transform: translate(-50%, -50%);
	top: 0;
	left: 50%;
	z-index: -2;
}
.site-footer .footer-logo {
	display: flex;
	margin: 0 auto;
	width: fit-content;
	column-gap: 5rem;
	justify-content: center;
}
.site-footer .footer-logo .logo {
	width: 20rem;
}
.site-footer dl {
	margin: 5rem auto;
	text-align: center;
}
.site-footer dl dt {
	margin-top: 3rem;
	color: #686868;
}
.site-footer dl dd {
	margin-top: 1rem;
	color: #686868;
	font-size: 1.2rem;
	line-height: 1.6;
}
.site-footer .site-info {
	font-size: 1rem;
	text-align: center;
	margin: 5rem auto 0 auto;
	width: fit-content;
	display: block;
	color: var(--color-dark-green);
}

.site-header.navi-active ~ #footer {
	filter: blur(15px);
}
@media screen and (max-width: 750px) {
	.site-footer {
		margin-top: 60%;
	}
}

/******************/
/******************/
/* main ***********/

.site-main {
	padding: 0 0 0 300px;
	position: relative;
	clear: both;
	margin: 0;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	transition: filter 0.5s;
	overflow: hidden;
}
.site-header.navi-active ~ #main {
	filter: blur(15px);
}
@media screen and (max-width: 1100px) {
	.site-main {
		padding: 0;
	}
}


.main-header {}
.main-content {}
.main-footer {}


.site-main a {
	transition:0.4s cubic-bezier(0.4,0.4,0,1);
	transition-property:background-color, color;
}


.main-header {}
.main-content {background-color:#fff; padding:9em 0 0 0;}
.main-footer {clear:both;}


/******************/
/******************/
/* sidebar.php ****/


/******************/
/******************/
/* article ********/

.article {
	margin:0; padding:0; text-align:left;line-height: 1.3;
	word-wrap:break-word;
	overflow-wrap:break-word;
}
.article.has-sidebar {
	float:left;
	width:calc(100% - 280px);
}

.article-sidebar {
	float:right; width:240px; padding:9em 0 0 0;
	text-align:left;
}



@media (max-width:1100px) {
	.article.has-sidebar {float:none; width:100%;}
	.article-sidebar {float:none; width:100%; display:none;}
}
.article-sidebar .module {
	background-color:var(--color-ivory);
	background: #fff;
	border-radius:var(--border-radius);
	box-shadow: 0 0 50px rgba(0,0,0,0.1);
	padding:2em 2em 1em;
}
.article-sidebar .title {
	margin:0 0 0.5em 0;
	font-size:19px; font-size:1.9rem;
}
.article-sidebar select {width:100%; margin:0 0 1em 0;}



.article h1,
.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {
	margin:0 auto 1em auto; line-height:var(--line-height-small);
}

.article h1 {font-size:61px; font-size:6.1rem;}
.article h2 {font-size:45px; font-size:4.5rem;}
.article h3 {font-size:31px; font-size:3.1rem;}
.article h4 {font-size:25px; font-size:2.5rem;}
.article h5 {font-size:21px; font-size:2.1rem;}
.article h6 {font-size:19px; font-size:1.9rem;}




.article p {line-height: 2;}
.article p + p {margin: 2em 0 0 0;}

.article ul,
.article ol {margin:0 0 2em 0; padding:0; list-style:outside;}

.article ul ul,
.article ul ol,
.article ol ul,
.article ol ol {margin-bottom:0;}

.article ul {list-style:none;}
.article ul ul {list-style:circle;}
.article ol {list-style:none;}
.article ol ol {list-style:upper-roman;}


.post-title {text-align:left; margin:0 0 1em 0;}
.post-title .title {
	font-size:51px; font-size:5.1rem; margin:0;
}
.post-title .label {
	font-size:13px; font-size:1.3rem; margin:1em auto 5em 0;
	background-color:var(--color-brown);
	color:#fff;
	padding:0.2em 1em;
	width:fit-content;
	border-radius:var(--border-radius);
}
.post-title .title rt {font-size:13px; font-size:1.3rem;}


.post-content {text-align:left;}
.post-content ul {padding:0;}
.post-content ul li {position:relative; padding-left:1em;}
.post-content ul li::before {
	position: absolute;
	top:0;
	left:0;
	content:"・";
}

.post-content ul li a {color:#1d2b6f; color:var(--oz-color-navy);}
.post-content ul li a:hover {color:#1d2b6f; color:var(--oz-color-navy); text-decoration:underline;}

.post-content ol li {padding:0 0 0 1.6em; text-indent:-1.4em; text-indent:calc(-12px - 0.4em);
	list-style:none;
	counter-increment:number;
}
.post-content ol li:before {content:counter(number) "."; margin:0 0.4em 0 0;}

.post-content dl {margin:0 0 2em 0; padding:0;}
.post-content dl dt {margin:0; position:relative;}
.post-content dl dd {margin:0 0 1em 0; padding:0;}

/*
.article h4.title:not(:first-child) {margin:3em auto 0.5em auto;}
.article h4.title {position:relative; padding:0 0 0;}
.article h4.title::before {
content: "";
width:1.5em;
height: 1px;
border-radius: 2px;
background-color: #c9bc9c;
background-color: var(--color-beige);
position: absolute;
left: -2em;
top: 50%;
}
*/

.article img {max-width:100%; height:auto;width: 100%;}

.article blockquote {
padding:1em;
margin:0 0 2em 1em;
border-left:2px solid #2f2f2f;
}

.article blockquote > *:last-child,
.article blockquote > *:last-child > *:last-child,
.article blockquote > *:last-child > *:last-child > *:last-child {margin:0;}

blockquote cite {font-size:0.8em;}
blockquote cite:before {content:"— "; margin:0 0 0 1em;}

pre, code {
font-family:"Deja-vu Sans Mono", Monaco, "Consolas", "Courier New", "Osaka-mono", "MS Gothic", monospace;
color:#ffffff;
background-color:#2f2f2f;
background-color:var(--color-dark);
border-radius:var(--border-radius);
margin:0 0 1em 0;
padding:0.8em 1em;
font-size:13px; font-size:1.3rem;
white-space:pre-wrap;
word-break:break-all;
word-wrap:break-word;
}

code {display:inline-block; padding:0.1em 0.4em; margin:0 0.2em;}


/*
このコードを記述するとボックスの下に 余白ができてしまうので…
pre::-webkit-scrollbar {width:15px;}
pre::-webkit-scrollbar-thumb {background-color:#ececec;background-color:var(--color-border);}
*/



/******************/
/* section ********/

.section {
	position: relative;
	display: block;
	clear: both;
	margin: 0;
	padding: 25rem 0 0 0;
	z-index: 2;
}
@media screen and (max-width: 750px) {
	.section {
		padding: 20rem 0 0 0;
	}
}

.section-container {}
.section-sidebar {}
.section-content {}
.section-title {}


.section-container {display:flex; justify-content:space-between;}
.section-container .section-sidebar {flex-basis:25%;}
.section-container .section-content {flex-basis:calc(70% - 3em);}

.section-sidebar .-sticky {position:sticky; top:1em;}

@media (max-width:800px) {
	.section-container {display:block;}
	.section-container .section-sidebar,
	.section-container .section-content {width:100%;}
}
.post-left {width:100px; float:left; text-align:center;}
.post-right {float:right; max-width:calc(100% - 120px);}


.type-post h1,
.type-post h2,
.type-post h3,
.type-post h4,
.type-post h5,
.type-post h6 {text-align:left; line-height:1.2;}

.post-date {line-height:1.2;}
.post-date i {display:block; white-space:nowrap;}
.post-date i.month {font-size:2.4em;}
.post-date i.day {font-size:3em;}
.post-date i.year {font-size:2.2em;}

.post-title h3 {font-size:21px; font-size:2.1rem;}



.title {line-height:var(--line-height-small);}


.page-thumbnail {max-height:100vh; height:30vh; overflow:hidden; margin:0 0 60px 0;}
.page-thumbnail img {width:100%;}


.page-title {
	margin:0 0 0 0; padding:13em 0 13em;
	position:relative;
	line-height:var(--line-height-small);
	text-align:left;
	z-index:2;
}
.page-title .title {
	font-size:75px; font-size:7.5rem; letter-spacing:var(--letter-spacing);
	font-weight:var(--font-thin);
}
.page-title i {
	position:relative;
	display:block;
	color:#b0b2b3; color:var(--color-brown);
	font-size:31px; font-size:3.1rem; font-weight:100;
	mix-blend-mode:exclusion;
}
.page-title::after {
content:"";
display:block;
background-image:url("images/wave-white.svg");
background-position:0 center;
background-repeat: repeat-x;
background-size: 1600px 26px;
position:absolute;
left:0; bottom:-1px; width:100%; height:26px; z-index:2;
animation:moveWavePc 6s linear infinite;
}

@media (max-width:1100px) {
	.page-title .title {font-size:51px; font-size:5.1rem;}
}
@media (max-width:600px) {
	.page-title .title {font-size:41px; font-size:4.1rem;}
}


@media screen and (max-width:900px) {
	.page-title {padding:13em 0 9em;}
}


.inner {
	clear: both;
	display: block;
	margin: 0 auto;
	position: relative;
	max-width: 1340px;
	width: 100%;
	padding: 0 100px;
}
.inner:has(.section-title) {
	padding-left: 110px;
}
@media screen and (max-width: 1100px) {
	.inner {
		padding: 0 60px;
	}
	.inner:has(.section-title) {
		padding-left: 170px;
	}
}
@media screen and (max-width: 750px) {
	.inner {
		padding: 0 5%;
	}
	.inner:has(.section-title) {
		padding: 0 5%;
	}
}



.section-title {
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.3;
	padding: 0 1em;
	white-space:nowrap;
}
.section-title h3 {
	writing-mode: vertical-rl;
	font-size: 1.4rem;
	display: flex;
	align-items: center;
}
.section-title h3::before {
	content: "";
	display: block;
	width: 1px;
	height: 9em;
	background-image: var(--color-gradient-green-0);
	margin-bottom: 2rem;
}
.section-title h3 i {
	position: absolute;
	bottom: calc(100% + 2rem);
	left: 0;
	width: 20rem;
}

@media screen and (max-width: 1100px) {
	.section-title {
		left: 60px;
	}
}
@media screen and (max-width: 750px) {
	.section-title {
		position: static;
		margin-bottom: 7rem;
	}
	.section-title h3 {
		font-size: 2rem;
	}
	.section-title h3::before {
		height: 3em;
	}
	.section-title h3 i {
		left: 50%;
		bottom: calc(100% + 1rem);
		transform: translateX(-50%);
	}
}

.button.decoration,
.button .decoration {
	border: 2px solid var(--color-border);
	border-radius: 999px;
	padding: 0.8em 1.5em;
	background-image: var(--color-gradient-green-270);
	color: var(--color-white);
	font-size: 1.8rem;
	width: fit-content;
	display: flex;
	align-items: center;
	column-gap: 2rem;
	cursor: pointer;
}
.button.decoration::after,
.button .decoration::after {
	content: "";
	display: block;
	width: 1.1em;
	height: 1.1em;
	background-image: url("images/arrow-right-white.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: relative;
	left: 0;
	top: 0;
	transition: 0.3s;
}
.button.decoration:hover::after,
.button .decoration:hover::after {
	left: 1rem;
}

.button.-center {margin:2em auto; text-align: center;}
.button.-center a {margin:0 auto;}

@media screen and (max-width: 750px) {
	.button.decoration,
	.button .decoration {
		font-size: 1.5rem;
	}
}

.decoration-circle-gradient {
	width: 50vw;
	aspect-ratio: 1 / 1;
	display: block;
	position: absolute;
	background-image: url("images/decoration-circle-gradient.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
@media screen and (max-width: 750px) {
	.decoration-circle-gradient {
		width: 80vw;
	}
}

/******************/
/******************/
/* front-page.php */
.section-top-hero {
	display: flex;
	align-items: center;
	height: 80vh;
	padding: 0;
	min-height: 800px;
	max-height: 1200px;
}
.section-top-hero .decoration-circle-gradient {
	transform: translateY(-60%);
	top: 0;
	right: -15%;
}
.section-top-hero .logo-mark {
	width: 7rem;
	margin: 0 auto;
}
.section-top-hero h1 {
	margin: 3rem auto 0 auto;
	width: 90%;
	max-width: 775px;
}
.section-top-hero h2 {
	text-align: center;
	margin: 2.5rem 0 0 0;
	font-size: clamp(10px, 2.2vw, 2.8rem);
	letter-spacing: 0.5em;
}
.section-top-hero .date {
	margin: 6rem auto 0 auto;
	width: 50%;
	max-width: 330px;
}
.section-top-hero p {
	margin: 6rem auto 0 auto;
	width: 60%;
	max-width: 520px;
}
@media screen and (max-width: 750px) {
	.section-top-hero {
		min-height: auto;
		height: 80vh;
		padding: 0;
	}
	.section-top-hero h1 {
		width: 95%;
		margin: 5rem auto 0 auto;
	}
	.section-top-hero h2 {
		font-size: 1.8rem;
		margin: 1.5rem 0 0 0;
	}
	.section-top-hero .logo-mark {
		margin: 30vw auto 0 auto;
	}
	.section-top-hero .date {
		margin: 4rem auto 0 auto;
	}
	.section-top-hero p {
		width: 80%;
		margin: 4rem auto 0 auto;
	}
	.section-top-hero .decoration-circle-gradient {
		transform: translateY(-50%);
		right: -35%;
	}
	
}


.section-top-belt {
	padding: 0;
	position: relative;
	height: 18rem;
}
.section-top-belt .slider {
	position: absolute;
	overflow: hidden;
	top: 0;
	right: 0;
	display: flex;
	width: 100vw;
}
.section-top-belt .slider p {
	color: var(--color-white);
	font-size: 16rem;
	display: block;
	letter-spacing: 0.1em;
	font-weight: var(--font-light);
	flex-shrink: 0;
	white-space: nowrap;
	line-height: 1;
	margin: 0;
}
.section-top-belt .slider p:nth-child(odd) {
	animation: MoveLeft 160s -80s infinite linear;
}
.section-top-belt .slider p:nth-child(even) {
	animation: MoveLeft2 160s infinite linear;
}
@keyframes MoveLeft {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}
@keyframes MoveLeft2 {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-200%);
	}
}

.section-top-outline p a {
	padding: 0 0.3em;
	text-decoration: underline;
}
.section-top-outline p a:hover {
	color: #14a8ac;
}
.section-top-outline h4 {
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.section-top-outline h4::before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background-image: url("images/icon-title-decoration.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.section-top-outline p + h4 {
	margin-top: 6rem;
}

.section-top-programs .caption {
	font-size: 2.8rem;
	margin-bottom: 3rem;
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.section-top-programs .caption::before {
	content: "";
	display: block;
	width: 1.2em;
	height: 1.2em;
	background-image: url("images/icon-title-decoration.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.section-top-programs .caption:nth-of-type(2) {
	margin-top: 7rem;
}
.section-top-programs dl {
	display: flex;
	column-gap: 4rem;
	align-items: flex-start;
}
.section-top-programs dl dt {
	padding: 0.2em 1em;
	background-color: var(--color-dark-green);
	color: var(--color-white);
	font-size: 1.6rem;
	margin-top: 3rem;
}
.section-top-programs dl dd {
	width: 100%;
	border-top: 1px solid var(--color-border);
	padding: 3rem 1rem;
}
.section-top-programs dl dd h4 {
	margin: 0;
	font-size: 2rem;
}
.section-top-programs dl dd h4 + p {
	margin: 1rem 0 0 0;
}
.section-top-programs dl dd h5 {
	margin: 0;
	font-size: 1.8rem;
}
.section-top-programs dl dd h5 + p {
	margin: 1rem 0 0 0;
}
.section-top-programs dl dd p {
	font-size: 1.4rem;
}
.section-top-programs dl dd ol {
	margin-top: 2rem;
}
.section-top-programs dl dd ol li + li {
	margin-top: 3rem;
}
@media screen and (max-width: 750px) {
	.section-top-programs .caption {
		font-size: 2.2rem;
	}
	.section-top-programs dl {
		display: block;
		padding: 3rem 0;
		border-top: 1px solid var(--color-border);
	}
	.section-top-programs dl dt {
		width: fit-content;
		margin-top: 0;
	}
	.section-top-programs dl dd {
		padding: 1rem 0 0 0;
		border-top: none;
	}
	.section-top-programs dl dd ol {
		margin-bottom: 0;
	}
}

.section-top-members {
	margin-top: 30rem;
	padding-top: 15rem;
	background-color: rgb(255, 255, 255, 0.65);
	margin-bottom: 30rem;
	z-index: auto;
}
.section-top-members::before {
	content: "";
	position: absolute;
	bottom: 100%;
	right: 0;
	display: block;
	width: 100vw;
	height: 18vw;
	max-height: 280px;
	background-image: url("images/top-member-background-01.svg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom center;
	opacity: 0.65;
}
.section-top-members::after {
	content: "";
	position: absolute;
	top: 100%;
	right: 0;
	display: block;
	width: 100vw;
	height: 21vw;
	max-height: 340px;
	background-image: url("images/top-member-background-02.svg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	opacity: 0.65;
}
.section-top-members .inner:nth-of-type(1) {
	padding-right: 0;
}
.section-top-members .inner:nth-of-type(2) {
	padding-top: 5rem;
}
.section-top-members .background-decoration {
	display: block;
	position: absolute;
	top: 0;
	right: 100%;
	width: 100vw;
	height: 100%;
	background-color: rgb(255, 255, 255, 0.65);
}

.section-top-members .decoration-circle-gradient.top {
	transform: translateY(-70%);
	top: 0;
	left: -40%;
	z-index: -1;
}
.section-top-members .decoration-circle-gradient.bottom {
	transform: translateY(90%);
	width: 60vw;
	bottom: 0;
	right: -30%;
	right: -60%;
	z-index: -1;
}


.section-top-members .content {
	position: relative;
}
.section-top-members .swiper-buttons{
	display: flex;
	align-items: center;
	column-gap: 2rem;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
	margin: 0 0 0 auto;
}
.section-top-members .swiper-button-next,
.section-top-members .swiper-button-prev {
	width: 6rem;
	height: 6rem;
	border: 1px solid var(--color-dark-green);
	border-radius: 50%;
	background-repeat: no-repeat;
	background-size: 40%;
	background-position: center;
	position: static;
	transform: none;
	margin: 0;
	cursor: pointer;
}
.section-top-members .swiper-button-next {
	background-image: url("images/arrow-right-green.svg");
}
.section-top-members .swiper-button-prev {
	background-image: url("images/arrow-left-green.svg");
}
.section-top-members .swiper-button-next::after,
.section-top-members .swiper-button-prev::after {
	display: none;
}
.section-top-members .member-slider .swiper-slide {
	width: 285px;
	padding-right: 50px;
}
.section-top-members .member-slider .swiper-slide .thumbnail {
	border-radius: 1rem;
	border: 2px solid var(--color-border);
	overflow: hidden;
	filter: drop-shadow(5px 5px 10px rgba(42, 99, 96, 0.25));
}
.section-top-members .position {
	margin-top: 1.4em;
	font-size: 1.2rem;
	background-color: var(--color-dark-green);
	padding: 0.3em 1em;
	display: block;
	width: fit-content;
	color: var(--color-white);
	line-height: 1.3;
}
.section-top-members .position + .position {
	margin-top: 0.6em;
}
.section-top-members .name {
	margin-top: 0.3em;
	font-size: 2rem;
	line-height: 1.3;
	position: relative;
	width: fit-content;
}
.section-top-members a .name::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + 1rem);
	transform: translateY(-50%);
	display: block;
	width: 0.9em;
	height: 0.9em;
	background-image: url("images/icon-external.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.section-top-members .ruby {
	margin-top: 0.3em;
	font-size: 1.4rem;
	line-height: 1.3;
}
.section-top-members .member-list {
	margin-top: 5rem;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));
	column-gap: 3rem;
	row-gap: 3rem;
}
.section-top-members .button::after {
	background-image:url("images/arrow-bottom-white.svg");
}
.section-top-members .button:hover::after {
	left: 0;
	top: 0.5rem;
}
.section-top-members .button.accordion-active::after {
	background-image:url("images/arrow-top-white.svg");
}
@media screen and (max-width: 750px) {
	.section-top-members {
		padding-top: 7rem;
		margin-bottom: 10rem;
	}
	.section-top-members::before {
		height: 30vw;
	}
	.section-top-members::after {
		height: 30vw;
	}
	.section-top-members .member-slider .swiper-slide {
		width: 185px;
		padding-right: 20px;
	}
	.section-top-members .inner:nth-of-type(2) {
		padding-top: 2rem;
	}
	.section-top-members .swiper-button-next,
	.section-top-members .swiper-button-prev {
		width: 5rem;
		height: 5rem;
	}
	.section-top-members .position {
		font-size: 1.1rem;
	}
	.section-top-members .member-list {
		grid-template-columns: repeat(auto-fill, minmax(18.8rem, 1fr));
		column-gap: 3rem;
		row-gap: 1rem;
	}
	.section-top-members .member-list .name {
		font-size: 1.8rem;
	}
	.section-top-members .decoration-circle-gradient.bottom {
		right: -30%;
	}
}

.section-top-sponsors {
	display: none;
}
.section-top-sponsors .content {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	column-gap: 3rem;
	row-gap: 3rem;
}
.section-top-sponsors .item .thumbnail {
	overflow: hidden;
	border: 2px solid var(--color-border);
	border-radius: 1rem;
	filter: drop-shadow(5px 5px 10px rgba(42, 99, 96, 0.25));
}
.section-top-sponsors .item .name {
	line-height: 1.3;
	padding-left: 1.2em;
	margin-top: 1rem;
	position: relative;
}
.section-top-sponsors .item .name::after {
	content: "";
	position: absolute;
	top: 0.4em;
	left: 0;
	display: block;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background-color: var(--color-dark-green);
}
@media screen and (max-width: 750px) {
	.section-top-sponsors .content {
		grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
		column-gap: 2rem;
	}
}



.section-top-contact .content {
	display: flex;
	justify-content: space-between;
}
.section-top-contact .content .logo {
	width: 40%;
}
.section-top-contact .content .description {
	width: 53%;
}
.section-top-contact .content .description p {
	margin-bottom: 2rem;
	margin-top: 11%;
}
@media screen and (max-width: 750px) {
	.section-top-contact .content {
		display: block;
	}
	.section-top-contact .content .logo {
		width: 70%;
		margin: 0 auto;
		max-width: 270px;
	}
	.section-top-contact .content .description {
		width: 100%;
	}
	.section-top-contact .content .description .button {
		margin: 0 auto;
	}
}
/******************
/******************/
/* page.php *******/

.gallery-selector ol {text-align:center; margin:0 auto 40px; font-size:13px; font-size:1.3rem; line-height:1;}
.gallery-selector ol li {
	display:inline-block;
	white-space:nowrap;
	background-color:#ffffff; border:1px solid #c9bc9c; border-color:var(--color-beige); color:#998877; color:var(--color-brown); cursor:pointer;
	margin:0 0.5em 0.5em 0;
	padding:0.9rem 1.5rem;
	border-radius:20px;
}
.gallery-selector ol li i {display:block;}
.gallery-selector ol li:hover {
	background-color:#998877; background-color:var(--color-brown); color:#ffffff;
	border-color:var(--color-brown); 
}
.gallery-selector ol li.mixitup-control-active {
	background-color:#998877; background-color:var(--color-brown); color:#ffffff;
	border-color:var(--color-brown);
}
.gallery-selector ol li.mixitup-control-active:hover {background-color:#998877; background-color:var(--color-brown);
	cursor:default;
}

.mixitup-page-list {text-align:center; clear:both; margin:0 auto; height:auto; padding:0 0 40px 0; line-height:1;
	-webkit-transition:0.4s cubic-bezier(.39, .575, .565, 1);
	-moz-transition:0.4s cubic-bezier(.39, .575, .565, 1);
	-ms-transition:0.4s cubic-bezier(.39, .575, .565, 1);
	-o-transition:0.4s cubic-bezier(.39, .575, .565, 1);
	transition:0.4s cubic-bezier(.39, .575, .565, 1);
}
.mixitup-page-list.mixitup-page-list-disabled {opacity:0; height:0; padding:0;
	-webkit-transition:0.4s cubic-bezier(.39, .575, .565, 1);
	-moz-transition:0.4s cubic-bezier(.39, .575, .565, 1);
	-ms-transition:0.4s cubic-bezier(.39, .575, .565, 1);
	-o-transition:0.4s cubic-bezier(.39, .575, .565, 1);
	transition:0.4s cubic-bezier(.39, .575, .565, 1);
}
.mixitup-page-list .mixitup-control {padding:6px 12px; display:inline-block; margin:0 2px; background-color:#ffffff;background-color:var(--color-white);color:#998877; color:var(--color-brown); border:1px solid #998877; border-color:var(--color-brown); cursor:pointer;}
.mixitup-page-list .mixitup-control:hover {background-color:#998877; background-color:var(--color-brown); color:#ffffff;}
.mixitup-page-list .mixitup-control.mixitup-control-active {background-color:#998877; background-color:var(--color-brown); color:#ffffff;}
.mixitup-page-list .mixitup-control-prev,
.mixitup-page-list .mixitup-control-next {border:0; background:0; color:#2f2f2f; color:var(--color-dark);}
.mixitup-page-list .mixitup-control-prev:hover,
.mixitup-page-list .mixitup-control-next:hover {border:0; background:none; color:#998877; color:var(--color-brown);}
.mixitup-page-stats {display:none;}



/******************/
/******************/
/* page.php single.php single-custompost.php *****/

.page-title {}
.single-title {}
.single-custompost-title {}

.page-meta {}
.single-meta {}
.single-custompost-meta {}

.page-thumbnail {}
.single-thumbnail {}
.single-custompost-thumbnail {}

.page-content {}
.single-content {}
.single-custompost-content {}


/******************/
/* single-custom-post.php */

.single-works-title,
.single-works-meta,
.single-works-content {}


.single-works-title {display:block;}
.single-works-title .title {
	font-size:45px;
	font-size:4.5rem;
}
.single-works-title .subtitle {
	order:1;
	display:block;
	margin:0 auto 0 0;
	font-size:17px;
	font-size:1.7rem;
}
.single-works-title .title i {font-weight: var(--font-medium);}
.type-onze-custom-works .single-works-title h3 {order:3;
	font-size:15px; font-size:1.5rem;
	color:#a0aab4;
	margin:2em auto 0;
}



.single-works-content .sub-title {text-align:center; position:relative; z-index:3;}
.single-works-content .entry-title {margin:0 auto 60px;}


.single-works-content {text-align:left;}
/*
.type-onze-custom-works .box {background:transparent; padding:0 12px; margin:0;}
.type-onze-custom-works .box img {max-width:100%; height:auto;}
*/
.single-works-content .text {
	padding:0;
	display:block;
	position:sticky;
	top:6rem;
}

.single-works-content .flex-container {
	flex-direction:row-reverse;
	margin:0 0 4em 0;
}
.single-works-content .flex-container .flex-item:nth-child(1) {
	flex-basis:calc(50% + 1rem);
	margin:0;
}
.single-works-content .flex-container .flex-item:nth-child(2) {
	flex-basis:calc(50% - 10rem);
	padding:2em 0 0 0;
	margin:0;
	margin-right:auto;
}

.single-works-content .thumbnail {
	margin:2em 0 0 0; position:relative;
	line-height:1; border:1px solid var(--color-border);
	overflow:hidden;
	border-radius:var(--border-radius);
}
.single-works-content .figcaption {display:none; position:absolute;}
.single-works-content img {width:100%; display:block;}

@media (max-width:1200px) {
	.single-works-content .flex-container .flex-item:nth-child(1) {flex-basis:calc(50%);}
	.single-works-content .flex-container .flex-item:nth-child(2) {flex-basis:calc(48% - 10rem);}
}
@media screen and (max-width:1000px) {
	.single-works-content .flex-container {display:block;}
	.single-works-content .flex-container .flex-item:nth-child(2) {padding:5rem 2% 0 2%;}
}


.single-works-content h4,
.single-works-content h5 {color:#fff;}
.single-works-content h4 {font-weight:var(--font-medium); font-size:29px; font-size:2.9rem; margin:0 0 1.5em 0;}
.single-works-content h5 {font-weight:var(--font-medium); font-size:21px; font-size:2.1rem;}
.single-works-content p {}
.single-works-content dl dt {
	width:fit-content; border-bottom:1px solid #fff; padding:0 0.5em;
	line-height:1.7;
	margin:1em auto 0.3em 0;
	font-size:19px; font-size:1.9rem;
}
.single-works-content dl dd {
	margin:0 0 2em 1em;
	font-size:13px; font-size:1.3rem;
}

.single-works-content .note {margin:0 0 2em 0;}
.single-works-content .note dl {
	text-align:left;
	line-height:var(--line-height); text-transform:uppercase;
	padding:2em 2em 1em;
	font-size:13px; font-size:1.3rem; letter-spacing:var(--letter-spacing);
	margin:4em 0 0 0;
	box-shadow: 0 0 50px rgba(0,0,0,0.1);
	border-radius:var(--border-radius);
}
.single-works-content .note dl dt {
	margin:0 0 2px 0;
	padding:0; border:0; color:var(--color-brown); font-size:11px; font-size:1.1rem;
}
.single-works-content .note dl dd {margin:0 0 1em 0; padding:0 0 0 0.5em;}
.single-works-content .note dl dd a {text-decoration:underline; color:#c9bc9c; color: var(--color-beige);}
.single-works-content .note dl dd a:hover {color: var(--color-brown);}


/******************/
/* 404.php ********/


body.error404 .site-header,
body.error404 .site-footer,
body.error404 .site-decoration,
body.error404 .footer-background {display:none;}


/******************/
/******************/
/* comments.php ***/


/******************/
/******************/
/* materials ******/


.background {
	display:block;
	position:absolute; width:100%; top:0; left:0; bottom:0; right:0;
	pointer-events:none;
	z-index:-1;
}
.background-ivory {background-color:#f8f8f6;}
.background-ivory:before,
.background-ivory:after {
content:"";
background-image:url("images/wave-beige.svg");
background-position:0 center;
background-repeat: repeat-x;
background-size: 1600px 26px;
position:absolute;
left:0; width:100%; height:26px;
animation:moveWavePc 6s linear infinite;
}
.background-ivory:before {bottom:calc(100% - 1px);}
.background-ivory:after {top:calc(100% - 26px); background-image:url("images/wave-white.svg");}




a.linktext {color:#c9bc9c;}
a.linktext:hover {color:#998877; color:var(--color-brown); text-decoration:underline;}

.adr span {margin:0; display:inline;}


.category-selector {clear:both; width:auto; margin:0 auto 5em; line-height:1.3;}
.category-selector ol {
	display:flex;
	flex-wrap:wrap;
	justify-content:center; text-align:center;
	width:auto;
	font-size:13px; font-size:1.3rem;
	margin:-1rem;
}
.category-selector ol li {
	padding:1rem;
	text-align:center;
	cursor:pointer;
	flex:0 1 auto;
	flex-grow:0;
	flex-shrink:1;
	flex-basis:25%;
}
.category-selector ol li button {
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:transparent;
	border:1px solid #c9bc9c;
	border-color:var(--color-beige);
	border-radius:40px;
	color:#998877;
	color:var(--color-brown);
	padding:1.5rem 1rem;
	text-align:left;
	width:100%;
}
.category-selector ol li button::before {
	content:""; display:inline-block; width:1em; height:1em; margin:0 1em 0 0;
	background:url("images/arrow-bottom-beige.svg") 0 0 no-repeat;
	background-size:1em 1em;
}
/*
.category-selector ol li.is-active a,
.category-selector ol li a:hover {
	background-color:#c9bc9c;
	background-color:var(--color-beige);
	color:#fff;
}
.category-selector ol li.is-active a::before,
.category-selector ol li a:hover::before {
	background-image:url("images/arrow-bottom-white.svg")
}
*/


.tab-selector ol {
	display:block; justify-content:space-between;
	gap:2%;
	padding:0; margin:0 auto 2em; width:100%;
	position:relative;
}
.tab-selector ol li {
	flex:0 1 auto;
	flex-grow:1;
	flex-shrink:1;
	flex-basis:auto;
	display:flex;
	align-items:center;
	padding:0; cursor:pointer;
	white-space:nowrap;
	color:var(--color-gray);
}
.tab-selector ol li::before {
	content:"";
	width:4px;
	height:4px;
	margin:0 0.5em 0 0;
	border-radius: 50%;
	background-color:var(--color-gray);
}
.tab-selector ol li::after {
	content:"";
	display:inline-block;
	width:1em; height:1em;
	background-size:15px;
	margin:0 0 0 1em;
}
.tab-selector ol li:hover {color:var(--color-beige);}
.tab-selector ol li:hover::before {background-color:var(--color-beige);}
.tab-selector ol li.is-active,
.tab-selector ol li.is-active button {color:var(--color-black);}
.tab-selector ol li.is-active::before {background-color:var(--color-black);}
.tab-selector ol li button {background-color:transparent; color:var(--color-gray);}
.tab-selector ol li br {display:none;}

.tab-selector ol li button:hover {color:var(--color-beige); cursor:pointer;}
.tab-selector ol li.is-active button:hover {color:var(--color-black);}



.category-selector ol li.is-active button {
	background-color:var(--color-beige);
	background:linear-gradient(90deg, rgba(237,224,194,1) 0%, rgba(201,188,156,1) 100%);
	border-color:var(--color-ivory);
	color:#fff;
}
.category-selector ol li.is-active button:hover {
	background-color:var(--color-beige);
}
.category-selector ol li button:hover {cursor:pointer;}
.category-selector ol li.is-active button::before,
.category-selector ol li button:hover::before {
	background-image:url("images/arrow-bottom-white.svg");
}
.category-selector ol li button:hover {color:#fff; background-color:var(--color-beige);}

/*
.category-selector ol li.is-active a,
.category-selector ol li a:hover {
	background-color:#c9bc9c;
	background-color:var(--color-beige);
	color:#fff;
}
.category-selector ol li.is-active a::before,
.category-selector ol li a:hover::before {
	background-image:url("images/arrow-bottom-white.svg")
}
*/



.figure {
	display:block;
	border-radius:2em;
	overflow:hidden;
	-webkit-mask-image:url(images/figure-mask.svg);
	mask-image:url("images/figure-mask.svg");
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	margin:0;
	line-height:1;
}
.figure img {width:100%; height:auto;}

.notice-box {
	padding:2rem 3rem;
	margin:0;
	border-radius:var(--border-radius);
	background-color:rgba(201,188,156,0.15);
	background-color:#f8f8f6;
	background-color:var(--color-ivory);
}
.notice-box .notice-title {
	font-size:15px; font-size:1.5rem;
	color:#998877; color:var(--color-brown); 
	margin:0 auto 0;
}
.notice-box .notice-description {font-size:13px; font-size:1.3rem; margin:0 0 0 1em;}
.notice-box .notice-description:not(:last-child) {margin-bottom:1em;}
.notice-box table {font-size:13px; font-size:1.3rem;}
.notice-box table caption {font-size:15px; font-size:1.5rem;}
.notice-box table th,
.notice-box table td {padding:1em;}

.notice-box ol {margin:0 0 0 2em; font-size:13px; font-size:1.3rem;}
.notice-box ol li {list-style-type:decimal;}

/******************/
/******************/

.alert {
clear:both; display:block;color: inherit;
border:1px solid transparent;
display:block;
padding:1rem;
-webkit-border-radius:4px;
-moz-border-radius:4px;
-ms-border-radius:4px;
-o-border-radius:4px;
border-radius:4px;
color:red;
border-color:red;
background-color:transparent;
margin:0 0 1em 0;
}

.alert-success {border-color:blue; color:blue;}
.alert-error {border-color:red; color:red;}
.alert-warning {border-color:yellow; color:yellow;}

.alert > p {margin:0;}
.alert em, .alert strong {font-weight:bold;}

span.close {float:right; color:inherit; cursor:pointer;}

/******************/
/* Flexbox System & Table System */


.table-container {
	display:table; table-layout:fixed; border-collapse:collapse; width:100%; position:relative; margin:0; padding:0;
}
.table-cell {
	display:table-cell; vertical-align:top; position:relative; margin:0; padding:0; empty-cells:show;
}

.flex-container {
margin:0; padding:0; list-style:none;
display:-webkit-flex;
display:flex;
flex-wrap:wrap;
flex-direction:row;
align-items:stretch;
align-content:stretch;
-webkit-justify-content:space-between;
justify-content:space-between;
}

.flex-item {
	margin:0 0 4% 0; padding:0;
	flex:0 1 auto;
	flex-grow:0;
	flex-shrink:1;
	flex-basis:auto;
}

.flex-container-2 .flex-item {flex-basis:50%;}
.flex-container-3 .flex-item {flex-basis:30%;}
.flex-container-4 .flex-item {flex-basis:22%;}


.columns {
	columns:2;
	column-gap:4em;
	column-rule:1px dotted;
}


/******************/
/* responsive-table */

.r-table,
.responsive-table {overflow:scroll; width:100%;}

/******************/
/******************/
/* breadcrumbs ****/

.breadcrumbs {
	clear:both; display:block; margin:2em 0 0 0; padding:0;
	line-height:var(--line-height-small); font-size:13px; font-size:1.3rem;
	color:var(--color-brown);
	-ms-overflow-style: none;
	overflow:hidden;
}
.breadcrumbs::-webkit-scrollbar{
	display: none;
}

.breadcrumbs ul {
	padding:0; margin:0 auto; list-style:none; white-space:nowrap;
	-webkit-overflow-scrolling:touch;
	overflow-scrolling:touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.breadcrumbs ul::before {content:"・"; color:var(--color-black); font-weight:var(--font-bold);}
.breadcrumbs ul li {display:inline-block;}
.breadcrumbs ul li:after {content:"\00BB"; margin:0 12px;}
.breadcrumbs ul li:first-child:before {}
.breadcrumbs ul li:last-child:after {content:"";}
.breadcrumbs ul li a {color:var(--color-brown);}
.breadcrumbs ul li a:hover {text-decoration:underline; color:var(--color-brown);}

/******************/
/******************/
/* navigation *****/
/*
.navigation {margin:0 auto 40px; clear:both;}
.navigation:after {content:""; clear:both; display:block; height:0; visibility:hidden;}
.navigation span {}
.navigation .navi-prev {text-align:left; float:left;}
.navigation .navi-next {text-align:right; float:right;}
.navigation .navi-prev a:before {content:"＜"; margin-right:4px;}
.navigation .navi-next a:after {content:"＞"; margin-left:4px;}
*/
/******************/
/* pagination *****/

.pagination {margin:0 auto 5em; clear:both;}
.pagination ul {text-align:center; font-size:11px; font-size:1.1rem;}
.pagination ul li {display:inline-block; margin:0 1px 4px;}
.pagination span,
.pagination ul li a {padding:0.5em 1em;
	background-color:var(--oz-color-ivory); color:var(--color-brown);
	border:1px solid #292548; border-color:var(--color-beige);
	border-radius:var(--border-radius);
}
.pagination ul li a:hover {color:#ffffff; background-color:var(--color-beige);}
.pagination span.dots {border:0; background:transparent;
	padding:0.5em 0;
}
.pagination span.current {
	color:#fff; background-color:var(--color-brown);
	border-color:var(--color-brown);
}




/******************/
/* page-links *****/

.page-links {
	clear:both; text-align:center; margin:3em auto 5em;
	width:auto; max-width:fit-content;
	display:table; table-layout:fixed;
	empty-cells: show;
	font-size:13px; font-size:1.3rem;
	border-collapse:separate;
}
.page-links span {padding:0 2px; empty-cells:show; display:table-cell;}
.page-links .navi-prev {text-align:center;}
.page-links .navi-next {text-align:center;}
.page-links .navi-index {text-align:center;}
.page-links a {
	background:left 1em center no-repeat;
	background-size:1em auto;
	border:1px solid var(--color-beige); background-color:#fff; color:var(--color-beige);
	display:block;
	border-radius:3em;
	padding:0 1em;
	white-space:nowrap;
}
.page-links .navi-prev a {text-align:right; background-image:url("images/arrow-left-beige.svg"); 
padding:0 1em 0 3em;
}
.page-links .navi-next a {text-align:left; background-image:url("images/arrow-right-beige.svg"); padding:0 3em 0 1em;
	background-position:right 1em center;
}
.page-links .navi-index a {text-align:left;padding:0 1em 0 3em;
	background-image:url("images/arrow-index-beige.svg");
}
.page-links a:hover {background-color:var(--color-beige); color:#ffffff;}
.page-links .navi-prev a:hover {background-image:url("images/arrow-left-white.svg");}
.page-links .navi-next a:hover {background-image:url("images/arrow-right-white.svg");}
.page-links .navi-index a:hover {background-image:url("images/arrow-index-white.svg");}

.single-works-links {
	display:table; width:fit-content; margin:5em auto 5em; border-collapse:separate; border-spacing:0.5em;
	font-size:13px; font-size:1.3rem;
}
.single-works-links div {display:table-cell; padding:0 2px;}
.single-works-links button {}
.single-works-links a {
	border:1px solid var(--color-beige);
	color:var(--color-beige);
	border-radius:50px;
	width:100%; display:block;
	padding:0 1em;
}
.single-works-links a:hover {
	background-color:var(--color-beige);
	color:#fff;
}
.single-works-links .center i:after {background-image:url("../images/arrow-small-index-beige.svg");}
.single-works-links .center a:hover i:after {background-image:url("../images/arrow-small-index-white.svg");}
.single-works-links .prev i:after {display:none;}
.single-works-links .prev i:before {
	content:""; display:inline-block; background:url("../images/arrow-small-left-beige.svg") 0 bottom no-repeat; 
background-position:left bottom 1px;
background-size:contain; width:1.1em; height:1em; margin:0 0.5em 0 0;
}
.single-works-links .prev a:hover i:before {
	background-image:url("../images/arrow-small-left-white.svg");
}



/******************/
/******************/
/* plugins ********/



body.is-modal {overflow:hidden;}
.modal {display:none;
position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(255,255,255,0.8);
overflow-y:scroll;
-webkit-overflow-scrolling:touch;
overflow-scrolling:touch;
z-index:99999;
}

.modal-close {cursor:pointer; position:absolute; top:12px; right:12px; width:40px; height:40px;
background:#ffffff center center no-repeat;
	-webkit-background-size:20px 20px;
	-moz-background-size:20px 20px;
	-ms-background-size:20px 20px;
	-o-background-size:20px 20px;
	background-size:20px 20px;
	background-color:var(--color-white);
border:1px solid #f578b9;
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHN7ZmlsbDojZjU3OGI5O308L3N0eWxlPjwvZGVmcz48cG9seWdvbiBjbGFzcz0iY2xzIiBwb2ludHM9IjIwIDEuMjUgMTguNzUgMCAxMCA4Ljc1IDEuMjUgMCAwIDEuMjUgOC43NSAxMCAwIDE4Ljc1IDEuMjUgMjAgMTAgMTEuMjUgMTguNzUgMjAgMjAgMTguNzUgMTEuMjUgMTAgMjAgMS4yNSIvPjwvc3ZnPg==");
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	-ms-border-radius:50%;
	-o-border-radius:50%;
	border-radius:50%;
color:transparent;
}
.modal-close:hover {
background-color:#998877; background-color:var(--color-brown);
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHN7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48cG9seWdvbiBjbGFzcz0iY2xzIiBwb2ludHM9IjIwIDEuMjUgMTguNzUgMCAxMCA4Ljc1IDEuMjUgMCAwIDEuMjUgOC43NSAxMCAwIDE4Ljc1IDEuMjUgMjAgMTAgMTEuMjUgMTguNzUgMjAgMjAgMTguNzUgMTEuMjUgMTAgMjAgMS4yNSIvPjwvc3ZnPg==");
}


.modal-window {
background-color:#ffffff; background-color:var(--color-white);
width:100%; max-width:640px; margin:0 auto;
position:relative;
	-webkit-border-radius:12px;
	-moz-border-radius:12px;
	-ms-border-radius:12px;
	-o-border-radius:12px;
	border-radius:12px;
padding:60px 40px 20px;
text-align:left;
z-index:999999;
cursor:default;
}



/******************/
/* jquery-tabs ****/



/******************/
/* ContactForm7 ***/



.form {clear:both; display:block; padding:0; margin:0 auto 5em;}
.form table {line-height:var(--line-height-small); border:0;}
.form table th,
.form table td {border:0; padding:1em 0.5em 0.1em; vertical-align:middle;}
.form table th {text-align:center; font-size:13px; font-size:1.3rem; padding:16px 4px;}
.form table td {}
.form table th i {display:block; font-size:21px; font-size:2.1rem; color:#998877; color:var(--color-brown);}


@media screen and (max-width:680px) {
	.form table th,
	.form table td {display:block; text-align:left; padding:0;}
	.form table th {border:0; padding:0; margin:0 0 12px 0;}
	.form table th i {display:inline-block; margin: 0 1em 0 0;}
	.form table td {padding:0 0 16px 0;}	
}


form {}
fieldset {}
label {}

::-webkit-input-placeholder,
::-moz-placeholder,
:-moz-placeholder,
:-ms-input-placeholder {color:#2f2f2f;}

[type="search"] {
/*-webkit-appearance:textfield;
-moz-appearance:textfield;
-ms-appearance:textfield;
-o-appearance:textfield;
appearance:textfield;*/
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="file"],
select,
textarea {
width:auto;
max-width:100%;
	-webkit-border-radius:1em;
	-moz-border-radius:1em;
	-ms-border-radius:1em;
	-o-border-radius:1em;
	border-radius:1em;
display:block;
position:relative;
/*-webkit-appearance:none;
-moz-appearance:none;
-ms-appearance:none;
-o-appearance:none;
appearance:none;*/
padding:2em 1.5em; margin-bottom:1em; line-height:normal;
border:1px solid #f5f5f5;
background-color:rgba(77,77,77,.05);
}


input[type="checkbox"],
input[type="radio"] {}
input[type="file"] {cursor:pointer; width:auto;}
input[name="your-address"] {width:100%;}
select {width:auto; padding:12px; border:1px solid #ececec;}
textarea {width:100%;}

input[type="submit"] {
background:transparent;
background-color:transparent;
border:1px solid #998877; border-color:var(--color-beige); border-radius:50px;
cursor:pointer;
color:var(--color-beige);
margin:0 auto; text-align:center;
font-weight:var(--font-regular);
	appearance:none;
	display:block;
	padding:1em 2em;
}

input[type="submit"][disabled],
input[type="submit"][disabled]:hover {
	color:var(--color-white); background:var(--color-gray); border:1px solid var(--color-gray); cursor:not-allowed;}

input[type="submit"]:hover {
	background-color:var(--color-beige);
	color:#fff;
}


input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
border:1px solid #998877; border-color:var(--color-brown);
}

textarea {height:auto; min-height:100px;}
select {}


@media screen and (max-width:960px) {
	input[type="text"],
	input[type="password"],
	input[type="date"],
	input[type="datetime"],
	input[type="email"],
	input[type="number"],
	input[type="search"],
	input[type="tel"],
	input[type="time"],
	input[type="url"] {width:100%;}
	select {width:auto;}
	textarea {width:100%;}
}
	

.wpcf7{}

.screen-reader-response {display:none;}

.wpcf7-response-output {
	margin:0 auto 1em; padding:0 2em;
	border:0;
	border-radius:var(--border-radius);
	text-align:center; display:block;
	color:#fff;
	background-color:var(--color-brown);
	clear:both;
	width:fit-content;
}

.wpcf7-mail-sent-ok {
border:1px solid #998877; border-color:var(--color-brown);
color:blue;
padding:12px;
margin:0 0 20px 0;
}

.wpcf7-validation-errors {
border:1px solid #988777;
color:#988777;
padding:12px;
margin:0 0 20px 0;
}

.wpcf7 span {}
.wpcf7-form-control-wrap {margin:0; display:block;}
.wpcf7 span.wpcf7-list-item-label {margin:0 1em 0 0; display:inline-block;}
.wpcf7 span.use_label_element {margin-bottom:20px; display:block;}
.wpcf7 span.wpcf7-not-valid-tip {
	color:#fff; font-size:13px; font-size:1.3rem; display:block;
	position:absolute;
	background-color:#988777;
	margin:-3em auto auto 1em;
	display: block;
	border: 2px solid #988777;
	border-radius:var(--border-radius);
	padding: 0.5em 1em 0.5em;
	z-index:9;
}
.wpcf7 span.wpcf7-not-valid-tip-no-ajax {display:none;}

.wpcf7 .wpcf7-form-control {}
.wpcf7 .wpcf7-list-item {
	margin:0 0 1em 0;
	text-align:left;
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {display:none;}
.wpcf7 label {cursor:pointer;}
.wpcf7-list-item {position:relative; display:inline-block;}
.wpcf7-list-item-label {min-height:20px; line-height:24px; vertical-align:middle; padding:0 0 0 32px; display:inline-block; position:relative;}
.wpcf7-list-item-label:before {
	width:1.5em;
	height:1.5em; content:'';
	position: absolute; left:0; top:0; background-color:#ffffff; background-color:var(--color-white);
	border:2px solid var(--color-border); display:inline-block;
	border-radius:var(--border-radius);
}
.wpcf7-list-item-label:after{
width:1em; height:0.6em; left:0.3em; top:0.3em;
border:2px solid #998877; border-color:var(--color-brown);
content:''; position:absolute;
	transform:rotate(-45deg);
border-top:none; border-right:none;
	transition:all 0.3s;
opacity:0;
}
input[type="radio"]:checked + .wpcf7-list-item-label:after,
input[type="checkbox"]:checked + .wpcf7-list-item-label:after {opacity:1;}

.wpcf7 input.wpcf7-submit {margin:0 auto;}

img.ajax-loader {display:block; margin:12px auto 0;}

.wpcf7 .sent .form {display:none;}



/******************/
/******************/
/* Media Query ****/

@media screen and (max-width:900px) {
	.site-main {width:100%; margin:0; padding:0;}
	small#site-info {margin:0 auto;}
}

/* ▲ iPad Air4 横（820px） ▼ */
@media screen and (max-width:800px) {

}

/* ▲ iPhone 6+ 横（736px） ▼ */
@media screen and (max-width:720px) {

}



/* ▲ Mac OS Safari - Minimum(504px) ▼ */
@media screen and (max-width:520px) {

}

/* ▲ iPhone 6+ - iPhone 6 414px▼ */
@media screen and (max-width:400px) {

}


/* ▲ iPod touch 320px ▼ */
@media screen and (max-width:300px) {

}

/******************/
/******************/
/* fonts **********/


.font-gothic {font-family:'YuGothic', 'Yu Gothic', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'Helvetica', sans-serif;}
.font-mincho {font-family:'YuMincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN W3', 'Meiryo', 'メイリオ', 'Times New Roman', serif;}
.font-mono {font-family:"Osaka-mono", "MS Gothic", monospace;}
.bold {font-weight:bold;}


[data-title]::before,
[data-title]::after,
i {font-family: 'Outfit', sans-serif;}


/******************/
/******************/
/* Keyframes ******/

@keyframes moveWaveSp {
	0% {background-position:0 center;}
	100% {background-position:-500px center;}
}

@keyframes moveWavePc {
	0% {background-position:0 center;}
	100% {background-position:-1600px center;}
}

@-webkit-keyframes rotation {
	0% {-webkit-transform:rotate(0deg);}
	100% {-webkit-transform:rotate(360deg);}
}
@-moz-keyframes rotation {
	0% {-moz-transform:rotate(0deg);}
	100% {-moz-transform:rotate(360deg);}
}
@-ms-keyframes rotation {
	0% {-ms-transform:rotate(0deg);}
	100% {-ms-transform:rotate(360deg);}
}
@-o-keyframes rotation {
	0% {-o-transform:rotate(0deg);}
	100% {-o-transform:rotate(360deg);}
}
@keyframes rotation {
	0% {transform:rotate(0deg);}
	100% {transform:rotate(360deg);}
}
/*
	-webkit-animation:rotation 1s infinite linear;
	-moz-animation:rotation 1s infinite linear;
	-ms-animation:rotation 1s infinite linear;
	-o-animation:rotation 1s infinite linear;
	animation:rotation 1s infinite linear;
*/




/* end ************/
/******************/
/******************/
