/* =============================================================================
   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 { 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;
	background-color: white;
}
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;
}
@media print, screen and (min-width: 768px) {	/* PC */
	:root {
		/* Dimensions */
/*		--az-header-height: 148px; */
		--arch-wall-width: 95%;
		--arch-max-wall-width: 1200px;
		--arch-header-height: 117px;
		--arch-header2-height: 90px;
	}
}

@media screen and (max-width: 767px) {	/* SP */
	:root {
		/* Dimensions */
		--arch-wall-width: 89.333%;	/* 335 / 375 */
		--arch-max-wall-width: none; 
		--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: 1px solid #999999; 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
  ====================================================== */
#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-max-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;
}
.ofelia {
	font-family: ofelia-text, sans-serif;
	font-weight: 500;
}
.forjaggy, 
section p, figcaption, a.linkbtn {
	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;
		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;
		}
	}


}

/* SP ------------------------------------------------- */
@media screen and (max-width: 767px) {
	#masthead {
		width: 100%;
		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 (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);	/* 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;
	right: 0;
	content: ''; TOP先行公開時用にc/o */
}
#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,
.features_links .banner a {
	display: block;
	position: relative;
	color: white;
	text-decoration: none;
	height: 100%;
}
a.linkbtn::after,
#top_links ul > li a::after,
.features_links .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,
.features_links .banner .imgonly {
	position: absolute;
	top: 0;
	left: 0;
}
#top_links ul > li a p,
.features_links .banner p {
	position: relative;
	font-weight: 500;
}

#top_information {
}
:is(#top_information, #top_mission) p.subttl,
#top_features .wrap .wrapper p.ttl,
.features_links .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;
}
#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 {
	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;
}
.features_links .banner p.ttl {
	line-height: 1;
	margin: 0 0 10px;
}
.features_links .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;
		top: 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: 60px;
	}
	#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;
		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;
		gap: 0 100px;
		margin-top: 195px;
	}
	.features_links .banner {
		width: calc((100% - 100px) / 2);
		max-width: 550px;
	}
	.features_links .banner a {
		padding: 80px 0 0 75px;
	}
	.features_links .banner a::after {
		width: 38px;
		height: 38px;
		right: 30px;
	}
	.features_links .banner p.ttl {
		font-size: 1.625rem;	/* 26px */
	}
	.features_links .banner p:not(.ttl) {
		font-size: 1.25rem;	/* 20px */
	}
	.features_links .banner .imgonly {
	}
	#top_banners {
		margin-top: 225px;
		padding-bottom: 380px;
	}
	#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 */
	}
	#top_news .ttl {
		padding-right: 1em;	/* KAZ */
		line-height: 1.5;	/* KAZ */
		font-size: 0.75rem;	/* 12px */
	}
	#top_news .ttl::after {	/* KAZ */
		height: 30px;
		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, .features_links .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: 0 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;
	}
	.features_links .banner p.ttl {
		font-size: 1.25rem;	/* 20px */
	}
	.features_links .banner p:not(.ttl) {
		font-size: 0.875rem;	/* 14px*/
	}
	.features_links .banner a {
		padding: 40px 30px 0;
	}
	.features_links .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 only)
  ====================================================== */




/* ======================================================
   Footer
   ====================================================== */
#footer {
	position: relative;
	color: white;
}
#footer .wall {
	width: var(--arch-wall-width);
	margin: 0 auto;
}
#footer .wrapper {
	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-max-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::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; }
}
