@charset "UTF-8";

/*
Theme Name: cornne 2025
Text Domain: cornne-2025
Description: コルネ専用ワードプレステーマ
Author: cornne
Author URI: https://cornne.com
Theme URI: https://cornne.com
Version: 0.9
*/


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

:root {
--color-black:#2f2f2f;
--color-dark:#2f2f2f;
--color-gray:#B0B2B3;
--color-border:#ececec;
--color-ivory:#f8f8f6;
--color-brown:#998877;
--color-beige:#c9bc9c;
--color-white:#ffffff;
--color-gradient:linear-gradient(90deg, rgba(237,224,194,1) 0%, rgba(201,188,156,1) 100%);
--box-shadow:0 0 35px rgba(0,0,0,0.1);
--font-thin:100;
--font-light:300;
--font-regular:400;
--font-bold:600;
--border-radius:1em;
--border-radius-large:1.5em;
--letter-spacing:0.2em;
--line-height:1.5;
--line-height-small:1.3;
--transition:0.4s;
}


/******************/
/******************/
/* 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%;
	/*font-size:calc(100vw / 144);*/
}
html {font-size:clamp(10px, calc(100vw / 1600 * 4 + 6px), 11px);}


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

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

body {
background-color:#fff;
color:#2f2f2f;
font-family:'Noto Sans JP', "Yu Gothic", "YuGothic", sans-serif;
font-family:'M PLUS Rounded 1c', sans-serif;
font-size:15px;
font-size:1.5rem;
font-weight:var(--font-light);
position:relative;
text-align:center;
width:100%;
}

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:#998877; background-color:var(--color-brown); color:#ffffff;}
::selection {background-color:#998877; background-color:var(--color-brown); 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;}

.title {
	/*
	font-family: YuMincho, "游明朝", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Sawarabi Mincho", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", "HiraMinProN-W3", "TakaoEx明朝", TakaoExMincho, "MotoyaLCedar", "Droid Sans Japanese", serif;*/
}


.inner {
	clear:both; display:block; margin:0 auto; position:relative; max-width:1600px; width:100%;
	padding:0 5%;
	padding-left:calc(200px + 5%);/*margin-left:calc(180px + 2%);*/
}
.inner[data-width="max"] {max-width:100%; padding:0 5%;}
.inner[data-width="mid"] {max-width:1600px;}
.inner[data-width="min"] {max-width:1200px;}



@media (max-width:900px) {
	.inner {padding:0 calc(5% + 13px);}
}



@media (max-width:600px) {
	.inner {padding:0 calc(3% + 13px);}
}


/******************/
/******************/
/* 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 *********/

.site-background {
	position:fixed;
	min-height:100vh; width:100%;
	top:0; left:0; right:0; bottom:0;
	pointer-events:none;
	z-index:-2;
}
.site-window {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background:transparent;
	border: 15px solid #fff;
	pointer-events: none;
	z-index: 999;
}
.site-window::before {
	content:""; position:fixed; display:block;
	top: 15px;
	left: 15px;
	right: 15px;
	bottom: 15px;
	background:transparent;
	border: 1px solid var(--color-beige);
	pointer-events: none;
	z-index: 998;
}
.site-window::after {
	content: "";
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom:0;
	display: block;
	width: 100%;
	height: 100%;
	background: 0 0 no-repeat;
	background-size: 30px 30px;
	z-index: 999;
}

.site-window::after {
	background-image:
		url("images/decoration-top-right.svg"),
		url("images/decoration-bottom-left.svg"),
		url("images/decoration-bottom-right.svg");
	background-position:top right, left bottom, right bottom;
}

/*
.site-decoration {
	backface-visibility: hidden;
	width:180px; width:calc(180px + 2%);
	height:100%;
	min-height:100vh;
	position:fixed;
	top:0; left:0; bottom:0;
	border-right:1px solid var(--color-ivory);
	background-color:var(--color-white);
	box-shadow:var(--box-shadow);
	pointer-events:none;
	z-index:7;
}
*/
.site-header {
	width:180px; width:calc(200px + 3%);
	height:100vh; min-height:780px;
	display:block; position:absolute;
	backface-visibility: hidden;
	padding:0; margin:0;
	-webkit-overflow-scrolling:touch;
	overflow-scrolling:touch;
	z-index:9999;
}
.site-header::before,
.site-header::after {
	content: ""; display:block; position:fixed;
	width:100%; height:15px; background:#fff;
	top:0;
	z-index:9999;
}
.site-header::before {}
.site-header::after {bottom:0;}

.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;}

.header-logo {
	position:fixed; top:15px; left:15px;
	display:block; padding:0 0 0; margin:0 0 3em 0;
	background:#fff;
	width:180px; width:calc(180px + 2%);
	border-bottom-right-radius:var(--border-radius-large);
	border-right:1px solid;
	border-bottom:1px solid;
	border-color:var(--color-beige);
	z-index:99999;
}
.header-logo::before,
.header-logo::after {
	content: "";
	position: absolute;
	width: 30px;
	height: 30px;
	display: block;
	background: transparent url("images/decoration-top-left.svg") 0 0 no-repeat;
	background-size: 100% 100%;
}
.header-logo::before {
	left: 100%;
	top: 0;

}

.header-logo .site-title {
	width:150px; height:130px; overflow:hidden; margin:1em auto 12px;
	font-size:13px; font-size:1.3rem;
}
.header-logo .site-title a {display:block;
	background:0 0 no-repeat;
	background-image:url("images/logo-icon-color.svg"), url("images/logo-title-color.svg");
	background-position:center top, center 68px;
	background-size:52px 52px, 150px auto;
	padding:105px 0 0 0;
	color:#B0B2B3;
}
.header-logo .site-title a span {display:block;}
.header-logo .site-title a:hover {opacity:0.5;}
.header-logo .site-description {display:none;}

/******************/
/* util ***********/

.site-utility {
	position:fixed; width:fit-content; top:2em; right:2em; padding:0 0.5em;
	display:flex;
	align-items:center;
	background-color:var(--color-white); border:1px solid var(--color-beige);
	border-radius:50px;
	z-index:88;
}
.site-utility .header-search .empty {display:none;}
.site-utility .header-search input {
	padding:0.5em 1em 0.5em 2.5em;
	font-size:13px; font-size:1.3rem;
	background:var(--color-ivory) url("images/icon-search.svg") left 1em center no-repeat;
	background-size:1em auto;
	border:1px solid var(--color-border);
	color:var(--color-brown);
	border-radius:40px;
	margin:0.5em 0;
	max-width:200px;
}



.site-header .contents {display: contents;}

.header-utility {
	position:absolute; width:100%; bottom:2em; padding:0 3em;
	z-index:88;}
.header-utility::after {
	content: ""; display:block; position:fixed;
	width:100%; height:15px; background:#fff;
	bottom:0;
	z-index:9999;
}
.header-utility ul {text-align:left; font-size:11px; font-size:1.1rem; margin:0 0 1em 0;}
.header-utility ul li {display:block; margin:0 0 0.5em 0;}
.header-utility ul li a {
	color:#998877; color:var(--color-brown);
	background:#fff url("images/arrow-right-beige.svg") center right 1em no-repeat;
	background-size:1em 1em;
	border:1px solid #c9bc9c; border-color:var(--color-beige);
	border-radius:40px;
	padding:1em 0 1em 2em;
	display:block;
}
.header-utility ul li a:hover {
	background-color:var(--color-beige);
	background-image:url("images/arrow-right-white.svg");
	background-size:1em 1em;
	color:#fff;
}


/******************/
/******************/
/* navi ***********/

.header-navi {
	line-height:var(--line-height); margin:0 auto 60px; position:relative;
	padding-top:15em;
	z-index:55;
}
.header-navi ul {list-style:none; margin:0 auto; display:inline-block; padding:0; text-align:left;}
.header-navi ul li {display:block; margin:0 0 1.7em 0; white-space:nowrap;}
.header-navi ul li i {display:block; transition:0.5s; font-size:17px; font-size:1.7rem;}
.header-navi ul li span {
	opacity:0; position:absolute; top:50%; left:32px; transform:translateY(-50%);
	font-size:13px; font-size:1.3rem;
	transition:0.5s;
}
.header-navi ul li span::after {
	content:"";
	position:absolute; left:0; width:0; height:1px;
	bottom:-3px;
	background-color:var(--color-beige);
	transition:var(--transition);
}
.header-navi ul li a {
	display:block; padding:0 6px 0 32px; position:relative;}
.header-navi ul li a::before {content:""; width:24px; height:1px; border-radius:2px;
	background-color:var(--color-beige);
	position:absolute; left:0; top:50%;
}
.header-navi ul li a:hover i {opacity:0;}
.header-navi ul li a:hover span {opacity:1; color:#988777;}
.header-navi ul li a:hover span::after {width:100%;}
.header-navi ul li a:hover::before {}


.navi-toggle {
	display:none; position:relative; background:transparent; 
	cursor:pointer; width:32px; height:32px;
	margin:0 0.5em 0 1.5em;
	z-index:9999;
}
.navi-toggle span {
	display:block; position:absolute; width:100%; height:100%;
	top:0;
	transition:var(--transition);
}

.navi-toggle span::before,
.navi-toggle span::after {
	position:absolute; content:"";
	display:inline-block;
	right:0;
	width:100%;
	height:2px;
	transition:all 0.4s;
background-color:#998877; background-color:var(--color-brown); 
border-radius:12px;
}
.navi-toggle span.open:before {top:10px;}
.navi-toggle span.open:after {bottom:10px;}

.navi-toggle.is-active span.open:before {
transform:translateY(12px) scale(0);
}
.navi-toggle.is-active span.open:after {
transform:translateY(-12px) scale(0);
}


.navi-toggle .close:before,
.navi-toggle .close:after {
	top:50%; left:50%;
	transform-origin: 0 0;
}
.navi-toggle .close:before {transform:rotate(-45deg) translate(-50%,-50%);}
.navi-toggle .close:after {transform:rotate(45deg) translate(-50%,-50%);}


.navi-toggle i {display:none;}

.navi-toggle:hover span:before,
.navi-toggle:hover span:after {background-color:var(--color-brown); }

.navi-toggle.is-active .open {opacity:0;}
.navi-toggle.is-active .open::before {top:14px;}
.navi-toggle.is-active .open::after {bottom:14px;}
.navi-toggle .close {opacity:0; transform:scale(0); transition:var(--transition);}
.navi-toggle.is-active .close {opacity:1; transform:scale(1);}



@media (max-width:900px) {
	.site-decoration {
		border:0; width:13px; box-shadow:none;
	}
	.site-header {width:100%; height:90px; min-height:auto; overflow:hidden; position:fixed; left:13px;
		display: contents;
	}
	.site-header.is-fixed {bottom:auto; top:0;}
	.header-logo {margin:0; background:#fff; width:fit-content;}
	.header-logo .site-title {margin:0.5em 1em 0.5em 0.5em; width:180px; height:46px;}
	.header-logo .site-title a {
		background-position:0 0, 40px 9px;
		background-size:32px 32px, 120px auto;
	}
	.site-header .contents {
		display:block;
		opacity:0; pointer-events:none;
		position:fixed; top:0; left:0;
		background-color:#fff;
		background: var(--color-ivory);
		border-radius:0;
		padding:5em 2em; width:100%;
		height:100%;
		min-height:100%;
		overflow: scroll;
		-webkit-overflow-scrolling:touch;
		overflow-scrolling:touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		z-index:55;
	}
	.site-header .contents.is-effect-active {transition:var(--transition);}
	.site-header .contents.is-active {pointer-events:auto; opacity:1;}
	.header-navi {padding:5em 0;}
	.header-navi ul li i {font-size:23px; font-size:2.3rem;}
	.header-navi ul li span {font-size:17px; font-size:1.7rem;}
	.header-utility {position:relative; bottom:auto;}
	.header-utility .header-search input {font-size:17px; font-size:1.7rem;
		padding:1em 1em 1em 2.5em;
	}
	.header-utility ul {font-size:17px; font-size:1.7rem;}
	.navi-toggle {display:block;}
}


body.is-navi {overflow:hidden; transition:var(--transition);}
/*
body.is-navi::before {
	content:"";
	position:fixed;
	pointer-events:none;
	top:0; left:0; right:0; bottom:0;
	background-color:rgba(0,0,0,0.5);
	display:block; transition:var(--transition);
	z-index:91;
}
*/


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


.site-footer {
	display: flex;
	flex-direction: column;
	background:#f8f8f6; background-color:var(--color-ivory);
	background:transparent;
	text-align:center;
	line-height:2.1;
	/*margin-left:calc(180px + 2%);*/
	padding:0;
}
.footer-background {
	align-self: flex-start; margin:0 0 auto 0;
	width:100%; height:30px; position:relative; z-index:3;
/*	margin:0 0 0 180px;
	margin-left:calc(180px + 2%);*/
}
.footer-background:before {
	content:"";
	bottom:0;
	background-image:url("images/wave-top-white.svg");
	background-position:0 top;
	background-repeat:repeat-x;
	background-size:1600px 30px;
	position:absolute;
	left:0; width:100%; height:30px;
	animation:moveWavePc 6s linear infinite;
}


.footer-logo {
	display: flex;
	flex-direction: column; align-items: center; justify-content:center;
	margin:auto 0 auto; height:fit-content;
	height:50vh; min-height:500px;
}
.footer-logo dl {margin:0 auto 2em;}
.footer-logo dl dt {width:155px; height:30px; overflow:hidden; margin:0 auto;}
.footer-logo dl dt a {
	display:block;
	background:url("images/logo-title-rotate.svg") 0 0 no-repeat;
	background-size:155px 30px;
	padding:60px 0 0 0;
}
.footer-logo dl dd {display:none;}

small.site-info {clear:both; font-size:11px; font-size:1.1rem; color:#998877; color:var(--color-brown);}

@media screen and (max-width:900px) {
	.footer-background,
	.site-footer {margin-left:0;}
}

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

.site-main {
	padding:0; position:relative;
	line-height:2.1;
	letter-spacing:0.12em;
	clear:both;
	margin:0;
	-webkit-hyphens:auto;
	-moz-hyphens:auto;
	-ms-hyphens:auto;
	hyphens:auto;
display:flex;
flex-direction:column;
}


.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;
	/*word-break:break-all;
	word-wrap:break-word;*/
	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 {margin:0 0 2em 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;}

.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:flow-root; clear:both; margin:0;
	padding:0 0 5em 0;
	padding-bottom:calc(5vw + 5em);
	z-index:2;
}
.section:first-child {padding-top:0;}


.section.-background {background-color:var(--color-white); padding:calc(5vw + 5em) 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%;}
}



/*.section-has-background {padding:130px 0 130px 0; margin-bottom:0;}*/

.section-title {line-height:1.5; margin:0 0 5em 0;}
.section-title .title {font-size:17px; font-size:1.7rem; color:var(--color-gray);}
.section-title .title i {
	display:block; font-size:81px; font-size:8.1rem;
	color:var(--color-black);
}
.section-title .title[data-title] {
	width:fit-content;
	position:relative;
	text-align:left;
	margin:0 auto 0 0;
}
.section-title .title[data-title]::before {
	content:attr(data-title) "";
	display:block; font-size:81px; font-size:8.1rem; font-weight:100; margin:0;
	width:fit-content;
	color:var(--color-black);
}
.section-title .title[data-title]::after {
	content:"";
	display:block;
	width:30em; height:1px;
	border-radius: 2px;
	background-color: #c9bc9c;
	background-color: var(--color-beige);
	position:absolute; top:50%;
	left:calc(100% + 1em);
	left: -31em;
	z-index:1;
}

.section-title.-left {
	text-align:left;
}
.section-title.-center {
	margin:0 auto 5em auto; text-align:center;
}
.section-title.-center .title[data-title] {margin:0 auto; text-align:center;}
.section-title.-center .title[data-title]::after {
	width:1px;
	height:8em;
	top: -8em;
	left:50%;
	z-index:1;
}
.section-sidebar .section-title { position:sticky; top:1em;}


.headline {line-height:var(--line-height-small); clear:both;}
.headline {display:block; font-size:51px; font-size:5.1rem; position:relative;}
.headline i {font-weight:var(--font-thin);}
.headline::before {
	content: "";
	width: 10em;
	height: 1px;
	border-radius: 2px;
	background-color: #c9bc9c;
	background-color: var(--color-beige);
	position: absolute;
	left:calc(100% + 1em);
	left: calc(-10em - 0.3em);
	top: 50%;
}
.headline.-small i {font-size:35px; font-size:3.5rem;}


@media (max-width:800px) {
	.section-title .title[data-title]::before {font-size:71px; font-size:7.1rem;}
}



/*
.box {padding:40px 40px 0.1em; margin:0 auto 2em; background-color:#ffffff; background-color:var(--color-white);}
*/

.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;}
}


/******************/
/******************/
/* front-page.php */

.section-top-slider {
	position:relative; width:100%; height:100vh; min-height:460px; overflow:hidden;
	padding:0;
	display:flex;
	justify-content:center;
	align-items:center;
z-index:1;
}
.section-top-slider h1 {max-width:60%; z-index:2;}
.section-top-slider #top-slider-box {
	position:absolute;
	top:0; left:0; right:0; bottom:0;
}
/*
.section-top-slider:before {
	position:absolute; content:""; display:none;
	bottom:0; left:0;
	width:100%; height:32rem;
	pointer-events:none;
	background:linear-gradient(to bottom, white 0%, white 30%, rgba(248, 248, 246, 0.5) );
	z-index:1;
}
*/
.section-top-slider:after {
content: "";
bottom:-1px;
background-image: url("images/wave-bottom-white.svg");
background-position: 0 center;
position:absolute;
left:0;
width:100%;
height:30px;
background-repeat: repeat-x;
background-size:1600px 30px;
animation:moveWavePc 6s linear infinite;
z-index:2;
}

.section-top-intro {padding-top:0;}

/*
.section-top-intro-bg {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
content:"";
background-color:#fff;
}
*/



.section-top-intro .content {width:60%; z-index:3; position:relative;}
.section-top-intro img.absolute {
	position:absolute; top:-40%; right:-25%; width:75%; pointer-events:none; z-index:2;
}

.top-intro-right {
	aspect-ratio: 1 / 1;
	width:60%; float:right; margin:-3em 0 1em 1em; top:-11em; right:0;
	position:absolute;
	overflow:hidden;
}
.top-intro-right img {pointer-events:none; margin:0 -10% 0 auto;}

.section-top-intro .title {margin:0 auto 1em 0; font-size:35px; font-size:3.5rem;
	line-height:var(--line-height);
	position:relative;
	z-index:3;
}
.section-top-intro .title b {display:block; font-size:45px; font-size:4.5rem; color:var(--color-black);}
.section-top-intro .title b span {font-weight: 100;}
.section-top-intro .title img {width:60%;}
.section-top-intro p {font-size:17px; font-size:1.7rem;}
.section-top-intro ul {display:flex; flex-wrap:wrap; letter-spacing:0;
	line-height:1;
	margin:0;
	font-size:13px; font-size:1.3rem;
}
.section-top-intro ul li {
margin:0 0.5em 0.5em 0;
padding:0.9rem 2rem;
color:#998877;
white-space:nowrap;
background-color:rgba(77,77,77,.05);
border-radius:999px;
text-align:center;
}

@media screen and (max-width:900px) {
	.section-top-intro .content {width:100%;}
}
@media screen and (max-width:700px) {
	.section-top-intro .title img {width:70%;}
	.section-top-intro .title b {font-size:41px; font-size:4.1rem;}
}
@media screen and (max-width:600px) {
	.section-top-intro .title img {width:90%;}
}
@media screen and (max-width:500px) {
	.section-top-intro .title img {width:100%;}
}


.section-top-message .flex-container {}
.section-top-message .flex-container .flex-item {flex-basis:47%;}
.section-top-message .figure {margin-top: -5em; margin-left: -13em;}
.section-top-message .canvas {position:absolute; top:0; left:0; right:0; bottom:0;
	width:100%;
}
.section-top-message ol {font-size:21px; font-size:2.1rem;}
.section-top-message ol li {
	display:block;
	counter-increment:count;
	position:relative;
	margin:0 0 0.5em 0; padding:0 0 0 1.5em;
	line-height:1.5;
	text-indent:-1.5em;
}
.section-top-message ol li::before {
	content:counter(count) ". ";
}
@media screen and (max-width:900px) {
	.section-top-message .flex-container {display:block;}
	.section-top-message .flex-container .flex-item {flex-basis:100%;}
}

.section-top-service {background:#fff; padding-top:0;}

.service-list {padding:2em 0 0 0;}
.service-list ul {
display:flex;
flex-wrap:nowrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.service-list ul li {
	position:relative; text-indent:0; margin:0;
	padding:0 0 16% 0;
	flex-basis:16%;
}
.service-list ul li:nth-child(even) {
	top:2em;
}
.service-list ul li:before {
	content:""; display:block; width:1px; height:50%; background:#c9bc9c; position:absolute;
	top:1em;
	left:50%;
	opacity:0.5;
	z-index:1;
}
.service-list ul .title {
background:#fff;
display:inline-block;
line-height:1.2;
margin:0; padding:0 0 0.5em 0; left:50%;
	-webkit-writing-mode:vertical-rl;
	-moz-writing-mode:vertical-rl;
	-ms-writing-mode:tb-rl;
	-o-writing-mode:vertical-rl;
	writing-mode:vertical-rl;
white-space:nowrap;
text-indent:0;
transform:translateX(-50%);
	position:relative;
	letter-spacing:0.2em;
	z-index:2;
}
.service-list ul .thumbnail {
	position:absolute; line-height:0;
	background-color:transparent; border:1px solid #c9bc9c; border-radius:50%;
	left:10%; right:10%; bottom:0; max-width:80%; width:80%; margin:0;
	overflow:hidden;
	z-index:11;
}
.service-list ul .thumbnail img.spacer {display:block; width:100%;}
.service-list ul .thumbnail img.parallax {position:absolute; top:0; width:100%; height:100%; object-fit:cover;}


.section-top-menu .container {
	overflow: hidden; padding:0 0 2em 0;
	position:relative; z-index:2;
}
.section-top-menu .background {height:60%; bottom:auto;}

.menu-slider ul {
	margin:0 0 5em 0;
	display:flex;
	flex-wrap:nowrap;
	text-align:center;
	align-items:stretch;
	justify-content:space-between;
}
.menu-slider ul > li {
	background:#fff;
	border-radius:15px;
	box-shadow:0 0 50px rgba(0,0,0,0.1);
	height:auto;
}
.menu-slider ul li:nth-child(2) {top:3em;}
.menu-slider ul li:nth-child(3) {top:6em;}

.menu-slider ul li span {display:block;}
.menu-slider ul li .title {
	width:80%; margin:0 auto; top:-0.7em;
	background:-webkit-linear-gradient(90deg, rgba(237,224,194,1) 0%, rgba(201,188,156,1) 100%);
	background:linear-gradient(90deg, rgba(237,224,194,1) 0%, rgba(201,188,156,1) 100%);
	border-radius:50px;
	color:#fff;
	text-shadow:0 0 1em rgba(201,188,156,0.5);
	font-size:21px; font-size:2.1rem;
	position:relative;
	padding:0.5em 0;
}
.menu-slider ul li .price {white-space:nowrap; margin:0 0; line-height:var(--line-height-small);}
.menu-slider ul li .price b {font-size:2.3em; color:#2f2f2f;}
.menu-slider ul li .tax {font-size:13px; font-size:1.3rem; margin:0 auto 1em auto;}
.menu-slider ul li .detail {padding:0 2em 2em; font-size:13px; font-size:1.3rem; line-height:1;}
.menu-slider ul li .detail ol {text-align:left; border-top:1px dashed rgba(0,0,0,0.1);}
.menu-slider ul li .detail ol li {display:block; border-bottom:1px dashed rgba(0,0,0,0.1);
	padding:0.7em 0 0.7em 2em;
	background:url("images/icon-check-beige.svg") center left 4px no-repeat;
	background-size:1em 1em;
	text-indent:0;
	
}
.menu-slider ul li .detail ol li:before {content:""; display:none;}

/*
@media screen and (max-width:800px) {
	.menu-slider ul {display:block;}
	.menu-slider ul > li {
		flex-basis:100%;
		margin:0 0 5em 0;
	}
}
*/




.section-top-works {background-color:#fff; padding-bottom:5em; overflow:hidden;}


.section-top-parallax {
	width:100%; clear:both; height:35vw; overflow:hidden; margin:0; position:relative;
	z-index:3;
}

.section-top-parallax::before,
.section-top-parallax::after {
background-image: url("images/wave-bottom-white.svg");
background-position: 0 center;
position:absolute;
left:0;
width:100%;
height:30px;
content: "";
background-repeat: repeat-x;
background-size:1600px 30px;
animation:moveWavePc 6s linear infinite;
z-index:3;
}
.section-top-parallax::before {background-image: url("images/wave-top-white.svg"); top:-1px;}
.section-top-parallax::after {background-image: url("images/wave-bottom-white.svg"); bottom:-1px;}

.section-top-parallax img {width:100%;}


@media screen and (max-width:800px) {
	.section-top-parallax {height:45vw;}
}
@media screen and (max-width:600px) {
	.section-top-parallax {height:60vw;}
}


.section-top-contact {background-color:transparent; padding-top:9em; text-align:center;}
.section-top-contact dl {
	display:flex;
	align-items:stretch;
	justify-content:space-between;
	width:100%;
	background-color:rgba(255,255,255,0.5);
	box-shadow:0 0 50px rgba(0,0,0,0.1);
	border-radius:500px; overflow:hidden;
}
.section-top-contact dl dt,
.section-top-contact dl dd {
	flex:0 1 auto;
	flex-grow:0;
	flex-shrink:1;
	flex-basis:50%;
}
.section-top-contact dl dt {text-align:center; padding:5em 0; background:#c9bc9c; border-right:1px solid #fff; color:#fff;
	display:flex;
	align-content:stretch;
	align-items:center;
	justify-content:center;
}
.section-top-contact dl dd {
	text-align:center; display:flex; align-items:center; justify-content:center; margin:0;

}
.section-top-contact dl dt i {font-size:25px; font-size:2.5rem;
	display:flex;
}
.section-top-contact dl dd a {
	display:flex;
	flex-wrap:wrap;
	height:100%; width:100%; color:#fff; align-items:center; justify-content:center;
	padding:1.5em;
}
.section-top-contact dl dd a .title,
.section-top-contact dl dd a .description {color:#998877;}
.section-top-contact dl dd a .title {font-size:19px; font-size:1.9rem;}
.section-top-contact dl dd a .description {font-size:13px; font-size:1.3rem; margin:0 auto 0.5em;}
.section-top-contact dl dd a .link {
	display:inline-block; padding:1em 2em;
	background-color:#c9bc9c;
	border:1px solid #c9bc9c;
	border-radius:100px;
	font-size:13px; font-size:1.3rem;
}
.section-top-contact dl dd a:hover {background-color:#c9bc9c;}
.section-top-contact dl dd a:hover .link {background-color:#fff; border-color:#fff; color:#c9bc9c;}

/*
.section-top-contact .note {text-align:left; display:inline-block; margin:0 auto;}
.section-top-contact .title {font-size:19px; margin:0 0 0.2em 0;}
.section-top-contact .description {font-size:13px;}
*/

/******************
/******************/
/* page.php *******/

.article-profile table {border-spacing:0; border-collapse:separate;}
.article-profile table th,
.article-profile table td {border:0; vertical-align:top;
	padding:1.5em;
}
.article-profile table th {
	padding-right:3em; position:relative; text-align:right;
}
.article-profile table th::after {
	content:""; width:2em; height:1px; top:2.5em; right:0;
	position:absolute; background-color:#c9bc9c;
	display:block;
}
.article-profile table td dl,
.article-profile table td dl dd {margin:0;}
/*.article-profile table td dl dt:before {content:"●"; color:#c9bc9c;}*/
.article-profile table td dl dd {padding:0 0 0 1.5em;}
.article-profile table td .small {margin:0 0 0 1em;}

.section-profile-member {
	overlay: hidded;
}

.profile-member-list {
	line-height:var(--line-height-small);
}
.profile-member-list .photo {
	display:block;
	overflow:hidden;
	aspect-ratio: 450 / 660;
	margin:0 0 1em 0;
	-webkit-mask-image:url(images/figure-mask.svg);
	mask-image:url("images/figure-mask-vertical.svg");
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	box-shadow:var(--box-shadow);
	line-height:1;
}
.profile-member-list .photo img {transition:var(--transition); width:100%; height:100%; object-fit:cover;}
.profile-member-list .photo:hover img {transform:scale(1.05);}
.profile-member-list .description {display:flex; justify-content:space-between; align-items:center;
	font-size:13px; font-size:1.3rem;
}
.profile-member-list .description .name {font-size:21px; font-size:2.1rem; margin:0;}
.profile-member-list .description .poste {margin:0 0 0 auto;}
.profile-member-list .english {color:var(--color-gray);}

.section-profile-maps {padding-bottom:9em;}

.menu-list h5 {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
}
.menu-list h5 span {float:right; font-size:1rem;}
.menu-list .box {
	padding:0.5em 2em;
	margin:0 0 6em 0;
	box-shadow:0 0 50px rgba(0,0,0,0.1);
	background:#fff;
	border-radius:var(--border-radius);
}
.menu-list dl {
	padding-top:2em;
	padding-bottom:2em;
	display:flex;
	align-items:center;
	line-height:var(--line-height-small);
}
.menu-list dl:not(:last-child) {
	border-bottom:1px solid var(--color-border);
}
.menu-list dl dt {
	font-size:19px; font-size:1.9rem;
	display:flex; align-items: center;
}
.menu-list dl dt::before {
content:"";
width:1em; min-width:0.5em; height:1px;
display:block; background-color:var(--color-brown);
margin:0 1em 0 0.5em;
}
.menu-list dl dd {
min-width:130px;
margin:0 0 0 auto;
padding:0 0 0 2em;
}

@media (max-width:1100px) {
	.article-menu .section-sidebar,
	.article-menu .section-content {float:none; width:100%;}
}

@media (max-width:600px) {
	.menu-list .box {padding:0.5em 1em;}
	.menu-list dl {padding:1em 0;}
	.menu-list dl dt {font-size:17px; font-size:1.7rem;}
	.menu-list dl dd {min-width:auto;}
}



.swiper-button-prev,
.swiper-button-next {
	display:none;
	color: #c9bc9c;
}

@media screen and (max-width:760px) {
	.swiper-button-prev,
	.swiper-button-next {display:block;}
}

.swiper-container-free-mode>.swiper-wrapper {
-webkit-transition-timing-function:linear !important;
-o-transition-timing-function:linear !important;
transition-timing-function:linear !important;
}



.list-works {}
.list-works ul {list-style:none; margin:0; padding:0; text-align:left; line-height:1;}
.list-works ul li {margin:0 0 5em 0; padding:0; width:100%; aspect-ratio:2 / 1; overflow:hidden;}
.list-works ul li:last-child {margin-bottom:0;}
.list-works ul li a {display:block; position:relative;}
.list-works ul li a:hover {}
.list-works ul li span {display:block;}
.list-works ul li .thumbnail {
	display:block;
	background:url("images-page/works-thumbnail-background.jpg") center center no-repeat;
	background: var(--color-ivory);
	background-size:cover;
	margin:0;
	aspect-ratio:2 / 1;
	overflow:hidden; position:relative;
}
.list-works ul li .thumbnail.figure {
	-webkit-mask-image:url("images/figure-mask-landscape.svg");
	mask-image:url("images/figure-mask-landscape.svg");
}
.list-works ul li .title {font-size:15px; font-size:1.5rem; position:absolute;}
.list-works ul li img {
	width:100%; height:100%; object-fit:cover;
}


.list-works-pagination {
	position: absolute;
	top:0;
	bottom:0;
	right:-5em;
	font-feature-settings: "tnum";
	font-variant-numeric:tabular-nums;
}

.list-works-pagination .bottom {
	position: absolute;
	bottom: 0;
	left:0
}

.list-works-pagination .bar {
	position: absolute;
	display: block;
	top: 2.5em;
	bottom: 2.5em;
	width: 100%;
	display: flex;
	justify-content:center
}

.list-works-pagination .bar:before {
	content:"";
	background-color:var(--color-border);
	display: block;
	height: 100%;
	width:1px;
	max-width:1px
}

.list-works-pagination .bar > span {
	content: ""; display:block;
	position: absolute;
	left:50%;
	width:1px;
	margin-left:-0.5px;
	background-color:var(--color-brown);
	height:10%;
}



#section-profile-member .background {height:70%;}
#profile-maps {position:relative;}

.maps {width:100%; height:520px; overflow:hidden; position:relative; padding-top:0; margin:0 0 2em 0;}

/*.maps::before,
.maps::after {
	background-image: url("images/wave-bottom-white.svg");
	background-position: 0 center;
	position:absolute;
	left:0;
	width:100%;
	height:30px;
	content: "";
	background-repeat: repeat-x;
	background-size:1600px 30px;
	animation:moveWavePc 6s linear infinite;
	z-index:2;
	display:block;
}
.maps::before {background-image: url("images/wave-top-white.svg"); top:0; display:none;}
.maps::after {background-image: url("images/wave-bottom-white.svg"); bottom:0; display:none;}
*/


.googlemaps {width:100%; height:100%; position:absolute; top:0;}
.maps iframe {position:absolute; top:0; left:0; right:0; bottom:0; width:100%;}



ol.flow-list > li {
	display:block;
	counter-increment:number;
	position:relative;
	margin:0 0 10em 0;
}
ol.flow-list > li::before {
	content:"0" counter(number) ;
	padding:0; position:absolute; top:-0.5em; left:50%;
	width:3em;
	height:3em;
	text-indent:0.2em;
	line-height:2.8em;
	border-radius:100px;
	border:1px solid #c9bc9c;
	background-color:#fff;
	color:#c9bc9c;
	overflow:hidden;
	font-size:20px;
	transform:translateX(-50%);
	text-align:center;
	font-feature-settings: "tnum";
	font-variant-numeric:tabular-nums;
	z-index:5;
}

ol.flow-list > li::after {
	content:attr(data-title);
	padding:0 4px 0 12px; position:absolute; top:calc(60px - 1em); left:50%;
	font-size:11px; font-size:1.1rem;
	transform:rotate(90deg) translateY(-55%);
	transform-origin:0 0;
	background:#fff; color:#c9bc9c;
	z-index:4;
}

ol.flow-list > li dl {
	display:flex;
	position:relative;
	justify-content:space-between;
	margin:0 0 3em 0;
}
ol.flow-list > li dl::before {
	content:"";
	display:block;
	position:absolute; top:0; bottom:0; left:50%;
	width:1px; height:100%; background:#c9bc9c;
	transform:translateX(-50%);
	z-index:2;
}
ol.flow-list > li dl::after {
	content:"";
	width:1.4rem; height: 1.4rem;
	position: absolute; bottom:-0.4rem; left:50%; content: "";
	background-image: url(images/arrow-flow-head.svg);transform: translateX(-50%);background-repeat: no-repeat; background-position: 50% 50%;background-size: contain;
}

ol.flow-list li:last-child dl::after {
	background:#c9bc9c;
	width:6px; height:6px; border-radius:20px;
}

ol.flow-list li dl dt {
	flex-basis:44%;
}
ol.flow-list li dl dd {
	flex-basis:44%;
}
ol.flow-list li dl dd > .title,
ol.flow-list li dl dd > .text {display:block;}
ol.flow-list li dl dd > .title {
	font-size:31px; font-size:3.1rem; color:#c9bc9c; letter-spacing:0.12em;
	margin:0 0 2rem 0;
}
ol.flow-list li dl dd .text {margin:0 0 2em 0;}

@media screen and (max-width:700px) {
	ol.flow-list > li::before {left:0;}
	ol.flow-list > li::after {left:0;}
	ol.flow-list > li dl::before {left:0;}
	ol.flow-list > li dl::after {left:0;}
	ol.flow-list > li dl {display:block;}
	ol.flow-list > li dl {padding:0 0 0 3em;}
	ol.flow-list > li dl dt {margin:0 0 1em 0;}
	ol.flow-list > li dl dd {padding:0 1em;}
}


.faq-content dt,
.faq-content dd {position:relative;}
.faq-content dt {font-size:21px; font-size:2.1rem; padding:0 0 0 30px; margin:0 0 0.5em 0;}
.faq-content dd {
	background-color:var(--color-ivory);
	padding:2.5em 3em 2.5em 9em; margin:0 0 3em 0;
	display:block; position:relative;
	border-radius:var(--border-radius);
}
.faq-content dt::before,
.faq-content dd::before {position:absolute; left:0;}
.faq-content dt::before {content:"Q."; margin:0 1em 0 0;}
.faq-content dl dd::before {
	content:"A."; position:absolute; left:3em; top:2.5em;
}
.faq-content dl dd::after {
	content:"";
	position:absolute; left:6em; top:1.5em; bottom:1.5em;
	border-left:1px dotted var(--color-gray);
}




.article-outsourcing .figure.right {max-width:40%; margin-top:-3em;}
#outsourcing-intro {text-align:center;}
#outsourcing-intro .inner {padding:0;}
#outsourcing-intro .swiper-container {overflow:hidden;}

#outsourcing-service ul {
	display:flex; justify-content:flex-start;
	gap:1%;
	flex-wrap:wrap;
	line-height:0;
	margin:0 auto 3em;
	line-height:1;
	color:#998877;
}
#outsourcing-service ul li {
	flex-basis:calc(15.6666%);
	flex-grow:1;
	margin:0 0 1% 0; border-radius:1em; border:1px solid #c9bc9c;
	position:relative;
}
#outsourcing-service ul li img.spacer {width:100%;
	z-index:-1;
}
#outsourcing-service ul li span {
	position:absolute; display:block;
	width:100%;
	top:50%;
	left:0;
	text-align:center;
	transform:translateY(-50%);
	line-height:1.5;
}
#outsourcing-service ul li:hover {
	background-color:var(--color-brown);
	color:var(--color-white);
}

@media (max-width:1100px) {
	#outsourcing-service ul li {
		flex-basis:calc(19%);
		max-width:19%;
	}
}
@media (max-width:900px) {
	#outsourcing-service ul li {flex-basis:calc(15.6666%);}
}
@media (max-width:800px) {
	#outsourcing-service ul li {flex-basis:calc(19%);}
}
@media (max-width:700px) {
	#outsourcing-service ul li {
		flex-basis:calc(24%);
		max-width:24%;}
}
@media (max-width:600px) {
	#outsourcing-service ul li {flex-basis:calc(32.3333%);
		max-width:32.2222%;
	}
}

#outsourcing-price .flex-container-2 .flex-item {flex-basis:45%;}




.article-recruit .tab-selector ol {display:block;}
.section-recruit-info .background::after {display:none;}

.section-recruit-info table th,
.section-recruit-info table td {}
.section-recruit-info table td ul {margin:0;}
.section-recruit-info table td ul li {position:relative; padding-left:1.5em;}
.section-recruit-info table td ul li::before {
	content:"●";
	position: absolute;
	color:#c9bc9c;
	left:0;
	top:0;
/*	background:#c9bc9c;
	width: 0.8em;
	height: 0.8em;
	border-radius:50%;*/
}
.section-recruit-info table td ul li.note {
	color:#B0B2B3; color:var(--color-gray); font-size:0.8em;
}
.section-recruit-info table td ul li.note::before {
	content:"※";
	color:#B0B2B3; color:var(--color-gray);
}

.section-recruit-parallax {z-index:1;}
.section-recruit-parallax {
	width:100%; clear:both; height:35vw; overflow:hidden; margin:0; position:relative;
}
.section-recruit-parallax::before,
.section-recruit-parallax::after  {
background-image: url("images/wave-bottom-white.svg");
background-position: 0 center;
position:absolute;
left:0;
width:100%;
height:30px;
content: "";
background-repeat: repeat-x;
background-size:1600px 30px;
animation:moveWavePc 6s linear infinite;
z-index:2;
}
.section-recruit-parallax::before {background-image: url("images/wave-top-ivory.svg"); top:0;}
.section-recruit-parallax::after {background-image: url("images/wave-bottom-white.svg"); bottom:-1px;}

/******************/
/******************/
/* archive.php ****/



.archives ul li:after {content:""; clear:both; display:block;}
.archives ul li span {display:block; overflow:hidden;}
.archives ul li span:not(.a-thumbnail) {margin-left:120px;}

.archives .a-thumbnail {width:300px; height:auto; overflow:hidden; margin:0; float:left; line-height:1; border:1px solid #ececec; border-color:var(--color-border);
	-webkit-filter:grayscale(100%);
	filter:grayscale(100%);
}
.archives .a-thumbnail a {display:block;}
.archives .a-thumbnail img {width:100%; height:auto;
-webkit-filter:grayscale(100%);
	filter:grayscale(100%);
}

.archives .a-category {font-size:12px; font-size:1.2rem;}
.archives .a-title {font-size:20px; font-size:2.0rem;}
.archives .a-summary {}
.archives .a-more {margin-bottom:12px;}
.archives .a-meta {font-size:11px; font-size:1.1rem;}
.archives .a-date {}
.archives .a-author {display:none;}
.archives .a-none {display:none;}
.archives .a-category a {color:#B0B2B3; color:var(--color-gray);}
.archives .a-more a {}
.archives .entry-meta a {font-size:14px; font-size:1.4rem;}

.archives-search ul {text-align:left; border-top:1px solid var(--color-border);}
.archives-search ul li {border-bottom:1px solid var(--color-border);}
.archives-search ul li a {display:flex; align-items:center; padding:1.5em 1em;}
.archives-search ul li a::before {
	content:"";
	width:1.2em; height:1px; background-color:var(--color-beige);
	margin:0 0.5em 0 0;
}
.archives-search ul li a:hover {background-color:var(--color-ivory); color:var(--color-brown);}

.archives-search .text {
	background-color:var(--color-ivory);
	padding:2em; margin:0 auto 3em;
	border-radius:var(--border-radius);
}


/******************/
/******************/
/* archive-custom-post.php */


/* .single-jetpack-portfolio */
/* .jetpack-portfolio {} */

.archives-selector ol {display:block; margin:0 0 2em 0;}
.archives-selector ol li {position:relative; display:inline-block; border:1px solid #998877; margin:0 0 2% 0; padding:0; text-indent:0;
}

.article-archives-glossary {}
.archives-glossary {width:100%; margin:0 auto; text-align:left;}

.archives-glossary .title {margin:0 0 1em 0; font-size:35px; font-size:3.5rem;}
.archives-glossary .title span {font-size:15px; font-size:1.5rem;}
.archives-glossary .subtitle {display:none;}
.archives-glossary ul {
	list-style:none; padding:0; margin:0 0 5em 0;
}
.archives-glossary ul li {
	display:inline-block; margin:0 0.5em 0.5em 0; padding:0;
	font-size:11px; font-size:1.1rem;
}
.archives-glossary ul li a {
	display:block;
	padding: 0.5rem 2rem;
	color: #998877;
	white-space: nowrap;
	background-color: rgba(77,77,77,.05);
	background-color:var(--color-ivory);
	border-radius: 999px;
	text-align: center;
}
.archives-glossary ul li a:hover {background-color:#998877; color:#fff;}

.archives-works ul {
	list-style:none; padding:0 0 0; margin:0 0 5em 0;
	display:-webkit-flex;
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	align-items:stretch;
	align-content:stretch;
	-webkit-justify-content:flex-start;
	justify-content:flex-start;
	gap:2%;
}
.archives-works ul li {
	position:relative; display:block; margin:0 0 6% 0; padding:0;
	flex:0 1 auto;
	flex-grow:0;
	flex-shrink:1;
	flex-basis:23.5%;
}
.archives-works ul li span {display:block;}
.archives-works ul li .thumbnail {
	display:block; margin:0 0 1em 0; line-height:1;
	box-shadow:0 0 50px rgba(0,0,0,0.1);
	background:url("images-page/works-thumbnail-background.jpg") center center no-repeat;
	background-size:cover;
}
.archives-works ul li .thumbnail a {display:block;}
.archives-works ul li .title {font-size:13px; font-size:1.3rem; text-align:center;}
.archives-works ul li img {transition:0.4s;}
.archives-works ul li img:hover {}
.archives-works ul li a:hover {color:var(--color-brown);}
.archives-works ul li a:hover img {transform:scale(1.05);}

@media screen and (max-width:1260px) {
	.archives-works ul li {flex-basis:32%;}
}

@media screen and (max-width:700px) {
	.archives-works ul li {flex-basis:49%;}
}


/*
.archives-works .mix,
.archives-works .gap {display:inline-block; width:20%; vertical-align:top;}
.archives-works #mix .mix {display:none;}
*/
.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; position:relative;
	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;}

/******************/
/* button *********/
/* .article button */

.more a {display:inline-block; min-width:inherit; padding:0 24px 8px;text-align:center; background:transparent;
border-bottom:2px solid #2f2f2f; border-color:var(--color-dark); color:#2f2f2f; color:var(--color-dark); position:relative; line-height:1.2;}
.more a i {display:block; font-size:1.2em;}
.more a:after {content:""; width:0; height:0; border-style:solid; border-width:8px 0 0 16px;
border-color:transparent transparent transparent #2f2f2f;
border-color:transparent transparent transparent var(--color-dark);
position:absolute; right:-6px; bottom:-2px;}
.more a:hover {cursor:pointer; color:#998877; color:var(--color-brown); border-bottom:2px solid #998877; border-color:var(--color-brown);}
.more a:hover:after {border-color:transparent transparent transparent var(--color-brown);}

.buttons {display:flex; justify-content:center;}
.buttons .button {
	margin:0 1em;
	flex:1 1 0;
	flex-grow:0;
	flex-shrink:1;
	flex-basis:0;
}



.button {
	display:inline-block; font-size:13px; font-size:1.3rem; letter-spacing:0;
	white-space:nowrap;
	line-height:1;
	/*margin-block: calc((1em - 1lh) / 2);*/
}
.button a {
	display:block;
	align-items:center; justify-content:flex-start; flex-wrap:wrap;
	border:1px solid #998877;
	border-color:#c9bc9c;
	border-color:var(--color-beige);
	border-radius:60px;
	background:transparent url("images/arrow-right-beige.svg") center right 2em no-repeat;
	background-size:1em 1em;
	color:#998877;
	color:var(--color-brown);	
	padding:1.3em 5em 1.3em 3em;
	text-align:left;
	line-height:var(--line-height-small);
	letter-spacing:var(--letter-spacing);
	white-space:nowrap;
	min-width:190px;
}
.button a i {
	display:flex;
	align-items:center;
	font-size:15px; font-size:1.5rem; width:100%; text-align:left;
	letter-spacing:0.12em; letter-spacing:var(--letter-spacing);
	white-space:nowrap;
}
.button a:hover {background-color:#c9bc9c; background-image:url("images/arrow-right-white.svg"); color:#fff;}


@media screen and (max-width:760px) {
	.buttons {display:flex; flex-wrap:wrap; flex-direction:column;}
	.buttons .button {margin:0 auto 1em;}
	.button a {min-width:240px;}
}


.button-beige a {background-color:#c9bc9c; background-image:url("images/arrow-right-white.svg"); color:#fff;}
.button-beige a:hover {background-color:#fff; color:#998877; background-image:url("images/arrow-right-brown.svg");}

.button.button-small a {padding:1.5rem 3rem; min-width:30px; font-size:0.8em;}
.button.button-large {flex-basis:auto;}
.button.button-large a {padding:1.5rem 1.5rem 1.5rem 5rem; min-width:330px; font-size:17px; font-size:1.7rem;}
.button.button-large a i {font-size:17px; font-size:1.7rem;}




.button-detail {max-width:100%; display:flex; margin:2% 0;}
.button-detail a {
	display:flex;
	align-content:center;
	align-items:center;
	flex-direction:row;
	flex-wrap:nowrap;
	max-width:100%; padding:0;
	text-align:center; background:transparent; color:#998877; color:var(--color-brown); position:relative;
}
.button-detail a::before,
.button-detail a::after {display:block; content:"";}
.button-detail a::after {
	position:absolute;
	width:4em; height:4em;
	background:url("images/arrow-right-beige.svg") center center no-repeat;
	background-size:0.8em 0.8em;
	z-index:2;
}
.button-detail a::before {
content:"";
border:1px solid var(--color-beige);
margin:0 1em 0 0;
border-radius:100px;
flex:none;
height:4em;
width:4em;
max-width:100%;
transition:0.4s cubic-bezier(.4,.4,0,1);
z-index:1;
}
.button-detail a:hover {
	color:#c9bc9c; color:var(--color-beige);
/*	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset: 5px;
	text-decoration-skip-ink: none;*/
}
.button-detail a:hover::before {
	transform:scale(1.1, 1.1);
	background:var(--color-beige);
}
.button-detail a:hover::after {
	background-image:url("images/arrow-right-white.svg");
}
.button-detail a i {position:relative;}
.button-detail a i::after {
	display:block; content:"";
	width:0; transition:var(--transition) width;
	position:absolute; bottom:-1px; left:0;
	height:1px; background-color:var(--color-beige);
}
.button-detail a:hover i::after {width:100%;}

.button-detail.-right a {margin:0 0 0 auto;}


.buttons-list ul {display:flex; flex-wrap:wrap; line-height:var(--line-height-small);
	gap:2%;
}
.buttons-list ul li {
	flex-basis:50%;
	flex-basis:calc(50% - 1%);
	border-bottom:1px solid var(--color-border);
}
.buttons-list ul li:nth-child(1),
.buttons-list ul li:nth-child(2) {border-top:1px solid var(--color-border);}
.buttons-list ul li a {display:block; padding:1em 1em 1.5em;
	color:var(--color-gray);
}
.buttons-list ul li a i {
	font-size:45px; font-size:4.5rem;
	font-weight:var(--font-thin); color:var(--color-black);
	display:block;
}
.buttons-list ul li a:hover {
	background-color:var(--color-ivory);
}

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

.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;}


/******************/
/* 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 ************/
/******************/
/******************/

