@charset "UTF-8";
/* CSS Document */

html {
    scroll-behavior: smooth;}

.header-box{
	height: 6.25rem;
}
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.625rem 1.25rem;
	background-color: #3399CC;
	box-shadow: 0 0.125rem 0.3125rem rgba(0,0,0,0.1);
}
body {
	background-color: #f8fbff;
	font-family: 'Yu Gothic', sans-serif;
	color: #333;
	margin: 0;
	padding: 0;
	height: auto;
}
.logo img {
	height: 2.5rem;
}
.main-nav a {
	display: block;
	color: #ffffff;
	list-style-type: none;  /* ★2:リストの先頭記号を消す */
	text-decoration: none;     /* メニュー項目の装飾(下線を消す) */
	padding: 0.625rem 0.9375rem; /* 内側の余白で高さを調整 */
	white-space: nowrap;
	width: 100%;
	box-sizing: border-box;
	border: none;
}
.main-nav a:hover {
	color: #ffffff;
	font-weight: bold;/* display や line-height を変更しない */
}
.main-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.25rem;
	text-decoration: none;
}
.main-nav li {
	color: #ffffff;
	position: relative;
	min-width: 6.25rem;
	margin: 0;
	padding: 0;
}

.main-nav .submenu {
	display: block; /* display: none をやめて、opacityで制御 */
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 100%;
	left: 0;
	background-color: #60b4df;
	box-shadow: 0 0.125rem 0.3125rem rgba(0,0,0,0.1);
	padding: 0.625rem 0;
	min-width: 9.375rem;
	z-index: 1000;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}
.submenu li a {
	display: block;
	padding: 0.5rem 1rem;
	text-decoration: none;
	white-space: nowrap;
}

.main-nav li:hover > .submenu {
	opacity: 1;
	visibility: visible;
}

.submenu li {
	margin: 0;
	padding: 0;
	white-space: nowrap;
}
.submenu .submenu {
	top: 0;
	right: 100%;
}
.main-nav li:hover .submenu .submenu {
	right: auto;
	left: 100%;
	background-color: #6bc0eb;
}

@media (max-width: 1200px) {
.submenu .submenu {
		left: auto;
		right: 100%;
	}
}

main p{
	font-size: 1rem;
	line-height: 200%;
	letter-spacing: 50;
}

.site-footer {
	background-color: #3399CC;
	color: white;
	padding: 2.5rem 1.25rem;
	width: 100%;
	box-sizing: border-box;
}

.footer-content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
}

.footer-image {
	order: 1;
	flex: 1.5;
	min-width: 20%;
}

.footer-image img {
	max-width: 40%;
	height: auto;
}

.footer-menu {
	order: 2;
	flex: 1.5;
	display: flex;
	justify-content: flex-end;
	gap: 2.5rem;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-menu ul,.footer-menu li {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-menu > ul,.footer-menu > li {
	font-size: 1.125rem;
	font-weight: bold;
}

.business-sections {
	display: flex;
	gap: 2.5rem;
	flex-wrap: wrap;
	margin-top: 0.625rem; 
}

.business-sections > ul {
	font-size: 1rem;
	font-weight: bold;
}

.business-sections ul li,.footer-menu ul li {
	font-size: 0.875rem;
	font-weight: normal;
}

.footer-menu a {
	color: white;
	text-decoration: none;
}

.footer-menu a:hover {
	text-decoration: underline;
}

.business-sections ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-menu > li {
	font-size: 1.125rem;
	font-weight: bold;
}

.business-sections ul li {
	font-size: 0.875rem;
	font-weight: normal;
}

.footer-menu li > ul,
.footer-menu ul > ul {
	margin-top: 0.625rem;
}

.pagetop {
    height: 3.125rem;
    width: 3.125rem;
    position: fixed;
    right: 1.875rem;
    bottom: 1.875rem;
    background: #fff;
    border: solid 0.125rem #3399CC;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 0.625rem;
    width: 0.625rem;
    border-top: 0.3rem solid #3399CC;
    border-right: 0.3rem solid #3399CC;
    transform: translateY(20%) rotate(-45deg);
}

.pagetop {
    box-shadow: 0 0.25rem 0.375rem rgb(0 0 0 / 30%);
}