@charset "utf-8";
/* CSS Document */
/*=================
base
=================*/

html,
body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	font-family: "UDDigiKyoLatin Regular", "UDDigiKyokasho R", sans-serif;
	line-height: 1.8;
	color: #333;
}

/*=================
common layout
=================*/
#wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

h1.main-title {
	font-size: 2em;
	line-height: 1;
}

h1.sub-title {
	font-size: 1em;
}

h2 {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	font-size: 1.5em;
	line-height: 1.5;
	margin-bottom: 1em;
	border-bottom: 4px solid #66bdc6;
}

h3 {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	font-size: 1.25em;
	line-height: 1.5;
	margin: 1em 0 .5em;
	padding: 0 .25em;
	border-bottom: 2px solid #66bdc6;
}

h3.section-title {
	color: #fff;
	background-color: #043491;
}

h4 {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	font-size: 1.1em;
	line-height: 1.5;
	display: inline-block;
	margin: 1em 0 .5em;
	border-bottom: 1px dotted #333;
}

h5 {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	font-size: 1em;
	display: inline-block;
	margin: 1em 0 .5em;
}

img {
	vertical-align: bottom;
}

*:focus {
	outline: none;
}

a {
	transition: all .3s ease;
	text-decoration: none;
	color: #043491;
}


.text-link {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	color: #043491;
}

/*=================
header
=================*/
header {
	border-bottom: 1px solid #043491;
	-webkit-box-shadow: rgb(0 0 0 / 11%) 0 1px 3px, rgb(0 0 0 / 24%) 0 1px 3px;
	-moz-box-shadow: rgb(0 0 0 / 11%) 0 1px 3px, rgb(0 0 0 / 24%) 0 1px 3px;
	box-shadow: rgb(0 0 0 / 11%) 0 1px 3px, rgb(0 0 0 / 24%) 0 1px 3px;
}

.header-area {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 60px;
}

.img-logo {
	position: absolute;
	top: 50%;
	left: 0;
	height: 34px;
	margin-left: 1em;
	transform: translateY(-50%);
}

.img-grlogo {
	width: 160px;
}

/*=================
footer
=================*/
footer {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	height: 140px;
	margin-top: auto;
	color: #fff;
	background-color: #043491;
}

.box-logo-area {
	margin: 0;
}

.box-copyright-text-area {
	font-size: .75em;
	margin: .5em 0;
}

/*=================
エリア
=================*/
main {
	margin: 0 auto;
}

section {
	width: 100%;
	max-width: 980px;
	margin: 3em auto;
}

section:first-child {
	margin-top: 1.5em;
}

.box-slide-panel-area {
	margin: 1em 0;
}

.box-slide-panel {
	margin: 1em 0;
	background-color: #efefff;
}

.no-disp {
	display: none;
}

.container {
	padding: .5em 1em;
}

button {
	margin: 0;
	border: 1px solid #ccc;
	border-radius: 5px;
	background-color: #fff;

	-webkit-appearance: none;
}

button.btn-slide {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	font-size: 1em;
	position: relative;
	margin: 0 auto;
	padding: .25em 2em .25em 1em;
	padding-left: 20px;
	text-decoration: none;
	color: #333;
}

.btn-slide::after {
	position: absolute;
	top: 50%;
	right: 1em;
	display: inline-block;
	width: 30px;
	height: 30px;
	content: "";
	transform: translateY(-50%);
	background: url(../images/isactive.svg) no-repeat;
	background-size: contain;
}

.is-active::after {
	position: absolute;
	top: 50%;
	right: 1em;
	display: inline-block;
	width: 30px;
	height: 30px;
	content: "";
	transform: translateY(-50%);
	background: url(../images/inactive.svg) no-repeat;
	background-size: contain;
}

/************
text
************/
p {
	margin-left: 1em;
	letter-spacing: .05em;
}

p.text-note {
	font-size: .85em;
	margin-left: 1.85em;
	text-indent: -.85em;
}

p.text-note:before {
	content: "※";
}

.text-title {
	margin: 1em 0 .5em;
}

.text-list {
	margin-left: 1em;
	text-indent: -1em;
}

.text-img-caption {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	font-size: 1em;
	margin-bottom: 1em;
}

.text-color-b {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	color: #043491;
}

.text-color-r {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	color: #ff4b00;
}

/************
image
************/
.box-image-area {
	margin: .5em 0 0 1em;
}

.img-base {
	width: 100%;
}

.img-large {
	width: 80%;
	height: auto;
}

.img-middle {
	width: 50%;
	height: auto;
}

.img-small {
	width: 35%;
	height: auto;
}

.img-xsmall {
	width: 18%;
	height: auto;
}

/*====================
 margin
====================*/
.top-marign-thin {
	margin-top: .75em;
}

.head-margin {
	margin-top: 1.5em;
}

/*====================
 expArea
====================*/
.box-exp-area {
	padding: 1em 0;
}

.exp-sp-area {
	display: none;
}


/*====================
 pagetop
====================*/
.pagetop {
	line-height: normal;
	position: fixed;
	right: 1em;
	bottom: 1em;
	display: none;
	width: 40px;
	height: 40px;
	border-radius: 5px;
	background: #043491;
}

.pagetop a {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	text-decoration: none;
}

.pagetop a::after {
	font-family: "UDDigiKyoLatin Bold", "UDDigiKyokasho B", sans-serif;
	font-size: 24px;
	position: absolute;
	top: 50%;
	left: 50%;
	content: "▲";
	transform: translateX(-50%) translateY(-50%);
	color: #fff;
}

.box-text-link-area-top {
	margin-right: 1em;
	text-align: right;
}

@media screen and (max-width: 520px) {
	main {
		padding: 0 1em;
	}

	p {
		margin-left: 0;
	}

	p.text-note {
		margin-left: .85em;
	}

	.box-image-area {
		margin: .75em 0 1.5em;
	}

	.img-large,
	.img-middle {
		width: 100%;
	}

	.box-qa-slide-panel-area .btn-slide {
		padding-right: 3.5em;
	}

	.box-exp-area {
		flex-direction: column;
	}

	.exp-pc-arae {
		display: none;
	}

	.exp-sp-area {
		display: block;
	}
}

main {
	padding: 0 1em;
}

.box-frame-type-a,
.box-frame-type-b,
.box-frame-type-c {
	margin: 1em 0;
	padding: .5em 1em;
}

.box-frame-type-a {
	border: 2px solid #66bdc6;
}

.box-frame-type-b {
	background-color: #ccc;
}

.box-frame-type-c {
	border: 4px #ff4b00 double;
}

ul.page-link-anchor {
	margin: 1em 0;
}

ul.page-link-anchor li {
	position: relative;
	margin: 4px 0;
	padding: 0;
	list-style: none;
	border-bottom: 3px solid #66bdc6;
	border-left: 10px solid #66bdc6;
	background-color: #beceed;
}

ul.page-link-anchor li a {
	color: #333;
	display: block;
	padding: 0.5em 1.75em 0.25em 0.75em;
}

ul.page-link-anchor li::after {
	position: absolute;
	top: 44%;
	right: 1em;
	display: inline-block;
	width: .65em;
	height: .65em;
	margin: 0;
	content: "";
	transform: rotate(45deg) translateY(-50%);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

ul.list-normal {
	margin: .5em 1em;
	padding: 0 0 0 1.5em;
	list-style: disc;
	text-indent: 0;
}

/* QA用スライドパネル */
.box-qa-slide-panel-area {
	margin: 1em 0;
}

.box-qa-slide-panel-area .btn-slide {
	width: 100%;
	margin: .5em 0 0 0;
	padding: .5em 3.5em .5em 1.5em;
	text-align: left;
	text-indent: 0;
}

.box-qa-slide-panel-area .box-slide-panel {
	margin: 0;
	background: transparent;
}

.box-qa-slide-panel-area .txt-qa-a {
	margin-left: 0;
	padding-left: 2em;
	text-indent: -2em;
}

.box-qa-slide-panel-area .txt-qa {
	margin-left: 0;
	padding-left: 2em;
	text-indent: 0;
}
