@charset "UTF-8";

/*
Theme Name: KEIO SFRDC 2025
Text Domain: keio-sfrdc-2025
Description: 慶應義塾大学サイエンスフィクション研究開発実装センター専用ワードプレステーマ
Author: ONZE
Author URI: https://on-ze.com
Theme URI: https://keio-sfrdc.jp
Version: 0.9
*/

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

:root {
--color-black:#231f20;
--color-dark:#3f3d3e;
--color-background:#f5f4f3;
/*--color-border:rgba(63,61,62,0.2);*/
--color-gray:#979792;
--color-border:#d9d8d8;
--color-yellow:#f7c643;
--color-white:#ffffff;
--font-normal:'Shippori Mincho' ,'Cormorant', 'YuMincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN W3', serif;
--font-light:200;
--font-regular:400;
--font-bold:600;
--border-radius:30px;
--border-radius-mini:11px;
--border-radius-large:11vw;
--letter-spacing:0.07em;
--line-height-large:2.1;
--line-height:1.7;
--line-height-mini:1.3;
--transition:0.4s;
--transition-fast:0.15s;
--transition-late:0.7s;
}

/******************/
/******************/
/* 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, article, 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:anywhere;
	word-break:normal;
	font-feature-settings:"palt";
	font-kerning:normal;
	-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(7px, calc(100vw / 1600 * 4 + 5px), 11px);}
html.is-fixrem {font-size:62.5%;}


@media (max-width:900px) {
	html {font-size:clamp(7px, calc(100vw / 1600 * 4 + 6px), 11px);}
}


body {
background-color:#f5f5f5;
background-color:var(--color-background);
color:#231f20;
color:var(--color-black);
font-family:'Shippori Mincho' ,'Cormorant', 'YuMincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN W3', serif;
font-size:17px;
font-size:1.7rem;
font-style:normal;
font-weight:var(--font-regular);
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:1.3;}

b {color:inherit;}
i {font-style:normal;}
u {text-decoration:underline;}
em {font-weight:var(--font-bold);}
strong {font-weight:bold; font-size:1.3em;}
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 {}

hr {margin:2em 0; border:0; border-top:1px solid #cbcacb; 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;
	border-left:1px solid; border-color:var(--color-border);
}
table th,
table td {
	padding:0.5em 1em; vertical-align:top; line-height:var(--line-height);
}
table th {vertical-align:top; text-align:left; padding-left:2em; padding-right:3em;}
table td span {display:block; font-size:15px; font-size:1.5rem;}
table caption {text-align:left; padding:0.5em;}


::-moz-selection {background-color:#cbcacb; background-color:var(--color-gray); color:#ffffff;}
::selection {background-color:#cbcacb; background-color:var(--color-gray); 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,
.text-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;}

table.table-border,
table.table-border th,
table.table-border td {border:1px solid #cbcacb; border-color:var(--color-border);}

table.table-hover tbody tr:hover,
table.table-hover tbody tr:nth-child(odd):hover,
table.table-hover tbody tr:nth-child(even):hover {background-color:#cbcacb; background-color:var(--color-gray); color:#ffffff; cursor:text;
}

table.table-stripe tbody tr:nth-child(odd) {background-color:#cbcacb; background-color:var(--color-border);}
table thead th {vertical-align:bottom;}


.inner {
	clear:both; display:block; margin:0 auto; position:relative; max-width:1700px; width:100%;
	padding:0 5vw;
}
.inner[data-width="max"] {max-width:2400px;}
.inner[data-width="mid"] {max-width:1600px;}
.inner[data-width="min"] {max-width:1300px;}

@media (max-width:900px) {
	.inner {padding:0 3vw;}
}

/******************/
/******************/
/* 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%;}

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

.site {}
.site-header {}
.site-navi {}
.site-main {}
.site-footer {}
.site-background {}

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

.site-background {
	position:fixed; top:0; left:0; right:0; bottom:0;
	width:100%;
	backface-visibility:hidden;
	pointer-events:none;
	z-index:-1;
}
.site-background canvas {backface-visibility:hidden;}

.site-window {
	position:fixed;
	top:0; left:0; right:0; bottom:0;
	border:19px solid #fff;
	pointer-events:none;
	z-index:9999;
}
.site-window::before,
.site-window::after {
	content:""; position:absolute;
	left:0; right:0;
	display:block;
	width:100%; height:30px;
	background:0 0 no-repeat;
	background-size:30px 30px;
}
.site-window::before {
	background-image:url("images/decoration-top-left.svg"), url("images/decoration-top-right.svg");
	background-position:left top, right top;
	top:0;
}
.site-window::after {
	background-image:url("images/decoration-bottom-left.svg"), url("images/decoration-bottom-right.svg");
	background-position:left bottom, right bottom;
	bottom:0;
}

.site-pagetop {
	position:fixed; display:block;
	bottom:50px; right:50px;
	width:5em; height:5em;
	opacity:0;
	transition:var(--transition);
	z-index:88;
}
.site-pagetop.is-active {
	opacity:1;
}
.site-pagetop button {
	background-color:var(--color-white);
	padding: 0;
	width:100%; height:100%; position:relative;
	color: transparent;
	display: block;
	border-radius:50%;
	border:1px solid var(--color-white);
	transition:var(--transition);
	cursor:pointer;
	overflow: hidden;
	will-change: opacity;
}

.site-pagetop button:hover {
	background-color:var(--color-dark);
	color:var(--color-white);
	transform:translateY(-0.7rem);
}
.site-pagetop button i {color:transparent; position:absolute;}
.site-pagetop button span {
	position:absolute;
	display:block;
	width:1.5em; height:1.5em;
	background:center center no-repeat;
	background-image:url("images/arrow-top-black.svg");
	background-size:100% auto;
	top:50%; left:calc(50% - 0.75em);
	transform:translateY(-50%);
	will-change: transform;
}
.site-pagetop button:hover span {
	background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9Il/jg6zjgqTjg6Tjg7xfMS0yIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMSwxM2MtNS4yMywwLTE0LTEuNTYtMTQtMTIsMC0uNTUtLjQ1LTEtMS0xcy0xLC40NS0xLDFjMCwxMC40NC04Ljc3LDEyLTE0LDEyLS41NSwwLTEsLjQ1LTEsMXMuNDUsMSwxLDFjNi42MiwwLDExLjQ3LTIuMywxNC02LjM4djIyLjM4YzAsLjU1LjQ1LDEsMSwxczEtLjQ1LDEtMVY4LjYyYzIuNTMsNC4wOCw3LjM4LDYuMzgsMTQsNi4zOC41NSwwLDEtLjQ1LDEtMXMtLjQ1LTEtMS0xWiIvPjwvZz48L3N2Zz4=");
	animation:
		arrow-up-out 0.4s ease-out forwards,
		arrow-up-in 0.4s ease-out 0.4s forwards;
}
.site-pagetop button:not(:hover) span {
	animation:
		arrow-up-out-reset 0.4s ease-out forwards,
		arrow-up-in-reset 0.4s ease-out 0.4s forwards;
}

.site-header {
	width: calc(180px + 2%);
	display: block;
	position: fixed;
	backface-visibility: hidden;
	top: 0;
	left: 19px;
	padding: 0;
	margin: 0;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	z-index: 99;
}

.site-header .inner {display:flex; justify-content:space-between; align-items:center;}

.header-logo {
	margin:0;
	padding:30px 39px 30px 30px;
	background-color:#fff;
	border-bottom-right-radius:var(--border-radius);
	position:relative;
	z-index:9999;
}
.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:19px;}
.header-logo::after {left:0; top:100%;}
.header-logo .site-title {
	display:block; margin:0; white-space:nowrap; overflow:hidden; position:relative;
	height:auto;
}
.header-logo .site-title a {
	display:block;
}
.header-logo .site-title a:hover {color:#cbcacb; color:var(--color-gray);}
.header-logo .site-description {display:none;}



.site-utility {
	position:fixed; top:35px; right:35px;
	display:flex; align-items:center;
	background-color:var(--color-white);
	border-radius:50px;
	width:fit-content; line-height:1;
	padding:0.5em 0 0.5em 1.5em;
	z-index:9998;
}
.site-utility p {padding:0.5em; font-size:15px; font-size:1.5rem; letter-spacing:0;}
.utility-language {display:flex; padding:0; align-items:center; justify-content:center;}
.utility-language .item {margin:0 0.5em;}
.utility-language .button {
	font-size:15px; font-size:1.5rem; position:relative;
	background:var(--color-dark);
	border:1px solid var(--color-dark);
	color:#fff;
	padding:0.5em 0.5em 0.5em 1em; margin:0;
	border-radius:50px;
	display:flex; justify-content:space-between; align-items:center;
	transition:var(--transition) color;
	overflow:hidden;
	cursor:pointer;
}
.utility-language .button span {position:relative; z-index:2;}
.utility-language .button::before {
	content:"";
	position:absolute;
	top:0; left:0; right:0; bottom:0;
	display:block; width:100%; height:100%;
	background:var(--color-white); border-radius:50px;
	transform:translateX(-100%);
	transition:var(--transition);
	z-index:0;
}

.utility-language .button::after {
	content:"";
	display:block;
	width:0.7em; height:0.7em; background-color:#fff;
	border-radius:50%;
	margin:0 0 0 1em;
	transition: background-color var(--transition);
	z-index:3;
}
.utility-language .button:hover {
	color: var(--color-black);
}
.utility-language .button:hover::after {
	background-color:var(--color-dark);
}
.utility-language .button:hover::before {
	animation: slide-in var(--transition) ease-out forwards;
}
/*
.utility-language .button:not(:hover)::before {
	animation: slide-out var(--transition) ease-in forwards;
}
*/


@media (max-width:1000px) {
	.site-header {width: calc(150px + 2%);}
	.header-logo {padding:25px 29px 20px 20px;}
}
@media (max-width:600px) {
	.site-window {border:10px solid #fff;}
	.site-pagetop {bottom:20px; right:20px;}
	.site-header {left:10px;}
	.header-logo {padding:25px 19px 20px 10px;}
	.header-logo::before {top:10px;}
	.site-utility {top:20px; right:20px; padding:0.5em 1em 0.5em 1em;}
}


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



.header-navi {
	position:absolute;
	padding:5em 0 1.5em 2.5em; display:block;
	color:black;
	z-index:9999;
}
.header-navi ul {
	display:block; list-style:none; margin:0; padding:0;
	text-align:left;
}
.header-navi ul li {
	margin:0 0 2.0em 0;
	display:flex; align-items:center;
}
.header-navi ul li::before {
	content:""; width:0.3em; height:0.3em;
	margin:0 0.5em 0 0;
	background-color:var(--color-gray);
	opacity:0.7;
}
.header-navi ul li[class*="current"]::before {
	background-color:var(--color-black);
	opacity:1;
}
.header-navi ul li i {display:block;}
.header-navi ul li a {
	position:relative;
	display:inline-block; padding:0;
	color:var(--color-black);
	transition:color var(--transition);
}

.header-navi ul li a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 1px;
	background-color: var(--color-black);
	transition: var(--transition);
	transform: scaleX(0);
	transform-origin: left;
}
.header-navi ul li a:hover::after {
	transform: scaleX(1);
}
.header-navi ul li[class*="current"] a::after {transform: scaleX(1);}

.header-navi ul li.is-dark::before {opacity:0.3;}
.header-navi ul li.is-dark[class*="current"]::before {
	background-color:var(--color-white);
	opacity:1;
}
.header-navi ul li.is-dark a {
	color:#fff;
}
.header-navi ul li.is-dark a::after {background-color: var(--color-white);}

.navi-toggle {
	display:none; background:transparent; cursor:pointer; position: relative;
	width:30px; height:30px;
}
.navi-toggle span {
	display:block; position:absolute; width:100%; height:100%;
	top:0;
	transition:var(--transition);
}
.navi-toggle span:before,
.navi-toggle span:after {
	content:"";
	position:absolute;
	display:inline-block;
	left:0;
	width:100%;
	height:2px;
	background-color:#231f20; background-color:var(--color-black);
	transition:var(--transition);
	border-radius:2px;
}

.navi-toggle span.open:before {top:10px;}
.navi-toggle span.open:after {bottom:10px;}
.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-gray); }

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


/*
.header-close {
	display: none;
	position: fixed;
	bottom: 25px;
	left: 50%;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 11vw; max-width:80px; min-width:52px;
	height: 11vw; max-height:80px; min-height:52px;
	transform:translateX(-50%);
	background-color: var(--color-background);
	color: var(--color-black);
	border: 1px solid var(--color-dark);
	border-radius: 50%;
	cursor: pointer;
}
.header-close:hover {
	background-color: var(--color-dark);
	color: var(--color-white);	
}
*/


@media (max-width:900px) {
	.site-utility {padding-right:1em;}
	.site-utility p {display:none;}
	.site-utility .utility-language {margin:0 1em 0 0;}
	.navi-toggle {display:block;}
	.header-navi {
		position:fixed; top:19px; left:19px; right:19px; bottom:19px;
		padding:13em 0 15em;
		height:calc(100% - 38px);
		mix-blend-mode: normal;
		overflow-y:auto;
		-webkit-overflow-scrolling:touch;
		overflow-scrolling:touch;
		background-color: var(--color-dark);
		border-radius:var(--border-radius);
		pointer-events:none;
		opacity:0;
		display:block;
		backface-visibility:hidden;
		filter:blur(15px);
		will-change:opacity, filter;
		z-index:999;
	}
	.header-navi.is-mobile {transition:var(--transition-late);}
	.header-navi.is-active {
		opacity:1;
		filter: blur(0);
		pointer-events:auto;
	}
	.header-navi ul {
		display:inline-block;
		height:100%;
		border-radius:var(--border-radius);
		text-align:left;
		font-size:25px; font-size:2.5rem;
		padding:0;
		margin:0 auto;
	}
	.header-navi ul li {margin:0 0 2em 0; justify-content:flex-start;}
	.header-navi ul li a {color:var(--color-white);}
	.header-navi ul li a::after {background-color:var(--color-white);}
	.header-navi ul li[class*="current"]::before {background-color:var(--color-white);}
	.header-navi .header-close {display:none;}
	body.is-navi {overflow:hidden;}
}
@media (max-width:600px) {
	.header-navi {top:10px; left:10px; right:10px; bottom:10px;
		height:calc(100% - 20px);}
	.header-navi ul {font-size:25px; font-size:2.5rem;}
	.header-navi .header-close {width:13vw; height:13vw;}
}
@media (max-width:400px) {
	.header-navi ul {font-size:25px; font-size:2.5rem;}
}

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


.site-footer {
	text-align:center; line-height:var(--line-height);
	background-color:var(--color-dark);
	color:var(--color-white);
	position:relative;
}

.footer-logo {padding:9vw 3vw 3vw 3vw;}
.footer-logo dl {margin:0 auto 7vw; max-width:760px; line-height:var(--line-height-large);}
.footer-logo dl dt {margin:0 auto 3em; min-width:150px; width:15vw; max-width:220px;}
.footer-logo dl dt img {width:100%; height:auto;}
.footer-logo dl dt a {}
.footer-logo dl dt a:hover {}
.footer-logo dl dd {margin:0 auto 3em;}
.footer-logo dl dd.footer-description {margin:0 auto 1em;}
.footer-logo dl dd.text {margin:0 auto 3em;}

.footer-copy {
	padding:9em 0;
	text-align:center;
	background:url("images/footer-keio.webp") center center no-repeat;
	background-size:cover;
	position:relative;
}
.footer-copy::before {
	content:"";
	display:block; position:absolute;
	top:0; left:0; right:0; bottom:0;
	background:rgba(0,0,0,0.7);
	z-index:1;
}
.footer-copy p { position:relative; max-width:250px; width:fit-content; margin:0 auto 3em; z-index:2;}
.footer-copy p a {display:block; transition:var(--transition);}
.footer-copy p a:hover {opacity:0.7;}


small.site-info {position:relative; clear:both; font-size:17px; font-size:1.7rem; z-index:2;}
small.site-info a {color:#cbcacb; color:var(--color-gray);}
small.site-info a:hover {color:#cbcacb; color:var(--color-gray);}


@media (max-width:900px) {
	.footer-logo {padding:15vw 3vw 7vw 3vw;}
	.footer-copy p {max-width:25vw; min-width:150px;}
}

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

.site-main {
	padding: 0;
	padding:19px 19px 0 199px;
	padding-left: calc(199px + 2%);
	position: relative; text-align:left;
	line-height: 2.1;
	letter-spacing:var(--letter-spacing);
	overflow:hidden;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	display: flex;
	flex-direction: column;
}
html[lang="en"] .site-main {letter-spacing:0;}
html[lang="ja"] .site-main {letter-spacing:var(--letter-spacing);}

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


.main-header {
	padding: 13vw 3vw 9vw 5vw;
	position: relative;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	overflow: hidden;
}

@media (max-width:1000px) {
	.site-main {
		padding: 19px 19px 0 159px;
		padding-left: calc(159px + 2%);
	}
}
@media (max-width:900px) {
	.site-main {padding:19px 19px 0 19px;}
	.main-header {
		padding:21vw 1vw 17vw 3vw;
		padding-top:calc(100px + 11vw);
		padding-bottom:calc(100px + 7vw);
	}
}
@media (max-width:600px) {
	.site-main {padding:10px 10px 0 10px;}
}

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

.main-content {width:100%;}

.main-contents {display:flex;}
.main-contents .main-content {
	max-width:calc( 100% - 200px );
	width:82%;
}
.main-contents .main-sidebar {
	position:relative;
	width:16%;
	min-width:180px;
	padding:0;
	margin:0 0 0;
	text-align:left;
}

@media (max-width:700px) {
	.main-contents {display:contents;}
	.main-contents .main-content {width:100%; max-width:100%;}
	.main-contents .main-sidebar {display:none;}
}

/******************/
/******************/
/* main-content ***/

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

.article h1:first-child,
.article h2:first-child,
.article h3:first-child,
.article h4:first-child,
.article h5:first-child,
.article h6:first-child {margin-top:0;}

.article h1 {font-size:51px; font-size:5.1rem;}
.article h2 {font-size:45px; font-size:4.5rem;}
.article h3 {font-size:35px; font-size:3.5rem;}
.article h4 {font-size:29px; font-size:2.9rem;}
.article h5 {font-size:25px; font-size:2.5rem;}
.article h6 {font-size:21px; font-size:2.1rem;}

.article h2 i {font-size:65px; font-size:6.5rem; margin:0 0.5em 0 0;}
.article h2 span {font-size:21px; font-size:2.1rem;}

.article p {margin:0 0 2em 0;}

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

.article ul li,
.article ol li {margin:0.5em 0 0.5em 0;}

.article em {
	background: linear-gradient(transparent 60%, #f7c643 0);
	display: inline;
	padding:0 1px;
}


.article dl {margin:0 0 2em 0; padding:0;}
.article dl dt {margin:0; position:relative; font-size:1.1em;}
.article dl dd {margin:0 0 1em 0; padding:0;}


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

.article blockquote {
padding:0 0 0 2em;
margin:0 0 2em 0;
border-left:1px solid var(--color-gray);
}

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

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


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


.page-title {}
.page-title .title {
	line-height:var(--line-height-mini); text-align:left; margin:0 0 0;
	
}
.page-title .title {font-size:25px; font-size:2.5rem;}
.page-title .title i {
	display:block; font-size:125px; font-size:12.5rem; display:block;
	line-height:1;
}
.page-title .title span {
	margin:1em 0 0 0;
}
.page-title .title span b {display:flex; align-items:center;}
.page-title .title span b::before {
	content:""; width:3em; height:1px; background:var(--color-gray);
	margin:0 0.5em 0 0;
}

@media (max-width:1000px) {
	.page-title .title {font-size:21px; font-size:2.1rem;}
	.page-title .title i {font-size:111px; font-size:11.1rem;}
}
@media (max-width:700px) {
	.page-title .title i {font-size:91px; font-size:9.1rem;}
}
@media (max-width:500px) {
	.page-title .title i {font-size:75px; font-size:7.5rem;}
}

.page-selector {margin:0 0 7vw 0;}
.page-selector ul {display:flex; align-items:center; justify-content:flex-start;
	flex-wrap:wrap;
	font-size:13px; font-size:1.3rem;
	letter-spacing:0;
}
.page-selector ul li {margin:0 0.5em 0.5em 0;}
.page-selector ul li a span {position:relative; z-index:2;}
.page-selector ul li a:hover {
	color:var(--color-white);
}
.page-selector ul li a:hover span {color:var(--color-white);}
.page-selector ul li.is-current a {
	pointer-events:none;
	background-color:var(--color-dark); color:var(--color-white);
}
.page-selector ul li.is-current a .icon {background-color:var(--color-white);}
.page-selector ul li.is-current a .icon::after {background-image:url("images/arrow-right-black.svg");}



.page-content {margin:0;}

.page-content h2:not(:has(i)) {
	border-bottom:1px solid var(--color-dark); width:fit-content;
}
.page-content h3 {
	border:1px solid var(--color-dark);
	font-size:21px; font-size:2.1rem; width:fit-content;
	padding:0.5em 1.5em;
	margin:3em auto 1em 0;
}

.page-content ul {
	padding:0 0 0 2em;
	list-style-image: url("images/arrow-right-black.svg");
}

.page-content ol {
	list-style:none; padding:0 0 0 2em;
	list-style:outside;
	list-style-type:decimal;
	margin:1em auto 2em 0;
}
.page-content ol li {display:list-item;}


.page-content ul li a.link {
	position:relative;
	display:inline;
	text-decoration:underline;
	text-underline-offset:0.2em; 
	text-decoration-thickness:1px;
	text-decoration-color:var(--color-gray);
	background: linear-gradient(0deg, var(--color-gray), var(--color-gray)) no-repeat left bottom;
	background-size: 0 1px;
	transition:var(--transition);
}


.page-content ul li a.link:hover {
	color:var(--color-black);
	background-size: 100% 1px;
	text-decoration:none;
}

/*.page-content ul li a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 1px;
	background-color: var(--color-gray);
	transition: var(--transition);
	transform: scaleX(0);
	transform-origin: left;
}
*/

.single-window {
	padding:7em 7em;
	background:#fff;
	border-radius:var(--border-radius);
	/*box-shadow:var(--box-shadow);*/
}

@media (max-width:1200px) {
	.single-window {padding:5vw 5vw;}
}
@media (max-width:600px) {
	.single-window {border-radius:var(--border-radius-mini);}
}


.single-meta {margin:0 0 1.5em 0; line-height:var(--line-height-mini); display:flex;}
.single-meta .date {
	color:var(--color-black); padding:0 1em 0 0; margin:0 1em 0 0;
	border-right:1px solid var(--color-border);
}


.single-title {
	padding:0 0 0.5em 0;
	margin:0 0 3em 0; border-bottom:1px solid var(--color-border);
}
.single-title .title {font-size:31px; font-size:3.1rem;}


.single-content h2 {font-size:31px; font-size:3.1rem;}

.single-content h3 {
	border:1px solid var(--color-dark);
	font-size:21px; font-size:2.1rem; width:fit-content;
	padding:0.5em 1.5em;
	margin:2em auto 1em 0;
}

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


.single-content ul li {padding:0 0 0;}
.single-content ul li a {color:var(--color-gray);}
.single-content ul li a:hover {color:var(--color-black); text-decoration:underline;}

.single-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;
}
.single-content ol li:before {content:counter(number) "."; margin:0 0.4em 0 0;}




.single-links {text-align:center; margin:5em auto 7em;}
.single-links span a {
	display:inline;
	background:linear-gradient(to top, currentColor 1px, transparent 99%) no-repeat;
	background:linear-gradient(to top, var(--color-black), var(--color-black)) no-repeat left bottom 1px;
	transition: var(--transition);
	background-position: 0% 100%;
	background-size: 100% 1px;
}
.single-links .navi-prev,
.single-links .navi-next {margin:0 1em;}

.single-links a:hover {
	background-image: linear-gradient(to top,var(--color-black) 1px,transparent 99%);
	text-decoration: none;
	background-size: 100% 1px;
	animation: underline var(--transition-late) forwards;
}

/* #post-ID {} */

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


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

.section {
	position:relative; display:block; padding:11vw 0; margin:0;
}
.section.-background::before,
.section.-background::after {
	content: "";
	position: absolute;
	width: 100%;
	top: 0;
	bottom: 0;
	background: var(--color-dark);
	display: block;
	z-index:-1;
}
.section.-background::before {left:calc(-100% + 1px);}
.section.-background::after {right:calc(-100% + 1px);}

.section-title {margin:0 auto 0 0;}
.section-title .title {
	display:inline-block;
	line-height:var(--line-height-mini);
	margin:0 auto 1em 0;
}
.section-title .title i {font-size:65px; font-size:6.5rem; margin:0 0.3em 0 0;}
.section-title .title span {
	font-size:21px; font-size:2.1rem;
	margin:0 auto 0 0;
	white-space:nowrap;
}
.section-title .title span b {
	display:flex;
	justify-content:flex-start; align-items:center;
	color:var(--color-black);
}
.section-title .title span b::before {
	content:"";
	display:block;
	width:3em; height:1px; background:var(--color-gray);
	margin:0 0.5em 0 0;
}
.section-title .title::after {}
.section-title .subtitle {font-weight:bold;}
.section-title .description {font-size:15px; font-size:1.5rem;}

h4.title span {
	font-size:21px; font-size:2.1rem;
	margin:0.5em auto 0 0;
}
h4.title span b {
	display:flex;
	justify-content:flex-start; align-items:center;
	color:var(--color-black);
}
h4.title span b::before {
	content:"";
	display:block;
	width:2em; height:1px; background:var(--color-gray);
	margin:0 0.5em 0 0;
}


@media (max-width:700px) {
	.section-title .title {line-height:1; display:block;}
	.section-title .title i {display:block;}
	.section-title .title span {margin:0 0 0 0;}
}





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


.section-top-slider {
	position:relative; margin:0;
	padding:0 0 0 5vw;
	display:flex;
	align-items: center;
	height:100vh;
	min-height:700px;
}
.section-top-slider .top-slider-title {
	height:100%;
	display:flex; align-items:flex-start; justify-content:center;
	flex-direction:column;
	flex-wrap:wrap;
	line-height:var(--line-height-mini);
	position:relative;
	line-height:var(--line-height);
	mix-blend-mode: exclusion;
	color: #ffffff;
	z-index:2;
}
.section-top-slider .top-slider-title .copy {
	display:block;
	margin:0 0 3em 0;
	position:relative;
}
.section-top-slider .top-slider-title .copy i {
	display:block;
	font-size:75px; font-size:6.3vw;
	line-height:var(--line-height-mini);
	position:relative;
	
}
.section-top-slider .top-slider-title .copy span {
	display:block;
	font-size:19px; font-size:1.9vw;
	margin:0.5em auto 0 0;
}

.section-top-slider .top-slider-title .title {
	line-height:var(--line-height-mini);
	margin:0 auto 0.5em 0;
	font-size:17px; font-size:1.1vw;
}
.section-top-slider .top-slider-title .subtitle {
	margin:0 auto 3em 0;
	line-height:var(--line-height);
	font-size:17px; font-size:1.1vw;
}



.section-top-slider .top-slider-box {
	position:absolute;
	top:0; right:0; bottom:-100%;
	width:45%;
	height:200%;
	transform:rotate(3deg) scale(1.05) translate(-4% , -4%);
	transform-origin:25% 25%;
	pointer-events:none;
	z-index:1;
}
.section-top-slider .top-slider-swiper {
	transition:var(--transition-late);
	will-change:filter, opacity;
}
.section-top-slider .top-slider-swiper.is-blur {
	filter: blur(7px);
}
.section-top-slider .top-slider-swiper.is-blur-2 {
	filter: blur(11px);
	opacity:0.5;
}
.section-top-slider .top-slider-swiper.is-blur-3 {
	opacity:0;
}

.section-top-slider .swiper-container {
	width:100%; height:100%;
	line-height:0;
	overflow:hidden;
}
.section-top-slider .swiper-wrapper {
	transition-timing-function:linear;
	will-change:transform;
}
.section-top-slider .swiper-slide {
	width:100%;
	height:30%;
	/*max-height:400px;*/
	aspect-ratio:3 / 2;
	margin:0 0 0;
	overflow: hidden;
	border-radius:var(--border-radius-mini);
}
.section-top-slider .swiper-slide .thumbnail {
	overflow:hidden;
	width:100%; height:100%;
}
.section-top-slider .swiper-slide img {
	width:100%; height:100%; object-fit:cover;
}




@media (max-width:900px) {
	.section-top-slider {
		padding:0;
		margin:0 0 7vw 0;
		flex-direction:column;
		align-items:flex-start;
		height:auto;
	}
	.section-top-slider .top-slider-title {
		padding:13vw 3vw 5vw;
		min-height:450px;
	}
	.section-top-slider .top-slider-title .copy i {
		font-size: 81px;
		font-size: 8.1vw;
	}
	.section-top-slider .top-slider-title .copy span {font-size:3.5vw;}
	.section-top-slider .top-slider-title .title {font-size:21px; font-size:2.1rem;}
	.section-top-slider .top-slider-title .subtitle {font-size:19px; font-size:1.9rem; margin:0 auto 0 0;}
	.section-top-slider .top-slider-box {
		position:relative;
		top:auto; right:auto; bottom:auto;
		width:100%;
		height:auto;
		transform:rotate(0) scale(1) translate(0 , 0);
		transform-origin:auto;
	}
	.section-top-slider .swiper-slide {width:50%; height:auto;}
}
@media (max-width:700px) {
	.section-top-slider .top-slider-title .copy i {
		font-size: 93px;
		font-size: 9.3vw;
	}
	.section-top-slider .top-slider-title .copy span {font-size:25px; font-size:2.5rem;}
	.section-top-slider .flex-container {flex-direction: column-reverse;}
}


.section-top-about {
	padding-top:0;
	position:relative; z-index:3;
}
.section-top-about .flex-item:nth-child(1) {flex-basis:55%;}
.section-top-about .flex-item:nth-child(2) {flex-basis:35%;}

@media (max-width:900px) {
	.section-top-about .flex-container {display:block;}
}

.section-top-mission {
	background-color:var(--color-dark);
	color:var(--color-white);
	position:relative;
	z-index:3;
}
.section-top-mission::before {
	content:"";
	position:absolute; width:100%; left:-100%; right:98%;
	top:0; bottom:0;
	background:var(--color-dark);
	display:block;
}

.section-top-mission ol {
	display:flex; justify-content:center;
	flex-wrap:wrap;
}
.section-top-mission .item {
	flex-basis:30%; margin:0 1.5% 5em; text-align: center;
	line-height:var(--line-height);
}

.section-top-mission .item i {
	font-size:27px; font-size:2.7rem; display:block;
	margin:0 auto 0.5em auto;
	line-height:var(--line-height-mini);
}
.section-top-mission .item .icon {
	display:block; position:relative;
	width:135px; max-width:60%; border:1px solid var(--color-border);
	margin:0 auto 1em;
	border-radius:50%;
	line-height:1;
}
.section-top-mission .item .icon img.svg {
	position:absolute; top:50%; left:50%;
	transform:translate(-50%,-50%);
	width:50%; height:auto;
	
}
.section-top-mission .item .icon img.spacer {width:100%; height:auto;}


.section-top-mission .text {
	font-size:15px; font-size:1.5rem;
}

@media (max-width:800px) {
	.section-top-mission .item {flex-basis:45%;}
	.section-top-mission .item .icon {width:50%; max-width:100px;}
}


/*
.section-top-group .background {
	position:relative;
	height:50vh;
	transform:translateY(-30%);
	left: calc(-200px - 2%);
	width: calc(100% + ( 200px + 2% ));
	background-color:var(--color-dark);
}
*/
@media (max-width:900px) {
	.section-top-group {margin-bottom:7vw;}
}

.section-top-news {position:relative; padding-top:0;}

.section-top-sponsors {}

.section-top-links {padding:0;}
.section-top-links .flex-container .flex-item {
	aspect-ratio:60 / 33;
	overflow: hidden;
	margin-right:1px;
	flex-basis:calc(49.999% - 1px);
}

.section-top-links a {
	display:flex;
	background:url("images/footer-background.webp") center center no-repeat;
	background-size:cover;
	justify-content: center; align-items: center;
	position:relative;
	color:#fff;
	height:100%;
	padding:5em;
	line-height:1;
}
.section-top-links .flex-item:nth-child(1) a {background-image:url("images/footer-keio.webp");}
.section-top-links a::before {
	content:"";
	position:absolute; top:0; left:0; right:0; bottom:0;
	background-color:var(--color-dark);
	mix-blend-mode:multiply;
	opacity:0.7;
	z-index:1;
}

.section-top-links span {
	display:block; text-align:center; width:100%;
	border:1px solid var(--color-border);
	padding:1.5em 0.5em;
	background-color:rgba(0,0,0,0.3);
	color:#fff;
	line-height:var(--line-height);
	transition:var(--transition);
	z-index:2;
}
.section-top-links span b {
	display:block; font-size:25px; font-size:2.5rem;
	margin:0.5em auto 0;
}
.section-top-links a:hover span {
	background-color:var(--color-white);
	color:var(--color-black);
}

@media (max-width:1200px) {
	.section-top-links span {font-size:15px; font-size:1.5rem;}
}
@media (max-width:1100px) {
	.section-top-links .flex-container {display:block;}
	.section-top-links .flex-item {margin:0 0 3px 0;}
	.section-top-links span {font-size:17px; font-size:1.7rem;}
}
@media (max-width:900px) {
	.section-top-links .flex-container {display:flex;}
	.section-top-links span {font-size:15px; font-size:1.5rem;}
}
@media (max-width:800px) {
	.section-top-links .flex-container {display:block;}
	.section-top-links .flex-container .flex-item {aspect-ratio:5 / 2;}
	.section-top-links a {padding:3em 5em;}
	.section-top-links span {font-size:17px; font-size:1.7rem;}
}
/******************/
/* page.php *******/



.article-about .figure {
	float:right;
	width:60%; position:relative;
	margin:5em 0 5em 3em;
	right:-5vw;
}
.article-about .figure img {position:relative; z-index:2;}
.article-about .figure::after {
	content:"";
	position:absolute; display:none;
	left:-3em; bottom:-3em;
	width:100%; height:100%;
	background-color:var(--color-dark);
	z-index:1;
}

.article-about .section-about-group {}

.article-about .section-about-history {
	background: var(--color-dark);
	color:#fff;
	position:relative;
}

.article-about .section-about-history dl {
	line-height:var(--line-height);
}
.article-about .section-about-history dl dt {
	width:8em;
	clear:both;
	float:left;
}
.article-about .section-about-history dl dd {
	margin:0 0 2em 1em;
	overflow:hidden;
	position:relative;
	display:list-item;
	padding:0 0 0 3em;
	text-indent:-3em;
}

.article-about .section-about-history dl dd::before {
	content:"";
	display:inline-block; width:0.5em; height:0.5em;
	background-color:var(--color-white);
	border:2px solid var(--color-border);
	border-radius:50%;
	margin:0 2.5em 0 0;
}

@media (max-width:1000px) {
	.article-about .figure {width:50%; margin:5em 0 5em 1em;}
}
@media (max-width:700px) {
	.article-about .figure {float:none; width:calc(100% + 10vw); margin:5em 0 3em 0; left:-5vw;}
}


.article-members ul {display:flex; flex-wrap:wrap; gap:9%; justify-content:flex-start; list-style:none;
	padding:0; margin:0 0 5em 0;
}
.article-members .item {flex-basis:27.3333%; margin:0 0 7% 0; position:relative;}
.article-members .item span {display:block;}
.article-members .item .thumbnail {
	position:relative;
	margin:0 0 1em 0; overflow:hidden;
	aspect-ratio:2 / 3;
	line-height:1;
}
.article-members .item .thumbnail picture,
.article-members .item .thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s;
	transform: scale(1.05); 
	will-change: transform;
	pointer-events: none;
}
.article-members .item .thumbnail .layer {transition: transform 0.1s;}

.article-members .item .poste {
	color:var(--color-dark); display:block; padding:0.3em 0; width:fit-content;
	font-size:13px; font-size:1.3rem;
	margin:0 0 0.3em 0;
	line-height:var(--line-height);
}
.article-members .item .name {
	font-size:27px; font-size:2.7rem; line-height:var(--line-height-mini);
	letter-spacing:0.3em;
}
.article-members .item .name i {display:block; font-size:21px; font-size:2.1rem; letter-spacing:var(--letter-spacing);}
.article-members .item .link {
	display:block; font-size:13px; font-size:1.3rem;
	margin:1em 0 0 0;
	line-height:var(--line-height-mini);
}

.article-members .item .link a {
	position:relative;
	display:inline;
	width:fit-content;
	text-decoration:underline;
	text-underline-offset:0.2em; 
	text-decoration-thickness:1px;
	text-decoration-color:var(--color-gray);
	background: linear-gradient(0deg, var(--color-gray), var(--color-gray)) no-repeat left bottom;
	background-size: 0 1px;
	transition:var(--transition);
}

/*
.article-members .item .link a::after {
	content:"";
	width:1em; height:1em;
	display:inline-flex;
	background-color:var(--color-black);
	border-radius:10px;
	margin:0 0 0 0.5em;
	align-items: center;
}
*/
.article-members .item .link a:hover {
	color:var(--color-black);
	background-size: 100% 1px;
	text-decoration:none;
}



@media (max-width:1200px) {
	.article-members .item {flex-basis:45.5%;}
}
@media (max-width:900px) {
	.article-members .item {flex-basis:27.3333%;}
}
@media (max-width:900px) {
	.article-members .item {flex-basis:45.5%;}
}


/* content-selector を使うページ */
.page-id-42 .site-main,
.page-id-73 .site-main,
.parent-pageid-73 .site-main {overflow:visible;}

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

.content-selector {position:sticky; top:11em; margin:0 0 9vw 0;}
.content-selector ol {
	font-size:15px; font-size:1.5rem; text-align:left; list-style-position:outside;
	padding:0 0 0 1.5em;
}
.content-selector ol li {
	display: list-item;
	list-style-type:disc;
	margin:0 0 1em 0; line-height:var(--line-height);
}
.content-selector ol li::before {
	/*
	content:"";
	display:inline-block; width:0.5em; height:0.5em;
	background-color:var(--color-dark);
	border:2px solid var(--color-border);
	border-radius:50%;
	margin:0 0.5em 0 0;
	*/
}
.content-selector ol li button {
	display: block;
	background-color:transparent; color:var(--color-black);
	text-align:left;
	cursor:pointer;
}
.content-selector ol li button span {
	display:inline;
	background: linear-gradient(0deg, var(--color-black), var(--color-black)) no-repeat left bottom;
	background-size: 0 1px;
	transition: var(--transition);
}
.content-selector ol li button:hover span {
	background-size: 100% 1px;
}
.content-selector ol li.is-current button span {
	background-size: 100% 1px;
}

.content-selector ol {display:none;}
body[data-current-lang="ja"] .content-selector ol[data-lang-content="en"] {display:none;}
body[data-current-lang="en"] .content-selector ol[data-lang-content="ja"] {display:none;}
body[data-current-lang="ja"] .content-selector ol[data-lang-content="ja"] {display:block;}
body[data-current-lang="en"] .content-selector ol[data-lang-content="en"] {display:block;}

/*
.content-title {padding-top:3em; margin-top:-3em !important;}
*/

.results-list ol {
	line-height:var(--line-height);
	list-style:none; padding:0 0 0 3em; text-align:left;
	list-style:outside;
	list-style-type:decimal;
	font-size:21px; font-size:2.1rem;
}
.results-list ol li {display:list-item; margin:0; padding:1.5em 0; position:relative;}
.results-list ol li:after {content:""; position:absolute; display:block; border-bottom:1px solid var(--color-border); top:0; left:-3em; width:calc(100% + 3em);}
.results-list ol li span {display:block;}
.results-list ol li .title {line-height:var(--line-height-mini); margin:0 0 0.5em 0;}
.results-list ol li .author {font-size:15px; font-size:1.5rem; margin:0.5em 0; color:var(--color-dark);}
.results-list ol li .quote {font-size:13px; font-size:1.3rem;  color:var(--color-gray); margin:0.5em 0 0 0;}
.results-list ol li .quote a {
	display:inline;
	background:linear-gradient(to top, currentColor 1px, transparent 99%) no-repeat;
	background:linear-gradient(to top, currentColor, currentColor) no-repeat left bottom 1px;
	transition: var(--transition);
	background-position: 0% 100%;
	background-size: 100% 1px;
}
.results-list ol li .quote a[target="_blank"]::after {
	content:"";
	display:inline-block;
	width:1em; height:1em;
	background:url("images/icon-external-gray.svg") center center no-repeat;
	background-size:1em 1em;
	margin:0 0 0 0.5em;
}
.results-list ol li .quote a:hover {
	color:var(--color-black);
	background-image: linear-gradient(to top,var(--color-black) 1px,transparent 99%);
	text-decoration: none;
	background-size: 100% 1px;
	animation: underline var(--transition-late) forwards;
}
.results-list ol li .quote a[target="_blank"]:hover::after {
	background-image:url("images/icon-external.svg");
}

.results-list ol li .date {font-size:13px; font-size:1.3rem;  color:var(--color-gray); margin:0.5em 0 0 0;}



.article-company .section-company-info table td {padding:30px 0;}
.article-company .section-company-info table th {font-weight:bold; min-width:200px;}
.article-company .section-company-history ol {columns:2;}


/* .article-profile {} */
/* .article-service {} */
/* .article-contact {} */
.article-faq dl dt,
.article-faq dl dd {position:relative;}
.article-faq dl dt::before,
.article-faq dl dd::before {
	content:"Q."; display:block; position:absolute;
	font-size:25px; font-size:4.1vw; color:var(--color-gray);
	top:0.5vw; left:0.3em;
	line-height:1;
	opacity:0.35;
}
.article-faq dl dd::before {color:var(--color-gray);}
.article-faq dl dd::before {color:var(--color-black); content:"A."; top:-0.5em;}

.article-faq dl dt {
	font-size:25px; font-size:2.5rem; background:var(--color-border);
	color:var(--color-gray);
	padding:1.5em 3vw 1.5em 6vw;
	margin:0 0 1.5em 0;
	border-radius:var(--border-radius);
}
.article-faq dl dd {margin:0 0 5em 0; padding:0 3vw 0 6vw;}


.maps {
	clear:both;
	width:100%; height:30vw; min-height:450px; overflow:hidden; position:relative;
	padding-top:0; margin:3vw 0 0 0;
	border-radius:var(--border-radius);
}
.googlemaps {width:100%; height:100%; position:absolute; top:0;}
.maps iframe {position:absolute; top:0; left:0; right:0; bottom:0; width:100%;}




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


.archives ul {
	display:flex; flex-direction:row; justify-content:flex-start;
	flex-wrap:nowrap;
	align-items:stretch;
	list-style:none; padding:0; margin:0 0 3em 0;
}
.archives ul li {
	width:30%; height:auto;
	display:flex;
	align-items:stretch;
	margin:0; padding:0;
	background-color:var(--color-white);
	border:5px solid var(--color-white);
	border-radius:calc( var(--border-radius-mini) + 5px);
	position:relative;
	/*box-shadow:var(--box-shadow);*/
}
.top-archives-swiper ul li.swiper-slide {
	width:30%; max-width:400px;
}
/*
.archives ul li::before {
	content:""; position:absolute; top:-6px; left:-6px; right:-6px; bottom:-6px;
	border-radius:var(--border-radius-mini);
	pointer-events:none;
}
*/

.archives ul li a {
	display:flex;
	flex-direction:column;
	flex-grow:1;
	align-items:stretch;
	padding:0; height:100%;
}

.archives .thumbnail {
	aspect-ratio:75 / 50; overflow:hidden; line-height:1;
	position:relative;
	margin:0;
	border-radius:var(--border-radius-mini);
	border-bottom-left-radius:0;
	border-bottom-right-radius:0;
	overflow:hidden;
}
.archives .thumbnail img {
	object-fit:cover; width:100%; height:100%;
	transition:var(--transition);
}
.archives .thumbnail img.overlay {
	position:absolute;
	object-fit:cover; width:100%; height:100%;
	top:0; left:0;
	transition:var(--transition); z-index:3;
}
.archives .content {
	padding:2em 2em 3em 2em;
	flex-grow:1;
	line-height:var(--line-height);
}
.archives .meta {
	font-size:13px; font-size:1.3rem;
	margin:0 0 1.5em 0;
	display:flex;
}
.archives .meta .date {
	color:var(--color-black); padding:0 1em 0 0; margin:0 1em 0 0;
	border-right:1px solid var(--color-border);
}
.archives .title {
	padding:0; font-size:17px; font-size:1.7rem;
	line-height:var(--line-height);
	display:-webkit-box;
	overflow:hidden;
	text-overflow: ellipsis;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}
.archives .title b {
	color:var(--color-black);
	display:inline;
	background: linear-gradient(0deg, var(--color-black), var(--color-black)) no-repeat left bottom;
	background-size: 0 1px;
	transition:var(--transition);
}
.archives .summary {display:none;}

.archives ul li a:hover .thumbnail img {scale:1.1;}
.archives ul li a:hover .title b {
	background-size: 100% 1px;
}
 
 
.archives ul li.links a {
	 background-color:var(--color-white); text-align:center;
	 justify-content:center;
	 border-radius:var(--border-radius);
}
.archives ul li.links i {
	 font-weight:var(--font-bold);
	 font-size:19px; font-size:1.9rem;
	 transition:var(--transition);
}
.archives ul li.links a:hover i {scale:1.1;}

#article-news .archives ul {
	flex-wrap:wrap;
	gap:4%;
}
#article-news .archives ul li {margin:0 0 5% 0; max-width:none; width:22%;}

@media (max-width:1800px) {
	#article-news .archives ul {gap:5%;}
	#article-news .archives ul li {width:30%;}
}
@media (max-width:1200px) {
	.archives ul li {width:48%;}
	.top-archives-swiper ul li.swiper-slide {width:40%;}
	#article-news .archives ul {gap:4%;}
	#article-news .archives ul li {width:48%;}
}
@media (max-width:900px) {
	#article-news .archives ul li {width:30.6666%;}
}

@media (max-width:800px) {
	.archives ul li {width:48%;}
	.top-archives-swiper ul li.swiper-slide {width:45%;}
	.archives .content {padding:2em 2em 2em 2em;}
	#article-news .archives ul li {width:48%;}
}
@media (max-width:700px) {
	.top-archives-swiper ul li.swiper-slide {width:55%;}
}
@media (max-width:480px) {
	.top-archives-swiper ul li.swiper-slide {width:75%;}
	#article-news .archives ul li {width:100%; margin:0 0 7vw 0;}
}
@media (max-width:380px) {
	.archives ul {padding:0;}
}
/******************/
/******************/
/* archive-custom-post.php */


.archives-group ul {
	display:flex; flex-direction:row; justify-content:flex-start;
	flex-wrap:nowrap;
	gap:0;
	align-items:stretch;
	list-style:none; padding:0; margin:0;
}
.archives-group ul li {
	width:30%;
	/*width:calc(100% / 3);*/
	position:relative;
	border-radius: var(--border-radius);
	border-bottom-left-radius:var(--border-radius-mini);
	overflow:hidden;
}
.archives-group ul li:nth-child(1) {margin-top:100px;}
.archives-group ul li:nth-child(2) {margin-top:80px;}
.archives-group ul li:nth-child(3) {margin-top:60px;}
.archives-group ul li:nth-child(4) {margin-top:40px;}
.archives-group ul li:nth-child(5) {margin-top:20px;}
.archives-group ul li:nth-child(6) {margin-top:0;}

.archives-group ul li .thumbnail {
	display:block; margin:0 0 0; line-height:1;
	border:5px solid #fff;
	border-radius: var(--border-radius);
	overflow:hidden;
	transition:border-color var(--transition);
	aspect-ratio:1 / 1.75;
}
.archives-group ul li .thumbnail::before {
	content:"";
	position:absolute;
	top:15px; left:15px;
	height:calc(100% - 90px);
	width:100%;
	background:left top no-repeat;
	background-size:auto 100%;
	z-index:4;
}
.archives-group ul li:nth-child(1) .thumbnail::before {background-image:url("images-page/group-title-01.webp");}
.archives-group ul li:nth-child(2) .thumbnail::before {background-image:url("images-page/group-title-02.webp");}
.archives-group ul li:nth-child(3) .thumbnail::before {background-image:url("images-page/group-title-03.webp");}
.archives-group ul li:nth-child(4) .thumbnail::before {background-image:url("images-page/group-title-04.webp");}
.archives-group ul li:nth-child(5) .thumbnail::before {background-image:url("images-page/group-title-05.webp");}
.archives-group ul li:nth-child(6) .thumbnail::before {background-image:url("images-page/group-title-06.webp");}


.archives-group ul li img {
	width:100%; height:100%; object-fit:cover;
	transition:var(--transition-late);
}
.archives-group ul li .title {
	font-size:17px; font-size:1.7rem;
	line-height:var(--line-height);
	position:absolute;
	bottom:0;
	background:var(--color-white);
	border-top-right-radius:var(--border-radius-mini);
	padding:1em 3em 1em 1.5em;
	max-width:90%;
	transition:var(--transition);
	z-index:5;
}
.archives-group ul li .title i {
	display:block;
	font-size:19px; font-size:1.9rem;
	letter-spacing:0;
}
.archives-group ul li a:hover .thumbnail img {transform:scale(1.03);}
.archives-group ul li a:hover .thumbnail {border-color:var(--color-dark);}
.archives-group ul li a:hover .title {
	background-color:var(--color-dark);
	color:var(--color-white);
}


.swiper-container {position:relative;}
.swiper-container .module {
	position:absolute; top:-5em; right:0;
	display:flex;
	justify-content:flex-start; align-items:center;
	z-index:3;
}
.swiper-container .module .button {margin:0;}

.swiper-container .swiper-button-prev,
.swiper-container .swiper-button-next {
	position:relative; display:block;
	width:2.3em; height:2.3em;
	background-color:transparent;
	margin:0 1em 0 0;
	border:1px solid var(--color-dark);
	border-radius:50%;
	top:auto; left:auto; right:auto;
	overflow:hidden;
	transition:var(--transition);
}

.swiper-container .swiper-button-prev:before,
.swiper-container .swiper-button-next:before,
.swiper-container .swiper-button-prev:after,
.swiper-container .swiper-button-next:after {
	content:"";
	font-size:1em;
	width:0.7em; height:0.7em;
	position:absolute;
	top:calc(50% - 0.35em);
	left:calc(50% - 0.35em);
	background:0 0 no-repeat;
	background-image:url("images/arrow-right-black.svg");
	background-size:auto;
	transition:none;
	animation:none;
	will-change:transform;
} 
.swiper-container .module .swiper-button-prev:before {
	background-image:url("images/arrow-left-black.svg");
} 

.swiper-container .module .swiper-button-prev:after,
.swiper-container .module .swiper-button-next:after {
	transform:translateX(-200%);
	display:none;
}


.swiper-container .swiper-button-prev:hover,
.swiper-container .swiper-button-next:hover {
	background-color:var(--color-dark);
}
.swiper-container .swiper-button-prev:hover::before {
	background-image:url("images/arrow-left-white.svg");
	animation:
		arrow-out-reverse 0.4s ease-out 0.1s forwards,
		arrow-in-reverse 0.4s ease-out 0.4s forwards;
}
.swiper-container .swiper-button-next:hover::before {
	background-image:url("images/arrow-right-white.svg");
	animation:
		arrow-out 0.4s ease-out 0.1s forwards,
		arrow-in 0.4s ease-out 0.4s forwards;
}
.swiper-container .swiper-button-prev:not(:hover)::before {
	animation:
		arrow-out-reverse-reset 0.4s ease-out 0.1s forwards,
		arrow-in-reverse-reset 0.4s ease-out 0.4s forwards;
}
.swiper-container .swiper-button-next:not(:hover)::before {
	animation:
		arrow-out-reset 0.4s ease-out 0.1s forwards,
		arrow-in-reset 0.4s ease-out 0.4s forwards;
}

.swiper-container .swiper-button-disabled {background-color:var(--color-gray); border-color:var(--color-gray);}
.swiper-container .swiper-button-next.swiper-button-disabled::before {
	opacity:1;
	/*background-image:url("images/arrow-right-gray.svg");*/
	background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2U5ZThlODt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9Il/jg6zjgqTjg6Tjg7xfMS0yIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xOSwzMWMwLTUuMjMsMS41Ni0xNCwxMi0xNCwuNTUsMCwxLS40NSwxLTFzLS40NS0xLTEtMWMtMTAuNDQsMC0xMi04Ljc3LTEyLTE0LDAtLjU1LS40NS0xLTEtMXMtMSwuNDUtMSwxYzAsNi42MiwyLjMsMTEuNDcsNi4zOCwxNEgxYy0uNTUsMC0xLC40NS0xLDFzLjQ1LDEsMSwxaDIyLjM4Yy00LjA4LDIuNTMtNi4zOCw3LjM4LTYuMzgsMTQsMCwuNTUuNDUsMSwxLDFzMS0uNDUsMS0xWiIvPjwvZz48L3N2Zz4=");
}
.swiper-container .swiper-button-prev.swiper-button-disabled::before {
	opacity:1;
	/*background-image:url("images/arrow-left-gray.svg");*/
	background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2U5ZThlODt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9Il/jg6zjgqTjg6Tjg7xfMS0yIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMywxYzAsNS4yMy0xLjU2LDE0LTEyLDE0LS41NSwwLTEsLjQ1LTEsMXMuNDUsMSwxLDFjMTAuNDQsMCwxMiw4Ljc3LDEyLDE0LDAsLjU1LjQ1LDEsMSwxczEtLjQ1LDEtMWMwLTYuNjItMi4zLTExLjQ3LTYuMzgtMTRoMjIuMzhjLjU1LDAsMS0uNDUsMS0xcy0uNDUtMS0xLTFIOC42MmM0LjA4LTIuNTMsNi4zOC03LjM4LDYuMzgtMTQsMC0uNTUtLjQ1LTEtMS0xcy0xLC40NS0xLDFaIi8+PC9nPjwvc3ZnPg==");
}



.swiper-container .module {top:-3.5em;}

@media (max-width:1200px) {
	.swiper-container .module {position:relative; top:20px;}
	.archives.swiper-container .module {top:auto;}
}
@media (max-width:900px) {
	.archives.swiper-container .module {top:auto;}
	.archives-group.swiper-container .module {top:20px;}
}

/*
.archives-custompost .mix,
.archives-custompost .gap {display:inline-block; width:20%; vertical-align:top;}
.archives-custompost #mix .mix {display:none;}
*/




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

body.error404 {overflow:hidden;}
body.error404 #swup {display: contents;}
body.error404 .site-header,
body.error404 .site-footer {display:none;}
.main-404 {
	display: flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	position:fixed;
	top:0; left:0; right:0; bottom:0; padding:5em 3em;
	background-color:var(--color-background);
	color:var(--color-black);
	overflow:auto;
	z-index:99999;
}
.article-404 {
	margin: auto;
	padding:3em 0;
	line-height:var(--line-height-big);
}
.article-404 .logo {text-align:center; margin:0 auto 1.5em;}
.article-404 .logo img {margin:0 auto; width:100%; max-width:210px;}
.article-404 .title {margin:0 auto; font-size:35x; font-size:3.5rem;}
.article-404 .subtitle {margin:0 auto 1.5em; font-size:21px; font-size:2.1rem;}
.article-404 .subtitle::before,
.article-404 .subtitle::after {display:none;}

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

.breadcrumbs {clear:both; display:block;
	margin:0 0 1.5em 0; padding:0; text-align:left; font-size:13px; font-size:1.3rem;
}
.breadcrumbs ul {
	padding:0; margin:0 auto 0 0; list-style:none; white-space:nowrap;
	display: flex;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
}
.breadcrumbs ul li {display:flex;}
.breadcrumbs ul li:after {content:"\25B8"; margin:0 0.5em 0 1em;}
.breadcrumbs ul li:first-child:before {}
.breadcrumbs ul li:last-child:after {content:""; display:none;}
.breadcrumbs ul li a {
	display: inline-block;
	color: var(--color-black);
	padding:0 0 0;
	background: linear-gradient(0deg,var(--color-black),var(--color-black)) no-repeat left bottom;
	background-size: 0 1px;
	transition: var(--transition)
}
.breadcrumbs ul li a:hover {
	background-size: 100% 1px;
}


/******************/
/* pagination *****/

.pagination {margin:0 auto 5em; clear:both;}
.pagination ul {
	text-align:center; font-size:19px; font-size:1.9rem;
	display:flex; justify-content:center; align-items:center;
	flex-wrap:wrap;
}
.pagination ul li {display:inline-block; margin:0 0.7em; white-space:nowrap;}
.pagination ul li .current {text-decoration:underline;}
.pagination span,
.pagination ul li a {
	padding:0;
	color:var(--color-black);
	transition:background-color var(--transition) , color var(--transition);
}
.pagination ul li a.prev,
.pagination ul li a.next {
	display: block;
	width:2.5em; height:2.5em; border-radius:50%;
	background:transparent center center no-repeat;
	border:1px solid var(--color-dark);
	color:transparent;
	position:relative;
	overflow:hidden;
}
.pagination ul li a.prev::before,
.pagination ul li a.next::before {
	content:""; display:block; position:absolute;
	width:0.7em; height:0.7em;
	top:calc(50% - 0.35em);
	left:calc(50% - 0.35em);
	background:center center no-repeat;
	background-size:100% auto;
}
.pagination ul li a.prev::before {background-image:url("images/arrow-left-black.svg");}
.pagination ul li a.next::before {background-image:url("images/arrow-right-black.svg");}

.pagination ul li a.prev:hover,
.pagination ul li a.next:hover {
	background-color:var(--color-dark);
	color:transparent;
}
.pagination ul li a.prev:hover::before {
	/*background-image:url("images/arrow-left-white.svg");*/
	background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9Il/jg6zjgqTjg6Tjg7xfMS0yIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMywxYzAsNS4yMy0xLjU2LDE0LTEyLDE0LS41NSwwLTEsLjQ1LTEsMXMuNDUsMSwxLDFjMTAuNDQsMCwxMiw4Ljc3LDEyLDE0LDAsLjU1LjQ1LDEsMSwxczEtLjQ1LDEtMWMwLTYuNjItMi4zLTExLjQ3LTYuMzgtMTRoMjIuMzhjLjU1LDAsMS0uNDUsMS0xcy0uNDUtMS0xLTFIOC42MmM0LjA4LTIuNTMsNi4zOC03LjM4LDYuMzgtMTQsMC0uNTUtLjQ1LTEtMS0xcy0xLC40NS0xLDFaIi8+PC9nPjwvc3ZnPg==");
}
.pagination ul li a.next:hover::before {
	/*background-image:url("images/arrow-right-white.svg");*/
	background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9Il/jg6zjgqTjg6Tjg7xfMS0yIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xOSwzMWMwLTUuMjMsMS41Ni0xNCwxMi0xNCwuNTUsMCwxLS40NSwxLTFzLS40NS0xLTEtMWMtMTAuNDQsMC0xMi04Ljc3LTEyLTE0LDAtLjU1LS40NS0xLTEtMXMtMSwuNDUtMSwxYzAsNi42MiwyLjMsMTEuNDcsNi4zOCwxNEgxYy0uNTUsMC0xLC40NS0xLDFzLjQ1LDEsMSwxaDIyLjM4Yy00LjA4LDIuNTMtNi4zOCw3LjM4LTYuMzgsMTQsMCwuNTUuNDUsMSwxLDFzMS0uNDUsMS0xWiIvPjwvZz48L3N2Zz4=");
}

.pagination ul li a.prev:hover::before {
	/*background-image:url("images/arrow-left-white.svg");*/
	background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9Il/jg6zjgqTjg6Tjg7xfMS0yIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMywxYzAsNS4yMy0xLjU2LDE0LTEyLDE0LS41NSwwLTEsLjQ1LTEsMXMuNDUsMSwxLDFjMTAuNDQsMCwxMiw4Ljc3LDEyLDE0LDAsLjU1LjQ1LDEsMSwxczEtLjQ1LDEtMWMwLTYuNjItMi4zLTExLjQ3LTYuMzgtMTRoMjIuMzhjLjU1LDAsMS0uNDUsMS0xcy0uNDUtMS0xLTFIOC42MmM0LjA4LTIuNTMsNi4zOC03LjM4LDYuMzgtMTQsMC0uNTUtLjQ1LTEtMS0xcy0xLC40NS0xLDFaIi8+PC9nPjwvc3ZnPg==");
	animation:
		arrow-out-reverse 0.4s ease-out 0.1s forwards,
		arrow-in-reverse 0.4s ease-out 0.4s forwards;
}
.pagination ul li a.next:hover::before {
	/*background-image:url("images/arrow-right-white.svg");*/
	background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9Il/jg6zjgqTjg6Tjg7xfMS0yIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xOSwzMWMwLTUuMjMsMS41Ni0xNCwxMi0xNCwuNTUsMCwxLS40NSwxLTFzLS40NS0xLTEtMWMtMTAuNDQsMC0xMi04Ljc3LTEyLTE0LDAtLjU1LS40NS0xLTEtMXMtMSwuNDUtMSwxYzAsNi42MiwyLjMsMTEuNDcsNi4zOCwxNEgxYy0uNTUsMC0xLC40NS0xLDFzLjQ1LDEsMSwxaDIyLjM4Yy00LjA4LDIuNTMtNi4zOCw3LjM4LTYuMzgsMTQsMCwuNTUuNDUsMSwxLDFzMS0uNDUsMS0xWiIvPjwvZz48L3N2Zz4=");
	animation:
		arrow-out 0.4s ease-out 0.1s forwards,
		arrow-in 0.4s ease-out 0.4s forwards;
}

.pagination ul li a:hover {
	color:var(--color-black);
	text-decoration:underline;
}
.pagination span.dots {border:0; background:transparent;}

.pagination ul li a:not(:hover)::before {
	animation:
		arrow-out-reset 0.4s ease-in forwards,
		arrow-in-reset 0.4s ease-out 0.4s forwards;
}
.pagination ul li a.prev:not(:hover)::before {
	animation:
		arrow-out-reverse-reset 0.4s ease-in forwards,
		arrow-in-reverse-reset 0.4s ease-out 0.4s forwards;
}

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


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

.button {margin:2em 0; font-size:17px; font-size:1.7rem; width:fit-content;}

.buttons {display:flex; justify-content:flex-start;}
.buttons .button {margin:2em 1em 2em 0;}

.button a {
	display:flex; justify-content:space-between; align-items:center;
	min-width:190px; padding:0.15em 0.5em 0.15em 1.5em;
	border-radius:50px;
	text-align:left;
	background:transparent;
	border:1px solid; border-color:var(--color-dark);
	color:var(--color-dark); position:relative;
	overflow:hidden;
	transition:var(--transition);
}
.button i {
	display:inline-block;
	position:relative; z-index:2;
}
.button .icon {
	position:relative;
	border-radius:50%;
	width:1.5em; height:1.5em;
	background-color:var(--color-dark);
	margin:0 0 0 3em;
	overflow:hidden;
	transition:var(--transition);
	z-index:3;
}
.button .icon::after {
	content:"";
	position: absolute;
	top:calc(50% - 0.35em); left:50%;
	transform: translateX(-50%);
	width:0.7em; height:0.7em;
	background:url("images/arrow-right-white.svg") center center no-repeat;
	background-size:100% auto;
	margin:0;
}

.button a:after {
	content:""; display:block;
	position:absolute; width:100%; height:100%;
	top:0; bottom:0; left:0;
	background-color:var(--color-dark);
	border-radius:50px;
	transform:translateX(-100%);
	transition:var(--transition);
	z-index:1;
}

.button a:hover {
	background-color:transparent; color:var(--color-white); cursor:pointer;
}
.button a:hover .icon {
	background-color:var(--color-white);
}

.button a:hover::after {
	animation: slide-in var(--transition) ease-out forwards;
}
.button a:not(:hover)::after {
	animation: slide-out var(--transition) ease-in forwards;
}

.button a:hover .icon::after {
	background-image:url("images/arrow-right-black.svg");
	animation:
		slide-out-arrow 0.4s ease-in forwards,
		slide-in-arrow 0.4s ease-out 0.4s forwards;
}

.button a:not(:hover) .icon::after {
	animation:
		slide-out-reset 0.4s ease-in forwards,
		slide-in-reset 0.4s ease-out 0.4s forwards;
}

.button a[target="_blank"] i {
	background:url("images/icon-external.svg") right center no-repeat;
	background-size:1em auto;
	padding:0 1.5em 0 0;
}
.button a[target="_blank"]:hover i {
	background-image:url("images/icon-external-white.svg");
}

.button.-white a {
	border-color:var(--color-white);
	color:var(--color-white);
}
.button.-white a .icon {
	background-color:var(--color-white);
}
.button.-white .icon::after {background-image:url("images/arrow-right-black.svg");}
.button.-white a:after {background-color:var(--color-white);}
.button.-white a:hover {
	background-color:transparent;
	color:var(--color-black);
}
.button.-white a:hover .icon {background-color:var(--color-dark);}
.button.-white a:hover .icon::after {background-image:url("images/arrow-right-white.svg");}


.button a br {display:none;}

@media (max-width:600px) {
	.button a {min-width:150px;}
}

.button.-center {margin:1em auto 1em auto;}
.button.-right {margin:1em 0 1em auto; text-align:right;}

.button.-small a {font-size:15px; font-size:1.5rem; min-width:auto;}
.button.-small .icon {margin:0 0 0 1em;}

.button.-large {width:100%;}
.button.-large a {
	font-size:17px; font-size:1.7rem; padding:1.5em 3em;
	min-width:auto; width:100%; max-width:535px;
}

.button.button-success a {border-color:#cbcacb; border-color:var(--color-gray); color:blue;}
.button.button-success a:hover {background-color:#cbcacb; background-color:var(--color-gray); color:#ffffff;}

.button.button-error a {border-color:red; color:red;}
.button.button-error a:hover {background-color:red; color:#ffffff;}

.button.button-warning a {border-color:yellow; color:yellow;}
.button.button-warning a:hover {background-color:yellow; color:#ffffff;}


/******************/
/******************/
/* 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 {
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	align-items:stretch;
	align-content:stretch;
	justify-content:space-between;
}

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

.flex-container-2 .flex-item {
	flex-basis:50%;
}
.flex-container-3 .flex-item {
	flex-basis:33.3333%;
}
.flex-container-4 .flex-item {
	flex-basis:25%;
}

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


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


.responsive-table {
	width:100%;
	position: relative;
	overflow-y: hidden;
	overflow:scroll;
	-ms-overflow-style:-ms-autohiding-scrollbar;
	width: 100%;
	cursor: grab;
}

.responsive-table:not(.is-overflow)::-webkit-scrollbar {display:none;}
.responsive-table .icon {
	content:""; position:absolute; top:min(30vh,50%); left:50%; width:112px; height:112px; background:url("images/icon-scrollable-jp.svg") center/contain no-repeat; transform:translate(-50%,-50%); z-index:2; backdrop-filter:blur(2px);}
.responsive-table .icon {
	opacity:0; transition:.2s; pointer-events:none; transition-delay:.4s;
}
.responsive-table.is-overflow>.icon {opacity:1;}
.responsive-table.is-overflow>.icon.is-hide {opacity:0;}
[data-current-lang="en"] .responsive-table .icon {background-image:url("images/icon-scrollable-en.svg");}
.responsive-table.is-overflow>.scrollable-icon.is-hide {
	opacity: 0;
}
.responsive-table.is-overflow>.scrollable-icon {
	opacity: 1;
}

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


.tab-selector ol {
	display:table; table-layout:fixed; text-align:center;
	padding:0 20px; margin:0 auto; width:100%;
	position:relative; bottom:-1px;
	z-index:3;
}
.tab-selector ol li {
	display:table-cell;
	padding:12px 0; cursor:pointer; background-color:#cbcacb; background-color:var(--color-border);
	border:1px solid #999999; border-color:var(--color-gray);
	white-space:nowrap;
	overflow:hidden;
}

.tab-selector ol li:not(:last-child) {border-right:0;}
.tab-selector ol li:hover {background-color:#cbcacb; background-color:var(--color-gray); color:#ffffff;}
.tab-selector ol li:first-child {border-top-left-radius:4px;}
.tab-selector ol li:last-child {border-top-right-radius:4px;}
.tab-selector ol li.is-current {background-color:#ffffff; background-color:var(--color-background); color:#cbcacb; color:var(--color-gray); border-bottom:1px solid #ffffff;}
.tab-selector ol li.is-current:hover {background-color:#ffffff; background-color:var(--color-background); color:#cbcacb; color:var(--color-gray);}

.tab-content {position:relative; z-index:2;}
.tab-content > div {display:none;}
.tab-content > div:first-child {display:block;}



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

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




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

/*
[data-sr] {
	opacity:0; filter:blur(15px);
	transition:var(--transition-late);
}
*/

[data-lang-content] {
	transition:filter var(--transition);
	will-change:filter;
}


[data-sr].is-visible {
	opacity:1; filter:blur(0);
}






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



.form {clear:both; display:block; margin:0;}
.form table {
	line-height:var(--line-height-mini); border:0;
}
.form table th,
.form table td {
	padding:1.5em 1em; vertical-align:middle;
}
.form table th {
	text-align:right;
	line-height:var(--line-height-mini);
}
.form table td {}
.form table th i {
	display:block; font-size:21px; font-size:2.1rem; line-height:var(--line-height-mini);
}


@media (max-width:700px) {
	.form table,
	.form table tbody,
	.form table tr,
	.form table th,
	.form table td {display:block;}
	.form table th,
	.form table td {display:block; text-align:left; padding:0;}
	.form table th {border:0; padding:32px 0 0 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:#999999; color:var(--color-gray);}

[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%;
	border-radius:4px;
	display:block;
	position:relative;
	font-size:19px; font-size:1.9rem;
/*-webkit-appearance:none;
appearance:none;*/
	padding:1.5em 2em; margin:0; line-height:var(--line-height);
	border:1px solid #f5f5f5;
	border-radius:var(--border-radius-mini);
	background-color:var(--color-white);
}


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 #cbcacb;}
textarea {width:100%;}

input[type="submit"] {
	margin:0 auto 5em;
	text-align:center;
	appearance:none;
	display:block;
	text-align:center;
	background:url("images/arrow-right-white.svg") right 1.5em center no-repeat;
	background-image:url("images/arrow-right-white.svg");
	background-size:1.1em 1.1em;
	background-color:var(--color-dark);
	border:2px solid var(--color-dark); border-radius:100px;
	color:#fff;
	padding:1em 5em 1em 3em;
	cursor:pointer;
	transition:background-color var(--transition), border var(--transition);
}
input[type="submit"]:hover {
	background-color:#fff;
	background-image:url("images/arrow-right-black.svg");
	color:var(--color-dark);
	cursor:pointer;
}

input[type="submit"][disabled],
input[type="submit"][disabled]:hover {
	color:var(--color-white);
	background-image:url("images/arrow-right-white.svg");
	background-color:var(--color-gray);
	border-color:var(--color-gray); cursor:not-allowed;
}

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 #cbcacb; border-color:var(--color-gray);
}

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


@media (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:empty {display:none;}
.wpcf7-response-output {
margin:0 auto 3em; padding:1.5em; line-height:var(--line-height-mini);
border:0;
	border-radius:var(--border-radius);
	text-align:center; display:block;
	clear:both;
	background:var(--color-dark);
	color:var(--color-white);
	width:fit-content;
}

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

.wpcf7-validation-errors {
border:1px solid var(--color-dark);
color:var(--color-dark);
padding:12px;
margin:0 0 20px 0;
}

.wpcf7 span {}
.wpcf7-form-control-wrap {display:block; position:relative;}
.wpcf7 span.wpcf7-list-item-label {margin:0 1em 0 0; display:inline-block; text-align:left; line-height:var(--line-height-mini);}
.wpcf7 span.use_label_element {margin-bottom:20px; display:block;}
.wpcf7 span.wpcf7-not-valid-tip {
	color:var(--color-white); background-color:var(--color-dark);
	font-size:15px; font-size:1.5rem; display:block;
	position:absolute;
	left:1em; bottom:-1em; padding:0.3em 3em;
	border-radius:var(--border-radius);
}
.wpcf7 span.wpcf7-not-valid-tip-no-ajax {display:none;}

.wpcf7 .wpcf7-form-control {}
.wpcf7 .wpcf7-list-item {margin:0 0 16px 0;}

.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:20px; height:20px; content: ''; position: absolute; left:0; top:0; background-color:#ffffff; background-color:var(--color-background); border:2px solid #cbcacb; display:inline-block;}
.wpcf7-list-item-label:after{
width:10px; height:6px; left:6px; top:6px;
border:2px solid #cbcacb; border-color:var(--color-gray);
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;}


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

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



/******************/
/* facebook *******/

/******************/
/* twitter ********/


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

/* ▲ iPad Air4 横（820px） ▼ */

/* ▲ iPhone 6+ 横（736px） ▼ */

/* ▲ Mac OS Safari - Minimum(504px) ▼ */

/* ▲ iPhone 6+ - iPhone 6 414px▼ */

/* ▲ iPod touch 320px ▼ */


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

i {font-family:"Cormorant", sans-serif;}

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

.noscript {
	display:flex; justify-content:center; align-items:center;
	position:fixed;
	top:0; left:0; right:0; bottom:0;
	background-color:var(--color-dark);
	color:#fff;
	line-height:var(--line-height);
	z-index:99999;
}


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

@keyframes underline {
	0% {background-size: 0% 1px;}
	100% {background-size: 100% 1px;}
}

@keyframes slide-in {
	from {transform: translateX(-120%);}
	to {transform: translateX(0);}
}
@keyframes slide-out {
	from {transform: translateX(0);}
	to {transform: translateX(120%);}
}
@keyframes slide-in-arrow {
	from {transform: translateX(-200%);}
	to {transform: translateX(-50%);}
}
@keyframes slide-out-arrow {
	from {transform: translateX(-50%);}
	to {transform: translateX(150%);}
}
@keyframes slide-in-reset {
	from {transform: translateX(-200%);}
	to {transform: translateX(-50%);}
}
@keyframes slide-out-reset {
	from {transform: translateX(-50%);}
	to {transform: translateX(150%);}
}

@keyframes arrow-out {
	from {opacity:1; transform: translateX(0);}
	to {opacity:0; transform: translateX(200%);}
}
@keyframes arrow-in {
	from {opacity:0; transform: translateX(-200%);}
	to {opacity:1; transform: translateX(0);}
}
@keyframes arrow-out-reverse {
	from {opacity:1; transform: translateX(0);}
	to {opacity:0; transform: translateX(-200%);}
}
@keyframes arrow-in-reverse {
	from {opacity:0; transform: translateX(200%);}
	to {opacity:1; transform: translateX(0);}
}
@keyframes arrow-out-reset {
	from {opacity:1; transform: translateX(0);}
	to {opacity:0; transform: translateX(200%);}
}
@keyframes arrow-in-reset {
	from {opacity:0; transform: translateX(-200%);}
	to {opacity:1; transform: translateX(0);}
}
@keyframes arrow-out-reverse-reset {
	from {opacity:1; transform: translateX(0);}
	to {opacity:0; transform: translateX(-200%);}
}
@keyframes arrow-in-reverse-reset {
	from {opacity:0; transform: translateX(200%);}
	to {opacity:1; transform: translateX(0);}
}
@keyframes arrow-up-out {
	from {transform:translateY(-50%)}
	to {transform: translateY(-250%);}
}
@keyframes arrow-up-in {
	from {transform:translateY(250%);}
	to {transform: translateY(-50%);}
}
@keyframes arrow-up-out-reset {
	from {transform:translateY(-50%)}
	to {transform: translateY(-250%);}
}
@keyframes arrow-up-in-reset {
	from {transform:translateY(250%);}
	to {transform: translateY(-50%);}
}

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

