/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */

/* FLOCSS
----------------------------------------------------- */

/* 共通設定
----------------------------------------------------- */

.inner {
	margin-inline: auto;
	max-width: calc(1200px + 40px * 2);
	padding-inline: 40px;
}

.inner.type-2 {
	max-width: calc(1040px + 40px * 2);
}

.section__content {
	margin-top: 64px;
}

.heading {
	font-size: 55px;
	font-weight: 600;
	gap: 26px;
	letter-spacing: 0.1em;
	line-height: 100%;
	padding-left: 90px;
	position: relative;
	text-transform: uppercase;
}

.heading::before {
	background: #0a4990;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 70px;
}

.heading2 {
	font-size: 27px;
	letter-spacing: 0.1em;
	padding-bottom: 10px;
	position: relative;
}

.heading2::after {
	background-image: repeating-linear-gradient(45deg, #edb918 0px, #edb918 1px, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%);
	background-size: 8px 8px;
	bottom: 0;
	content: "";
	height: 8px;
	left: 0;
	position: absolute;
	width: 100%;
}

.small-text {
	display: block;
	font-size: 15px !important;
}

.xs-text {
	display: block;
	font-size: 14px !important;
}

.indent-text {
	display: block;
	padding-left: 20px;
	text-indent: -20px;
}

.strong-text {
	font-weight: bold;
}

.text-red {
	color: #633704;
}

.text-pink {
	color: #d61c73;
}

.frame-box {
	background-color: #f8f8f8;
	border: 1px solid #ddd;
	padding: 30px;
}

.button {
	background-color: #fff;
	border: 1px solid #0a4990;
	color: #0a4990;
	display: inline-block;
	letter-spacing: 0.05em;
	min-width: 158px;
	padding: 11px 20px;
	text-align: center;
	transition: color 0.3s ease, background-color 0.3s ease;
}

.button.is-header {
	background-color: #0a4990;
	color: #fff;
}

.page-breadcrumb {
	background: #f8f8f8;
	padding-block: 19px;
}

.page-breadcrumb .breadcrumb {
	font-size: 12px;
	line-height: 100%; /* 12px */
}

.page-breadcrumb .breadcrumb span {
	padding-right: 3px;
}

.page-breadcrumb .breadcrumb span:nth-of-type(2),
.page-breadcrumb .breadcrumb span:nth-of-type(3),
.page-breadcrumb .breadcrumb span:nth-of-type(4) {
	padding-left: 6px;
}

.page-breadcrumb a {
	text-decoration-line: underline;
}

.page-pagination {
	padding-top: 40px;
}

.page-pagination__lists {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: center;
}

.page-numbers,
.post-page-numbers {
	border: 1px solid #0a4990;
	color: #0a4990;
	display: block;
	font-weight: bold;
	height: 50px;
	line-height: 50px;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
	width: 50px;
}

.page-numbers.current,
.post-page-numbers.current {
	background-color: #0a4990;
	color: #fff;
}

.page-numbers:focus,
.page-numbers:hover,
.post-page-numbers:focus,
.post-page-numbers:hover {
	background-color: #0a4990;
	color: #fff;
}

.fade-in-up {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 1s, transform 1s;
}

.fade-in-up.is-in-view {
	opacity: 1;
	transform: translateY(0);
}

.fade-in-down {
	opacity: 0;
	transform: translateY(-24px);
	transition: opacity 1s, transform 1s;
}

.fade-in-down.is-in-view {
	opacity: 1;
	transform: translateY(0);
}

.fade-in {
	opacity: 0;
	transition: opacity 1s;
}

.fade-in.is-in-view {
	opacity: 1;
}

#js-pagetop {
	background: #0a4990;
	border: 1px solid #edb918;
	bottom: 56px;
	color: #fff;
	display: block;
	font-size: 20px;
	height: 60px;
	line-height: 58px;
	opacity: 0;
	position: fixed;
	right: 20px;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: 60px;
	z-index: 999;
}

#js-pagetop.is-show {
	opacity: 1;
	visibility: visible;
}

/* アンカーボタン
----------------------------------------------------- */

.ancher {
	padding-top: 60px;
}

.ancher__links {
	align-items: center;
	display: flex;
	gap: 30px;
	justify-content: center;
}

.ancher__links-btn {
	background-color: #0a4990;
	border-radius: 28px;
	color: #fff;
	font-size: 18px;
	height: 55px;
	line-height: 55px;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
	width: 270px;
}

/* ヘッダー
----------------------------------------------------- */

#header {
	background-color: #fff;
	height: 160px;
	position: sticky;
	top: -101px;
	transition: top 0.3s;
	width: 100%;
	z-index: 100;
}

#header.show {
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
	top: 0;
}

.header__inner {
	display: flex;
	flex-direction: column;
	gap: 15px;
	height: inherit;
	padding-top: 15px;
}

.header__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding-inline: 30px;
}

.header__logo a img {
	display: block;
	width: 489px;
}

.header__buttons {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: center;
}

.header__nav {
	align-items: center;
	background-color: #0a4990;
	border-top: 5px solid #edb918;
	display: flex;
	justify-content: center;
	padding-bottom: 11px;
	padding-top: 12px;
}

.header__lists {
	align-items: center;
	display: flex;
	gap: 35px;
}

.header__link {
	color: #fff;
	display: block;
	font-size: 18px;
	padding-block: 8px;
	transition: color 0.3s;
}

.header__link.is-active {
	color: #fcec79;
}

.drawer-icon {
	display: none;
}

.drawer-content {
	background: #0a4990;
	height: 100%;
	overflow: auto;
	padding: 86px 20px 40px;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: transform 0.3s linear;
	width: 320px;
	z-index: 50;
}

.drawer-content.is-checked {
	transform: translateX(0);
}

.drawer-content__link {
	color: #fff;
	display: block;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding-bottom: 14px;
	padding-left: 30px;
	padding-top: 14px;
}

.drawer-content__link.is-active {
	color: #0a7cff;
}

/* TOPメインヴィジュアル
----------------------------------------------------- */

.top-mv__inner {
	position: relative;
}

.top-mv__slide {
	-o-object-fit: cover;
	height: calc(100vh - 160px);
	object-fit: cover;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.top-mv__image {
	animation: slider-1 24s linear infinite;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	filter: brightness(92%);
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.top-mv__image:nth-child(1) {
	animation-delay: -2s;
	background-image: url(../img/main2.webp);
}

.top-mv__image:nth-child(2) {
	animation-delay: 6s;
	background-image: url(../img/main3.webp);
}

.top-mv__image:nth-child(3) {
	animation-delay: 14s;
	background-image: url(../img/main1.webp);
}

.top-mv__copy {
	left: 50%;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 30;
}

.top-mv__title {
	border: 1px solid #fff;
	color: #fff;
	font-size: 2.8871391076vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 0.7874015748vw 1.5748031496vw;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.15), -2px 2px 3px rgba(0, 0, 0, 0.15);
}

/* 下層ページメインヴィジュアル
----------------------------------------------------- */

.page-mv__inner {
	position: relative;
}

.page-mv__img {
	-o-object-fit: cover;
	-o-object-position: 100%;
	height: 400px;
	object-fit: cover;
	object-position: 100%;
	width: 100%;
}

.page-mv__content {
	color: #fff;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.page-mv__lead {
	color: #fff;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 100%; /* 32px */
	text-align: center;
}

/* top-topics
----------------------------------------------------- */

.news {
	background-color: #f8f8f8;
	padding-bottom: 60px;
	padding-top: 60px;
}

.news__card {
	background: #fff;
	border: 1px solid #0a4990;
	box-shadow: 0px 5px 18px 0px #999;
	margin-top: 40px;
	padding: 30px 12px;
}

.news__title {
	border-bottom: 1px solid #0a4990;
	color: #0a4990;
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	padding-bottom: 15px;
	text-align: center;
}

.news__lists {
	margin-top: 30px;
}

.news__lists > * + * {
	position: relative;
}

.news__lists > * + *::before {
	background: #e3e3e3;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.news__list:nth-child(n+2) {
	position: relative;
}

.news__list:nth-child(n+2)::before {
	background: #e3e3e3;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.news__link {
	margin-top: 22px;
	text-align: right;
}

.news__link a {
	border-bottom: 1px solid #0a7cff;
	display: inline-block;
	font-weight: 700;
	line-height: 100%;
	padding-bottom: 9px;
	transition: color 0.3s;
	vertical-align: top;
}

.news__link a:hover {
	color: #0a7cff;
}

.news-link {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding-block: 10px;
	transition: background-color 0.3s;
}

.news-link:hover {
	background-color: #f5f5f5;
}

.news-link__meta {
	align-items: center;
	display: flex;
	gap: 12px;
}

.news-link__date {
	color: #333;
	white-space: nowrap;
}

.category__label {
	background: #e4780c;
	border-radius: 2px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	min-width: 76px;
	padding: 2px 4px;
	text-align: center;
}

.category-id-1 {
	background: #cc7108 !important;
}

.category-id-2 {
	background: #0a4990 !important;
}

.category-id-3 {
	background: #cc0864 !important;
}

/* アクセス
----------------------------------------------------- */

.access__content {
	display: flex;
	gap: 8.3333333333%;
	margin-top: 50px;
}

.access__body {
	flex-shrink: 0;
}

.access__map {
	flex-grow: 1;
}

.access__map iframe {
	aspect-ratio: 16/9;
	height: 300px;
	width: 100%;
}

/* 研究科長挨拶
----------------------------------------------------- */

.greeting {
	padding-block: 100px;
}

.greeting__content {
	display: flex;
	gap: 50px;
	margin-top: 40px;
}

.greeting__image {
	flex-shrink: 0;
	margin-top: 10px;
}

.greeting__image img {
	width: 180px;
}

.greeting__post {
	font-size: 13px;
	line-height: 1.6;
	margin-top: 15px;
}

.greeting__name {
	font-size: 24px;
	margin-top: 10px;
}

.greeting__body {
	flex-grow: 1;
}

.greeting__subtitle {
	font-size: 25px;
}

.greeting__text:nth-child(n+2) {
	margin-top: 20px;
}

.idea {
	padding-top: 40px;
}

.idea__medias {
	display: flex;
	gap: 7.6923076923%;
}

.idea__box {
	display: flex;
	justify-content: space-between;
	margin-top: 35px;
}

.idea__box-left {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.idea__text {
	font-weight: 500;
	letter-spacing: 0.1em;
}

.idea__image {
	margin-top: 10px;
}

.idea__box-right {
	display: flex;
	flex-direction: column;
	gap: 75px;
}

/* 社会福祉経営コース
----------------------------------------------------- */

.welfare {
	padding-block: 100px;
}

.course__content {
	align-items: center;
	display: flex;
	gap: 8.3333333333%;
}

.welfare__title {
	text-align: center;
}

.welfare__heading2 {
	border-bottom: 2px solid #0a4990;
	display: inline-block;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.05em;
	padding-bottom: 8px;
}

.welfare__text {
	flex: 0 0 41%;
	font-size: 18px;
	letter-spacing: 0.09em;
	line-height: 2.2;
	margin-top: 45px;
	text-align: justify;
}

.welfare__graph {
	margin-top: 100px;
}

.welfare__curr {
	margin-top: 100px;
}

.welfare__head {
	font-size: 22px;
	font-weight: 600;
	text-align: center;
}

.welfare__image {
	margin-top: 20px;
	text-align: center;
}

.welfare__image img {
	width: 100%;
}

.welfare__image img {
	max-width: 700px;
}

.welfare__tree {
	margin-top: 40px;
	overflow-x: auto;
}

.welfare__tree img {
	display: block;
	width: 1200px;
}

.table__welfare {
	color: #686868;
	font-size: 14px;
	font-weight: 500;
	margin-top: 11px;
	text-align: center;
}

/* 教員紹介
----------------------------------------------------- */

.teacher {
	padding-block: 100px;
}

.teacher__and {
	padding-top: 100px;
}

.teacher__cards {
	display: grid;
	gap: 60px;
	grid-template-columns: repeat(2, minmax(440px, 1fr));
	margin-top: 60px;
}

.teacher__card {
	background-color: #fff;
	border-top: 1px solid #dbd2bc;
	height: auto;
	padding: 20px 15px 0px;
}

.teacher__media {
	display: flex;
	gap: 40px;
	justify-content: space-between;
}

.teacher__head {
	flex-shrink: 0;
}

.teacher__position {
	font-size: 14px;
}

.teacher__name {
	font-size: 18px;
}

.teacher__kana {
	color: #999;
	font-size: 12px;
}

.teacher__body {
	max-width: 500px;
}

.teacher__button {
	background-color: #fff;
	border: 1px solid #dbd2bc;
	font-size: 15px;
	margin-top: 10px;
	padding: 2px 15px;
	transition: border-color 0.3s, color 0.3s;
}

.fa-caret-down {
	transition: transform 0.3s;
}

.is-open .fa-caret-down {
	transform: rotate(-180deg);
}

.teacher__work {
	display: none;
	font-size: 15px;
}

.teacher__work-text {
	margin-top: 15px;
}

/* 組織・沿革
----------------------------------------------------- */

.team {
	background-color: #f8f8f8;
	padding-block: 100px;
}

.team__inner {
	background-color: #fff;
	border-radius: 5px;
	margin-inline: auto;
	max-width: calc(1300px + 50px * 2);
	padding: 60px 50px;
}

.team__content {
	display: flex;
	gap: 60px;
	margin-top: 30px;
}

.team__title {
	font-size: 20px;
	letter-spacing: 0.1em;
}

.team__title::before {
	color: #633704;
	content: "●";
	font-size: 13px;
	margin-right: 5px;
	vertical-align: 3px;
}

.team__image {
	margin-top: 25px;
}

.team__history .horizontal-table {
	font-size: 14px;
	margin-top: 25px;
}

.team__history .horizontal-table__header {
	border-bottom: 1px solid #633704;
	font-weight: 500;
	padding: 10px;
	vertical-align: middle;
	width: 24%;
}

.team__history .horizontal-table__header:last-child {
	border-right-width: 0;
}

.team__history .horizontal-table__header:first-child {
	border-top: 1px solid #633704;
}

.team__history .horizontal-table__text {
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	padding: 10px;
	vertical-align: middle;
}

.team__history .horizontal-table__text:last-child {
	border-right-width: 0;
}

.team__history .horizontal-table__text:first-of-type {
	border-top: 1px solid #ccc;
}

.team__history .horizontal-table .center {
	margin: 0 auto;
}

/* 研究倫理
----------------------------------------------------- */

.ethics {
	padding-block: 100px;
}

.ethics__boxes {
	display: flex;
	flex-direction: column;
	gap: 30px;
	line-height: 2;
	margin-top: 30px;
}

.ethics__list {
	display: block;
	padding-left: 25px;
	text-indent: -25px;
	transition: color 0.3s;
}

.ethics__list::before {
	color: #633704;
	content: "▶　";
	font-size: 12px;
	vertical-align: 2px;
}

.ethics__strong {
	font-size: 17px;
	font-weight: bold;
}

/* 学位論文審査基準
----------------------------------------------------- */

.judging {
	background-color: #f8f8f8;
	padding-block: 100px;
}

.judging__inner {
	background-color: #fff;
	border-radius: 5px;
	margin-inline: auto;
	max-width: 1200px;
	padding: 60px;
}

.judging__text {
	margin-top: 30px;
}

.judging__lists {
	margin-top: 20px;
}

.judging__list {
	line-height: 2.2;
	padding-left: 40px;
	text-indent: -40px;
}

/* 3つの特色
----------------------------------------------------- */

.features {
	padding-block: 100px;
}

.features__content {
	display: flex;
	flex-direction: column;
	gap: 50px;
	margin-top: 50px;
}

.features__item {
	background-color: #f8f8f8;
	border-radius: 5px;
	padding: 50px;
}

.features__head {
	color: #633704;
	font-size: 27px;
}

.features__head .head-small {
	font-size: 20px;
}

.features__description {
	color: #0a4990;
	font-size: 22px;
}

.features__body {
	display: flex;
	gap: 50px;
	margin-top: 20px;
}

.features__text {
	flex-grow: 1;
	margin-top: 20px;
}

.features__image {
	flex-shrink: 0;
}

.process__textbox {
	background: #f8f8f8;
	border: 1px solid #ddd;
	letter-spacing: 0.05em;
	margin-top: 30px;
	max-width: 800px;
	padding: 20px 40px;
}

.process__head {
	font-size: 17px;
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: #e297ac;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
}

.process__text {
	letter-spacing: 0.07em;
	margin-top: 20px;
}

.process__boxes {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin-top: 30px;
}

.recruitment__boxes {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin-top: 60px;
}

.tuition__boxes {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin-top: 40px;
}

.tuition__media,
.tuition__media2 {
	display: flex;
	gap: 50px;
	margin-top: 20px;
}

.tuition__head {
	border-bottom: 1px dashed #633704;
	color: #633704;
	font-size: 22px;
	padding-bottom: 3px;
}

.tuition__description,
.tuition__room {
	padding: 6px;
	text-align: center;
}

.tuition__room {
	background-color: #633704;
	color: #fff;
}

.tuition__description {
	border: 1px solid #ccc;
	margin-top: 10px;
}

.tuition__media2 {
	flex-shrink: 0;
}

.tuition__body2 {
	flex: 1;
	flex-grow: 1;
}

/* ポリシー
----------------------------------------------------- */

.bg-gray {
	background-color: #f8f8f8;
}

.number {
	color: #633704;
	font-size: 22px;
	font-weight: bold;
	margin-right: 5px;
}

.attention-text {
	margin-top: 40px;
}

/* =====================================================
# テーブル
===================================================== */

.table__wrap {
	margin-top: 40px;
	overflow-x: auto;
}

.table {
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	table-layout: fixed;
	width: 800px;
}

.table.is-welfare {
	width: 1200px;
}

.table.is-welfare thead th {
	text-align: center;
	vertical-align: middle;
}

.table.is-welfare tbody td {
	text-align: center;
	vertical-align: middle;
}

.table.is-welfare th:nth-child(1) {
	width: 8%;
}

.table.is-welfare .gray02 {
	background: #ddd;
}

.table.is-welfare .blown01 {
	background: #5f2805;
	color: #fff;
}

.table.is-welfare .blown03 {
	background: #ead6b9;
}

.table.is-welfare .blown04 {
	background: #ebe5db;
}

.table.is-select {
	width: 800px;
}

.table.is-select thead th {
	text-align: center;
	vertical-align: middle;
}

.table.is-select tbody td {
	text-align: center;
	vertical-align: middle;
}

.table.is-select th:nth-child(1) {
	width: 8%;
}

.table.is-tuition1 thead th {
	text-align: center;
	vertical-align: middle;
}

.table.is-tuition1 th:nth-child(1) {
	width: 10%;
}

.table.is-tuition1 td {
	text-align: center;
}

.table.is-process tbody th {
	background-color: #e9e9e9;
	color: #111;
}

.table.is-process th:nth-child(1),
.table.is-process td:nth-child(1) {
	width: 10%;
}

.table .line-bottom {
	border-bottom: 1px solid #ccc;
}

.table th {
	background-color: rgba(99, 55, 4, 0.55);
	color: #fff;
	font-weight: normal;
	width: 20%;
}

.table .w50 {
	width: 14%;
}

.table td {
	background-color: #fff;
}

.table td:nth-child(2) {
	width: 40%;
}

.table th,
.table td {
	border-right: 1px solid #ccc;
	border-top: 1px solid #ccc;
	padding: 15px;
}

.table td ul li {
	padding-left: 16px;
	text-indent: -16px;
}

.table__attention {
	color: #686868;
	font-size: 14px;
	font-weight: 500;
	margin-top: 11px;
	text-align: center;
}

.policy {
	padding-block: 100px;
}

.policy__inner {
	margin-inline: auto;
	max-width: calc(1000px + 40px * 2);
	padding-inline: 40px;
}

.policy__content {
	margin-top: 50px;
}

.policy__read-wrap {
	margin-top: 60px;
}

.policy__read {
	border-bottom: 1px solid #edb918;
	color: #633704;
	font-size: 21px;
	padding-bottom: 10px;
	padding-left: 15px;
}

.policy__head {
	font-size: 18px;
	letter-spacing: 0.1em;
}

.policy__head .fa-solid {
	color: #edb918;
}

.policy__boxes {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.policy__box {
	margin-top: 10px;
}

.policy__box-title {
	background-color: #eee;
	font-size: 18px;
	font-weight: bold;
	padding: 10px 20px;
}

.policy__box-text {
	line-height: 2;
	padding: 20px;
	text-align: justify;
}

.policy__box-lists {
	line-height: 2;
	padding-inline: 20px;
	text-align: justify;
}

.policy__box-list {
	padding-left: 26px;
	text-indent: -26px;
}

.policy__box-list:nth-child(n+2) {
	margin-top: 15px;
}

/* お問い合わせ
----------------------------------------------------- */

.contact {
	padding-block: 100px;
}

.contact__inner {
	margin-inline: auto;
	max-width: calc(730px + 15px * 2);
	padding-inline: 15px;
}

.contact__privacy {
	margin-top: 40px;
	text-align: center;
}

.contact__privacy-text a {
	text-decoration-line: underline;
	transition: text-decoration-line 0.5s, opacity 0.5s;
}

.contact__tel-mail {
	border-bottom: 1px solid #633704;
	border-top: 1px solid #633704;
	display: block;
	margin-top: 50px;
	padding: 12px;
	text-align: center;
	transition: background-color 0.3s;
}

.contact__protect {
	background-color: #f2f2f2;
	border: 1px solid #ccc;
	margin-top: 50px;
	padding: 20px;
	text-align: justify;
}

.contact__protect-text {
	line-height: 1.85;
	text-align: left;
}

.contact__form {
	margin-top: 40px;
}

.Form {
	display: grid;
	gap: 20px;
}

.Form-Item-Label {
	align-items: center;
	display: flex;
	font-weight: bold;
	gap: 10px;
}

.Form-Item-Label-Required {
	background-color: #0a4990;
	color: #fff;
	display: inline-block;
	font-size: 13px;
	height: 21px;
	line-height: 21px;
	min-width: 40px;
	padding-inline: 2px;
	text-align: center;
}

.Form-Item-Label-Any {
	background-color: #aaa;
	color: #fff;
	display: inline-block;
	font-size: 13px;
	height: 21px;
	line-height: 21px;
	min-width: 40px;
	padding-inline: 2px;
	text-align: center;
}

.wpcf7 .wpcf7-spinner {
    display: none !important;
}

.wpcf7-form-control-wrap {
	display: block;
	margin-top: 5px;
}

.wpcf7-form-control-wrap [type=text],
.wpcf7-form-control-wrap [type=email],
.wpcf7-form-control-wrap [type=tel] {
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
	padding: 10px;
	width: 100%;
}

.wpcf7-form-control-wrap [type=text]:focus,
.wpcf7-form-control-wrap [type=email]:focus,
.wpcf7-form-control-wrap [type=tel]:focus {
	border-color: #0a4990;
}

.wpcf7-form-control-wrap [type=radio],
.wpcf7-form-control-wrap [type=checkbox] {
	border: 1px solid #ccc;
	height: 22px;
	vertical-align: -5px;
	width: 22px;
}

.wpcf7-form-control-wrap textarea {
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
	padding: 10px;
	width: 100%;
}

.wpcf7-form-control-wrap textarea:focus {
	border-color: #0a4990;
}

.wpcf7-radio {
	display: flex;
	gap: 10px;
	margin-top: 10px;
}

.wpcf7-checkbox > .wpcf7-list-item:not(:first-child) {
	margin-left: 15px;
}

.wpcf7-list-item-label {
	margin-left: 5px;
}

.wpcf7-response-output {
	color: #0a4990;
	margin-top: 20px;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none;
}

.Form .button-wrap {
	margin-top: 20px;
	text-align: center;
}

.form-checkbox {
	display: block;
	margin-top: 20px;
}

.send {
	padding-block: 100px;
	text-align: center;
}

.send__button-wrap {
	margin-top: 40px;
}

.footer {
	background: #fff;
	border-top: 1px solid #0a4990;
}

.footer__inner {
	margin-left: auto;
	margin-right: auto;
	padding-block: 60px;
	padding-inline: 30px;
}

.footer__wrapper {
	display: flex;
	justify-content: space-between;
}

.footer__logo img {
	display: inline-block;
	width: 350px;
}

.footer__library,
.footer__pamphlet {
	display: block;
}

.footer__fb {
	display: block;
}

.footer__fb img {
	display: inline-block;
	transition: 0.3s;
	width: 300px;
}

.footer__company {
	flex-shrink: 0;
}

.footer__right {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	gap: 10px;
}

.footer__button {
	display: block;
	margin-top: 15px;
}

.footer .address__box {
	align-items: flex-end;
	display: flex;
	margin-top: 15px;
}

.footer .address__text {
	letter-spacing: 0.1em;
}

.footer .address__tel {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-top: 5px;
}

.footer .copyright {
	align-items: flex-end;
	background-color: #0a4990;
	border-top: 5px solid #edb918;
	color: #fff;
	display: flex;
	justify-content: space-between;
	padding: 20px 30px;
}

.footer .copyright__right {
	font-size: 11px;
	text-transform: uppercase;
}

.footer .copylight__name {
	display: flex;
	gap: 15px;
}

.footer .copylight__link {
	font-size: 13px;
	text-decoration: underline;
	transition: 0.3s;
}

.entry-404 {
	padding-block: 85px;
	text-align: center;
}

.entry-404-head {
	color: #f0cdd0;
	font-size: 80px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 36px;
}

.entry-404-head span::after {
	content: " ";
}

.entry-404-lead {
	color: #808080;
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 24px;
}

.entry-404-content {
	color: #808080;
}

.entry-404-btn {
	margin-top: 58px;
}

.entry-404-btn .btn {
	background: #ebebeb;
	color: #8d8d8d;
}

.entry-404-btn .btn:hover {
	background: #ccc;
	opacity: 1;
}

.archive {
	background-color: #f8f8f8;
	padding-bottom: 40px;
	padding-top: 40px;
}

.archive__inner {
	background-color: #fff;
	margin-inline: auto;
	max-width: 980px;
	padding: 40px 50px;
}

.archive__lists > * + * {
	position: relative;
}

.archive__lists > * + *::before {
	background: #e3e3e3;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.archive__list:nth-child(n+2) {
	position: relative;
}

.archive__list:nth-child(n+2)::before {
	background: #e3e3e3;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.archive__link {
	margin-top: 22px;
	text-align: right;
}

.archive__link a {
	border-bottom: 1px solid #0a7cff;
	display: inline-block;
	font-weight: 700;
	line-height: 100%;
	padding-bottom: 9px;
	transition: color 0.3s;
	vertical-align: top;
}

.archive__link a:hover {
	color: #0a7cff;
}

.archive-link {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding-block: 15px;
	transition: background-color 0.3s;
}

.archive-link:hover {
	background-color: #f5f5f5;
}

.archive-link__meta {
	align-items: center;
	display: flex;
	gap: 12px;
}

.archive-link__date {
	color: #333;
	white-space: nowrap;
}

.single {
	padding-block: 100px;
}

.single__inner {
	margin-inline: auto;
	max-width: calc(900px + 40px * 2);
	padding-inline: 40px;
}

.single__batch {
	background-color: #0a4990;
	color: #fff;
	display: block;
	height: 30px;
	line-height: 30px;
	text-align: center;
	width: 100px;
}

.single__title {
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	font-size: 23px;
	font-weight: bold;
	margin-top: 20px;
	padding-block: 15px;
}

.single__items {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}

.single__news-items {
	margin-top: 20px;
	text-align: right;
}

.single__thumbnail {
	margin-top: 20px;
}

.single__thumbnail img {
	width: 100%;
}

.single__body h2.wp-block-heading {
	font-size: 22px;
	font-weight: bold;
	margin-top: 30px;
}

.single__body h3.wp-block-heading {
	font-size: 20px;
	font-weight: bold;
	margin-top: 30px;
}

.single__body h4.wp-block-heading {
	font-size: 20px;
	font-weight: bold;
	margin-top: 30px;
}

.single__body .wp-block-image {
	margin-top: 30px;
}

.single__body .wp-block-quote {
	background-color: #f7f7f7;
	border-left: 4px solid #0a4990;
	margin-top: 30px;
	padding: 20px;
}

.single__body .wp-block-quote p {
	margin-top: 0px;
}

.single__body ul {
	margin-top: 30px;
}

.single__body li {
	margin-top: 10px;
}

.single__body li::before {
	color: #0a4990;
	content: "●";
	padding-right: 10px;
}

.single__body p {
	margin-top: 30px;
}

.single__body p a {
	color: #0a4990;
	display: block;
	margin-top: 30px;
	text-decoration-line: underline;
}

/* 多言語化
----------------------------------------------------- */

.gtranslate_wrapper {
	text-align: right;
}

.gtranslate_wrapper select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff;
	background: url(../img/select-arrow.webp) no-repeat center right 6px/11px 8px;
	font-size: 18px;
	padding: 7px 28px 7px 0px;
	transition: background-color 0.3s;
	width: -moz-fit-content;
	width: fit-content;
}

/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
	display: inline-block;
	overflow: hidden;
}

.slide-in_inner {
	display: inline-block;
}

/*左右のアニメーション*/

.leftAnime {
	opacity: 0; /*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-name: slideTextX100;
	opacity: 0;
}

.slideAnimeRightLeft {
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-name: slideTextX-100;
	opacity: 0;
}

/*========= ナビゲーションドロップダウン ===============*/

/*ナビゲーションを横並びに*/

nav ul {
	display: flex;
	justify-content: center;
	list-style: none;
}

/*2階層目以降は横並びにしない*/

nav ul ul {
	display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/

nav ul li {
	position: relative;
}

/*ナビゲーションのリンク設定*/

nav ul li a {
	display: block;
	padding-inline: 10px;
	text-decoration: none;
	transition: all 0.3s;
}

nav ul li li a {
	padding: 10px 5px 10px 12px;
}

nav ul li a:hover {
	color: #fff;
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/

nav ul li.has-child::before {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	content: "";
	height: 8px;
	left: -8px;
	position: absolute;
	top: 20px;
	transform: rotate(135deg);
	width: 8px;
}

/*下の階層を持っているulの指定*/

nav li.has-child ul { /*形状を指定*/
	background: #0a4990;
	display: none; /*JSのslidetoggleで表示させるため非表示に*/
	left: -8px; /*絶対配置で位置を指定*/
	position: absolute;
	top: 56px;
	width: 180px;
	z-index: 4;
}

/*hoverしたら表示*/

/*ナビゲーションaタグの形状*/

nav li.has-child ul li a {
	color: #fff;
}

nav li.has-child ul li:last-child > a {
	border-bottom: none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active {
	background: #edb918;
}

/* CSS
----------------------------------------------------- */

/* FLOCSS
----------------------------------------------------- */

/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */

/* ============================================ */

*,
::before,
::after {
	border-style: solid;
	border-width: 0;
	box-sizing: border-box;
}

/* Document */

/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
	-webkit-text-size-adjust: 100%; /* 2 */
	-webkit-tap-highlight-color: transparent; /* 3*/
	line-height: 1.15; /* 1 */
}

/* Sections */

/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
	display: block;
}

/* Vertical rhythm */

/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

/* Headings */

/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	margin: 0;
}

/* Lists (enumeration) */

/* ============================================ */

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Lists (definition) */

/* ============================================ */

dt {
	font-weight: bold;
}

dd {
	margin-left: 0;
}

/* Grouping content */

/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	border-top-width: 1px;
	box-sizing: content-box; /* 1 */
	clear: both;
	color: inherit;
	height: 0; /* 1 */
	margin: 0;
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}

address {
	font-style: inherit;
}

/* Text-level semantics */

/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
	color: inherit;
	text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content */

/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

img,
embed,
object,
iframe {
	vertical-align: bottom;
}

img {
	max-width: 100%;
}

/* Forms */

/* ============================================ */

/**
 * Reset form fields to make them styleable
 */

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border-radius: 0;
	color: inherit;
	font: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	text-align: inherit;
	vertical-align: middle;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */

[type=checkbox] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

[type=radio] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
	cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */

select::-ms-expand {
	display: none;
}

/**
 * Remove padding
 */

option {
	padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
	margin: 0;
	min-width: 0;
	padding: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type=search] {
	outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
	cursor: pointer;
}

/* Interactive */

/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable] {
	outline: none;
}

/* Table */

/* ============================================ */

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption {
	text-align: left;
}

td,
th {
	padding: 0;
	vertical-align: top;
}

th {
	font-weight: bold;
	text-align: left;
}

/* Misc */

/* ============================================ */

/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

main {
	overflow: hidden; /*横スクロールの発生を防止*/
}

body {
	background-color: #fff;
	color: #111;
	font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.7;
}

a {
	transition: 0.25s;
}

a:hover {
	text-decoration: none;
}

img {
	height: auto;
}

/* FLOCSS
----------------------------------------------------- */

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1230px;
	padding-bottom: 50px;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 50px;
}

.l-inner--has-column {
	display: grid;
	gap: 40px;
	grid-template-columns: 3fr minmax(260px, 1fr);
}

/* FLOCSS
----------------------------------------------------- */

.c-btn {
	background-color: #e25c00;
	border: 2px solid transparent;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	color: #fff;
	display: inline-block;
	font-size: 17px;
	max-width: 100%;
	padding: 20px 10px;
	text-align: center;
	text-decoration: none;
	transition: 0.25s;
	width: 300px;
}

.c-btn:focus,
.c-btn:hover {
	background-color: #fff;
	border-color: currentColor;
	color: #e25c00;
}

.c-btn--arrow-right {
	padding-left: 13.8px;
	padding-right: 20px;
	position: relative;
}

.c-btn--arrow-right::after {
	content: "\f061";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	right: 8.3px;
	top: 50%;
	transform: translateY(-50%);
}

.c-btn--icon {
	padding-left: 13.8px;
	padding-right: 20px;
	position: relative;
}

.c-btn--icon::after {
	background: transparent url(/images/nav_07.png) no-repeat center center/contain;
	content: "";
	height: 60px;
	left: 20px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
}

.c-btn--large {
	font-size: 20px;
	padding-bottom: 25px;
	padding-top: 25px;
	width: 340px;
}

.c-btn--warning {
	background-color: #f1de00;
	color: #222;
}

.c-btn--warning:focus,
.c-btn--warning:hover {
	border-color: #f1de00;
	color: #222;
}

.c-rounded-btn {
	background-color: #e25c00;
	border: 2px solid transparent;
	border-bottom-color: #d40152;
	border-radius: 10px;
	color: #fff;
	display: inline-block;
	font-size: 17px;
	max-width: 100%;
	padding: 15px 10px;
	text-align: center;
	text-decoration: none;
	transition: 0.25s;
	width: 236px;
}

.c-rounded-btn:focus,
.c-rounded-btn:hover {
	background-color: #fff;
	border-color: currentColor;
	color: #e25c00;
}

.c-before-icon-btn {
	border: 1px solid currentColor;
	color: #e25c00;
	display: inline-block;
	padding: 0.2em 0.3em;
	position: relative;
	text-decoration: none;
	transition: 0.25s;
}

.c-before-icon-btn:focus,
.c-before-icon-btn:hover {
	background-color: #e25c00;
	color: #fff;
}

.c-before-icon-btn::before {
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.5em;
}

.c-before-icon-btn--download::before {
	content: "\f019";
}

.c-before-icon-btn--zoom::before {
	content: "\f00e";
	transform: translateY(-6%);
}

/* FLOCSS
----------------------------------------------------- */

.p-breadcrumb {
	display: flex;
	list-style: none;
	margin: 10px 20px;
	padding: 0;
}

.p-breadcrumb li {
	list-style: none;
}

.p-breadcrumb li:after {
	content: ">";
	padding: 0 5px;
}

.p-breadcrumb li:last-child:after {
	content: "";
}

.p-breadcrumb li a {
	text-decoration: none;
}

.p-breadcrumb li a:hover {
	text-decoration: underline;
}

.p-breadcrumb .u-current {
	color: #0a4990;
}

/* FLOCSS
----------------------------------------------------- */

.mb-1 {
	margin-bottom: 10px;
}

.mb-2 {
	margin-bottom: 20px;
}

.mb-3 {
	margin-bottom: 30px;
}

.mb-4 {
	margin-bottom: 40px;
}

.mb-5 {
	margin-bottom: 50px;
}

.mb-6 {
	margin-bottom: 60px;
}

.mb-7 {
	margin-bottom: 70px;
}

.mb-8 {
	margin-bottom: 80px;
}

.mb-9 {
	margin-bottom: 90px;
}

.mb-10 {
	margin-bottom: 100px;
}

.mt-1 {
	margin-top: 10px;
}

.mt-2 {
	margin-top: 20px;
}

.mt-3 {
	margin-top: 30px;
}

.mt-4 {
	margin-top: 40px;
}

.mt-5 {
	margin-top: 50px;
}

.mt-6 {
	margin-top: 60px;
}

.mt-7 {
	margin-top: 70px;
}

.mt-8 {
	margin-top: 80px;
}

.mt-9 {
	margin-top: 90px;
}

.mt-10 {
	margin-top: 100px;
}

@media screen and (min-width: 768px) {

.button:focus,
.button:hover {
	background-color: #0a4990;
	color: #fff;
}

.button.is-header:focus,
.button.is-header:hover {
	background-color: #fff;
	color: #0a4990;
}

#js-pagetop:focus,
#js-pagetop:hover {
	opacity: 0.6;
}

.ancher__links-btn:focus,
.ancher__links-btn:hover {
	background-color: #edb918;
	color: #fff;
}

.header__logo a {
	transition: opacity 0.3s;
}

.header__logo a:focus,
.header__logo a:hover {
	opacity: 0.6;
}

.header__link:focus,
.header__link:hover {
	color: #fcec79;
}

.news {
	padding-bottom: 120px;
	padding-top: 120px;
}

.news__card {
	margin-top: 60px;
	padding-block: 60px 40px;
	padding-inline: 7.8947368421%;
}

.news__title {
	font-size: 25px;
	text-align: left;
}

.news__link {
	margin-top: 20px;
}

.news-link {
	flex-direction: row;
	gap: 0;
	padding-block: 18px;
}

.news-link__meta {
	flex-shrink: 0;
	gap: 14px;
	margin-right: 7px;
	width: 240px;
}

.news-link__date {
	width: 105px;
}

.teacher__button:focus,
.teacher__button:hover {
	border-color: #0a4990;
	color: #0a4990;
}

.ethics__list:focus,
.ethics__list:hover {
	color: #777;
	text-decoration: underline;
}

.table__attention {
	display: none;
}

.contact__privacy-text a:focus,
.contact__privacy-text a:hover {
	opacity: 0.7;
	text-decoration-line: none;
}

.contact__tel-mail:focus,
.contact__tel-mail:hover {
	background-color: #f8f8f8;
}

.footer__library:focus,
.footer__library:hover,
.footer__pamphlet:focus,
.footer__pamphlet:hover {
	opacity: 0.6;
}

.footer__fb:focus,
.footer__fb:hover {
	opacity: 0.6;
}

.footer .copylight__link:focus,
.footer .copylight__link:hover {
	opacity: 0.6;
}

.archive {
	padding-bottom: 80px;
	padding-top: 80px;
}

.archive__link {
	margin-top: 20px;
}

.archive-link {
	flex-direction: row;
	gap: 0;
	padding-block: 22px;
}

.archive-link__meta {
	flex-shrink: 0;
	gap: 14px;
	margin-right: 7px;
	width: 240px;
}

.archive-link__date {
	width: 105px;
}

.gtranslate_wrapper select:focus,
.gtranslate_wrapper select:hover {
	cursor: pointer;
}

.hidden-pc {
	display: none;
}

}

@media screen and (min-width: 1024px) {

.hidden-tab {
	display: none;
}

}

@media screen and (min-width: 1200px) {

.table__welfare {
	display: none;
}

}

@media screen and (max-width: 1199px) {

.drawer-content__link.is-active {
	color: #edb918;
}

.top-mv__title {
	font-size: 34px;
}

.idea__box {
	flex-direction: column;
	gap: 30px;
}

.idea__box-right {
	gap: 30px;
}

.course__content {
	flex-direction: column;
}

.team__inner {
	margin-inline: 15px;
}

.judging__inner {
	margin-inline: 15px;
}

.table.is-welfare {
	font-size: 14px;
	max-width: 1000px;
}

.footer .copyright {
	align-items: center;
	flex-direction: column;
	padding: 30px 5px;
}

.footer .copyright__right {
	margin-top: 20px;
	text-align: center;
}

.footer .copylight__company {
	text-align: center;
}

.footer .copylight__name {
	align-items: center;
	flex-direction: column;
	gap: 5px;
	margin-top: 5px;
}

.hidden-xl {
	display: none;
}

}

@media screen and (max-width: 1199px) and (max-width: 767px) {

.top-mv__title {
	font-size: 18px;
	line-height: 1.5;
	padding: 5px 10px;
}

.idea__box {
	margin-top: 25px;
	text-align: center;
}

.judging__inner {
	padding: 30px 15px;
}

}

@media screen and (max-width: 1199px) and (max-width: 1023px) {

.team__inner {
	padding: 30px 15px;
}

}

@media screen and (max-width: 1023px) {

.inner {
	padding-inline: 15px;
}

.ancher__links {
	gap: 20px;
}

.ancher__links-btn {
	font-size: 16px;
	width: 230px;
}

#header {
	height: 60px;
}

.header__top {
	padding-inline: 15px;
}

.header__logo a img {
	width: 250px;
}

.header__lang {
	display: none;
}

.header__nav {
	display: none;
}

.header__lists {
	align-items: flex-end;
	flex-direction: column;
	gap: 16px;
}

.header__button {
	display: none;
}

.drawer-icon {
	display: block;
	height: 18px;
	position: relative;
	width: 30px;
}

.drawer-icon.is-checked .drawer-icon__bar:nth-child(1),
.drawer-icon.is-checked .drawer-icon__bar:nth-child(3) {
	top: 9px;
}

.drawer-icon.is-checked .drawer-icon__bar:nth-child(1) {
	transform: rotate(45deg);
}

.drawer-icon.is-checked .drawer-icon__bar:nth-child(2) {
	display: none;
}

.drawer-icon.is-checked .drawer-icon__bar:nth-child(3) {
	transform: rotate(-45deg);
}

.drawer-icon__bar {
	background: #0a4990;
	height: 2px;
	left: 0;
	position: absolute;
	transition: top 0.3s, transform 0.3s;
	width: 30px;
}

.drawer-icon__bar:nth-child(1) {
	top: 0;
}

.drawer-icon__bar:nth-child(2) {
	top: 8px;
}

.drawer-icon__bar:nth-child(3) {
	top: 16px;
}

.drawer-content__button {
	margin-top: 30px;
	text-align: right;
}

.drawer-content__lang {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	margin-top: 30px;
}

.greeting__subtitle {
	font-size: 23px;
}

.teacher__cards {
	gap: 30px;
	grid-template-columns: 1fr;
	margin-top: 30px;
}

.team__content {
	flex-direction: column;
	gap: 30px;
}

.policy__inner {
	padding-inline: 15px;
}

.footer__inner {
	padding-block: 40px;
}

.footer__wrapper {
	display: block;
	padding-left: 15px;
	padding-right: 15px;
}

.footer__logo img {
	width: 250px;
}

.footer__logo {
	text-align: center;
}

.footer__library,
.footer__pamphlet {
	margin-top: 5px;
}

.footer__fb {
	margin-top: 15px;
}

.footer__fb img {
	width: 250px;
}

.footer__company {
	margin-bottom: 10px;
	text-align: center;
}

.footer__right {
	align-items: center;
}

.footer .address__box {
	align-items: center;
	flex-direction: column;
	font-size: 14px;
	justify-content: center;
}

.footer .address__text {
	letter-spacing: 0;
	text-align: center;
}

.archive__inner {
	margin-inline: 15px;
	padding-inline: 15px;
}

.single__inner {
	padding-inline: 15px;
}

.gtranslate_wrapper {
	text-align: left;
}

.gtranslate_wrapper select {
	background: url(../img/select-arrow.webp) no-repeat center right 12px/11px 8px;
	background-color: #fff;
	border-radius: 7px;
	font-size: 16px;
	padding: 7px 25px 7px 12px;
}

.slide-in_inner span {
	display: inline-block;
}

nav ul {
	flex-direction: column;
}

nav ul li a {
	border-bottom: 1px solid #ccc;
}

nav ul li.has-child::before {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	left: 10px;
	top: 25px;
}

nav li.has-child ul {
	left: 0;
	opacity: 1; /*JSで制御するため一旦表示*/
	position: relative;
	top: 0;
	visibility: visible; /*JSで制御するため一旦表示*/
	width: 100%;
}

nav ul li.has-child.active::before {
	transform: rotate(-45deg);
}

}

@media screen and (max-width: 1023px) and (max-width: 767px) {

.ancher__links {
	flex-direction: column;
}

.greeting__subtitle {
	font-size: 19px;
}

}

@media screen and (max-width: 767px) {

.section__content {
	margin-top: 46px;
}

.heading {
	font-size: 30px;
	padding-left: 55px;
}

.heading::before {
	width: 40px;
}

.heading2 {
	font-size: 22px;
}

.frame-box {
	padding: 12px;
}

.page-breadcrumb .breadcrumb {
	line-height: 150%;
}

#js-pagetop {
	bottom: 30px;
	height: 50px;
	line-height: 50px;
	width: 50px;
}

.ancher {
	padding-top: 40px;
}

.top-mv__slide {
	height: 350px;
}

.page-mv__img {
	height: 221px;
}

.page-mv__content {
	width: auto;
}

.page-mv__lead {
	font-size: 22px;
	width: 270px;
}

.news__lists {
	margin-top: 15px;
}

.access__content {
	flex-direction: column;
	gap: 30px;
	margin-top: 25px;
}

.greeting {
	padding-block: 50px;
}

.greeting__content {
	flex-direction: column-reverse;
	margin-top: 25px;
}

.greeting__image {
	margin-top: 0px;
	text-align: center;
}

.greeting__name {
	font-size: 19px;
}

.idea__medias {
	flex-direction: column;
	gap: 20px;
}

.welfare {
	padding-block: 50px;
}

.welfare__heading2 {
	font-size: 20px;
}

.welfare__text {
	font-size: 16px;
	line-height: 2;
	margin-top: 30px;
}

.welfare__graph {
	margin-top: 50px;
}

.welfare__curr {
	margin-top: 50px;
}

.welfare__head {
	font-size: 18px;
}

.welfare__image {
	margin-top: 15px;
}

.welfare__image img {
	width: 100%;
}

.welfare__tree {
	margin-top: 20px;
}

.welfare__tree img {
	max-width: unset;
	width: 800px;
}

.teacher {
	padding-block: 50px;
}

.teacher__and {
	padding-top: 50px;
}

.teacher__card {
	padding: 20px 0px 0px;
}

.teacher__media {
	flex-direction: column;
	gap: 20px;
}

.team {
	padding-block: 50px;
}

.team__title {
	font-size: 17px;
}

.team__title::before {
	font-size: 12px;
	vertical-align: 2px;
}

.team__history .horizontal-table__header {
	background-color: #efefef;
	border-right: 0;
	padding: 10px;
	width: 100%;
}

.team__history .horizontal-table__header:first-child {
	border-top-width: 0;
}

.team__history .horizontal-table__text {
	border-bottom-width: 0;
}

.team__history .horizontal-table__text:first-of-type {
	border-top-width: 0;
}

.team__history .horizontal-table__text {
	width: 100%;
}

.team__history .horizontal-table__row {
	display: flex;
	flex-direction: column;
}

.ethics {
	padding-block: 50px;
}

.judging {
	padding-block: 50px;
}

.features {
	padding-block: 50px;
}

.features__content {
	gap: 25px;
	margin-top: 25px;
}

.features__item {
	padding: 25px 15px;
}

.features__head {
	font-size: 20px;
}

.features__head .head-small {
	font-size: 16px;
}

.features__description {
	font-size: 18px;
}

.features__body {
	flex-direction: column;
	gap: 25px;
}

.features__image {
	text-align: center;
}

.process__textbox {
	margin-top: 20px;
	padding: 15px;
}

.process__head {
	font-size: 16px;
}

.process__boxes {
	gap: 40px;
	margin-top: 20px;
}

.recruitment__boxes {
	gap: 40px;
	margin-top: 40px;
}

.tuition__boxes {
	gap: 40px;
	margin-top: 30px;
}

.tuition__media,
.tuition__media2 {
	flex-direction: column-reverse;
	gap: 25px;
}

.tuition__head {
	font-size: 18px;
}

.tuition__body {
	margin-inline: auto;
	max-width: 450px;
	width: 100%;
}

.tuition__image,
.tuition__image2 {
	text-align: center;
}

.attention-text {
	margin-top: 20px;
}

.table__wrap {
	margin-top: 20px;
}

.policy {
	padding-block: 50px;
}

.policy__content {
	margin-top: 5px;
}

.policy__read-wrap {
	margin-top: 30px;
}

.policy__read {
	font-size: 17px;
	padding-left: 5px;
}

.policy__head {
	font-size: 17px;
}

.policy__boxes {
	gap: 15px;
	padding: 25px 0px;
}

.policy__box-title {
	font-size: 16px;
	padding: 10px 15px;
}

.policy__box-text {
	margin-top: 15px;
	padding: 0px;
}

.policy__box-lists {
	margin-top: 15px;
	padding: 0px;
}

.policy__box-list:nth-child(n+2) {
	margin-top: 7px;
}

.contact {
	padding-block: 50px;
}

.contact__privacy {
	margin-top: 20px;
}

.contact__tel-mail {
	margin-top: 30px;
}

.contact__protect {
	margin-top: 30px;
	padding: 15px;
}

.wpcf7-radio {
	flex-direction: column;
}

.send {
	padding-block: 50px;
}

.entry-404 {
	padding-block: 50px;
	padding-inline: 15px;
}

.entry-404-head {
	font-size: 40px;
}

.entry-404-lead {
	font-size: 22px;
}

.single {
	padding-block: 50px;
}

.single__title {
	font-size: 20px;
}

.single__date {
	margin-top: 10px;
}

.single__thumbnail {
	margin-top: 10px;
}

.single__body {
	margin-top: 10px;
}

.single__body h2.wp-block-heading {
	font-size: 22px;
}

.single__body h3.wp-block-heading {
	font-size: 19px;
}

.single__body h4.wp-block-heading {
	font-size: 17px;
}

.l-inner--has-column {
	grid-template-columns: 1fr;
}

.p-breadcrumb {
	font-size: 14px;
}

.hidden-sp {
	display: none;
}

.mb-2 {
	margin-bottom: 10px;
}

.mb-3 {
	margin-bottom: 15px;
}

.mb-4 {
	margin-bottom: 20px;
}

.mb-5 {
	margin-bottom: 25px;
}

.mb-6 {
	margin-bottom: 30px;
}

.mb-7 {
	margin-bottom: 35px;
}

.mb-8 {
	margin-bottom: 40px;
}

.mb-9 {
	margin-bottom: 45px;
}

.mb-10 {
	margin-bottom: 50px;
}

.mt-2 {
	margin-top: 10px;
}

.mt-3 {
	margin-top: 15px;
}

.mt-4 {
	margin-top: 20px;
}

.mt-5 {
	margin-top: 25px;
}

.mt-6 {
	margin-top: 30px;
}

.mt-7 {
	margin-top: 35px;
}

.mt-8 {
	margin-top: 40px;
}

.mt-9 {
	margin-top: 45px;
}

.mt-10 {
	margin-top: 50px;
}

}

@keyframes slider-1 {

0% {
	opacity: 0;
	transform: scale(1);
}

4.16% {
	opacity: 1;
}

33.33% {
	opacity: 1;
}

41.66% {
	opacity: 0;
	transform: scale(1.2);
}

100% {
	opacity: 0;
}

}

@keyframes slideTextX100 {

from {
	opacity: 0;
	transform: translateX(-100%); /*要素を左の枠外に移動*/
}

to {
	opacity: 1;
	transform: translateX(0); /*要素を元の位置に移動*/
}

}

@keyframes slideTextX-100 {

from {
	opacity: 0;
	transform: translateX(100%); /*要素を右の枠外に移動*/
}

to {
	opacity: 1;
	transform: translateX(0); /*要素を元の位置に移動*/
}

}

