@charset "UTF-8";
/* CSS Document */
body#homePage{
  background: #FFF;
}
#pageHead::before {
  min-height: 320px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  background-image: url("images/bg_top.webp");
}
#mainVisual{
  position: relative;
  padding:  0 0 16px;
}


#mainVisual .container{
  position: relative;
}
#mainVisual .photo{
  border-radius: 48px;
  overflow: hidden;
  height: 500px;
}
#mainVisual .photo img{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#mainVisual .copy{
	font-family: "BIZ UDGothic", sans-serif;
	position: absolute;
	background-color: #FFF;
	border-radius: 0 0 48px;
	padding: 0 24px 24px 8px;
}
#mainVisual .copy h2{
	font-size: 1.75rem;
	letter-spacing: 0.35rem;
	color: #008566;
}
#mainVisual .copy p{
	line-height: 2;
}
/*R*/
#mainVisual .copy::after,
#mainVisual .copy::before,
#schedule .number::after,
#schedule .number::before{
	content: "";
	display: block;
	right: -72px;
	top: 0;
	width: 72px;
	height: 72px;
	z-index: 10;
	position: absolute;
	background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIHZpZXdCb3g9IjAgMCA3MiA3MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcyIDBDMTUuMzkzMSAwIDAuNDEzNzkzIDQ4IDAgNzJWMEg3MloiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=');
	background-size: contain;
}
#mainVisual .copy::before{
	  left: 0;
	bottom: -72px;
	top: inherit;
}

#schedule ul{
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
}
#schedule li{
	background: #D8F0E0;
	border-radius: 32px;
	position: relative;
	width: 48%;
	margin-top: 5%;
	padding: 0;
}
#schedule .number::after,
#schedule .number::before{
	right: -24px;
	top:0;
	width: 24px;
	height: 24px;
}
#schedule .number::before{
	top:auto;
	bottom: -24px;
	left: 0;
	right: inherit;
}
#schedule .number i{	
	background-color: #008566;
	width: 56px;
	height: 56px;
	color: #FFF;
	border-radius: 100%;
	font-family: "Montserrat Alternates";
	font-style: normal;
	font-size: 1.27944rem;
	display: flex;
	align-items: center;
	justify-content: center;
	
}
#schedule a{
	display: block;
	width: 100%;
	color: #333;
	text-decoration: none;
	padding: 3% 1% 4% 108px;
}
#schedule .title{
	font-weight: bold;
	font-size: 1rem;
}
#schedule a:link .title{
	text-decoration: underline;
}
#schedule a:hover .title{
	text-decoration: none;
}
#schedule .number{
	position: absolute;
	left: 0;
	top: 0;
	background-color: #FFF;
	padding: 16px;
	border-radius: 0 0 48px 0;
	margin: 0;
}
#schedule .status{
	border-radius: 1em;
	color: #FFF;
	background-color: #2C75C9;
	padding: .2em 1em;
	margin: 0;
	display: inline-block;
}
#schedule .closed{
	filter: grayscale(1);
}
#schedule dl{
	display: flex;	
}
#schedule dt::after{
	content: ":";
}
#schedule dd:first-of-type{
	margin-right: 1em;
}
#schedule dd{
	margin: 0;
}
/*Mobile*/
@media screen and (max-width: 767px){
  #mainVisual{
    padding-bottom: 25px;
  }
	#mainVisual .copy h2 {
    font-size: 1.5rem;
		letter-spacing: normal;
	}
  #mainVisual::before{
    width: 40vw;
    min-width: 176px;
    bottom: 2px;
  }
  #mainVisual .copy {
	      border-radius: 0 0 24px;
	      padding: 0 8px 0 4px;
	}
  #mainVisual .photo{
    margin: 0;
    border-radius: 24px;
    height: 370px;
  }
	#schedule ul {
		flex-direction: column;
	}
	#schedule li {
		width: 100%;
		    margin-top: 40px;
		border-radius: 20px;
	}
	#schedule dl {
		flex-wrap: wrap;
		max-width: 14rem;
	}
	#schedule a {
    display: block;
    width: 100%;
    color: #333;
    text-decoration: none;
    padding: 5% 2% 6% 85px;
}
	#schedule p {
		margin: .5rem 0;
	}
	#schedule p .title{
		font-size: 1rem;
		
	}
	#schedule .status{
		font-size: .9rem;
	}
	#schedule .number{
		transform: scale(.8);
		left: -10px;
		top: -10px
	}

}
/*Mobile(portrait)*/
@media screen and (max-width: 479px) {

}
@media screen and (min-width: 1200px){
  #mainVisual::before{
    margin-left: -680px;
  }
}

.topBox {
  padding: 56px 0;
}
.topBox .container{
  max-width: 1088px;
}
.topBox h2{
  position: relative;
  color: #008566;
  font-family: "Gidugu", sans-serif;
  font-weight: 400;
  font-feature-settings: 'pwid' on;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 2.56px;
  margin: 0;
	padding: 24px 0 0 24px;
}
.topBox h2::before{
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
 width: 52px;
height: 52px;
	border-width: 8px;
border-color: #E7FBE3;
  border-style: solid;
	border-radius: 100%;
	z-index: -1;
}
.topBox header.row{
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.topBox .btn{
  margin: 5px;
}
.topBox .btn a{
  display: inline-flex;
  align-items: center;
  color: #000;
}
.topBox .btn a::after{
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 5px;
}
/*Mobile*/
@media screen and (max-width: 767px){
  .topBox {
    padding: 32px 0;
  }
  .topBox h2{
    font-size: 1.5rem;
    padding-top: 0;
    padding: 12px 0 0 12px;
  }
  .topBox h2::before{
    width: 24px;
    height: 24px;
	      border-width: 4px;
	  
  }
  .topBox .btn a::after{
    width: 18px;
    height: 18px;
  }
}
@media screen and (min-width: 1200px){
  .topBox .container{
    padding: 0 22px;
  }
}
#main {
  padding-bottom: 40px;
}
#main >footer{
  position: relative;
  background: #fff;
  margin-bottom: 0;
}
#main >footer::before{
  content: "";
  position: absolute;
  z-index: -1;
  left: 0; right: 0;
  top: 100%;
  margin-top: -10px;
  height: 120px;
  background: #fff;
}
/*スケジュール*/

/*Mobile*/
@media screen and (max-width: 767px){
}


/*Desktop&print*/
@media screen and (min-width: 768px), print{
 
}


/*新着*/
#news{
  padding-bottom: 60px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url("images/bg-info.png");
	position: relative;
}
#news::after{
	content: "";
	display: block;
	height: 100%;
	width: 85%;
	background: linear-gradient(119deg, var(--01, #2C75C9) 32.82%, #2887F3 89.34%);
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	border-radius: 0 50px 50px 0;
}
#news::before{
	background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk3IiBoZWlnaHQ9IjE0NCIgdmlld0JveD0iMCAwIDE5NyAxNDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xOTYuMTI1IDE0NEMxOTUuNzYzIDEyOC4zMzMgMTgyLjY1NiA5NyAxMzMuMTI1IDk3SDEwNy4xMjVDNzguNDA2MiA5NyA1NS4xMjUgNzMuNzE4OCA1NS4xMjUgNDVWNDlDNTQuODA4MiAzMi42NjY3IDQzLjMzOTcgMCAwIDBIMTk2LjEyNVYxNDRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K');
	width: 200px;
height: 144px;
	background-size: cover;
	display: block;
	content: "";
	    right: 14.9%;
	top: 0;
	position: absolute;
}
#news header{
  margin: 20px 0;
	display: flex;
	
}
#news header h2,
#target h2{
	color: #FFF;
}
#news header p{
  padding-top: 15px;
}
#news ul.entries{
  margin: 0 auto;
border: 1px solid #2C75C9;
	padding: 24px;
}
.tabBtn{
	padding: 26px 0 0 24px;
}
#news.topBox h2::before,
#target.topBox h2::before{
	z-index: 0;
	border-color: rgba(255,255,255,0.20);
}
.tab button{
	font-size: 1.125rem;
	padding: .2em 1em .16em;
	border-radius: 1em;
	opacity: .9;
	border: none;
	background-color: transparent;
	color: #FFF;
}
.tab button:hover{
	opacity: 1;
}
.tabBtn button[aria-selected="true"] {
    color: #000;
    background: #FFF;
    margin-right: 0;
    position: relative;
}
.tabPanels .tabPanel {
	display: none;
	padding: 10px;
}
.tabPanels .tabPanel[aria-hidden="false"] {
	display: block;
}
#news .btn{
	text-align: center;
}
#news .btn a{
		color: #FFF;
	padding: .6em 1.2em .8em;
	border: 1px solid #FFF;
	border-radius: 2em;
	margin-top: 1em;
}
#news .btn a::after{
	background-color: #FFF;
}
/*Mobile*/
@media screen and (max-width: 767px){
  #news header{
	  flex-direction: column;
	      margin: 16px 0 0;
  }
  #news header p{
    margin-left: auto;
    padding-top: 0;
  }
	.tab button {
		margin-bottom: 8px;
		    font-size: 1rem;
		
	}
	.tabBtn{
		padding: 24px 0 0 0;
	}
	#news::after {
		width: 95%;
	}
	#news::before {
		right: 4.9%;
	}
	#news ul.entries{
		padding: 8px;
	}
	
}
#target{
	position: relative;
	overflow: hidden;
	padding-bottom: 32px;
}
#target::after{
	content: "";
	background-image: url("images/dotted.png");
	width: 244px;
	height: 240px;
	position: absolute;
	left: -40px;
	bottom: 0;
	background-size: contain;
	z-index: -1;
}
#target .container{
	position: relative;
	background-color: #008566;
	padding: 32px 8px 32px 40px;
	border-radius: 50px 0 0 50px;
	    max-width: 1000px;
	background-image: url("images/dotted.png");
	background-size: 244px;
	background-repeat: no-repeat;
	background-position: 710px 340px;
}
#target .container::before{
	content: "";
	right: -2000px;
	top: 0;
	height: 100%;	
	display: block;
	position: absolute;
	width: 2000px;
	background-color: #008566;
}
#target::before{
	
}
#target ul{
	display: flex;
	list-style: none;
	padding: 0;
	column-gap: 24px;
	flex-wrap: wrap;
	margin: 32px -14px 32px -64px;
}
#target ul li{
	 flex: 1;
}
#target ul a{
	border-radius: 24px;
	color: #333;
background: #FFF;
	font-size: 1.0625rem;
font-weight: 700;
	padding: 24px 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	width: 180px;
	border: 1px solid #008566;
	text-align: center;
}
#target ul a::after{
	content: "";
	width: 24px;
	height: 24px;
	display: block;
	background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iMTEiIGZpbGw9IiMyQzc1QzkiLz4KPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iMTEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNOS44MjgxMiA4TDEyLjY1NjYgMTAuODI4NEw5LjgyODEyIDEzLjY1NjkiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMC45MTY2NjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K');
	margin-top: 8px;
}
#target ul li:nth-child(even) a::after{
background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iMTEiIGZpbGw9IiMwMDg1NjYiLz4KPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iMTEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNOS44MjgxMiA4TDEyLjY1NjYgMTAuODI4NEw5LjgyODEyIDEzLjY1NjkiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMC45MTY2NjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K');
}
#target ul a:hover,
#target ul a:active,
#target ul a:focus{
	transform: translateY(-2px);
}
#target ul strong{
	color: #2C75C9;
}
#target ul li:nth-child(even) strong{
	color: #008566;
}
#target ul a::before{
	content: "";
	width: 86px;
height: 86px;
	display: block;
	background-image: url("images/i1.png");
	background-size: contain;
	margin-bottom: 16px;
}
#target #tg1 a::before{
	background-image: url("images/i1.png");
}
#target #tg2 a::before{
	background-image: url("images/i2.png");
}
#target #tg3 a::before{
	background-image: url("images/i3.png");
}
#target #tg4 a::before{
	background-image: url("images/i4.png");
}
#target #tg5 a::before{
	background-image: url("images/i5.png");
}

#pr .container{
	display: flex;
	column-gap: 5%;
	max-width: 912px;
	justify-content: center;
}
#pr h2{
	margin:0 0 24px 0;
	padding: 0;
}
#pr h2::before{
	display: none;
}
#pr #tayori{
	width: 55%;
}
#pr #tayori a{
	color: #FFF;
	background: #127860;
	display: block;
	border-radius: 10px;
	padding: 24px 16px;
	font-size: 1.25rem;	
	position: relative;
}
#pr #tayori a::after{
	background-image: url("images/tayori.webp");
	width: 240px;
	height: 150px;
	content: "";
	display: block;
	right: 0;
	top: -30px;
	background-size: contain;
	position: absolute;
}
#pr #sns{
		width: 40%;
	display: flex;
	flex-direction: column;
}
#pr #sns h2{
	color: #2C75C9;
}
#pr #snsbox{
	background: #0866FF;
	flex: 1;
	display: flex;
	height: 100%;
		border-radius: 10px;
}
#pr #sns a{
		display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex: 1;
	padding: 24px 16px;
	font-size: 0; /* テキストを非表示 */
}
#pr #sns a::before{
	content: "";
	display: block;
	background-image: url("images/fbbnr.png");
	width: 152px;
height: 32px;
	background-size: contain;
}
#tayori a,#snsbox{
	transition: transform 0.2s;
}
#tayori a:hover,
#tayori a:active,
#tayori a:focus,
#snsbox:hover,
#snsbox:active,
#snsbox:focus{
	transform: translateY(-2px);
}
/*リンク*/
#links{
  padding: 48px 0 22px;
}
#links .banner{
  margin: 20px auto;
  display: flex;
  flex-flow:  wrap;
  justify-content: center;
  gap: 12px 20px;
}
#links .banner li{
  margin: 0;
  width: 286px;
}
/*Mobile*/
@media screen and (max-width: 767px){
	#target .container {
     padding: 32px 16px 32px 16px;
	}
	#target ul{
		margin: 0;
	}
	#target ul li{
		flex: 0;
		margin-top: 32px;
	}
	#target ul a{
		padding: 8px;
		font-size: 1rem;
		width: 148px;
	}
	#target ul a::before{
		width: 56px;
		height: 56px;
		margin-bottom: 8px;
	}
		#pr .container{
		flex-direction: column;
	}
	#pr h2 {
		margin-bottom: 8px;
	}
	#pr #tayori {
		width: 100%;
		margin-bottom: 24px;
	}
	#pr #tayori a {
		font-size: 1rem;
		padding: 16px 16px;
	}
	#pr #tayori a::after {
	    width: 130px;
    height: 100px;
		    top: 0;
	}
	#pr #sns {
		width: 100%;
	}
  #links{
    padding: 32px 0 10px;
  }
  #links .banner{
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  #links .banner li{
    max-width: calc( (100% - 10px ) / 2 );
  }
}

/*icon*/
#about .cards p::after,
.topBox .btn a::after{
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExIDlMMTQgMTJMMTEgMTUiIHN0cm9rZT0iIzAwMzg5NCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMyAxMkMzIDEzLjE4MTkgMy4yMzI3OSAxNC4zNTIyIDMuNjg1MDggMTUuNDQ0MkM0LjEzNzM4IDE2LjUzNjEgNC44MDAzMSAxNy41MjgyIDUuNjM2MDQgMTguMzY0QzYuNDcxNzcgMTkuMTk5NyA3LjQ2MzkyIDE5Ljg2MjYgOC41NTU4NSAyMC4zMTQ5QzkuNjQ3NzggMjAuNzY3MiAxMC44MTgxIDIxIDEyIDIxQzEzLjE4MTkgMjEgMTQuMzUyMiAyMC43NjcyIDE1LjQ0NDIgMjAuMzE0OUMxNi41MzYxIDE5Ljg2MjYgMTcuNTI4MiAxOS4xOTk3IDE4LjM2NCAxOC4zNjRDMTkuMTk5NyAxNy41MjgyIDE5Ljg2MjYgMTYuNTM2MSAyMC4zMTQ5IDE1LjQ0NDJDMjAuNzY3MiAxNC4zNTIyIDIxIDEzLjE4MTkgMjEgMTJDMjEgOS42MTMwNSAyMC4wNTE4IDcuMzIzODcgMTguMzY0IDUuNjM2MDRDMTYuNjc2MSAzLjk0ODIxIDE0LjM4NjkgMyAxMiAzQzkuNjEzMDUgMyA3LjMyMzg3IDMuOTQ4MjEgNS42MzYwNCA1LjYzNjA0QzMuOTQ4MjEgNy4zMjM4NyAzIDkuNjEzMDUgMyAxMloiIHN0cm9rZT0iIzAwMzg5NCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K);
}

#news p.entries.notFound{
	color: #FFF;
}