@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP");
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400&family=Slackside+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Londrina+Outline&display=swap");
* {
  padding: 0;
  margin: 0;
  outline: none;
  font-family: "Noto Sans JP";
  -webkit-appearance: none;
  border-radius: 0; }

html {
  -webkit-overflow-scrolling: touch; }

html, body {
  width: 100%;
  height: 100%; }

body {
  color: #303030;
  font-family: "Noto Sans JP";
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 1.5rem;
  box-sizing: border-box; }

ul {
  list-style: none;
  padding: 0; }

a {
  text-decoration: none;
  transition: all 0.1s linear;
  color: #303030; }

@keyframes delay {
  0% {
    opacity: 0.5; }
  100% {
    opacity: 1; } }
/* 画面外にいる状態 */
.fadein {
  opacity: 0;
  transform: translate(0, 20px);
  transition: all 0.5s; }

/* 画面内に入った状態 */
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

/* 全体の読み込みをふわっと */
body {
  -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
  animation: fadeIn 1.5s ease 0s 1 normal; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* マウスホバーでちょっと大きくなるやつ */
a.zoom {
  display: inline-block; }
  a.zoom:hover {
    -webkit-animation: zoom .3s;
    animation: zoom .3s; }
@-webkit-keyframes zoom {
  50% {
    -webkit-transform: scale(1.05); } }
@keyframes zoom {
  50% {
    transform: scale(1.05); } }
  a.zoom .cp_link:hover::after {
    width: 100%; }

.ALL-CONTAINER {
  overflow: hidden; }

.kanban-container {
  max-width: 100%;
  margin: 0 auto 8%; }

@media screen and (max-width: 30rem) {
  .kanban-container {
    margin: 0 auto 12%; } }
.kanban-pc {
  max-width: 1960px;
  margin: 0 auto;
  display: block;
  text-align: center;
  position: relative; }
  .kanban-pc img {
    max-width: 100%;
    width: 100%; }
  .kanban-pc .kanban-text {
    padding: 3% 0 0 0;
    color: #ff0000;
    font-weight: 600;
    font-size: 0.8rem; }

.kanban-sp {
  display: none; }

@media screen and (max-width: 30rem) {
  .kanban-sp {
    display: block;
    text-align: center; }
    .kanban-sp img {
      max-width: 100%; }
    .kanban-sp .kanban-text {
      padding: 10% 0 0 0;
      color: #ff0000;
      font-weight: 600;
      line-height: 10px;
      font-size: 0.4rem; 
      margin-top: -8px; /* 位置を上に移動するためにマイナスのマージンを設定 */
    }

  .kanban-pc {
    display: none; } }
.mizumozi-container {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  top: 35%;
  z-index: 999999; }
  .mizumozi-container img {
    width: 100%; }
  .mizumozi-container .animation {
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1.5s;
    width: 60px; }
@keyframes anim_s {
  50% {
    transform: rotate(-15deg); }
  100% {
    transform: rotate(15deg); } }
  .mizumozi-container .box {
    width: 100%;
    max-width: 30%;
    margin: 0 auto;
    display: flex; }
  .mizumozi-container .box_section {
    width: 100%;
    max-width: 60%;
    margin: 10% auto;
    display: flex; }
    .mizumozi-container .box_section img {
      width: 14.667%;
      padding: 0 1%; }
  .mizumozi-container .box_section_4 {
    width: 100%;
    max-width: 40%;
    margin: 10% auto;
    display: flex; }
    .mizumozi-container .box_section_4 img {
      width: 23%;
      padding: 0 1%; }
  .mizumozi-container .box_section_5 {
    width: 100%;
    max-width: 50%;
    margin: 10% auto;
    display: flex; }
    .mizumozi-container .box_section_5 img {
      width: 18%;
      padding: 0 1%; }
  .mizumozi-container .box2 {
    width: 90%;
    max-width: 30%;
    margin: 1% auto 0 auto;
    padding: 0 0 0 10%;
    display: flex; }
  .mizumozi-container .box2 img {
    width: 14.286%;
    padding: 0 0.5%; }
  .mizumozi-container .box img {
    width: 14.286%;
    padding: 0 0.5%; }

.animation2 {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s; }

.keyframe1 {
  animation-name: anim_v; }

.keyframe2 {
  animation-name: anim_w; }

.keyframe3 {
  animation-name: anim_m; }

@keyframes anim_v {
  0% {
    transform: translate(0, 0px); }
  100% {
    transform: translate(0, 10px); } }
@keyframes anim_w {
  0% {
    transform: translate(0, 0px); }
  100% {
    transform: translate(0, 20px); } }
@keyframes anim_m {
  0% {
    transform: translate(0, 0px); }
  100% {
    transform: translate(0, 30px); } }
@media screen and (max-width: 30rem) {
  .mizumozi-container {
    width: 80%;
    top: 32%;
    font-size: 0.8rem;
    margin: 0 10%; }
    .mizumozi-container .animation {
      width: 50px; }
    .mizumozi-container .box {
      max-width: 60%;
      margin: 0 auto;
      display: flex; }
    .mizumozi-container .box2 {
      width: 90%;
      max-width: 60%;
      margin: 1% auto 0 auto;
      padding: 0 0 0 10%;
      display: flex; }
    .mizumozi-container .box img {
      width: 13.286%;
      padding: 0 0.5%; }
    .mizumozi-container .box2 img {
      width: 13.286%;
      padding: 0 0.5%; }
    .mizumozi-container .box_section {
      width: 100%;
      max-width: 80%;
      margin: 35% auto;
      display: flex; }
      .mizumozi-container .box_section img {
        width: 14.667%;
        padding: 0 1%; }
    .mizumozi-container .box_section_4 {
      width: 100%;
      max-width: 60%;
      margin: 35% auto;
      display: flex; }
      .mizumozi-container .box_section_4 img {
        width: 23%;
        padding: 0 1%; }
    .mizumozi-container .box_section_5 {
      width: 100%;
      max-width: 70%;
      margin: 35% auto;
      display: flex; }
      .mizumozi-container .box_section_5 img {
        width: 18%;
        padding: 0 1%; } }
.atamagaki {
  text-align: left;
  font-size: 0.9rem;
  line-height: 2rem;
  margin: 5% auto 2%;
  padding: 0 5%;
  max-width: 800px;
  width: 100%; }

@media screen and (max-width: 30rem) {
  .atamagaki {
    text-align: left;
    font-size: 0.7rem;
    padding: 0 5%;
    max-width: 90%;
    width: 100%; } }
h1 {
  display: none; }

.item-container {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  width: 80%;
  margin: 8% auto; }

@media screen and (max-width: 30rem) {
  .item-container {
    width: 86%;
    padding: 0;
    justify-content: center;
    margin: 12% auto 0; } }
.item-box {
  position: relative;
  width: 17%;
  padding: 3% 1.5%;
  cursor: pointer;
  margin: 1.5% auto;
  text-align: center; }
  .item-box img {
    width: 100%; }
  .item-box .color {
    position: relative;
    text-align: center;
    z-index: 9999999;
    margin: 0 auto; }
    .item-box .color span {
      display: block; }
    .item-box .color .color-title {
      font-family: 'Londrina Outline', cursive;
      font-weight: bold;
      font-size: 3rem;
      margin: 8% 0 0 0; }
    .item-box .color .color-no {
      font-family: 'Oswald', sans-serif;
      font-weight: bold;
      font-size: 2.6rem; }
    .item-box .color .color-text {
      font-family: 'Oswald', sans-serif;
      font-weight: bold;
      font-size: 0.6rem; }
    .item-box .color .color-sankaku {
      width: 4%;
      padding: 5% 0 0;
      margin: 0 auto; }
      .item-box .color .color-sankaku img {
        width: 100%; }
  .item-box a {
    display: block; }
  .item-box a:hover {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%); }
    .item-box a:hover .color {
      opacity: 0.8; }

@media screen and (max-width: 30rem) {
  .item-box {
    width: 30%;
    text-align: center;
    margin: 1.5%;
    padding: 0; }
    .item-box a {
      -webkit-filter: grayscale(0%);
      -moz-filter: grayscale(0%);
      -o-filter: grayscale(0%);
      -ms-filter: grayscale(0%);
      filter: grayscale(0%); }
    .item-box .color {
      margin: 0;
      z-index: 999999;
      text-align: center;
      font-size: 1rem;
      transition: 1.0s; }
      .item-box .color span {
        display: block;
        line-height: 1rem; }
      .item-box .color .color-title {
        font-family: 'Londrina Outline', cursive;
        font-weight: 900;
        font-size: 1.4rem;
        margin: 8% 0 0 0; }
      .item-box .color .color-no {
        font-family: 'Oswald', sans-serif;
        font-weight: bold;
        font-size: 1.6rem; }
      .item-box .color .color-text {
        font-family: 'Oswald', sans-serif;
        font-weight: bold;
        font-size: 0.5rem; }
      .item-box .color .color-sankaku {
        font-family: 'Londrina Outline', cursive;
        font-size: 0.8rem;
        padding: 5% 0 0; } }
.item-box {
  position: relative; }

.item-box:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 10px;
  border-radius: 3px; }

.item-box:after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  border-radius: 3px; }

.yellow:before {
  background: #e2df31; }

.yellow:after {
  background: #e2df31; }

.orange:before {
  background: #fb5d35; }

.orange:after {
  background: #fb5d35; }

.green:before {
  background: #48c1a7; }

.green:after {
  background: #48c1a7; }

.white:before {
  background: #e6e6e6; }

.white:after {
  background: #e6e6e6; }

.purple:before {
  background: #c582df; }

.purple:after {
  background: #c582df; }

.blue:before {
  background: #1e60eb; }

.blue:after {
  background: #1e60eb; }

.swiper-slide img {
  width: 102%;
  height: 102%;
  object-fit: cover;
  margin: -6px; }

@media screen and (max-width: 30rem) {
  .swiper-slide img {
    width: 102%;
    height: 102%;
    object-fit: cover;
    margin: -6px; } }
@media screen and (max-width: 30rem) {
  .item-text {
    padding-bottom: 10px; }
    .item-text span {
      font-size: 0.5rem;
      letter-spacing: 1px;
      line-height: 0.8rem; } }
.comment {
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.6rem;
  margin: 0 auto;
  padding: 3% 0 0 0;
  max-width: 50%;
  width: 100%; }

@media screen and (max-width: 30rem) {
  .comment {
    text-align: left;
    font-size: 0.7rem;
    padding: 0 5%;
    max-width: 90%;
    width: 100%; } }
.container {
  width: 640px;
  padding: 100px 0 0 0;
  position: relative;
  margin: 0 auto; }

@media screen and (max-width: 30rem) {
  .container {
    width: 80%;
    padding: 100px 0 0 0;
    position: relative;
    margin: 0 auto; } }
.item-box-title {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 auto; }
  .item-box-title a {
    display: block;
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: grayscale(0%);
    transition: 0.5s; }
  .item-box-title .color {
    position: relative;
    text-align: center;
    font-size: 2rem;
    margin: 0 auto; }
    .item-box-title .color span {
      color: #303030;
      font-weight: 900;
      margin-top: 50%; }
  .item-box-title a:hover {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%); }
    .item-box-title a:hover .color {
      opacity: 0.8; }

@media screen and (max-width: 30rem) {
  .item-box-title {
    width: 90%;
    text-align: center;
    margin: 0 auto;
    padding: 40px 0; }
    .item-box-title a {
      -webkit-filter: grayscale(0%);
      -moz-filter: grayscale(0%);
      -o-filter: grayscale(0%);
      -ms-filter: grayscale(0%);
      filter: grayscale(0%); }
    .item-box-title .color {
      left: 0;
      z-index: 999999;
      text-align: center;
      font-size: 1rem;
      transition: 1.0s; } }
section.other_container {
  clear: both;
  max-width: 80%;
  display: flex;
  margin: 5% auto 10%;
  justify-content: center; }
  section.other_container ul {
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    overflow: hidden; }
    section.other_container ul li {
      position: relative;
      overflow: hidden;
      width: 17%;
      margin: 1.5%; }
      section.other_container ul li a {
        margin: 0;
        padding: 0; }
      section.other_container ul li img {
        width: 100%; }
      section.other_container ul li .snap_text {
        font-family: "DM Sans";
        font-weight: 600;
        font-weight: normal;
        margin: 0% auto;
        text-align: center;
        height: auto;
        font-size: 0.9rem;
        line-height: 1.2rem;
        display: block; }
        section.other_container ul li .snap_text .sub {
          font-size: 0.6rem;
          margin: 0;
          display: block; }

@media screen and (max-width: 50rem) {
  section.other_container {
    max-width: 95%;
    margin: 10% auto 10%; }
    section.other_container ul li {
      width: 31.1111%;
      margin: 1.1111%; }
      section.other_container ul li .snap_text {
        font-weight: normal;
        margin: 0% auto 5%;
        text-align: center;
        height: auto;
        font-size: 0.6rem;
        line-height: 1rem;
        display: block; }
        section.other_container ul li .snap_text .sub {
          font-size: 0.6rem;
          margin: 0;
          display: block; } }
.kakukaku {
  background-image: url("../img/icon_gizagiza.png");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 250px;
  height: 250px;
  position: absolute;
  color: #303030;
  z-index: 999; }
  .kakukaku span {
    padding: 46% 0 0 0;
    display: block;
    margin: 0 auto;
    text-align: center;
    font-size: 2rem;
    font-family: 'Londrina Outline', cursive;
    font-weight: 900; }

@media screen and (max-width: 30rem) {
  .kakukaku {
    width: 130px;
    height: 130px;
    top: 80px !important;
    left: -5% !important; }
    .kakukaku span {
      padding: 42% 0;
      display: block;
      margin: 0 auto;
      text-align: center;
      font-size: 1.2rem;
      font-family: 'Londrina Outline', cursive;
      font-weight: 900; } }
.animation {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 2.5s; }

#menu {
  z-index: 1000000;
  width: 100px;
  position: fixed;
  display: none;
  /*最初は非表示に設定*/
  top: 33%;
  left: 2%; }
  #menu div {
    padding: 0; }
  #menu div a {
    display: block;
    width: 80px;
    height: 80px; }
    #menu div a img {
      width: 100%; }
  #menu div a:hover {
    transform: scale(1.5, 1.5);
    transition: 0.5s all; }

@media screen and (max-width: 30rem) {
  #menu {
    width: 50px; }
    #menu div {
      padding: 2% 0 0 0; }
    #menu div a {
      display: block;
      width: 40px;
      height: 40px;
      border-radius: 30px; } }
footer {
  background: #303030;
  padding: 40px;
  margin: 30% 0 0 0; }

footer ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

footer li {
  margin: 0 10px 0 0; }
  footer li a {
    font-size: 0.8rem; }

footer li:first-child {
  margin: 0 auto 0 0; }

@media screen and (max-width: 30rem) {
  footer li {
    margin: 5px 10px; }

  footer li:first-child {
    margin: auto;
    width: 100%; } }
footer a {
  font-family: "Montserrat";
  color: #999999; }

footer a:hover {
  color: #fb5d35; }

footer a i {
  margin: 0 0.25rem 0 0; }

#footer-logo {
  width: 160px;
  fill: #999999; }

@media screen and (max-width: 30rem) {
  #footer-logo {
    width: 160px;
    fill: #999999;
    margin: 0 auto 24px auto;
    display: block; } }
