/* =============================================================================
   HTML5 element display
   ============================================================================= */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio[controls], canvas, video { display: inline-block; *display: inline; *zoom: 1; }


/* =============================================================================
   Base
   ============================================================================= */

html { font-size: 100%; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body {
/*	scroll-padding-top: var(--arch-header-height); */	/* 2025.10 KAZ */
	margin: 0;
	font-size: 100%;
	line-height: 1.45;
}

body, input, textarea {
	line-height: 1.75;	/* 16/28 */
	color: var(--arch-text-color);
	font-family: m-plus-2c, "メイリオ", "游ゴシック", sans-serif;
	font-weight: 400;
/*	letter-spacing: 0.05em; 2025.10 Aki moved to */
	background-color: white;
	text-align: left;	/* Aki */
}
input, textarea, select {
	font-size: 100%;
}

*, *:before, *:after {	/* 2023.7 KAZ */
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}

/* Variables
----------------------------------------------- */
:root {
	/* Dimensions */
	--pagewidth: calc(100vw - 16px);	/* 2024.7 KAZ: added */
	--viewheight: 100vh;

	/* Colors */
	--arch-text-color: #0077bb;
	--arch-text-darkblue: #005687;
	--arch-green: #65bc24;
	--arch-paleblue: #CCDDE7;
	--arch-lightblue: #D8F1FF;
	--arch-ex-lightblue: #F1F7FB;
}
@media print, screen and (min-width: 768px) {	/* PC */
	:root {
		/* Dimensions */
/*		--az-header-height: 148px; */
		--arch-wall-width: 95%;
		--arch-wide-wall-width: 1200px;
		--arch-content-wall-width: 1000px;
		--arch-header-height: 117px;
		--arch-header2-height: 90px;
	}
}

@media print, screen and (min-width: 768px) {	/* PC */
}

@media screen and (max-width: 767px) {	/* SP */
	:root {
		/* Dimensions */
		--arch-right-alignment-width: 94.6666%;	/* 355/375 */
		--arch-wall-width: 89.333%;	/* 335 / 375 */
		--arch-wide-wall-width: 89.333%;	/* 335 / 375 */
		--arch-content-wall-width: 89.333%;	/* 335 / 375 */ 
		--arch-header-height: 90px;
		--arch-header2-height: 90px;
	}
}



/* Links
----------------------------------------------- */

a { color: #076bcb; }
a:focus { outline: none; /* 2023.7 KAZ: was thin dotted */ }

/* Improve readability when focused and hovered in all browsers: people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active { /*outline: 0; */}


/* Typography
----------------------------------------------- */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

hr { display: block; height: 1px; border: 0; border-top: 2px solid rgba(0,86,135,0.2); background: none; margin: 1em 0; padding: 0; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

/* Redeclare monospace font family: en.wikipedia.org/wiki/User:Davidgothberg/Test59 */
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }

/* Improve readability of pre-formatted text in all browsers */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 85%; line-height: 1.2; }

/* Position subscript and superscript content without affecting line-height: gist.github.com/413930 */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* Lists
----------------------------------------------- */

ul, ol { margin: 5px 0; padding: 0; }
dd { margin: 0 0 0 40px; }
ul.nostyle {
	list-style: none;
	margin: 0;
}

/* Embedded content
----------------------------------------------- */

img { border: 0; -ms-interpolation-mode: bicubic; max-width: 100%;}
svg:not(:root) {
    overflow: hidden;
}

/* Forms
----------------------------------------------- */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
legend { border: 0; *margin-left: -7px; padding: 0; }
label { cursor: pointer; }
button, input, select, textarea { font-size: 100%; margin: 0; } /* KAZ c/o: vertical-align: baseline; *vertical-align: middle; */
button, input { line-height: normal; *overflow: visible; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; }

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }


/* Tables
----------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
}

td {
	padding: 0;
}

table.noborder {
	margin: 0;
}
table.noborder td {
	border: 0;
}

/* Initializr Theme
----------------------------------------------- */

p, address {
	margin-top: 5px;
	margin-bottom: 10px;
}
address {
	font-style: normal;
}
section {
	clear: both;
}
h2, h3, h4, h5 {
/*	margin: 12px 0 0; */
}
h2, h3, h4 {
	color:black;
}
/*
h2 {
	font-size: 180%;
	background: url(image/h2.jpg) no-repeat left center;
	margin-left: -45px;
	padding-left: 45px;
}
h3 {
	font-size: 160%;
	background: url(image/h3.gif) no-repeat left center;
	padding-left: 15px;
	line-height: 130%;
}
h4 {
	font-size: 105%;
	background: url(image/h4.gif) no-repeat left center;
	padding-left: 15px;
}
h5 {
	font-size: 100%;
	color: #0D5593;
	background: url(image/h5.gif) no-repeat left center;
	padding-left: 13px;
}
*/

iframe {
	display: block;
	overflow: hidden;
	border: 0;
}
.nomargin {
	margin: 0;
}
a:hover img,	/* MTL Mat changed from .transbtn:hover to this. Perfect automatic opacity */
span.current .transbtn {
/*	opacity: 0.75;
	filter: alpha(opacity=75);
*/
}
.righttop {	/* Force to position right top most of the parent element, which has position: relative */
	 position: absolute;
	 right: 0;
	 top: 0;
}
.rightbottom {
	 position: absolute;
	 right: 0;
	 bottom: 0;
}
img.withintext {
	vertical-align: middle;
}

img.imgonlynotinblock {	/* to avoid gap under this */
	display: block;
}

/* ======================================================
   The Structure
  ====================================================== */
#page {
	scroll-padding-top: var(--arch-header2-height);	/* 2025.11 KAZ */
}
#content {
	background-color: transparent;
}
#header, #wrapper, #footer {
	margin: 0 auto;
}
section .wall {
	width: var(--arch-wall-width);
	margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
	.sponly {
		display: none !important;
	}
	section .wall {
		max-width: var(--arch-wide-wall-width);
	}
}
.imgonly img {
	vertical-align: top;
}
a.linkbtn {
	position: relative;
	display: inline-block;
	text-align: left;
	color: white;
	background-color: var(--arch-text-color);
	text-decoration: none;
	font-weight: 500;
}
a.linkbtn.blank::after {
	transform: rotate(-45deg);
	top: calc(50% - 12px);
}
.ofelia {
	font-family: ofelia-text, sans-serif;
	font-weight: 500;
}
.forjaggy, 
section :is(h3, p), figcaption, a.linkbtn,
ul, table {
	transform: rotate(0.05deg);
}

/* PC ------------------------------------------------- */
@media print, screen and (min-width: 768px) {
	a.linkbtn {
		min-width: 210px;
		line-height: 58px;
		border-radius: 30px;
		padding-left: 30px;
		padding-right: 50px;
		transition: all 0.3s;
	}
	@media (any-hover: hover) {
		a.linkbtn:hover {
			background-color: rgba(0,119,187,0.8);
		}
	}
}

/* SP ------------------------------------------------- */
@media screen and (max-width: 767px) {
	a.linkbtn {
		min-width: 168px;
		line-height: 47px;
		font-size: 0.8125rem;	/* 13px */
		border-radius: 25px;
		padding-left: 25px;
	}
	.pconly {
		display: none !important;
	}
}

/*======================================================
   Header: logo, top menu area
  ====================================================== */
#masthead {
	background-color: white;	/* KAZ */
	position: fixed;	/* KAZ */
	width: 100%;	/* KAZ */
	height: var(--arch-header2-height);	/* KAZ */
	top: 0;		/* KAZ */
	left: 0;	/* KAZ */
	z-index: 9999;	/* KAZ */
}
#masthead.topfirstview:not(.opened) {	/* KAZ: added :not(.opened) */
	height: var(--arch-header-height);	/* KAZ */
	background-color: transparent;	/* KAZ */
	position: absolute;	/* KAZ */
}
#headlogo {
}
#headmenu {
}
#headmenu ul > li a {
	color: var(--arch-text-darkblue);
	text-decoration: none;
	font-weight: 500;
}

/* PC ------------------------------------------------- */
@media print, screen and (min-width: 768px) {
	#masthead {
		padding-top: 19px;
		display: flex;
		justify-content: space-between;
	}
	#masthead.topfirstview {
		padding-top: 30px;
	}
	#headlogo {
		box-sizing: content-box;
		width: 180px;
		padding-left: 45px;
	}
	#masthead.topfirstview #headlogo {
		width: 227px;
	}
	#headmenu {
		padding-top: 7px;
		padding-right: 115px;
	}
	#masthead.topfirstview #headmenu {
		padding-top: 0;
	}
	#headmenu ul {
		display: flex !important;
		gap: 0 50px;
	}
	#headmenu ul > li a {
		text-decoration: none;
		font-size: 1.125rem;	/* 18px */
	}
	@media (any-hover: hover) {
		#headmenu ul > li a:hover {
			color: #0081cc;
		}
	}

	/* Special Break Point for Main */
	@media print, screen and (max-width: 1000px) {
		#headmenu {
			padding-right: calc((100% - var(--arch-wall-width)) / 2);
		}
		#headmenu ul {
			gap: 0 20px;
		}
	}


}

/* SP ------------------------------------------------- */
@media screen and (max-width: 767px) {
	#masthead {
		width: var(--pagewidth);
		padding-top: 19px;	/* KAZ: was 25px */
	}
	#page_title {
/*		display: inline-block; */
	}
	#page_title h1 {
		width: 58.1667%;	/* 198 / 375 + 5.3333%; KAZ: added 5.3333% */
		min-width: calc(198px + 5.3333%);	/* KAZ: added 5.3333% */
		padding-left: 5.3333%;	/* (100% - 89.3333%) / 2 */
	}
	#menu_open_btn,
	#menu_close_btn {
		position: absolute;
		top: 33px;	/* KAZ: was 35px */
		right: 5.3333%;
		width: 55px;
		height: 21px;
	}
	#menu_open_btn img, #menu_close_btn img {
		width: 100%;
		height: auto;
	}
	#menu_open_btn {
		width: 50px;	/* KAZ: was 70px */
		height: 22px;	/* KAZ: was 24px */
	}
	#menu_open_btn a {
		display: block;
	}
	#headlogo_menu,
	#menu_overlay,
	#menu_close_btn,
	#headmenu ul{
		display: none;
	}
	#menu_overlay {
		background-color: rgba(0,0,0,0.3);
		position: fixed;
		width: 100%;
		height: 100vh;
		top: var(--arch-header-height);
		left: 0;
		z-index: -1;
	}
	#headlogo_menu {
		box-sizing: content-box;
		width: 197px;
		padding-top: 19px;
		padding-left: 5.3333%;	/* 197/375 */
	}
	#headmenu {
		position: absolute;
		top: 0;
		width: 100%;
		background: linear-gradient(45deg, var(--arch-text-color) 50%, #99d1e4);
		padding: 0;
	}
	#menu_close_btn {
		position: absolute;
		z-index: 10;
	}
	#menu_close_btn a {
		display: block;
	}
	#headmenu ul {
		text-align: center;
		margin-top: 100px;
	}
	#headmenu ul li {
		position: relative;
		margin-right: 0;
		margin-bottom: 35px;
	}
	#headmenu ul li:not(:last-child) {
		margin-bottom: 35px;
	}
	#headmenu ul li.contact {
		margin-top: 90px;
		margin-bottom: 25px;
	}
	#headmenu ul li a {
		display: block;
		color: white;
		font-size: 1.25rem;	/* 20px */
	}







}




/* ======================================================
   Header: Page Title
   ====================================================== */
#page_title {
	position: relative;
	overflow: hidden;
}
#page_title h1 {
	margin: 0;
/*	padding-left: 15px;
	color: #000064;
	font-size: 200%;
*/
}

/* ======================================================
   Main
   ====================================================== */
#wrapper {
	overflow: hidden;	/* KAZ */
}
#main {
	position: relative;
}

/* PC ------------------------------------------------- */
@media print, screen and (min-width: 768px) {
	#main {
/*		padding-top: 300px; 2025.7 Aki moved to #top_information */
		background: url(../../images/bg_main.webp)no-repeat center bottom/ 100% 100%;
		margin-top: -210px;	/* was -145px */
	}
}
/* Special Break Point for Main */
@media print, screen and (max-width: 1225px) {
	#main {
		margin-top: -290px;
	}
}

/* SP ------------------------------------------------- */
@media screen and (max-width: 767px) {
	#main {
		background: url(../../images/sp/bg_main.webp) no-repeat center bottom / max(100%, 375px) auto;	/* KAZ: size-x was 100% */
		margin-top: -50px;
	}
}

/* ======================================================
   Contents (common among all pages)
   ====================================================== */
@media (any-hover: hover) {
}


/* ======================================================
   Contents (Blog)
   ====================================================== */
.news-list {
}
.news-list > li {
}
.news-list a {
	display: block;
	text-decoration: none;
	background-color: var(--arch-ex-lightblue);
}
.news-list .img {
	overflow: hidden;
	border-radius: 15px;
}
.news-list .img img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}
.news-list .img .no-img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1/1;
	background: url(../../images/noimg.svg)no-repeat center var(--arch-text-color);
}
.news-list .categories {
	display: flex;
	gap: 0 5px;
	float: left;
	margin-right: 10px;	/* design is 15px カテゴリ複数だと1列に入らないため */
}
.news-list .categories > li,
#my-news .article .categories a {
	width: auto;
	min-width: 79px;
	color: white;
	font-size: 0.875rem;	/* 14px */
	text-align: center;
	border-radius: 15px;
	padding: 0 15px;
	margin: 0;
}
.news-list .categories > li.news,
#my-news .article .categories a.news {
	background-color: var(--arch-text-darkblue);
}
.news-list .categories > li.event,
#my-news .article .categories a.event {
	background-color: #65bc24;
}
.news-list .date,
#my-news .article .date {
	color: var(--arch-text-darkblue);
	margin-top: 0;
	margin-bottom: 0;
}
.news-list .txt {
}
.news-list .txt .title {
	line-height: 2;	/* 16/32 */
}

/* 一覧/アーカイブ */
#my-news {
	overflow: hidden;
}
#my-news .wall {
	width: var(--arch-wall-width);
	max-width: var(--arch-content-wall-width);
	margin: 0 auto;
}
#my-news #beta {
}
.widget-content {
}
.widget-content ul {
	list-style: none;
}
.widget-content ul a {
	color: var(--arch-text-darkblue);
	text-decoration: none;
	font-weight: 600;
	background: url(../../images/ic_circle_white.svg)no-repeat center left;
}
.widget-content ul a.current {
	color: var(--arch-text-color);
	background-image: url(../../images/ic_circle_blue.svg);
	background-size: 17px;
}
#my-news .news-list {
}
#my-news .news-list a {
	color: var(--arch-text-darkblue);
	display: flex;
	border-radius: 20px;
}
#my-news .news-list .categories {
	float: left;
	margin-right: 13px;
}
#my-news .news-list .txt {
	clear: left;
}

/* 個別 */
#my-news .article {
}
#my-news .article h2 {
	color: var(--arch-text-darkblue);
	font-weight: 500;
}
#my-news .article .categories {
	display: flex;
	gap: 10px;
	position: relative;
	z-index: 1;
	float: left;
	margin-right: 20px;
}
#my-news .article .categories a {
	display: block;
	text-decoration: none;
}
#my-news .article .date {
	margin-top: -3px;
}
#my-news .article .article-body {
	border-top: solid 2px var(--arch-paleblue);
/*	border-bottom: solid 2px var(--arch-paleblue); Aki moved to .link.back */
}
#my-news .article .article-body h2 {
	line-height: 2;	/* 25/50 20/40 */
	font-weight: 600;
}
#my-news .article .article-body p {
	line-height: 2;	/* 16/32 */
}
#my-news .article .article-body figure {
	position: relative;
	margin: 0 0 50px;
}
#my-news .article .article-body figcaption {
/*	color: black;
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	bottom: -30px; Aki c/o */
}
#my-news .article .article-body img {
/*	width: 100% !important; Aki c/o */
	height: auto;
	border-radius: 20px;
}
#my-news .article .article-body table {
	width: 100%;
	border-collapse: separate;
	border: solid 1px var(--arch-text-color);
	border-radius: 18px 18px 15px 15px;
}
#my-news .article .article-body table tbody {
}
#my-news .article .article-body table tbody tr:first-child th:first-child {
	border-top-left-radius: 15px;
}
#my-news .article .article-body table tbody tr:first-child th:last-child {
	border-top-right-radius: 15px;
}
#my-news .article .article-body table tbody tr:last-child th:first-child {
	border-bottom-left-radius: 15px;
}
#my-news .article .article-body table tbody tr:last-child th:last-child {
	border-bottom-right-radius: 15px;
}
#my-news .article .article-body table :is(th, td) {
/*	min-width: 210px; */
	text-align: center;
	padding: 15px 0;
}
#my-news .article .article-body table th {
	color: white;
	background-color: var(--arch-text-color);
}
#my-news .article .article-body table td {
}
#my-news .article .article-body table tr:not(:last-child) td {
	border-bottom: solid 1px rgba(1,119,187,0.1);
}
#my-news .article .article-body table td:not(:last-child) {
	border-right: solid 1px rgba(1,119,187,0.1);
}
#my-news .article .article-body a {
	color: var(--arch-text-color);
}
#my-news .article .link.back {
	clear: both;
	border-top: solid 2px var(--arch-paleblue);
}

#my-news .link.back a.linkbtn::after {
	transform: rotate(180deg);
	top: calc(50% - 12px);
}

/* TOP */
#top_information .news-list {
/*	display: flex;
	gap: 0 40px; Aki c/o */
}
#top_information .news-list a {
	color: var(--arch-text-darkblue);
	background-color: transparent;
}
#top_information .news-list .txt .title {
	line-height: 1.75;	/* 16/28 */
}
#top_information .news-list .date {
	font-size: 0.875rem;
	margin-bottom: 0;
}
#top_information .news-list .detail {
/*	padding-right: 40px; 2025.10 Aki c/o */
}


/* PC ------------------------------------------------- */
@media print, screen and (min-width: 768px) {

	.news-list {
	}
	.news-list > li {
	}
	.news-list a {
	}
	.news-list .img {
		width: 180px;
		height: 120px;
	}
	.news-list .img img {
	}
	.news-list .categories {
	}
	.news-list .categories > li {
	}
	.news-list .date {
	}
	.news-list .txt {
	}
	.news-list .txt .title {
	}

	/* 一覧/アーカイブ */
	.widget-content {
	}
	.widget-content ul a {
		font-size: 1.125rem;	/* 18px */
		padding-left: 29px;
	}
	.widget-content ul a.current {
	}
	.widget-content ul li {
		margin-bottom: 22px;
	}
	#my-news {
		padding-bottom: 410px;
	}
	#my-news #beta {
		width: 210px;
		float: left;
	}
	#my-news .news-list {
		width: calc(100% - 210px);
		padding-top: 5px;
		margin-left: 210px;
	}
	#my-news .news-list .c-news-item {
		margin-bottom: 40px;
	}
	#my-news .news-list a {
		background: url(../../images/ic_arrow_news.svg)no-repeat center right 33px var(--arch-ex-lightblue);
		gap: 0 26px;
		padding: 25px 185px 22px 29px;	/* 2025.10 Aki right was 65px from chkHTML */
	}
	#my-news .news-list .date {
		margin-top: -3px;
	}
	#my-news .news-list .detail {
		width: calc(100% - 206px);
		padding-top: 4px;
	}
	#my-news .news-list .txt {
		margin-top: 15px;
	}

	/* 個別 */
	#my-news .article {
		clear: none;
		margin-left: 210px;
		padding-bottom: 65px;
	}
	#my-news .article h2 {
		font-size: 1.875rem;	/* 30px */
		line-height: 1.6666;	/* 30/50 */
		margin-bottom: 42px;
	}
	#my-news .article .article-body {
		padding-top: 70px;
		padding-bottom: 53px;
		margin-top: 75px;
/*		margin-bottom: 80px; Aki moved to .link.back padding-top */
	}
	#my-news .article .article-body h2 {
		font-size: 1.5625rem;	/* 25px */
		margin-top: 70px;
		margin-bottom: 35px;
	}
	#my-news .article .article-body p {
	}
	#my-news .article .article-body p img {
		margin-bottom: 17px;
	}
	#my-news .article .article-body table {
		margin-top: 35px;
		margin-bottom: 35px;
	}
	#my-news .article .article-body table tbody {
	}
	#my-news .article .link.back {
		padding-top: 80px;
	}

	/* TOP */
	#top_information .news-list {
	}
	#top_information .news-list .img {
		width: 100%;
		height: 100%;
		max-width: 270px;
		max-height: 270px;
		border-radius: 50px;
		margin-bottom: 22px;
	}
	#top_information .news-list .detail {
	}






}




/* SP ------------------------------------------------- */
@media screen and (max-width: 767px) {

	.news-list {
	}
	.news-list > li {
	}
	.news-list a {
	}
	.news-list .img {
/*		width: 32.6271%;	/* 111/295 */
		width: 111px;
		height: 79px;
		flex-shrink: 0;
	}
	.news-list .img :is(img, .no-img) {
		aspect-ratio: 111/79;
		background-size: 50%;
	}
	.news-list .categories {
	}
	.news-list .categories > li,
	#my-news .article .categories a {
		min-width: auto;
		font-size: 0.75rem;	/* 12px design is 11.2px */
		line-height: 20px;
		padding-bottom: 2px;
	}
	.news-list .date {
	}
	.news-list .txt {
		width: 216px;
	}
	.news-list .txt .title {	/* 2025.10 KAZ: ChkHTML */
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}

	/* 一覧/アーカイブ */
	.widget-content {
	}
	.widget-content ul {
		display: flex;
		justify-content: center;
		gap: 0 30px;
	}
	.widget-content ul li {
		position: relative;
	}
	.widget-content ul li:not(:last-child)::after {
		content: "";
		display: block;
		width: 1px;
		height: 17px;
		background-color: var(--arch-paleblue);
		position: absolute;
		top: 6px;
		right: -15px;
	}
	.widget-content ul a {
		font-size: 0.9375rem;	/* 15px */
		padding-left: 26px;
	}
	#my-news {
		padding-bottom: 110px;
	}
	#my-news .news-list {
		margin-top: 45px;
	}
	#my-news .news-list .c-news-item {
		margin-bottom: 25px;
	}
	#my-news .news-list a {
		flex-direction: column;
		padding: 19px 25px;
	}
	#my-news .news-list .img {
		order: 2;
		margin-top: 10px;
	}
	#my-news .news-list .detail {
		order: 1;
		position: relative;
	}
	#my-news .news-list .categories {
	}
	#my-news .news-list .date {
		font-size: 0.75rem;	/* 12px */
	}
	#my-news .news-list .txt {
		position: absolute;
		width: calc(100% - 125px);
		font-size: 0.8125rem;	/* 13px */
		margin-left: 125px;
		margin-top: 7px;
	}

	/* 個別 */
	#my-news .article {
		padding-bottom: 23px;
	}
	#my-news .article h2 {
		font-size: 1.5625rem;	/* 25px */
		line-height: 1.6;	/* 25/40 */
	}
	#my-news .article .article-body {
		padding-top: 25px;
		padding-bottom: 25px;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	#my-news .article .article-body h2 {
		font-size: 1.25rem;	/* 20px */
		margin-top: 35px;
		margin-bottom: 15px;
	}
	#my-news .article .article-body p {
	}
	#my-news .article .article-body p img {
	}
	#my-news .article .article-body table {
		margin-top: 48px;
		margin-bottom: 45px;
	}
	#my-news .article .article-body table tbody {
	}
	#my-news .article .article-body table :is(th, td) {
		font-size: 0.75rem;	/* 12px */
	}
	#my-news .article .article-body div {
		max-width: 100%;
	}
	#my-news .article .article-body div figure {	/* flexされている場合用 */
		width: 50%;
	}
	#my-news .article .article-body figcaption {
		font-size: 0.875rem;	/* 14px */
		line-height: 1.25;
		white-space: normal;
	}
	#my-news .article .link.back {
		border-top: 0;
	}

	/* TOP */
	#top_information .wall {
		max-width: var(--arch-right-alignment-width);
/*		margin-left: auto;
		margin-right: 0; Aki c/o */
	}
	#top_information #news_slider {
		margin-top: 40px;
	}
	#top_information .news-list {
	}
	#top_information .news-list .img {
		width: 216px;
		height: 216px;
		border-radius: 25px;
		margin-bottom: 10px;
	}
	#top_information .news-list .detail {
	}
	#top_information .news-list .txt .title {
		font-size: 0.875rem;	/* 14px */
		line-height: 1.5714;	/* 14/22 */
	}






}


/* ======================================================
   Contents (top page only)
   ====================================================== */
#top_mv {
}
#mv_message {
	position: absolute;
}
#first_view {
	position: relative;
	z-index: 1;
	padding-top: var(--arch-header-height);	/* KAZ */
}
#top_news {
}
#top_news :is(a, .nolink) {
	display: flex;
	color: white;
	text-decoration: none;
	background: url(../../images/ic_arrow-news.svg)no-repeat center right 25px var(--arch-text-color);
/*	background: var(--arch-text-color);	/* 2025.10 c/o TOP先行公開時用 */
}
#top_news .wrap {
}
#top_news .date {
}
#top_news .ttl {
/*	border-right: solid 1px; */
	position: relative;	/* KAZ */
}
#top_news .ttl::after {	/* KAZ */
	background: rgba(255,255,255,0.7);	/* 2025.7 Aki was white */
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	right: 0;
	content: '';
}
#first_view #top_name {
	position: absolute;
	overflow: hidden;	/* KAZ */
}
#first_view #top_name .img_wrapper {	/* KAZ */
}
#first_view #top_name .img_wrapper img {	/* KAZ */
	width: 50%;
	max-width: none;
	height: auto;
	padding-left: 4.075%;
}
#top_links {
}
#top_links ul {
	display: flex;
	flex-wrap: wrap;
}
#top_links ul > li {
}
#top_links ul > li a,
:is(.features_links, #facility_floormap) .banner a {
	display: block;
	position: relative;
	color: white;
	text-decoration: none;
	height: 100%;
}
a.linkbtn::after,
#top_links ul > li a::after,
:is(.features_links, #facility_floormap) .banner a::after {
	content: '';
	display: block;
	background: url(../../images/ic_arrow_right.svg)no-repeat center /cover;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
}
#top_links ul > li a img,
:is(.features_links, #facility_floormap) .banner .imgonly {
	position: absolute;
	top: 0;
	left: 0;
}
#top_links ul > li a p,
:is(.features_links, #facility_floormap) .banner p {
	position: relative;
	font-weight: 500;
}

#top_information {
}
:is(#top_information, #top_mission) p.subttl,
#top_features .wrap .wrapper p.ttl,
:is(.features_links, #facility_floormap) .banner a {
	font-weight: 500;
}
#top_information .information {
	display: flex;
}
#top_information .information .photo {
	overflow: hidden;
}
#top_information .information .photo img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#top_information .information .categories {
	display: inline-block;
}
#top_information .information :is(.categories, .title) a {
	text-decoration: none;
}
#top_information .information .categories a {
	display: inline-block;
	color: white;
	border-radius: 15px;
	padding: 0px 15px 2px;
}
#top_information .information .categories.news a {
	background-color: var(--arch-text-color);
}
#top_information .information .categories.event a {
	background-color: var(--arch-green);
}
#top_information .information .date {
	letter-spacing: normal;
}
#top_information .information .title {
	display: block;
}
#top_information .link {
	text-align: center;
}

.my-top#container {	/* 2025.10 Aki moved from body */
	letter-spacing: 0.05em;
}

#top_mission {
}
#top_mission .wrapper {
}
#top_mission .left_wrap {
}
#top_mission h2.imgonly {
}
#top_mission p {
	color: white;
}
#top_mission p.subttl {
}
#top_mission p:not(.subttl) {
}
.mission_slider {
}
#top_features {
}
#top_features h2.imgonly {
}
#top_features p.subttl {
}
#top_features .wrap {
}
#top_features .wrap .wrapper {
}
#top_features .wrap .wrapper .imgonly {
	height: auto;
}
#top_features .wrap .wrapper .text {
}
#top_features .wrap .wrapper .num {
}
#top_features .wrap .wrapper p.ttl {
}
#top_features .wrap .wrapper p:not(.ttl) {
}
#top_features .wrap .img_wrap {
}
#top_features .wrap .img_wrap figure,
#guide_intro .figure_wrap figure {
	margin: 0;
}
#top_features .wrap .img_wrap figcaption {
	color: var(--arch-text-darkblue);
}
#top_features .wrap.even .wrapper .imgonly {
}
#top_features .wrap.even .wrapper .text {
}
.features_links {
}
.features_links .banner {
	aspect-ratio: 275 / 103;
}
:is(.features_links, #facility_floormap) .banner p.ttl {
	line-height: 1;
	margin: 0 0 10px;
}
:is(.features_links, #facility_floormap) .banner p:not(.ttl) {
}
#top_banners {
}
#top_banners h2.imgonly {
	text-align: center;
}
#top_banners .banner_wrap.imgonly {
	display: flex;
	flex-wrap: wrap;
}
#top_banners .imgonly a {
	display: flex;	/* was block */
	align-items: center;
	text-decoration: none;
	background: white;
}

/* PC ------------------------------------------------- */
@media print, screen and (min-width: 768px) {
	body {
	}
	#first_view {
		background: url(../../images/bg_top.svg)no-repeat top / 100% 1335px;	/* was 100% 1270px */
		padding-bottom: 210px;	/* was 145px */
	}
	#mv_message {
		left: -110px;
		bottom: -35px;
	}
	#top_news {
		max-width: 470px;
		position: absolute;
		right: 0;
		top: 755px;
	}
	#top_news :is(a, .nolink) {
		gap: 0 25px;
		border-radius: 20px 0 0 20px;
		padding: 30px 75px 30px 25px;
	}
	#top_news .date {
		font-size: 0.875rem;	/* 14px */
	}
	#top_news .ttl {
		padding-right: 25px;
		line-height: 1.625;	/* 26px */
	}
	#top_news .ttl::after {	/* KAZ */
/*		height: 43px; Aki c/o */
		top: 0px;	/* was 5px */
	}
	#first_view #top_name {
		top: 900px;	/* KAZ: was 920px */
	}
	#first_view #top_name .img_wrapper {	/* KAZ */
		width: 4000px;
	}
	#top_links {
		margin-top: 155px;
	}
	#top_links ul {
		justify-content: center;
		gap: 20px 30px;
	}
	#top_links ul > li {
	}
	#top_links ul > li a {
		font-size: 1.25rem;	/* 20px */
		width: 280px;
		height: 110px;
		line-height: 110px;
		padding-left: 35px;
	}
	a.linkbtn::after,
	#top_links ul > li a::after {
		width: 24px;
		height: 24px;
		right: 20px;
	}
	#top_information {
		background: url(../../images/bg_top-information.webp)no-repeat center bottom / 100% 100%;
		padding-top: 285px;
		padding-bottom: 450px;
	}
	#top_information
	#top_information h2 {
	}
	#top_information p.subttl {
		font-size: 1.875rem;	/* 30px */
		margin-bottom: 57px;
	}
	#top_information .information {
		gap: 0 45px;
	}
	#top_information .information .photo {
		width: 270px;
		height: 270px;
		border-radius: 50px;
		margin-bottom: 16px;
	}
	#top_information .information .categories {
	}
	#top_information .information .categories a {
		font-size: 0.875rem;	/* 14px */
	}
	#top_information .information .categories.news {
	}
	#top_information .information .categories.event {
	}
	#top_information .information .date {
		font-size: 0.875rem;	/* 14px */
		margin-left: 10px;
	}
	#top_information .information .title {
		line-height: 1.75;
		margin-top: 7px;
	}
	#top_information .link {
		margin-top: 50px;
	}
	#top_mission {
		background: url(../../images/bg_top-mission.svg)no-repeat center / 100% 100%;
		padding-top: 200px;
		padding-bottom: 310px;	/* was 240px */
		margin-top: -270px;
	}
	#top_mission .wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: 0 11.6666%;	/* 140/1200 */
		margin-bottom: 55px;	/* was 115px */
	}
	#top_mission h2.imgonly {
		margin-bottom: 50px;
	}
	#top_mission p.subttl {
		width: 48.5%;	/* 582/1200 */
		max-width: 582px;
		font-size: 2.1875rem;	/* 35px */
		line-height: 1.6285;	/* 35/57 */
		flex-shrink: 0;
		white-space: nowrap;
	}
	#top_mission p:not(.subttl) {
		line-height: 2.2;	/* 25/55 was 2.25=16/36 */
		font-size: 1.5625rem;	/* 25px */
	}
	.mission_slider {
	}
	#top_features {
		margin-top: 150px;	/* was 160px */
	}
	#top_features h2.imgonly {
		margin-bottom: 50px;
	}
	#top_features p.subttl {
		font-size: 1.5625rem;	/* 25px */
		line-height: 2.2;	/* 25/55 */
		margin-bottom: 130px;
	}
	#top_features .wrap {
		margin-bottom: 120px;
	}
	#top_features .wrap .wrapper {
		display: flex;
		gap: 0 11.25%;	/* 135/1200 */
		align-items: center;
		margin-bottom: 35px;
	}
	#top_features .wrap .wrapper .imgonly:not(.img_wrap):not(.num) {
		width: 49.75%;	/* 597/1200 */
		max-width: 597px;
		flex-shrink: 0;
	}
	#top_features .wrap .wrapper .text {
	}
	#top_features .wrap .wrapper .num {
		margin-bottom: 20px;
	}
	#top_features .wrap .wrapper p.ttl {
		font-size: 1.875rem;	/* 30px */
		line-height: 1.666;	/* 30/50 */
		margin-bottom: 25px;
	}
	#top_features .wrap .wrapper p:not(.ttl) {
		line-height: 2.125;	/* 16/34 */
	}
	#top_features .wrap .img_wrap {
		display: flex;
		gap: 0 35px;
	}
	#top_features .wrap .img_wrap figure {
		width: calc((100% - 70px) / 3);
		max-width: 378px;
	}
	#top_features .wrap .img_wrap figcaption {
		margin-top: 18px;
	}
	#top_features .wrap.even .wrapper {
		gap: 0 9.1666%;	/* 110/1200 */
	}
	#top_features .wrap.even .wrapper .imgonly {
		order: 2;
	}
	#top_features .wrap.even .wrapper .text {
		order: 1;
	}
	.features_links {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px 100px;
		margin-top: 195px;
	}
	.features_links .banner {
		width: calc((100% - 100px) / 2);
		min-width: 550px;
	}
	:is(.features_links, #facility_floormap) .banner a {
		padding: 80px 0 0 75px;
	}
	:is(.features_links, #facility_floormap) .banner a::after {
		width: 38px;
		height: 38px;
		right: 30px;
	}
	:is(.features_links, #facility_floormap) .banner p.ttl {
		font-size: 1.625rem;	/* 26px */
	}
	:is(.features_links, #facility_floormap) .banner p:not(.ttl) {
		font-size: 1.25rem;	/* 20px */
	}
	:is(.features_links, #facility_floormap) .banner .imgonly {
	}
	#top_banners {
		padding-bottom: 380px;
		margin-top: 225px;
	}
	#top_banners h2 {
		margin-bottom: 40px;
	}
	#top_banners .banner_wrap.imgonly {
		gap: 20px;
		justify-content: center;
	}
	#top_banners .imgonly a {
		max-width: 284px;
	}

	@media (any-hover: hover) {
		a img{
			transition: all 0.3s;
		}
		a:hover img {
			opacity: 0.75;
		}
		ul.information .title a:hover {
			text-decoration: underline;
		}
		#top_news a:hover {
			background-color: #0087d4;
		}
	}

}

/* Special Break Point for TOP */
@media screen and (max-width: 1450px) {
	#mv_message {
		left: 0;
		bottom: -125px;
	}
}

/* SP ------------------------------------------------- */
@media screen and (max-width: 767px) {
	#first_view {
		background: url(../../images/sp/bg_top.svg)no-repeat center/ 100% 100%;
		padding-bottom: 117px;
	}
	#mv_message {
		position: relative;
		width: 86.5671%;	/* 290-335 */
		bottom: 10px;
	}
	#top_news {
		width: 83.7333%;	/* 314/375 */
		margin-left: auto;
		margin-right: 0;
	}
	#top_news :is(a, .nolink) {
		border-radius: 10px 0 0 10px;
		background-size: 20px auto;
		background-position: center right 20px;
		padding: 22px 50px 20px 15px;	/* KAZ: was 20px 50px 18px 15px */
	}
	#top_news .date {
		min-width: 59px;	/* KAZ */
		font-size: 0.625rem;	/* 10px; KAZ: was 12px */
		margin-right: 15px;
	}
	#top_news .ttl {
		padding-right: 1em;	/* KAZ */
		line-height: 1.5;	/* KAZ */
		font-size: 0.75rem;	/* 12px */
	}
	#top_news .ttl::after {	/* KAZ */
/*		height: 30px; Aki c/o */
		top: 3px;
	}
	#first_view #top_name {
		top: 696px;	/* KAZ: was 730px */
	}
	#first_view #top_name .img_wrapper {	/* KAZ */
		width: 2000px;
	}
	#top_links {
		width: var(--arch-wall-width);
		margin: 79px auto 0;
	}
	#top_links ul {
		gap: 20px 15px;
	}
	#top_links ul > li {
		width: calc((100% - 15px) / 2);
		aspect-ratio: 40 / 17;
	}
	#top_links ul > li a {
		padding: 15px 0 0 15px;	/* KAZ: top was 17px */
	}
	#top_links ul > li a img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 10px;
	}
	a.linkbtn::after, #top_links ul > li a::after, :is(.features_links, #facility_floormap) .banner a::after {
		width: 19px;
		height: 19px;
		right: 15px;
	}
	#top_information {
		background: url(../../images/sp/bg_top-information.png)no-repeat center /100% 100%;
		padding-top: 155px;
		padding-bottom: 150px;
		overflow: hidden;
	}
	#top_information :is(h2, p.subttl) {
		width: var(--arch-wall-width);
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
	}
	#top_information h2 {
		margin-bottom: 10px;
	}
	#top_information h2 img {
		width: 88.656%;	/* 297/335 */
		min-width: 297px;
	}
	#top_information p.subttl {
		font-size: 1.25rem;	/* 20px */
	}
	#top_information .information {
		display: block;
		margin-top: 38px;
		margin-left: -15px;
	}
	#top_information .information .photo {
		margin-bottom: 5px;
	}
	#top_information .information :is(.categories, .title) {
		padding-left: 15px;
	}
	#top_information .information .categories a {
		font-size: 0.75rem;	/* 12px */
	}
	#top_information .information .date {
		font-size: 0.8125rem;	/* 13px */
	}
	#top_information .information .title {
		font-size: 0.875rem;	/* 14px */
		line-height: 1.6;	/* 14/22.4 */
		letter-spacing: normal;
		margin-top: 10px;
	}
	#top_information .link {
		margin-top: 45px;
	}

	#top_mission {
		background: url(../../images/sp/bg_mission.svg)no-repeat center /100% 100%;
		padding-top: 112px;	/* was 130px */
		padding-bottom: 150px;	/* was 100px */
		margin-top: -45px;
	}
	#top_mission h2.imgonly {
		width: 57.9104%;	/* 194/335 */
		min-width: 194px;
		margin-bottom: 40px;
	}
	#top_mission p.subttl {
		font-size: 1.5625rem;	/* 25px */
		line-height: 1.96;
		letter-spacing: 0.03em;	/* Aki design is 0.05em */
		margin-bottom: 22px;	/* was 34px */
	}
	#top_mission p:not(.subttl) {
		font-size: 1.25rem;	/* 20px */
		line-height: 2.1;	/* 20/42 */
	}
	#top_features {
		padding-top: 45px;	/* was 120px */
	}
	#top_features h2.imgonly {
		width: 65.0746%;	/* 218/335 */
		min-width: 218px;
		margin-bottom: 40px;
	}
	#top_features p.subttl {
		font-size: 1.25rem;	/* 20px */
		line-height: 2.1;
		margin-bottom: 84px;
	}
	#top_features .wrap {
		margin-top: 83px;
	}
	#top_features .wrap .wrapper .num {
		width: 37px;
	}
	#top_features .wrap .wrapper p.ttl {
		font-size: min(1.5625rem, 6.6667vw);	/* 25px; KAZ: added min( , 6.6667vw) */
		line-height: 2;
		letter-spacing: 0.03em;	/* design is 44 */
		margin-top: 20px;
		margin-bottom: 20px;
	}
	#top_features .wrap .wrapper .imgonly.sponly {
		width: calc(var(--pagewidth) + 2px);	/* KAZ: added 2px */
/*		margin-left: calc((100% - var(--arch-wall-width)) / 2 * -1); */
		margin-inline: calc((100% - var(--pagewidth) - 2px) / 2);	/* KAZ */
		margin-bottom: 25px;
	}
	#top_features .wrap .img_wrap {
		margin-top: 76px;
	}
	#top_features .wrap .img_wrap figure {
		margin-top: 40px;
	}
	#top_features .wrap .img_wrap figcaption {
		margin-top: 15px;
	}
	#top_features :is(#features_wrap02, #features_wrap03) .wrapper .num {
		width: 48px;
	}
	.features_links {
		margin-top: 170px;
	}
	.features_links .banner {
		margin-bottom: 40px;
	}
	:is(.features_links, #facility_floormap) .banner p.ttl {
		font-size: 1.25rem;	/* 20px */
	}
	:is(.features_links, #facility_floormap) .banner p:not(.ttl) {
		font-size: 0.875rem;	/* 14px*/
	}
	:is(.features_links, #facility_floormap) .banner a {
		padding: 40px 30px 0;
	}
	:is(.features_links, #facility_floormap) .banner a::after {
		width: 26px;
		height: 26px;
	}
	#top_banners {
		padding-bottom: 210px;
		margin-top: 155px;
	}
	#top_banners h2.imgonly {
	}
	#top_banners .banner_wrap.imgonly {
		gap: 15px;
	}
	#top_banners .imgonly a {
		width: calc((100% - 15px) / 2);
	}


}

/* ======================================================
   Contents (other page)
  ====================================================== */
/* Common */
.child_header {
	background: url(../../images/bg_child-header.png)no-repeat center bottom/ cover;
}
.child_header .wall {
	width: var(--arch-wall-width);
	max-width: var(--arch-wide-wall-width);
	margin: 0 auto;
}
.child_header h2 {
	text-align: left;
}
.child_header h2 .en {
	display: block;
	font-weight: 600;
}
.child_header h2 .ja {
	display: block;
	color: var(--arch-text-darkblue);
	letter-spacing: 0.05em;
	font-weight: 600;
}
ul.breadcrumbs {
	display: flex;
	justify-content: flex-end;
}
ul.breadcrumbs > li:not(:last-child)::after {
	content: "/";
	display: inline-block;
	margin: 0 10px;
}
ul.breadcrumbs > li a {
	color: inherit;
}
.content {
	color: var(--arch-text-darkblue);
	background: white;
}
.content section .wall {
	max-width: var(--arch-content-wall-width);
}
.content section h2 {
	text-align: left;
}
.content_menu {
}
.content_menu ul > li a {
	position: relative;
	color: var(--arch-text-color);
	font-weight: 500;
	text-decoration: none;
}
.content_menu ul > li a::before, .content_menu ul > li:not(:last-child) a::after {
	content: "";
	display: inline-block;
}
.content_menu ul > li a::before {
	background: url(../../images/ic_arrow_down.svg)no-repeat center/cover;
}
.content_menu ul > li:not(:last-child) a::after {
	position: absolute;
	width: 1px;
	background: var(--arch-paleblue);
}
h2.ofelia {
	color: var(--arch-text-color);
	font-weight: 500;
	letter-spacing: 0.01em;
	margin-bottom: 0;
}
.child-page p.subttl {
	color: var(--arch-text-color);
	line-height: 1.6666;	/* 18/30 */
	font-weight: 600;
	margin-top: 0;
}
.noborder {
	border: 0 !important;
}

/* Access */
#access_getting {
}
#access_getting .wrapper {
}
#access_getting .wrapper .wrap {
}
#access_getting dl :is(dt, dd) {
	border-bottom: solid 2px var(--arch-paleblue);
}
#access_getting dl dt {
	font-weight: 500;
}
#access_getting dl dd {
}
#access_getting #access_map{
}
#access_getting .gmap {
	width: 100%;
}
#access_getting .gmap iframe{
	width: 100%;
	height: 100%;
}
#access_getting .link {
	text-align: center;
}
#access_transportation p:not(.subttl) {
	line-height: 2;	/* 16/32 */
}
#access_transportation .linkbtn {
}


/* Facility */
.hasleft {
}
.hasleft .wall {
}
.hasleft h3 {
	color: var(--arch-text-color);
	font-weight: 600;
	padding: 0;
	margin: 0;
}
.hasleft p {
	line-height: 2;	/* 16/32 */
	margin-top: 0;
}
ul.hasdot > li {
	line-height: 2;	/* 16/32 */
	text-indent: calc((0.5em + 14px) * -1);
	margin-left: calc(0.5em + 14px);
	margin-bottom: 10px;
}
ul.hasdot >li::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: var(--arch-text-color);
	border-radius: 50%;
	margin-right: 14px;
}



#facility_intro {
}
#facility_intro .wrapper {
}
#facility_intro .wrapper .imgonly{
}
#facility_intro .wrapper .wrap p:not(.subttl) {
	line-height: 2;	/* 16/32 */
}

#facility_purpose {
}
#facility_purpose .wrap {
}
#facility_purpose .wrap p {
}
#facility_purpose .wrap .figure_wrap {
	display: flex;
	flex-wrap: wrap;
}
#facility_purpose .wrap .figure_wrap figure {
	margin: 0;
}
#facility_purpose .wrap .figure_wrap img {
}
#facility_purpose .wrap .figure_wrap figcaption {
	font-weight: 500;
}

#facility_greeting {
}
#facility_greeting .wrap {
}
#facility_greeting .wrap p {
}
#facility_greeting .wrap .name_wrap {
	display: flex;
	justify-content: flex-end;
}
#facility_greeting .wrap .name_wrap .text {
	text-align: right;
	margin-top: auto;
	margin-bottom: 0;
}
#facility_greeting .wrap .name_wrap .text p .post {
	font-size: 0.875rem;	/* 14px */
	margin-right: 15px;
}
#facility_greeting .wrap .name_wrap .text p .name {
	font-size: 1.375rem;	/* 22px */
}
#facility_greeting .wrap .name_wrap .imgonly {
	height: auto;
}

#facility_initiative {
}
#facility_initiative :is(h2, p.subttl, h3 ) {
	color: white;
}
#facility_initiative h3 {
	font-weight: 600;
}
#facility_initiative .wrapper_mission {
}
#facility_initiative .wrapper_mission .wrap {
	background-color: white;
}
#facility_initiative .wrapper_mission .wrap p:is(.num, .ttl) {
	color: var(--arch-text-color);
	margin-top: 0;
	margin-bottom: 0;
}
#facility_initiative .wrapper_mission .wrap p.ttl {
	font-weight: 600;
}
#facility_initiative .wrapper_mission .wrap ul {
	margin-top: 25px;
}
#facility_initiative .hasleft {
	color: white;
}
#facility_initiative .hasleft h3 {
	margin-top: 0;
}
#facility_initiative .hasleft p b {
	display: inline-block;
}
#facility_initiative p.hasbg {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--arch-lightblue);
	border-radius: 40px;
	font-weight: 600;
}
#facility_initiative p.hasbg.univ {
}
#facility_initiative .wrapper_mission#wrapper2 {
}
#facility_initiative .wrapper_mission#wrapper2 .wrap {
	position: relative;
}
#facility_initiative .wrapper_mission#wrapper2 .wrap p.ttl {
}
#facility_initiative .wrapper_mission#wrapper2 .wrap ul {
	margin-top: 13px;
}
#facility_initiative .wrapper_mission#wrapper2 .wrap ul > li {
	font-size: 1.125rem;	/* 18px */
	margin-bottom: 0;
}
#facility_initiative .wrapper_mission#wrapper2 .wrap::before, 
#facility_initiative .wrapper_mission#wrapper2 .wrap::after {
	content: "";
	display: block;
	background: url(../../images/ic_arrow_facility.svg)no-repeat center /cover;
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
}

#facility_role {
}
#facility_role .wrapper_h3 {
	color: var(--arch-text-color);
}
#facility_role h3 {
	color: var(--arch-text-color);
	font-weight: 600;
	display: flex;
	align-items: flex-start;
	gap: 0 37px;
	margin-top: 0;
}
#facility_role .wrapper_h3 p {
	line-height: 2;	/* 16/32 */
}
#facility_role h3 .num {
	line-height: 1;
}
#facility_role .slider_wrap {
}
#facility_role .slider_wrap .text {
}
#facility_role p.ttl.sponly,
#facility_role .slider_wrap .text p.ttl {
	background: url(../../images/ic_dot.svg)no-repeat center left;
	font-size: 1.25rem;	/* 20px */
	font-weight: 600;
	padding-left: 30px;
	margin-top: 0;
	margin-bottom: 20px;
}
#facility_role .slider_wrap .text .detail {
	margin-top: 20px;
}
#facility_role .slider_wrap .text .detail dt {
	font-weight: 500;
}
#facility_role .slider_wrap .text .detail dd {
	line-height: 2;
	margin-left: 0;
	margin-bottom: 20px;
}
#facility_role ul {
	display: flex;
	flex-wrap: wrap;
}
#facility_role ul li .ttl {
	font-weight: 600;
}
#facility_role .colored_wrap {
	background-color: var(--arch-ex-lightblue);
}
#facility_role .colored_wrap p {
	color: var(--arch-text-color);
	font-weight: 600;
}
#facility_role .colored_wrap ul {
	display: block;
}
#facility_role hr {
	margin: 58px 0 80px;
}

#facility_floormap {
	background-color: var(--arch-ex-lightblue);
}
#facility_floormap .wrap {
}
#facility_floormap .wrap picture {
	display: block;
	text-align: center;	/* 2025.11 Aki added */
	background-color: white;	/* 2025.11 Aki added */
	border-radius: 50px;	/* 2025.11 Aki added */
	padding: 30px 15px;	/* 2025.11 Aki added */
}
#facility_floormap .wrap img {
}
#facility_floormap .wrap ul {
	display: flex;
	flex-wrap: wrap;
}
#facility_floormap .wrap ul li {
}
#facility_floormap .wrap ul li img {
}
#facility_floormap .wrap ul li p {
	font-weight: 600;
}
#facility_floormap .banner picture {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}


/* Guide */
#my-guide {
}
#guide_menu {
}

#guide_intro {
}
#guide_intro .wrapper p {
	line-height: 2;	/* 16/32 */
}
#guide_intro .figure_wrap img {
}
#guide_intro .figure_wrap figcaption {
	text-align: center;
	font-weight: 500;
	line-height: 1;
}

#guide_flow {
}
#guide_flow ul {
}
#guide_flow ul > li {
	position: relative;
	display: flex;
	align-items: center;
	background-color: var(--arch-ex-lightblue);
}
#guide_flow ul > li:last-child,
#guide_flow ul > li:last-child .num {
	color: white;
	background-color: var(--arch-text-color);
}
#guide_flow ul > li:not(:last-child)::after {
	content: "";
	display: block;
	width: 24px;
	height: 19px;
	background: url(../../images/ic_arrow_flow.svg)no-repeat center/cover;
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
}
#guide_flow ul > li .num {
	color: var(--arch-text-color);
}
#guide_flow ul > li p {
	font-weight: 600;
	margin: 0;
}

#guide_requirements {
	background-color: var(--arch-ex-lightblue);
}
#guide_requirements .wrap {
	background-color: white;
	border-radius: 25px;
}
#guide_requirements dl {
}
#guide_requirements dt {
	font-weight: 600;
}
#guide_requirements dd {
	border-bottom: solid 1px var(--arch-ex-lightblue);
	margin: 0;
}

#guide_price {
}
.guide_table {
	width: 100%;
	border-collapse: separate;
	border-radius: 15px;
}
.guide_table thead {
	color: white;
	background-color: var(--arch-text-color);
}
.guide_table thead tr {
	background-color: var(--arch-text-color);
}
.guide_table thead th {
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
}
.guide_table thead th.floor {
	border-top-left-radius: 15px;
}
.guide_table thead th.num {
}
.guide_table thead th.use {
}
.guide_table thead th.area {
}
.guide_table thead th.month {
}
.guide_table thead th.year {
}
.guide_table thead th:is(.status, .water) {
	border-top-right-radius: 15px;
}
.guide_table tbody {
}
.guide_table tbody tr {
}
.guide_table tbody tr:last-child {
}
.guide_table tbody tr th {
	border-top: solid 1px var(--arch-text-color);
	background: rgba(0,86,135,0.1);
	font-weight: 600;
	text-align: center;
}
.guide_table tbody tr th.floor.four {
	border-bottom: solid 1px var(--arch-text-color);
	border-bottom-left-radius: 15px;
}
.guide_table tbody tr:last-child td:last-child {
	border-bottom-right-radius: 15px;
}
.guide_table tbody tr.first th {
	border-left: solid 1px var(--arch-text-color);
	border-right: solid 1px rgba(1,119,187,0.2);
}
.guide_table tbody tr.first td {
	border-top: solid 1px var(--arch-text-color);
}
.guide_table tbody tr td {
	text-align: center;
	line-height: 1.25;	/* 16/20 */
	border-top: solid 1px var(--arch-ex-lightblue);
}
.guide_table tbody tr td:last-child {
	border-right: solid 1px var(--arch-text-color);
}
.guide_table tbody tr:last-child :is(th,td) {
	border-bottom: solid 1px var(--arch-text-color);
}
.guide_table tbody tr td:not(:last-child) {
	border-right: solid 1px var(--arch-ex-lightblue);
}
/* For Equipment Table */
.guide_table#equipment_table thead th {
	line-height: 1.25;	/* 16/20 */
	padding-top: 10px;	/* 2025.11 Aki added */
	padding-bottom: 10px;	/* 2025.11 Aki added */
}
.guide_table thead th.elect {
}
.guide_table thead th.gus {
}
.guide_table thead th.draft {
}
.guide_table thead th.water {
}
.guide_table thead td {
	text-align: center;
	line-height: 1.357;	/* 14/19 */
}
.guide_table thead td.hasborder {
	border-left: solid 1px rgba(255,255,255,0.2);
}
.guide_table thead td.gus {
	border-right: solid 1px rgba(255,255,255,0.2);
}
.guide_table tbody tr td.four {
	border-bottom: solid 1px var(--arch-text-color);
}
.guide_table tbody tr td span {
	display: block;
}
.guide_table tbody tr td .vertical {
	display: inline-block;
	writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	vertical-align: middle;
	letter-spacing: 0.2em;
}

ul.kome li {
	font-weight: 400;
	text-indent: -10px;
	margin-left: 10px;
}
ul.kome li::before {
	content: "※";
	display: inline-block;
}

#guide_equipment{
}

#guide_contact {
}
#guide_contact .wrap {
}
#guide_contact .wrap p {
	line-height: 2;	/* 16/32 */
}
#guide_contact .wrap .mail {
}
#guide_contact .wrap .mail a {
	display: block;
	display: flex;
	align-items: center;
	color: white;
	font-weight: 500;
	text-decoration: none;
	letter-spacing: -0.01em;
	background: url(../../images/ic_mail.svg)no-repeat center right 58px/ 38px,linear-gradient(45deg, var(--arch-text-color), #68BDEA);
}



/* PC ------------------------------------------------- */
@media print, screen and (min-width: 768px) {
	/* Common */
	.child_header {
		padding-top: 173px;	/* 2025.11 Aki was 240px from FD */
	}
	.child_header .wall {
		padding-bottom: 115px;	/* contentのネガティブマージン分 + 必要な余白 */
	}
	.child_header h2 {
		margin-bottom: 60px;
	}
	.child_header h2 .ja {
		font-size: 1.5625rem;	/* 25px */
		margin-top: 25px;
	}
	ul.breadcrumbs > li a {
	}
	.content {
		border-top-left-radius: 100px;
		padding-top: 100px;
		padding-bottom: 380px;
		margin-top: -100px;	/* radiusと同じサイズ */
	}
	.content_menu {
		margin-bottom: 135px;
	}
	.content section.content_menu .wall {
		max-width: var(--arch-content-wall-width);
/*		margin-left: calc((100% - var(--arch-content-wall-width)) / 2); Aki c/o */
	}
	.content_menu ul {
		display: flex;
		flex-wrap: wrap;
		gap: 24px 90px;
	}
	.content_menu ul > li a {
		font-size: 1.25rem;	/* 20px */
		white-space: nowrap;
	}
	.content_menu ul > li a::before {
		width: 30px;
		height: 30px;
		vertical-align: -7px;
		margin-right: 9px;
	}
	.content_menu ul > li:not(:last-child) a::after {
		height: 26px;
		position: absolute;
		right: -45px;
		top: 2px;
	}
	h2.ofelia {
		font-size: 3.125rem;	/* 50px */
	}
	p.subttl {
		font-size: 1.125rem;	/* 18px */
	}

	/* Access */
	#access_getting {
		margin-bottom: 185px;
	}
	#access_getting .wrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#access_getting .wrapper .wrap {
	}
	#access_getting dl {
		margin-top: 55px;
	}
	#access_getting dl dt {
		float: left;
		width: 130px;
	}
	#access_getting dl dd {
	}
	#access_getting dl :is(dt, dd) {
		padding: 20px 0 15px;
	}
	#access_getting #access_map{
		width: 481px;	/* 2025.11 Aki added for fixed map */
		padding-top: 50px;
	}
	#access_getting .gmap {
		height: 446px;
	}
	#access_getting .gmap iframe {
		border-radius: 50px;
		margin-top: 58px;
	}
	#access_getting .link {
		margin-top: 40px;
	}
	#access_transportation {
		padding-bottom: 95px;	/* from chkHTML */
	}
	#access_transportation .imgonly.transportation {
		margin-top: 75px;
		margin-bottom: 45px;	/* was 72px from chkHTML */
	}
	#access_transportation .link {
		margin-top: 45px;
	}
	#access_transportation .linkbtn {
		margin-right: 22px;
	}

	/* Facility */
	.content#my-facility {
		padding-bottom: 0;
	}
	.child_header h2 .ja {
		margin-top: 10px;
	}
	.child_header h2 .en {	/* 2025.11 Aki added */
		height: 80px;
	}
	.hasleft {
	}
	.hasleft :is(.wall, .wrapper) {
		display: flex;
	}
	.hasleft h3 {
		font-size: 1.5625rem;	/* 25px */
	}
	.hasleft .wrap {
		width: 66.6666%;	/* 666/1000 */
		max-width: 666px;
		margin-left: auto;
		margin-right: 0;
	}

	#facility_intro {
	}
	#facility_intro h2 {
		line-height: 1;
		margin-top: 0;
		margin-bottom: 15px;
	}
	#facility_intro .wrapper {
		display: flex;
		justify-content: center;
		margin-left: calc((var(--pagewidth) - var(--arch-content-wall-width)) / 2);
		margin-right: 0;
	}
	#facility_intro .wrapper .imgonly{
		order: 2;
		padding-left: 83px;
	}
	#facility_intro .wrapper img {
		border-top-left-radius: 50px;
		border-bottom-left-radius: 50px;
	}
	#facility_intro .wrap {
		order: 1;
		max-width: 500px;
	}
	#facility_intro .wrapper .wrap p:not(.subttl) {
		margin-top: 90px;
	}

	#facility_purpose {
		margin-top: 100px;
	}
	#facility_purpose .wrap {
	}
	#facility_purpose .wrap p {
	}
	#facility_purpose .wrap .figure_wrap {
		gap: 34px;
		margin-top: 60px;
	}
	#facility_purpose .wrap .figure_wrap figure {
		width: calc((100% - 34px) / 2);
	}
	#facility_purpose .wrap .figure_wrap img {
		border-radius: 25px;
	}
	#facility_purpose .wrap .figure_wrap figcaption {
	}

	#facility_greeting {
		margin-top: 115px;
		margin-bottom: 180px;
	}
	#facility_greeting .wrap {
	}
	#facility_greeting .wrap p {
		margin-bottom: 35px;
	}
	#facility_greeting .wrap .name_wrap {
		gap: 0 33px;
		margin-top: 65px;
	}
	#facility_greeting .wrap .name_wrap p {
		margin-bottom: 0;
	}
	#facility_greeting .wrap .name_wrap p.depart {
		line-height: 1;
	}
	#facility_greeting .wrap .name_wrap .text p .post {
	}
	#facility_greeting .wrap .name_wrap .text p .name {
	}
	#facility_greeting .wrap .name_wrap .imgonly {
		width: 135px;
	}

	#facility_initiative {
		background: url(../../images/bg_facility_initiative.svg)no-repeat center / 100% 100%;
		padding-top: 260px;
		padding-bottom: 310px;
	}
	#facility_initiative h2 {
	}
	#facility_initiative h3 {
		font-size: 1.5625rem;	/* 25px */
		margin-top: 105px;
	}
	#facility_initiative .wrapper_mission {
		display: flex;
		flex-wrap: wrap;
		gap: 0 26px;
		margin-top: 35px;
	}
	#facility_initiative .wrapper_mission .wrap {
		width: calc((100% - 52px) / 3);
		border-radius: 50px;
		padding: 25px 30px;
	}
	#facility_initiative .wrapper_mission .wrap p.num {
		font-size: 2.5rem;	/* 40px */
	}
	#facility_initiative .wrapper_mission .wrap p.ttl {
		font-size: 1.375rem;	/* 22px */
	}
	#facility_initiative .wrapper_mission .wrap ul {
	}
	#facility_initiative .wrapper_mission .wrap ul > li {
	}
	#facility_initiative .wrapper_mission .wrap ul >li::before {
	}
	#facility_initiative .hasleft {
		margin-bottom: 54px;
	}
	#facility_initiative .hasleft p b {
		font-size: 1.25rem;	/* 20px */
		margin-bottom: 10px;
	}
	#facility_initiative hr {
		margin-top: 80px;
		margin-bottom: 75px;
	}
	#facility_initiative p.hasbg {
		font-size: 1.25rem;	/* 20px */
		height: 72px;
	}
	#facility_initiative p.hasbg.univ {
		font-size: 1.5625rem;	/* 25px */
	}
	#facility_initiative .wrapper_mission#wrapper2 {
		margin-top: 65px;
		margin-bottom: 65px;
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap {
		border-radius: 20px;
			padding-bottom: 48px;
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap p.ttl {
		font-size: 1.875rem;	/* 30px */
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap ul {
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap ul > li {
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap::before, 
	#facility_initiative .wrapper_mission#wrapper2 .wrap::after {
		width: 32px;
		height: 27px;
		top: -44px;
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap::after {
		top: auto;
		bottom: -44px;
	}

	#facility_role {
		margin-bottom: 195px;
	}
	#facility_role .wrapper_h3 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 105px;
	}
	#facility_role h3 {
		font-size: 1.5625rem;	/* 25px */
	}
	#facility_role h3 .num {
		font-size: 2.5rem;	/* 40px */
	}
	#facility_role .wrapper_h3 p {
		width: 400px;
	}
	#facility_role .slider_wrap {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 0 85px;
		margin-top: 62px;
	}
	#facility_role .slider_wrap .text {
/*		padding-left: 85px; Aki c/o */
		width: calc(100% - 647px);
		min-width: 300px;
	}
	#facility_role p.ttl {
	}
	#facility_role .slider_wrap .text .detail {
	}
	#facility_role .slider_wrap .text .detail dt {
	}
	#facility_role .slider_wrap .text .detail dd {
	}
	#facility_role ul#space_others {
		gap: 20px 28px;
		margin-top: 100px;
		margin-bottom: 118px;
	}
	#facility_role ul#space_others li {
		width: calc((100% - 84px) / 4);
	}
	#facility_role ul#space_others li img {
		border-radius: 25px;
	}
	#facility_role ul#space_others li .ttl {
		font-size: 1.125rem;	/* 18px */
		margin-bottom: 15px;
	}
	#facility_role ul#space_others li p:not(.ttl) {
	}
	#facility_role .colored_wrap {
		border-radius: 50px;
		padding: 90px 191px 75px;
		margin-top: 37px;
	}
	#facility_role .colored_wrap p {
		font-size: 1.25rem;	/* 20px */
		margin-bottom: 20px;
	}
	#facility_role .colored_wrap ul {
	}
	#facility_role .colored_wrap ul li {
		margin-bottom: 15px;
	}

	#facility_floormap {
		padding-bottom: 475px;
	}
	#facility_floormap .wall {
		padding-top: 175px;
	}
	#facility_floormap .wrap {
		margin-top: 95px;
	}
	#facility_floormap .wrap img {
/*		border-radius: 50px; 2025.11 Aki c/o */
	}
	#facility_floormap .wrap ul {
		gap: 40px 42px;
		margin-top: 50px;
	}
	#facility_floormap .wrap ul li {
		width: calc((100% - 84px) / 3);
	}
	#facility_floormap .wrap ul li img {
		border-radius: 25px;
	}
	#facility_floormap .wrap ul li p {
		font-size: 1.125rem;	/* 18px */
	}
	#facility_floormap .banner {
		margin-top: 81px;
	}
	#facility_floormap .banner a {
		height: 206px;
		padding: 72px 154px 0;
	}
	#facility_floormap .banner a::after {
		right: 154px;
	}
	#facility_floormap .banner img {
		border-radius: 50px;
	}

	/* Guide */
	#my-guide {
	}
	.content_menu#guide_menu ul > li:nth-child(4) a::after {
		content: none;
	}

	#guide_intro {
	}
	#guide_intro .wrapper {
		display: flex;
		justify-content: space-between;
		margin-top: 97px;
	}
	#guide_intro .wrapper p {
		width: 32.4%;	/* 324/1000 */
		flex-shrink: 0;
	}
	#guide_intro .figure_wrap {
		width: 60%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 35px 40px;
	}
	#guide_intro .figure_wrap figure {
		width: calc((100% - 40px) / 2);
	}
	#guide_intro .figure_wrap img {
		width: 100%;
		height: auto;
	}
	#guide_intro .figure_wrap figcaption {
	}

	#guide_flow {
		margin-top: 190px;
	}
	#guide_flow ul {
		margin-top: 100px;
	}
	#guide_flow ul > li {
		height: 142px;
		border-radius: 25px;
		gap: 0 69px;
		padding-left: 69px;
	}
	#guide_flow ul > li:not(:last-child) {
		margin-bottom: 79px;
	}
	#guide_flow ul > li:not(:last-child)::after {
		bottom: -50px;
	}
	#guide_flow ul > li .num {
		font-size: 3.125rem;	/* 50px */
	}
	#guide_flow ul > li p {
		font-size: 1.25rem;	/* 20px */
	}

	#guide_requirements {
		padding-top: 130px;
		padding-bottom: 190px;
		margin-top: 200px;
	}
	#guide_requirements .wrap {
		padding: 25px 85px 26px;
		margin-top: 100px;
	}
	#guide_requirements dl {
	}
	#guide_requirements :is(dt, dd) {
		padding: 30px 0;
	}
	#guide_requirements dt.lines {
		padding-top: 40px;
	}
	#guide_requirements dt {
		position: relative;
		font-size: 1.125rem;	/* 18px */
		min-width: 155px;
		float: left;
		clear: left;
	}
	#guide_requirements dt::after {
		content: "";
		display: inline-block;
		width: 1px;
		height: 24px;
		background-color: rgba(0,86,135,0.5);
		position: absolute;
		right: 0;
		top: 50%;
		transform: translatey(-50%);
	}
	#guide_requirements dd {
		padding-left: 210px;
	}

	#guide_price {
		margin-top: 192px;
	}
	.guide_table {
		margin-top: 99px;
		margin-bottom: 40px;
	}
	.guide_table thead {
	}
	.guide_table thead tr {
	}
	.guide_table thead th {
		padding: 15px 0;
	}
	.guide_table thead th.floor {
		width: 48px;
	}
	.guide_table thead th.num {
		width: 99px;
	}
	.guide_table thead th.use {
		width: 230px;
	}
	.guide_table thead th.area {
		width: 93px;
	}
	.guide_table thead th.month {
		width: 199px;
	}
	.guide_table thead th.year {
		width: 163px;
	}
	.guide_table thead th.status {
		width: 168px;
	}
	.guide_table tbody {
	}
	.guide_table tbody tr {
	}
	.guide_table tbody tr th {
	}
	.guide_table tbody tr td {
		padding: 20px 0;
	}
	.guide_table tbody tr td.floor {
	}
	/* For Equipment Table */
	.guide_table#equipment_table thead th {
	}
	.guide_table#equipment_table thead th:is(.draft, .water) {
/*		padding-top: 30px; 2025.10 Aki c/o */
	}
	.guide_table thead td {
		font-size: 0.875rem;	/* 14px */
		padding-top: 10px;
		padding-bottom: 5px;	/* 2025.10 Aki was 10px */
	}
	.guide_table thead th.elect {
		width: 141px;
	}
	.guide_table thead th.gus {
		width: 359px;
	}
	.guide_table thead th.draft {
		width: 185px;
	}
	.guide_table thead th.water {
		width: 166px;
	}
	.guide_table thead tr td.hasborder.elect {
		width: 70px;
	}
	.guide_table thead tr td.hasborder.gus {
		width: 157px;
	}
	.guide_table tbody tr td.four {
	}
	.guide_table tbody tr td .vertical {
		font-size: 0.875rem;	/* 14px */
		padding-top: 5px;
	}
	.guide_table tbody tr td .notice {
		font-size: 0.875rem;	/* 14px */
	}

	#guide_equipment{
		margin-top: 181px;
	}

	#guide_contact {
		padding-bottom: 105px;
		margin-top: 187px;
	}
	#guide_contact .wrap {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 70px;
	}
	#guide_contact .wrap p {
		width: 45.2%;	/* 452/1000 */
		max-width: 452px;
	}
	#guide_contact .wrap .mail {
		width: 487px;
		margin-top: 10px;
	}
	#guide_contact .wrap .mail a {
		height: 123px;
		font-size: 1.1875rem;	/* 19px */
		border-radius: 25px;
		padding-left: 51px;
	}


	@media (any-hover: hover) {
		#guide_contact .wrap .mail a:hover {
		}
	}




	/* Special Break Point for Child-Page */

	/* breadcrumbs */
		@media print, screen and (max-width: 1024px) {
			ul.breadcrumbs > li {
				font-size: 0.75rem;
			}
		}

	/* Facility */
	@media print, screen and (max-width: 1024px) {
		#facility_role .wrapper_h3 p {
			width: 100%;
		}
		#facility_intro .wrapper {
			max-width: var(--arch-wall-width);
			margin-left: auto;

		}
		#facility_role .slider_wrap .text {
			width: 100%;
		}
	}

	/* guide */
	@media print, screen and (max-width: 1117px) {
		.content_menu#guide_menu ul > li:nth-child(4) a::after {
			content: "";
		}
	}






}


/* SP ------------------------------------------------- */
@media screen and (max-width: 767px) {
	/* Common */
	main.lower-page {
		padding-top: var(--arch-header2-height);	/* 2025.11 KAZ: was margin-top: 90px */
	}
	.child_header {
		background-image: url(../../images/sp/bg_child-header.png);
		background-position: center top;
		padding-top: 60px;
		padding-bottom: 67px;
	}
	.child_header .wall {
	}
	.child_header h2 {
	}
	.child_header h2 .en {
		display: block;
		max-width: 200px;
		margin-bottom: 8px;
	}
	.child_header h2 .ja {
		font-size: 1.25rem;	/* 20px */
	}
	.breadcrumbs_wrapper {
		max-width: 100%;
		overflow-x: auto;
		padding-bottom: 5px;
	}
	ul.breadcrumbs {
/*		flex-wrap: wrap; 2025.10 Aki c/o from chkHTML */
		margin-top: 55px;
		justify-content: flex-start;
	}
	ul.breadcrumbs > li {
		font-size: 0.75rem;	/* 12px design is 11px */
		flex-shrink: 0;	/* 2025.10 Aki added from chkHTML */
	}
	.content {
		border-top-left-radius: 50px;
		padding-top: 50px;
		margin-top: -50px;
	}
	.content_menu ul > li a {
		display: block;
		font-size: 0.9375rem;	/* 15px */
		border-bottom: solid 1px var(--arch-paleblue);
		padding: 14px 0;
	}
	.content_menu ul > li a::before {
		width: 20px;
		height: 20px;
		margin-right: 8px;
		vertical-align: -4px;
	}
	.content_menu ul > li:not(:last-child) a::after {
		content: none;
	}
	h2.ofelia {
		font-size: 2.8125rem;	/* 45px */
		line-height: 1;
		margin-bottom: 12px;
	}
	p.subttl {
		line-height: 1.5;	/* 15/24 */
	}




	/* Access */
	#access_getting {
		margin-top: 105px;
	}
	#access_getting .wrapper {
		display: flex;
		flex-direction: column;
		margin-top: 50px;
	}
	#access_getting .wrapper .wrap {
		order: 2;
	}
	#access_getting dl {
		border-bottom: solid 1px var(--arch-paleblue);
	}
	#access_getting dl dt {
		border: 0;
		padding-top: 20px;
		padding-bottom: 5px;
	}
	#access_getting dl dd {
		font-size: 0.875rem;	/* 14px */
		border-bottom: solid 1px var(--arch-paleblue);
		padding-bottom: 17px;
		margin-left: 0;
	}
	#access_getting #access_map{
		order: 1;
		margin-bottom: 25px;
	}
	#access_getting .gmap {
		height: 246px;
		margin-top: 35px;
	}
	#access_getting .gmap iframe {
		border-radius: 25px;
	}
	#access_getting .link {
		margin-top: 25px;
	}
	:is(#access_getting, #access_transportation) .link a.linkbtn,
	#my-news .link.back a.linkbtn {
		min-width: 210px;
		line-height: 58px;
		font-size: 1rem;
		border-radius: 30px;
	}
	:is(#access_getting, #access_transportation) .link a.linkbtn::after,
	#my-news .link.back a.linkbtn::after {
		width: 24px;
		height: 24px;
	}
	#access_transportation {
		padding-bottom: 108px;
		margin-top: 105px;
	}
	#access_transportation h2 {
		font-size: 2.625rem;	/* 42px */
		letter-spacing: -0.01em;
		line-height: 1.2380;	/* 42/52 */
	}
	#access_transportation .transportation_wrapper {
		overflow-x: auto;
		margin-top: 40px;
	}
	#access_transportation .imgonly.transportation {
		width: 843px;
	}
	#access_transportation p:not(.subttl) {
		margin-top: 45px;
	}
	#access_transportation .link {
		text-align: center;
		margin-top: 45px;
	}
	#access_transportation .linkbtn {
		padding-right: 51px;
		margin-bottom: 25px;
	}

	/* Facility */
	.hasleft {
	}
	.hasleft .wall {
	}
	.hasleft h3 {
		font-size: 1.375rem;	/* 22px */
		margin-bottom: 12px;
	}

	.child_header h2 .ja {
	}
	#facility_intro {
		padding-top: 105px;
		padding-bottom: 35px;
	}
	#facility_intro :is(h2, p.subttl) {
		width: var(--arch-right-alignment-width);
		margin-left: auto;
		margin-right: 0;
	}
	#facility_intro .wrapper {
	}
	#facility_intro .wrapper .imgonly{
		overflow: hidden;
		width: var(--arch-right-alignment-width);
		aspect-ratio: 355/314;
		margin-left: auto;
		margin-right: 0;
		margin-top: 50px;
	}
	#facility_intro .wrapper img  {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-top-left-radius: 25px;
		border-bottom-left-radius: 25px;
	}
	#facility_intro .wrap {
		width: var(--arch-content-wall-width);
		padding-top: 40px;
		margin: 0 auto;
	}

	#facility_purpose {
		padding-bottom: 50px;
	}
	#facility_purpose .wrap {
	}
	#facility_purpose .wrap p {
	}
	#facility_purpose .wrap .figure_wrap {
		gap: 17px;
		margin-top: 23px;
	}
	#facility_purpose .wrap .figure_wrap figure {
		width: calc((100% - 17px) / 2);
	}
	#facility_purpose .wrap .figure_wrap img {
		border-radius: 15px;
	}
	#facility_purpose .wrap .figure_wrap figcaption {
		font-size: 0.75rem;	/* 12px */
	}

	#facility_greeting {
		padding-bottom: 105px;
	}
	#facility_greeting .wrap {
	}
	#facility_greeting .wrap p {
		margin-bottom: 30px;
	}
	#facility_greeting .wrap .name_wrap {
		gap: 0 10px;	/* 2025.10 Aki was 16px */
		margin-top: 48px;
	}
	#facility_greeting .wrap .name_wrap .text {
	}
	#facility_greeting .wrap .name_wrap .text p {
		line-height: 1.5;
		margin-bottom: 0;
	}
	#facility_greeting .wrap .name_wrap .text p.depart {
		font-size: 0.75rem;	/* 12px */
		line-height: 1.666;	/* 16/20 */
		margin-bottom: 8px;
		letter-spacing: -0.05em;	/* 2025.10 Aki adde from chkHTML */
	}
	#facility_greeting .wrap .name_wrap .text p .name {
	}
	#facility_greeting .wrap .name_wrap .imgonly {
		flex-shrink: 0;
		width: 107px;
	}

	#facility_initiative {
	}
	#facility_initiative h2 {
	}
	#facility_initiative h3 {
	}
	#facility_initiative .wrapper_mission {
	}
	#facility_initiative .wrapper_mission .wrap {
	}
	#facility_initiative .wrapper_mission .wrap p.num {
	}
	#facility_initiative .wrapper_mission .wrap p.ttl {
	}
	#facility_initiative .wrapper_mission .wrap ul {
	}
	#facility_initiative .wrapper_mission .wrap ul > li {
	}
	#facility_initiative .wrapper_mission .wrap ul >li::before {
	}
	#facility_initiative .hasleft {
		color: white;
	}
	#facility_initiative .hasleft p b {
	}
	#facility_initiative p.hasbg {
	}
	#facility_initiative p.hasbg.univ {
	}
	#facility_initiative .wrapper_mission#wrapper2 {
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap {
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap p.ttl {
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap ul > li {
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap::before, 
	#facility_initiative .wrapper_mission#wrapper2 .wrap::after {
	}
	#facility_initiative .wrapper_mission#wrapper2 .wrap::after {
	}

	#facility_role {
		padding-bottom: 100px;
	}
	#facility_role .wrapper_h3 {
		margin-top: 45px;
		padding-bottom: 33px;
	}
	#facility_role h3 {
		font-size: 1.375rem;	/* 22px */
		line-height: 1.5909;	/* 22/35*/
	}
	#facility_role h3 .num {
		font-size: 2rem;	/* 32px */
	}
	#facility_role .wrapper_h3 p {
	}
	#facility_role p.ttl.sponly {
		font-size: 1.125rem;	/* 18px */
		margin-bottom: 24px;
	}
	#facility_role .slider_wrap {
	}
	#facility_role .slider_wrap .text {
		margin-top: 25px;
	}
	#facility_role p.ttl {
	}
	#facility_role .slider_wrap .text .detail {
	}
	#facility_role .slider_wrap .text .detail dt {
	}
	#facility_role .slider_wrap .text .detail dd {
		font-size: 0.8125rem;	/* 13px */
	}
	#facility_role hr {
		margin: 43px 0 45px;
	}
	#facility_role ul:not(.slick-dots) {
		gap: 10px 17px;
		margin-top: 47px;
	}
	#facility_role ul:not(.slick-dots) li {
		width: calc((100% - 17px) / 2);
	}
	#facility_role ul:not(.slick-dots) li img {
		border-radius: 15px;
	}
	#facility_role ul li .ttl {
		margin-top: 0;
		margin-bottom: 5px;
	}
	#facility_role ul li p:not(.ttl) {
		font-size: 0.8125rem;	/* 13px*/
		line-height: 2;	/* 16/32 */
	}
	#facility_role .colored_wrap {
		border-radius: 25px;
		padding: 30px 30px 15px;
	}
	#facility_role .colored_wrap p {
		font-size: 1.25rem;	/* 20px */
		text-align: center;
	}
	#facility_role .colored_wrap ul {
		font-size: 0.875rem;	/* 14px*/
		margin-top: 23px;
	}
	#facility_role .colored_wrap ul li {
		width: 100%;
	}

	#facility_floormap {
		padding-top: 105px;
		padding-bottom: 133px;
	}
	#facility_floormap .wrap {
		margin-top: 45px;
	}
	#facility_floormap .wrap picture {	/* 2025.11 Aki added for fixed floor map */
		border-radius: 25px;
	}
	#facility_floormap .wrap img {
	}
	#facility_floormap .wrap ul {
		gap: 42px 17px;	/* 2025.10 Aki added 42px from chkHTML */
		margin-top: 18px;
	}
	#facility_floormap .wrap ul li {
		position: relative;
		width: calc((100% - 17px) / 2);
	}
	#facility_floormap .wrap ul li img {
		border-radius: 15px;
	}
	#facility_floormap .wrap ul li p {
		position: absolute;
		font-size: 0.75rem;	/* 12px */
		line-height: 1.5;	/* 12/18 / 2025.10 Aki added */
		margin-top: 2px;
	}
	#facility_floormap .banner {
		margin-top: 90px;
	}
	#facility_floormap .banner a {
		height: 130px;
	}
	#facility_floormap .banner img {
		border-radius: 20px;
	}

	#guide_intro {
		padding-bottom: 55px;
		margin-top: 105px;
	}
	#guide_intro .wall {
	}
	#guide_intro .wrapper {
		margin-top: 55px;
	}
	#guide_intro .figure_wrap {
		margin-top: 45px;
	}
	#guide_intro .figure_wrap figcaption {
		margin: 13px 0 53px;
	}

	#guide_flow {
		padding-bottom: 100px;
	}
	#guide_flow ul {
		margin-top: 48px;
	}
	#guide_flow ul > li {
		border-radius: 25px;
		gap: 0 27px;
		padding: 24px 30px;
		margin-bottom: 57px;
	}
	#guide_flow ul > li:last-child {
		margin-bottom: 0;
	}
	#guide_flow ul > li:not(:last-child)::after {
		bottom: -38px;
	}
	#guide_flow ul > li .num {
		font-size: 2.375rem;	/* 38px */
	}
	#guide_flow ul > li p {
		line-height: 1.875;	/* 16/30 */
	}

	#guide_requirements {
		padding-top: 105px;
		padding-bottom: 100px;
	}
	#guide_requirements h2 {
		letter-spacing: -0.05em;	/*desgin is -0.02em 画面幅狭いとはみだすため */
	}
	#guide_requirements .wrap {
		padding: 32px 32px 5px;
		margin-top: 45px;
	}
	#guide_requirements dt {
		padding-bottom: 10px;
	}
	#guide_requirements dd {
		font-size: 0.875rem;	/* 14px */
		line-height: 2;	/* 14/28 */
		padding-bottom: 15px;
		margin-bottom: 23px;
	}
	#guide_requirements dd.noborder {
		margin-bottom: 0;
	}

	#guide_price {
		padding-top: 105px;
	}
	#guide_price ul {
		font-size: 0.8125rem;	/* 13px */
		line-height: 2;	/* 13/26 */
		margin-top: 20px;
		margin-left: 1em;
		width: calc(100% - 2em);	/* 2025.10 Aki added */
	}
	ul.kome li::before {
		margin-right: 6px;
	}

	.table_wrapper {
/*		width: var(--pagewidth); Aki c/o from chkHTML */
		overflow-x: auto;
		margin-top: 55px;
		padding-bottom: 10px;
	}
	.guide_table {
		font-size: 0.75rem;
	}
	.guide_table thead {
	}
	.guide_table thead tr {
	}
	.guide_table thead th {
		padding: 13px;
	}
	.guide_table thead th.floor {
	}
	.guide_table thead th.num {
	}
	.guide_table thead th.use {
		min-width: 183px;
	}
	.guide_table thead th.area {
	}
	.guide_table thead th.month {
		min-width: 158px;
	}
	.guide_table thead th.year {
		min-width: 129px;
	}
	.guide_table thead th.status {
		min-width: 133px;
	}
	.guide_table tbody {
	}
	.guide_table tbody tr {
	}
	.guide_table tbody th {
	}
	.guide_table tbody td {
		padding: 9px 0;
	}
	.guide_table tbody td.floor {
	}
	/* For Equipment Table */
	.guide_table thead td {
	}
	.guide_table thead td.elect {
		min-width: 56px;
	}
	.guide_table thead td.gus {
		min-width: 125px;
	}
	.guide_table thead th.draft {
		min-width: 165px;	/* design is 145px */
	}
	.guide_table thead th.water {
		min-width: 130px;
	}
	.guide_table tbody tr td.four {
	}
	.guide_table tbody tr td .vertical {
		margin-top: 6px;
	}

	#guide_equipment{
		margin-top: 100px;
	}

	#guide_contact {
		padding-top: 105px;
		padding-bottom: 135px;
	}
	#guide_contact .wrap {
		margin-top: 40px;
	}
	#guide_contact .wrap p {
	}
	#guide_contact .wrap .mail {
		margin-top: 45px;
	}
	#guide_contact .wrap .mail a {
		height: 127px;
		font-size: 0.875rem;	/* 14px */
		justify-content: center;
		border-radius: 25px;
		background: url(../../images/ic_mail.svg)no-repeat center top 30px/ 38px,linear-gradient(45deg, var(--arch-text-color), #68BDEA);
		padding-top: 55px;
	}





}

/* ======================================================
   Footer
   ====================================================== */
#footer {
	clear: both;
	position: relative;
	color: white;
}
#ft_nav_top {	/* 2025.11 KAZ */
	display: none;
	position: fixed;
	z-index: 1;
}
#footer .wall {
	width: var(--arch-wall-width);
	margin: 0 auto;
}
#footer .wrapper {
	width: 100%;	/* 2025.9 Aki */
	display: flex;
	flex-wrap: wrap;
	align-items: end;	/* TOP先行公開時用 */
}
#footer .left_wrap {
}
#footer .left_wrap #ft_logo {
}
#footer .left_wrap a {
	color: white;
}
#footer .right_wrap {
}
#footer .right_wrap ul {
	display: flex;
	flex-wrap: wrap;
}
#footer .right_wrap ul > li {
}
#footer .right_wrap ul > li a,
#footer .right_wrap .mail a {
	color: white;
	text-decoration: none;
	font-weight: 500;
}
#footer .right_wrap .mail {
}
#footer .right_wrap .mail a,
#headmenu ul li.contact a {
	position: relative;
	display: block;
	font-size: 1.125rem;	/* 18px */
	font-weight: 500;	/* 2025.7 Aki was 700 */
	text-align: left;
}
#footer .right_wrap .mail a::after,
#headmenu ul li.contact a::after {
	content: "";
	display: block;
	background: url(../../images/ic_mail.svg)no-repeat center /cover;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
}
#footer .right_wrap .mail a img,
#headmenu ul li.contact a img {
	position: absolute;
	top: 0;
	left: 0;
}
#footer .right_wrap .mail a p,
#headmenu ul li.contact a p {
	position: relative;
}
#copyright {
	font-size: 0.75rem;	/* 12px */
	text-align: right;
}

/* PC ------------------------------------------------- */
@media print, screen and (min-width: 768px) {
	#footer {
		background: url(../../images/bg_footer.svg)no-repeat center bottom / 100% 100%;
		padding: 175px 0 80px;
		margin-top: -280px;
	}
	#footer .wall {
		max-width: var(--arch-wide-wall-width);
	}
	#footer :is(.left_wrap, .right_wrap) {
		width: 50%;
	}
	#footer .left_wrap #ft_logo {
		padding-top: 10px;
		padding-bottom: 55px;
	}
	#footer .left_wrap p {
		font-size: 0.875rem;	/* 14px */
		line-height: 1.785;	/* 14/25 */
	}
	#footer .right_wrap ul {
		gap: 0 50px;
		margin-bottom: 50px;
	}
	#footer .right_wrap ul > li a {
		font-size: 1.125rem;	/* 18px */
	}
	#footer .right_wrap .mail a {
		width: 600px;
		height: 170px;
		text-decoration: none;
		line-height: 170px;
		padding-left: 160px;
	}
	#footer .right_wrap .mail a::after {
		right: 160px;
	}
	#copyright {
		padding-top: 15px;
	}

	@media (any-hover: hover) {
		#footer .right_wrap ul > li a:hover {
			text-decoration: underline;
		}
	}

}


/* Special Break Point for Footer */
	@media print, screen and (max-width: 1255px) {
		#footer {
			background: url(../../images/sp/bg_footer.svg)no-repeat center bottom / 100% 100%;
		}
		#footer .wrapper {
			justify-content: center;
			gap: 45px 0;
		}
		#footer .left_wrap {
			order: 2;
		}
		#footer .right_wrap {
			order: 1;
			min-width: 600px;
		}
	}

/* SP ------------------------------------------------- */
@media screen and (max-width: 767px) {
		#footer {
			padding-top: 195px;
			padding-bottom: 15px;
			margin-top: -50px;
		}
		#footer :is(.left_wrap, .right_wrap) {
			width: 100%;
			min-width: auto;
		}
		#footer .right_wrap ul {
			gap: 35px 0;
		}
		#footer .right_wrap ul > li {
			width: 50%;
		}
		#footer .right_wrap ul > li:nth-child(2) {
			order: 3;
		}
		#footer .right_wrap ul > li:nth-child(3) {
			order: 2;
		}
		#footer .right_wrap ul > li:last-child {
			order: 4;
		}
		#footer .right_wrap ul > li a {
			font-size: 1.25rem;	/* 20px */
			padding-left: 35px;
		}
		#footer .right_wrap .mail a,
		#headmenu ul li.contact a {
			width: 335px;
			height: 130px;
			padding: 32px 0 0 30px;
			margin: 0 auto;
		}
		#footer .right_wrap .mail a {	/* 2025.10 Aki added rom chkHTML */
			width: 100%;
		}
		#footer .right_wrap .mail a::after,
		#headmenu ul li.contact a::after {
			right: 25px;
		}
		#footer .right_wrap .mail {
			margin-top: 77px;
		}
		#footer .left_wrap {
			margin-top: 43px;
		}
		#footer .left_wrap p {
			font-size: 0.875rem;	/* 14px */
			margin-top: 38px;
		}
		#copyright {
			text-align: center;
			margin-top: 90px;
		}
		#footer a.sptel {
			color: white;
		}





}


/* Contain floats: nicolasgallagher.com/micro-clearfix-hack/ */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/* =============================================================================
   Print styles.
   Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
   ============================================================================= */

@media print {
/*  a, a:visited { color: #444 !important; text-decoration: underline; } */	/* JAN-2019 KAZ: c/o */
    thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
    tr, img { page-break-inside: avoid; }
    img { max-width: 100% !important; }
    @page { margin: 0.5cm; }
    h2, h3 { page-break-after: avoid; }
}
