@charset "UTF-8";
/* CSS Document */
.top header {
	background: url(../img/fv_img01.jpg) no-repeat center / cover;
	height: 100vh;
	max-height: 1000px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 5% 0;
}
.top header .title-site {
	color: #fff;
	font-size: 8.8rem;
	font-weight: bold;
	text-shadow: 0px 0px 8px rgba(62, 0, 94, 0.5);
	line-height: 1.3;
}
header .title-site span {
	display: block;
	font-size: .6em;
}
body:not(.top) header {
background:  linear-gradient(90deg, rgba(var(--light-purple-rgb), 1) 0%, rgba(var(--light-purple-rgb),.5) 100%);
}
body:not(.top) header .title-site a {
	color: #fff;
	text-shadow: 0px 0px 6px rgba(62, 0, 94, 0.5);
	font-size: 2.4rem;
	font-weight: bold;
	display: inline-flex;
	align-items: center;
	padding: .5em 0;
}
body:not(.top) header .title-site span {
	margin-left: 1em;
}
@media (min-width: 768px) and (max-width: 1920px) {
.top header .title-site {
	font-size: calc(5.6rem + ((1vw - (960 / 100 * 0.1rem)) * 100 * (88 - 56) / (1920 - 960)));
}
}
.top header .link-lang {
	position: absolute;
	right: 2vw;
	top: 1em;
}
.top header .link-lang a {
	display: block;
	padding: .5em 2em;
	background: rgb(0, 0, 0, .5);
	color: #fff;
}
.top header .link-lang a:hover {
	background: #fff;
	color: var(--purple);
}
.top header section > section {
	background: rgb(255, 255, 255, .65);
	box-shadow: 0px 0px 16px rgba(62, 0, 94, 0.5);
	color: var(--durk-purple);
	padding: 2vw;
	margin-top: 3em !important;
	line-height: 1.8;
	backdrop-filter: blur(6px);
}
.top header h2 {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: .5em;
}
.wap-bread {
	background: #fff;
	position: relative;
	padding: .5em 0;
}
.wap-bread::after {
	content: '';
	background: rgb(var(--light-purple-rgb), .2);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.wap-bread ul {
	display: flex;
	font-size: .85em;
	position: relative;
	z-index: 1;
}
.wap-bread ul li {
	position: relative;
}
.wap-bread ul li.icon-link::after {
	font-size: .75em;
	margin-left: 1em;
	margin-right: .75em;
}
.wap-bread a {
	color: var(--durk-purple);
	text-decoration: underline;
}
.wap-bread a:hover {
	color: var(--blue);
}
footer {
	background: var(--durk-purple);
	color: #fff;
	padding: 4em 4vw;
	text-align: center;
}
footer .nav-footer {
	margin-bottom: 2em;
}
footer .nav-footer a:hover {
	text-decoration: underline;
}
footer .copy {
	font-size: .8em;
}
main > section h1 {
	font-weight: bold;
	text-align: center;
}
.con-inner {
	max-width: 1500px;
	width: calc(100% - 4vw);
	margin: 0 auto;
}
@media only screen and (max-width: 767px) {
.top	header {
		background: url(../img/fv_img01_sp.jpg) no-repeat center / cover;
	}
.top header .title-site {
	font-size: 12vw;
}
.top header .title-site span {
		margin-top: .5em;
	}
.top header h2 {
	font-size: 2rem;
	}
.top header section > section {
	padding: 1em;
	margin: 3em 1em 0;
	}
.top header section > section p {
	text-align: left;
	}
	body:not(.top) header .title-site {
		text-align: center;
	}
	body:not(.top) header .title-site a {
		display: inline-block;
		text-align: center;
	}
	.con-inner {
	width: calc(100% - 2em);
	}
}

.btn-pagetop {
  z-index: 999;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  display: none;
}
.btn-pagetop a {
  height: 100%;
  width: 100%;
  display: block;
  position: relative;
  background-color: #666;
}
.btn-pagetop a::before {
  content: '';
  width: 15px;
  height: 15px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  transform: rotate(-45deg);
  top: calc((100% - 8px) / 2);
  left: calc((100% - 15px) / 2);
}
.btn-pagetop a:hover {
  background-color: var(--blue);
}
.text-bold {
	font-weight: bold;
}
.text-left {
  text-align: left; 
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right; 
}
.font-s,
.news-comment,
.news-others {
	font-size: 1.4rem;
}

@media only screen and (min-width: 768px) {
	.sp-only {
		display: none;
	}
}
@media only screen and (max-width: 767px) {
.top header {
		padding: 120px 0 80px;
		height: inherit;
  }
	.con-inner {
	width: calc(100% - 2em);
	}
	.pc-only {
		display: none;
	}
	.btn-pagetop {
		width: 50px;
		height: 50px;
	}
	.sp-scroll {
		overflow-x: scroll;
	}
.font-s,
.news-comment,
.news-others {
	font-size: 1.3rem;
}
}

.wrap-news {
	padding: 80px 0 120px;
	position: relative;
	overflow: hidden;
}
.top .wrap-news {
	padding: 120px 0;
}
.wrap-news::before {
	content: '';
	background: linear-gradient(90deg, rgba(var(--light-purple-rgb), .3) 0%, rgba(var(--light-purple-rgb),.7) 100%);
	position: absolute;
	width: 100%;
	min-width: 2000px;
	height: 100%;
	object-fit: cover;
	clip-path: polygon(100% 100%, 0 100%, 0 100%, 100% 35%);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -2;
}
.wrap-news::after {
	content: '';
	background: linear-gradient(90deg, rgba(var(--purple-rgb), .6) 0%, rgba(var(--purple-rgb),.3) 100%);
	position: absolute;
	width: 100%;
	min-width: 2000px;
	height: 100%;
	object-fit: cover;
	clip-path: polygon(100% 100%, 0 100%, 0 0, 0 35%);
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	z-index: -1;
}
.wrap-news h1,
.wrap-program h1,
.wrap-form h1,
.wrap-links h1 {
	color: var(--blue);
	font-size: 1.4rem;
	width: 100%;
	line-height: 1;
}
.wrap-news h1 span,
.wrap-program h1 span,
.wrap-form h1 span,
.wrap-links h1 span {
	color: #333;
	font-size: 5.6rem;
	display: block;
	margin-bottom: .25em;
	position: relative;
}
.wrap-news h1 span::before,
.wrap-program h1 span::before,
.wrap-form h1 span::before,
.wrap-links h1 span::before {
	content: '';
	background: var(--light-purple);
	width: 5.5em;
	height: 4px;
	position: absolute;
	top: 50%;
	left: calc(50% - 2.75em);
	z-index: -2;
}
.wrap-program h1 span::before {
	width: 7em;
	left: calc(50% - 3.5em);
}
.wrap-form h1 span::before {
	width: 7em;
	left: calc(50% - 3.5em);
}
.wrap-news h1 span::after,
.wrap-program h1 span::after,
.wrap-form h1 span::after,
.wrap-links h1 span::after {
	content: '';
	background: #fff;
	width: 3.5em;
	height: 4px;
	position: absolute;
	top: 50%;
	left: calc(50% - 1.75em);
	z-index: -1;
}
.wrap-program h1 span::after {
	width: 5em;
	left: calc(50% - 2.5em);
}
.wrap-form h1 span::after {
	width: 5em;
	left: calc(50% - 2.5em);
}
.wrap-news ul:not(.wrap-pager) {
	background: #fff;
	padding: 2em 3em 3em;
	position: relative;
}
.wrap-news ul:not(.wrap-pager) li {
	border-bottom: 1px #999 dotted;
	display: flex;
	flex-wrap: wrap;
	padding: 1em 0;
}
.wrap-news ul:not(.wrap-pager) li .day {
	width: 7em;
}
.wrap-news ul:not(.wrap-pager) li > *:last-child {
	width: calc(100% - 7em);
}
.wrap-news ul:not(.wrap-pager) li a {
	color: var(--purple);
	text-decoration: underline;
}
.wrap-news ul:not(.wrap-pager) li a:hover {
	color: var(--blue);
}
.wrap-icon > span:not(.icon-new) {
	font-size: .85em;
	display: inline-block;
	line-height: 1;
	width: 6em;
	text-align: center;
	padding: .25em 0;
}
.wrap-icon > span:not(:last-child) {
	margin-right: .5em;
}
.wrap-icon .icon-new {
	font-weight: bold;
	color: var(--light-purple);
}
.wrap-icon .icon-info {
    background: rgba(var(--light-purple-rgb),.25);
}
.wrap-icon .icon-report {
    background: rgba(var(--blue-rgb),.25);
}
ul.wrap-pager  {
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 3em;
}
ul.wrap-pager li {
    margin: 0 .25em;
}
ul.wrap-pager li a {
	border: 1px solid #ccc;
	display: block;
	text-align: center;
	width: 2em;
	padding: .25em 0;
	text-decoration: none;
}
ul.wrap-pager li a:hover {
  color: #fff;
	background: var(--blue);
  border: 1px solid var(--blue);
}
ul.wrap-pager li.visited {
    color: #fff;
    font-weight: bold;
    background: var(--blue);
    border: 1px solid;
    text-align: center;
    width: 2em;
    padding: .25em 0;
}
@media only screen and (max-width: 767px) {
.wrap-news h1 span, 
.wrap-program h1 span, 
.wrap-form h1 span,
.wrap-links h1 span {
		font-size: 3.2rem;
	}
.wrap-news ul:not(.wrap-pager) {
	padding: 2em 1em;
}
	.wrap-news ul:not(.wrap-pager) li > * {
		width: 100% !important;
	}
}
.wrap-program {
	padding: 120px 0;
}
.wrap-program h2 {
	font-size: 4.8rem;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	margin: 1.5em auto 0;
	align-items: center;
}
.wrap-program h2 span {
	font-size: 2.2rem;
	background: var(--blue);
	border-radius: 2em;
	color: #fff;
	padding: .5em 0;
	width: 22em;
	text-align: center;
	margin-top: .25em;
}
.wrap-program h2.flow2 span {
	background: var(--purple);
}
.wrap-program .wrap-flow {
	background: rgb(var(--blue-rgb), .1);
	border-radius: 1em;
	padding: 3em;
	margin-top: -1.5em;
}
.wrap-program .wrap-flow.flow2 {
	background: rgb(var(--purple-rgb), .1);
}
.wrap-program .wrap-flow > div {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: auto;
	max-width: 1100px;
}
.wrap-program .wrap-flow figure {
	max-width: 320px;
}
.wrap-program .wrap-flow figcaption {
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	margin-top: .5em;
}
.wrap-program .wrap-flow p {
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	position: relative;
	width: 25%;
	min-width: 9em;
}
.wrap-program .wrap-flow.flow1 p {
	background: linear-gradient(90deg, rgba(var(--blue-rgb), 1) 0%, rgba(var(--purple-rgb),1) 100%);
	padding: 1em 0 1em 1em;
	margin: 0 80px 0 20px;
}
.wrap-program .wrap-flow.flow2 p {
	background: linear-gradient(90deg, rgba(var(--blue-rgb), 1) 0%, rgba(var(--purple-rgb),1) 100%);
	padding: 1em 1em 1em 0;
	margin: 0 20px 0 80px;
}
@media only screen and (min-width: 768px) {
.wrap-program .wrap-flow.flow1 p::after {
	content: '';
	width: 60px;
	height: 130%;
	top: -15%;
	right: -59px;
	background: var(--purple);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
}
.wrap-program .wrap-flow.flow2 p::after {
	content: '';
	width: 60px;
	height: 130%;
	top: -15%;
	left: -59px;
	background: var(--blue);
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	position: absolute;
}
}
@media only screen and (max-width: 767px) {
	.wrap-news::before,
	.wrap-news::after {
		min-width: 767px;
	}
	.wrap-program {
		padding-bottom: 0;
	}
	.wrap-program h2 {
		font-size: 3rem;
	}
	.wrap-program h2 span {
		font-size: 1.6rem;
		padding: .5em 1em;
		width: inherit;
	}
	.wrap-program .wrap-flow > div {
		flex-direction: column;
	}
	.wrap-program .wrap-flow figure {
    max-width: 200px;
}
	.wrap-program .wrap-flow.flow1 p {
	font-size: 2rem;
	background: linear-gradient(0deg, rgba(var(--purple-rgb), 1) 0%, rgba(var(--blue-rgb),1) 100%);
	margin: 20px 0 60px;
	padding: 1em 0 0;
	width: 10em;
	}
.wrap-program .wrap-flow.flow2 p {
	font-size: 2rem;
	background: linear-gradient(0deg, rgba(var(--purple-rgb), 1) 0%, rgba(var(--blue-rgb),1) 100%);
	margin: 60px 0 20px;
	padding: 0 0 1em;
	width: 10em;
	}
	.wrap-program .wrap-flow.flow1 p::after {
	content: '';
	height: 60px;
	width: 130%;
	left: -15%;
	bottom: -59px;
	background: var(--purple);
	clip-path: polygon(0 0, 50% 75%, 100% 0);
	position: absolute;
	}
	.wrap-program .wrap-flow.flow2 p::after {
	content: '';
	height: 60px;
	width: 130%;
	left: -15%;
	top: -59px;
	background: var(--blue);
	clip-path: polygon(0 100%, 50% 35%, 100% 100%);
	position: absolute;
}
}
.wrap-form {
	padding: 120px 0;
	position: relative;
	overflow: hidden;
}
.wrap-form::before {
	content: '';
	background: rgb(var(--purple-rgb), .5);
	background: linear-gradient(90deg, rgba(var(--light-purple-rgb), .3) 0%, rgba(var(--light-purple-rgb),.9) 100%);
	position: absolute;
	width: 100%;
	min-width: 2000px;
	height: 100%;
	object-fit: cover;
	clip-path: polygon(100% 100%, 0 30%, 0 100%, 0 100%);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -2;
}
.wrap-form::after {
	content: '';
	background: rgb(var(--purple-rgb), .5);
	background: linear-gradient(90deg, rgba(var(--purple-rgb), .8) 0%, rgba(var(--purple-rgb),.2) 100%);
	position: absolute;
	width: 100%;
	min-width: 2000px;
	height: 100%;
	object-fit: cover;
	clip-path: polygon(100% 100%, 0 100%, 100% 30%, 100% 100%);
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	z-index: -1;
}
.wrap-form ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-top: 4em;
}
.wrap-form ul li {
	background: #fff;
	text-align: center;
	max-width: 420px;
	width: 48%;
}
.wrap-form ul li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1em 2em;
	height: calc(100% - 8px);
}
.wrap-form ul li a figure {
	max-width: 200px;
	margin-bottom: 1em;
}
.wrap-form ul li a {
	border: 2px solid #fff;
	margin: 4px;
}
.wrap-form ul li a:hover {
	border: 2px solid var(--purple);
	color: var(--purple);
}
.wrap-form ul li a > p span {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: .5em;
	display: block;
	line-height: 1.3;
}
@media only screen and (max-width: 767px) {
	.wrap-form ul li {
		width: 100%;
	}
	.wrap-form ul li a {
		border: 2px solid var(--purple);
	}
	.wrap-form ul li a > p span {
		font-size: 2.4rem;
	}
	.wrap-form ul li:first-child {
		margin-bottom: 2em;
	}
	.wrap-form ul li a figure {
		max-width: 120px;
	}
	.wrap-form::before,
	.wrap-form::after {
				min-width: 767px;
	}
}
.wrap-links {
	background: linear-gradient(0deg, rgba(var(--purple-rgb), .25) 0%, rgba(var(--purple-rgb),.1) 100%);
	padding: 120px 0;
}
.wrap-links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin-top: 3em;
}
.wrap-links li {
	width: calc((100% - 80px) / 3);
}
.wrap-links li a {
	display: flex;
	align-items: center;
	background: #fff;
	min-height: 100px;
	height: 100%;
	padding-right: .25em;
	position: relative;
}
.wrap-links li a:hover {
	color:  var(--blue);
}
.wrap-links li a::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 2px solid rgb(var(--blue-rgb),0);
	transition: .3s;
}
.wrap-links li a:hover::before {
	border: 2px solid rgb(var(--blue-rgb),1);
}
.wrap-links li a figure {
	max-width: 140px;
	width: 30%;
	height: 100%;
	overflow: hidden;
}
.wrap-links li a figure img {
	min-height: 100px;
	max-width: 140px;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.wrap-links li a span {
	font-weight: bold;
	margin-left: 1em;
	margin-right: auto;
	width: 65%;
}
@media only screen and (max-width: 959px) {
	.wrap-links li {
	width: calc((100% - 40px) / 2);
	}
}
@media only screen and (max-width: 767px) {
	.wrap-links ul {
		display: block;
		max-width: 420px;
	}
	.wrap-links li {
		width: 100%;
	}
	.wrap-links li:not(:last-child) {
		margin-bottom: 2em;
	}
.wrap-links li a,
.wrap-links li a figure img {
	min-height: 80px;
	}
}

/*　webフォント　*/
@font-face {
  font-family: 'Barlow';
  src: url('../fonts/Barlow-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Barlow';
  src: url('../fonts/Barlow-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Barlow';
  src: url('../fonts/Barlow-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}

/*　アイコンフォント　*/
@font-face {
  font-family: 'iconset';
  src:
    url('../fonts/iconset.ttf?olw93l') format('truetype'),
    url('../fonts/iconset.woff?olw93l') format('woff'),
    url('../fonts/iconset.svg?olw93l#iconset') format('svg');
  font-weight: normal !important;
  font-style: normal;
  font-display: block;
}

[class^="icon-"]::after, [class*=" icon-"]::after, a[target="_blank"]::after, .list-news a::after, a[href*=".pdf"]::after,
[class^="icon-"]::before, [class*=" icon-"]::before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'iconset' !important;
  speak: never;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
	text-decoration: none !important;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a.no-icon::after {
	display: none !important;
}
.icon-blank::after,
a[target="_blank"]::after {
  content: "\e900";
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.link-file a[target="_blank"]::after {
  display: none !important;
}
a[href*=".pdf"]::after,
.icon-file::after {
  content: "\e901" !important;
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.icon-link::after {
  content: "\e902" !important;
	font-size: 1em;
	margin-left: .5em;
	margin-right: .25em;
	display: inline-block;
}
.icon-up::after {
  content: "\e903";
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.icon-down::after {
  content: "\e904";
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.icon-pagetop::after {
  content: "\e905";
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.btn-link {
	background: #fff;
	padding-bottom: 3em;
	text-align: center;
}
.btn-link a {
	display: inline-block;
	padding: .5em 1em .5em 1.5em;
	background: #666;
	color: #fff;
	font-size: .85em;
}
.btn-link a:hover {
	background: var(--blue);
}

/*--------------------------------------------
レイアウト
---------------------------------------------*/
img {
	width: 100%;
	height: auto;
}
.max-1200 {
	max-width: 1200px !important;
}
.max-1000 {
	max-width: 1000px !important;
}

.mt-0 {
  margin-top: 0 !important;
}
.mt-05 {
  margin-top: .5em !important;
}
.mt-1 {
  margin-top: 1em !important;
}
.mt-2 {
  margin-top: 2em !important;
}
.mt-3 {
  margin-top: 3em !important;
}
.mt-4 {
  margin-top: 4em !important;
}
.mt-5 {
  margin-top: 5em !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}
.mb-05 {
  margin-bottom: .5em !important;
}
.mb-1 {
  margin-bottom: 1em !important;
}
.mb-2 {
  margin-bottom: 2em !important;
}
.mb-3 {
  margin-bottom: 3em !important;
}
.mb-4 {
  margin-bottom: 4em !important;
}
.mb-5 {
  margin-bottom: 5em !important;
}

.ml-auto {
	margin-left: auto;
}
.mr-auto {
	margin-right: auto;
}

:root {
/*  紫  */
  --purple: #7700b5;
  --purple-rgb: 119, 0, 181;
/*  紫2  */
  --durk-purple: #440065;
  --durk-purple-rgb: 68, 0, 101;
/*  紫3  */
  --light-purple: #5d36ce;
  --light-purple-rgb: 93, 54, 206;
/*  青  */
  --blue: #0078f3;
  --blue-rgb: 0, 120, 243;
	/*  グレー  */
  --gray: #454545;
}

