@charset "UTF-8";
/*==========================================================
    Calmデザイン 2025/07/30
==========================================================*/
:root {
  --white: #ffffff;
  --black: #1f1f1f;
  --beige: #ece5d8;
  --orange: #ce4928;
  --blue: #327d9e;
  --purple: #645681;
  --yellow: #ee9c1e;
  --green: #11754d;
  --navy: #274564;
  background-color: var(--beige);
}

html,
body {
  overflow-x: hidden;
}

body {
  font-family: "YakuHanJP", "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--black);
}

H2 {
  font-family: din-2014, "Zen Kaku Gothic New";
  font-weight: 700;
}

/*==========================================================
SP
==========================================================*/
#tomofes2025 .main {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100svh;
  max-height: 750px;
}
#tomofes2025 .main_logo {
  text-align: center;
}
#tomofes2025 .main_logo h1 img {
  margin: 0 auto;
}
#tomofes2025 .main_logo h1 img:nth-child(1) {
  width: 80%;
  margin: 20px 0 20px;
}
#tomofes2025 .main_logo h1 img:nth-child(2) {
  width: 70%;
}
@media screen and (max-width: 375px) {
  #tomofes2025 .main_logo h1 img:nth-child(1) {
    width: 65%;
    margin: 10px 0 14px;
  }
  #tomofes2025 .main_logo h1 img:nth-child(2) {
    width: 60%;
  }
}
@media screen and (max-width: 353px) {
  #tomofes2025 .main_logo h1 img:nth-child(1) {
    width: 80%;
    margin: 20px 0 20px;
  }
  #tomofes2025 .main_logo h1 img:nth-child(2) {
    width: 70%;
  }
}
#tomofes2025 .main_logo h1 .pc {
  display: none;
}
#tomofes2025 .main::before, #tomofes2025 .main::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  background-repeat: no-repeat;
  background-size: 170%;
}
#tomofes2025 .main::before {
  background-image: url(../../img/sub/event/tomofes2025/main-bg-sp1.webp);
  top: 0;
  background-position: center top;
}
#tomofes2025 .main::after {
  background-image: url(../../img/sub/event/tomofes2025/main-bg-sp2.webp);
  bottom: 0;
  background-position: center bottom;
}
#tomofes2025 .main_bg-people {
  position: absolute;
  display: block;
  top: 0;
  width: 100vw;
  height: 100svh;
  max-height: 750px;
  z-index: 1;
}
#tomofes2025 .main_bg-people img {
  position: absolute;
  height: 20%;
}
#tomofes2025 .main_bg-people img:nth-child(1) {
  top: 1%;
  left: 6%;
}
#tomofes2025 .main_bg-people img:nth-child(2) {
  top: 1%;
  right: 5%;
}
#tomofes2025 .main_bg-people img:nth-child(3) {
  bottom: 1%;
  left: 2%;
}
#tomofes2025 .main_bg-people img:nth-child(4) {
  bottom: 1%;
  right: 6%;
}
#tomofes2025 footer {
  position: relative;
  margin: 100px 0 0;
}
#tomofes2025 footer .wrapper {
  padding: 30px 0;
  background-color: var(--navy);
  text-align: center;
}
#tomofes2025 footer .wrapper > p {
  color: var(--white);
  font-size: 14px;
}
#tomofes2025 footer .wrapper img {
  width: 85%;
  margin: 5px 0 30px;
}
#tomofes2025 footer .wrapper .copy_wrap p {
  color: var(--white);
  font-size: 11px;
}
#tomofes2025 footer::before {
  position: absolute;
  content: "";
  background-image: url(../../img/sub/event/tomofes2025/cloud-n-top.svg);
  width: 100%;
  height: 32px;
  margin: 0 auto;
  top: -30px;
  left: 0;
  right: 0;
  background-repeat: repeat-x;
  background-size: 427px;
  background-position: center;
}

/*==========================================================
タブレット
==========================================================*/
@media screen and (min-width: 744px) {
  #tomofes2025 .main {
    width: 100vw;
    height: 100vh;
    max-height: 100%;
  }
  #tomofes2025 .main_logo h1 img:nth-child(1) {
    width: 70%;
    margin: 20px 0 50px;
  }
  #tomofes2025 .main_logo h1 img:nth-child(3) {
    width: 75%;
  }
  #tomofes2025 .main_logo h1 .sp {
    display: none;
  }
  #tomofes2025 .main_logo h1 .pc {
    display: block;
  }
  #tomofes2025 .main::before, #tomofes2025 .main::after {
    background-size: 152%;
  }
  #tomofes2025 .main_bg-people {
    height: 100vh;
    max-height: 100vh;
  }
  #tomofes2025 footer {
    margin: 150px 0 0;
  }
  #tomofes2025 footer .wrapper {
    padding: 40px 0 30px;
  }
  #tomofes2025 footer .wrapper img {
    width: 85%;
    max-width: 450px;
    margin: 5px 0 30px;
  }
  #tomofes2025 footer .wrapper .copy_wrap p {
    font-size: 12px;
  }
  #tomofes2025 footer::before {
    height: 65px;
    top: -63px;
    background-size: 900px;
  }
}
/*==========================================================
pc
==========================================================*/
@media screen and (min-width: 1025px) {
  #tomofes2025 .main {
    background-image: url(../../img/sub/event/tomofes2025/main-bg-pc.webp);
    background-size: cover;
    background-repeat: repeat-x;
    background-position: center;
  }
  #tomofes2025 .main_logo h1 img:nth-child(1) {
    width: 32%;
    max-width: 540px;
    margin: 20px 0 50px;
  }
  #tomofes2025 .main_logo h1 img:nth-child(3) {
    width: 32%;
    max-width: 540px;
  }
  #tomofes2025 .main::before, #tomofes2025 .main::after {
    display: none;
  }
  #tomofes2025 .main_bg-people img {
    height: 39%;
  }
  #tomofes2025 .main_bg-people img:nth-child(1) {
    top: 2%;
  }
  #tomofes2025 .main_bg-people img:nth-child(2) {
    top: 2%;
  }
  #tomofes2025 .main_bg-people img:nth-child(3) {
    bottom: 2%;
  }
  #tomofes2025 .main_bg-people img:nth-child(4) {
    bottom: 2%;
  }
  #tomofes2025 footer {
    margin: 150px 0 0;
  }
  #tomofes2025 footer .wrapper {
    padding: 40px 0 30px;
  }
  #tomofes2025 footer .wrapper img {
    width: 85%;
    max-width: 450px;
    margin: 5px 0 30px;
  }
  #tomofes2025 footer .wrapper .copy_wrap p {
    font-size: 12px;
  }
  #tomofes2025 footer::before {
    height: 65px;
    top: -63px;
    background-size: 900px;
  }
}/*# sourceMappingURL=tomofes2025.css.map */