@charset "UTF-8";

/* Reset
------------------------------------------------------------*/
body,section,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,textarea,p,blockquote,th,td,figcaption,figure {
	margin: 0;
	padding: 0;
  box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6,small { font-size: 100%;font-weight: normal; }/* フォントサイズ統一---*/
img,fieldset { border: 0;}/* 枠線消去---*/
img {
	vertical-align: bottom;}/* 画像の配置（ベースラインからボトムへ）---*/
li { list-style-type: none;}/* リスト---*/


/* common
------------------------------------------------------------*/
body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color:#3e3a3a;
  font-size:15px;
  font-weight:400;
  line-height:1.75;
  letter-spacing:0.05em;
  text-align:justify;
  position: relative;
  min-height: 100vh;
  padding-bottom: 25px;
}
a {
  color: #1F2774;
  text-decoration: none;
}
a:hover {
  color:#C0AB9A ;
}
.sp {
  display: none;
}

/*
------------------------------------------------------------*/
header{
  width: 100%;
  background-color: #007bd1;
  color: #fff;
  text-align: center;
  height: 70px;
  font-size: 20px;
  margin-bottom: 20px;
}
.header_logo {
  display: flex;
  align-items: center;
  margin: 0 auto;
  width: 280px;
  height: 70px;
}
.header_logo img{
  width: 280px;
  text-align: center;
}

.main{
  margin-bottom: 30px;
}
.contents{
  margin: 85px auto 60px;
  width: 90%;
  height: auto;
  text-align: center;
}
.logo{
  margin-bottom: 20px;
}
.logo a,.logo img{
  width: 200px;
}
.instagram,.instagram img{
  width: 237px;
}

.news_box{
  text-align: left;
  margin: 0 auto 20px;
  border: 2px solid #007bd1;
  border-radius: 10px;
  background-color: #f5f8fa;
  padding: 20px;
  max-width: 650px;
}
.news_box h2{
  text-align: center;
  font-weight: bold;
  color: #007bd1;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 10px;
}
.news_box h3{
  position: relative;
  font-weight: bold;
  font-size: 15px;
  padding-left: 33px;
  margin-top: 15px;
  margin-bottom: 5px;
}
.news_box h3::before{
  position: absolute;
  left: 0;
  width: 25px;
  height: 33px;
  background-image: url(/images/logo_nomal.svg);
  background-size: 24px;
  background-position: 1px 0px;
  background-repeat: no-repeat;
  content: '';
}
.news_box ul{
  padding: 2px 10px;
}
.news_box li{
  display: flex;
  border-bottom: 1px solid #ddd;
  margin-bottom: 5px;
}
.news_box a{
  color: #007bd1;
}
.news_box .date{
  margin-right: 20px;
}

.preparation_box{
  text-align: left;
  margin: 0 auto 8px;
  border: 2px solid #007bd1;
  border-radius: 10px;
  background-color: #f5f8fa;
  padding: 20px;
  max-width: 650px;
}

footer{
  /* position: fixed;
  bottom: 0; */
  position: absolute;
  bottom: 0;
  /* margin-top: 30px; */
  width: 100%;
}
.copyright{
  width: 100%;
  background-color: #007bd1;
  color: #231815;
  text-align: center;
}


/* アニメーション
------------------------------------------------------------*/
.fuwafuwa {
  animation: fuwafuwa 3s infinite ease-in-out .8s alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
  width: 70px;
  height: 70px;
  margin-top: 15px;
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

.fadein {
  animation: fadeIn 1.7s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.poyoyon {
  animation: poyoyon 1.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

.poyopoyo {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

.kiran {
  opacity: 1;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.kiran::before {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  top: -100px;
  left: 0;
  width: 30px;
  height: 100%;
  opacity: 0;
  transition: cubic-bezier(0.32, 0, 0.67, 0);
}
.kiran:hover::before {
  animation: kiran 0.5s linear 1;
}
@keyframes kiran {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }
  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }
  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

.kurukuru {
  animation: kurukuru 1.4s ease-out;
  opacity: 1;
}
@keyframes kurukuru {
  0%{
    transform: rotateY(0) translateY(40px);
    opacity: 0;
  }
  100%{
    transform: rotateY(360deg) translateY(0);
    opacity: 1;
  }
}
