@charset "UTF-8";
/*==========================================
  Common
==========================================*/

/* html
==================================*/
html{
	font-size: calc(100vw / 140);
}

/* Animation
==================================*/
.c-anim-up {
  transform: translate(0, 3.0rem);
}


/*==================================
  Component
==================================*/
body {
  font-size: 1.6rem;
  letter-spacing: 0.12em;
}

@media (min-width: 800px) {
  .wrap {
    width: 113.6rem;
    max-width: calc(100% - 6.0rem);
  }
  .wrap .inner-wrap {
    width: 76.8rem;
  }
}


/*=============================================
 * <image object-fit responsive>
 *=============================================*/
.container {
  max-width: 13.0rem;
}

body::before {
  left: calc(50% + 7.8rem);
  height: 54.3rem;
}

.ttl-en {
  font-size: 2.1rem;
}

.ttl-en.ttl-en2 {
  font-size: 5.4rem;
}
.ttl-en.ttl-en2 + .ttl-common2 {
  margin-top: 1.0rem;
}

.ttl-common {
  font-size: 3.2rem;
}

.ttl-common.ttl-common2 {
  font-size: 2.0rem;
}

.h1-common {
  font-size: 2.0rem;
  margin: 6.0rem 0 0;
}
.h1-common span {
  font-size: 5.4rem;
}

.breadcrumb {
  padding: 3.5rem 40.0rem 0 0;
  font-size: 1.2rem;
}

.breadcrumb .breadcrumb-sep {
  margin: 0 1.0rem;
  width: .45rem;
  height: .8rem;
}

.btn-link {
  width: 23.0rem;
}

.btn-link a {
  font-size: 1.8rem;
  padding: 1.55rem 0;
  border-radius: 2.9rem !important;
}
.btn-link a::after {
  width: 1.2rem;
  height: 1.2rem;
  right: 2.3rem;
}
.btn-link a:before {
  right: 1.3rem;
  width: 3.2rem;
  height: 3.2rem;
}

.ttl-child-common {
  font-size: 3.0rem;
  margin: 2.5rem 0 0;
}

.txt-link {
  text-underline-offset: .6rem;
}

main {
  padding-top: 12.2rem;
	padding-bottom:	25.0rem;
}

.list-anchorlink {
  margin: 13.0rem auto 0;
  width: 96.0rem;
  border-radius: 1.85rem;
}
.list-anchorlink:after {
  left: 2.0rem;
  right: 2.0rem;
  height: 1px;
}

.list-anchorlink li::before {
  height: 1px;
}
.list-anchorlink li a {
  padding: 1.2rem 0 1.2rem;
  font-size: 1.6rem;
  gap: .8rem;
}

.list-anchorlink li a > span::after {
  padding: 0 0 1px 0;
  background-size: 0 1px;
}
.list-anchorlink li a:hover > span::after  {
  background-size: 100% 1px;
}
.list-anchorlink li a::before {
  width: 1.6rem;
  height: 1.6rem;
  min-width: 1.6rem;
  margin: .4rem 0 0;
}
.list-anchorlink li a:after {
  top: .4rem;
  bottom: .4rem;
  width: 1px;
  right: 2.0rem;
  background: #d7d8dc;
}

.list-anchorlink.list-5 li a:after {
  right: 3.0rem;
}

@media (min-width: 800px) {
  .list-anchorlink.list-5 li:nth-child(5n)::before {
    right: 2.0rem;
  }
  .list-anchorlink.list-5 li:nth-child(1), .list-anchorlink.list-5 li:nth-child(5n+1) {
    padding-left: 4.0rem;
  }
  .list-anchorlink.list-5 li:nth-child(1)::before, .list-anchorlink.list-5 li:nth-child(5n+1)::before {
    left: 2.0rem;
  }
}

.list-anchorlink.list-4 li a:after {
  right: 1.5rem;
}
@media (min-width: 800px) {
  .list-anchorlink.list-4 li:nth-child(4n)::before {
    right: 2.0rem;
  }
  .list-anchorlink.list-4 li:nth-child(1), .list-anchorlink.list-4 li:nth-child(4n+1) {
    padding-left: 4.0rem;
  }
  .list-anchorlink.list-4 li:nth-child(1)::before, .list-anchorlink.list-4 li:nth-child(4n+1)::before {
    left: 2.0rem;
  }
}

.list-category {
  gap: 1.3rem 1.0rem;
  margin: 12.6rem 0 8.6rem;
}
.list-category li a {
  font-size: 1.4rem;
  border-radius: 1.9rem;
  padding: .75rem 1.7rem .95rem;
}
.list-category li a::after {
  border-radius: 1.9rem;
}

/*==================================
pagination
==================================*/
.pagination {
  margin: 9.9rem 0 0;
}
.pagination .nav-links {
  gap: 2.5rem;
}
.pagination .nav-links .page-numbers {
  width: 2.5rem;
  height: 2.5rem;
  font-size: 2.2rem;
}

.pagination .nav-links .page-numbers.current {
  width: 6.8rem;
  height: 6.8rem;
}
.pagination .nav-links .page-numbers.prev, .pagination .nav-links .page-numbers.next {
  gap: 1.8rem;
  font-size: 1.6rem;
}
.pagination .nav-links .page-numbers.prev:after, .pagination .nav-links .page-numbers.next:after {
  width: 5.2rem;
  height: 5.2rem;
  background: url("../images/common/arrow_orange.svg") no-repeat center/1.7rem auto;
}
.pagination .nav-links .page-numbers.prev:before {
  width: 5.2rem;
  height: 5.2rem;
}
.pagination .nav-links .page-numbers.next:before {
  width: 5.2rem;
  height: 5.2rem;
}


/*=====================
	.prev
=====================*/

.pagination .nav-links .page-numbers.prev a{
	padding-left: 7.2rem;
}

.pagination .nav-links .page-numbers.prev a::before {
	left: 2.6rem;
	width: 5.2rem;
	height: 5.2rem;
	transform: translate(-50%, -50%);
}

.pagination .nav-links .page-numbers.prev a::after{
	left: 1.6rem;
	width: 1.7rem;
	height: 1.5rem;
	background-size: 1.7rem 1.5rem;
}

.pagination .nav-links .page-numbers.prev a:hover::before{
	width: 5.7rem;
	height: 5.7rem;
}

/*=====================
	.next
=====================*/

.pagination .nav-links .page-numbers.next a{
	padding-right: 7.2rem;
}

.pagination .nav-links .page-numbers.next a::after{
	right: 2.6rem;
	width: 5.2rem;
	height: 5.2rem;
	transform: translate(50%, -50%);
}

.pagination .nav-links .page-numbers.next a::before{
	right: 1.8rem;
	width: 1.7rem;
	height: 1.5rem;
	background-size: 1.7rem 1.5rem;
}

.pagination .nav-links .page-numbers.next a:hover::after{
	width: 5.7rem;
	height: 5.7rem;
}

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



.pagination .btn-list {
  width: 23.0rem;
}
.pagination .btn-list::before {
  border-radius: 2.6rem;
}
.pagination .btn-list a {
  border-radius: 2.6rem;
  font-size: 1.8rem;
  padding: .8rem 0;
}

.group-ttl-detail {
  margin: 7.5rem 0 0;
}
.group-ttl-detail .date {
  font-size: 1.3rem;
  line-height: 2.8rem;
  width: 11.5rem;
}
.group-ttl-detail .time {
  font-size: 1.6rem;
  margin: 0 2.2rem 0 0;
}
.group-ttl-detail .cate span {
  width: 11.2rem;
  font-size: 1.2rem;
  line-height: 2.8rem;
  border-radius: .2rem;
  padding: 0 1.0rem;
}
.group-ttl-detail .cate-lesson span {
  font-size: 1.4rem;
  border-radius: 1.8rem;
  padding: 1.1rem 2.2rem;
}

.pagination .nav-links .page-numbers.prev:after {
  background-image: url("../images/common/arrow_orange_left.svg");
}

/*==================================
	リスト系
==================================*/
.list-news .item {
  border-bottom: .4rem dotted #94b5db;
}
.list-news .item::before {
  top: -.4rem;
  bottom: -.4rem;
  border-radius: 1.6rem;
}
.list-news .item a {
  padding: 3.1rem 1.5rem 3.1rem .7rem;
}

.list-news .item a .date {
  font-size: 1.3rem;
  line-height: 2.8rem;
  width: 12.6rem;
}
.list-news .item a .cate {
  width: 11.1rem;
  font-size: 1.2rem;
  line-height: 2.8rem;
  border-radius: .2rem;
}
.list-news .item a .title {
  width: calc(100% - 26.0rem);
}
.list-news .item:first-child {
  border-top: .4rem dotted #94b5db;
}
@media (min-width: 800rem) {
  .list-news .item:hover::before {
    left: -1.2rem;
    right: -1.2rem;
  }
}

/*==================================
  header
==================================*/
header {
  padding: 2.7rem 2.4rem 0;
}
header .header_inner {
  box-shadow: 0rem .8rem .9rem 0rem rgba(17, 17, 18, 0.07);
  border-radius: 5.0rem;
  padding: 1.2rem 1.3rem 1.2rem 4.6rem;
}
header .header_inner .logo {
  width: 24.7rem;
}

header .header_inner nav {
  gap: 3.2rem;
}
header .header_inner nav .navi {
  gap: 2.5rem;
}

header .header_inner nav .navi li a::before {
  bottom: -.3rem;
  height: 1px;
}

header .header_inner nav .list-btn li {
  width: 21.6rem;
}
header .header_inner nav .list-btn li::before {
  border-radius: 2.8rem;
}
header .header_inner nav .list-btn li a {
  padding: 1.2rem 1.2rem 1.2rem 2.8rem;
  border-radius: 2.8rem;
}
header .header_inner nav .list-btn li a:after {
  background: url("../images/common/icon_calender.svg") no-repeat center/1.8rem auto, #fff;
  width: 3.2rem;
  height: 3.2rem;
}

/*==================================
  footer
==================================*/
footer .footer_inner {
  padding: 20.0rem 0 5.8rem;
}
footer .footer_inner .wrap {
  width: 113.6rem;
}

footer .footer_inner .footer_top .logo {
  width: 29.5rem;
  margin: 0 0 6.0rem;
}

footer .footer_inner .footer_top .address {
  font-size: 1.4rem;
  line-height: 2.5rem;
}
footer .footer_inner .footer_top .tel {
  font-size: 1.4rem;
  line-height: 2.5rem;
  margin: 0 0 2.2rem;
}
footer .footer_inner .footer_top .info {
  font-size: 1.4rem;
  line-height: 2.5rem;
}
footer .footer_inner .footer_top .info dl {
  gap: .4rem;
}
footer .footer_inner .footer_top .navi {
  height: 12.0rem;
  top: 11.0rem;
}
footer .footer_inner .footer_top .navi li {
  width: 15.2rem;
}
footer .footer_inner .footer_top .navi li a:hover {
  text-underline-offset: .4rem;
}

footer .footer_inner .footer_top .btn-calendar {
  width: 29.6rem;
  margin: 3.0rem 0 0;
}
footer .footer_inner .footer_top .btn-calendar::before {
  border-radius: 2.8rem;
}
footer .footer_inner .footer_top .btn-calendar a {
  padding: 1.2rem 1.2rem 1.2rem 2.8rem;
  border-radius: 2.8rem;
}
footer .footer_inner .footer_top .btn-calendar a:after {
  background: url("../images/common/icon_calender2.svg") no-repeat center/1.8rem auto, #e6451a;
  width: 3.2rem;
  height: 3.2rem;
}

footer .footer_inner .footer_bottom {

  margin: 11.5rem 2.3rem 0 -.5rem;
  font-size: 1.3rem;
}
footer .footer_inner .footer_bottom .privacy a {
  gap: .7rem;
}
footer .footer_inner .footer_bottom .privacy a:after {
  width: 1.2rem;
  height: 1.2rem;
}
footer .footer_inner .footer_bottom .privacy a:hover {
  text-underline-offset: .4rem;
}


header {
  padding: 2.7rem 2.4rem 0;
}
header .header_inner {
  box-shadow: 0rem .8rem .9rem 0rem rgba(17, 17, 18, 0.07);
  border-radius: 5.0rem;
  padding: 1.2rem 1.3rem 1.2rem 4.6rem;
}
header .header_inner .logo {
  width: 24.7rem;
}
header .header_inner nav {
  gap: 3.2rem;
}
header .header_inner nav .navi {
  gap: 2.5rem;
}

header .header_inner nav .navi li a::before {
  bottom: -.3rem;
  height: 1px;
}

header .header_inner nav .list-btn li {
  width: 21.6rem;
}
header .header_inner nav .list-btn li::before {
  border-radius: 2.8rem;
}
header .header_inner nav .list-btn li a {
  padding: 1.2rem 1.2rem 1.2rem 2.8rem;
  border-radius: 2.8rem;
}
header .header_inner nav .list-btn li a:after {
  background: url("../images/common/icon_calender.svg") no-repeat center/1.8rem auto, #fff;
  width: 3.2rem;
  height: 3.2rem;
}

/*==================================
  footer
==================================*/
footer .footer_inner {
  padding: 20.0rem 0 5.8rem;

}
footer .footer_inner .wrap {
  width: 113.6rem;
}

footer .footer_inner .footer_top .logo {
  width: 29.5rem;
  margin: 0 0 6.0rem;
}

footer .footer_inner .footer_top .address {
  font-size: 1.4rem;
  line-height: 2.5rem;
}
footer .footer_inner .footer_top .tel {
  font-size: 1.4rem;
  line-height: 2.5rem;
  margin: 0 0 2.2rem;
}
footer .footer_inner .footer_top .info {
  font-size: 1.4rem;
  line-height: 2.5rem;
}
footer .footer_inner .footer_top .info dl {
  gap: .4rem;
}
footer .footer_inner .footer_top .navi {
  height: 12.0rem;
  top: 11.0rem;
}
footer .footer_inner .footer_top .navi li {
  width: 15.2rem;
}

footer .footer_inner .footer_top .navi li a::before {
  bottom: -.3rem;
}

footer .footer_inner .footer_top .btn-calendar {
  width: 29.6rem;
  margin: 3.0rem 0 0;
}
footer .footer_inner .footer_top .btn-calendar::before {
  border-radius: 2.8rem;
}
footer .footer_inner .footer_top .btn-calendar a {
  padding: 1.2rem 1.2rem 1.2rem 2.8rem;
  border-radius: 2.8rem;
}
footer .footer_inner .footer_top .btn-calendar a:after {
  background: url("../images/common/icon_calender2.svg") no-repeat center/1.8rem auto, #e6451a;
  width: 3.2rem;
  height: 3.2rem;
}

footer .footer_inner .footer_bottom {
  margin: 11.5rem 2.3rem 0 -.5rem;
  font-size: 1.3rem;
}
footer .footer_inner .footer_bottom .privacy a {
  gap: .7rem;
}

footer .footer_inner .footer_bottom .privacy a span::before {
  bottom: -.3rem;
}

footer .footer_inner .footer_bottom .privacy a:after {
  width: 1.2rem;
  height: 1.2rem;
}



