@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	position: relative;
}

html {
	font-size: 62.5%;
	overflow-y: scroll;
	min-width: 360px;
}

a {
	text-decoration: underline;
	color: rgba(0, 125, 204, 1);
}

main a:visited {
	color: rgba(111, 59, 162, 1);
}

a:hover,
main a:visited:hover,
a:visited:hover {
	color: rgba(236, 0, 3, 1);
}

a img {
	transition: all 0.25s;
}

a:hover img {
	opacity: 0.75;
}

a.btn_inquiry {
	cursor: pointer;
}

main a[href$=".doc"],
main a[href$=".docx"],
main a[href$=".xls"],
main a[href$=".xlsx"],
main a[href$=".ppt"],
main a[href$=".pptx"],
main a[href$=".pdf"],
main a[target$="_blank"] {
	background-size: 0.9em auto;
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 1.5em;
	margin-right: 0.5em;
}

main a[target$="_blank"] {
	background-image: url("../img/common/ico_link_bk.webp");
}

main a[href$=".doc"],
main a[href$=".docx"] {
	background-image: url("../img/common/ico_doc.webp");
}

main a[href$=".xls"],
main a[href$=".xlsx"] {
	background-image: url("../img/common/ico_xls.webp");
}

main a[href$=".ppt"],
main a[href$=".pptx"] {
	background-image: url("../img/common/ico_ppt.webp");
}

main a[href$=".pdf"] {
	background-image: url("../img/common/ico_pdf_red.webp");
}

main a[target$="_blank"]:has(> img:nth-child(1):nth-last-child(1)),
.linkbanners a[target$="_blank"],
.linkbanners a[href$=".pdf"] {
	background-image: none;
	padding-right: inherit;
	margin-right: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
table,
dl {
	margin-bottom: 1em;
}

h1,
h2,
h3,
h4,
h5,
li {
	line-height: 1.4;
}

ul,
ol {
	margin-left: 1.5em;
	list-style-position: outside;
}

ol.none,
ul.none {
	list-style-type: none;
	margin-left: 0;
}

li {
	padding-top: 0.35em;
	padding-bottom: 0.35em;
}

@media screen and (max-width: 799px) {
	nav li {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}
}

ul.kome {
	list-style-type: none;
	margin-left: 1.25em;
}

ul.kome>li::before {
	content: "※";
	margin-left: -1.25em;
	margin-right: 0.25em;
}

.kome>li>ol,
.kome>li>ul {
	margin-left: 2.5em;
}

img,
embed,
video {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	border: 0;
}

img[src$=".svg"] {
	width: 100%;
}

picture {
	display: block;
	margin-bottom: 1em;
}

figure {
	margin-bottom: 1em;
	text-align: center;
}

iframe {
	border: none;
}

form {
	display: inline;
}

input,
textarea {
	font-family: inherit;
	vertical-align: middle;
}

input[type="submit"],
input[type="reset"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}



th,
td {
	border: 1px solid rgba(200, 200, 200, 1);
	padding: 0.5em;
}

th {
	font-weight: normal;
	text-align: center;
}

thead th {
	padding: 1em 0.5em;
	background-color: rgba(0, 0, 0, 0.15);
}

tbody th {
	background-color: rgba(0, 0, 0, 0.08);
}

td {
	text-align: left;
	border: none;
}

th.left,
td.left {
	text-align: left;
}

th.right,
td.right {
	text-align: right;
}

th.center,
td.center {
	text-align: center;
}

th>*:last-child,
td>*:last-child {
	margin-bottom: 0em;
}

section>*:last-child,
article>*:last-child,
div>*:last-child {
	margin-bottom: 0em;
}

/*
.header-inner{
    max-width: 1200px;
    height: 80px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right:10px; 
    display:flex;
    justify-content: space-between;
    align-items: center;
}

*/




#container,
header,
main,
aside,
footer,
section,
.wfix {
	position: relative;
	display: block;
	width: 100%;
	margin: auto;
}

.s200 {
	font-size: 200%;
}

.s180 {
	font-size: 180%;
}

.s160 {
	font-size: 160%;
}

.s150 {
	font-size: 150%;
}

.s140 {
	font-size: 140%;
}

.s130 {
	font-size: 130%;
}

.s120 {
	font-size: 120%;
}

.s110 {
	font-size: 110%;
}

.s100 {
	font-size: 100%;
}

.s090 {
	font-size: 90%;
}

.s080 {
	font-size: 80%;
}

.s070 {
	font-size: 70%;
}

.s060 {
	font-size: 60%;
}

.s050 {
	font-size: 50%;
}

body {
	background-color: rgba(255, 255, 255, 1);
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: rgba(60, 60, 60, 1);
	font-weight: 100;
	line-height: 1.6;
}

.wfix {
	max-width: 1200px;
}

@media screen and (max-width: 799px) {
	body {
		font-size: 15px;
		font-size: 1.5rem;
	}

	.wfix {
		width: 94%;
	}
}

@media screen and (min-width: 800px) {
	body {
		font-size: 15px;
		font-size: 1.5rem;
	}

	.wfix {
		width: 90%;
	}
}

@media screen and (min-width: 1000px) {
	body {
		font-size: 16px;
		font-size: 1.6rem;
	}

	.wfix {
		width: 90%;
	}
}

#container {
	background-color: rgba(255, 255, 255, 1);
	padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}


:root {
	--key-color: rgba(0, 105, 160, 1);
	--nav-color: rgba(11, 67, 94, 1);
}


header {
    
    background-repeat: no-repeat;              
    background-size: cover;
    background-position: left top; 
}

header .wfix {
	display: flex;
	gap: 1em;
}

#header_name {
	display: flex;
	justify-content: space-between;
	gap: 1em;
	align-items: center;
	flex-grow: 1;
}

#name_set {
	display: flex;
	flex-direction: column;
	gap: 3px;
	flex-grow: 1;
}

#name_logo {
	margin: 0;
	width: clamp(160px, 50vw, 300px);
}

#name_logo a {
	text-decoration: none;
	color: inherit;
}

#name_eng {
	font-size: 9px;
	font-size: clamp(6px, 1.2vw, 10px);
	letter-spacing: 0.5em;
	font-family: "Times New Roman", Times, serif;
	font-weight: normal;
	color: rgba(0, 0, 0, 0.75);
	margin-left: 10%;
	margin-left: clamp(32px, 7%, 48px);
}

@media screen and (max-width: 400px) {
	#name_eng {
		display: none;
	}
}


#name_eng.hide {
	opacity: 0;
}

#name_eng .str {
	transition: all 0.25s;
	opacity: 1;
}

#name_eng .str.space {
	margin: 0 0.15em;
}

#name_eng .str.hide {
	opacity: 0;
}

.absolute {
    position: absolute;
    left: 250px;
    bottom: 0px;
}



#snsbtn {
	display: flex;
	align-items: center;
	gap: 5px;
	max-width: 20vw;
}

#snsbtn #snsbtn_label {
	font-size: 65%;
	white-space: nowrap;
	font-weight: bold;
}

@media screen and (max-width: 999px) {
	#snsbtn {
		gap: 0;
	}

	#snsbtn #snsbtn_label {
		display: none;
	}
}

#snsbtn a {
	border: 1px solid rgba(0, 0, 0, 0);
	max-width: 50px;
}

#snsbtn a:hover {
	border: 1px solid rgba(0, 0, 0, 0.15);
	background-color: rgba(0, 0, 0, 0.2);
}

#navbtn {
	background: rgba(255, 255, 255, 1);
	cursor: pointer;
	width: 50px;
	height: 50px;
	border: 1px solid rgb(30, 30, 30);
	z-index: 100;
	opacity: 0.9;
	aspect-ratio: 1;
	font-size: 65%;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

body:not(#index) #header_request,
/* body:not(#index) #header_x , */
body:not(#index) #navbtn {
	display: none;
}


#navbtn:hover {
	opacity: 0.7;
}

#navbtn.active {
	opacity: 1;
}

#navbtn span:not(:last-child) {
	display: block;
	position: absolute;
	left: 15%;
	height: 3px;
	background: rgb(30, 30, 30);
	width: 70%;
	margin: 4px auto 0 auto;
	transition: all 0.4s;
}

#navbtn span:nth-of-type(1) {
	top: 4px;
}

#navbtn span:nth-of-type(2) {
	top: 12px;
}

#navbtn span:nth-of-type(3) {
	top: 20px;
}

#navbtn span:last-child {
	display: block;
	width: 70%;
	position: absolute;
	left: 15%;
	bottom: 5px;
	text-align: center;
	transition: all 0.4s;
}

#navbtn.active {
	border: 1px solid rgba(0, 0, 0, 1);
	background: rgba(0, 0, 0, 0.2);
}

#navbtn.active span:nth-of-type(1) {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-150%) rotate(45deg);
	width: 70%;
}

#navbtn.active span:nth-of-type(2) {
	opacity: 0;
}

#navbtn.active span:nth-of-type(3) {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-150%) rotate(-45deg);
	width: 70%;
}

#navbtn.active span:last-child {
	opacity: 0;
}

#header_request {
	display: flex;
	justify-content: center;
	gap: 0.5em;
	align-items: center;
}

#search {
	display: flex;
	justify-content: flex-end;
	flex-grow: 1;
}

@media screen and (min-width: 800px) {
	#search {
		max-width: 200px;
	}
}

#search input[type="text"],
#search input[type="submit"] {
	height: 30px;
}

#header_inquiry {
	flex-grow: 1;
	flex-shrink: 0;
}

#search input[type="text"] {
	padding: 2px;
	width: calc(100% - 28px);
	background-color: rgba(240, 240, 240, 1);
	border: 1px solid rgba(160, 160, 160, 1);
	border-radius: 3px 0 0 3px;
	border-right: none;
}

#search input[type="text"]:focus {
	background-color: rgba(255, 255, 255, 1);
	border: 1px solid rgba(130, 130, 130, 1);
	border-right: none;
}

#search input[type="submit"] {
	display: inline-block;
	aspect-ratio: 1;
	text-indent: -200%;
	background-color: rgba(0, 105, 160, 1);
	background-color: var(--key-color);
	background-image: url("../image/ico_search.webp");
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: center center;
	border: 1px solid rgba(160, 160, 160, 1);
	border-left: none;
	border-radius: 0 3px 3px 0;
	overflow: hidden;
}

#search input[type="submit"]:hover {
	background-color: rgba(0, 0, 0, 1);
}

#header_inquiry a {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 105, 160, 1);
	background-color: var(--key-color);
	line-height: 1.2;
	padding: 0.65em 1em;
	color: rgba(255, 255, 255, 1);
	font-size: 75%;
	text-align: center;
	text-decoration: none;
	margin-left: auto;
	margin-right: 0;
	border-radius: 3px;
	white-space: nowrap;
	height: 30px;
	white-space: nowrap;
}

#header_inquiry a:hover {
	background-color: rgba(0, 0, 0, 1);
}

@media screen and (max-width: 799px) {
	header {
		padding: 0;
	}

	header .wfix {
		width: 100%;
		flex-direction: column;
		gap: 0;
	}

	#header_name {
		padding: 10px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.25);
	}

	#header_request {
		padding: 0.5em;
		background-color: rgb(228, 239, 245);
		display: none;
	}

	#header_request.open {
		display: flex;
	}
}

@media screen and (min-width: 800px) {
	header {
		padding: 1px 0;
	}

	header .wfix {
		justify-content: space-between;
	}

	#navbtn {
		display: none;
	}
}

#gn .small {
	font-size: 80%;
	display: inline-block;
}

@media screen and (max-width: 799px) {
	#gn {
		font-family: "Meiryo UI";
		letter-spacing: 0.05em;
		background-color: rgba(0, 16, 25, 1);
		z-index: 1;
		position: absolute;
		width: 100%;
		transition: all 0.5s ease-out;
		display: none;
	}

	#gn.open {
		display: block;
	}

	#gn .wfix {
		width: 100%;
	}

	#gn1 {
		padding: 1em;
		margin: 0;
		list-style-type: none;
		color: rgb(255, 255, 255);
		font-size: 95%;
	}

	.gn1 {
		background-color: rgba(255, 255, 255, 0.1);
		background-color: rgba(0, 105, 160, 1);
		background-color: var(--key-color);
		padding: 0;
	}

	#gn1 .gn1>a {
		padding: 1em;
		background-color: #004975;
		background-color: rgba(0, 0, 0, 0.3);
	}

	#gn li~li {
		margin: 0;
	}

	#gn1>li~li {
		margin-top: 1em;
	}

	.gn2 {
		padding: 1em 1em 1em 2em;
		margin: 0;
		list-style-type: disclosure-closed;
		color: rgb(255, 255, 255);
		font-size: 95%;
	}

	.gn2 li {
		margin: 0;
	}

	.gn2 li~li {
		border-top: 1px solid rgba(255, 255, 255, 0.25);
	}

	.gn2 li>ul {
		margin-bottom: 0;
	}

	#gn li:last-child ul:last-child {
		padding-bottom: 0;
		margin-bottom: 0;
	}

	#gn a {
		color: rgb(255, 255, 255);
		text-decoration: none;
	}

	#gn li>a,
	#gn li>span {
		display: block;
		padding: 0.5em 0;
	}

	#navclose {
		display: block;
		text-align: center;
		padding-bottom: 1em;
	}

	#navclose>* {
		display: inline-block;
		margin: 1em auto;
		padding: 0.25em 1em;
		background-color: rgba(255, 255, 255, 0.15);
		color: rgba(255, 255, 255, 1);
		font-size: 80%;
		border: 1px solid rgba(255, 255, 255, 0.15);
		cursor: pointer;
	}
}

@media screen and (min-width: 800px) {
	#gn {
		font-family: "Meiryo UI";
		letter-spacing: 0.05em;
		background-color: rgba(0, 105, 160, 1);
		background-color: var(--key-color);
		z-index: 1;
		transition: all 0.25s;
	}

	#gn1 {
		display: flex;
		justify-content: space-between;
		margin: 0;
		text-align: center;
		border-left: 1px solid rgba(255, 255, 255, 1);
	}

	.gn1 {
		display: block;
		border-right: 1px solid rgba(255, 255, 255, 1);
		background-color: rgba(0, 105, 160, 1);
		background-color: var(--key-color);
		transition: all 0.25s;
		margin: 0;
		padding: 0;
		flex-grow: 1;
	}

	.gn1::before {
		content: "";
		display: block;
		width: 23%;
		height: 23%;
		position: absolute;
		top: 20%;
		left: 37%;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}

/*	.gn1:nth-of-type(1)::before {
		background-image: url("../img/common/ico_1.webp");
	}
*/
	.gn1:nth-of-type(2)::before {
		background-image: url("../img/common/ico_2.webp");
	}

	.gn1:nth-of-type(3)::before {
		background-image: url("../img/common/ico_3.webp");
	}

	.gn1:nth-of-type(4)::before {
		background-image: url("../img/common/ico_4.webp");
	}

	.gn1:nth-of-type(5)::before {
		background-image: url("../img/common/ico_5.webp");
	}

	.gn1:nth-of-type(6)::before {
		background-image: url("../img/common/ico_6.webp");
	}

	.gn1:nth-of-type(7)::before {
		background-image: url("../img/common/ico_7.webp");
	}

	.gn1:nth-of-type(8)::before {
		background-image: url("../img/common/ico_10.webp");
	}

	.gn1>a {
		display: none;
		width: 100%;
		height: 100%;
		padding: 3em 0.25em 1.0em 0.25em;
		color: rgba(255, 255, 255, 1);
		text-decoration: none;
		font-size: 80%;
		letter-spacing: 0.1em;
	}

	.gn1>a:hover {
		background-color: rgba(0, 0, 0, 0.15);
		text-decoration: underline;
		text-decoration: none;
	}

	.gn1:hover {
		z-index: 2;
	}

	.gn2 {
		position: absolute;
		top: 100%;
		margin: 0;
		padding: 1em 1em 1em 2em;
		background-color: rgba(0, 74, 112, 1);
		background-color: var(--nav-color);
		font-size: 90%;
		text-align: left;
		white-space: nowrap;
		box-shadow: 0 8px 8px 4px rgba(0, 0, 0, 0.4);
		border-radius: 6px;
		transform: translateY(0.5em);
		display: none;
	}

	.gn2::before {
		content: "▲";
		font-size: 20px;
		display: block;
		position: absolute;
		left: 2.5em;
		top: -0.9em;
		transform: translateX(-50%) scaleX(1.25);
		color: rgba(0, 74, 112, 1);
		color: var(--nav-color);
		width: 4em;
		text-align: center;
	}

	.gn1:hover .gn2 {
		display: block;
	}

	.gn2 li {
		margin: 0;
	}

	#gn li.gn1:nth-of-type(n + 5) .gn2 {
		right: 0;
	}

	#gn li.gn1:nth-of-type(n + 5) .gn2::before {
		left: inherit;
		right: -1.5em;
	}

	.gn2>li {
		list-style-type: disclosure-closed;
		color: rgb(255, 255, 255);
	}

	.gn2>li~li {
		border-top: 1px solid rgba(255, 255, 255, 0.5);
	}

	.gn2 a,
	.gn2 span {
		display: block;
		color: rgba(255, 255, 255, 1);
		text-decoration: none;
	}

	.gn1 .small {
		display: inline-block;
		font-size: 80%;
	}

	.gn2>li>a,
	.gn2>li>span {
		padding: 0.5em 0.5em;
		font-size: 90%;
		white-space: nowrap;
	}

	.gn2 a:hover {
		background-color: rgba(0, 0, 0, 0.5);
		text-decoration: underline;
		text-decoration: none;
	}

	.gn3 {
		font-size: 90%;
		list-style-type: disc;
	}

	.gn3 li {
		padding: 0;
	}

	.gn3>li>a {
		padding: 0.25em 0em;
		font-size: 90%;
		letter-spacing: 0.1em;
	}

	#navclose {
		display: none;
	}
}

#gn a[href$=".pdf"],
#gn a[target$="_blank"] {
	background-size: auto 1em;
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 1.5em;
	margin-right: 0.5em;
	background-image: url("../img/common/ico_pdf_red.webp");
}

#gn a[target$="_blank"] {
	background-image: url("../img/common/ico_link_wh.webp");
}

#gn a[href$=".pdf"] {
	background-image: url("../img/common/ico_pdf_red.webp");
}

main {
	padding: 0;
}

#menu {
	border-top: 1px solid rgba(0, 0, 0, 0.15);
}

#menu .wfix {
	display: flex;
	gap: 1.5em;
	margin: 0 auto;
}

#menu .menu_category {
	background-color: rgb(255, 255, 255);
	display: flex;
	flex-direction: column;
}

#menu .menu_category h2 {
	background-color: rgba(0, 105, 160, 1);
	background-color: var(--key-color);
	background-image: url("../img/common/ico_8.webp");
	background-repeat: no-repeat;
	background-position: 0.75em 45%;
	background-size: auto 0.9em;
	padding: 0.75em 0.75em 0.75em 2.5em;
	color: rgba(255, 255, 255, 1);
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#menu .menu_category .oc {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.5em;
	height: 1.5em;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.5);
	background-color: rgba(255, 255, 255, 0.251);
	color: inherit;
	font-size: 100%;
	font-weight: bold;
	line-height: 1;
	opacity: 0.75;
	cursor: pointer;
}

#menu .menu_category .oc:hover {
	opacity: 1;
}

#menu .menu_category .oc:before {
	content: "＋";
}

#menu .menu_category .oc:after {
	content: "－";
}

.oc.o::before {
	display: none;
}

.oc.c::after {
	display: none;
}


#menu #menu_toyogawa h2,
#menu #menu_toyogawa li::before {
	background-color: rgb(100, 65, 107);
}

#menu #menu_yahagigawa h2,
#menu #menu_yahagigawa li::before {
	background-color: rgb(66, 94, 56);
}

#menu .menu_category .menu_detail {
	padding: 1.5em;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 1em;
	border: 1px solid rgba(0, 0, 0, 0.15);
}

#menu .menu_detail h3 {
	font-weight: normal;
	font-size: 90%;
	letter-spacing: 0.15em;
	padding: 0.5em 0.5em;
	background-color: #deedf5;
	background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.075) 2px, rgba(0, 0, 0, 0.075) 0, rgba(255, 255, 255, 0) 4px);
}

#menu .menu_detail ul {
	font-size: 95%;
	margin: 0.5em 0 0.5em 0;
}

#menu .menu_detail li {
	list-style-type: none;
}

#menu .menu_detail li::before {
	content: "";
	display: inline-block;
	border-radius: 30px;
	background-color: rgba(0, 105, 160, 1);
	background-color: var(--key-color);
	aspect-ratio: 1;
	height: 0.9em;
	margin-right: 0.5em;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 40 50'><polygon points='40,25 0,0 0,50' fill='rgb(255,255,255)' /></svg>");
	background-repeat: no-repeat;
	background-position: 60% center;
	background-size: auto 55%;
}

.menu_detail a {
	text-decoration: none;
}

.menu_detail a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 799px) {
	#menu {
		border-top: 1px solid rgba(0, 0, 0, 0.25);
		background-color: rgba(230, 230, 230, 1);
		padding: 3vw 0;
	}

	#menu .wfix {
		flex-direction: column;
	}

	#menu .menu_category .menu_detail {
		display: none;
	}
}

@media screen and (min-width: 800px) {
	#menu {
		padding: 3em 0;
	}

	#menu .wfix {
		justify-content: space-between;
		align-content: stretch;
		flex-direction: row-reverse;
		margin: 0 auto;
	}

	#menu .menu_category {
		width: calc((100% - 1.5em) / 2);
	}
}

/*--------------*/
aside {
	padding: 0;
}

/*--------------*/
footer {
	position: relative;
	background-color: rgba(197, 211, 228, 1);
}

footer a {
	color: inherit;
	text-decoration: none;
}

footer a:hover {
	text-decoration: underline;
}

#author {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4em 2em;
	padding: 3em 0 3em 0;
}

#author_name {
	max-width: 300px;
	margin: 0;
	padding: 0;
}

#author_address {
	font-style: normal;
	margin-top: 0.5em;
	padding-left: 1em;
}

#author_map {
	display: inline-block;
	transform: translateY(-0.25em);
}

#author_map a {
	text-decoration: none;
	padding: 0 0.5em;
}

#author_map img {
	height: 1.5em;
}

.zip {
	font-size: 85%;
}

#author_office {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	gap: 1em 4vw;
	padding: 0;
}

#author_office p:nth-of-type(1) {
	text-align: center;
	margin: 0;
	font-size: 90%;
}

#author_office p:nth-of-type(1) a {
	padding: 0.5em 1em;
	text-align: center;
	background-color: rgba(0, 105, 160, 1.00);
	color: rgba(255, 255, 255, 1.00);
	border-radius: 3px;
	text-decoration: none;
	display: flex;
	gap: 0.25em;
	justify-content: space-between;
	align-items: center;
	white-space: nowrap;
}

#author_office p:nth-of-type(1) a:hover {
	background-color: rgba(0, 0, 0, 1.00);
	color: rgba(255, 255, 255, 1.00);
}

#author_office p:nth-of-type(1) a::before {
	content: "▲";
	font-size: 60%;
	transform: rotate(90deg);
	width: fit-content;
	height: 1em;
}

#author_office ul {
	text-align: left;
	margin: 0;
	font-size: 95%;
}

#author_office ul li {
	padding: 0.2em 0.75em;
}

#author_office ul li:nth-child(2n) {
	background-color: rgba(0, 0, 0, 0.05);
}

#author_office ul li::before {
	content: "▲";
	font-size: 60%;
	transform: rotate(90deg);
	width: fit-content;
	height: 1em;
}

#author_office li {
	display: flex;
	gap: 0.25em;
	justify-content: space-between;
	align-items: center;
}

#author_office li .branchs {
	display: flex;
	gap: 0 4vw;
	justify-content: space-between;
	flex-grow: 1;
	white-space: nowrap;
}

#author_office li .branchs .branch_name {
	letter-spacing: 0.1em;
}

#author_office li .branch_tel .telfax_number {
	font-size: 105%;
}

.tel_label {
	font-size: 70%;
	letter-spacing: 0.075em;
}

.division_number {
	letter-spacing: 0;
	font-weight: bold;
	font-size: 120%;
}

#author_main {
	text-align: center;
}

#author_address {
	padding: 0;
}

#author_address ul {
	text-align: left;
}

#author_main .tel {
	letter-spacing: 0px;
}

#author_main .tel>span {
	display: inline-block;
}

#author_main .telfax_number {
	font-size: 130%;
	transform: translateY(2px);
}

#footer_rivers_links {
	width: 100%;
	height: 200px;
	overflow: hidden;
	border-radius: 8px;
}

#footer_rivers_links::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	margin: auto;
	background-image: url("../img/common/footer_visual.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#footer_rivers_links ul {
	display: flex;
	justify-content: center;
	gap: 10%;
	align-items: center;
	width: 100%;
	margin: auto;
	font-size: 120%;
	line-height: 1.4;
	list-style-type: none;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

@media screen and (max-width: 799px) {
	#footer_rivers_links {
		height: 15vw;
	}

	#footer_rivers_links::before {
		height: 50vw;
	}

	#footer_rivers_links ul {
		justify-content: space-around;
		font-size: 100%;
	}
}

#footer_rivers_links li a {
	display: inline-block;
	min-width: 12vw;
	padding: 1em;
	text-decoration: none;
	color: rgba(255, 255, 255, 1.00);
	text-align: center;
	white-space: nowrap;
}

#footer_rivers_links li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 799px) {
	footer .wfix {
		width: 90%;
	}

	#author_name {
		display: block;
		text-align: center;
	}

	#author_name>* {
		display: inline-block;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		width: 70%;
	}

	#name_en {
		display: block;
		margin-top: 1em;
		letter-spacing: 0.5em;
		width: auto;
	}

	#author_contact {
		text-align: center;
	}

	#author_ditail {
		flex-direction: column;
		gap: 1em;
	}

	#author_telfax {
		font-size: 90%;
		justify-content: center;
	}

	#author_telfax>* {
		display: block;
		margin-right: 0;
	}

	.telfax_number {
		font-size: 180%;
	}
}

#division ul {
	list-style-type: none;
	margin-left: 0;
}

#division li {
	padding: 0.5em 1em;
	border-radius: 4px;
}

#division li:nth-child(2n - 1) {
	background-color: rgba(0, 0, 0, 0.07);
}

@media screen and (max-width: 999px) {
	#author {
		flex-direction: column;
		text-align: center;
		align-items: center;
		gap: 2em;
	}

	#author_office {
		flex-direction: column;
	}
}

#fn {
	padding: 2em 0;
	font-size: 90%;
	margin-top: 2em;
}

#fn ul {
	list-style-type: disclosure-closed;
	margin-bottom: 0;
}

@media screen and (max-width: 799px) {
	#fn ul {
		margin-right: 1em;
	}
}

@media screen and (min-width: 800px) {
	#fn ul {
		display: flex;
		gap: 0 2.5em;
		justify-content: center;
		white-space: nowrap;
		flex-wrap: wrap;
	}

	#fn li {
		margin: 0;
	}
}

#copyright {
	text-align: center;
	font-size: 60%;
	letter-spacing: 0.25em;
	padding: 2em;
	text-shadow: inherit;
	color: rgba(255, 255, 255, 0.75);
	background-color: rgba(0, 105, 160, 1);
	background-color: rgba(15, 15, 15, 1);
}

#up {
	position: fixed;
	display: block;
	bottom: 5px;
	right: 10px;
	z-index: 100;
	width: 30px;
	height: 30px;
	background-color: rgba(0, 105, 160, 1);
	background-color: var(--key-color);
	opacity: 0.5;
	cursor: pointer;
	transition: 0.25s ease-out;
	border-radius: 0px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 40 50'><polygon points='40,25 0,0 0,50' fill='rgb(255,255,255)' /></svg>");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 40% auto;
	transform: rotate(-90deg);
	text-indent: -999px;
	overflow: hidden;
}

#up a {
	display: block;
	padding: 0.5em;
	opacity: 0.75;
}

#up a img {
	vertical-align: baseline;
}

#up:hover,
#up a:hover {
	opacity: 1;
}

#up.show {
	bottom: 10px;
}

#up.hide {
	bottom: -40px;
}

/*-------*/
#author_address .zip {
	padding-left: 0 !important;
}

#author_address ul .zip {
	padding-left: 3.0em !important;
}

.author_ditail>.division_unit {
	display: flex;
	margin: 2em 0;
	justify-content: center;
	gap: 2em;
	font-weight: bold;
	margin: 3em 0;
}

#division h3 {
	text-align: center;
	margin-bottom: 3em;
}

#division br {
	display: none;
}

.b_less{
border:none;
}
.b_less td{
border:none;
}



.sub_rayout_left {
font-size: clamp(16px, 2.5vw, 32px);
}

