@charset "utf-8";
/******▼reset▼******/
img {
	-ms-interpolation-mode: bicubic;
}
.inline-text {
	display: inline-block;
}
.red-text {
	color: #FF0000;
}
a[target="_blank"] span {
	padding-right: 2em;
	background: url(../images/blank-icon.png) right 0.3em top 0 / 1em no-repeat;
}
a[href$=".pdf"] span {
	padding-right: 1.6em;
	background: url(../images/pdf-icon.png) right 0.3em top 0.1em / 1em no-repeat;
}
/******▼html・body・wrapper▼******/
html, body, #wrapper {
	position: relative;
}
html {
	background: url(../images/bg.png) center top / cover no-repeat;
}
body {
	color: #353535;
	font-family: "Helvetica Neue", "Helvetica", "Arial", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	-webkit-text-size-adjust: none;
}
/******▼title▼******/
#title {
	padding: 30px 15px 15px;
}
#title img {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	display: block;
	filter: drop-shadow(0 0 3px rgba(16,61,144,1));
}
@media screen and (max-width:880px){
	#title {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 10px 15px;
		position: sticky;
		top: 0;
		z-index: 9998;
		background-color: rgba(21,76,177,0.8);
	}
	#title a {
		width: calc(100% - 60px);
		max-width: 550px;
		display: block;
	}
}
/******▼sp-btn▼******/
#sp-btn {
	display: none;
}
@media screen and (max-width:880px){
	#sp-btn {
		position: relative;
		display: block;
		z-index: 9999;
		width: 44px;
		height: 44px;
		cursor: pointer;
		background-color: #FFFFFF;
		border-radius: 4px;
	}
	#sp-btn span {
		position: absolute;
		left: 10px;
		width: 24px;
		height: 2px;
		background-color: rgba(21,76,177,1);
		transition: all .4s;
	}
	#sp-btn span:nth-of-type(1) {
		top: 16px;
	}
	#sp-btn span:nth-of-type(2) {
		top: 21px;
	}
	#sp-btn span:nth-of-type(3) {
		top: 26px;
	}
	#sp-btn.active span:nth-of-type(1) {
		-webkit-transform: translateY(5px) rotate(-45deg);
		transform: translateY(5px) rotate(-45deg);
	}
	#sp-btn.active span:nth-of-type(2) {
		left: 50%;
		opacity: 0;
		-webkit-animation: active-menu-bar02 .8s forwards;
		animation: active-menu-bar02 .8s forwards;
	}
	@-webkit-keyframes active-menu-bar02 {
		100% {
			height: 0;
		}
	}
	@keyframes active-menu-bar02 {
		100% {
			height: 0;
		}
	}
	#sp-btn.active span:nth-of-type(3) {
		-webkit-transform: translateY(-5px) rotate(45deg);
		transform: translateY(-5px) rotate(45deg);
	}
}
/******▼main▼******/
#main {
	max-width: 1140px;
	margin: 0 auto;
	padding: 24px 15px;
	position: relative;
	display: flex;
	justify-content: space-between;
}
/******▼container▼******/
#container {
	width: calc(100% - 16.5em - 24px);
}
@media screen and (max-width:880px){
	#container {
		width: 100%;
	}
}
/******▼nav▼******/
#nav {
	width: 16.5em;
	position: relative;
}
@media screen and (max-width:880px){
	#nav {
		position: fixed;
		top: 64px;
		right: -18em;
		height: calc(100% - 64px);
		z-index: 9997;
		transition: all .4s;
		background-color: #FFFFFF;
		overflow-y: auto;
	}
	#nav.active {
		right: 0;
		box-shadow: 0 0 5px rgba(0,0,0,0.1);
	}
}
/******▼global-menu▼******/
#global-menu {
	position: sticky;
	top: 15px;
	background-color: #FFFFFF;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: 4px;
}
#global-menu li {
	list-style: none;
}
#global-menu li a {
	display: block;
	padding: 1em 2.5em 1em 1em;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	transition: all .4s;
	color: #212121;
	text-decoration: none;
	background: url(../images/arrow-icon01.png) right 1em top 1.2em / 1em no-repeat;
	position: relative;
}
#global-menu li a[target="_blank"] {
	background: url(../images/blank-icon.png) right 1em top 1.3em / 0.9em no-repeat;
}
#global-menu li a::before {
	content: "";
	width: 0;
	height: 3px;
	background-color: #ee8100;
	position: absolute;
	bottom: 0;
	left: 0;
	transition: all .4s;
}
#global-menu li:last-child a {
	border-bottom: 0;
}
#global-menu li a.active {
	background-color: rgba(21,76,177,1);
	color: #FFFFFF !important;
	background-image: url(../images/arrow-icon02.png);
}
@media (any-hover: hover) {
	#global-menu li a:hover {
		color: #ee8100;
	}
	#global-menu li a:hover::before {
		width: 100%;
	}
	#global-menu li a.active:hover::before {
		width: 0;
	}
}
@media screen and (max-width:880px){
	#global-menu {
		position: relative;
		top: 0;
		border-radius: 0;
	}
	#global-menu li:last-child a {
		border-bottom: 1px solid rgba(0,0,0,0.2);
	}
}
/******▼contents▼******/
.contents {
	min-height: 520px;
	padding: 24px;
	background-color: #FFFFFF;
	border-radius: 4px;
}
@media screen and (max-width:880px){
	.contents {
		padding: 15px;
	}
}
.contents.news {
	min-height: 0;
	padding-bottom: 0;
}
.contents p {
	margin-bottom: 1.5em;
	line-height: 1.7;
}
.contents p:last-child {
	margin-bottom: 0;
}
/******▼contents-title▼******/
.contents-title {
	position: relative;
	line-height: 1.4;
	font-size: clamp(1px, 6.3vw, 1.6em);
	padding: 24px 0 24px 1.5em;
	margin: -20px -24px 29px;
}
@media screen and (max-width:880px){
	.contents-title {
		margin: -11px -15px 20px;
	}
}
.contents-title::before {
	content: "";
	height: 1em;
	width: 5px;
	position: absolute;
	top: 50%;
	left: 0.7em;
	background-color: rgba(21,76,177,1);
	border-radius: 999px;
	transform: translateY(-50%);
}
.contents-title::after {
	content: "";
	height: 5px;
	width: calc(100% + 2px);
	position: absolute;
	top: 100%;
	left: -1px;
	background-color: rgba(0,0,0,0.1);
	box-shadow: 0 0 0 1px rgba(0,0,0,0.1) inset;
}
/******▼contents-sub-title▼******/
.contents-sub-title {
	color: rgba(21,76,177,1);
	line-height: 1.4;
	margin-bottom: 0.5em;
	display: flex;
	align-items: center;
	font-size: 1.3em;
}
.contents-sub-title::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background-color: rgba(21,76,177,0.5);
	display: block;
	margin-left: 0.7em;
}
/******▼news-list▼******/
#news-list {
	margin: -24px -24px 0;
	padding: 0;
}
@media screen and (max-width:880px){
	#news-list {
		margin: -15px -15px 0;
	}
}
#news-list li {
	list-style: none;
	position: relative;
}
#news-list .title {
	padding: 1.5em 1em 1.5em 10em;
	border-top: 1px solid rgba(0,0,0,0.2);
	display: block;
	transition: all .4s;
}
#news-list a.title {
	color: rgba(21,76,177,1);
}
#news-list li:first-child .title {
	border-top: 0;
}
@media (any-hover: hover) {
	#news-list a.title:hover {
		text-decoration: none;
		background-color: rgba(21,76,177,0.1);
	}
}
#news-list .date {
	position: absolute;
	top: 1.5em;
	left: 1em;
	font-weight: bold;
	color: #555555;
}
@media screen and (max-width:640px){
	#news-list .title {
		padding: 2.5em 1em 1em 1em;
	}
	#news-list .date {
		top: 1em;
	}
}
/******▼head▼******/
#head {
	position: relative;
	margin-bottom: 2em;
}
.head-img {
	overflow: hidden;
	border-radius: 4px;
}
.head-img img {
	display: block;
	width: 100%;
}
.head-text {
	overflow: hidden;
	border-radius: 4px 0 4px 0;
	padding: 1.5em 24px;
	background-color: #FFFFFF;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	max-width: 410px;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	transition: all .4s;
}
.head-text img {
	display: block;
	width: 100%;
	max-width: 440px;
	margin: 0 auto;
}
@media screen and (max-width:1200px){
	.head-text {
		padding: 1.5em 15px;
		max-width: 370px;
	}
}
@media screen and (max-width:1050px){
	.head-img {
		margin-bottom: -1.5em;
	}
	.head-text {
		max-width: inherit;
		position: relative;
		margin: 0 15px;
		top: inherit;
		left: inherit;
		padding: 2em 24px;
		border-radius: 4px;
	}
}
/******▼greeting▼******/
.greeting-name {
	text-align: right;
}
.greeting-name span {
	font-size: 0.85em;
	margin-right: -0.5em;
}
/******▼link-btn▼******/
.link-btn {
	display: block;
	text-decoration: none;
	text-align: center;
	border: 3px solid #929292;
	background-color: #929292;
	padding: 1em 0;
	border-radius: 4px;
	font-size: clamp(1px, 6.3vw, 1.3em);
	margin: 1.5em auto 0;
	font-weight: bold;
	max-width: 15em;
	color: #FFFFFF;
	line-height: 1.4;
}
.link-btn.active {
	border-color: 3px solid #ee8100;
	background-color: #ee8100;
}
@media (any-hover: hover) {
	.link-btn.active:hover {
		background-color: #FFFFFF;
		color: #ee8100;
	}
}
/******▼normal-table▼******/
.normal-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 2em 0;
}
.normal-table td {
	padding: 10px 15px;
	display: block;
	width: 100%;
	border: 1px solid rgba(0,0,0,0.2);
	margin-bottom: 10px;
	line-height: 1.7;
}
.normal-table td.bg {
	background-color: rgba(21,76,177,0.1);
	border-bottom: 0;
	margin-bottom: 0;
	font-weight: 600;
}
.normal-table h2 {
	font-size: 1em;
	color: rgba(21,76,177,1);
}
.normal-table dl {
	display: flex;
	flex-wrap: wrap;
}
.normal-table dt {
	width: 3em;
	font-weight: 600;
}
.normal-table dd {
	width: calc(100% - 3em);
}
@media screen and (min-width:800px){
	.normal-table {
		border-left: 1px solid rgba(0,0,0,0.2);
		border-top: 1px solid rgba(0,0,0,0.2);
	}
	.normal-table td {
		padding: 10px 1.0rem;
		display: table-cell;
		width: calc(100% - 9em);
		border: 0;
		border-right: 1px solid rgba(0,0,0,0.2);
		border-bottom: 1px solid rgba(0,0,0,0.2);
	}
	.normal-table td.bg {
		padding: 10px 1.0rem;
		width: 9em;
		border-bottom: 1px solid rgba(0,0,0,0.2);
	}
}
#footer {
	padding: 2em 15px 1.5em;
	position: relative;
	background-color: rgba(21,76,177,0.8);
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 0.9em;
}
.footer-title {
	font-weight: bold;
	font-size: 1.15em;
	margin-bottom: 0.5em;
}
.footer-text {
	margin-bottom: 1.5em;
}
/************************
.watch-text
************************/
.watch-text {
	padding-left: 2em;
	margin-bottom: 2em;
	position: relative;
}
.watch-text .number {
	position: absolute;
	top: 0;
	left: 0;
}
/************************
circle-list
************************/
.circle-list {
	margin: 1.5rem 0;
	padding: 0;
	line-height: 1.7;
}
.circle-list li {
	position: relative;
	padding-left: 1.4em;
	margin: 0.2rem 0;
	list-style: none;
}
.circle-list li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 0.5em;
	height: 0.5em;
	background-color: rgba(21,76,177,1);
	border-radius: 50%;
}
/************************
.point-list
************************/
.point-list {
	margin: 1.5rem 0;
	padding: 0;
	line-height: 1.7;
}
.point-list.top-minus {
	margin-top: -1rem !important;
}
.point-list li {
	position: relative;
	padding-left: 1.5em;
	margin: 0.2rem 0;
	list-style: none;
}
.point-list li .point {
	position: absolute;
	top: 0;
	left: 0;
}
.point-list .point-list,
.point-list .circle-list {
	margin: 0;
}