@charset "utf-8";
/* CSS Document */
body {
  font-family:-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    height:100%
}
html{
    padding:0;
    margin:0;
    height:100%
}

.kaigyou { display: inline-block; }

.ribbon12 {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  margin: 0 0 0 0;
  width: calc(100% + 20px);
  color: white;
  background-image: linear-gradient(to left, #79D24C 0%, #60C680 100%);
}

.ribbon12:after {
  position: absolute;
  content: '';
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-left: solid 20px rgb(149, 158, 155);/*折り返し部分*/
}

h1 {
	font-weight: bold;
	font-size: 24px;
	font-family: 'M PLUS Rounded 1c', sans-serif ,-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  position: relative;
  display: inline-block;
  padding: 0 55px;
}
 h1:after{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 4px;
  background-color: #79D24C;
  -webkit-transform: rotate(-50deg);
  transform: rotate(-50deg);
}
h1:before{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 4px;
  background-color: #79D24C;
  -webkit-transform: rotate(50deg);
  transform: rotate(50deg);
}
h1:before {
  left:0;
}
h1:after {
  right: 0;
}



.box{
    height: 100vh;
}


.text-gu{
	color: #0ba360;
}

/*お知らせ固定*/
.sidebar__item--fixed {
  position: sticky;
  margin-bottom: 0;
  top: 0px;
  z-index: 1;
}

/*テキストリンク*/
a {
  transition: color .3s;
color: #000000;
}
a:hover{
	color: #0ba360;
}


/*マウスオーバーアニメーション*/
        
figure.snip {
    color: #fff;
    position: relative;
    overflow: hidden;
 border-radius: 10px ;
    min-width: 100%;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    color: #fff;
    background: #f1ece9;
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  transition: .3s;
}

figure.snip:hover {
box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

figure.snip * {
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
}
 
figure.snip img {
    max-width: 100%;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
     transition: all .3s ease-out;
}
 
figure.snip:hover img{
    opacity: 0.6;
 -moz-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
figure.snip figcaption {
    position: absolute;
    bottom: 0%;
    left: 0;
    width: 100%;
    z-index: 1;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}
 
figure.snip h2 {
    margin: 0;
    width: 100%;
    padding: 10px 20px 10px 20px;
font-family: 'M PLUS Rounded 1c', sans-serif;
}
 
figure.snip p {
    margin: 0;
    width: 100%;
    padding: 5px 20px 10px 20px;
}
 
figure.snip h2 {
    color: #000;
    position: absolute;
    bottom: 100%;
    display: block;
    text-transform: uppercase;
    font-size: 22px;
    background: rgba(255, 255, 255, 0.6);
		font-weight: bold;
}
figure.snip h2:hover {
    background: rgba(55, 211, 161, 0.6);
}


figure.snip p {
    background: rgba(255, 255, 255, 0.5);
    text-align: left;
    bottom: 0;
    font-size: 13px;
    font-weight: 100;
    color: #555;
}
 
figure.snip a {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: 1;
}
 


/* =======================================================
　お知らせ一覧
========================================================== */

.info {
  -webkit-overflow-scrolling: touch;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  max-width: 600px;
  height: 17em;/* 高さ */
  margin: 0 auto;
  overflow-y: scroll
}
/* スクロールの幅の指定 */
.info::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
/* スクロールの背景の設定 */
.info::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
}
/* スクロールのつまみ部分の設定 */
.info::-webkit-scrollbar-thumb {
  border-radius: 5px;
background-image: linear-gradient(to top, #333836 0%, #4e5553 100%);
}


h3 {
  padding: 1rem ;
  color: #fff;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-size: 24px;
}



h4 {
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 700;
}

.info dd,
.info dt {
  box-sizing: border-box;
  width: 100%;
  padding-bottom: .5em;
  padding-left: .5em
}

.info dt {
  font-style: normal;
  font-weight: initial
}



.info dt:first-of-type {
  padding-top: .5em;
  border-top: 1px dotted #949398;
}

.info dt time {
  margin-right: .5em
}

.info dt span {
  box-sizing: border-box;
  display: inline-block;
  width: 7em;
  margin-right: .5em;
  padding: 0 .5em;
  background-color: #009688;
  color: #fff;
  font-size: .8em;
  line-height: 1.75;
  text-align: center
}

.info time {
  color: #333
}

.info dd {
  margin-left: 0;
  margin-bottom: .5em;
  border-bottom: 1px dotted #949398;
}


.info dd:nth-of-type(-n+3) {
  position: relative
}
 
/*二つ目*/

.info2 {
  -webkit-overflow-scrolling: touch;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  max-width: 600px;
  height: 17em;/* 高さ */
  margin: 0 auto;
  overflow-y: scroll
}
/* スクロールの幅の指定 */
.info2::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
/* スクロールの背景の設定 */
.info2::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
}
/* スクロールのつまみ部分の設定 */
.info2::-webkit-scrollbar-thumb {
  border-radius: 5px;
background: linear-gradient(to bottom, #323232 0%, #3F3F3F 40%, #1C1C1C 150%), linear-gradient(to top, rgba(255,255,255,0.40) 0%, rgba(0,0,0,0.25) 200%);
 background-blend-mode: multiply;
}
.info2 dd,
.info2 dt {
  box-sizing: border-box;
  width: 100%;
  padding-bottom: .5em;
  padding-left: .5em
}

.info2 dt {
  font-style: normal;
  font-weight: initial
}



.info2 dt:first-of-type {
  padding-top: .5em;
  border-top: 1px dotted #949398;
}

.info2 dt time {
  margin-right: .5em
}

.info2 dt span {
  box-sizing: border-box;
  display: inline-block;
  width: 7em;
  margin-right: .5em;
  padding: 0 .5em;
  background-color: #009688;
  color: #fff;
  font-size: .8em;
  line-height: 1.75;
  text-align: center
}

.info2 time {
  color: #333
}

.info2 dd {
  margin-left: 0;
  margin-bottom: .5em;
  border-bottom: 1px dotted #949398;
}


.info2 dd:nth-of-type(-n+3) {
  position: relative
}

/*右のメニューのデザイン*/
.box01{

font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 700;
}

.box01 a {
	margin-bottom: 1em;
  transition: all .4s;
  color: #fff;
 border-radius: 100vh;
padding: 8px 20px;

}
.box01 a:hover {
  color: #fff;
  background-color:rgba(0,0,0,0.5);
	text-decoration: none;
}


.content01 {
  background-color:rgba(255,255,255,.8);

}


/*グラ
background-image: linear-gradient(to top, #0ba360 0%, #37d3a1 100%);
*/






.bg {
  animation:slide 3s ease-in-out 3 alternate;
  background-image: linear-gradient(-60deg, #6c3 50%, #09f 50%);
  bottom:0;
  left:-50%;
  opacity:.5;
  position:fixed;
  right:-50%;
  top:0;
  z-index:-1;
}

.bg2 {
  animation-direction:alternate-reverse;
  animation-duration:4s;
    animation-fill-mode:forwards;/*コレが最後停止*/
}

.bg3 {
  animation-duration:5s;
}


@keyframes slide {
  0% {
    transform:translateX(-25%);
  }
  100% {
    transform:translateX(25%);
  }
}









.custom-btn {
  padding: 10px 25px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  background: transparent;
  outline: none !important;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
color: #5A5B5B;
	font-weight: bold;
}
/**** BTN No. 4 ****/
.btn-4 {
  width: 130px;
  height: 40px;
  line-height: 42px;
  padding: 0;
  border: none;
}
.btn-4 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.btn-4:before,
.btn-4:after {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  background: #fff;
  transition: all 0.3s ease;
}
.btn-4:before {
  height: 50%;
  width: 2px;
}
.btn-4:after {
  width: 20%;
  height: 2px;
}
.btn-4:hover:before {
  height: 100%;
}
.btn-4:hover:after {
  width: 100%;
}
.btn-4 span:before,
.btn-4 span:after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  background: #fff;
  transition: all 0.3s ease;
}
.btn-4 span:before {
  width: 2px;
  height: 50%;
}
.btn-4 span:after {
  width: 20%;
  height: 2px;
}
.btn-4 span:hover:before {
  height: 100%;
}
.btn-4 span:hover:after {
  width: 100%;
}


.video_wrapper {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.video_wrapper > video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
  width: 100%;
  height: 100%
}













/*スマホ画面でハンバーガーメニューの形にする*/
@media screen and (max-width: 1000px) {

}
@media screen and (max-width: 1200px) {}