/*
Theme Name: 汎用テーマ1
Theme URI: 
Author: Bratech
Author URI: https://www.bratech.co.jp/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
*/
@charset "UTF-8";

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# foundation
## reset
## base
# layout
## l-main
## l-header
## l-foote
## l-fullmenu
# utility
## u-utility
# component
## c-btn
## c-link
## c-heading
## c-list
## c-pagination
## c-form
## c-breadcrumb
## c-txt
## c-table
## c-backtotop
# projects
## p-404
## p-access
## p-archive
## p-collection
## p-exhibition
## p-page
## p-single
## p-top
## p-visitor
# external
## e-wordpress
# plugins
## 
# widget
## 
--------------------------------------------------------------*/
:root {
	--bg-nav: #fff;
	--bg-mega: #f5f5f5;
	--bg-mega-odd: #DEFFFF;
	--bg-mega-even: #FFEEFF;
	--bg-page-ttl: #8D9CAB;
	--bg-header: #fff;
	--bg-body: #fff;
	--bg-footer: #f5f5f5;
	--bg-category: #6f8083;
	--bg-tag: #7f8083;
	--font-color: #000;
	--font-gray: #666;

}

*,
*::before,
*::after {
	box-sizing: border-box;
}

ul[class],
ol[class] {
	padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
	margin: 0;
}

ul[class],
ol[class] {
	list-style: none;
}

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

img {
	max-width: 100%;
}

article > * + * {
	margin-top: 1em;
}

input,
button,
textarea,
select {
	font: inherit;
}

@media (prefers-reduced-motion: reduce) {
	* {
		-webkit-animation-duration: .01ms !important;
		animation-duration: .01ms !important;
		-webkit-animation-iteration-count: 1 !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

@-webkit-keyframes UpAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 0;
		transform: translateY(-100px);
	}
}

@keyframes UpAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 0;
		transform: translateY(-100px);
	}
}

@-webkit-keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes PageIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-webkit-keyframes PageIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes FadeIn {
	0% {
		opacity: 0;
		transform: translate3d(50px, 0, 0);
	}

	60% {
		opacity: 0;
	}

	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes FadeIn {
	0% {
		opacity: 0;
		transform: translate3d(50px, 0, 0);
	}

	60% {
		opacity: 0;
	}

	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes Bullet {
	0% {
		transform-origin: left top;
		transform: scale(0, 1);
	}

	100% {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}

@-webkit-keyframes Bullet {
	0% {
		transform-origin: left top;
		transform: scale(0, 1);
	}

	100% {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}

@keyframes Load {
	0% {
		transform-origin: left top;
		transform: scale(0, 1);
	}

	100% {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}

@-webkit-keyframes Load {
	0% {
		transform-origin: left top;
		transform: scale(0, 1);
	}

	100% {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}

@keyframes Flash {

	0%,
	100% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}
}

@-webkit-keyframes Flash {

	0%,
	100% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}
}

@-webkit-keyframes circlemove {
	0% {
		bottom: 90px;
	}

	100% {
		bottom: -10px;
	}
}

@keyframes circlemove {
	0% {
		bottom: 90px;
	}

	100% {
		bottom: -10px;
	}
}

@-webkit-keyframes cirlemovehide {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	80% {
		opacity: .9;
	}

	100% {
		opacity: 0;
	}
}

@keyframes cirlemovehide {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	80% {
		opacity: .9;
	}

	100% {
		opacity: 0;
	}
}

@-webkit-keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@-webkit-keyframes bgextendAnimeBase {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes bgextendAnimeBase {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@-webkit-keyframes bgLRextendAnime {
	0% {
		transform-origin: left;
		transform: scaleX(0);
	}

	50% {
		transform-origin: left;
		transform: scaleX(1);
	}

	50.001% {
		transform-origin: right;
	}

	100% {
		transform-origin: right;
		transform: scaleX(0);
	}
}

@keyframes bgLRextendAnime {
	0% {
		transform-origin: left;
		transform: scaleX(0);
	}

	50% {
		transform-origin: left;
		transform: scaleX(1);
	}

	50.001% {
		transform-origin: right;
	}

	100% {
		transform-origin: right;
		transform: scaleX(0);
	}
}

@-webkit-keyframes round {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes round {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@-webkit-keyframes floating-horizontal {
	0% {
		transform: translateX(-3px);
	}

	100% {
		transform: translateX(0);
	}
}

@keyframes floating-horizontal {
	0% {
		transform: translateX(-3px);
	}

	100% {
		transform: translateX(0);
	}
}

@-webkit-keyframes floating-vertical {
	0% {
		transform: translateY(-10px);
	}

	100% {
		transform: translateY(0);
	}
}

@keyframes floating-vertical {
	0% {
		transform: translateY(-10px);
	}

	100% {
		transform: translateY(0);
	}
}

html {
	scroll-behavior: smooth;
	font-size: 62.5%;
}

body {
	font-family:"Oswald", "Zen Kaku Gothic New",'Noto Sans JP' , sans-serif;
	font-size: 1.6rem;
	line-height: 1.6;
	width: 100%;
	color: var(--font-base);
	scroll-padding-top: 60px;
}

@media print,
	screen and (min-width: 600px) {
		body {
			font-size: 1.6rem;
			line-height: 2;
		}
}

::-moz-selection {
	background: #dcdcdc;
}

::selection {
	background: #dcdcdc;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* iframe */
.iframe-container {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.iframe-container iframe {
	width: 100%;
	height: 100%;
}

#wrapper {
	background:#e4eff7;
	background-image: url("img/bg-noise.jpg");
	overflow-x: hidden;
}

.l-main {
	max-width: 1080px;
    margin: 0 auto;
	padding: 0 20px 60px;
}

.l-content__main {
	max-width: 1040px;
	margin: 0 auto;
	padding: 40px 0;
}

@media print,
	screen and (min-width: 600px) {
		.l-content__main {
			padding: 60px 20px 60px;
		}
}

.l-content__main button:hover{
	cursor: pointer;
}

@media print,
	screen and (min-width: 600px) {
		.l-content__main {
			padding: 60px 0 60px;
		}
}

@media screen and (min-width: 1025px) {
	.l-content__main {
		padding: 100px 0 60px;
	}
}

#secondary {
	width: 100%;
	padding: 0 20px;
	border-left: 1px solid #dcdcdc;
}

@media screen and (min-width: 1200px) {
	.l-main:has(+aside) {
		width: calc(100% - 380px);
	}

	#secondary {
		width: 340px;
		padding: 40px 30px;
	}

	.content-wrapper:has(>#secondary) {
		display: flex;
		justify-content: space-between;
		padding: 0;
	}

}

.l-content__medium {
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 20px 40px;
}

@media print,
	screen and (min-width: 600px) {
		.l-content__medium {
			padding: 60px 30px 60px;
		}
}

@media screen and (min-width: 1025px) {
	.l-content__medium {
		padding: 60px 20px 60px;
	}
}

@media screen and (min-width: 1400px) {
	.l-content__medium {
		padding: 60px 0 60px;
	}
}

.l-content__large {
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 20px 40px;
}

@media print,
	screen and (min-width: 600px) {
		.l-content__large {
			padding: 60px 30px 60px;
		}
}

@media screen and (min-width: 1025px) {
	.l-content__large {
		padding: 60px 20px 60px;
	}
}

@media screen and (min-width: 1400px) {
	.l-content__large {
		padding: 60px 0 60px;
	}
}

.l-header {
	width: 100%;
	z-index: 100;
	padding: 0;
	position: absolute;
}

@media print,
	screen and (min-width: 600px) {
		.l-header {
			display: flex;
			position: fixed;
		}
}

@media screen and (min-width: 1025px) {
	.l-header {

	}
}
.l-header__logo a{
	margin-top: 10px;
	align-items: center;
	display: inline-block;
	position: relative;
}
.l-header__logo a > *{
	padding: 0 10px;
}
.l-header__logo > * {
	padding: 0 0 0 10px;
	text-align: left;
	font-weight: 700;
}

.l-header__logo img {
	height: 40px;
	display: block;
	vertical-align: middle;
}

.l-header__logo img:hover {
	opacity: .7;
}
.l-header__logo a:hover{
	color: #2b2b2b;
}
.l-header__logo a span{
	right: 8px;
	bottom: -10px;
	padding: 0;
	font-size: 10px;
	font-weight: normal;
	position: absolute;
}

@media screen and (min-width: 600px) {
	.l-header__logo a span{
		right: 8px;
		bottom: -13px;
		font-size: 12px;
	}

}

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

	.l-header__logo img {
		width: auto;
		height: 49px;
		display: inline-block;
	}
}

.l-header__logo img:hover {
	opacity: .8;
	transition: .2s ease-in;
}

.l-header__pc {
	padding-right: 10px;
	padding-bottom: 6px;
	align-items: end;
	display: flex;
	justify-content: flex-end;
}
@media screen and (min-width: 700px) {z
	.l-header__right{
		display: block;
	}
}

.l-header__subnav {
	display: flex;
	align-items: center;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	padding-left: 20px;
}

@media screen and (min-width: 1025px) {
	.l-header__subnav{
		padding-left: 100px;
	}
}

.l-header__about{
	display: flex;
    align-items: center;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    padding-left: 20px;
}

.l-header__about a{
	color: #0063b2!important;
}

@media screen and (min-width: 1025px) {
	.l-header__about{
		left: 70%;
		position: relative;
	}
}


.l-header__menu-list {
	display: flex;
}

.l-header__menu-list li {
	width: 160px;
}

.l-header__menu-list li:nth-child(2) a {
	color: white;
	background-color: #9a5016;
}

.l-header__menu-list li:nth-child(3) a {
	color: #2b2b2b;
	background-color: #dcdcdc;
}

.l-header__menu-list li:nth-child(4) a {
	color: #2b2b2b;
	background-color: #ebebeb;
}

.l-header__menu-list li a {
	display: block;
	padding: .4em 1em;
	color: white;
	background-color: #6f8083;
	font-weight: bold;
	font-size: 1.5rem;
	text-align: center;
	transition: .3s ease-in;
}

.l-header__menu-list li a:hover {
	transition: .3s ease-in;
	background-color: #4682b4;
	color: white;
}

.l-header__gnav {
	margin-top: 0;
	position: relative;
}

@media screen and (min-width: 1025px) {
	.l-header__gnav {}
}

.l-header__gnav-list {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.l-header__gnav-list li {
	font-weight: bold;
	width: 100%;
}

@media screen and (min-width: 1400px) {
	.l-header__gnav-list li {}
}

.l-header__gnav-list li a {
	color: #2b2b2b;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 25px;
	height: 66px;
	vertical-align: middle;
}

.l-header__gnav-list li a:hover {
	color: #2b2b2b;
}

.l-header__gnav-list li a.active + .header-nav-child {
	display: block;
}

.header-nav-child {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #ccc;
	z-index: 10;
}

.l-header__gnav-sub {
	position: absolute;
	top: 66px;
	left: 0;
	width: 100%;
	background-color: white;
	display: none;
	z-index: 10;
}

.l-header__gnav-sub a {
	padding: 0;
}

.l-header__gnav-sub li {
	line-height: 1.8;
}

.l-header__gnav-sub__inner {
	width: 100%;
	background-color: var(--bg-mega);
}

.l-header__gnav-sub__cont {
	width: 840px;
	min-height: 260px;
	margin: 0 auto;
	padding: 60px 0;
	display: flex;
	justify-content: space-between;
}

.l-header__gnav-sub__cont .col {
	width: 33.33%;
}

.l-header__gnav-sub__cont .col p {
	font-size: 1.4rem;
	padding: 10px 0;
	line-height: 1.6;
}

.l-header__gnav-sub__cont .col_1 {
	padding: 0 30px 0 0;
}

.l-header__gnav-sub__cont .col_2,
.l-header__gnav-sub__cont .col_3 {
	position: relative;
	padding: 0 30px;
	font-weight: 400;
}

.l-header__gnav-sub__cont .col_2::before,
.l-header__gnav-sub__cont .col_3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 1px;
	background-color: #dcdcdc;
}

.l-header__gnav-sub__cont a.gnav_sub__menu {
	background-color: white;
	width: 90%;
	display: flex;
	flex-direction: column;
	position: relative;
	padding: 18px 16px;
	line-height: 1.6;
	transition: .5s;
}

.l-header__gnav-sub__cont a.gnav_sub__menu::before {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-top: solid 1px #2b2b2b;
	border-right: solid 1px #2b2b2b;
	transform: rotate(45deg) translateY(-50%);
}

.l-header__gnav-sub__cont a.gnav_sub__menu:hover {
	background-color: #4682b4;
	color: white;
}

.l-header__gnav-sub__cont a.gnav_sub__menu:hover::before {
	border-color: white;
}

.l-header__gnav-sub__cont .sub_lower__menu li {
	line-height: 2.6;
	padding: 0;
	margin: 0;
	position: relative;
}

.l-header__gnav-sub__cont .sub_lower__menu li a {
	position: relative;
	padding-left: 1.2em;
	font-weight: 400;
	font-size: 1.4rem;
	transition: .3s ease-in;
	text-align: left;
}

.l-header__gnav-sub__cont .sub_lower__menu li a:hover {
	color: #4682b4;
	transition: .3s ease-in;
}

.l-header__gnav-sub .l-header__gnav-sub {
	top: 60px;
	left: 10px;
	z-index: 11;
	max-width: 80%;
	min-width: 500px;
}

@basecolor: #f5f5f5;

.l-header__gnav-sub .l-header__gnav-sub .l-header__gnav-sub__cont {
	width: 100%;
	padding: 30px;
	min-height: auto;
	border: 1px solid #f5f5f5;
}

.l-header__gnav-sub .l-header__gnav-sub__cont .depth-odd {
	background-color: var(--bg-mega-odd);
}

.l-header__gnav-sub .l-header__gnav-sub__cont .depth-even {
	background-color: var(--bg-mega-even);
}

.l-header__search {
	margin-left: 30px;
	height: 30px;
	width: 30px;
}

.l-header__search p {
	cursor: pointer;
}

.l-header__search-area {
	background: #f5f5f5;
	position: absolute;
	top: 180px;
	left: 0;
	width: 100%;
	height: auto;
	display: none;
	z-index: 10;
}

.l-header__search-inner {
	width: 840px;
	margin: 0 auto;
	padding: 40px 0;
}

.l-header__search-inner #search_form {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.l-header__search-inner #search_form input {
	appearance: none;
	outline: none;
}

.l-header__search-inner #search_form input[type=text] {
	border: 1px solid #dcdcdc;
	padding: .4em .8em;
	width: 750px;
}

.l-header--pc {
	display: none;
}

@media screen and (min-width: 1025px) {
	.l-header--pc {
		display: block;
		display: flex;
		justify-content: flex-end;
	}
}

@media screen and (min-width: 1025px) {
	.l-header--sp {
		display: none;
	}
}

.header-discription {
	display: none;
	padding: 0 15px;
	font-size: 1.4rem;
	background: #efefef;
} 

@media screen and (min-width: 1025px) {
	.header-discription {
		display: block;
	}
}

.l-footer {
	margin-top: auto;
	position: relative;
	background:#000;
}

.l-footer__inner {
	max-width: 1080px;
	padding: 0 20px;
	margin: 0 auto;
	flex-direction: column;
}

@media screen and (min-width: 1025px) {
	.l-footer__inner {
		flex-direction: row;
	}
}

.l-footer__left {
	position: relative;
	color:#fff;
	display: flex;
	flex-direction: column;
	padding: 5vw 0;
	order: 2;
}

@media screen and (min-width: 1025px) {
	.l-footer__left {
		order: 1;
		
	}
}

.l-footer__right {
	color:#fff;
	order: 1;
}

@media screen and (min-width: 1025px) {
	.l-footer__right {
		order: 2;
		
	}
}

.l-footer__logo {
	margin-bottom: 40px;
}

.l-footer__logo img {
	width: 50vw;
	margin: 0 auto;
}

@media print,
	screen and (min-width: 600px) {
		.l-footer__logo img {
			width: 30vw;
		}
}

@media screen and (min-width: 1025px) {
	.l-footer__logo img {
		width: 250px;
		margin: 0;
	}
}

.l-footer__branch p{

}

.l-footer__branch-name {
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: .5em;
}

@media print,
	screen and (min-width: 600px) {
		.l-footer__branch {
			display: flex;
		}
		.l-footer__branch {
			align-items: end;
			display: flex;
		}
		.l-footer__branch-name {
			text-align: center;
		}
}

@media screen and (min-width: 1025px) {
	.l-footer__branch-name {
		font-size: 1.5rem;
		text-align: left;
	}
}

.l-footer__branch-address {
	font-size: 1.3rem;
}

@media print,
	screen and (min-width: 600px) {
		.l-footer__branch-address {
			padding-right: 80px;
		}
}

@media screen and (min-width: 1025px) {
	.l-footer__branch-address {
		font-size: 1.4rem;
		text-align: left;
	}
}

.l-footer__branch-address span {
	margin-left: 4em;
}

.l-footer__copyright {
	padding-top: 20px;
	font-size: 16px;
	margin-top: auto;
	text-align: center;
}

@media screen and (min-width: 600px) {
	.l-footer__copyright {
		padding: 0;
		margin-left: auto;
		text-align: right;
	}
}

.l-footer__sitemap {
	display: none;
	border-top: 1px solid #828282;
	border-bottom: 1px solid #828282;
}

@media screen and (min-width: 600px) {
	.l-footer__sitemap {
		padding: 5vw 0;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
	.l-footer__sitemap>ul{
		width: calc(100% / 4);
	}
}

.l-footer__sitemap-list li {
	margin-bottom: 1em;
	font-size: 1.3rem;
}
.l-footer__sitemap-list>li:first-child>a{
	display: inline-block;
    margin-bottom: 20px;
	font-weight: bold;
	font-size: 1.8rem;
}

.l-footer__sitemap-list li a{
	color:#fff;
	font-size: 1.5rem;
}
.l-footer__sitemap-list li ul {
	list-style: none;
	margin: 0 0 0 16px;
	padding: 0;
}

.l-footer__sitemap-list li ul li {
	font-weight: normal;

}

.l-footer__sitemap-list li ul li ul li {
	padding-left: 1em;
	position: relative;
}

.l-footer__sitemap-list li ul li ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	background-color: #2b2b2b;
	width: 6px;
	height: 1px;
}

.l-footer__sns {
	margin: 0 0 20px;
}

.l-footer__sns-list {
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 30px;
}

@media screen and (min-width: 1025px) {
	.l-footer__sns-list {
		justify-content: right;
	}
}

.l-footer__sns-list li {
	width:45px;
	height:45px;
	background:#fff;
	border-radius: 27px;
	font-size: 24px;
	line-height: 2;
	text-align:center;
}


.l-footer__sns-list li a{
	height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.l-footer__sns-list li a .fa-instagram:before{
	font-size: 28px;
}

.l-footer__link {
	margin: 0 0 10px;
	padding: 5vw 0;
}

@media print,
	screen and (min-width: 600px) {
		.l-footer__link {
			margin: 0;
			padding: 5vw 0;
		}
}

.l-footer__link-list {
	display: flex;
	width: 100%;
	flex-direction: row;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.l-footer__link-list .menu-item {
	width: calc((100% / 2) - 10px);
}

@media print,screen and (min-width: 600px) {
	.l-footer__link-list .menu-item {
		width: calc((100% / 3) - 10px);
	}
}

.l-footer__link-list .menu-item:hover {
	opacity: .7;
}

#page_top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 20;
}

@media print,
	screen and (min-width: 600px) {
		#page_top {
			right: 20px;
			bottom: 20px;
		}
}

#page_top a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	text-align: center;
	line-height: 1.4;
	transition: ease-in .3s;
	background-color: #2b2b2b;
	border-radius: 4px;
	color: white;
	position: relative;
}

.nav-btn {
	padding: 6px 26px;
	align-items: center;
	position: fixed;
	right: 10px;
    top: 10px;
	z-index: 110;
	cursor: pointer;
	color:#fff;
	background: linear-gradient(90deg, rgba(0,99,178,1) 0%, rgba(137,108,173,1) 100%);
	border: 0;
	border-radius:30px;
	display:flex;
}
.nav-btn>*{
	padding: 0 3px;
}
.nav-btn:hover{
	background:#fff;
	outline:1px solid #0063b2;
	color: #0063b2;
}
.nav-btn:hover i{
	color: #0063b2;
}
.nav-btn.active{
	background:#fff;
	border:1px solid #0063b2;
	color: #0063b2;
}
.nav-btn.active i{
	color: #0063b2;
}
.nav-btn .nav-btn-menu{
	display:block;
}
.nav-btn .nav-btn-close{
	display:none;
}
.nav-btn.active .nav-btn-menu{
	display:none;
}
.nav-btn.active .nav-btn-close{
	display:block;
}
@media print,
	screen and (min-width: 600px) {
		.nav-btn {

		}
}

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

@media print {
	.nav-btn {
		display: none;
	}
}

.nav-btn i {
	color: white;
	font-size: 22px;
}

.nav-btn.active i::before {
	font: var(--fa-font-solid);
	content: "\f00d";
}

.nav-btn.change-color {
	background-color: var(--bg-footer);
	transition: .2s ease-in;
}

.l-fullmenu {
	background:linear-gradient(90deg, rgba(0,99,178,1) 0%, rgba(137,108,173,1) 100%);
	display: none;
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	z-index: 102;
	overflow-y: scroll;
}

.l-fullmenu__inner {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	width: 100%;
	padding: 0 4%;
}

.l-fullmenu__nav {
	padding: 4%;
}
.l-fullmenu__head {
	height: 60px;
	display: flex;
	align-items: center;
}
.l-fullmenu__logo{
	padding: 60px 0;
	text-align: center;
}
.l-fullmenu__logo img{
	width: 160px;
	height: auto;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu__head {
			height: 100px;
		}
		.l-fullmenu__nav ul{
			display:flex;
			flex-wrap:wrap;
			justify-content: space-between;
		}
}

.l-fullmenu__head h1 img {
	min-width: 160px;
	width: 42vw;
	transition: .2s ease-in;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu__head h1 img {
			width: 200px;
		}
}

@media screen and (min-width: 1025px) {
	.l-fullmenu__head h1 img {
		width: 260px;
	}
}

.l-fullmenu__head h1 img:hover {
	opacity: .8;
	transition: .2s ease-in;
}

.l-fullmenu__subnav {
	padding: 10px 4vw;
}

.l-fullmenu__subnav-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu__subnav-list {
			gap: 20px;
		}
}

.l-fullmenu__subnav-list li {
	width: calc(50% - 5px);
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu__subnav-list li {
			width: calc(50% - 10px);
		}
}

.l-fullmenu__subnav-list li a {
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	border: 1px solid #dcdcdc;
	display: block;
	padding: 1.4em .4em;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu__subnav-list li a {
			font-size: 1.4rem;
			padding: 1em .4em;
		}
}

.l-fullmenu__nav .sub-menu {
	display: none;
	margin-left: 25px;
}

.l-fullmenu__sns {
	padding: 10px 4vw;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu__sns {
			padding: 20px 4vw;
		}
}

.l-fullmenu__sns-list {
	display: flex;
	font-size: 3.6rem;
	gap: 30px;
	justify-content: center;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu__sns-list {
			font-size: 3rem;
			gap: 40px;
		}
}

.l-fullmenu-ac {
	font-size: 1.4rem;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu-ac {
			font-size: 1.5rem;
		}
}
.l-fullmenu-ac > li {
	border-bottom: 1px solid #dcdcdc;
	position: relative;
}
.l-fullmenu-ac li a {
	align-items: center;
	display: flex;
	letter-spacing:0.2rem;
	padding: 25px 0;
	color:#fff;
}
.l-fullmenu-ac > li:has(a[href*="/en/news-list/"]) {
  display: none;
}
.l-fullmenu-ac li a span.menu-item-en{
	padding-left: 1rem;
	font-weight: 200;
}
.l-fullmenu-ac li::before{
    content: '';
    top: 50%;
    right: 16px;
    display: inline-block;
    width: 24px;
    height: 11.3px;
    background: #fff;
    clip-path: polygon(0 36.7%, 76.4% 36.7%, 76.4% 0, 100% 50%, 76.4% 100%, 76.4% 63.3%, 0 63.3%);
    position: absolute;
    transform: translateY(-50%);
}
@media print,
	screen and (min-width: 600px) {
		.l-fullmenu-ac li:nth-child(-n+2) {
			border-top: 1px solid #dcdcdc;
		}

		.l-fullmenu-ac > li {
			width:calc((100%/2) - 20px);
		}
		.l-fullmenu-ac li a {
			padding: 15px 0;
		}
		
}

.l-fullmenu-ac dl dt {
	padding: 14px 0;
	border-bottom: 1px solid #dcdcdc;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu-ac dl dt {
			padding: 15px 0;
		}
}

.l-fullmenu-ac dl dt a {
	display: block;
}

.l-fullmenu-ac .subpage {
	position: relative;
}

.l-fullmenu-ac .subpage.open:after {
	height: 0;
	transition: .2s ease-in;
}

.l-fullmenu-ac .subpage::before,
.l-fullmenu-ac .subpage::after {
	content: "";
	position: absolute;
	background-color: #9a5016;
	top: 50%;
	transform: translateY(-50%);
	transition: .2s ease-in;
}

.l-fullmenu-ac .subpage::before {
	right: 0;
	width: 15px;
	height: 1px;
}

.l-fullmenu-ac .subpage::after {
	right: 7px;
	width: 1px;
	height: 15px;
}

.l-fullmenu-ac2 li a {
	padding: 14px 0 14px 2em;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu-ac2 li a {
			padding: 15px 0 15px 2em;
		}
}

.l-fullmenu-ac2 p {
	padding: 14px 0 14px 2em;
	border-bottom: 1px solid #dcdcdc;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu-ac2 p {
			padding: 15px 0 15px 2em;
		}
}

.l-fullmenu-ac3 li a {
	padding: 14px 0 14px 4em;
}

@media print,
	screen and (min-width: 600px) {
		.l-fullmenu-ac3 li a {
			padding: 15px 0 15px 4em;
		}
}

.l-fullmenu-ac li.menu-item-has-children {
	position: relative;
}

.l-fullmenu-ac li.menu-item-has-children > a {
	width: calc(100% - 50px);
	color:#fff;
}

.l-fullmenu-ac li.menu-item-has-children > i::after {
	font-family: "Font Awesome 6 Free";
	content: "\2b";
	position: absolute;
	top: 13px;
	right: 0;
	padding: 0;
	display: block;
	width: 44px;
	line-height: 44px;
	border: 1px solid #ccc;
	text-align: center;
	font-size: 20px;
	font-style: normal;
}

.l-fullmenu-ac li.menu-item-has-children > i.active::after {
	content: "\f068";
}

.l-fullmenu-ac li.menu-item-has-children > i.active + .sub-menu {
	display: block;
}

.u-align--right {
	text-align: right;
}

.u-align--center {
	text-align: center;
}

.u-align--left {
	text-align: left;
}

.u-size--small {
	font-size: 1.3rem;
}

@media print,
	screen and (min-width: 600px) {
		.u-size--small {
			font-size: 1.4rem;
		}
}

.u-size--xsmall {
	font-size: 1.2rem;
}

@media print,
	screen and (min-width: 600px) {
		.u-size--xsmall {
			font-size: 1.3rem;
		}
}

.u-size--large {
	font-size: 1.6rem;
}

@media print,
	screen and (min-width: 600px) {
		.u-size--large {
			font-size: 1.8rem;
		}
}

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

.c-btn {
	position: relative;
	display: inline-block;
	padding: 1em 4.4em 1em 1.6em;
	background-color: #dcdcdc;
	color: #2b2b2b !important;
	text-decoration: none;
	text-align: left;
	transition: .3s ease-in-out;
	font-size: 1.3rem;
	width: 100%;
	border-bottom: none !important;
}

@media print,
	screen and (min-width: 600px) {
		.c-btn {
			width: auto;
			font-size: 1.5rem;
			padding: .8em 4.4em .8em 1.6em;
		}
}

.c-btn:visited,
.c-btn:active {
	color: #2b2b2b !important;
}

.c-btn:hover {
	background-color: #4682b4;
	color: white !important;
}

.c-btn:hover::after {
	color: white;
}

.c-btn::before {
	content: "";
	position: absolute;
	right: 48px;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 60%;
	background-color: white;
}

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

.c-btn__external {
	margin: 1em 0;
}

.c-btn__external::after {
	content: "\f35d";
}

.c-btn__pdf {
	margin: 1em 0;
}

.c-btn__pdf::after {
	content: "\f1c1";
}

.c-btn__twitter {
	margin: 1em 0;
	background-color: #1da1f2;
	color: white !important;
}

.c-btn__twitter:visited,
.c-btn__twitter:active {
	color: white !important;
}

.c-btn__twitter:hover {
	background-color: rgba(29, 161, 242, .7);
	color: white !important;
}

.c-btn__twitter::after {
	content: "\e61b";
	/*content: "\f099";*/
	font-family: "Font Awesome 5 Brands";
}

.c-btn__insta {
	margin: 1em 0;
	background-color: #e1306c;
	color: white !important;
}

.c-btn__insta:visited,
.c-btn__insta:active {
	color: white !important;
}

.c-btn__insta:hover {
	background-color: rgba(225, 48, 108, .7);
	color: white !important;
}

.c-btn__insta::after {
	content: "\f16d";
	font-family: "Font Awesome 5 Brands";
}

.c-btn__schedule {
	background-color: #1c3a57;
	color: white !important;
}

@media screen and (min-width: 1025px) {
	.c-btn__schedule {
		width: auto;
		font-size: 1.6rem;
		font-weight: bold;
		padding: 1em 6em 1em 2em;
		letter-spacing: .08em;
	}
}

.c-btn__schedule:visited,
.c-btn__schedule:active {
	color: white !important;
}

@media screen and (min-width: 1025px) {
	.c-btn__schedule::before {
		right: 60px;
	}
}

.c-btn__schedule::after {
	content: "\f1c1";
}

@media screen and (min-width: 1025px) {
	.c-btn__schedule::after {
		right: 24px;
	}
}

.btn--center {
	margin: 0 auto;
}

.btn--small {
	padding: .3em 0;
	width: 200px;
	font-size: 1.2rem;
}

@media print,
	screen and (min-width: 600px) {
		.btn--small {
			font-size: 1.3rem;
			padding: .2em 0;
		}
}

.btn--large {
	width: 90%;
	margin: 0 auto;
}

@media print,
	screen and (min-width: 600px) {
		.btn--large {
			width: 80%;
		}
}

@media screen and (min-width: 1025px) {
	.btn--large {
		width: 100%;
		font-size: 1.8rem;
	}
}

a {
	color: #2b2b2b;
	text-decoration: none;
}

a:visited {
	color: #2b2b2b;
}

a:hover,
a:focus,
a:active {
	color: rgb(0, 99, 178,0.8);
}

a:hover,
a:active {
	outline: 0;
}

.c-heading-top {
	padding: 60px 0 20px 0;
}

@media screen and (min-width: 600px) {
	.c-heading-top {
		padding: 100px 0 22px 0;
		max-width:1040px;
	}
}

.c-heading-top h2 {
	font-weight: bold;
	letter-spacing: .1em;
}

@media print,
screen and (min-width: 600px) {
		.c-heading-top h2 {
			font-size: 1.4rem;
			white-space: nowrap;
		}
}

@media screen and (min-width: 1025px) {
	.c-heading-top h2 {
		text-align: left;
		font-size: 1.6rem;
	}
}

.c-heading-top h2 span {
	text-transform: uppercase;
	font-size: 1.8rem;
	display: block;
}
.c-heading-top h2 .c-heading-top-en{
	color: #896cad;
}
.c-heading-top h2 .c-heading-top-jp{
	color: #0063b2;
	font-size: 4rem;
	font-weight: 500;
}

.c-heading-page {
	padding: 100px 0 20px 0;
}
.c-heading-page h1{
	padding-bottom: 8px;
	font-size: 6rem;
	font-weight:500 ;
	letter-spacing: .03em;
	line-height: 1.2;
	text-align: left;
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	-webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.c-heading-page h2{
	text-align: left;
	font-size: 3.4rem;
}
@media print,
	screen and (min-width: 600px) {
		.c-heading-page h1{
			display: inline-block;
			font-size: 12rem;
			line-height: 120px;
		}
		.c-heading-page {
			max-width: 1040px;
			margin: 0 auto;
			padding: 200px 0 40px 0;
		}
		
}

.c-heading-page > * {
	font-size: 1.8rem;
	line-height: 1.6;
	text-align: center;
	z-index: 1;
	color: #896cad;
	font-weight: 700;
	letter-spacing: .1em;
	word-wrap: break-word;
}

@media print,
	screen and (min-width: 600px) {
		.c-heading-page > * {
			font-size: 2.4rem;
		}
}

@media screen and (min-width: 1025px) {
	.c-heading-page > * {
		font-size: 2.8rem;
	}
}

.c-heading-page span {
	display: block;
	font-size: 1.4rem;
	padding-bottom: .2em;
}

@media print,
	screen and (min-width: 600px) {
		.c-heading-page span {
			font-size: 1.8rem;
		}
}

@media screen and (min-width: 1025px) {
	.c-heading-page span {
		font-size: 2rem;
		padding-bottom: .4em;
	}
}

.c-heading-page--bunkan {
	background-image: url(../img/photo-bunkan-01.jpg);
}

.c-heading-page--honkan {
	background-image: url(../img/photo-honkan-01.jpg);
}

.c-heading-page--gallery {
	background-image: url(../img/photo-kurosaki-02.jpg);
}

.c-list-news li {
	position: relative;
	margin: 0;
}


.c-list-news li:hover::after {
	width: 100%;
	transition: ease-in .3s;
}


.c-list-news li a {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	padding: 1em 0;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-news li a {
			padding: 1em 0;
		}
}

.c-list-news li a:hover,
.c-list-news li a:visited,
.c-list-news li a:active {
	color: #2b2b2b;
}

.c-list-news__date {
	font-size: 1.3rem;
	line-height: 1.4;
	margin: 30px 0 0 0;
	color: #896cad;
	font-weight: 500;
	width: 100%;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-news__date {
			width: 110px;
			font-size: 1.4rem;
			margin: 30px 0 0 0;
		}
}

.c-list-news__taxonomy {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 5px;
}

.c-list-news__cat {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 5px;
	margin: 5px 5px 5px 0;
}

.c-list-news__cat span {
	background-color: var(--bg-category);
	color: white;
	font-size: 1.2rem;
	line-height: 1.4;
	font-weight: bold;
	padding: .3em .6em;
}

.c-list-news__cat span::before {
	content: "\f07b";
	font-family: "Font Awesome 5 Free";
	padding-right: 5px;
	font-size: 1.2rem;
	vertical-align: middle;
	line-height: 1;
}

.c-list-news__tag {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 5px;
	margin: 5px 0;
}

.c-list-news__tag span {
	background-color: var(--bg-tag);
	color: white;
	font-size: 1.2rem;
	line-height: 1.4;
	font-weight: bold;
	padding: .3em .6em .1em;
	display: inline-block;
}

.c-list-news__tag span::before {
	content: "\f02b";
	font-family: "Font Awesome 5 Free";
	padding-right: 5px;
	font-size: 1.2rem;
	vertical-align: middle;
	line-height: 1;
}

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

	.c-list-news__tag span,
	.c-list-news__cat span {
		font-size: 1.3rem;
		padding: .2em .6em .1em;
	}
}

.c-list-news__ttl {
	font-size: 1.45rem;
	width: 100%;
	line-height: 1.6;
	margin-top: .5em;
}

@media screen and (min-width: 1025px) {
	.c-list-news__ttl {
		font-size: 1.6rem;
	}
}

.c-list-news__event span {
	font-size: 1.3rem;
	padding: .2em .6em .1em;
	border: 1px solid #2b2b2b;
	background-color: white;
}

.c-list-index {
	display: flex;
	flex-wrap: wrap;
	gap:39px;
	justify-content: space-between;
}

@media print,
	screen and (min-width: 600px) {
	.c-list-index::after{
		content:"";
		display: block;
		width: calc((100% / 3) - 26px);
	}
}


.c-list-index li {
	width: 100%;
	position: relative;
	margin: 0;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-index li {
			width: calc((100% / 3) - 26px);
		}
}



.c-list-index li:hover::after {
	width: 100%;
	transition: ease-in .3s;
}

.c-list-index li::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 100%;
	background-color: #ebebeb;
	transition: ease-in .3s;
	z-index: -1;
}

.c-list-index li a {
	display: block;
	transition: ease-in .3s;
	position: relative;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-index li a {
			
		}
}

@media screen and (min-width: 1025px) {
	.c-list-index li a {
		
	}
}

.c-list-index li a.btn-more{
	width: 160px;
	height: 48px;
	margin: 16px auto 0 auto;
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	border-radius: 50px;
	color: #fff;
	line-height: 48px;
	text-align: center;
}
/*
.c-list-index li a::after {
	content: "\f105";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #6f8083;
}
*/
.c-list-index li a[href$=".pdf"]::after {
	content: "\f1c1";
	font-family: "Font Awesome 5 Free";
}

.c-list-index__date {
	margin: 30px 0 10px 0;
	font-size: 1.3rem;
	font-weight: 400;
	color: #896cad;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-index__date {
			font-size: 1.4rem;
		}
}

@media screen and (min-width: 1025px) {
	.c-list-index__date {
		width: 130px;
	}
}

.c-list-index__ttl {
	font-size: 1.4rem;
	font-weight: 500;
	margin-top: 2px;
	width: 100%;
	line-height: 1.6;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-index__ttl {
			font-size: 1.6rem;
			margin-top: .2em;
		}
}

@media screen and (min-width: 1025px) {
	.c-list-index__ttl {
		flex: 1;
		margin-top: 0;
	}
}

.c-list-index__cat {
	margin-left: 30px;
	font-size: 1.2rem;
	color: white;
	background-color: #6f8083;
	border: 1px solid #6f8083;
	letter-spacing: .06rem;
	padding: 0 1em;
	white-space: nowrap;
	line-height: 23px;
	height: 23px;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-index__cat {
			font-size: 1.3rem;
			text-align: center;
		}
}

.c-list-link {
	list-style: none;
	padding: 0;
	margin: 0;
}

.c-list-link li {
	position: relative;
	border-top: 1px solid #dcdcdc;
	transition: .2s ease-in;
	font-weight: bold;
}

@media screen and (min-width: 1025px) {
	.c-list-link li {
		font-size: 1.8rem;
	}
}

.c-list-link li:last-child {
	border-bottom: 1px solid #dcdcdc;
}

.c-list-link li:hover {
	background-color: #f5f5f5;
	transition: .2s ease-in;
}

.c-list-link li:hover::before {
	right: -4px;
	transition: .2s ease-in;
}

.c-list-link li:hover::after {
	right: -8px;
	transition: .2s ease-in;
}

.c-list-link li::before {
	content: "";
	position: absolute;
	right: 4px;
	top: 50%;
	width: 16px;
	height: 1px;
	background-color: #2b2b2b;
	transition: .2s ease-in;
	transform: translateY(-50%);
}

.c-list-link li::after {
	content: "";
	position: absolute;
	right: 0;
	top: 49%;
	width: 9px;
	height: 9px;
	border-top: 1px solid #2b2b2b;
	border-right: 1px solid #2b2b2b;
	transform: rotate(45deg) translateY(-50%);
	transition: .2s ease-in;
}

.c-list-link li a {
	display: block;
	border-bottom: none;
	color: #2b2b2b;
	padding: 1em 0;
}

@media screen and (min-width: 1025px) {
	.c-list-link li a {
		padding: 1.6em 0;
	}
}

.c-list-link li a:hover {
	border-bottom: none;
}

.c-list-gallery {
	display: flex;
	flex-wrap: wrap;
}

.c-list-gallery li {
	width: 100%;
	border-top: 1px solid #dcdcdc;
	position: relative;
	margin: 0;
	padding: 1em 0;
}

.c-list-gallery li:last-child {
	border-bottom: 1px solid #dcdcdc;
}

.c-list-gallery li:hover::after {
	width: 100%;
	transition: ease-in .3s;
}

.c-list-gallery li::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 100%;
	background-color: #ebebeb;
	transition: ease-in .3s;
	z-index: -1;
}

.c-list-gallery li a {
	display: block;
	transition: ease-in .3s;
}

@media screen and (min-width: 1025px) {
	.c-list-gallery li a {
		display: flex;
		flex-direction: row;
	}
}

.c-list-gallery__ttl {
	font-size: 1.5rem;
	margin-top: 16px;
	width: 100%;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-gallery__ttl {
			font-size: 1.5rem;
			margin-top: .5em;
		}
}

@media screen and (min-width: 1025px) {
	.c-list-gallery__ttl {
		margin-top: 0;
	}
}

.c-list-search li {
	padding: 20px 0;
	border-bottom: 1px solid #dcdcdc;
}

.c-list-search li:first-child {
	border-top: 1px solid #dcdcdc;
}

@media screen and (min-width: 1025px) {
	.c-list-search li {
		padding: 30px;
	}
}

.c-list-search__date {
	font-size: 1.3rem;
	text-align: right;
	font-weight: bold;
	margin-top: 1em;
}

.c-list-search__title {
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: .5em;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-search__title {
			font-size: 1.6rem;
			line-height: 1.8;
		}
}

@media screen and (min-width: 1025px) {
	.c-list-search__title {
		font-size: 1.8rem;
		line-height: 2;
	}
}

.c-list-search__txt {
	font-size: 1.2rem;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-search__txt {
			font-size: 1.4rem;
		}
}

.c-list-nav {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	margin: 40px 0 !important;
}

.c-list-nav li {
	text-align: center;
	font-weight: bold;
	padding: 0 !important;
	margin: 0 1em 1em 0 !important;
}

.c-list-nav li::before {
	display: none;
}

.c-list-nav a {
	display: block;
	padding: .8em;
	transition: .2s ease-in;
	border: 1px solid #6f8083;
}

.c-list-nav a:hover {
	background-color: #f5f5f5;
}

.c-list-nav a.current {
	pointer-events: none;
}

.c-list-post ul li {
	border-bottom: 1px solid #dcdcdc;
	padding: .8em 0 !important;
	margin: 0 !important;
}

@media screen and (min-width: 1025px) {
	.c-list-post ul li {
		padding: 1.2em 0 !important;
	}
}

.c-list-post ul li::before {
	display: none;
}

.c-list-post ul li:hover::after {
	width: 100%;
	transition: ease-in .3s;
}

.c-list-post ul li::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #6f8083;
	transition: ease-in .3s;
}

.c-list-post ul li a {
	display: block;
	border-bottom: none !important;
	margin-top: .5em;
}

@media screen and (min-width: 1025px) {
	.c-list-post ul li a {
		display: inline-block;
		margin-top: 0;
	}
}

.c-list-post ul li span {
	display: inline-block;
	margin-right: 1em;
}

.c-list-post ul li span + a.label-15,
.c-list-post ul li span + a.label-16 {
	background-color: #9a5016;
	color: white;
	font-size: 1.2rem;
	padding: .1em .8em;
	display: inline-block;
	font-weight: bold;
}

@media print,
	screen and (min-width: 600px) {

		.c-list-post ul li span + a.label-15,
		.c-list-post ul li span + a.label-16 {
			font-size: 1.3rem;
			margin-right: 1em;
		}
}

.c-list-dl {
	margin: 1em 0;
	border-top: solid 1px #dcdcdc;
	border-right: solid 1px #dcdcdc;
	border-left: solid 1px #dcdcdc;
	display: flex;
	flex-direction: column;
	font-size: 1.4rem;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-dl {
			margin: 1em 0;
			flex-wrap: wrap;
			flex-direction: row;
			font-size: 1.6rem;
		}
}

.c-list-dl dt {
	padding: .6em 1em;
	background-color: #f5f5f5;
	border-bottom: solid 1px #dcdcdc;
	font-weight: bold;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-dl dt {
			width: 12em;
			padding: .6em 1em;
		}
}

.c-list-dl dd {
	padding: .6em 1em;
	border-bottom: solid 1px #dcdcdc;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-dl dd {
			width: calc(100% - 12em);
			padding: .6em 1em;
		}
}

.c-list-dl dd img {
	display: inline;
	max-width: none;
}

.c-list-dl dd a img {
	display: block;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-dl dd img {}
}

.c-list-common {
	margin: 0 0 1em !important;
	padding: 0;
	list-style: none;
}

.c-list-common li {
	position: relative;
	padding-left: 1em;
	margin-bottom: .2em;
}

.c-list-common li::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 2px;
	border: 1px solid #6f8083;
	width: 6px;
	height: 6px;
	border-radius: 50%;
}

.c-list-note {
	margin: .5em 0 !important;
	padding: 0;
	list-style: none;
}

.c-list-note li {
	position: relative;
	font-size: 1.2rem;
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: .2em;
	line-height: 1.7;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-note li {
			font-size: 1.4rem;
		}
}

.c-list-note li::before {
	content: "※";
}

.c-list-note li a {
	border-bottom: 1px solid #2b2b2b;
	transition: ease-in .2s;
}

ol.c-list-number {
	counter-reset: item;
	list-style-type: none;
	margin: 1em 0 !important;
	padding-left: 26px !important;
}

ol.c-list-number li {
	position: relative;
}

ol.c-list-number li:before {
	counter-increment: item;
	content: counter(item);
	position: absolute;
	left: -26px;
	top: 2px;
	color: white;
	/*
	font-family: "Lato", sans-serif;
	*/
	width: 21px;
	height: 21px;
	background-color: #6f8083;
	border: 1px solid #6f8083;
	font-size: 1.3rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media print,
	screen and (min-width: 600px) {
		ol.c-list-number li:before {
			top: 6px;
		}
}

ol.c-list-number li ol {
	counter-reset: sub;
	margin: 10px 0 10px 26px !important;
}

ol.c-list-number li ol li {
	position: relative;
}

ol.c-list-number li ol li::before {
	counter-increment: sub;
	content: counter(sub);
	position: absolute;
	left: -26px;
	color: #6f8083;
	background-color: white;
}

.c-list-archives li {
	border-bottom: 1px dotted #dcdcdc;
	padding: .4em 0;
	font-weight: bold;
}

.c-list-archives li span {
	font-size: 1.1rem;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-archives li span {
			font-size: 1.3rem;
		}
}

.c-list-archives li span.date {
	font-weight: normal;
	font-size: 1.2rem;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-archives li span.date {
			font-size: 1.4rem;
		}
}

.c-list-data {
	border-top: dotted 1px #dcdcdc;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	font-size: 1.4rem;
}

@media print,
	screen and (min-width: 600px) {
		.c-list-data {
			font-size: 1.5rem;
		}
}

.c-list-data dt {
	padding: .6em 0;
	border-bottom: dotted 1px #dcdcdc;
	font-weight: bold;
	width: 7em;
}

.c-list-data dd {
	padding: .6em 0;
	border-bottom: dotted 1px #dcdcdc;
	width: calc(100% - 7em);
}

.c-list-data dd span {
	margin-left: 1em;
}

 .l-main  .cat-list{
	padding: 30px 0 0;
	display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
}

@media screen and (min-width: 600px) {
    .l-main .cat-list{
		padding: 60px 0 0;
        gap: 39px;
		flex-wrap: nowrap;
    }
}

.cat-item{
	width: calc((100% / 2) - 16px);
	outline: 1px solid #0063b2;
}

@media screen and (min-width: 600px) {
	.cat-item{
		width:100%;
	}
}

.cat-item:hover{
	background:linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	outline: none;
}

.cat-item a{
	color: #0063b2;
	display: block;
	line-height:48px ;
	text-align: center;
	transition: 0.3s;
}

.cat-item:hover a{
	color: #fff;
	transition: 0.3s;
}

.cat-item.current-cat{
	background:linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	outline: none;
}

.cat-item.current-cat a{
	color: #fff;
}

.c-pagination {
	margin-top: 40px;
}

@media screen and (min-width: 1025px) {
	.c-pagination {
		margin-top: 60px;
	}
}

.c-pagination .pagination {
	display: flex;
	justify-content: center;
}

@media print,
	screen and (min-width: 600px) {
		.c-pagination .pagination {
			margin-top: 0;
			text-align: center;
		}
}

@media screen and (min-width: 1025px) {
	.c-pagination .pagination {
		margin-top: 20px;
	}
}

.c-pagination .nav-links {
	display: flex;
}

.c-pagination .nav-links a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	text-decoration: none;
	transition: all .3s ease;
	font-size: 1.3rem;
	color: #0063b2;
	background-color: white;
	border-radius: 50%;
	margin-right: 4px;
}

@media print,
	screen and (min-width: 600px) {
		.c-pagination .nav-links a {
			width: 80px;
			height: 80px;
			font-size: 24px;
			margin:0 8px;
		}
}

.c-pagination .nav-links a:hover {
	background:linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	color: #fff;
}

.c-pagination .nav-links a.prev,
.c-pagination .nav-links a.next {
	color: #0063b2;
	width: 28px;
	height: 28px;
}

@media print,
	screen and (min-width: 600px) {

		.c-pagination .nav-links a.prev,
		.c-pagination .nav-links a.next {
			width: 80px;
			height: 80px;
		}
}

.c-pagination .nav-links a.prev:hover,
.c-pagination .nav-links a.next:hover {
	background:linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	color: #fff;
}

.c-pagination .nav-links span.dots {
	color: #0063b2;
	width: 28px;
	height: 28px;
	text-align: center;
}

@media print,
	screen and (min-width: 600px) {
		.c-pagination .nav-links span.dots {
			width: 42px;
			height: auto;
			align-items: center;
			display: flex;
			justify-content: center;
		}
}

.c-pagination .nav-links span.current {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1ch;
	width: 28px;
	height: 28px;
	background:linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	border-radius: 50%;
	color: white;
	font-size: 1.3rem;
	margin-right: 4px;
}

@media print,
	screen and (min-width: 600px) {
		.c-pagination .nav-links span.current {
			width: 80px;
			height: 80px;
			font-size: 24px;
			margin:0 8px;
		}
}

input[type=submit],
input[type=button] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
	display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
	outline-offset: -2px;
}

.c-form-contact__list li {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}

@media screen and (min-width: 1025px) {
	.c-form-contact__list li {
		margin-bottom: 30px;
	}
}

.c-form-contact__list li:last-child {
	border-bottom: none;
}

.c-form-contact__title {
	margin-bottom: 8px;
	font-weight: bold;
}

.c-form-contact__title span {
	margin-left: 10px;
	font-size: 1.1rem;
	color: white;
	background-color: #ba2636;
	border-radius: 2px;
	padding: .2em .6em;
}

@media screen and (min-width: 1025px) {
	.c-form-contact__title span {
		margin-left: 16px;
	}
}

.c-form-contact__input {
	word-wrap: break-word;
}

.c-form-contact__input input[type=text],
.c-form-contact__input input[type=email],
.c-form-contact__input textarea,
.c-form-contact__input select {
	padding: 10px;
	background-color: #f5f5f5;
	border: 1px solid #dcdcdc;
	border-radius: 0;
	font-size: 1.6rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	caret-color: #6f8083;
	width: 100%;
}

.c-form-contact__input input[type=text]:focus,
.c-form-contact__input input[type=email]:focus,
.c-form-contact__input textarea:focus,
.c-form-contact__input select:focus {
	outline: none;
	border: 1px solid #9a5016;
}

.c-form-contact__input select {
	position: relative;
	display: block;
}

.c-form-contact__input select::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #2b2b2b;
	border-right: 1px solid #2b2b2b;
	transform: rotate(45deg) translateY(-50%);
	z-index: 10;
}

.c-form-contact__input ::-moz-placeholder {
	font-size: 1.3rem;
	color: rgba(43, 43, 43, .3);
}

.c-form-contact__input :-ms-input-placeholder {
	font-size: 1.3rem;
	color: rgba(43, 43, 43, .3);
}

.c-form-contact__input ::placeholder {
	font-size: 1.3rem;
	color: rgba(43, 43, 43, .3);
}

.c-form-contact__btn {
	margin-top: 40px;
	display: flex;
	gap: 20px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.c-form-contact__input input[type=text].tel-area {
	width: auto;
}

@media print,
	screen and (min-width: 600px) {
		.c-form-contact__btn {
			flex-direction: row;
		}
}

.c-form-contact__btn .btn {
	position: relative;
	display: inline-block;
	padding: 1.2em 2em;
	background-color: #6f8083;
	color: white;
	text-decoration: none;
	text-align: center;
	transition: .3s ease-in-out;
	font-size: 1.5rem;
	font-weight: bold;
	width: 100%;
	border-bottom: none !important;
}

@media print,
	screen and (min-width: 600px) {
		.c-form-contact__btn .btn {
			width: auto;
			font-size: 1.6rem;
			padding: 1em 4em;
		}
}

.c-form-contact__btn .btn:visited,
.c-form-contact__btn .btn:active {
	color: #2b2b2b !important;
}

.c-form-contact__btn .btn:hover {
	background-color: #4682b4;
	color: white !important;
}

.c-form-contact__btn .btn--back {
	background-color: #ebebeb;
	color: #6f8083;
}

.c-form-contact__confirm p {
	text-align: center;
}

.c-form-contact__confirm p.tel {
	margin-top: 1em;
	font-size: 1.8rem;
	/*
	font-family: "Lato", sans-serif;
	*/
}

@media print,
	screen and (min-width: 600px) {
		.c-form-contact__confirm p.tel {
			font-size: 2.4rem;
		}
}

.contact_caution {
	margin-top: 20px;
	color: #9a5016;
	font-weight: bold;
}

.btn_confirm {
	text-align: center;
}

.c-form-search {
	position: relative;
	width: 100%;
	height: 50px;
}

@media print,
	screen and (min-width: 600px) {
		.c-form-search {
			max-width: 250px;
		}
}

.c-form-search__box {
	height: 50px;
	width: 100%;
	padding: 0 10px;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 0;
	outline: 0;
	background: #ebebeb;
	border: none;
	-webkit-appearance: none;
}

.c-form-search__submit {
	height: 50px;
	width: 40px;
	position: absolute;
	right: 0;
	top: 0;
	border: none;
	border-radius: 0;
	background: #f5f5f5;
	border-top: 1px solid #f5f5f5;
	border-right: 1px solid #f5f5f5;
	border-bottom: 1px solid #f5f5f5;
}

.c-form-search__submit img {
	width: 22px;
}

.c-form-search__submit:hover {
	border-color: #f5f5f5;
	cursor: pointer;
}

.c-form-search button {
	padding: 0;
}

.c-form-search input[type=text] {
	border: 1px solid #f5f5f5;
	padding: 0 10px;
	border-radius: 0;
}

.c-form-application .title {
	font-weight: bold;
	font-size: 1.7rem;
	margin: 4em 0 0;
	border-bottom: 1px dotted #dcdcdc;
	padding-bottom: .8em;
}

.c-form-application .title span {
	font-size: 1.2rem;
	display: block;
	margin-top: .5em;
}

@media print,
	screen and (min-width: 600px) {
		.c-form-application .title span {
			display: inline;
			font-size: 1.4rem;
			margin-left: 2em;
			margin-top: 0;
		}
}

.c-form-application input[type=text],
.c-form-application input[type=email],
.c-form-application textarea,
.c-form-application select {
	padding: 3px 6px;
	background-color: #f5f5f5;
	border: 1px solid #dcdcdc;
	border-radius: 0;
	font-size: 1.6rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	caret-color: #6f8083;
	max-width: 100%;
}

.c-form-application input[type=text]:focus,
.c-form-application input[type=email]:focus,
.c-form-application textarea:focus,
.c-form-application select:focus {
	outline: none;
	border: 1px solid #9a5016;
}

.c-form-application input[type=text].full,
.c-form-application input[type=email].full {
	width: 100%;
}

.c-form-application textarea {
	width: 100%;
}

.c-form-application textarea.exhibition_detail,
.c-form-application textarea.purpose_other {
	margin-top: .5em;
}

@media screen and (min-width: 1025px) {
	.c-form-application select {
		font-size: 1.5rem;
	}
}

.c-form-application select.purpose_school {
	margin: .6em 0 0 1.6em;
	padding: 3px 10px;
}

.c-form-application dl {
	display: flex;
	flex-wrap: wrap;
}

.c-form-application dl dt {
	position: relative;
	width: 100%;
	padding: 1em 0 0;
	font-weight: bold;
}

@media print,
	screen and (min-width: 600px) {
		.c-form-application dl dt {
			border-bottom: 1px dotted #dcdcdc;
			width: 30%;
			padding: 1em;
			background-color: #f5f5f5;
			font-size: 1.4rem;
		}
}

@media screen and (min-width: 1025px) {
	.c-form-application dl dt {
		font-size: 1.5rem;
	}
}

.c-form-application dl dt span {
	margin-left: 10px;
	font-size: 1.1rem;
	line-height: 11px;
	color: white;
	background-color: #ba2636;
	border-radius: 2px;
	padding: .2em .3em;
}

@media print,
	screen and (min-width: 600px) {
		.c-form-application dl dt span {
			position: absolute;
			top: 25px;
			right: 20px;
			line-height: 11px;
		}
}

.c-form-application dl dd {
	width: 100%;
	padding: .5em 0 1em;
	border-bottom: 1px dotted #dcdcdc;
}

@media print,
	screen and (min-width: 600px) {
		.c-form-application dl dd {
			width: 70%;
			padding: 1em 0 1em 1em;
			font-size: 1.4rem;
		}
}

@media screen and (min-width: 1025px) {
	.c-form-application dl dd {
		font-size: 1.5rem;
	}
}

.c-form-application dl dd ul.number li {
	margin-bottom: .6em;
	font-size: 1.4rem;
}

.c-form-application dl dd ul.number li:last-child {
	margin-bottom: 0;
}

.c-form-application dl dd ul.number li label {
	display: inline-block;
	width: 6em;
}

.c-form-application dl dd ::-moz-placeholder {
	font-size: 1.3rem;
	color: rgba(43, 43, 43, .3);
}

.c-form-application dl dd :-ms-input-placeholder {
	font-size: 1.3rem;
	color: rgba(43, 43, 43, .3);
}

.c-form-application dl dd ::placeholder {
	font-size: 1.3rem;
	color: rgba(43, 43, 43, .3);
}

.c-form-application dl dd .sub_area {
	margin: 10px 0 0 29px;
	font-size: 1.5rem;
}

.c-form-application dl dd .sub_area p {
	font-size: 1.4rem;
}

.c-form-application dl dd .note_area {
	margin: 10px 0 0;
}

.c-form-application dl dd .note_area p {
	font-size: 1.2rem;
	margin: 0 !important;
	line-height: 1.6;
	color: #696969;
}

@media print,
	screen and (min-width: 600px) {
		.c-form-application dl dd .note_area p {
			font-size: 1.3rem;
			line-height: 1.8;
		}
}

.c-breadcrumb {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

@media print,
	screen and (min-width: 600px) {
		.c-breadcrumb {
			max-width: 1040px;
			margin: 0 auto;
			border-top: none;
		}
}

ul.c-breadcrumb-list {
	margin: 0;
	padding: 0 0 20px 0;
	border-bottom: 1px solid #b7b7b7;
	list-style: none;
	line-height: 1.1;
}

@media print,
	screen and (min-width: 600px) {
		ul.c-breadcrumb-list {
			padding-bottom: 40px;
			line-height: 1.3;
		}
}

@media screen and (min-width: 1025px) {
	.c-breadcrumb-list {
		white-space: normal;
	}
}

.c-breadcrumb-list li {
	display: inline;
	list-style: none;
	font-size: 1.1rem;
	letter-spacing: .04em;
	position: relative;
	padding-right: 12px;
	color: #2b2b2b;
}

.c-breadcrumb-list li:last-child a{
	color: #0063B2;
	text-decoration: underline;
}

@media print,
	screen and (min-width: 600px) {
		.c-breadcrumb-list li {
			font-size: 1.2rem;
		}
}

.c-breadcrumb-list li:last-child::after {
	display: none;
}

.c-breadcrumb-list li::after {
	content: "/";
	left: 6px;
	position: relative;
}

.c-breadcrumb-list li a {
	text-decoration: none;
	transition: ease-in .2s;
}

.c-breadcrumb-list li br {
	display: none;
}

.c-breadcrumb span {
	font-size: 1.4rem;
}

.c-txt--right {
	text-align: right;
}

.c-txt--center {
	text-align: center;
}

.c-txt--sign {
	text-align: right;
	margin-top: 2em;
}

.c-txt--small {
	font-size: 1.3rem;
}

@media print,
	screen and (min-width: 600px) {
		.c-txt--small {
			font-size: 1.4rem;
		}
}

.c-txt--red {
	color: #ba2636;
}

.c-table-survey {
	border-collapse: collapse;
	margin-bottom: 40px;
}

.c-table-survey th,
.c-table-survey td {
	border: 1px solid #6f8083;
	padding: 10px;
	font-size: 1.4rem;
}

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

	.c-table-survey th,
	.c-table-survey td {
		padding: 12px 14px;
		font-size: 1.6rem;
	}
}

.c-table-survey th {
	background-color: #f5f5f5;
	white-space: nowrap;
}

@media screen and (min-width: 1025px) {
	.c-table-survey th {
		padding: 12px 20px;
	}
}

.c-table-membership {
	border-collapse: collapse;
	margin-bottom: 40px;
	width: 100%;
}

.c-table-membership th,
.c-table-membership td {
	border: 1px solid #6f8083;
	padding: 10px;
	font-size: 1.4rem;
}

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

	.c-table-membership th,
	.c-table-membership td {
		font-size: 1.6rem;
		padding: 12px 14px;
	}
}

.c-table-membership th {
	background-color: #f5f5f5;
}

.c-table-membership td.center {
	text-align: center;
}

.c-table-fee {
	border-collapse: collapse;
	margin-bottom: 20px;
	width: 100%;
}

.c-table-fee th,
.c-table-fee td {
	border: 1px solid #dcdcdc;
	padding: 10px;
	text-align: center;
	font-size: 1.4rem;
}

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

	.c-table-fee th,
	.c-table-fee td {
		padding: 12px 14px;
		font-size: 1.6rem;
	}
}

.c-table-fee th {
	background-color: #f5f5f5;
	white-space: nowrap;
}

#c-backtotop {
	position: fixed;
	bottom: 33px;
	right: 20px;
	z-index: 10;
	opacity: 0;
	transform: translateX(100px);
}

@media print,
	screen and (min-width: 600px) {
		#c-backtotop {
			bottom: 20px;
			right: 20px;
		}
}

@media screen and (min-width: 1025px) {
	#c-backtotop {
		bottom: 60px;
		right: 0;
	}
}

#c-backtotop a {
	display: block;
	width: 44px;
	height: 44px;
	background-image: url(../img/backtotop_sp.png);
	background-size: 44px 44px;
	background-repeat: no-repeat;
}

@media print,
	screen and (min-width: 600px) {
		#c-backtotop a {
			width: 44px;
			height: 44px;
			background-size: 44px 44px;
		}
}

@media screen and (min-width: 1025px) {
	#c-backtotop a {
		width: 50px;
		height: 140px;
		background-image: url(../img/backtotop_pc.png);
		background-size: 50px 140px;
	}
}

#c-backtotop a:hover {
	opacity: .8;
	transition: .2s ease-in;
}

#c-backtotop.LeftMove {
	-webkit-animation: LeftAnime .5s forwards;
	animation: LeftAnime .5s forwards;
}

#c-backtotop.RightMove {
	-webkit-animation: RightAnime .5s forwards;
	animation: RightAnime .5s forwards;
}

@-webkit-keyframes LeftAnime {
	from {
		opacity: 0;
		transform: translateX(100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes LeftAnime {
	from {
		opacity: 0;
		transform: translateX(100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@-webkit-keyframes RightAnime {
	from {
		opacity: 1;
		transform: translateX(0);
	}

	to {
		opacity: 1;
		transform: translateX(100px);
	}
}

@keyframes RightAnime {
	from {
		opacity: 1;
		transform: translateX(0);
	}

	to {
		opacity: 1;
		transform: translateX(100px);
	}
}

.c-gallery {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
	margin: 20px 0;
}

@media print,
	screen and (min-width: 600px) {
		.c-gallery {
			gap: 30px;
			margin: 40px 0;
		}
}

.c-gallery img {
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	margin: 0 !important;
}

@media print,
	screen and (min-width: 600px) {
		.c-gallery img {
			width: calc(50% - 15px);
		}
}

.c-timeline {
	position: relative;
}

.c-timeline__line {
	border-right: 2px solid #6f8083;
	left: 10px;
	position: absolute;
	top: 12px;
	height: calc(100% - 12px);
}

.c-timeline__item {
	list-style-type: none;
	margin: 0;
	padding: 0 0 2em;
}

.c-timeline__item:last-of-type {
	padding-bottom: 0;
}

.c-timeline__top {
	align-items: center;
	display: flex;
}

.c-timeline__circle {
	background-color: #6f8083;
	border-radius: 9999px;
	height: 22px;
	width: 22px;
}

.c-timeline__title {
	flex: 1;
	padding-left: 18px;
	color: #6f8083;
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: .4em;
}

@media print,
	screen and (min-width: 600px) {
		.c-timeline__title {
			padding-left: 26px;
			font-size: 1.8rem;
		}
}

.c-timeline__title span {
	text-transform: uppercase;
	/*
	font-family: "Lato", sans-serif;
	*/
	font-size: 1.6rem;
	margin-right: 1em;
}

.c-timeline__desc {
	margin-left: 40px;
}

@media print,
	screen and (min-width: 600px) {
		.c-timeline__desc {
			margin-left: 48px;
		}
}

.c-timeline__desc p {
	margin-bottom: 1em;
}

.p-top-eyecatch {
	width: 100%;
	max-width: 1280px;
	height: calc(100vh - 60px);
	max-height: 880px;
	overflow: hidden;
	margin: 0 auto;
	position: relative;
	padding: 0;
	background-image: url("img/p-top-eyecatch-bg.png");
	background-size: 609px,contain;
	background-position: bottom 60px right 30px;
	background-repeat: no-repeat;
}

/*
@media screen and (max-width: 599px) {
.p-top-eyecatch {
  	background-position: top left;
    background-size: calc(100vh - 200px), contain;
  }
}
*/

.p-top-eyecatch-copy{
	left: 10px;
	bottom: 10px;
	position: absolute;

}
.p-top-eyecatch-copy .p-top-eyecatch-jp{
	color: #896cad;
	font-size: 3rem;
	font-weight: 500;
}
.p-top-eyecatch-copy .p-top-eyecatch-en{
	font-size: 5rem;
	font-weight: 500;
	line-height: 7rem;
	background:linear-gradient(90deg, rgba(0,99,178,1) 0%, rgba(137,108,173,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media screen and (min-width: 600px) {
	.p-top-eyecatch {
		height: 100vh;
	}
	.p-top-eyecatch-copy .p-top-eyecatch-jp{
		font-size: 40px;
	}
	.p-top-eyecatch-copy .p-top-eyecatch-en{
		font-size: 74.24px;
		line-height: 10rem;
	}
}
.p-top-notice {
	background-color: #f5f5f5;
	max-width: 1040px;
	margin: 30px 4vw;
	padding: 4vw;
}

@media screen and (min-width: 600px) {
	.p-top-notice {
		padding: 40px;
		margin: 60px 4vw;
	}
}

@media screen and (min-width: 1400px) {
	.p-top-notice {
		margin: 60px auto;
	}
}

.p-top-notice__item {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px dotted #dcdcdc;
}

.p-top-notice__item:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.p-top-notice__ttl {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: .4em;
	text-align: center;
}

@media print,
	screen and (min-width: 600px) {
		.p-top-notice__ttl {
			font-size: 1.8rem;
			text-align: left;
		}
}

@media screen and (min-width: 1025px) {
	.p-top-notice__ttl {
		font-size: 2rem;
	}
}

.p-top-notice__txt {
	font-size: 1.3rem;
	line-height: 1.6;
}

@media screen and (min-width: 1025px) {
	.p-top-notice__txt {
		font-size: 1.6rem;
	}
}

.p-top-news__btn {
	text-align: right;
	margin-top: 20px;
}

@media print,
	screen and (min-width: 600px) {
		.p-top-news__btn {
			margin-top: 40px;
		}
}

.p-top-event {
	padding: 60px 20px 40px;
}

@media print,
	screen and (min-width: 600px) {
		.p-top-event {
			padding: 60px 40px;
		}
}

@media screen and (min-width: 1025px) {
	.p-top-event {
		padding: 100px 0 80px;
		width: calc(50% - 50px);
	}
}

.p-top-event__btn {
	text-align: right;
	margin-top: 20px;
}

@media print,
	screen and (min-width: 600px) {
		.p-top-event__btn {
			margin-top: 40px;
		}
}

.p-top-topics_inner,
.p-top-branch {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	padding: 20px 0;
	gap: 20px;
	max-width: 1040px;
	margin: 0 auto;
}

@media print,
	screen and (min-width: 600px) {
		.p-top-topics_inner,
		.p-top-branch {
			padding: 60px 0;
			flex-direction: row;
		}
}

@media screen and (min-width: 1025px) {
	.p-top-topics_inner,
	.p-top-branch {
		flex-direction: row;
		padding: 60px 0 20px;
		gap: 20px;
	}
}

@media screen and (min-width: 1400px) {
	.p-top-topics_inner,
	.p-top-branch {
		padding: 80px 0 40px;
		gap: 40px;
	}
}

@media screen and (min-width: 600px) {
	.l-main:has(+aside) .p-top-topics_inner,
	.l-main:has(+aside) .p-top-branch {
		padding: 20px;
	}
}

@media screen and (min-width: 1400px) {
	.l-main:has(+aside) .p-top-topics_inner,
	.l-main:has(+aside) .p-top-branch {
		padding: 40px;
	}
}

.p-top-branch__item {
	background-color: #f5f5f5;
	padding: 6vw;
}

@media screen and (min-width: 600px) {
	.p-top-branch__item {
		width: calc((100% - 20px) / 2);
		padding: 20px;
	}
}

@media screen and (min-width: 1025px) {
	.p-top-branch__item {
		width: calc((100% - 80px) / 3);
		padding: 20px;
	}
}

.p-top-branch__item-img {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	/* height: 200px; */
	overflow: hidden;
}

/*
@media screen and (min-width: 1025px) {
.p-top-branch__item-img {
height: 320px;
}
}

@media screen and (min-width: 1400px) {
.p-top-branch__item-img {
height: 400px;
}
}
*/

.p-top-branch__item-img:hover figcaption {
	opacity: .8;
}

.p-top-branch__item-img:hover figcaption p {
	transition-delay: .1s;
	opacity: 1;
}

.p-top-branch__item-img img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.p-top-branch__item-img figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: var(--bg-page-ttl);
	transition: .3s ease-in;
	opacity: 0;
	text-align: center;
}

.p-top-branch__item-img figcaption p {
	font-size: 2.8rem;
	color: white;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: .3s ease-in;
	font-weight: bold;
	line-height: 1.6;
}

.p-top-branch__item-ttl {
	text-align: center;
	margin: 16px 0 10px;
	font-size: 1.6rem;
}



.p-top-branch__item-txt {
	letter-spacing: .1em;
	font-size: 1.3rem;
	line-height: 1.6;
}

@media print,
	screen and (min-width: 600px) {
		.p-top-branch__item-txt {
			font-size: 1.4rem;
		}
}

@media screen and (min-width: 1025px) {
	.p-top-branch__item-txt {
		margin: 0 3% 10px;
		font-size: 1.5rem;
		line-height: 1.8;
	}
}

@media screen and (min-width: 1400px) {
	.p-top-branch__item-txt {
		margin: 0 6% 16px;
	}
}

/*
.p-page__content h3 {
font-size: 1.8rem;
letter-spacing: .08em;
text-align: center;
position: relative;
padding-bottom: 60px;
margin-bottom: 20px;
}

@media print,
screen and (min-width: 600px) {
.p-page__content h3 {
font-size: 2rem;
padding-bottom: 80px;
margin-bottom: 30px;
}
}

@media screen and (min-width: 1025px) {
.p-page__content h3 {
font-size: 2.6rem;
padding-bottom: 100px;
margin-bottom: 40px;
}
}

.p-page__content h3::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
width: 1px;
height: 50px;
background-color: #2b2b2b;
}

@media print,
screen and (min-width: 600px) {
.p-page__content h3::after {
height: 60px;
}
}

@media screen and (min-width: 1025px) {
.p-page__content h3::after {
height: 80px;
}
}

.p-page__content h3 span {
display: block;
font-size: 1.3rem;
}

@media print,
screen and (min-width: 600px) {
.p-page__content h3 span {
font-size: 1.6rem;
}
}

@media screen and (min-width: 1025px) {
.p-page__content h3 span {
font-size: 1.8rem;
}
}

.p-page__content h4 {
background-color: #ebebeb;
font-size: 1.6rem;
padding: .6em .8em;
margin-bottom: 20px;
line-height: 1.6;
text-align: center;
letter-spacing: .08em;
}

@media print,
screen and (min-width: 600px) {
.p-page__content h4 {
padding: .4em .8em;
font-size: 2rem;
margin-bottom: 30px;
}
}

@media screen and (min-width: 1025px) {
.p-page__content h4 {
font-size: 2rem;
padding: .6em .8em;
}
}

.p-page__content h5 {
font-size: 1.6rem;
margin-bottom: 40px;
line-height: 1.4;
position: relative;
}

@media print,
screen and (min-width: 600px) {
.p-page__content h5 {
font-size: 1.8rem;
}
}

@media screen and (min-width: 1025px) {
.p-page__content h5 {
font-size: 1.8rem;
}
}

.p-page__content h5:after {
content: "";
position: absolute;
bottom: -16px;
left: 0;
height: 1px;
width: 100%;
background-color: #2b2b2b;
}

.p-page__content h6 {
font-size: 1.5rem;
margin-bottom: 20px;
line-height: 1.4;
}

@media print,
screen and (min-width: 600px) {
.p-page__content h6 {
font-size: 1.6rem;
line-height: 1.8;
}
}

@media screen and (min-width: 1025px) {
.p-page__content h6 {
font-size: 1.6rem;
}
}

.p-page__content section {
margin-bottom: 40px;
}

@media print,
screen and (min-width: 600px) {
.p-page__content section {
margin-bottom: 60px;
}
}

@media screen and (min-width: 1025px) {
.p-page__content section {
margin-bottom: 80px;
}
}

.p-page__content section:last-of-type {
margin-bottom: 0;
}

.p-page__content img {
max-width: 100%;
margin: 2em 0;
}

.p-page__content img.center {
margin: 2em auto;
}

.p-page__content hr {
border: 0;
margin: 2em 0;
border-top: 1px solid #dcdcdc;
}

@media screen and (min-width: 1025px) {
.p-page__content hr {
margin: 4em 0;
}
}

.p-page__content a {
color: #4682b4;
border-bottom: 1px solid #4682b4;
transition: ease-in .2s;
}

.p-page__content a:hover {
color: #6f8083;
border-bottom: 1px solid #6f8083;
}

.p-page__content a[href$=".pdf"]::after {
content: "\f1c1";
font-family: "Font Awesome 5 Free";
font-weight: 900;
margin-left: .3em;
}

.p-page__content a[href*=".doc"]::after,
.p-page__content a[href*=".docx"]::after {
content: "\f1c2";
font-family: "Font Awesome 5 Free";
font-weight: 900;
margin-left: .3em;
}

.p-page__content a[href*=".xlsx"]::after {
content: "\f1c3";
font-family: "Font Awesome 5 Free";
font-weight: 900;
margin-left: .3em;
}

.p-page__content p strong {
font-weight: bold;
}

.p-page__content p strong.red {
color: #ba2636;
}

.p-page__content p + h3,
.p-page__content ul + h3,
.p-page__content dl + h3,
.p-page__content ol + h3,
.p-page__content div + h3 {
margin-top: 60px;
}

.p-page__content p + h4,
.p-page__content p + h5,
.p-page__content ul + h4,
.p-page__content ul + h5,
.p-page__content dl + h4,
.p-page__content dl + h5,
.p-page__content ol + h4,
.p-page__content ol + h5,
.p-page__content div + h4,
.p-page__content div + h5 {
margin-top: 60px;
}

.p-page__content ol {
margin: 0 0 1em 2.5em;
padding: 0;
}

.p-page__content ol li {
margin-bottom: .4em;
}

.p-page__content ol li a {
border-bottom: 1px solid #2b2b2b;
transition: ease-in .2s;
}
*/

.p-page__footer {
	padding: 30px 0;
	margin: 0;
}

@media screen and (min-width: 1025px) {
	.p-page__footer {
		padding: 60px 0;
	}
}

.p-page__edit a {
	border: 1px solid #6f8083;
	color: #6f8083;
	padding: .8em 1em;
	font-size: 1.3rem;
}

@media print,
	screen and (min-width: 600px) {
		.p-page__edit a {
			font-size: 1.4rem;
		}
}

.p-page__edit a:hover {
	background-color: #f5f5f5;
}

.p-page-subnav {
	margin-bottom: 40px;
}

@media print,
	screen and (min-width: 600px) {
		.p-page-subnav {
			margin-bottom: 60px;
		}
}

@media screen and (min-width: 1025px) {
	.p-page-subnav {
		margin-bottom: 60px;
	}
}

.p-page-subnav__list {
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 16px;
}

@media print,
	screen and (min-width: 600px) {
		.p-page-subnav__list {
			gap: 20px;
		}
}

@media screen and (min-width: 1025px) {
	.p-page-subnav__list {
		gap: 40px;
	}
}

.p-page-subnav__list li {
	padding: 0 !important;
	margin: 0 !important;
}

@media screen and (min-width: 1025px) {
	.p-page-subnav__list li {
		width: calc(50% - 20px);
	}
}

.p-page-subnav__list li::before {
	display: none;
}

.p-page-subnav__list li::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 1px solid #2b2b2b;
	border-top: 1px solid #2b2b2b;
	transform: rotate(45deg) translateY(-50%);
}

.p-page-subnav__list li a {
	border: 1px solid #dcdcdc !important;
	padding: 14px 20px;
	display: block;
	transition: .3s ease-in;
	font-weight: bold;
	font-size: 1.4rem;
	letter-spacing: .08em;
	color: #2b2b2b;
}

@media screen and (min-width: 1025px) {
	.p-page-subnav__list li a {
		padding: 40px 20px;
		font-size: 1.8rem;
	}
}

.p-page-subnav__list li a:hover {
	background-color: #f5f5f5;
	color: #2b2b2b;
	transition: .3s ease-in;
}

.p-page-nav {
	margin-bottom: 40px;
}

@media print,
	screen and (min-width: 600px) {
		.p-page-nav {
			margin-bottom: 60px;
		}
}

@media screen and (min-width: 1025px) {
	.p-page-nav {
		margin-bottom: 60px;
	}
}

.p-page-nav__list {
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
}

@media print,
	screen and (min-width: 600px) {
		.p-page-nav__list {
			justify-content: center;
			gap: 20px;
		}
}

@media screen and (min-width: 1025px) {
	.p-page-nav__list {
		gap: 10px;
	}
}

.p-page-nav__list li {
	padding: 0 !important;
	margin: 0 !important;
}

.p-page-nav__list li::before {
	display: none;
}

.p-page-nav__list li a {
	border: 1px solid #dcdcdc !important;
	padding: 8px 16px;
	display: block;
	transition: .3s ease-in;
	font-weight: bold;
	font-size: 1.4rem;
	color: #2b2b2b;
}

@media screen and (min-width: 1025px) {
	.p-page-nav__list li a {
		padding: 10px 20px;
		font-size: 1.5rem;
	}
}

.p-page-nav__list li a:hover {
	background-color: #f5f5f5;
	color: #2b2b2b;
	transition: .3s ease-in;
}

.p-page-nav__list li a.current {
	background-color: #6f8083;
	color: white;
	pointer-events: none;
}

.p-page-anchor {
	margin-bottom: 40px;
}

@media print,
	screen and (min-width: 600px) {
		.p-page-anchor {
			margin-bottom: 60px;
		}
}

@media screen and (min-width: 1025px) {
	.p-page-anchor {
		margin-bottom: 80px;
	}
}

.p-page-anchor__list {
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 !important;
}

.p-page-anchor__list li {
	padding: 0 !important;
	margin: 0 !important;
}

.p-page-anchor__list li::before {
	display: none;
}

.p-page-anchor__list li a {
	display: block;
	transition: .3s ease-in;
	font-weight: bold;
	font-size: 1.3rem;
	color: #2b2b2b;
	position: relative;
	border-bottom: none !important;
	background-color: #6f8083;
	color: white;
	padding: .4em 1.2em;
	border-radius: 20px;
}

@media screen and (min-width: 1025px) {
	.p-page-anchor__list li a {
		padding: .2em 1.2em;
		font-size: 1.5rem;
	}
}

.p-page-anchor__list li a:hover {
	background-color: #4682b4;
	transition: .3s ease-in;
	color: white;
}

.p-page__content{
	padding-bottom: 60px;

}

.p-single{
	padding: 30px;
	background: #fff;
}

@media screen and (min-width: 1025px) {
	.p-single{
		padding: 60px;
	}
}

.p-single-head {
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 0;
	border-bottom: 1px solid #dcdcdc;
}

@media screen and (min-width: 1025px) {
	.p-single-head {
		margin-bottom: 60px;
		padding-bottom: 5px;
	}
}

.p-single-head h2{
	padding-bottom: 14px;
	font-size: 32px;
	line-height: 1.6;
}

.p-single__title {
	font-weight: normal;
	font-size: 1.6rem;
	width: 100%;
	margin-bottom: 20px;
	word-wrap: break-word;
	/*
	font-family: "Lato", sans-serif;
	*/
	font-weight: 600;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__title {
			font-size: 2rem;
		}
}

@media screen and (min-width: 1025px) {
	.p-single__title {
		font-size: 2.2rem;
		margin-bottom: 40px;
	}
}

.p-single__info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.p-single__posted {
	color: #896CAD;
	font-size: 1.3rem;
	margin-right: 1em;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__posted {
			font-size: 1.4rem;
			margin-right: 2em;
		}
}

.p-single__cat {
	margin-right: 15px;
}

.p-single__cat a {
	font-size: 1.2rem;
	font-weight: 600;
	color: white;
	background-color: var(--bg-category);
	padding: .1em .6em 0;
	display: inline-block;
}

.p-single__tag a {
	font-size: 1.2rem;
	font-weight: 600;
	color: white;
	background-color: var(--bg-tag);
	padding: .1em .6em 0;
	display: inline-block;
}

.p-single__tag a + a,
.p-single__cat a + a {
	margin-left: 7px;
}

@media print,
	screen and (min-width: 600px) {

		.p-single__tag a,
		.p-single__cat a {
			font-size: 1.3rem;
			padding: 0 1em;
		}
}

.p-single__content p {
	line-height: 1.8;
	margin-bottom: 1em;
	word-wrap: break-word;
}

.p-single__content p strong {
	font-weight: bold;
}

.p-single__content p strong.red {
	color: #ba2636;
}

.p-single__content p a {
	border-bottom: 1px solid #2b2b2b;
	transition: ease-in .2s;
}

.p-single__content img {
	max-width: 100%;
	height: auto;
}

.p-single__content h1,
.p-single__content h2,
.p-single__content h3,
.p-single__content h4,
.p-single__content h5,
.p-single__content h6 {
	margin: 1em 0;
}

.p-single__content h1 {
	font-size: 1.7rem;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__content h1 {
			font-size: 2.4rem;
		}
}

.p-single__content h2 {
	font-size: 1.6rem;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__content h2 {
			font-size: 2.2rem;
		}
}

.p-single__content h3 {
	font-size: 1.5rem;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__content h3 {
			font-size: 2rem;
		}
}

.p-single__content a[target=_blank]::after {
	content: "\f35d";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: .3em;
}

.p-single__content a[href$=".pdf"]::after {
	content: "\f1c1";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: .2em;
}

.p-single__content a[href*=".docx"]::after {
	content: "\f1c2";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: .2em;
}

.p-single__content a[href*=".xlsx"]::after {
	content: "\f1c3";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: .3em;
}

/*
.p-single__gallery {
-moz-column-count: 2;
column-count: 2;
margin: 40px 0;
}

@media print,
screen and (min-width: 600px) {
.p-single__gallery {
-moz-column-count: 3;
column-count: 3;
}
}

.p-single__gallery-item {
margin: 0 auto 15px;
width: 100%;
}
*/

.p-single__footer {
	padding: 60px 0 0;
}

@media screen and (min-width: 1025px) {
	.p-single__footer {
		padding: 80px 0 0;
	}
}

.p-single__nav {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	justify-content: center;
	margin-top: 60px !important;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__nav {
			margin-top: 100px !important;
		}
}

.p-single__nav li:hover {
	transition: .3s ease-in;
}

.p-single__nav li.prev {
	background-color: #f5f5f5;
}

.p-single__nav li.prev:hover {
	background-color: #f5f5f5;
}

.p-single__nav li.prev a {
	position: relative;
	padding: .6em 1.2em .6em 2em;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__nav li.prev a {
			padding: .6em 1.4em .6em 2em;
		}
}

.p-single__nav li.prev a::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -2px;
	border-bottom: 1px solid #6f8083;
	border-left: 1px solid #6f8083;
	transform: rotate(45deg) translateY(-50%);
}

@media print,
	screen and (min-width: 600px) {
		.p-single__nav li.prev a::before {
			left: 14px;
		}
}

.p-single__nav li.next {
	background-color: #f5f5f5;
}

.p-single__nav li.next:hover {
	background-color: #f5f5f5;
}

.p-single__nav li.next a {
	position: relative;
	padding: .6em 2em .6em 1.2em;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__nav li.next a {
			padding: .6em 2em .6em 1.4em;
		}
}

.p-single__nav li.next a::before {
	content: "";
	position: absolute;
	right: 14px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 1px solid #6f8083;
	border-right: 1px solid #6f8083;
	transform: rotate(45deg) translateY(-50%);
}

@media print,
	screen and (min-width: 600px) {
		.p-single__nav li.next a::before {
			right: 18px;
		}
}

.p-single__nav li a {
	display: inline-block;
	font-size: 1.3rem;
	letter-spacing: .12em;
	padding: .6em 1em;
	background-color: #f5f5f5;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__nav li a {
			font-size: 1.5rem;
			padding: .6em 2em;
		}
}

.p-single__nav li a:hover {
	font-weight: bold;
	color: #6f8083;
}

.p-single__edit {
	padding-top: 60px;
}

.p-single__edit a {
	background-color: #9a5016;
	border: 1px solid #9a5016;
	color: white;
	padding: .6em 1em;
	font-size: 1.3rem;
}

@media print,
	screen and (min-width: 600px) {
		.p-single__edit a {
			font-size: 1.4rem;
		}
}

.p-single__edit a:hover {
	background-color: white;
	color: #9a5016;
}

h4.p-archive__ttl {
	margin-bottom: 20px;
	font-size: 1.8rem;
	font-weight: normal;
	color: #6f8083;
}

@media screen and (min-width: 1025px) {
	h4.p-archive__ttl {
		font-size: 2.6rem;
	}
}

.p-archive__line {
	height: 0;
	margin: 3em 0 4em;
	padding: 0;
	border: 0;
	border-top: 1px dashed #dcdcdc;
}

.p-archive-guide {
	margin-bottom: 40px;
}

@media print,
	screen and (min-width: 600px) {
		.p-archive-guide {
			margin-bottom: 40px;
		}
}

.p-archive-guide select {
	width: calc(50% - 8px);
	position: relative;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: .4em 1em;
	box-sizing: border-box;
	font-size: 1.2rem;
	border: 1px solid #6f8083;
	box-shadow: none;
	background: url(../img/icon_caret-down.svg) no-repeat 94% center;
	background-size: 20px 20px;
	color: #6f8083;
	letter-spacing: .08em;
	transition: ease-in .2s;
	cursor: pointer;
}

@media print,
	screen and (min-width: 600px) {
		.p-archive-guide select {
			width: 200px;
			font-size: 1.4rem;
		}
}

.p-archive-guide select:first-child {
	margin-right: 10px;
}

.p-archive-guide select:hover {
	background-color: #f5f5f5;
}

.p-404-head h3 {
	font-size: 4rem;
	text-align: center;
	margin: 20px;
}

@media print,
	screen and (min-width: 600px) {
		.p-404-head h3 {
			font-size: 6rem;
		}
}

@media screen and (min-width: 1025px) {
	.p-404-head h3 {
		font-size: 8rem;
		margin: 20px;
	}
}

.p-404-content p {
	margin-bottom: 1em;
}

.p-visitor-top__container {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #2b2b2b;
	padding: 2em 0;
}

@media screen and (min-width: 1025px) {
	.p-visitor-top__container {
		flex-direction: row;
	}
}

@media screen and (min-width: 1025px) {
	.p-visitor-top__left {
		width: 200px;
	}
}

.p-visitor-top__left h3 {
	text-align: left;
	padding-bottom: 0;
}

.p-visitor-top__left h3::after {
	display: none;
}

@media screen and (min-width: 1025px) {
	.p-visitor-top__right {
		width: calc(100% - 200px);
	}
}

.p-visitor-top__right ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.p-visitor-top__right ul li {
	position: relative;
	border-bottom: 1px solid #dcdcdc;
	transition: .2s ease-in;
}

.p-visitor-top__right ul li:last-child {
	border-bottom: none;
}

.p-visitor-top__right ul li:hover {
	background-color: #f5f5f5;
	transition: .2s ease-in;
}

.p-visitor-top__right ul li:hover::before {
	right: -4px;
	transition: .2s ease-in;
}

.p-visitor-top__right ul li:hover::after {
	right: -8px;
	transition: .2s ease-in;
}

.p-visitor-top__right ul li::before {
	content: "";
	position: absolute;
	right: 4px;
	top: 30px;
	width: 10px;
	height: 1px;
	background-color: #2b2b2b;
	transition: .2s ease-in;
}

.p-visitor-top__right ul li::after {
	content: "";
	position: absolute;
	right: 0;
	top: 28px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #2b2b2b;
	border-right: 1px solid #2b2b2b;
	transform: rotate(45deg);
	transition: .2s ease-in;
}

.p-visitor-top__right ul li a {
	display: block;
	border-bottom: none;
	color: #2b2b2b;
	padding: 1em 0;
}

.p-visitor-top__right ul li a:hover {
	border-bottom: none;
}

.p-conference-list {
	display: flex;
	flex-flow: column;
	width: 100%;
	margin: 2em 0;
}

@media screen and (min-width: 1025px) {
	.p-conference-list {
		flex-flow: row wrap;
	}
}

.p-conference-list dt {
	padding: 1em 0 .2em;
	font-weight: bold;
}

@media screen and (min-width: 1025px) {
	.p-conference-list dt {
		flex-basis: 15em;
		border-bottom: solid 1px #dcdcdc;
		padding: 1em 0;
	}
}

.p-conference-list dd {
	padding: .2em 0 1em;
	border-bottom: solid 1px #dcdcdc;
}

@media screen and (min-width: 1025px) {
	.p-conference-list dd {
		padding: 1em 0;
		flex-basis: calc(100% - 15em);
	}
}

.p-conference-list dd span {
	display: block;
	color: #ba2636;
	font-size: 1.4rem;
	line-height: 1.6;
	margin: .2em 0;
}

.p-conference-minutes {
	margin: 2em 0;
	border-top: dotted 1px #dcdcdc;
	display: flex;
	flex-direction: column;
	font-size: 1.4rem;
	line-height: 1.7;
}

@media print,
	screen and (min-width: 600px) {
		.p-conference-minutes {
			flex-wrap: wrap;
			flex-direction: row;
			font-size: 1.5rem;
		}
}

.p-conference-minutes dt {
	padding: 1em 0 0;
	font-weight: bold;
}

@media print,
	screen and (min-width: 600px) {
		.p-conference-minutes dt {
			padding: 1em 0;
			border-bottom: dotted 1px #dcdcdc;
			width: 6em;
		}
}

.p-conference-minutes dd {
	padding: .4em 0 1em;
	border-bottom: dotted 1px #dcdcdc;
}

@media print,
	screen and (min-width: 600px) {
		.p-conference-minutes dd {
			padding: 1em 0;
			width: calc(100% - 6em);
		}
}

.p-conference-link {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

@media print,
	screen and (min-width: 600px) {
		.p-conference-link {
			gap: 20px;
		}
}

.p-access-transport {
	padding: 2.2em 1.6em 2em;
	margin: 3em 0 2em;
	background-color: #f5f5f5;
	border-radius: 8px;
	position: relative;
}

.p-access-transport h6 {
	margin: 0 0 1em;
	position: absolute;
	top: -10px;
	left: 20px;
}

.p-access-transport h6 span {
	font-size: 1.5rem;
	background-color: #6f8083;
	color: white;
	padding: 1em 1em;
	border-radius: 6px;
}

@media print,
	screen and (min-width: 600px) {
		.p-access-transport h6 span {
			font-size: 1.6rem;
			padding: 1em 1.2em;
		}
}

.p-access-transport p {
	margin: 0;
	font-size: 1.3rem;
}

@media print,
	screen and (min-width: 600px) {
		.p-access-transport p {
			font-size: 1.5rem;
		}
}

.p-access-transport img {
	margin: 1em 0 1em 0 !important;
}

.p-faq-area h3 {
	font-size: 1.6rem;
	letter-spacing: .08em;
	text-align: center;
	position: relative;
	padding-bottom: 40px;
	margin-bottom: 12px;
}

@media print,
	screen and (min-width: 600px) {
		.p-faq-area h3 {
			font-size: 2rem;
			padding-bottom: 50px;
			margin-bottom: 20px;
		}
}

@media screen and (min-width: 1025px) {
	.p-faq-area h3 {
		font-size: 2.2rem;
		padding-bottom: 70px;
		margin-bottom: 30px;
	}
}

.p-faq-area h3::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 1px;
	height: 30px;
	background-color: #6f8083;
}

@media print,
	screen and (min-width: 600px) {
		.p-faq-area h3::after {
			height: 40px;
		}
}

@media screen and (min-width: 1025px) {
	.p-faq-area h3::after {
		height: 60px;
	}
}

.p-faq-list dt {
	position: relative;
	padding: 16px 38px 16px 56px;
	background-color: #ebebeb;
	cursor: pointer;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	line-height: 1.6;
	font-size: 1.4rem;
	font-weight: bold;
}

@media print,
	screen and (min-width: 600px) {
		.p-faq-list dt {
			padding: 20px 60px 20px 64px;
			font-size: 1.6rem;
		}
}

@media screen and (min-width: 1025px) {
	.p-faq-list dt {
		padding: 20px 70px 20px 74px;
	}
}

.p-faq-list dt::before {
	content: "Q";
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: white;
	background-color: #696969;
	width: 28px;
	height: 28px;
	line-height: 28px;
	text-align: center;
	border-radius: 50%;
	font-size: 1.4rem;
}

@media print,
	screen and (min-width: 600px) {
		.p-faq-list dt::before {
			font-size: 1.5rem;
			left: 20px;
		}
}

@media screen and (min-width: 1025px) {
	.p-faq-list dt::before {
		font-size: 1.8rem;
		left: 20px;
		width: 36px;
		height: 36px;
		line-height: 36px;
	}
}

.p-faq-list dt::after {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 8px;
	height: 8px;
	border-right: 2px solid #696969;
	border-bottom: 2px solid #696969;
	color: white;
	transition: .3s;
}

@media print,
	screen and (min-width: 600px) {
		.p-faq-list dt::after {
			width: 10px;
			height: 10px;
			right: 30px;
		}
}

.p-faq-list dt.open::after {
	transform: translateY(-50%) rotate(225deg);
}

.p-faq-list dd {
	display: none;
	padding: 10px 0;
	margin-bottom: 10px;
}

@media print,
	screen and (min-width: 600px) {
		.p-faq-list dd {
			padding: 20px 0;
			margin-bottom: 20px;
		}
}

@media screen and (min-width: 1025px) {
	.p-faq-list dd {
		margin-bottom: 20px;
	}
}

.p-faq-list dd hr {
	border: 0;
	margin: 1em 0;
	border-top: 1px dotted #dcdcdc;
}

@media print,
	screen and (min-width: 600px) {
		.p-faq-list dd hr {
			margin: 1.6em 0;
		}
}

.p-faq-list dd a[target=_blank]::after {
	content: "\f35d";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: .3em;
}

.p-faq-list dd p {
	margin-bottom: 1em;
	font-size: 1.3rem;
}

@media print,
	screen and (min-width: 600px) {
		.p-faq-list dd p {
			font-size: 1.5rem;
			line-height: 2;
		}
}

.p-faq-list dd p:last-of-type {
	margin-bottom: 0;
}

.p-faq-list dd p span {
	display: block;
	color: white;
	width: 80px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 1em;
}

.p-faq-list dd p span.honkan {
	background-color: #6f8083;
}

.p-faq-list dd p span.bunkan {
	background-color: #9a5016;
}

.p-press-top h3 {
	font-size: 1.6rem;
	margin-bottom: 10px;
	position: relative;
}

@media print,
	screen and (min-width: 600px) {
		.p-press-top h3 {
			font-size: 1.8rem;
			margin-bottom: 20px;
		}
}

.p-press-top__btn {
	text-align: right;
	margin-top: 20px;
}

@media print,
	screen and (min-width: 600px) {
		.p-press-top__btn {
			margin-top: 40px;
		}
}

.post-password-form input[type=password] {
	padding: .2em .8em;
	background-color: white;
	border: 1px solid #0063B2;
	border-radius: 0;
	font-size: 1.6rem;
	-webkit-appearance: none;
}

.post-password-form input[type=password]:focus {
	outline: none;
	border: 1px solid #9a5016;
}

.post-password-form input[type=submit] {
	margin-left: 8px;
	background-color: #0063B2;
	color: white;
	padding: .2em .8em;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	font-size: 1.6rem;
}

.post-password-form input[type=submit]::-webkit-search-decoration {
	display: none;
}

.post-password-form input[type=submit]:focus {
	outline-offset: -2px;
}

/* block editer */
.p-page__content p {
	margin: 1em 0;
	font-family: "Zen Kaku Gothic New", 'Noto Sans JP', sans-serif;
	line-height: 1.8;
}
.p-page__content .post-password-form{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.p-page__content h1 {
	font-size: 48px;
}

.p-page__content h2{
	font-size: 48px;
}

.p-page__content h3{
	margin: 0;
	color: #0063b2;
	font-size: 40px;
	line-height: 1.4!important;
}

.p-page__content h4{
	color: #0063b2;
	font-size: 18px;
} 

.p-page__content h5{
	margin: 0;
	color: #896CAD;
	font-size: 18px;
	font-weight: 500;
} 

.p-page__content hr{
	margin-bottom: 40px;
	border-top: 1px solid #b7b7b7;
	border-bottom: none;
}
.p-page__content .bg-white-wide{
	width: 100vw;
	margin-top: 60px;
    margin-left: calc(50% - 50vw);
	padding: 40px 20px 40px;
	background: #fff;
}
.p-page__content .bg-white-wide .inner{
	max-width: 1040px;
    margin: 0 auto;
	padding: 40px 20px 40px;
}

@media print, screen and (min-width: 600px) {
    .p-page__content .bg-white-wide .inner {
        padding: 60px 20px 60px;
    }
}

@media screen and (min-width: 1025px) {
    .p-page__content .bg-white-wide .inner {
        padding: 60px 40px 60px;
    }
}

.p-page__content .bg-white-block{
	padding: 40px 20px 40px;
	background: #fff;
}

@media screen and (min-width: 1025px) {
    .p-page__content .bg-white-block{
        padding: 60px 60px 60px;
    }
}

/* page-about */
.p-page__content .about-btn-toggle{
	width: 160px;
	height:48px;
	margin: 0 auto;
	color: #fff;
    background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	border:none;
	border-radius: 50px;
	display: block;
	text-align: center;
}

/* page-profile */
.p-page__content .prof-content{
	padding-bottom: 60px;
}
.p-page__content .prof-box{
	margin-bottom: 60px;
	font-size: 24px;
	font-weight: bold;
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	padding: 10px 20px;
	border: 1px solid;
	border-image: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	border-image-slice: 1;
	display: inline-block; 
}

@media screen and (min-width: 1025px) {
	.p-page__content .prof-box{
		text-align: right;
	}
}

.p-page__content .prof-img{
	color: #fff;
	position: relative;
}
.p-page__content .prof-img:after{
	content: "";
	width: 100vw;
	height: 240px;
    margin-left: calc(50% - 50vw);
	background:  linear-gradient(90deg, rgba(0, 99, 178, 0.5) 0%, rgba(137, 108, 173, 0.5) 100%);
	display: block;
	position:relative;
}
.p-page__content .prof-img .inner{
	bottom: 0;
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	font-size: 0;
	text-align: right;
	position: absolute;
}

.p-page__content .prof-img .prof-name{
	bottom:36px;
	font-size: 48px;
	font-weight: bold;
	line-height: 0.9;
	position: absolute;
	z-index: 2;
}

@media screen and (min-width: 1025px) {
	.p-page__content .prof-img .prof-name{
		bottom: 90px;
		position: relative;
	}
}
.p-page__content .prof-img .prof-name .en{
	font-size: 24px;
	font-family: "Oswald", "Zen Kaku Gothic New", 'Noto Sans JP', sans-serif;
	font-weight: 400;
	letter-spacing:4px;
}

@media screen and (min-width: 1025px) {
    .p-page__content .prof-img .inner{
		align-items: end;
		display: flex;
	}
	.p-page__content .prof-img .inner>p{
		width: 50%;
	}
}

.p-page__content .prof-img p{
	margin: 0;
	position: relative;
	z-index: 1;
}
.p-page__content .prof-img img{
	width: auto;
	height: auto;
	max-height: 300px;
}

@media screen and (min-width: 1025px) {
	.p-page__content .prof-img img{
		width: 100%;
		max-width: 480px;
		max-height: 480px;
	}
}

.p-page__content table.profile h3{
	line-height: normal;
}

.p-page__content table.profile th,
.p-page__content table.profile tr,
.p-page__content table.profile td{
	padding-bottom: 6px;
	text-align: left;
	vertical-align: baseline;
}
.p-page__content table.profile th{
    vertical-align: top;
}

.p-page__content table.profile th + td{
	padding-right: 16px;
	white-space: nowrap;
}

@media screen and (max-width: 600px) {
	.p-page__content table.profile th,
	.p-page__content table.profile tr,
	.p-page__content table.profile td{
		width: 100%;
		display: block;
	}
	.p-page__content table.profile h3{
		padding-bottom: 16px;
	}

}

.p-page__content table.profile th{
	width: 200px;
}

.p-page__content dl{
	width: 100%;
}

@media screen and (min-width: 1025px) {
	.p-page__content dl{
		display: flex;
		flex-wrap: wrap;
	}
}

.p-page__content dt{
	width: 250px;
	color: #0063b2;
	font-size: 28px;
	font-weight: bold;
}

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

.p-page__content dd{
	padding-bottom: 16px;
}

@media screen and (min-width: 1025px) {
	.p-page__content dd{
		width: calc(100% - 250px);
	}
}


/* page-research */
.p-page__content .p-research-list{
	padding-bottom: 40px;
}
.p-research-list p{
	margin: 0;
}

.p-research-list .p-research-list-item{
	padding: 40px 0 50px 0;
	border-bottom: 1px solid #C0C4C8;	
}


.p-research-list .p-research-list-item:last-child{
	border-bottom: none;
}

@media screen and (min-width: 1025px) {
	.p-research-list .p-research-list-item{
		display: flex;
		flex-wrap: wrap;
	}
	.p-research-list .p-research-list-item>div{
		width: 50%;
	}
}
.p-research-list .p-research-list-img{
	align-items: center;
	display: flex;
	text-align: center;
}

.p-research-list .p-research-list-item img{
	width: auto;
	max-height: 255px;
	margin: 0 auto;
	padding: 20px;
}
.p-research-list .p-research-list-item-desc span{
	color: #0063b2;
	font-weight: bold;
	font-size: 24px;
}

.p-research-list .p-research-list-item-ttl{
	padding-bottom: 16px;
	font-size: 32px;
	font-weight: bold;
}

/* page-achievements */

.p-achievements-list{
	display: flex;
	flex-wrap: wrap;
	gap:15px;
}

@media screen and (min-width: 1025px) {
	.p-achievements-list{
		gap:12px;
	}
}

.p-achievements-list li{
	width: calc((100% / 3) - 10px);
	text-align: center;
	border: 1px solid #0063b2;
	color: #0063b2;
}

@media screen and (min-width: 1025px) {
	.p-achievements-list li{
		width: calc((100% / 5) - 10px);
		text-align: center;
	}
}

.p-achievements-list li a{
	padding: 10px 0;
	display: block;
	color: #0063b2;
}

.p-achievements-list li a:hover{
	background: #0063b2;
	color: #fff;
}

.achievement-btn {
	width: 100%;
	padding: 10px 20px;
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	color: #fff;
	border-radius: 30px;
	box-sizing: border-box;
	border: 1px solid rgba(0, 0, 0, 0);
	display: inline-block;
	text-align: center;
	transition: 1s;
	white-space: nowrap;
	cursor: pointer;
}

.pubDets {
	display: none;
}

.pubDetsBtn {
	background-color: inherit;
	border: none;
	cursor: pointer;
}

#achievement_page .innerlink,
#achievement .innerlink {
	text-align: end;
}

/* page-admission */

.p-page__content .p-admission-list{
	margin-top: 40px;
}

@media screen and (min-width: 1025px) {
	.p-admission-list{
		gap:15px;
		display: flex;
		flex-wrap: wrap;
	}
}

.p-admission-list .p-admission-list-item{
	padding:0 20px;
	margin-bottom: 8px;
	border: 1px solid #0063b2;
}

.p-admission-list .p-admission-list-item.open{
	height: auto;
}

@media screen and (min-width: 1025px) {
	.p-admission-list .p-admission-list-item{
		width: calc((100% / 3) - 10px);
		height: 100%;
		margin: 0;
	}
}

.p-admission-list .p-admission-list-item span{
	height: 80px;
	padding-right: 24px;
	align-items: center;
    display: flex;
	color: #0063b2;
	position: relative;
}

.p-admission-list .p-admission-list-item span::after{
	content: "+";
	top: 50%;
	right: 0;
	font-size: 40px;
    font-weight: lighter;
	position: absolute;
	transform: translateY(-50%);
}

.p-admission-list .p-admission-list-item.open span::after{
	content: "-";
	top: 40%;
}

.p-admission-list .p-admission-list-item p{
	display: none;
}

.p-admission-list .p-admission-list-txt{
	margin-top: 0;
}

.p-page__content .p-admission-flow{
	margin-top: 20px;
}

.p-admission-flow .p-admission-flow-block h4{
	font-size: 24px;
}

.p-admission-flow .p-admission-flow-block span{
	width: 88px;
	height: 88px;
	align-items: center;
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
    border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 32px;
	justify-content: center;
}
.p-admission-flow .p-admission-flow-block {
	padding-bottom: 20px;
}

@media screen and (min-width: 1025px) {
	.p-admission-flow .p-admission-flow-block{
		display: flex;
	}
}
@media screen and (min-width: 1025px) {
	.p-admission-flow .p-admission-flow-block>div{
		width: calc(100% - 88px);
		padding-left: 24px;
	}
}

/* page-collaborative */
.collaborative .c-list-index__ttl{
	margin: 16px 0 10px;
	color: #896CAD;
	font-size: 20px;
}
.collaborative .c-list-index__content p{
	font-weight: 500;
	line-height: 1.6;
}

/* page-contact */

.p-page__content .contact dt{
	padding-bottom: 6px;
	color: #000;
	font-size: 16px;
}

.p-page__content .contact dd{
	padding-bottom: 36px;
}

.p-page__content .contact dt span{
	color: #0063B2;
}

.p-page__content .contact select{
    -webkit-appearance: none;
    appearance: none;
}
.p-page__content .contact .select{
	width: 100%;
	display: inline-block;
	position: relative;
}
.p-page__content .contact .select::before{
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-bottom: solid 1px #333;
	border-right: solid 1px #333;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: 16px;
	bottom: 0;
	margin: auto;
}
.p-page__content .contact [type="submit"] {
/*
	width: auto;
	margin: 0 auto;
	padding: 6px 20px;
	background: #0063B2;
	color: #fff;
*/
	width: 160px;
	padding: 10px 20px;
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	color: #fff;
	border-radius: 30px;
	box-sizing: border-box;
	border: 1px solid rgba(0, 0, 0, 0);
	display: inline-block;
	text-align: center;
	transition: 1s;
	white-space: nowrap;
	cursor: pointer;
}

.p-page__content .contact [type="submit"]:hover {
	background: #fff;
	border: 1px solid #0063b2;
	color: #0063b2;
}

.p-page__content .contact .submit{
	width: 100%;
	text-align: center;
}

.p-page__content .contact dd>span.mwform-checkbox-field{
	display: block;
}

.p-page__content .contact dd>span.mwform-checkbox-field input{
	width: auto;
}
.p-page__content .contact dd>span.mwform-checkbox-field input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.p-page__content .contact dd>span.mwform-checkbox-field input[type=checkbox] {
	padding: 0;
    position: relative;
    cursor: pointer;
    width: 18px;
    height: 18px;
    margin-top: -1px;
    border-radius: 3px;
    background-color: #E3EEF680;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
}
.p-page__content .contact dd>span.mwform-checkbox-field input[type=checkbox]:checked {
	padding: 0;
    background: #0063B2;
}

.p-page__content .contact dd>span.mwform-checkbox-field input[type=checkbox]:checked::before {
	width: 100%;
    position: absolute;
    color: white;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    content: '\f00c';
	text-align: center;
}
.p-page__content .contact .horizontal-item + .horizontal-item{
	margin-left: 0;
}

.p-page__content .contact .mwform-tel-field input{
	width: auto;
}

.p-page__content .contact input,
.p-page__content .contact textarea{
	width: 100%;
}

.p-page__content .contact input,
.p-page__content .contact textarea,
.p-page__content .contact select
{
	padding: 6px 16px;
	background: #E3EEF680;
	border: none;
	font-size: 14px;

}

/* page-members */
.members-nav{
	display: flex;
	gap: 20px;
	text-align: center;
}

.members-nav li{
	width: calc(100% / 3);
	outline: 1px solid #0063B2;
	outline-offset:-1px;
}

.members-nav li.current{
	outline: none;
}

.members-nav li.current a{
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	color: #fff;
}

.members-nav li a{
	padding: 4px 0;
	color:#0063B2;
	display: block;
	transition: 0.3s;
}

.members-nav li:hover{
	outline: none;
}

.members-nav li:hover a{
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	color: #fff;
}

.members-item-wrap{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 20px;
}

.member-ttl{
	padding-bottom: 20px;
	color: #0063B2;
	font-size: 32px;
	font-weight: bold;
}

.members-item-block{
	max-width: 200px;
}

@media screen and (min-width: 600px) {
	.members-item-block{
		width: calc(100% / 2);
	}
}

.members-item-block img + p{
	display: none;
}

.members-item-block a{
	text-decoration: underline;
}

@media screen and (min-width: 1025px) {
	.members-item-wrap{
		display: flex;
		justify-content: space-between;
	}

	.members-item-wrap:before{
		content:"";
		max-width: 200px;
		width: calc(100% / 4);
		order:1;
	}

	.members-item-wrap:after{
		content:"";
		max-width: 200px;
		width: calc(100% / 4);
	}

	.members-item-block{
		max-width: 200px;
		width: calc(100% / 4);
	}
}

.members-item-wrap.intern b{
	font-size: 18px;
}

.members-item-wrap.intern b + p{
	display: none;
}

.members-item-wrap.intern p{
	font-size: 10px;
	margin: 0;
}

.members-item-block h4{
	font-size: 24px;
	line-height: 1.6;
}

.members-item-block h5{
	font-size: 10px;
	font-weight: normal;
}

.members-item-block p{
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.6;
}

.members-item-block img{
	width: 100%;
	max-width: 200px;
	height: 100%;
	max-height: 200px;
	object-fit: cover;
}


.members-item-block span{
	color: #896CAD;
}


ol[class="wp-block-list"],
ul[class="wp-block-list"] {
	list-style: auto;
	padding-left: 40px;
	margin: 16px 0;
}

[class="wp-block-list"] ul {
	list-style-type: circle;
}

[class="wp-block-list"] ul ul {
	list-style-type: square;
}

[class="wp-block-list"] ol,
[class="wp-block-list"] ul {
	padding-left: 40px;
}

.wp-block-image img {
	margin: 0;
}

.wp-block-button__link {
	color: #fff;
	background-color: #32373c;
	border-radius: 9999px;
	box-shadow: none;
	text-decoration: none;
	padding: calc(.667em + 2px) calc(1.333em + 2px);
	font-size: 1.125em;
}

.wp-block-button__link:hover {
	opacity: .8;
}

.wp-block-separator {
	margin: 2em 0;
}

.wp-element-caption {
	text-align: center;
	color: var(--font-gray);
}

/*
.fa-instagram:before {
background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

.l-main .fa-instagram:before {
background: #fff no-repeat;
background: #fff no-repeat;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
*/

/* GTranslate */
.gtranslate_wrapper {
	display: flex;
    flex-direction: row-reverse;
	position: relative;
}


.gtranslate_wrapper .gt_selector {
	width: 100%;
	height: 60px;
	line-height: 60px;
	padding: 0 8px;
	border: 1px solid #ccc;
	display: block;
	appearance: none;
	padding-right: 60px;
}

.gtranslate_wrapper .gt_selector:focus-visible {
	outline: 0;
	/* background: #efefef; */
}

.gtranslate_wrapper a:first-child::before{
	content: "/";
	padding: 0px 5px;
    display: inline-block;
}

.gtranslate_wrapper .gt-current-lang{
	color: #0063b2;
	text-decoration: underline;
}

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

	.gtranslate_wrapper .gt_selector {
		height: 40px;
		line-height: 40px;
	}
}

/* Snow Monkey Forms */

@media screen and (min-width: 768px) {
	.snow-monkey-form {
		width: 700px;
		margin: 0 auto;
	}
}

.smf-button-control {
	position: relative;

	&::before {
		content: "";
		position: absolute;
		right: 48px;
		top: 50%;
		transform: translateY(-50%);
		width: .5px;
		height: 30px;
		background-color: white;
		z-index: 10;
	}

	&::after {
		content: "\f105";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		position: absolute;
		right: 18px;
		top: 50%;
		transform: translateY(-50%);
	}

	&:hover::after {
		color: #fff;
	}
}

.smf-action .smf-button-control__control {
	background: none;
	border-radius: 0;
	display: inline-block;
	padding: 1em 4.4em 1em 1.6em;
	background-color: #dcdcdc;
	color: #2b2b2b !important;
	text-decoration: none;
	text-align: left;
	transition: .3s ease-in-out;
	font-size: 1.3rem;
	width: 100%;

	&:visited, &:active {
		color: #2b2b2b !important;
	}

	&:hover {
		background-color: #4682b4;
		color: white !important;
	}

	&[data-action="back"] {
		padding: 1em 1.6em 1em 4.4em;
		text-align: right;
	}
}

@media print, screen and (min-width: 600px) {
	.smf-action .smf-button-control__control {
		width: auto;
		font-size: 1.5rem;
		padding: .8em 4.4em .8em 1.6em;
	}
}

@media print, screen and (min-width: 600px) {
	.smf-action .smf-button-control__control[data-action="back"] {
		padding: .8em 1.6em .8em 4.4em;
	}
}

.smf-button-control:has([data-action="back"]) {
	&::before {
		right: auto;
		left: 48px;
	}

	&::after {
		right: auto;
		left: 18px;
		transform: rotate(180deg);
		margin-top: -16px;
	}
}

.smf-complete-content {
	text-align: center;
}

.smf-complete-content > h2 {
	font-size: 24px;
	font-weight: 700;
	margin-top: 5vw;
}

.smf-complete-content .smf-action {
	margin-top: 5vw;
}


/* XO Slider */
.xo-slider-template-default .swiper-slide {
	aspect-ratio: 1/1;
}

@media print,
	screen and (min-width: 600px) {
		.xo-slider-template-default .swiper-slide {
			aspect-ratio: 3/2;
		}
}

@media print,
	screen and (min-width: 1025px) {
		.xo-slider-template-default .swiper-slide {
			aspect-ratio: 16/9;
		}
}

/* widget */
.widget_block {
	margin-bottom: 40px;
}

.widget_block h2 {
	margin-bottom: 15px;
}

.wp-block-categories li,
.wp-block-archives li {
	border-bottom: 1px solid #eee;
}

.wp-block-categories li:first-of-type,
.wp-block-archives li:first-of-type {
	border-top: 1px solid #eee;
}

.wp-block-categories li a,
.wp-block-archives li a {
	display: block;
	padding: 15px 0;
}

.wp-block-categories li a::before,
.wp-block-archives li a::before {
	font: var(--fa-font-solid);
	content: "\f105";
	padding-right: 7px;
}

.wp-calendar-table caption {
	font-weight: 700;
	font-size: 2rem;
}

/*add*/

.p-top-eyecatch-en,.c-heading-top-en,.more-btn-txt,.nav-btn-menu,.nav-btn-close,.menu-item-en,.section-about::before,.c-heading-page h1 {
	font-family: "Oswald" , 'Noto Sans JP' , sans-serif;
}

.section-about{
	height: 64vh;
	position: relative;
}
.section-about > *{
	position: relative;
}
.section-about::before{
	content: "IMPLEMENT AI IN ALL THINGS";
	width: 100vw;
	bottom: 0;
    margin-left: calc(50% - 50vw);
	color: #fff;
	font-size: 10rem;
    font-weight: 500;
    line-height: 10rem;
	position: absolute;
}
.section-about p{
	font-size: 2rem;
}
@media print, screen and (min-width: 600px) {
	.section-about::before{
		font-size: 20rem;
		line-height: 20rem;
		white-space: nowrap;
	}
}
.section-research-inner {
	padding-bottom: 60px;
}
.research-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.research-list li{
	width:calc((100% / 2) - 10px);
	margin-bottom: 20px;
	aspect-ratio: 1 / 1;
	border-top:1px solid #bebebe;
	border-right:1px solid #bebebe;
	font-weight: bold;
	list-style: none;
	text-align: center;
	position: relative;
	transition: 0.7s;
}
.research-list li:hover{
	background:#fff;
	box-shadow: 0px 0px 20px 0px #c7c7c7;
	border:none;
}
.research-list li::before{
	top:16px;
	left: 16px;
	color:#0063b2 ;
	line-height: 3rem;
	font-size: 3rem;
	position: absolute;
}
.research-list li:nth-child(1)::before{
	content: "01";
}
.research-list li:nth-child(2)::before{
	content: "02";
}
.research-list li:nth-child(3)::before{
	content: "03";
}
.research-list li a{
	padding: 30px;
	height: 100%;
	align-items: end;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.research-list li img{
	max-width: 140px;
	height: 50%;
	max-height: 140px;
}
.research-list .research-list-ttl{
	width: 100%;
	display: block;
	font-weight: bold;
}
.research-list li .arrow{
	top:16px;
	right: 16px;
	display: inline-block;
	width: 30px;
	height: 3px;
	margin: 13.5px 0;
	border-radius: 9999px;
	background-color: #896cad;
	transform: rotate(-45deg);
	position: absolute;
}
.research-list li .arrow::before,
.research-list li .arrow::after {
	content: "";
	position: absolute;
	top: calc(50% - 1.5px);
	right: 0;
	width: 22px;
	height: 3px;
	border-radius: 9999px;
	background-color: #896cad;
	transform-origin: calc(100% - 1.5px) 50%;
}
.research-list li .arrow::before {
	transform: rotate(45deg);
}
.research-list li .arrow::after {
	transform: rotate(-45deg);
}

.section-research{
	padding-top: 100px;
}
@media print, screen and (min-width: 600px) {
	.research-list li{
		width: calc((100% / 3) - 20px);
	}
	.section-research-inner{
		padding-bottom: 100px;
		display: flex;
	}
	.section-research-inner .c-heading-top{
		padding: 0;
	}
	.section-research-inner p{
		padding:0 0 22px 60px;
	}
	.research-list li img{
		width: auto;
		max-width: 140px;
		height: auto;
		max-height: 140px;
	}
}
.section-collaborative{
	width: 100vw;
    margin-left: calc(50% - 50vw);	
	background-position: center;
	position: relative;
}

.section-collaborative:hover{
	background:url("img/collaborative-research.jpg") ;
	background-position: center;
	transition: 0.5s;
}
.section-collaborative:hover::before{
	content: "";
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(0,99,178,1) 0%, rgba(137,108,173,1) 100%);
	opacity: 0.5;
	position: absolute;
}
.section-collaborative:hover,.section-collaborative:hover span{
	color: #fff;
}
.section-collaborative:hover p{
	color: #fff;
}
.section-collaborative-inner{
	padding: 0 20px 60px 20px;
	position: relative;
	z-index: 1;
}
.section-collaborative:hover .more-btn .more-btn-ico::before{
	background: #fff;
}
.section-collaborative:hover .more-btn .more-btn-ico::after{
	background: #0063b2;
}
.section-collaborative-inner p{
	color: #000;
}
@media print, screen and (min-width:600px) {
	.section-collaborative-inner{
		width: 100%;
        max-width: 1040px;
        margin: 0 auto;
        
	}
	.section-collaborative-inner p{
		width: 50%;
	}
	.section-collaborative-inner .more-btn{
		width: 50%;
	}
}
.section-member{
	width: 100vw;
	padding-bottom: 100px;
    margin-left: calc(50% - 50vw);
	background:#fff;
	position: relative;
}
.section-member-inner{
	padding: 0 20px;
}
.section-member .member-block{
	padding-bottom: 30px;
}
.section-member .member-block a{
	width: 160px;
	padding: 10px 20px;
	background: linear-gradient(90deg, rgba(0,99,178,1) 0%, rgba(137,108,173,1) 100%);
	color: #fff;
	border-radius: 30px;
	box-sizing:border-box;
	border: 1px solid rgba(0,0,0,0);
	display: inline-block;
	text-align: center;
	transition: 1s;
	white-space: nowrap;
}
.section-member .member-block p{
	padding-bottom: 20px;
}
.section-member .member-block-btn{
	text-align: center;
}
.section-member .member-block-right{
	font-size: 0;
}
.section-member .member-block-right img{
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
@media print, screen and (min-width: 600px) {
	.section-member-inner{
		max-width:1040px;
		margin: 0 auto;
		align-items: end;
		display: flex;
		justify-content: space-between;
	}
	.section-member .member-block a{
		margin-right: 20px;
	}
	.section-member .member-block-btn{
		display: flex;
	}
	.section-member .member-block a:hover{
		background: #fff;
		border: 1px solid #0063b2;
		color: #0063b2;
	}
	.member-block-left,.member-block-right{
		width: calc((100% / 2) - 20px);
	}
}
.section-student{
	position: relative;
}
.section-student-inner ul{
	padding: 0;
	color: #fff;
}
.section-student-inner li{
	padding: 46px;
	list-style: none;
}
.section-student-inner p{
	padding-bottom: 16px;
}
.section-student-inner a{
	width: 160px;
	margin: 0 auto;
	padding: 6px 0;
	background: #fff;
	border-radius: 40px;
	color: #0063b2;
	display: block;
	text-align: center;
}
.section-student-left{
	background: #0063b2;
}
.section-student-right{
	background: #896cad;
}
.section-student-ttl{
	font-weight: 500;
	font-size: 2.5rem;
	text-align: center;
}

@media print, screen and (min-width: 600px) {
	.section-student-inner ul{
		display: flex;
		justify-content: space-between;
	}
	.section-student-inner li{
		width: calc((100% / 2) - 2vw);
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		transition: 0.3s;
	}
	.section-student-inner li:hover{
		background: #fff;
	}
	.section-student-inner li:hover p{
		color: #000;
	}
	.section-student-inner li.section-student-left:hover .section-student-ttl{
		color: #0063b2;
	}
	.section-student-inner li.section-student-right:hover .section-student-ttl{
		color: #896cad;
	}
	.section-student-inner li:hover span a{
		background: linear-gradient(90deg, rgba(0,99,178,1) 0%, rgba(137,108,173,1) 100%);
		color: #fff;
	}
	.section-student-inner span{
		margin-top: auto;
	}
}
.section-contact{
	background: linear-gradient(90deg, rgba(0,99,178,1) 0%, rgba(137,108,173,1) 100%);
	position: relative;
	transition: 0.3s;
}

.section-contact:hover{
	background: #fff;
}

.section-contact a{
	transition: 0.3s;
}

.section-contact:hover h2 span,
.section-contact:hover .more-btn .more-btn-txt{
	color: #0063B2;
	transition: 0.3s;
}

.section-contact:hover p{
	color: #000;
}

.section-contact:hover .more-btn .more-btn-ico::before{
	background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
	transition: 0.3s;
}

.section-contact:hover .more-btn .more-btn-ico::after{
	background: #fff;
	transition: 0.3s;
}


.section-contact h2 .c-heading-top-en,
.section-contact h2 .c-heading-top-jp,
.section-contact p{
	color: #fff;
}
.section-contact-inner{
	padding: 0 20px;
	position: relative;
}
.section-contact-inner br{
	display: none;
}
@media print, screen and (min-width: 600px) {
	.section-contact-inner br{
		display: block;
	}
}
.section-contact .more-btn .more-btn-txt{
	color: #fff;
}
.section-contact .more-btn .more-btn-ico::before{
	background: #fff;
}
.section-contact .more-btn .more-btn-ico::after{
	background: #0063b2;
}
@media print, screen and (min-width: 600px) {
	.section-contact-inner{
		max-width: 1080px;
    	margin: 0 auto;
	}
	.section-contact .more-btn{
		top: 50%;
		right: 0;
		padding: 0;
		position: absolute;
		transform: translate(-50%,-50%);
	}
	.section-contact-inner p{
		padding-bottom: 100px;
		line-height: 1.6;
	}
}
.more-btn{
	padding:50px 43px 50px 0;
	text-align: right;
}
.more-btn a{
	display: inline-block;
}
.more-btn .more-btn-txt{
	padding-right: 60px;
	color: #0063b2;
	font-weight: bold;
	font-size: 2rem;
}
.more-btn .more-btn-ico::before{
	content: '';
	top: 50%;
	left: 50%;
	width: 86px;
	height: 86px;
	background: linear-gradient(90deg, rgba(0,99,178,1) 0%, rgba(137,108,173,1) 100%);
	border-radius: 50px;
	display: block;
	position: absolute;
	transform: translate(-50%,-50%);
}
.more-btn .more-btn-ico{
	position: relative;
}
.more-btn .more-btn-ico::after{
	content: '';
	top: 50%;
	left: 50%;
	display: inline-block;
	width: 24px;
	height: 11.3px;
	background: #fff;
	clip-path: polygon(0 36.7%, 76.4% 36.7%, 76.4% 0, 100% 50%, 76.4% 100%, 76.4% 63.3%, 0 63.3%);
	position: absolute;
	transform: translate(-50%,-50%);
}

/* swiper */
.swiper{
	overflow: visible;
}
.swiper-bottom{
	padding:30px 0;
	align-items: center;
}
.swiper-button-prev{
	margin-right: 10px;
}
.swiper-button-next, .swiper-button-prev{
	width: 64px;
	height: 64px;
	top:0;
	bottom: 0;
	right:0;
	left: 0;
	background: #fff;
	border-radius: 40px;
	color: #0063b2;
	display: inline-block;
	position: relative;
}
.swiper-button-prev:after, 
.swiper-button-next:after{
	content:'';
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	border: 3px solid #0063b2;
	border-left: 0;
	border-bottom: 0;
	font-size: 2rem;
	position: absolute;
	transform: translate(-50%,-50%) rotate(-135deg);
	display: inline-block;
	vertical-align: middle;
}
.swiper-button-next:after{
	transform: translate(-50%,-50%) rotate(45deg);
}
@media print, screen and (min-width: 600px) {
	.swiper-bottom{
		padding: 60px 0;
		display: flex;
		justify-content: space-between;
	}
}
/* bottom-banner */

@media print, screen and (min-width: 600px) {
	.banner-bottom{
		display: flex;
		gap: 70px;
	}
}

.banner-bottom-item{
	padding-bottom: 20px;
}

@media print, screen and (min-width: 600px) {
	.banner-bottom-item{
		padding-bottom: 0;
	}
}

.banner-bottom-item a{
	color: #fff;
	display: block;
	font-size: 0;
	position: relative;
}
.banner-bottom-item a::before{
	content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 99, 178, 1) 0%, rgba(137, 108, 173, 1) 100%);
    display: block;
	opacity: 0.5;
    position: absolute;
    z-index: 1;
}

.banner-bottom-item .en{
	top: 20%;
	left: 20px;
	font-size: 18px;
	position: absolute;
	z-index: 1;
}

.banner-bottom-item .ttl{
	top: 36%;
	left: 20px;
	margin: 0;
	font-size: 40px;
	font-weight: 500;
	position: absolute;
	z-index: 1;
}

.banner-bottom-item img{
	aspect-ratio: 3/1;
	object-fit: cover;
	position: relative;
}

/*sitemap*/
.sitemap-list,
.sitemap-list li{
	list-style: disc;
	margin-left: 16px;
	text-decoration: underline;
}

.page-id-723 .l-content__main,
.page-id-723 .l-main {
	padding-bottom: 0;
}

.mw_wp_form.mw_wp_form_input select {
	height: 40px;
	width: 100%;
}

.bg-white-block:has(.mw_wp_form_confirm) > p,
.bg-white-block:has(.mw_wp_form_complete) > p {
	display: none;
}