@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

:root{
	--default: #000000;
	--gray: #f5f5f5;
	--d-gray: #cccccc;
	--grayblack: #545454;
	--white: #ffffff;
	--red: #DD381D;
	--yellow: #FFD92F;
	--sub-blue: #6C9BD2;
	--deep-blue: #1D3760;
	--sub-deep-blue: #100364;
	--sky-blue: #E6F6FF;
	--default-link: #0000cc;
}

*{
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	outline: none;
}

body{
	width: 100%;
	color: var(--default);
	background: var(--white);
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-size: 16px;
	font-style: normal;
	line-height: normal;
	margin: auto;
}

h1,h2,h3,h4,h5,h6{
	margin: auto;
}

#access .menu-header, div.menu, #colophon, #branding, #main, #wrapper{
	margin: unset;
	padding: unset;
	width: auto;
}

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

a,
a:link,
a:visited{
	text-decoration: none;
	color: var(--default);
}

a:hover{
	filter: brightness(80%);
}

img{
	display: inline;
}

.hentry{
	margin: 0;
}

#header{
	position: fixed;
	display: flex;
	width: 100%;
	min-height: 100px;
	padding: 0;
	align-content: center;
	background: var(--white);
	left: 0;
	top: 0;
	z-index: 9999;
}

#header .logo_area{
	max-width: 380px;
	width: 100%;
	align-content: center;
	margin-left: 1rem;
}

#header .logo_area img{
	width: 100%;
}

ul.nav{
	display: flex;
	max-width: 750px;
	width: 100%;
	margin-right: 0;
}

ul.nav > li{
	position: relative;
	max-width: 150px;
	width: 100%;
	min-height: 100px;
	text-align: center;
	align-content: end;
	line-height: 2.5rem;
	background: var(--white);
	z-index: 1;
}

ul.nav > li.arrow{
	font-weight: 700;
	cursor: pointer;
	padding-right: 1.25rem;
}

ul.nav li a{
	display: block;
	height: 100%;
	font-weight: 700;
	align-content: end;
}

ul.nav li a:hover{
	filter: brightness(80%);
}

ul.nav > li::before{
	content: "";
	position: absolute;
	width: 60px;
	height: 50px;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
	left: 0;
	right: 0;
	top: 0.5rem;
	margin: auto;
	z-index: -1;
}

ul.nav > li:nth-child(1)::before{
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/menu_icn01.png);
}

ul.nav > li:nth-child(2)::before{
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/menu_icn02.png);
}

ul.nav > li:nth-child(3)::before{
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/menu_icn03.png);
}

ul.nav > li:nth-child(4)::before{
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/menu_icn04.png);
}

ul.nav > li:nth-child(5)::before{
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/menu_icn05.png);
}


ul.nav > li.arrow::after{
	content: "";
	position: absolute;
	width: 12px;
	height: 10px;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/menu_arrow.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	bottom: 0.875rem;
	right: 1.5rem;
}

.sche_btn{
	position: absolute;
	max-width: 150px;
	width: 100%;
	height: 100px;
	background: var(--red);
	right: 0;
	top: 0;
}

.sche_btn a{
	display: block;
	max-width: 150px;
	text-align: center;
	align-content: end;
	padding-bottom: 0.5rem;
	color: var(--white);
	font-weight: 700;
	width: 100%;
	height: 100px;
}

.sche_btn a::before{
	content: "";
	position: absolute;
	width: 60px;
	height: 50px;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/menu_icn06.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
	left: 0;
	right: 0;
	top: 0.5rem;
	margin: auto;
	z-index: 1;
}

ul.nav li.bg_red a{
	color: var(--white);
}

.sp_btn{
	display: none;
	position: absolute;
	width: 30px;
	height: 30px;
	background: var(--deep-blue);
	right: 1rem;
	top: 0;
	bottom: 0;
	margin: auto;
	cursor: pointer;
}

ul.nav li ul.add_menu{
	position: absolute;
	opacity: 0;
	visibility: hidden;
	width: 150%;
	bottom: 0;
	left: -50px;
	right: 0;
	background: var(--gray);
	margin: auto;
	transform: translateY(100%);
	transition: .3s;
}

ul.nav li ul.add_menu li a{
	width: 100%;
	padding: 0.25rem 1rem;
	background: var(--gray);
	border-bottom: 1px dashed var(--default);
}

ul.nav li ul.add_menu li:last-child a{
	border-bottom: 0;
}

ul.nav > li.arrow:hover ul.add_menu{
	opacity: 1;
	visibility: visible;
}

.hum{
	position: absolute;
	display: none;
	width: 80px;
	height: 80px;
	background: var(--deep-blue);
	right: 0.625rem;
	top: 0.625rem;
}

.hum span {
	position: absolute;
	display: block;
	width: 48px;
	height: 4px;
	background: var(--white);
	left: 0;
	right: 0;
	margin: auto;
	transition: 0.5s;
}

.hum span:nth-child(1) {
	top: 1.5rem;
}

.hum span:nth-child(2) {
	top: 2.5rem;
}

.hum span:nth-child(3) {
	top: 3.5rem;
}

.hum.active span:nth-child(1) {
	transform: rotate(45deg);
	top: 2.5rem;
}

.hum.active span:nth-child(2) {
	transform: rotate(135deg);
	top: 2.5rem;
}

.hum.active span:nth-child(3) {
	transform: rotate(225deg);
	top: 2.5rem;
	opacity: 0;
}

#main{
	margin-top: 100px;
}

#container{
	float: none;
	margin: 0;
}

#content {
	margin: 0;
}

.entry-content, .entry-summary{
	padding: unset;
}

.top_cont{
	position: relative;
}

#content .top_cont h1{
	position: absolute;
	font-size: 2.25rem;
	font-family: "century-gothic", sans-serif;
	font-weight: 400;
	color: var(--white);
	line-height: 100%;
	margin: 0;
	right: 2rem;
	bottom: 2rem;
}

#content ul.slides{
	margin: 0;
}

#content ul.slides li img{
	aspect-ratio: 5 / 2;
	object-fit: cover;
}

.news_area{
	min-height: 600px;
	padding: 6.25rem 2rem;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/news_bg.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.news_box{
	width: calc(100% - 18.75rem);
	display: flex;
	margin: auto;
	justify-content: space-between;
}

.news_box .title_area{
	filter: drop-shadow(0 0 1px var(--white)) drop-shadow(0 0 3px var(--white));
}

#content .news_box h2{
	font-size: 3.75rem;
	font-weight: 900;
	line-height: 100%;
	margin-bottom: 3.5rem;
}

.more a{
	display: block;
	max-width: 145px;
	height: 1.625rem;
	width: 100%;
	font-size: 1.25rem;
	line-height: 100%;
	align-content: center;
	font-weight: 700;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/more_arrow.png);
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-position: center right;	
}

#content ul.news-list{
	width: calc(100% - 21.875rem);
	margin-bottom: 0;
	margin-right: 0;
}

ul.news-list li {
	margin-bottom: 1.5rem;
}

ul.news-list li:last-child {
	margin-bottom: 0;
}

ul.news-list li a{
	position: relative;
	display: flex;
	min-height: 3.75rem;
	color: var(--default);
	font-size: 18px;
	align-content: center;
	background: var(--white);
	border-radius: 0.5rem;
	padding: 1rem 3.125rem 1rem 1.75rem;
}


ul.news-list li a:hover{
	filter: brightness(80%);
}

ul.news-list li a::before{
	content: "";
	position: absolute;
	width: 10px;
	height: fit-content;
	aspect-ratio: 2 / 3;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/news_arrow.png);
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	right: 1.5rem;
	top: 0;
	bottom: 0;
	margin: auto;
}

ul.news-list li a .days{
	margin-right: 3rem;
}

ul.news-list li a .title_box{
	font-weight: 500;
}

.about_area{
	min-height: 600px;
	padding: 11.25rem 1rem 18.75rem;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/about_bg.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}


.about_box{
	width: calc(100% - 18.75rem);
	margin: auto;
}

.about_box > *{
	filter: drop-shadow(0 0 2px var(--default));
}

#content .about_box h3{
	text-align: center;
	font-size: 2.25rem;
	font-weight: 700;
	color: var(--white);
	margin-bottom: 3rem;
}

.about_box h3 small{
	display: block;
	font-size: 1.625rem;
	color: var(--sub-blue);
}

#content .about_box p{
	color: var(--white);
	line-height: 1.75rem;
	letter-spacing: 1px;
}

#content .about_box p.mar4r{
	margin-bottom: 4rem;
}

.about_box .more{
	margin: auto;
	max-width: 140px;
	width: 100%;
}

.about_box .more a{
	color: var(--white);
	font-size: 1rem;
	font-weight: 400;
}

.menu_area{
	min-height: 620px;
}

.menu_area .menu_box{
	display: flex;
	max-width: 1300px;
	width: calc(100% - 4rem);
	align-items: center;
	justify-content: space-between;
	margin: auto;
	margin-top: -8.5rem;
	padding: 7rem 2.5rem;
	background: var(--white);
}

.menu_area .logo_box{
	max-width: 300px;
	width: calc(100% - 2rem);
	margin-right: 2rem;
	margin-left: 4rem;
}

.menu_area .logo_box img{
	width: 100%;
}

.menu_area .menu_list {
	max-width: 720px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-right: 0;
}

.menu_area .menu_list li{
	width: calc((100% / 3) - 1rem);
	margin-bottom: 1.25rem;
}

.menu_area .menu_list li:nth-child(n+4){
	margin-bottom: 0;
}

.menu_area .menu_list li img{
	max-width: 220px;
}

.achieve_area{
	width: calc(100% - 50px);
	min-height: 500px;
	margin-right: 0;
	margin-left: auto;
	background: var(--deep-blue);
}

.achieve_box{
	display: flex;
}

.achieve_area .img_box{
	max-width: 620px;
	width: 100%;
	margin: auto;
	margin-left: 14%;
	margin-bottom: -11.25rem;
}

.achieve_area .img_box img{
	width: 100%;
}

.achieve_area .tx_box{
	width: calc(100% - 620px);
	text-align: center;
	margin-top: 3rem;
}

#content .achieve_area .tx_box h4{
	font-size: 2.25rem;
	letter-spacing: 2px;
	line-height: 100%;
	margin-bottom: 2.5rem;
	color: var(--white);
	padding-top: 6.5rem;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/achieve.png);
	background-size: 90px 80px;
	background-position: center top;
	background-repeat: no-repeat;
}

#content .achieve_area .tx_box h4 small{
	display: block;
	font-size: 1.25rem;
	line-height: 1.625rem;
	margin-bottom: 1.25rem;
	font-weight: 500;
}

.sup_sponsor_area{
	max-width: 1200px;
	margin: auto;
	margin: 11.25rem auto 13rem;
}

#content .sup_sponsor_area h4{
	position: relative;
	font-family: noto-serif, serif;
	font-weight: 700;
	line-height: 100%;
	padding-left: 4.75rem;
	margin-bottom: 2.5rem;
}

#content .sup_sponsor_area h4::before{
	content: "";
	position: absolute;
	width: 50px;
	height: 0;
	border-bottom: 1px solid var(--default);
	left: 0.5rem;
	top: 0;
	bottom: 0;
	margin: auto;
}

.view_more {
	margin: auto;
	text-align: center;
	place-items: center;
}

.view_more a{
	display: block;
	max-width: 140px;
	width: 100%;
	min-height: 2.5rem;
	color: var(--white);
	border-top: 1px solid var(--white);
	border-bottom: 1px solid var(--white);
	text-align: center;
	align-content: center;
	margin: auto;
}

#content ul.sup_list {
	max-width: 1120px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: auto;
	margin-bottom: 3rem;
}

.sup_list li {
	max-width: 230px;
	width: calc(25% - 50px);
	margin-right: 25px;
	margin-left: 25px;
	margin-bottom: 1.5rem;
}

.sup_list li a{
	display: block;
}
.sup_list li img,.menu_area .menu_list li img {
	width: 100%;
	height: auto;
}
#content .sup_sponsor_area p{
	max-width: 1070px;
	width: calc(100% - 4rem);
	margin: auto;
	margin-bottom: 1rem;
	font-size: 0.875rem;
	line-height: 1.5rem;
}

a.border{
	text-decoration: underline;
	color: var(--default);
}

#footer{
	background: var(--gray);
	padding: 3.75rem 0;
	margin: 0;
}

.foot_box{
	width: calc(100% - 15rem);
	margin: auto;
}

ul.foot_nav {
	display: flex;
	margin-bottom: 2.5rem;
}

ul.foot_nav li{
	min-height: 1.5rem;
	border-right: 1px solid var(--default);
}

ul.foot_nav li:last-child{
	border-right: none;
}

ul.foot_nav li a{
	display: block;
	width: fit-content;
	align-content: center;
	text-align: center;
	padding: 0.25rem 1.5rem;
}

.copyright{
	color: var(--grayblack);
	font-size: 0.75rem;
	letter-spacing: 1.5px;
	margin-left: 2.5rem;
}

.copyright a{
	color: var(--grayblack);
}

.copyright .top_only{
	margin-left: 2.75rem;
}

/* サブページ */

#content h1.entry-title{
	width: 100%;
	padding: 1rem 10rem;
	color: var(--white);
	font-family: "noto-sans-cjk-jp", serif;
	font-size: 2.25rem;
	letter-spacing: 2px;
	line-height: 3.5rem;
	align-content: center;
	text-shadow: 0 0 2px var(--default);
	min-height: 280px;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/sub-bg.jpg);
	background-repeat: no-repeat;
	background-position: left 20% center;
	background-size: cover;
}

#content h1.entry-title small{
	display: block;
	font-size: 1.125rem;
	line-height: 1.5rem;
}

.breadcrumbs{
	width: calc(100% - 20rem);
	font-size: 15px;
	min-height: 2rem;
	line-height: 100%;
	align-content: center;
	margin: auto;
	margin-bottom: 4rem;
}

.breadcrumbs span{
	margin: 0 0.25rem;
}

.breadcrumbs span:first-child{
	margin-left: 0;
}

.breadcrumbs span:last-child{
	margin-right: 0;
}

.breadcrumbs span a{
	text-decoration: underline;
}

.sub-inner{
	max-width: 1500px;
	width: calc(100% - 18.75rem);
	margin: auto;
	margin-bottom: 11.875rem;
}

ul.col4.team{
	max-width: 970px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	padding-top: 1.875rem;
	justify-content: space-between;
}

ul.col4.team li{
	max-width: 220px;
	width: calc(26% - 30px);
	margin-bottom: 1.875rem;
}

ul.col4.team li a{
	display: block;
	width: 100%;
	height: fit-content;
	aspect-ratio: 1 / 1;
	line-height: 100%;
}
ul.col4.team li img,#content ul.col3.supporter li img {
	width: 100%;
	height: auto;
}
#container .sub-inner h2{
	position: relative;
	min-height: 100px;
	color: var(--sub-deep-blue);
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 100%;
	align-content: center;
	background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 50%, rgba(244, 244, 244, 1));
	border-top: 5px solid var(--sub-deep-blue);
	padding: 0 0.625rem;
	margin-bottom: 3.75rem;
}

#container .sub-inner h2::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 0;
	border-bottom: 1px solid var(--d-gray);
	left: 0;
	right: 0;
	bottom: -2px;
	margin: auto;
}

.sub-inner .cont-box{
	width: calc(100% - 3rem);
	margin: 0 auto 6.75rem;
}

.sub-inner .cont-box.policy{
	counter-reset: num;
}

.sub-inner .cont-box h3{
	position: relative;
	min-height: 4.625rem;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 100%;
	align-content: center;
	padding: 0 2.5rem;
	background: var(--sky-blue);
}

.sub-inner .cont-box h3::before{
	content: "";
	position: absolute;
	width: 1.25rem;
	height: 0;
	border-bottom: 3px solid var(--sub-blue);
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.sub-inner .cont-box p{
	font-size: 1.125rem;
	letter-spacing: 1.5px;
	line-height: 200%;
}

.sub-inner .cont-box p.team-tx{
	font-size: 3rem;
	font-weight: 900;
	line-height: 100%;
	text-align: center;
}

.sub-inner .cont-box .c-box{
	margin: 2rem auto 3rem;
}

.sub-inner .cont-box .c-box.cl2{
	display: flex;
	flex-wrap: wrap;
	min-height: 405px;
	width: calc(100% - 2rem);
	margin: 2.5rem auto;
	justify-content: space-between;
}

.sub-inner .cont-box .c-box.cl2 .l-box,
.sub-inner .cont-box .c-box.cl2 .r-box{
	width: calc(50% - 2rem);
	margin-bottom: 2rem;
}

.sub-inner .cont-box h4{
	font-size: 1.125rem;
	font-weight: 700;
	padding: 1rem 0;
	border-bottom: 2px solid var(--sub-blue);
}

.sub-inner .cont-box.policy h4{
	position: relative;
	padding-left: 3rem;
}

.sub-inner .cont-box.policy h4::before{
	counter-increment: num 1;
	content: counter(num) "．";
	position: absolute;
	left: 1rem;
	top: 1rem;
}

.sub-inner .cont-box > h5{
	position: relative;
	font-size: 1.25rem;
	font-weight: 700;
	padding-left: 1.5rem;
	margin-bottom: 0.75rem;
}

.sub-inner .cont-box > h5::before{
	content: "";
	position: absolute;
	background: var(--default);
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 100%;
	left: 0;
	top: 0.375rem;
}

dl.place,
dl.staff{
	display: flex;
	flex-wrap: wrap;
	font-size: 1.125rem;
}

dl.place dt,
dl.staff dt{
	width: 120px;
}

dl.place dd,
dl.staff dd{
	width: calc(100% - 120px);
}

#content dl.place dt:first-of-type,
#content dl.place dd:first-of-type,
#content dl.staff dt,
#content dl.staff dd{
	margin-bottom: 0.5rem;
}

#content dl.place dt:last-of-type,
#content dl.staff dt:last-of-type,
#content dl.place dd:last-of-type,
#content dl.staff dd:last-of-type{
	margin-bottom: 0;
}

.img-emb{
	max-width: 240px;
	min-height: 340px;
	align-content: center;
	margin: auto;
}

.img-logo{
	max-width: 360px;
	min-height: 340px;
	align-content: center;
	margin: auto;
}

.img-uni{
	max-width: 400px;
	margin: auto;
}

.img-emb img,
.img-uni img,
.img-logo img{
	width: 100%;
}

#content table.about{
	max-width: 1140px;
	border: none;
	margin: auto;
}

#content table.about tr th,
#content table.about tr td{
	font-size: 1.125rem;
	border: none;
	padding: 1rem 1.5rem;
}

#content table.about tr th{
	width: 200px;
	color: var(--white);
	background: var(--sub-blue);
	border-bottom: 1px dashed var(--white);
}

#content table.about tr td{
	border-bottom: 1px dashed var(--d-gray);
}

#content table.about tr td.right-tx{
	border-bottom-style: solid;
	text-align: end;
}

#content table.about tr td ul{
	margin: 0;
}

#content table.about tr td ul li{
	position: relative;
	line-height: 200%;
	padding-left: 1.5rem;
}

#content table.about tr td ul.num {
	counter-reset: num;
}

#content table.about tr td ul.num li{
	padding-left: 3rem;
}

#content table.about tr td ul li::before{
	content: "■";
	position: absolute;
	left: 0;
	top: 0;
}

#content table.about tr td ul.num li::before{
	counter-increment: num 1;
	content: "（" counter(num) "）";
	position:absolute;
	left: 0;
	top: 0;
}

#content p.cent-tx{
	text-align: center;
}

.center.wid700{
	max-width: 700px;
	margin: auto;
	margin-bottom: 1.25rem;
}

.center.wid700 img{
	width: 100%;
}

ul.btn{
	max-width: 700px;
	display: flex;
	margin: auto;
	justify-content: space-between;
}

ul.btn li{
	max-width: 300px;
	width: calc(50% - 2rem);
}

ul.btn li a{
	display: block;
	width: 100%;
	min-height: 3.125rem;
	font-size: 1.25rem;
	text-align: center;
	align-content: center;
	border: 2px solid var(--d-gray);
	border-radius: 0.625rem;
}

.more-btn a{
	position: relative;
	display: block;
	width: fit-content;
	min-height: 4.375rem;
	font-size: 1.125rem;
	letter-spacing: 1px;
	align-content: center;
	background: var(--white);
	border: 2px solid var(--default);
	border-radius: 0.625rem;
	padding-left: 1.5rem;
	padding-right: 5rem;
}

.more-btn a::before{
	content: "";
	position: absolute;
	width: 25px;
	height: 25px;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/btn-arrow.png);
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	right: 0.75rem;
	top: 0;
	bottom: 0;
	margin: auto;
}

ul.arrow{
	max-width: 1080px;
	width: 100%;
	margin: auto;
	margin-top: 3.5rem;
}

ul.arrow li {
	margin-bottom: 0.75rem;
}

ul.arrow li a{
	display: block;
	width: fit-content;
	padding-left: 1.75rem;
	text-decoration: underline;
	color: var(--default-link);
	font-size: 1.125rem;
	letter-spacing: 1.5px;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/link-arrow.png);
	background-size: 10px auto;
	background-position: left center;
	background-repeat: no-repeat;
}

.cont-box > ul.arrow,
.cont-box > ul.num {
	max-width: none;
	font-size: 1.125rem;
	margin-top: 0;
	margin-bottom: 2rem !important;
}

.cont-box > ul.arrow li{
	width: fit-content;
	padding-left: 1.75rem;
	letter-spacing: 1.5px;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/link-arrow.png);
	background-size: 10px auto;
	background-position: left top 5px;
	background-repeat: no-repeat;
}

.cont-box > ul.num{
	counter-reset: num;
}

.cont-box > ul.num li{
	position: relative;
	width: fit-content;
	margin-bottom: 0.75rem;
	padding-left: 1.75rem;
	letter-spacing: 1.5px;
}

.cont-box > ul.num li::before{
	counter-increment: num 1;
	content: counter(num) ".";
	position: absolute;
	left: 0.5rem;
	top: 0;
}

ul.arrow.link li{
	padding-left: 0;
	background-image: none;
}
table.form ul.arrow {
	margin: auto;
}

table.form ul.arrow li {
	padding-left: 1.75rem;
	font-size: 1.125rem;
	letter-spacing: 1.5px;
	background-image: url(https://www.y-polaris.com/wp-content/uploads/2026/05/link-arrow.png);
	background-size: 10px auto;
	background-position: left top 0.75rem;
	background-repeat: no-repeat;
}

table.form ul.arrow li:last-child {
	margin-bottom: 0;
}

.cont-box.office p > a{
	text-decoration: underline;
}

.sub-inner .cont-box.cl2.map{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
} 

.sub-inner .cont-box.cl2.map .l-box,
.sub-inner .cont-box.cl2.map .r-box{
	width: calc(50% - 1.25rem);
	margin: 0 0 2.5rem;
}

.gmap iframe{
	display: block;
	width: 100%;
}

ul.mem-box.cl5{
	max-width: 1130px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: auto;
}

ul.mem-box.cl5 li{
	max-width: 210px;
	width: calc(20% - 1rem);
	margin-right: 1.25rem;
	margin-bottom: 1.25rem;
	border: 1px solid var(--gray);
}

ul.mem-box.cl5 li:nth-child(5n){
	margin-right: 0;
}

ul.mem-box.cl5 li .img-box img{
	display: block;
    width: 100%;
	min-height: 210px;
	object-fit: cover;
}

ul.mem-box.cl5 li .name-box{
	min-height: 130px;
	align-content: center;
	text-align: center;
	color: var(--white);
	background: var(--sub-blue);
}

#content ul.mem-box.cl5 li .name-box h5{
	position: relative;
	min-height: 4.5rem;
	align-content: center;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--white);
	line-height: 2rem;
	letter-spacing: 2px;
	margin: 0;
}

#content ul.mem-box.cl5 li .name-box h5::before{
	content: "";
	position: absolute;
	width: calc(100% - 1.25rem);
	height: 2px;
	background: var(--white);
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

ul.mem-box.cl5 li .name-box h5 small{
	display: block;
	line-height: 1.25rem;
	font-size: 0.9375rem;	
	font-weight: 400;
}

#content ul.mem-box.cl5 li .name-box p{
	min-height: 3rem;
	align-content: center;
	font-size: 0.8125rem;
	line-height: 1rem;
	letter-spacing: 0.1px;
	margin: 0;
}

.message-box{
	margin: 0 auto 5rem;
	max-width: 640px;
}

.message-box p{
	position: relative;
	min-height: 5rem;
	align-content: center;
	color: var(--white);
	text-align: center;
	font-size: 1.25rem;
	line-height: 2rem;
	border-radius: 0.625rem;
	background: var(--sub-deep-blue);
}

.message-box p::before{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-top: 20px solid var(--sub-deep-blue);
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	bottom: -1.25rem;
	left: 0;
	right: 0;
	margin: auto;
}

ul.faq-box{
	margin: auto;
}

ul.faq-box > li{
	margin-bottom: 1.25rem;
}

ul.faq-box > li .q{
	position: relative;
	min-height: 3.75rem;
	padding-left: 5rem;
	align-content: center;
	border-bottom: 1px solid var(--yellow);
	cursor: pointer;
}

#content ul.faq-box > li .q p{
	line-height: 100%;
	margin: 0;
	margin-left: 1.25rem;
}


#content ul.faq-box > li .ans p{
	line-height: 1.5rem;
	margin-bottom: 1.25rem;
	margin-left: 1rem;
}

#content ul.faq-box > li:first-child .ans p:last-child{
	margin-left: 0;
}

ul.faq-box > li .q::before{
	content: "Ｑ";
	position: absolute;
	width: 60px;
	height: 60px;
	text-align: center;
	font-size: 1.5rem;
	align-content: center;
	line-height: 100%;
	color: var(--sub-deep-blue);
	background: var(--yellow);
	left: 0;
	top: 0;
}

ul.faq-box > li .q::after {
	content: "＋";
	position: absolute;
	width: 2rem;
	height: 2rem;
	font-size: 1.25rem;
	text-align: center;
	align-content: center;
	right: 1rem;
	top: 0;
	bottom: 0;
	margin: auto;
	color: var(--white);
	background: var(--sub-deep-blue);
}

ul.faq-box > li .ans{
	position: relative;
	padding: 1rem;
	padding-left: 5rem;
	margin-top: 1rem;
}

ul.faq-box > li .q.is-active::after {
	content: "－";
}

ul.faq-box > li .ans::before{
	content: "Ａ";
	position: absolute;
	width: 60px;
	height: 60px;
	text-align: center;
	align-content: center;
	line-height: 100%;
	font-size: 1.5rem;
	color: var(--white);
	background: var(--sub-deep-blue);
	left: 0;
	top: 0;
}

#content ul.faq-box > li .ans .col2{
	display: flex;
	width: 100%;
	margin-top: 2.5rem;
}

#content ul.faq-box > li .ans .col2 .l-box{
	width: calc(65% - 1.25rem);
	margin-right: 1.25rem;
}

#content ul.faq-box > li .ans .col2 .r-box{
	max-width: 360px;
	width: 35%;
}

#content ul.faq-box > li .ans table{
	border: none;
}

#content ul.faq-box > li .ans table tr{
	min-height: 4rem;
	align-content: center;

}

#content ul.faq-box > li .ans table tr th,
#content ul.faq-box > li .ans table tr td{
	border: none;
	font-size: 1.125rem;
	padding: 1rem;
	border: 1px solid var(--grayblack);
}

#content ul.faq-box > li .ans table tr th{
	background: var(--gray);
}

#content ul.faq-box > li .ans table tr th:first-of-type{
	width: 80px;
	line-height: 2rem;
}

span.sche{
	display: inline-block;
	min-width: 4rem;
	font-size: 1rem;
	line-height: 1rem;
	padding: 0.5rem;
	margin-right: 0.5rem;
	background: var(--gray);
}

span.sche.tr{
	background: var(--sub-blue);
	color: var(--white);
}

span.sche.tr-m{
	background: var(--deep-blue);
	color: var(--white);
}

span.sche.vi{
	background: var(--red);
	color: var(--white);
}

ol.col li{
	margin-bottom: 0.5rem;
}

#content table.bunner{
	max-width: 960px;
	margin: 0 auto 2.5rem;
	border: none;
}

#content table.bunner tr td{
	width: calc(100% / 3);
	border: none;
	padding: 1rem;
	border: 1px solid var(--sub-deep-blue);
}

#content table.bunner tr td[colspan]{
	width: 100%;
}

#content table.bunner tr td p{
	border-left: 1rem solid var(--sub-deep-blue);
	padding-left: 0.5rem;
	margin-bottom: 1rem;
}

#content table.bunner tr td .img-box{
	text-align: center;
}

#content table.bunner tr td .img-box img{
	max-width: fit-content;
}

ul.col3.sponsor {
	max-width: 1080px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
}

ul.col3.sponsor li {
	max-width: 320px;
	width: 32%;
	text-align: center;
	align-content: center;
	margin-bottom: 2rem;
}

ul.col3.sponsor li a{
	display: flex;
	height: 100%;
	background: var(--white);
	flex-direction: column;
	border: 1px solid var(--d-gray);
	border-radius: 0.25rem;
}

ul.col3.sponsor li a.nolink{
	color: var(--default);
}

ul.col3.sponsor li a:hover{
	filter: brightness(80%);
}

ul.col3.sponsor li a.nolink:hover{
	filter: none;
	text-decoration: none;
}

ul.col3.sponsor li .img_area {
	min-height: 7.5rem;
	align-content: center;
}

ul.col3.sponsor li .img_area img{
    max-width: fit-content;
}

ul.col3.sponsor li .tx_area{
	display: flex;
	height: 100%;
	flex-direction: column;
}

ul.col3.sponsor li .tx_area strong{
	font-size: 1.25rem;
	line-height: 150%;
	color: var(--sub-blue);
	min-height: 3.125rem;
	align-content: center;
}

ul.col3.sponsor li .tx_area .detail{
	text-align:left;
	padding: 1rem;
}

.link.cl2 {
	max-width: 1080px;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	justify-content: space-between;
}

.link.cl2 .l-box,
.link.cl2 .r-box{
	width: calc(50% - 1rem);
	margin-bottom: 2.5rem;
}

.link.cl2 .single{
	width: 100%;
}

#content .link.cl2 .l-box p,
#content .link.cl2 .r-box p{
	margin-bottom: 2.5rem;
}

.sponsor-link a{
	display: flex;
	font-size: 1.25rem;
	text-align: center;
	font-weight: 700;
	align-content: center;
	max-width: 450px;
	min-height: 3.75rem;
	margin: 0 auto 1rem;
	background: var(--white);
	border: 1px solid var(--d-gray);
	border-radius: 0.25rem;
}

.sponsor-link a:hover{
	filter: brightness(80%);
}

.sponsor-link a .img_area{
	display: block;
	max-width: 120px;
	width: 100%;
	height: fit-content;
	aspect-ratio: 1 / 1;
	align-content: center;
	text-align: center;
	border: 1px solid var(--gray);
	margin: 0.625rem;
}

.sponsor-link a .img_area img{
	width: fit-content;
}

.sponsor-link a .tx_area{
	text-align:left;
	align-content: center;
	padding-right: 1rem;
}

.sponsor-link a .tx_area strong{
	display: block;
	font-size: 1.125rem;
	margin-bottom: 1rem;
}

.sponsor-link a .tx_area span.detail{
	display: block;
	text-align:left;
	font-size: 1rem;
	font-weight: 400;
	margin-right: 0.625rem;
}

span.border{
	font-weight: 700;
	background-image: linear-gradient(180deg, rgba(255, 217, 47, 0) 70%, rgba(255, 217, 47, 1) 70%);
}

ul.asterisk{
	font-size: 1.125rem;
}

ul.asterisk li{
	position: relative;
	line-height: 150%;
	padding-left: 1.5rem;
	margin-bottom: 0.625rem;
}

ul.asterisk li::before{
	content: "＊";
	position: absolute;
	left: 0;
	top: 0;
}

ul.asterisk li:last-child{
	margin-bottom: 0;
}

ul.staff {
	max-width: 1080px;
	display: flex;
	margin: auto;
	justify-content: space-between;
}

ul.staff li{
	width: calc(32% - 1rem);
	min-height: 12.5rem;
	text-align: center;
	align-content: flex-start;
	border: 1px solid var(--sub-deep-blue);
}

#content ul.staff li h5{
	width: 100%;
	font-size: 1.25rem;
	line-height: 2.5rem;
	min-height: 5rem;
	align-content: center;
	background: var(--sub-deep-blue);
	color: var(--white);
	margin: auto;
	margin-bottom: 1.25rem;
}

#content ul.staff li p{
	margin-bottom: 0;
}

#content ul.btn-list{
	display: flex;
	max-width: 1000px;
	margin: auto;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

#content ul.btn-list.single{
	max-width: 480px;
}

ul.btn-list li{
	max-width: 480px;
	width: calc(50% - 1rem);
}

#content ul.btn-list.single li{
	width: 100%;
}

ul.btn-list li img{
	width: 100%;
}

ul.col3.supporter{
	max-width: 720px;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	justify-content: space-between;
}

#content ul.col3.supporter li{
	max-width: 220px;
	width: calc(33.333% - 1rem);
	margin-bottom: 0;
}

#content ul.arrow li > ul.arrow{
	max-width: none;
	width: 100%;
	margin-top: 0.75rem;
	margin-bottom: 2rem;
}

ul.sponsor-list {
	max-width: 900px;
	display: flex;
	justify-content: space-between;
}

ul.wr.sponsor-list{
	max-width: 720px;
	flex-wrap: wrap;
}

ul.sponsor-list li{
	max-width: 290px;
	width: 32%;
}

ul.wr.sponsor-list li{
	max-width: 230px;
}

ul.sponsor-list li img{
	width: 100%;
}

#content table.form{
	max-width: 1080px;
	border: 0;
	margin: auto;
	margin-bottom: 2.5rem;
}

#content table.form th,
#content table.form td {
	vertical-align: top;
	font-size: 1.125rem;
    padding: 0.5rem 1rem;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: var(--sub-deep-blue);
}

#content table.form th p,
#content table.form td p{
	margin: 0;
}

#content table.form th{
	width: 240px;
	position: relative;
	color: var(--default);
}


#content table.form th span{
	position: absolute;
	display: block;
	width: fit-content;
	height: fit-content;
	line-height: 100%;
	padding: 0.5rem;
	color: var(--white);
	background: var(--red);
	border-radius: 0.25rem;
	right: 0.5rem;
	top: 0;
	bottom: 0;
	margin: auto;
    margin-top: 0.75rem;
}

#content table.form input[type="text"], 
#content table.form input[type="email"], 
#content table.form input[type="tel"],
#content table.form select,
textarea{
	width: 100%;
    padding: 0.5rem;
    margin: 0;
    font-size: 1rem;
    letter-spacing: 0.2px;
    font-family: "Noto Sans CJK JP", sans-serif;
}

#content .send-btn p{
	margin: 0;
}

#content .send-btn p input[type="submit"]{
	display: block;
	max-width: 360px;
	width: 100%;
	min-height: 60px;
	text-align:center;
	align-content: center;
	color: var(--white);
	font-size: 1.25rem;
	font-weight: 700;
	background: var(--sub-blue);
	border: none;
	border-radius: 0.25rem;
	margin: 0 auto;
	cursor: pointer;
}

dl.send-file {
	max-width: 1080px;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	margin-bottom: 2.5rem;
}

#content dl.send-file dt,
#content dl.send-file dd{
	margin: 0;
    border-bottom: 1px solid var(--d-gray);
    padding: 1rem;
}

dl.send-file dt{
	width: 420px;
}


#content dl.send-file dd{
	width: calc(100% - 420px);
}

#content dl.send-file dt p,
#content dl.send-file dd p{
	margin: 0;
}

#content dl.send-file dt p span{
    display: block;
    font-size: 0.875rem;
	font-weight: 400;
    line-height: 1.25rem;
    color: var(--red);
}

.pdf a{
    display: block;
    max-width: 360px;
    width: 100%;
    min-height: 80px;
    align-content: center;
    padding-left: 4rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--red-color);
    border: 2px solid var(--red-color);
    border-radius: 0.5rem;
    background: url(https://y-polaris.xsrv.jp/wphp/wp-content/uploads/2026/01/icn-pdf.png), var(--white);
    background-repeat: no-repeat;
    background-size: auto 48px;
    background-position: center left 10px;
}

.entry a{
    display: block;
    max-width: 360px;
    width: 100%;
    min-height: 80px;
    align-content: center;
    padding-left: 4rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--sub-deep-blue);
    border: 2px solid var(--sub-deep-blue);
    border-radius: 0.5rem;
    background: url(https://y-polaris.xsrv.jp/wphp/wp-content/uploads/2026/01/icn-form.png), var(--white);
    background-repeat: no-repeat;
    background-size: auto 48px;
    background-position: center left 10px;
}

.wpcf7-spinner {
	display: none;
}

.entry-content input{
	margin: 0;
}

.entry-content label{
	font-size: 1rem;
}

.wpcf7-list-item{
	margin: 0;
	margin-right: 1.25rem;
}

#nav-below.navigation{
	max-width: 960px;
	display: flex;
	justify-content: space-between;
	margin: auto;
	margin-bottom: 2.5rem;
}

#nav-below.navigation .nav-previous,
#nav-below.navigation .nav-next {
    max-width: 160px;
    float: none;
    font-size: 0.875rem;
}

#nav-below.navigation .nav-previous a,
#nav-below.navigation .nav-next a{
    display: block;
	width: 100%;
    min-height: 3.75rem;
    text-align: center;
    align-content: center;
    float: none;
    font-size: 0.875rem;
	color: var(--white);
	background: var(--deep-blue);
	border-radius: 0.25rem;
}

.nav-home{
	max-width: 320px;
	margin: auto;
}

.nav-home a{
    display: block;
	width: 100%;
    min-height: 3.75rem;
    text-align: center;
    align-content: center;
	color: var(--white);
	background: var(--deep-blue);
	border-radius: 0.25rem;
}

#content ul.cl2.news{
    max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 5rem;
	justify-content: space-between;
}

#content ul.cl2.news li{
	width: calc(50% - 1rem);
	margin-bottom: 1.25rem;
}

#content ul.cl2.news li a{
	position: relative;
	display: block;
	width: 100%;
    min-height: 12.5rem;
	padding: 1rem;
    background: var(--white);
	border: 1px solid var(--d-gray);
	border-radius: 0.5rem;
}

#content ul.cl2.news li a span{
	display: block;
}

#content ul.cl2.news li a span.title-area{
	font-size: 1.125rem;
	font-weight: 700;
    min-height: 2.5rem;
	margin-bottom: 1rem;
    padding-bottom: 0.625rem;
	border-bottom: 1px dashed var(--sub-deep-blue);
	color: var(--sub-deep-blue);
}

#content ul.cl2.news li a span.btn{
    position: absolute;
    width: 120px;
    min-height: 2rem;
    font-size: 0.875rem;
    text-align: center;
    align-content: center;
    background: var(--deep-blue);
    color: var(--white);
    border-radius: 0.25rem;
    right: 1rem;
    bottom: 1rem;
}

#content ul.cl2.news li a span.days{
    position: absolute;
    color: var(--d-gray);
    left: 1rem;
    bottom: 1.25rem;
}

.nav-links{
	display: flex;
}

.nav-links a,
.nav-links span.current,
.nav-links span.dots{
	font-size: 0.875rem;
	display: block;
	padding: 0.5rem;
	border: 1px solid var(--sub-deep-blue);
	margin-right: 0.5rem;
}

.nav-links span.current,
.nav-links a:hover{
	background: var(--sub-deep-blue);
	color: var(--white);
}

ul.org{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

ul.org > li{
    width: calc((100% / 3) - 1rem);
    min-height: 240px;
    margin: 0 0.5rem 1rem;
	padding: 1rem;
	color: var(--white);
	background-image: linear-gradient(180deg, rgb(31, 51, 129), rgb(5, 90, 170) 90%);
}

#content ul.org > li h5{
	position: relative;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 3.75rem;
	color: var(--white);
	padding-bottom: 2rem;
}

#content ul.org > li h5 small{
    position: absolute;
    line-height: 100%;
    right: 0;
    bottom: 3rem;
    font-size: 0.75rem;
}

#content ul.org > li h5::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 0;
	border-bottom: 1px solid var(--sub-blue);
	left: 0;
	bottom: 2rem;
}

#content ul.org > li h5 span{
	position: absolute;
    font-size: 1rem;
    line-height: 2rem;
	bottom: 0;
	right: 0;
}

#content ul.org > li ol{
    font-size: 0.75rem;
    text-shadow: 1px 1px black;
}

#content ul.org > li ol li{
    line-height: 150%;
}

.apply{
	text-align: end;
}
ul.asterisk li .komoku {
	display: block;
}
.sub-details.loc, .sub-details.des, .sub-details.category {
	margin-top: 15px;
}
.mc-main div em {
	font-style: normal;
	font-weight: normal;
	font-size: 13px;
}
.sub-details.category {
    font-size: 14px;
}
article header h3.event-title button {
    cursor: pointer !important;
    text-decoration: underline !important;;
}
article:not(:has(.mc-description)) header h3.event-title button {
    pointer-events: none;
    cursor: inherit;
    text-decoration: none !important;;
}
.screen-reader-text .event-count {
	display: none;
}
.mc-main .my-calendar-navigation > div {
    justify-content: center;
}
.mc-main .mc_1.mc_rel_mcat1 .event-title button {
	background: #666666 !important;
	color: #ffffff !important;
}
#content table.ac {
	border: 1px solid #666;
	border-width: 0 0 1px 1px;
	margin: 0 auto 35px auto;
	max-width: 1000px;
	width: 96%;
}
#content table.ac td {
	border: 1px solid #666;
	border-width: 1px 1px 0 0;
}
@media screen and ( min-width:769px ) {
	ul.asterisk li .komoku {
		display: inline-block;
		margin-right: 40px;
	}
}
@media screen and ( max-width:1440px ) {
	#header .logo_area {
		max-width: 304px;
	}

	.news_box {
		width: calc(100% - 10rem);
	}

	#content ul.news-list {
		width: calc(100% - 17.5rem);
	}

	.sub-inner,
	.breadcrumbs{
		width: calc(100% - 10rem);
	}

	#content h1.entry-title {
		padding: 1rem 6.25rem;
	}

}

@media screen and ( max-width:1280px ) {
	ul.nav {
		position: fixed;
		display: flex;
		flex-direction: column;
		max-width: 240px;
		width: 100%;
		margin-right: 0;
		right: 0;
		top: 7.5rem;
		transition: 0.5s;
		transform: translateX(100%);
		opacity: 0;
		visibility: hidden;
		filter: drop-shadow(0px 0px 3px var(--default));
	}

	ul.nav.active {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}

	ul.nav > li{
		max-width: none;
		min-height: 70px;
		text-align: left;
		align-content: center;
		line-height: 2.5rem;
		padding-left: 5rem;
	}

	ul.nav > li:first-child{
		border-top-left-radius: 0.5rem;
	}

	ul.nav > li:last-child{
		border-bottom-left-radius: 0.5rem;
	}

	ul.nav > li:nth-child(-n+4){
		border-bottom: 1px dashed var(--default);
	}

	ul.nav > li::before {
		width: 48px;
		height: 40px;
		top: 1rem;
		left: 1rem;
		right: auto;
	}

	ul.nav > li.arrow{
		cursor: auto;
	}

	ul.nav > li.arrow::after{
		display: none;
	}

	ul.nav > li.arrow ul.add_menu{
		opacity: 0!important;
		visibility: hidden!important;
		position: absolute;
		max-width: 210px;
		width: 100%;
		top: 50%;
		left: 0;
		right: auto;
		background: none;
		transform: translateX(0);
		z-index:-1;
	}

	ul.nav > li.arrow.is-open ul.add_menu{
		opacity: 1!important;
		visibility: visible!important;
		transform: translateX(-100%);
	}

	ul.nav li ul.add_menu li a {
		padding: 0.25rem 1rem;
		background: var(--gray);
	}

	ul.nav li ul.add_menu li:first-child a {
		border-top-left-radius: 0.5rem;
	}

	ul.nav li ul.add_menu li:last-child a {
		border-bottom-left-radius: 0.5rem;
		border-bottom-right-radius: 0.5rem;		
	}

	.sp_btn{
		display: block;
		pointer-events: visible;
	}

	.sp_btn::before,
	.sp_btn::after{
		content: "";
		position: absolute;
		width: 1rem;
		height: 0;
		border-bottom: 2px solid var(--white);
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: .5s;
	}

	.sp_btn::after{
		transform: rotate(90deg);
	}

	.sp_btn.is-open::after{		
		transform: rotate(180deg);
	}

	.hum{
		display: block;
	}

	.news_box {
		width: calc(100% - 5rem);
	}

	#content ul.news-list {
		width: calc(100% - 15rem);
	}

	.about_box {
		width: calc(100% - 7.5rem);
	}

	.achieve_area .img_box {
		margin-left: 5%;
	}

	.menu_area .logo_box {
		max-width: 200px;
	}

	#footer{
		margin-bottom: 70px;
	}

	.sche_btn {
		position: fixed;
		max-width: none;
		height: 70px;
		top: auto;
		bottom: 0;
	}

	.sche_btn a{
		max-width: none;
		text-align: center;
		height: 70px;
		align-content: center;
		padding-bottom: 0;
	}

	.sche_btn a::before{
		left: -11.25rem;
	}

	.sub-inner .cont-box {
		width: calc(100% - 2rem);
	}

	ul.mem-box.cl5{
		max-width: 1060px;
		margin-left: 1.25rem;
	}

	ul.mem-box.cl5 li{
		max-width: none;
		width: calc(25% - 1.25rem);
	}

	ul.mem-box.cl5 li:nth-child(5n){
		margin-right: 1.25rem;
	}

	ul.mem-box.cl5 li:nth-child(4n){
		margin-right: 0;
	}

	#content ul.faq-box > li .ans .col2 {
		flex-direction: column;
	}

	#content ul.faq-box > li .ans .col2 .l-box {
		width: 100%;
		margin-right: 0;
	}

	#content ul.faq-box > li .ans .col2 .r-box {
		max-width: none;
		width: fit-content;
	}

	#content ol.col {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 0.5rem;
	}

	ol.col li{
		margin-right: 1rem;
		margin-bottom: auto;
	}
	
	ul.org > li {
		width: calc((100% / 2) - 1rem);
	}
}

@media screen and ( max-width:1024px ) {
	.news_box {
		flex-direction: column;
		width: 100%;
		align-items: center;
	}

	.news_box .title_area{
		margin-bottom: 3.125rem;
	}

	#content .news_box h2{
		margin-bottom: 2rem;
	}

	.more a {
		margin: auto;
	}

	#content ul.news-list {
		width: 100%;
	}

	.menu_area .menu_box {
		flex-direction: column;
		width: calc(100% - 4rem);
		padding: 4rem 2rem;
	}

	.menu_area .logo_box {
		margin: auto;
		margin-bottom: 4rem;
	}

	.menu_area .menu_list{
		margin-right: auto;
	}

	.about_area {
		padding: 6.25rem 1rem 12.5rem;
	}

	.achieve_box {
		flex-direction: column-reverse;
		align-items: center;
	}

	.achieve_area{
		width: 100%;
	}

	.achieve_area .tx_box {
		width: 100%;
		margin-bottom: 3rem;
	}

	.achieve_area .img_box{
		width: calc(100% - 4rem);
		margin-left: auto;
		margin-bottom: -5rem;
	}

	.sup_sponsor_area {
		margin: 10rem auto 8rem;
	}

	#content ul.sup_list{
		margin: auto 0.625rem 2rem;
	}

	.sup_list li {
		width: calc(25% - 1.25rem);
		margin-right: 0.625rem;
		margin-left: 0.625rem;
		margin-bottom: 1rem;
	}

	#footer {
		padding: 2.5rem 0;
	}

	.foot_box {
		width: calc(100% - 4rem);
	}

	.copyright{
		margin: auto;
	}

	#content h1.entry-title {
		padding: 1rem 3.125rem;
	}

	.sub-inner,
	.breadcrumbs{
		width: calc(100% - 6.25rem);
	}

	.sub-inner{
		margin-bottom: 7.5rem;		
	}

	.breadcrumbs{
		margin-bottom: 2.5rem;
	}

	ul.col4.team{
		max-width: 720px;
		justify-content: flex-start;
		padding: 0;
	}

	ul.col4.team li {
		width: calc((100% / 3) - 1.25rem);
		margin: 0 0.625rem 1.25rem;
	}

	.sub-inner .cont-box {
		width: 100%;
		margin: 0 auto 4.5rem;
	}

	ul.arrow{
		margin-top: 1.5rem;
	}

	#content table.about tr th,
	#content table.about tr td {
		display: block;
		width: 100%;
		padding: 1rem;
	}

	#content table.about tr th{
		border-bottom: none;
	}

	#content table.about tr td {
		margin-bottom: 1.25rem;
		border-bottom-style: solid;
	}


	.sub-inner .cont-box.cl2.map .l-box,
	.sub-inner .cont-box.cl2.map .r-box{
		width: 100%;
	}

	#content ul.faq-box > li .ans .col2 {
		flex-direction: column;
		margin-left: -3.75rem;
		width: calc(100% + 3.75rem);
	}

	#content ul.faq-box > li:first-child .ans p:last-child{
		margin-left: -3.75rem;
		width: calc(100% + 3.75rem);
	}
	
	.link.cl2 {
		flex-direction: column;
	}
	
	.link.cl2 .l-box, .link.cl2 .r-box {
		width: 100%;
	}
	
	.sponsor-link a{
		max-width: none;
	}
}

@media screen and ( max-width:960px ){
	ul.mem-box.cl5 li {
		width: calc(33.333% - 1.25rem);
	}

	ul.mem-box.cl5 li:nth-child(4n){
		margin-right: 1.25rem;
	}

	ul.mem-box.cl5 li:nth-child(3n){
		margin-right: 0;
	}
	
	ul.col3.sponsor li {
		max-width: none;
		width: 48%;
	}
	
	
	#content dl.send-file dt,
	#content dl.send-file dd{
		width: 100%;
		border: none;
	}
	
	#content dl.send-file dt{
		background: var(--sky-blue);
	}
	
	#content dl.send-file dd{
		margin-bottom: 1.25rem;
	}
	
	#content ul.cl2.news li{
		width: 100%;
	}
}

@media screen and ( max-width:768px ){
	ul.nav{
		max-width: 210px;
	}

	ul.nav > li {
		min-height: 70px;
		line-height: 2.5rem;
		padding-left: 3.75rem;
	}

	ul.nav > li::before {
		width: 36px;
		height: 30px;
		top: 1.25rem;
		left: 0.75rem;
	}

	#content .top_cont h1 {
		font-size: 2rem;
	}

	.about_box h3 small {
		font-size: 1.5rem;
		line-height: 1.5rem;
	}

	.news_area {
		padding: 4rem 2rem;
	}

	ul.news-list li a{
		flex-direction: column;
	}

	ul.news-list li a .days {
		width: 100%;
		border-bottom: 1px dashed var(--default);
		padding-bottom: 0.75rem;
		margin-right: auto;
		margin-bottom: 0.5rem;
	}

	.sup_list li {
		width: calc(33.33% - 1.25rem);
	}

	.about_box {
		width: calc(100% - 4rem);
	}

	#content .about_box h3 {
		font-size: 2rem;
	}

	#content .about_box p.mar4r {
		margin-bottom: 2.5rem;
	}

	.foot_box {
		width: calc(100% - 2rem);
	}

	ul.foot_nav {
		flex-wrap: wrap;
	}

	ul.foot_nav li {
		width: 50%;
		border: none;
	}

	ul.foot_nav li a{
		padding: 0.25rem 0.5rem;
	}

	#content h1.entry-title {
		font-size: 1.75rem;
		min-height: 200px;
		text-align: center;
		background-position: left 10% center;
		padding: 1rem 1.875rem;
	}

	.sub-inner,
	.breadcrumbs{
		width: calc(100% - 3.75rem);
	}

	#container .sub-inner h2 {
		min-height: 80px;
		font-size: 1.5rem;
		margin-bottom: 2.5rem;
		line-height: 150%;
		padding-top: 0.625rem;
		padding-bottom: 0.625rem;
	}

	.sub-inner .cont-box h3 {
		min-height: 3.75rem;
		font-size: 1.25rem;
		padding-top: 0.625rem;
		padding-bottom: 0.625rem;
		padding-right: 1.5rem;
	}

	.sub-inner .cont-box .c-box {
		margin: 1rem auto 3rem;
	}

	.sub-inner .cont-box p.team-tx {
		font-size: 2rem;
	}

	.sub-inner .cont-box .c-box.cl2{
		flex-direction: column;
		margin-top: 1.25rem;
	}

	.sub-inner .cont-box .c-box.cl2 .l-box,
	.sub-inner .cont-box .c-box.cl2 .r-box {
		width: 100%;
		margin-bottom: 2rem;
	}

	.more-btn a {
		width: 100%;
		padding-right: 3rem;
		word-break: auto-phrase;
	}

	.message-box{
		margin-bottom: 3.75rem;
	}

	.message-box p{
		font-size: 1.125rem;
	}

	#content ul.faq-box > li .q p,
	#content ul.faq-box > li .ans p{
		font-size: 1rem;
	}

	ul.faq-box > li .q,
	ul.faq-box > li .ans{
		padding-left: 3.75rem;
	}

	#content ul.faq-box > li .ans .col2,
	#content ul.faq-box > li:first-child .ans p:last-child{
		width: calc(100% + 5rem);
	}

	#content ul.faq-box > li .ans table tr:first-of-type{
		display: none;
	}

	#content ul.faq-box > li .ans table tr th,
	#content ul.faq-box > li .ans table tr td {
		position: relative;
		display: block;
		min-height: 4rem;
		align-content: center;
		border: none;
		padding-left: 5rem;
	}

	#content ul.faq-box > li .ans table tr th:first-of-type{
		width: 100%;
	}

	#content ul.faq-box > li .ans table tr th::before,
	#content ul.faq-box > li .ans table tr td::before{
		content: "";
		position: absolute;
		width: 4rem;
		min-height: 4rem;
		text-align: center;
		align-content: center;
		border-right: 1px dotted var(--grayblack);
		left: 0;
		top: 0;
	}	

	#content ul.faq-box > li .ans table tr th:first-of-type::before{
		content: "曜日";
	}

	#content ul.faq-box > li .ans table tr td:first-of-type::before{
		content: "内容";
	}

	#content ul.faq-box > li .ans table tr td:last-of-type::before{
		content: "時間";
	}

	#content ul.faq-box > li .ans table tr td:last-of-type{
		border-top: 1px solid var(--grayblack);
		margin-bottom: 1.25rem;
	}

	ol.col li{
		width: calc(50% - 1rem);
	}

	ol.col li:nth-child(-n+2){
		margin-bottom: 0.5rem;
	}

	ul.staff{
		flex-wrap: wrap;
	}

	ul.staff li{
		width: 100%;
		min-height: fit-content;
		margin-bottom: 1rem;
	}

	#content ul.staff li p {
		line-height: 1.5rem;
		padding-bottom: 1.25rem;
	}

	#content ul.staff li h5{
		min-height: 2.5rem;
		margin-bottom: 1.25rem;
	}

	#content ul.btn-list{
		flex-wrap: wrap;
		flex-direction: column;
		align-content: center;
		margin-bottom: 1.25rem;
	}

	#content ul.btn-list li{
		max-width: 300px;
		width: 100%;
		margin-bottom: 1rem;
	}

	#content ul.btn-list li:last-child{
		margin-bottom: 0;
	}
	#content table.bunner tr td {
        display: block;
        width: 100%;
        border-bottom-width: 0;
    }
	
	#content table.bunner tr:last-of-type td {
        border-bottom-width: 1px;
    }

	#content table.form th,
	#content table.form td {
		display: block;
		border: none;
	}
	
	#content table.form th{
		background: var(--sky-blue);
		width: 100%;
	}
	
    #content table.form th p span {
        margin-top: auto;
    }

	#content table.form td {
		margin-bottom: 1.25rem;
	}
	
	dl.place{
		flex-direction: column;
	}
	
	dl.place dt,
	dl.place dd{
		width: 100%;
	}
	
	#content dl.place dt:first-of-type,
	#content dl.place dt:last-of-type{
		margin-bottom: 0.25rem;
	}
	
	#content dl.place dd:first-of-type,
	#content dl.place dd:last-of-type{
		margin-bottom: 1rem;
	}
	
	ul.org > li {
        width: 100%;
    }
}

@media screen and ( max-width:640px ){	
	.menu_area .menu_box {
		width: calc(100% - 2rem);
	}

	.menu_area .menu_list li {
		width: calc((100% / 2) - 1rem);
	}

	#content ul.sup_list {
		max-width: 500px;
		margin: auto auto 2rem;
	}

	.sup_list li {
		width: calc(50% - 1.25rem);
	}

	.copyright {
		text-align: center;
	}

	.copyright .top_only {
		display: block;
		margin-left: auto;
	}

	#content h1.entry-title {
		padding: 1rem 1.25rem;
	}

	.sub-inner,
	.breadcrumbs{
		width: calc(100% - 2.5rem);
	}
	
	.cont-box.office p > a.wid640 {
		display: block;
	}

	ul.col4.team {
		max-width: 400px;
	}

	ul.col4.team li {
		width: calc((100% / 2) - 1.25rem);
	}


	ul.mem-box.cl5 li {
		width: calc(50% - 1.25rem);
	}

	ul.mem-box.cl5 li:nth-child(3n){
		margin-right: 1.25rem;
	}

	ul.mem-box.cl5 li:nth-child(2n){
		margin-right: 0;
	}

	ol.col li:nth-child(-n+2){
		margin-bottom: 0.5rem;
	}

	ol.col li{
		width: 100%;
		margin-bottom: 0.5rem;
	}

	ul.col3.sponsor-list{
		max-width: none;
		flex-direction: column;
	}

	ul.col3.sponsor-list li{
		width: 100%;
		margin: auto;
	}

	ul.wr.sponsor-list{
		max-width: 480px;
	}

	ul.wr.sponsor-list li{
		width: 50%;
	}
	
	ul.col3.sponsor li{
		width: 100%;
	}

}