@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
body {
  color: #333;
  font-family: 'Noto Sans JP', sans-serif;
}
main {
  overflow: hidden;
}
p {
  margin: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  vertical-align: top;
}
/* CSS Document */
.row {
  display: flex;
}
.w-100 {
  max-width: 100%;
  width: 100%;
}
.w-50 {
  max-width: 50%;
  width: 100%;
}
/* FlexItem */
.d-flex {
  display: flex;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.align-center {
  align-items: center;
}
.align-start {
  align-items: flex-start;
}
.align-end {
  align-items: flex-end;
}
/* Text */
.text-c {
  text-align: center;
}
/* ContentSize */
.cont-full {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}
.cont-1000 {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}
.cont-900 {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}
.cont-850 {
  max-width: 930px;
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}
.cont-800 {
  max-width: 880px;
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}
/* Display */
.pc-none {
  display: none;
}
.sp-none {
  display: block;
}
@media screen and (max-width: 767px) {
  .sp-p0 {
    padding: 0;
  }
  .pc-none {
    display: block;
  }
  .sp-none {
    display: none;
  }
}
/* FadeIn */
.fadein {
  transform: translateY(20px);
  opacity: 0;
}
.fadein.is-animate {
  transition: 1.5s;
  transform: translateY(0);
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .fadein {
    transform: none;
    opacity: 1;
  }
}
/* 画面全体の設定 */
#loader_wrap {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  top: 0;
  background: #fff;
  z-index: 500;
}
/* ローディングアニメーションの設定 */
#loader_svg {
  display: none;
  height: 850px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  /*bottom: 0;*/
  margin: auto;
}
#loader_svg path {
  -webkit-animation: stroke 5s ease-in-out forwards;
  animation: stroke 5s ease-in-out forwards;
  fill: none;
  stroke: #f5bc1a;
  stroke-dasharray: 3500;
  stroke-dashoffset: 0;
  stroke-miterlimit: 10;
  stroke-width: 1;
}
@-webkit-keyframes stroke {
  0% {
    fill: transparent;
    stroke-dashoffset: 3500;
  }
  10% {
    fill: transparent;
  }
  80% {
    fill: transparent;
  }
  100% {
    fill: transparent;
    stroke-dashoffset: 0;
  }
}
@keyframes stroke {
  0% {
    fill: transparent;
    stroke-dashoffset: 3500;
  }
  10% {
    fill: transparent;
  }
  80% {
    fill: transparent;
  }
  100% {
    fill: transparent;
    stroke-dashoffset: 0;
  }
}
.main_kv_svg {
  width: 100%;
  position: absolute;
}
.main_kv_svg.mv_catch_line {
  max-width: 600px;
  bottom: 9px;
  left: -220px;
}
.main_kv_svg.mv_img_line {
  max-width: 1060px;
  top: -5px;
  right: -333px;
}
.main_kv_svg.mv_wood_line {
  max-width: 483px;
  top: -90px;
  left: -138px;
}
.main_kv_svg.mv_toy_line {
  max-width: 221px;
  top: 225px;
  left: -225px;
}
.loader {
  display: none;
  width: 300px;
  height: 100px;
  background: url(../img/common/header_logo.svg) no-repeat;
  background-size: contain;
}
.loader {
  animation: loader_fadeIn 3s ease-in-out 0s 1 normal backwards;
}
@keyframes loader_fadeIn {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ローディング終了後 */
.loaded {
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .main_kv_svg.mv_img_line {
    max-width: 167vw;
    width: auto;
    height: auto;
    top: 49px;
    right: -72vw;
  }
  .main_kv_svg.mv_wood_line {
    display: none;
  }
  .main_kv_svg.mv_toy_line {
    max-width: 235px;
    top: unset;
    left: unset;
    right: 18px;
    bottom: -40px;
    z-index: 1;
  }
  .main_kv_svg.mv_catch_line {
    max-width: 320px;
    bottom: 13%;
    left: -90px;
  }
}
/***** Original *****/
/***** Header *****/
.head {
  background: #fff;
  box-sizing: border-box;
  max-width: 1200px;
  width: 100%;
  height: 80px;
  padding: 0 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 100;
}
.head_logo {
  max-width: 215px;
  width: 100%;
  margin-right: auto;
}
ul.head_menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
ul.head_menu li a {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.1em;
  text-decoration: none;
}
ul.head_menu li + li:not(:last-of-type) {
  margin-left: 35px;
}
.head_btn {
  border-radius: 20px;
  background-color: rgb(242, 91, 56);
  width: 125px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 45px;
}
ul.head_menu li.head_btn a {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .head {
    max-width: 95%;
    padding: 0 20px;
  }
  ul.head_menu {
    margin-left: 20px;
  }
  ul.head_menu li a {
    font-size: 12px;
  }
  ul.head_menu li + li:not(:last-of-type) {
    margin-left: 18px;
  }
  .head_btn {
    width: 110px;
    margin-left: 18px;
  }
}
@media screen and (max-width: 767px) {
  .head {
    height: 50px;
    max-width: 100%;
    padding-left: 20px;
    position: fixed;
    top: 0;
    left: 0;
  }
  .head_logo {
    max-width: 135px;
    width: 100%;
  }
  ul.head_menu {
    display: none;
  }
}
/***** Footer *****/
footer.footer {
  padding-top: 110px;
  padding-bottom: 150px;
  overflow: hidden;
}
footer.footer .cont-1000 {
  position: relative;
  padding: 0 20px;
}
.footer_about {}
.footer_about_logo {
  max-width: 215px;
  width: 100%;
  margin-bottom: 45px;
}
.footer_about p {
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.3em;
  padding-left: 45px;
  margin-bottom: 30px;
  position: relative;
}
.footer_about p:last-of-type {
  margin-bottom: 85px;
}
.footer_about p::before {
  content: "";
  display: inline-block;
  height: 23px;
  width: 23px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.footer_about_add::before {
  background: url("../img/common/footer_icon_add.svg") no-repeat center;
  background-size: contain;
}
.footer_about_tel::before {
  background: url("../img/common/footer_icon_tel.svg") no-repeat center;
  background-size: contain;
}
.footer_about_fax::before {
  background: url("../img/common/footer_icon_fax.svg") no-repeat center;
  background-size: contain;
}
.footer_about_mail::before {
  background: url("../img/common/footer_icon_mail.svg") no-repeat center;
  background-size: contain;
}
.footer_about small {
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.3em;
}
.footer_menu {
  padding: 0 60px 60px 0;
}
ul.footer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.footer-menu li:not(.top) {
  margin-left: 8px;
}
.footer-menu-item.plus {
  margin-bottom: 25px;
}
.footer-menu.footer_menu_second {
  margin: 28px 0 35px 30px;
}
.top a.footer-menu-item {
  padding-left: 0;
}
.top a.footer-menu-item::before {
  content: none;
}
.under_top a.footer-menu-item::after {
  content: "";
  display: block;
  height: 30px;
  width: 1px;
  background: #333;
  position: absolute;
  left: 0;
  bottom: 50%;
}
a.footer-menu-item {
  color: #333333;
  display: block;
  font-size: 12px;
  font-weight: bold;
  text-decoration: none;
  letter-spacing: 0.3em;
  padding-left: 35px;
  position: relative;
}
a.footer-menu-item::before {
  content: "";
  display: block;
  height: 1px;
  width: 7px;
  background: #333;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.footer-menu-item {
  margin-bottom: 40px;
}
.footer-menu li:last-of-type .footer-menu-item {
  margin-bottom: 0;
}
.footer_menu_second .footer-menu-item {
  margin-bottom: 17px;
}
.footer_parts {
  width: 100%;
  position: absolute;
  z-index: -1;
}
.footer_img01 {
  max-width: 175px;
  top: 3px;
  left: 350px;
}
.footer_img02 {
  max-width: 253px;
  left: -225px;
  bottom: -180px;
}
.footer_img03 {
  max-width: 160px;
  right: -135px;
  bottom: -80px;
}
@media screen and (max-width: 767px) {
  .footer_img01 {
    left: 33%;
  }
}
@media screen and (max-width: 767px) {
  footer.footer {
    padding-top: 120px;
    padding-bottom: 60px;
  }
  footer.footer .d-flex {
    flex-direction: column-reverse;
  }
  .footer_parts {
    display: none;
  }
  .footer_about {
    margin-top: 120px;
  }
  .footer_about_logo {
    margin-bottom: 45px;
  }
  .footer_about p.footer_about_add {
    line-height: 2;
  }
  .footer_about p:last-of-type {
    margin-bottom: 45px;
  }
  .footer_menu {
    padding: 0;
    margin: 0 auto;
  }
  ul.footer-menu li:not(.top) {
    margin-left: 0;
  }
  a.footer-menu-item::after, a.footer-menu-item::before, .under_top a.footer-menu-item::after {
    content: none;
  }
  a.footer-menu-item {
    padding-left: 0;
    text-align: center;
  }
  .footer-menu.footer_menu_second {
    display: none;
    margin: 25px 0 25px 0;
  }
  .footer-menu.footer_menu_second.open {
    display: block;
  }
  .footer-menu-item {
    margin-bottom: 45px;
  }
  .footer-menu-item.plus {
    cursor: pointer;
    margin-bottom: 40px;
  }
  .footer-menu-item.minus {
    margin-bottom: 0;
  }
  .footer-menu-item.plus::after {
    content: "";
    display: inline-block;
    height: 13px;
    width: 13px;
    background: url(../img/common/icon_plus.svg) no-repeat center;
    background-size: cover;
    margin-left: 0.5em;
    position: absolute;
    top: 2px;
    top: 0.1em;
  }
  .footer-menu-item.minus::after {
    content: "";
    display: inline-block;
    height: 13px;
    width: 13px;
    background: url(../img/common/icon_minus.svg) no-repeat center;
    background-size: cover;
    margin-left: 0.5em;
    position: absolute;
    top: 2px;
    top: 0.1em;
  }
}
/***** Index *****/
.main_kv {
  height: 850px;
  position: relative;
  z-index: 5;
}
.main_kv_parts {
  width: 100%;
  position: absolute;
}
.main_kv_parts img {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.mv_img {
  max-width: 1060px;
  top: -4px;
  right: -322px;
}
.mv_img img {
  -webkit-mask-image: url("../img/top/morphing_mv.svg");
  mask-image: url("../img/top/morphing_mv.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
}
.mv_wood {
  max-width: 730px;
  top: -90px;
  left: -262px;
}
.mv_wood img {
  -webkit-mask-image: url("../img/top/morphing_wood.svg");
  mask-image: url("../img/top/morphing_wood.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
}
.mv_toy {
  max-width: 274px;
  top: 225px;
  left: -252px;
}
.mv_toy img {
  -webkit-mask-image: url("../img/top/morphing_toy.svg");
  mask-image: url("../img/top/morphing_toy.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
}
.mv_catch {
  max-width: 600px;
  bottom: -2px;
  left: -221px;
}
.mv_catch img {
  -webkit-mask-image: url("../img/top/morphing_catch.svg");
  mask-image: url("../img/top/morphing_catch.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
}
.mv_catch_txt {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
}
.mv_catch_txt img {
  width: 22px;
  height: auto;
  -webkit-mask-image: unset;
  mask-image: unset;
  -webkit-mask-size: unset;
  mask-size: unset;
  position: absolute;
}
.mv_catch_1 {
  top: 115px;
  right: 197px;
}
.mv_catch_2 {
  top: 157px;
  right: 256px;
}
.mv_catch_3 {
  top: 200px;
  right: 315px;
}
.catchfade {
  transform: translateY(50px);
  opacity: 0;
}
.catchfade.is-animate {
  transition: 1s;
  transform: translateY(0);
  transition-timing-function: ease-in-out;
  opacity: 1;
}
.section {}
.sec01 {
  height: 835px;
  margin-top: -210px;
  position: relative;
  z-index: 0;
}
.sec01::before, .sec01::after, .sec02::before, .sec02::after, .section_bg::before, .section_bg::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.sec01::before, .sec02::before, .section_bg::before {
  top: -1px;
}
.sec01::after, .sec02::after, .section_bg::after {
  bottom: -1px;
}
.sec01::before, .sec02::before, .section_bg::before {
  background: url("../img/common/background01_top.svg") no-repeat top;
  background-size: contain;
}
.sec01::after, .sec02::after, .section_bg::after {
  background: url("../img/common/background01_bottom.svg") no-repeat bottom;
  background-size: contain;
}
.sec02 {
  height: 750px;
  margin-bottom: 280px;
  position: relative;
  z-index: 0;
}
.sec01_wrap, .sec02_wrap {
  height: 100%;
  overflow: hidden;
  position: relative;
  z-index: -1;
}
.sec01_wrap img, .sec02_wrap img {
  height: 100%;
  width: auto;
}
.sec01_wrap::before, .sec01_wrap::after, .sec02_wrap::before, .sec02_wrap::after {
  content: "";
  display: block;
  height: auto;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.sec01_wrap::before {
  background-image: url("../img/common/yellow_+.svg");
  background-size: 6px;
  opacity: 0.25;
  z-index: -1;
}
.sec02_wrap::before {
  background-image: url("../img/common/yellow_x.svg");
  background-size: 7px;
  opacity: 0.25;
  z-index: -1;
}
.sec01_wrap::after, .sec02_wrap::after {
  background: -moz-linear-gradient(-58deg, rgba(250, 204, 34, 0.07) 0%, rgba(248, 54, 0, 0.07) 100%);
  background: -webkit-linear-gradient(-58deg, rgba(250, 204, 34, 0.07) 0%, rgba(248, 54, 0, 0.07) 100%);
  background: linear-gradient(135deg, rgba(250, 204, 34, 0.07) 0%, rgba(248, 54, 0, 0.07) 100%);
  z-index: -2;
}
.sec02_wrap {
  -webkit-mask-image: linear-gradient(to top, transparent 20%, black 50%);
  mask-image: linear-gradient(to top, transparent 20%, black 50%);
}
.sec01 .cont-1000 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  z-index: 3;
}
@media screen and (max-width: 1023px) {
  .sec01 {
    height: 700px;
  }
}
@media screen and (max-width: 767px) {
  .main_kv, #loader_svg {
    height: 200vw;
  }
  .main_kv_parts img {
    -webkit-mask-image: unset;
    mask-image: unset;
    -webkit-mask-size: unset;
    mask-size: unset;
    -webkit-mask-repeat: unset;
    mask-repeat: unset;
    -webkit-mask-position: unset;
    mask-position: unset;
  }
  .mv_img {
    max-width: 100%;
    /*max-width: 50%;*/
    top: 0;
    right: -20px;
  }
  .mv_wood {
    display: none;
  }
  .mv_toy {
    max-width: 235px;
    top: unset;
    left: unset;
    right: 18px;
    bottom: 0px;
    z-index: 1;
  }
  .mv_catch {
    max-width: 215px;
    bottom: 13%;
    left: 0px;
  }
  .mv_catch_txt img {
    width: 12.5px;
  }
  .mv_catch_1 {
    top: 46px;
    right: 76px;
  }
  .mv_catch_2 {
    top: 72px;
    right: 112px;
  }
  .mv_catch_3 {
    top: 102px;
    right: 149px;
  }
  .sec01 {
    height: 855px;
    margin-top: -240px;
  }
  .sec01::before, .sec02::before, .section_bg::before {
    background: url("../img/common/background01_top_sp.svg") no-repeat top;
    background-size: contain;
  }
  .sec01::after, .sec02::after, .section_bg::after {
    background: url("../img/common/background01_bottom_sp.svg") no-repeat bottom;
    background-size: contain;
  }
}
.pickup_box {
  background: #fff;
  border-radius: 10px;
  max-width: 100%;
  width: 100%;
  margin-top: 85px;
}
.pickup_box_img {
  max-width: 240px;
  width: 100%;
}
.pickup_box_img img {
  border-radius: 10px 0 0 10px;
}
.pickup_box_txt {
  max-width: calc(100% - 240px);
  width: 100%;
  margin: 0;
}
.pickup_box_txt dt {
  background: #f25c39;
  border-radius: 0 10px 0 0;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 35px;
  letter-spacing: 0.2em;
  height: 35px;
  padding: 0 0 0 35px;
}
.pickup_box_txt dd {
  box-sizing: border-box;
  height: calc(100% - 35px);
  margin-left: 0;
  padding: 30px 35px 0;
}
.pickup_box_txt dd.pickup_box_img_thum {
  display: none;
}
.pickup_box_txt dd p {
  font-size: 14px;
  font-weight: bold;
  line-height: 2;
}
.pickup_box_txt_date {
  margin-bottom: 10px;
}
@media screen and (max-width: 1440px) {
  .pickup_box {
    max-width: 85%;
  }
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .pickup_box {
    max-width: 100%;
    margin-top: 135px;
  }
  .pickup_box_img {
    display: none;
  }
  .pickup_box_txt dt {
    border-radius: 10px 10px 0 0;
  }
  .pickup_box_txt dd.pickup_box_img_thum {
    display: block;
    padding: 0;
  }
  .pickup_box_txt {
    border-radius: 10px 10px 0 0;
    max-width: 100%;
  }
  .pickup_box_txt dd {
    height: auto;
    padding: 25px 25px 35px;
  }
  .pickup_box_txt_title br {
    display: none;
  }
}
#top_news {
  margin-top: -60px;
  margin-bottom: 165px;
  position: relative;
}
.section_title {
  margin-bottom: 75px;
}
.section_title_en {
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.5em;
  margin: 0 0 15px;
}
.section_title_jp {
  height: 26px;
  margin: 0;
}
.section_title_jp img {
  height: 100%;
  width: auto;
}
.news_box_wrap {
  display: flex;
  flex-wrap: wrap;
  max-width: 820px;
  width: 100%;
}
.news_box {
  max-width: 200px;
  width: 100%;
  margin-right: 70px;
  margin-bottom: 40px;
}
.news_box_img {
  margin-bottom: 20px;
}
.news_box_txt {}
.news_box_txt_date {
  font-size: 14px;
  line-height: 2;
  margin-bottom: 10px;
}
.news_box_txt_title {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
}
.btn {
  border: 2px solid #f2ac39;
  background: #fff;
  border-radius: 40px;
  box-shadow: 0px 0px 6.3px 0.7px rgba(61, 61, 61, 0.15);
  max-width: 310px;
  width: 100%;
  height: 80px;
  position: relative;
}
.btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.2em;
  height: 100%;
  width: 100%;
}
.btn::after {
  content: "";
  display: block;
  height: 9px;
  width: 11px;
  background: url("../img/common/btn_icon_arrow.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 40px;
  margin: auto;
}
.btn.news_list {
  margin-top: 35px;
}
@media screen and (max-width: 1023px) {
  #top_news {
    margin-top: 0;
  }
  .news_box {
    margin-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  #top_news {
    margin-top: 50px;
    margin-bottom: 140px;
  }
  .section_title {
    margin-bottom: 60px;
  }
  .news_box:nth-of-type(-n+3) {
    display: none;
  }
  .news_box {
    max-width: 300px;
    margin: 0 auto 40px;
  }
}
.sec02 .cont-1000 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  z-index: 5;
}
.sec02_parts {
  width: 100%;
  position: absolute;
}
.sec02_parts img {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.sec02_img01 img {
  -webkit-mask-image: url(../img/top/morphing_sec02_img01.svg);
  mask-image: url(../img/top/morphing_sec02_img01.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
}
.sec02_img02 img {
  -webkit-mask-image: url(../img/top/morphing_sec02_img01.svg);
  mask-image: url(../img/top/morphing_sec02_img02.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
}
.sec02_img01 {
  max-width: 856px;
  top: -40px;
  left: -270px;
}
.sec02_img02 {
  max-width: 397px;
  left: 230px;
  bottom: -80px;
}
.sec02_img03 {
  background: url("../img/top/sec02_img03.svg") no-repeat center;
  background-size: contain;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 525px;
  max-height: 572px;
  height: 100%;
  right: -45px;
  bottom: 45px;
}
.sec02_img03 .d-flex {
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
}
.sec03_title {
  margin: 25px auto 55px;
  max-width: 288px;
  width: 100%;
}
.sec03_txt {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 2;
  padding-left: 1em;
  margin-bottom: 60px;
}
@media screen and (max-width: 1023px) {
  .sec02 {
    height: 85vw;
    margin-bottom: 120px;
  }
  .sec02_img01 {
    max-width: calc(856px * .6);
    top: 5vw;
    left: calc(-270px * .5);
  }
  .sec02_img02 {
    max-width: calc(397px * .7);
    left: 12vw;
    bottom: 0px;
  }
  .sec02_img03 {
    max-width: 60%;
    right: -40px;
    bottom: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .sec02 {
    height: 90vw;
  }
  .sec02_img01 {
    max-width: calc(856px * .6);
  }
  .sec02_img02 {
    left: 8vw;
  }
  .sec02_img03 {
    max-width: 100%;
    bottom: 0;
  }
  .sec02_parts img {
    -webkit-mask-image: unset;
    mask-image: unset;
    -webkit-mask-size: unset;
    mask-size: unset;
  }
}
@media screen and (max-width: 767px) {
  .sec02 {
    height: 1000px;
    margin-bottom: 145px;
  }
  .sec02 .cont-1000 {
    flex-direction: column-reverse;
    flex-wrap: nowrap;
  }
  .sec02_parts {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
  }
  .sec02_img01 {
    margin-right: 50px;
  }
  .sec02_img02 {
    max-width: 250px;
    margin-left: auto;
    margin-right: 20px;
    margin-top: -40px;
  }
  .sec03_title {
    margin: 30px auto 35px;
    max-width: 300px;
  }
  .sec02_img03 {
    background-size: cover;
    margin-bottom: 30px;
    max-height: 525px;
  }
  .sec02_img03 .d-flex {
    padding: 80px 0 80px;
  }
}
#information {
  position: relative;
  z-index: 0;
}
#information .section_title {
  margin-bottom: 125px;
}
.info_box_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.info_box {
  border: 1px solid #f2ac38;
  border-radius: 25px;
  background: #fff;
  margin: 0 5px 60px;
  max-width: 300px;
  width: 100%;
}
.info_box.hide {
  display: none;
}
.info_box_img {}
.info_box_img img {
  border-radius: 25px 25px 0 0;
}
.info_box_txt {
  padding: 30px 40px 50px;
}
.info_box_txt_title {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 1.75;
  margin-bottom: 10px;
}
.info_box_txt_title span {
  font-size: 12px;
}
.info_box_txt_detail {
  font-size: 14px;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  .info_box_wrap {
    justify-content: center;
  }
  .info_box {
    margin: 0 15px 30px;
  }
  .info_box.hide {
    display: block;
    border: none;
  }
}
@media screen and (max-width: 767px) {
  #information .section_title {
    margin-bottom: 100px;
  }
  .info_box_wrap {
    flex-wrap: nowrap;
  }
  .info_box {
    margin: 0 10px;
  }
  .info_box.hide {
    display: none;
  }
  .info_box_wrap .slick-track {
    display: flex;
  }
  .info_box.slick-slide {
    height: auto !important;
  }
  .slick-prev, .slick-next {
    width: 40px;
    height: 40px;
  }
  .slick-prev::before, .slick-next::before {
    content: '';
    display: block;
    height: 40px;
    width: 40px;
    opacity: 1;
  }
  .slick-prev::before {
    background: url("../img/common/slide_icon_prev.svg") no-repeat center;
    background-size: contain;
  }
  .slick-next::before {
    background: url("../img/common/slide_icon_next.svg") no-repeat center;
    background-size: contain;
  }
}
/***** Beginer *****/
#number {}
.page_mv {
  display: flex;
  height: 580px;
  margin-bottom: 125px;
  position: relative;
  z-index: 0;
}
.page_mv::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  background: url("../img/common/background03.svg") no-repeat bottom;
  background-size: contain;
  position: absolute;
  bottom: -1px;
  z-index: 0;
}
.page_mv .sec01_wrap {
  width: 100%;
  z-index: unset;
}
.page_shape {
  position: absolute;
  height: 100%;
  max-width: 1440px;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.mv_shape1, .mv_shape2 {
  position: absolute;
}
.mv_shape1 img, .mv_shape2 img {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
#beginer .mv_shape1, #act .mv_shape1 {
  height: 75px;
  width: 270px;
  top: 30px;
  left: -35px;
}
#beginer .mv_shape1 img, #act .mv_shape1 img {
  -webkit-mask-image: url("../img/beginer/morphing_mv_shape1.svg");
  mask-image: url(../img/beginer/morphing_mv_shape1.svg);
  -webkit-mask-size: 270px;
  mask-size: 270px;
}
#beginer .mv_shape2, #act .mv_shape2 {
  height: 52px;
  width: 215px;
  top: 130px;
  right: -20px;
}
#beginer .mv_shape2 img, #act .mv_shape2 img {
  -webkit-mask-image: url("../img/beginer/morphing_mv_shape2.svg");
  mask-image: url(../img/beginer/morphing_mv_shape2.svg);
  -webkit-mask-size: 215px;
  mask-size: 215px;
}
.page_mv .cont-1000 {
  margin-top: 100px;
  position: relative;
  z-index: 5;
}
.page_title_wrap {
  align-items: center;
  display: flex;
  width: 100%;
  margin-top: 35px;
  position: relative;
}
.page_title_wrap::after {
  content: "";
  display: block;
  height: 100%;
  width: 120%;
  background: url(../img/beginer/page_title_bg.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 20px;
  left: -70px;
  z-index: -1;
}
.page_title {
  align-items: center;
  max-width: 75%;
  width: 100%;
  position: relative;
}
.page_title p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  letter-spacing: 0.25em;
  font-weight: bold;
  margin-right: 2em;
}
.page_title h1 {
  height: 26px;
  margin-top: 0.8em;
  margin-bottom: 0;
}
.page_title h1 img {
  height: 100%;
  width: auto;
}
.page_title_img {
  height: 450px;
  width: auto;
  margin-right: -70px;
  position: relative;
  z-index: 5;
}
.page_title_img img {
  height: 100%;
  width: auto;
  position: relative;
  z-index: 5;
}
#qa {}
.qa_title {
  max-width: 280px;
  width: 100%;
  margin: 0 0 75px 0;
}
.qa_title_sub {}
.qa_box_wrap {
  margin-top: 125px;
  margin-bottom: 160px;
}
.qa_box {}
.qa_box + .qa_box {
  margin-top: 85px;
}
.qa_box_q {}
.qa_box_q p {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.25;
  padding-left: 75px;
  position: relative;
}
.qa_box_q p::before {
  content: "";
  display: block;
  width: 46px;
  height: 22px;
  background-color: #8d8d8c;
  border-radius: 11px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.qa_box_wrap {
  counter-reset: item;
}
.qa_box {
  max-width: 860px;
  width: 100%;
  position: relative;
}
.qa_box::after {
  counter-increment: item;
  content: 'Q'counter(item);
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: absolute;
  top: 10px;
  left: 12px;
  bottom: 0;
  margin: auto;
}
.qa_box_a {
  background: #fbf8e7;
  border-radius: 40px;
  padding: 45px 60px 60px;
  margin: 55px 35px 0;
  position: relative;
}
.qa_box_a::before {
  content: "";
  display: block;
  width: 78px;
  height: 70px;
  background: url("../img/beginer/A.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.qa_box_a p {
  font-size: 16px;
  line-height: 2;
  padding: 0 30px 0 55px;
}
.qa_box_img {
  margin-top: 50px;
}
#number {
  position: relative;
}
#number.section_bg::after {
  background: none;
}
#number .sec02_wrap {
  height: 700px;
  width: 100%;
  position: absolute;
  top: 0;
}
#number .cont-1000 {
  padding-top: 170px;
  position: relative;
  z-index: 3;
}
.number_titile {
  margin-bottom: 120px;
  position: relative;
}
.number_titile::after {
  content: "";
  display: block;
  height: 503px;
  width: 798px;
  background: url("../img/beginer/number_title_bg.png") no-repeat center;
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -215px;
  margin: auto;
  z-index: -1;
}
.number_titile_en {
  color: #f2ac38;
  font-family: 'Montserrat', sans-serif;
  font-size: 75px;
  font-weight: bold;
  margin: 0;
}
.number_titile_jp {
  font-size: 24px;
  letter-spacing: 0.125em;
}
.number_box_wrap {
  margin: 0 -12.5px;
  display: flex;
  flex-wrap: wrap;
}
.number_box {
  background: #fff;
  border: 1px solid #f2ac38;
  border-radius: 15px;
  box-sizing: border-box;
  max-width: 500px;
  width: 100%;
  padding: 80px 30px 60px;
  height: auto;
  margin: 12.5px;
  position: relative;
}
.number_box.w-75 {
  max-width: calc(500px * .75);
}
.number_box_title {
  background-color: rgb(251, 248, 231);
  border-radius: 15px 0 15px 0;
  font-size: 15px;
  padding: 12px 30px;
  line-height: 1;
  letter-spacing: 0.2em;
  position: absolute;
  top: 0;
  left: 0;
}
.number_cnt_title {
  color: #f2ac38;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  height: 1.15em;
  margin-bottom: -0.5em;
}
.number_box_cnt {
  color: #f2ac38;
  font-family: 'Montserrat', sans-serif;
  font-size: 125px;
  font-weight: 500;
}
.number_box_cnt_unit {
  color: #f2ac38;
  font-size: 30px;
  font-weight: 700;
}
.number_box .d-flex {
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}
.number_box:nth-of-type(1) .number_box_img {
  max-width: 135px;
}
.number_box:nth-of-type(2) .number_box_img {
  max-width: 90px;
}
.number_box:nth-of-type(3) .number_box_img {
  max-width: 81px;
}
.number_box:nth-of-type(4) .number_box_img {
  max-width: 80px;
}
.number_box:nth-of-type(5) .number_box_img {
  max-width: 98px;
}
.number_box:nth-of-type(6) .number_box_img {
  max-width: 81px;
}
.number_box:nth-of-type(7) .number_box_img {
  max-width: 73px;
}
.number_box:nth-of-type(8) .number_box_img {
  max-width: 105px;
}
.number_box_img {
  width: 100%;
  height: auto;
}
.number_box_img + .number_box_txt {
  margin-left: 20px;
}
.number_box_txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page_mv {
    height: 450px;
    margin-bottom: 140px;
  }
  .page_mv::after {
    background: url(../img/common/background03_sp.svg) no-repeat bottom;
    background-size: contain;
  }
  .page_mv .sec01_wrap {
    overflow: inherit;
  }
  .page_shape {
    max-width: 100%;
  }
  #beginer .mv_shape1 {
    height: 40px;
    width: 116px;
    top: 40px;
    left: 0px;
  }
  #beginer .mv_shape2, #act .mv_shape2 {
    top: 102px;
    right: -135px;
  }
  .page_mv .cont-1000 {
    margin-top: 0;
    height: 100%;
  }
  .page_title_wrap {
    margin-top: 0;
    position: inherit;
  }
  .page_title_wrap::after {
    height: 150%;
    width: 150%;
    top: 15%;
    left: -25%;
    right: 25%;
    margin: auto;
  }
  .page_title {
    max-width: 100%;
  }
  .page_title h1 {
    height: 32px;
  }
  .page_shape::before {
    height: 55px;
    width: 115px;
    background: url(../img/beginer/mv_shape1_sp.svg) no-repeat;
    background-size: contain;
    top: 40px;
    left: 0;
  }
  .page_shape::after {
    top: 105px;
    right: -135px;
  }
  .page_title_img {
    height: auto;
    width: 75%;
    margin-right: unset;
    margin-left: unset;
    position: absolute;
    bottom: -90px;
    right: -25px;
  }
  .page_title_img img {
    height: auto;
    width: 100%;
  }
  .page_title p {
    font-size: 13px;
    margin-right: 0;
  }
  .qa_title {
    max-width: 190px;
    margin: 0 0 40px 0;
  }
  .qa_title_sub {
    letter-spacing: 0.1em;
    line-height: 1.8;
  }
  .qa_box_wrap {
    margin-top: 107px;
    margin-bottom: 90px;
  }
  .qa_box + .qa_box {
    margin-top: 107px;
  }
  .qa_box_a {
    background: #fbf8e7;
    border-radius: 20px;
    padding: 95px 30px 50px;
    margin: 55px 0px 0;
    position: relative;
  }
  .qa_box_q {
    letter-spacing: 0.2em;
  }
  .qa_box_q p {
    padding-left: 0;
    line-height: 1.5;
  }
  .qa_box_q p::before {
    top: -37px;
    bottom: unset;
  }
  .qa_box::after {
    top: -35px;
  }
  .qa_box_a p {
    padding: 0;
  }
  .qa_box_img {
    margin-top: 35px;
  }
  .number_titile {
    margin-bottom: 70px;
  }
  .number_titile::after {
    height: 150%;
    width: 150%;
    top: 0;
    bottom: 0;
    left: -25%;
    right: -25%;
    margin: auto;
  }
  .number_titile_en {
    font-size: 60px;
  }
  .number_titile_jp {
    font-size: 18px;
  }
  #number .cont-1000 {
    padding-top: 125px;
  }
  .number_box {
    padding: 75px 15px 35px;
  }
  .number_cnt_title {
    font-size: 18px;
  }
  .number_box_cnt {
    font-size: 75px;
  }
  .number_box_cnt_unit {
    font-size: 20px;
  }
  .number_box .d-flex {
    display: block;
  }
  .number_box_img {
    margin: 0 auto 20px;
  }
  .number_box_img + .number_box_txt {
    margin: 0 auto;
    max-width: fit-content;
    width: 100%;
  }
}
/***** ACTIVITIES *****/
.activities_inner {
  max-width: 800px;
  width: 100%;
}
.activities_inner p {
  font-size: 16px;
  font-weight: bold;
  line-height: 2.5;
}
.activities_inner_img {
  box-sizing: border-box;
  padding: 0px 15px;
  margin: 90px auto 175px;
  max-width: 600px;
  width: 100%;
  position: relative;
}
.activities_inner_img img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
.activities_inner_img area {
  cursor: pointer;
  background: red;
}
#act .art {}
#act .art .mv_shape1 {
  height: 184px;
  width: 338px;
  top: -45px;
  left: -155px;
}
#act .art .mv_shape1 img {
  -webkit-mask-image: url("../img/act/art/morphing_mv_shape1.svg");
  mask-image: url(../img/act/art/morphing_mv_shape1.svg);
  -webkit-mask-size: 338px;
  mask-size: 338px;
}
#act .art .mv_shape2 {
  height: 95px;
  width: 270px;
  top: initial;
  bottom: 35px;
  right: 0;
  left: 175px;
  margin: auto;
  z-index: 8;
}
#act .art .mv_shape2 img {
  -webkit-mask-image: url("../img/act/art/morphing_mv_shape2.svg");
  mask-image: url(../img/act/art/morphing_mv_shape2.svg);
  -webkit-mask-size: 270px;
  mask-size: 270px;
}
#act .art .page_title_wrap {
  margin-top: -60px;
}
#act .art .page_mv .cont-1000 {
  margin-top: 75px;
}
#act .art .page_title_img {
  height: 500px;
  margin-right: -150px;
}
#act .art .page_title {
  max-width: 55%;
}
#act .art .page_title h1 {
  height: 32px;
  margin-top: 1.2em;
}
#activity_intro {}
.activity_intro_inner {
  max-width: 800px;
  width: 100%;
}
.activity_intro_inner.w-70 {
  max-width: 70%;
}
#act .toys .activity_intro_inner + .activity_intro_inner {
  margin-top: 105px;
}
#act .senior .activity_intro_inner + .activity_intro_inner {
  margin-top: 100px;
}
#act .nature .activity_intro_inner + .activity_intro_inner {
  margin-top: 100px;
}
.activity_intro_inner + .activity_intro_inner {
  margin-top: 180px;
}
.activity_intro_inner h2 {
  font-size: 28px;
  letter-spacing: 0.2em;
  margin: 0 0 70px;
  padding-top: 8px;
}
.activity_intro_inner h3 {
  font-size: 23px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 0 0 30px;
}
.activity_intro_inner h3.f-18 {
  font-size: 18px;
}
.activity_intro_inner p {
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 2.5;
}
.activity_intro_inner p + p {
  margin-top: 2.5em;
}
.act.section_img {
  margin-top: 75px;
  position: relative;
  z-index: 1;
}
.act.section_img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../img/common/background01_top.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
}
#act .art .sec04::before {
  content: none;
}
#act .art .sec04 {
  height: 1250px;
  margin-top: -100px;
}
.activity_intro_inner .btn {
  margin-top: 75px;
}
.activity_btn {
  margin-top: -1080px;
}
.activity_btn .cont-1000 {
  max-width: 1095px;
}
.activity_btn h3 {
  height: 23px;
  margin-top: 0;
  margin-bottom: 103px;
  position: relative;
  z-index: 1;
}
.activity_btn h3 img {
  height: 100%;
  width: auto;
  position: relative;
  z-index: 1;
}
.activity_btn h3::after {
  content: "";
  display: block;
  height: 460px;
  width: 530px;
  background: url("../img/act/art/activity_btn_title_bg.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -220px;
  margin: auto;
  z-index: 0;
}
.activity_btn .cont-900 {
  max-width: 1010px;
}
.activity_btn .d-flex {
  flex-wrap: wrap;
  max-width: 92%;
}
.btn.act_art {
  border-radius: 28px;
  box-shadow: none;
  height: 55px;
  max-width: fit-content;
  margin: 0 7.5px 25px;
}
.btn.act_art a {
  font-size: 14px;
  padding: 0 65px;
  box-sizing: border-box;
}
.btn.act_art::after {
  height: 4.5px;
  width: 8px;
  background: url("../img/act/art/btn_icon_down.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  top: unset;
  bottom: 7px;
  right: 0;
  left: 0;
}
.act_section .act_section_inner h2::after {
  left: -75px;
}
#act_art_sec01 {
  padding-top: 130px;
}
#act_art_sec01 .act_section_inner h2::after {
  height: 103px;
  width: 365px;
  background: url("../img/act/art/act_art_sec01_title.png") no-repeat center;
  background-size: contain;
  left: -90px;
  top: -10px;
}
#act_art_sec02 .act_section_inner h2::after {
  height: 101px;
  width: 407px;
  background: url("../img/act/art/act_art_sec02_title.png") no-repeat center;
  background-size: contain;
  left: -85px;
}
#act_art_sec03 .act_section_inner h2::after {
  height: 104px;
  width: 357px;
  background: url("../img/act/art/act_art_sec03_title.png") no-repeat center;
  background-size: contain;
}
#act_art_sec04 .act_section_inner h2::after {
  height: 116px;
  width: 360px;
  background: url("../img/act/art/act_art_sec04_title.png") no-repeat center;
  background-size: contain;
}
#act_art_sec05 .act_section_inner h2::after {
  height: 116px;
  width: 322px;
  background: url("../img/act/art/act_art_sec05_title.png") no-repeat center;
  background-size: contain;
}
#act .toys {}
#act_toys_sec01 {
  padding-top: 210px;
}
#act_toys_sec01 .act_section_inner h2::after {
  height: 109px;
  width: 370px;
  background: url("../img/act/toys/act_tpys_sec01_title.png") no-repeat center;
  background-size: contain;
  left: -100px;
}
#act_toys_sec02 .act_section_inner h2::after {
  height: 100px;
  width: 340px;
  background: url(../img/act/toys/act_tpys_sec02_title.png) no-repeat center;
  background-size: contain;
  left: -85px;
  top: -10px;
}
#act_toys_sec03 .act_section_inner h2::after {
  height: 103px;
  width: 365px;
  background: url("../img/act/toys/act_tpys_sec03_title.png") no-repeat center;
  background-size: contain;
}
#act_toys_sec04 .act_section_inner h2::after {
  height: 103px;
  width: 423px;
  background: url(../img/act/toys/act_tpys_sec04_title.png) no-repeat center;
  background-size: contain;
  left: -90px;
  top: -10px;
}
#act_toys_sec05 .act_section_inner h2::after {
  height: 100px;
  width: 293px;
  background: url(../img/act/toys/act_tpys_sec05_title.png) no-repeat center;
  background-size: contain;
  left: -85px;
  top: -10px;
}
#act_toys_sec06 .act_section_inner h2::after {
  height: 103px;
  width: 405px;
  background: url(../img/act/toys/act_tpys_sec06_title.png) no-repeat center;
  background-size: contain;
  left: -70px;
  top: 10px;
}
#act_toys_sec07 .act_section_inner h2::after {
  height: 103px;
  width: 404px;
  background: url(../img/act/toys/act_tpys_sec07_title.png) no-repeat center;
  background-size: contain;
  top: -5px;
  left: -87px;
}
#act_toys_sec08 .act_section_inner h2::after {
  height: 109px;
  width: 344px;
  background: url(../img/act/toys/act_tpys_sec08_title.png) no-repeat center;
  background-size: contain;
  left: -68px;
  top: 10px;
}
#act_toys_sec09 .act_section_inner h2::after {
  height: 105px;
  width: 386px;
  background: url(../img/act/toys/act_tpys_sec09_title.png) no-repeat center;
  background-size: contain;
  left: -90px;
  top: -8px;
}
#act_toys_sec10 .act_section_inner h2::after {
  height: 103px;
  width: 385px;
  background: url(../img/act/toys/act_tpys_sec10_title.png) no-repeat center;
  background-size: contain;
  left: -87px;
  top: -8px;
}
#act_toys_sec11 .act_section_inner h2::after {
  height: 103px;
  width: 345px;
  background: url(../img/act/toys/act_tpys_sec11_title.png) no-repeat center;
  background-size: contain;
  left: -70px;
  top: 8px;
}
#act_toys_sec12 .act_section_inner h2::after {
  height: 116px;
  width: 386px;
  background: url(../img/act/toys/act_tpys_sec12_title.png) no-repeat center;
  background-size: contain;
  left: -78px;
  top: 10px;
}
#act .senior {}
#act_senior_sec01 .act_section_inner h2::after {
  height: 103px;
  width: 508px;
  background: url(../img/act/senior/act_senior_sec01_title.png) no-repeat center;
  background-size: contain;
  left: -90px;
  top: -10px;
}
#act_senior_sec02 .act_section_inner h2::after {
  height: 100px;
  width: 562px;
  background: url(../img/act/senior/act_senior_sec02_title.png) no-repeat center;
  background-size: contain;
  left: -83px;
  top: -10px;
}
#act_senior_sec03 .act_section_inner h2::after {
  height: 110px;
  width: 273px;
  background: url(../img/act/senior/act_senior_sec03_title.png) no-repeat center;
  background-size: contain;
  left: -70px;
  top: 23px;
}
#act_senior_sec04 .act_section_inner h2::after {
  height: 116px;
  width: 360px;
  background: url(../img/act/senior/act_senior_sec04_title.png) no-repeat center;
  background-size: contain;
}
#act .nature {}
#act_nature_sec01 {
  padding-top: 125px;
}
#act_nature_sec01 .act_section_inner h2::after {
  height: 101px;
  width: 398px;
  background: url(../img/act/nature/act_nature_sec01_title.png) no-repeat center;
  background-size: contain;
}
#act_nature_sec02 .act_section_inner h2::after {
  height: 101px;
  width: 291px;
  background: url(../img/act/nature/act_nature_sec02_title.png) no-repeat center;
  background-size: contain;
  left: -85px;
  top: -10px;
}
#act_nature_sec03 .act_section_inner h2::after {
  height: 104px;
  width: 272px;
  background: url(../img/act/nature/act_nature_sec03_title.png) no-repeat center;
  background-size: contain;
  left: -69px;
  top: 10px;
}
#act_nature_sec04 .act_section_inner h2::after {
  height: 103px;
  width: 335px;
  background: url(../img/act/nature/act_nature_sec04_title.png) no-repeat center;
  background-size: contain;
  left: -88px;
  top: -8px;
}
#act_nature_sec05 .act_section_inner h2::after {
  height: 101px;
  width: 270px;
  background: url(../img/act/nature/act_nature_sec05_title.png) no-repeat center;
  background-size: contain;
  left: -88px;
  top: -10px;
}
#act_nature_sec06 .act_section_inner h2::after {
  height: 104px;
  width: 461px;
  background: url(../img/act/nature/act_nature_sec06_title.png) no-repeat center;
  background-size: contain;
  left: -70px;
  top: 7px;
}
#act_nature_sec07 .act_section_inner h2::after {
  height: 101px;
  width: 270px;
  background: url(../img/act/nature/act_nature_sec07_title.png) no-repeat center;
  background-size: contain;
  left: -92px;
}
#act_nature_sec08 .act_section_inner h2::after {
  height: 110px;
  width: 271px;
  background: url(../img/act/nature/act_nature_sec08_title.png) no-repeat center;
  background-size: contain;
  left: -66px;
  top: 20px;
}
#act .culture {}
#act_culture_sec01 .act_section_inner h2::after {
  height: 100px;
  width: 398px;
  background: url(../img/act/culture/act_culture_sec01_title.png) no-repeat center;
  background-size: contain;
}
#act_culture_sec02 .act_section_inner h2::after {
  height: 100px;
  width: 339px;
  background: url(../img/act/culture/act_culture_sec02_title.png) no-repeat center;
  background-size: contain;
  left: -85px;
  top: -14px;
}
#act_culture_sec03 .act_section_inner h2::after {
  height: 105px;
  width: 422px;
  background: url(../img/act/culture/act_culture_sec03_title.png) no-repeat center;
  background-size: contain;
}
#act_culture_sec04 .act_section_inner h2::after {
  height: 103px;
  width: 335px;
  background: url(../img/act/culture/act_culture_sec04_title.png) no-repeat center;
  background-size: contain;
  left: -89px;
  top: -8px;
}
#act_culture_sec05 .act_section_inner h2::after {
  height: 100px;
  width: 269px;
  background: url(../img/act/culture/act_culture_sec05_title.png) no-repeat center;
  background-size: contain;
  left: -85px;
  top: -10px;
}
#act_culture_sec06 .act_section_inner h2::after {
  height: 105px;
  width: 225px;
  background: url(../img/act/culture/act_culture_sec06_title.png) no-repeat center;
  background-size: contain;
  left: -90px;
  top: 16px;
}
#act_culture_sec07 .act_section_inner h2::after {
  height: 100px;
  width: 398px;
  background: url(../img/act/culture/act_culture_sec07_title.png) no-repeat center;
  background-size: contain;
  left: -90px;
}
#act_culture_sec08 .act_section_inner h2::after {
  height: 109px;
  width: 199px;
  background: url(../img/act/culture/act_culture_sec08_title.png) no-repeat center;
  background-size: contain;
  left: -65px;
}
.page_title p.act_title {
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  letter-spacing: 0.5em;
  line-height: 25px;
  background: #f2ac39;
  border-radius: 12.5px;
  height: 25px;
  width: 275px;
  margin: 0 auto;
}
.act_section {
  padding-top: 105px;
  position: relative;
  z-index: 5;
}
.act_section:last-of-type {
  margin-bottom: 125px;
}
.act_section_inner {
  background: #fff;
  border: 1px solid #f2ac38;
  border-radius: 25px;
  box-sizing: border-box;
  padding: 120px 70px 95px;
  max-width: 760px;
  width: 100%;
  position: relative;
}
#act .act_section_inner {
  max-width: 900px;
}
.act_section_inner h2 {
  color: #fff;
  font-size: 22px;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0;
  position: absolute;
  top: -0.5em;
  left: 65px;
  z-index: 1;
}
.act_section_inner h2::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50px;
  margin: auto;
  z-index: -1;
}
.sec04 {
  height: 750px;
  position: relative;
  z-index: 0;
}
.sec04 + .act_section {
  margin-top: -680px;
}
.sec04::before {
  content: "";
  display: block;
  height: 5vw;
  width: 100%;
  background: url("../img/act/background04.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.sec04_wrap {
  height: 100%;
  overflow: hidden;
  position: relative;
  z-index: -1;
}
.sec04_wrap::before, .sec04_wrap::after {
  content: "";
  display: block;
  height: auto;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.sec04_wrap::before {
  background-image: url("../img/common/yellow_x.svg");
  background-size: 7px;
  opacity: 0.25;
  z-index: -1;
}
.sec04_wrap::after {
  background: -moz-linear-gradient(-58deg, rgba(250, 204, 34, 0.07) 0%, rgba(248, 54, 0, 0.07) 100%);
  background: -webkit-linear-gradient(-58deg, rgba(250, 204, 34, 0.07) 0%, rgba(248, 54, 0, 0.07) 100%);
  background: linear-gradient(135deg, rgba(250, 204, 34, 0.07) 0%, rgba(248, 54, 0, 0.07) 100%);
  z-index: -2;
}
.sec04_wrap {
  -webkit-mask-image: linear-gradient(to top, transparent 20%, black 50%);
  mask-image: linear-gradient(to top, transparent 20%, black 50%);
}
#act_art .act_section_inner h2::after {
  height: 78px;
  width: 248px;
  background: url("../img/act/act_art_title.png") no-repeat center;
  background-size: contain;
}
#act_toys .act_section_inner h2::after {
  height: 81px;
  width: 248px;
  background: url("../img/act/act_toys_title.png") no-repeat center;
  background-size: contain;
  left: -60px;
}
#act_senior .act_section_inner h2::after {
  height: 89px;
  width: 272px;
  background: url("../img/act/act_senior_title.png") no-repeat center;
  background-size: contain;
  left: -55px;
}
#act_nature .act_section_inner h2::after {
  height: 95px;
  width: 278px;
  background: url("../img/act/act_nature_title.png") no-repeat center;
  background-size: contain;
}
#act_culture .act_section_inner h2::after {
  height: 95px;
  width: 243px;
  background: url("../img/act/act_culture_title.png") no-repeat center;
  background-size: contain;
}
.act_section_title {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.12em;
  margin-bottom: 50px;
}
.act_section_txt {
  margin-top: -0.5em;
  max-width: calc(100% - 335px - 50px);
  width: 100%;
}
.act_section_txt p {
  font-size: 14px;
  line-height: 2.5;
}
.act_section_txt p.f-12 {
  font-size: 12px;
}
.act_section_txt p + p {
  margin-top: 2.5em;
}
.act_section_img {
  max-width: 335px;
  width: 100%;
  margin-left: 50px;
}
.act_section_detail {
  max-width: 176px;
  width: 100%;
  margin-top: 65px;
  margin-right: 20px;
  margin-left: auto;
}
.act_section_detail.act {
  max-width: 200px;
  margin-top: 30px;
}
.act_section_detail.act.toys {
  margin-top: 65px;
}
.act_section_detail.act.senior, .act_section_detail.act.toys {
  max-width: fit-content;
}
.act_section_detail a {
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
  padding-right: 1.2em;
  position: relative;
}
.act_section_detail.act a {
  font-size: 14px;
  letter-spacing: 0;
}
.act_section_detail.act.toys a {
  padding-right: 2em;
}
.act_section_detail a::before {
  content: "";
  display: block;
  height: 4px;
  width: calc(100% + 16px);
  background: url(../img/act/act_section_detail.svg) repeat-x;
  background-size: 15px 4px;
  position: absolute;
  left: -8px;
  bottom: -20px;
}
.act_section_detail a::after {
  content: "";
  display: inline-block;
  height: 10px;
  width: 12px;
  background: url(../img/common/btn_icon_arrow.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 2px;
  bottom: 0;
  right: 0;
  margin: auto;
}
.act_section_detail.act a::after {
  background: url("../img/act/art/icon_blank.svg") no-repeat;
  background-size: contain;
  height: 15px;
  width: 15px;
}
.act_section_detail.act a::before {
  /*  background: url(../img/act/act_section_detail.svg) repeat-x;
  background-size: 15px 4px;
  left: -8px;
  width: calc(100% + 16px);*/
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #act .art .page_mv {
    margin-bottom: 125px;
  }
  #act .art .page_mv .cont-1000 {
    margin-top: 25px;
  }
  #act .art .page_title_img {
    height: auto;
    margin-right: 10px;
    width: 70%;
    bottom: -70px;
  }
  #act .art .mv_shape1 {
    height: 42px;
    width: 113px;
    top: 42px;
    left: 0;
  }
  #act .art .mv_shape2 {
    height: 37px;
    width: 134px;
    bottom: -25px;
    right: unset;
    left: 33px;
  }
  #act .art .mv_shape1 img {
    -webkit-mask-image: unset;
    mask-image: unset;
    width: 100%;
    height: auto;
  }
  #act .art .page_title {
    max-width: 100%;
    margin-top: -10px;
  }
  #act .art .page_title h1 {
    margin-top: 1em;
  }
  .activity_intro_inner + .activity_intro_inner {
    margin-top: 100px;
  }
  .activity_intro_inner.w-70 {
    max-width: 100%;
  }
  .activity_intro_inner h2 {
    letter-spacing: 0.2em;
  }
  .activity_intro_inner h3 {
    letter-spacing: 0;
    line-height: 1.5;
  }
  .activity_intro_inner .btn {
    margin-top: 45px;
  }
  .activities_inner_img {
    padding: 0;
    margin: 60px -20px 95px;
    max-width: calc(100% + 40px);
    width: calc(100% + 40px);
  }
  .activity_btn .d-flex {
    display: none;
  }
  .activity_btn {
    margin-top: -1070px;
  }
  .activity_btn h3 {
    height: 26px;
    margin-bottom: 0;
  }
  .sec04 + .act_section {
    margin-top: -720px;
  }
  #act_art_sec01 {
    padding-top: 140px;
  }
  #act_toys_sec01 {
    padding-top: 130px;
  }
  .act_section_inner {
    padding: 70px 20px 85px;
  }
  .act_section .act_section_inner h2 {
    top: -0.5em;
    font-size: 20px;
    letter-spacing: 0.2em;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
  }
  .senior#act .act_section .act_section_inner h2 {
    letter-spacing: 0.25em;
    top: -0.8em;
  }
  .senior#act #act_senior_sec01.act_section .act_section_inner h2, .senior#act #act_senior_sec02.act_section .act_section_inner h2, .culture#act #act_culture_sec03.act_section .act_section_inner h2 {
    line-height: 1.5em;
    top: -1.5em;
  }
  .act_section .act_section_inner h2::after {
    left: 0 !important;
    right: 0;
    top: 0 !important;
  }
  .act_section_title {
    line-height: 2em;
    margin-bottom: 25px;
  }
  .act_section_inner .d-flex {
    display: block;
  }
  .act_section_txt {
    max-width: 100%;
  }
  .act_section_txt p {
    line-height: 2;
  }
  .act_section_txt p + p {
    margin-top: 1.2em;
  }
  .act_section_img {
    max-width: 100%;
    margin-top: 30px;
    margin-left: 0;
  }
  .act_section_detail {
    max-width: 195px;
    margin-top: 55px;
    margin-right: auto;
  }
  #act_culture_sec01 .act_section_inner h2::after {
    width: 100%;
  }
  #act_culture_sec02 .act_section_inner h2::after {
    width: 80%;
  }
  #act_culture_sec03 .act_section_inner h2::after {
    width: 100%;
    background: url(../img/act/culture/act_culture_sec03_title_sp.png) no-repeat center;
    background-size: contain;
  }
  #act_culture_sec04 .act_section_inner h2::after {
    width: 80%;
  }
  #act_culture_sec05 .act_section_inner h2::after {
    width: 70%;
  }
  #act_culture_sec06 .act_section_inner h2::after {
    width: 60%;
  }
  #act_culture_sec07 .act_section_inner h2::after {
    width: 100%;
  }
  #act_culture_sec08 .act_section_inner h2::after {
    width: 50%;
  }
  #act_nature_sec01 .act_section_inner h2::after {
    width: 100%;
  }
  #act_nature_sec02 .act_section_inner h2::after {
    width: 75%;
  }
  #act_nature_sec03 .act_section_inner h2::after {
    width: 75%;
  }
  #act_nature_sec04 .act_section_inner h2::after {
    width: 85%;
  }
  #act_nature_sec05 .act_section_inner h2::after {
    width: 65%;
  }
  #act_nature_sec06 .act_section_inner h2::after {
    width: 100%;
    background: url(../img/act/nature/act_nature_sec06_title_sp.png) no-repeat center;
    background-size: contain;
  }
  #act_nature_sec07 .act_section_inner h2::after {
    width: 70%;
  }
  #act_nature_sec08 .act_section_inner h2::after {
    width: 75%;
  }
  #act_toys_sec01 .act_section_inner h2::after {
    height: 80px;
    width: 251px;
  }
  #act_toys_sec02 .act_section_inner h2::after {
    height: 76px;
    width: 256px;
  }
  #act_toys_sec03 .act_section_inner h2::after {
    height: 81px;
    width: 278px;
  }
  #act_toys_sec04 .act_section_inner h2::after {
    height: 81px;
    width: 278px;
  }
  #act_toys_sec05 .act_section_inner h2::after {}
  #act_toys_sec06 .act_section_inner h2::after {
    height: 74px;
    width: 292px;
  }
  #act_toys_sec07 .act_section_inner h2::after {
    height: 75px;
    width: 300px;
  }
  #act_toys_sec08 .act_section_inner h2::after {
    height: 90px;
    width: 281px;
  }
  #act_toys_sec09 .act_section_inner h2::after {
    height: 74px;
    width: 276px;
  }
  #act_toys_sec10 .act_section_inner h2::after {
    height: 74px;
    width: 283px;
  }
  #act_toys_sec11 .act_section_inner h2::after {
    height: 81px;
    width: 269px;
  }
  #act_toys_sec12 .act_section_inner h2::after {
    height: 87px;
    width: 286px;
  }
  #act_art_sec01 .act_section_inner h2::after {
    width: 90%;
  }
  #act_art_sec02 .act_section_inner h2::after {
    width: 94%;
  }
  #act_art_sec03 .act_section_inner h2::after {
    width: 97%;
  }
  #act_art_sec04 .act_section_inner h2::after {
    width: 93%;
  }
  #act_art_sec05 .act_section_inner h2::after {
    width: 85%;
  }
  #act_senior_sec01 .act_section_inner h2::after {
    width: 90%;
    background: url(../img/act/senior/act_senior_sec01_title_sp.png) no-repeat;
    background-size: contain;
    top: 0px;
  }
  #act_senior_sec02 .act_section_inner h2::after {
    width: 100%;
    background: url(../img/act/senior/act_senior_sec02_title_sp.png) no-repeat;
    background-size: contain;
  }
  #act_senior_sec03 .act_section_inner h2 {}
  #act_senior_sec03 .act_section_inner h2::after {
    height: 270%;
    width: 77%;
    background: url(../img/act/senior/act_senior_sec03_title_sp.png) no-repeat;
    background-size: contain;
    top: 10px;
  }
  #act_senior_sec04 .act_section_inner h2::after {
    height: 320%;
    width: 100%;
    background: url(../img/act/senior/act_senior_sec04_title_sp.png) no-repeat;
    background-size: contain;
  }
  .act_section_detail.act.senior, .act_section_detail.act.toys {
    margin-top: 60px;
  }
  .act_section_detail.act a {
    line-height: 1.5;
  }
}
/***** about *****/
#about {}
#about .page_mv {
  margin-bottom: 155px;
}
#about .mv_shape1 {
  position: absolute;
  left: -74px;
  top: 117px;
  width: 289px;
  height: 88px;
}
#about .mv_shape2 {
  position: absolute;
  top: 5px;
  right: -65px;
  width: 356px;
  height: 143px;
}
#about .mv_shape1 img {
  -webkit-mask-image: url("../img/about/morphing_mv_shape1.svg");
  mask-image: url("../img/about/morphing_mv_shape1.svg");
  -webkit-mask-size: 270px;
  mask-size: 270px;
}
#about .mv_shape2 img {
  -webkit-mask-image: url("../img/about/morphing_mv_shape2.svg");
  mask-image: url("../img/about/morphing_mv_shape2.svg");
  -webkit-mask-size: 215px;
  mask-size: 215px;
}
#about .page_title_img {
  height: 430px;
  margin-right: -90px;
}
.page_title_wrap {
  margin-top: 60px;
}
.page_title p {
  font-size: 12px;
}
#about .page_title h1 {
  height: 32px;
  margin-top: 0.7em;
  margin-bottom: 0;
}
#about > .about_section_title .title_en {
  letter-spacing: 0.15em;
  margin-bottom: 1.5em;
}
#about .about_section_title .title_jp {
  height: 27px;
}
#about_sec02.about_section_title .title_jp {
  margin-top: 1em;
}
#about_sec03.about_section_title .title_jp {
  margin-top: 1em;
}
#about .activity_intro_inner h3 {
  font-size: 18px;
  letter-spacing: 0.13em;
  margin: 0 0 35px;
}
#about #about_sec03.about_section_title {
  margin-bottom: 90px;
}
#about .about_section_title {
  margin-bottom: 60px;
}
#about .activity_intro_inner p + p {
  margin-top: 1.5em;
}
.representative_wrap {
  display: flex;
  align-items: center;
  margin-top: 80px;
  margin-bottom: 130px;
}
.representative_img {
  max-width: 252px;
  width: 100%;
}
.representative_txt {
  margin-left: 56px;
  margin-top: -30px;
}
.representative_txt p.name_en {
  font-weight: bold;
  font-size: 10px;
  letter-spacing: 0.13em;
  line-height: 1;
  margin-bottom: 1.5em;
  margin-top: 0;
}
.representative_txt p.name_jp {
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.13em;
  line-height: 1;
  margin-bottom: 2em;
  margin-top: 0;
}
.representative_txt p {
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.13em;
  line-height: 1;
}
.representative_txt p + p {
  margin-top: 1.5em;
}
.profile_section {
  margin-top: 135px;
  margin-bottom: 105px;
}
.profile_table_wrap {
  background: #fff;
  border-radius: 25px;
  border: 1px solid #f2ac38;
  box-sizing: border-box;
  padding: 48px 0 72px;
  max-width: 900px;
  width: 100%;
  position: relative;
  z-index: 1;
}
.profile_table {
  max-width: 730px;
  width: 100%;
  margin: 0 auto;
}
.profile_table tr {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid #D3D3D3;
}
.profile_table tr:last-of-type {
  border-bottom: none;
}
.profile_table tr th {
  display: block;
  font-size: 15px;
  font-weight: bold;
  text-align: left;
  max-width: 24%;
  width: 100%;
}
.profile_table tr td {
  display: block;
  font-size: 14px;
  max-width: 76%;
  width: 100%;
}
.profile_table tr td p {
  font-size: 14px;
  line-height: 1.2;
}
.profile_table tr td p + p {
  margin-top: .8em;
}
.profile_table tr td span {
  font-size: 12px;
}
.profile_table tr td a::after {
  content: "";
  display: inline-block;
  background: url(../img/act/art/icon_blank.svg) no-repeat;
  background-size: contain;
  height: 12px;
  width: 12px;
  margin-left: 0.5em;
  margin-top: 0px;
}
.about_section_title {
  margin-top: -590px;
  margin-bottom: 100px;
}
#about_sec02.about_section_title {
  margin-top: -600px;
}
.page_mv + .about_section_title {
  margin-top: 0;
}
.about_section_title .title_en {
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: 0.45em;
  line-height: 1;
}
#about_sec01.about_section_title .title_en {
  letter-spacing: 0.15em;
  margin-bottom: 1.5em;
}
#about_sec02.about_section_title .title_en {
  letter-spacing: 0.45em;
}
.about_section_title .title_jp {
  height: 40px;
  margin: 0;
}
.about_section_title .title_jp img {
  height: 100%;
  width: auto;
}
.history_section {
  padding-top: 30px;
}
.history_section:last-of-type {
  margin-bottom: 110px;
}
.history_section.medium {
  margin-top: -30px;
  padding-top: 50px;
}
.history_section.medium + .history_section.small {
  /* margin-top: -10px;*/
}
.history_section.small {
  margin-top: -30px;
}
.history_section .cont-1000 {
  position: relative;
  padding-bottom: 65px;
}
.history_section.medium .cont-1000 {
  padding-bottom: 85px;
}
.history_section.small .cont-1000 {
  padding-bottom: 40px;
}
.history_section:last-of-type .cont-1000 {
  padding-bottom: 0;
}
.history_section .cont-1000::before {
  content: "";
  display: block;
  height: 100%;
  width: 1px;
  background: #bbb;
  position: absolute;
  top: 0;
  left: calc(40px + 50px);
}
.history_section:last-of-type .cont-1000::before {
  content: none;
}
.history_section_inner {
  padding-left: 165px;
  position: relative;
}
.history_section_inner::before {
  content: "";
  display: block;
  border: 3px solid #fff;
  box-sizing: border-box;
  height: 100px;
  width: 100px;
  background: #f2ac38;
  border-radius: 50px;
  position: absolute;
  top: -30px;
  left: 0;
}
.medium .history_section_inner::before {
  border: 2px solid #f2ac38;
  height: 75px;
  width: 75px;
  background: #fff;
  border-radius: 37.5px;
  top: -24.5px;
  left: 12.5px;
}
.small .history_section_inner::before {
  border: 2px solid #666;
  height: 25px;
  width: 65px;
  background: #fff;
  border-radius: 12.5px;
  top: 1.5px;
  left: 17.5px;
}
.history_year {
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.3em;
  line-height: 1;
  color: #fff;
  width: 100px;
  text-align: center;
  position: absolute;
  top: 10px;
  left: 0;
}
.medium .history_year {
  color: #f2ac38;
  font-size: 15px;
  top: 7px;
}
.small .history_year {
  color: #666;
  font-size: 12px;
  top: 9px;
}
.history_year::after {
  content: "";
  display: block;
  height: 2px;
  width: 30px;
  background: url(../img/about/year_after.svg) repeat-x left;
  background-size: 7px 2px;
  position: absolute;
  right: -50px;
  top: 8.5px;
}
.medium .history_year::after {
  top: 6.5px;
}
.small .history_year::after {
  top: 3.5px;
}
.history_section_inner h2 {
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.13em;
  line-height: 1.6;
  color: #f2ac38;
  margin-top: 0;
  margin-bottom: 1em;
}
.medium .history_section_inner h2 {
  font-size: 18px;
  margin-bottom: 0;
}
.history_section_txt p, .history_section_txt ul li {
  font-weight: normal;
  font-size: 14px;
  letter-spacing: 0.13em;
  line-height: 2;
}
.history_section_txt ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.history_section_txt ul li {}
.history_section_txt ul li::before {
  content: "・";
  display: inline-block;
}
.history_section_txt + .history_section_img {
  margin-top: 45px;
}
.history_section_img {
  max-width: 280px;
  width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #about .mv_shape1 {
    position: absolute;
    left: -20px;
    top: 41px;
    width: 136px;
    height: 40px;
  }
  #about .mv_shape2 {
    display: none;
  }
  #about .page_mv {
    margin-bottom: 135px;
  }
  #about .page_title_wrap {
    margin-top: 0;
  }
  #about .page_title_img {
    height: auto;
    width: 80%;
    margin-right: unset;
  }
  #about .about_section_title {
    margin-bottom: 55px;
  }
  #about_sec02.about_section_title {
    margin-top: -635px;
  }
  #about .about_section_title .title_jp {
    margin-top: 20px;
  }
  #about .activity_intro_inner h3 {
    line-height: 2;
  }
  .representative_wrap {
    display: block;
    max-width: 85%;
    margin: 50px auto 125px;
  }
  .representative_img {
    margin: 0 0 50px;
  }
  .representative_txt {
    margin: 0 auto;
  }
  .representative_txt p.name_en, .representative_txt p.name_jp {
    text-align: center;
  }
  .about_section_title {
    margin-top: -635px;
  }
  .profile_section {
    margin-top: 90px;
  }
  .profile_table_wrap {
    padding: 20px 0;
  }
  .profile_table tr {
    display: block;
    padding: 20px 0;
    margin: 0 20px;
  }
  .profile_table tr th, .profile_table tr td {
    line-height: 2;
    max-width: 100%;
  }
  .profile_table tr th {
    margin-bottom: 0.5em;
  }
  .about_section_title {
    margin-top: -648px;
  }
  .history_section {
    padding-top: 100px;
    margin-top: -50px;
  }
  .history_section.small + .history_section.large {
    padding-top: 140px;
  }
  .history_section.medium, .history_section.small {
    padding-top: 0;
    margin-top: 15px;
  }
  .history_section.small + .history_section.medium {
    padding-top: 30px;
  }
  .history_section.medium + .history_section.small {
    margin-top: 0;
  }
  .history_section.large + .history_section.small {
    margin-top: -30px;
  }
  .history_section:last-of-type {
    margin-top: 10px !important;
    margin-bottom: 0;
  }
  .history_section_inner {
    padding-top: 20px;
    padding-bottom: 50px;
    padding-left: 30px;
  }
  .medium .history_section_inner {
    padding-bottom: 0;
  }
  .small .history_section_inner {
    padding-bottom: 0;
  }
  .history_section_inner h2 {
    font-size: 22px;
    letter-spacing: 0.18em;
    margin-bottom: 0.7em;
  }
  .medium .history_section_inner h2 {
    font-size: 18px;
    letter-spacing: 0.05em;
  }
  #about #about_sec03.about_section_title {
    margin-top: -660px;
    margin-bottom: 140px;
  }
  .history_section_inner::before {
    border: 2px solid #fff;
    top: -100px;
    left: -55px;
  }
  .medium .history_section_inner::before {
    top: -70.5px;
    left: -42px;
  }
  .small .history_section_inner::before {
    top: -24px;
    left: -36.5px;
  }
  /*  .history_section .cont-1000 {
    padding-bottom: 110px;
  }*/
  .history_section .cont-1000 {
    padding-bottom: 40px;
  }
  .history_section.medium .cont-1000 {
    padding-bottom: 60px;
  }
  .history_section .cont-1000::before {
    left: 35px;
  }
  .history_year {
    top: -60px;
    left: -50px;
  }
  .medium .history_year {
    top: -41px;
  }
  .small .history_year {
    top: -17px;
  }
  .history_year::after {
    content: none;
  }
  .history_section_txt p, .history_section_txt ul li {
    line-height: 1.9;
    letter-spacing: 0;
  }
  .history_section_txt + .history_section_img {
    margin-top: 25px;
  }
  .history_section_img {
    max-width: 95%;
    margin-bottom: 0;
  }
}
/***** news *****/
#news .page_mv {
  margin-bottom: 215px;
}
#news .mv_shape1 {
  width: auto;
  height: 118px;
  bottom: 85px;
  left: -50px;
  z-index: 5;
}
#news .mv_shape2 {
  height: 106px;
  width: 262px;
  right: -142px;
  left: 0;
  margin: auto;
  top: 95px;
  z-index: 7;
}
#news .mv_shape1 img {
  -webkit-mask-image: url("../img/news/morphing_mv_shape1.svg");
  mask-image: url(../img/news/morphing_mv_shape1.svg);
  -webkit-mask-size: 220px;
  mask-size: 220px;
}
#news .mv_shape2 img {
  -webkit-mask-image: url("../img/news/morphing_mv_shape2.svg");
  mask-image: url(../img/news/morphing_mv_shape2.svg);
  -webkit-mask-size: 252px;
  mask-size: 252px;
}
#news .page_title_img {
  height: 430px;
  margin-top: 25px;
  margin-right: -125px;
}
#news .page_title_wrap {
  margin-top: 35px;
}
#news .page_title p {
  letter-spacing: 0.3em;
  margin-right: 35px;
}
#news .page_title h1 {
  height: 32px;
  margin-top: 0.7em;
}
.news_list {}
.news_list_wrap {
  padding: 40px 0;
  max-width: 850px;
  width: 100%;
  position: relative;
}
.news_list_wrap:first-of-type {
  padding-top: 0;
}
.news_list_wrap + .news_list_wrap {
  border-top: 1px solid #D3D3D3;
}
.news_list_wrap a {
  display: flex;
  align-items: center;
}
.news_list_img {
  border-radius: 15px;
  margin-right: 60px;
  max-width: 200px;
  width: 100%;
}
.news_list_txt {
  max-width: calc(100% - 200px - 60px);
  width: 100%;
  position: relative;
}
.news_list_txt::after {
  content: "";
  display: block;
  height: 50px;
  width: 50px;
  background: url("../img/news/news_icon.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 30px;
}
.news_list_txt_date {
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.13em;
  line-height: 1;
  margin: -8px 0 10px 0;
}
.news_list_txt_title {
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 2;
  margin: 0;
}
.navigation.pagination {
  margin-top: 45px;
  margin-bottom: 40px;
}
ul.page-numbers {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.page-numbers li .page-numbers {
  border: 2px solid #F2AC38;
  border-radius: 30px;
  box-sizing: border-box;
  background: #F2AC38;
  color: #fff;
  display: block;
  font-size: 18px;
  font-weight: bold;
  line-height: 56px;
  text-align: center;
  margin: 0 12.5px;
  height: 60px;
  width: 60px;
  position: relative;
}
ul.page-numbers li .current.page-numbers {
  background: #fff;
  color: #F2AC38;
}
ul.page-numbers li .prev.page-numbers {}
ul.page-numbers li .prev.page-numbers, ul.page-numbers li .next.page-numbers {
  border: none;
  background: #fff;
  width: 30px;
  margin: 0;
}
ul.page-numbers li .prev.page-numbers::after, ul.page-numbers li .next.page-numbers::after {
  content: "";
  display: block;
  height: 16.5px;
  width: 9.5px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
ul.page-numbers li .prev.page-numbers::after {
  background: url("../img/news/prev_arrow_s.svg") no-repeat;
  background-size: cover;
}
ul.page-numbers li .next.page-numbers::after {
  background: url("../img/news/next_arrow_s.svg") no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #news .page_mv {
    margin-bottom: 180px;
  }
  #news .mv_shape1 {
    width: auto;
    height: 39px;
    top: 40px;
    bottom: unset;
  }
  #news .mv_shape2 {
    height: 50px;
    right: 0px;
    top: 105px;
  }
  #news .page_title_wrap {
    margin-top: 0px;
  }
  #news .page_title p {
    margin-right: 0;
  }
  #news .page_title_img {
    height: auto;
    width: 73%;
    margin-top: 0;
    margin-right: 0px;
    bottom: -70px;
  }
  .news_list_wrap {
    padding: 60px 0 50px;
  }
  .news_list_wrap a {
    display: block;
  }
  .news_list_img {
    border-radius: 15px;
    margin-right: 0;
    margin-bottom: 55px;
    max-width: 100%;
    width: 100%;
  }
  .news_list_txt {
    max-width: 100%;
    padding-bottom: 110px;
  }
  .news_list_txt::before {
    content: "";
    display: block;
    height: 9px;
    width: 8px;
    background: url("../img/common/btn_icon_arrow.svg") no-repeat;
    background-size: cover;
    position: absolute;
    right: 30px;
    bottom: 27.5px;
  }
  .news_list_txt::after {
    content: "詳しくはこちら";
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: 2px solid #F2AC38;
    box-sizing: border-box;
    border-radius: 32.5px;
    font-size: 18px;
    letter-spacing: 0.25em;
    height: 65px;
    width: 100%;
    top: unset;
    left: 0;
  }
  .navigation.pagination {
    margin-top: 55px;
    margin-bottom: 0px;
  }
}
/***** news_detail *****/
#news .single .page_mv {
  margin-bottom: 140px;
}
#news .single .mv_shape1 {
  height: 145px;
  top: 100px;
  bottom: unset;
  left: -70px;
}
#news .single .mv_shape1 img {
  -webkit-mask-image: url("../img/news/morphing_mv_shape1_detail.svg");
  mask-image: url(../img/news/morphing_mv_shape1_detail.svg);
  -webkit-mask-size: 271px;
  mask-size: 271px;
}
#news .single .mv_shape2 {
  height: 106px;
  width: 210px;
  top: unset;
  bottom: 20px;
  right: -80px;
}
#news .single .mv_shape2 img {
  -webkit-mask-image: url("../img/news/morphing_mv_shape2_detail.svg");
  mask-image: url(../img/news/morphing_mv_shape2_detail.svg);
  -webkit-mask-size: 203px;
  mask-size: 203px;
}
.news_detail {}
.news_detail_wrap {
  max-width: 700px;
  width: 100%;
}
.news_detail_date {
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.13em;
  line-height: 1;
  color: #666;
  margin-bottom: 20px;
}
.news_detail_title {
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.13em;
  line-height: 1.5;
  margin: 0;
}
.news_detail_img {
  margin: 65px 0;
}
.news_detail_subtitle {
  border-bottom: 1px solid #000000;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.13em;
  line-height: 1.4;
  padding-bottom: 20px;
  margin: 100px 0 45px 0;
}
.news_detail_txt {
  font-size: 14px;
  letter-spacing: 0.13em;
  line-height: 2;
}
.news_detail_txt p {}
.news_detail_txt p + p {
  margin-top: 2em;
}
.news_detail_txt ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.news_detail_txt ul li {}
.news_detail_txt ul li::before {
  content: "・";
  display: inline-block;
}
.news_detail_pdf {
  margin-top: 45px;
  max-width: 188px;
  width: 100%;
}
.news_detail_pdf_img {
  margin: 20px 0;
}
.news_detail_pdf_btn {
  width: 100%;
  height: 35px;
  border-radius: 8px;
  background: #f2ac38;
}
.news_detail_pdf_btn a {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1em;
  width: 100%;
  height: 100%;
  position: relative;
}
.news_detail_pdf_btn a::after {
  content: "";
  display: block;
  height: 10px;
  width: 11.5px;
  background: url("../img/news/icon_pdf_btn.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 15px;
}
.news_detail_movie {
  max-width: 100%;
  width: 100%;
  height: 0;
  margin: 35px 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.news_detail_movie iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.news_detail_footer {
  margin: 140px 0 0;
}
.news_detail_footer h4 {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.13em;
  line-height: 1.4;
  margin: 0 0 30px;
}
.sns_container {
  max-width: 355px;
  width: 100%;
  margin-bottom: 115px;
}
.news_detail_bnr {
  max-width: 700px;
  width: 100%;
  margin-bottom: 70px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #news .single .page_mv {
    margin-bottom: 130px;
  }
  .news_detail_img {
    margin: 30px 0;
  }
  .news_detail_subtitle {
    margin: 55px 0 30px 0;
  }
  .news_detail_pdf_img {
    margin: 20px auto 50px;
    max-width: 75%;
  }
  .news_detail_pdf_btn a {
    font-size: 12px;
  }
  .news_detail_pdf {
    max-width: 85%;
    margin: 60px auto 75px;
  }
  .news_detail_movie {
    margin: 60px 0 0;
  }
  .news_detail_footer {
    margin: 110px 0 0;
  }
  .sns_container {
    margin-bottom: 85px;
  }
  .news_detail_bnr {
    margin-bottom: 0;
  }
}
/***** privacy-policy *****/
#privacy-policy {}
#privacy-policy .page_mv {
  margin-bottom: 185px;
}
#privacy-policy .mv_shape1 {
  height: 268px;
  width: 492px;
  top: 79px;
  right: -142px;
}
#privacy-policy .mv_shape1 img {
  -webkit-mask-image: url("../img/privacy-policy/morphing_mv_shape2.svg");
  mask-image: url(../img/privacy-policy/morphing_mv_shape2.svg);
  -webkit-mask-size: 492px;
  mask-size: 492px;
}
#privacy-policy .mv_shape2 {
  height: 86px;
  width: 212px;
  bottom: 85px;
  right: 33%;
  z-index: 5;
}
#privacy-policy .mv_shape2 img {
  -webkit-mask-image: url("../img/privacy-policy/morphing_mv_shape1.svg");
  mask-image: url(../img/privacy-policy/morphing_mv_shape1.svg);
  -webkit-mask-size: 212px;
  mask-size: 212px;
}
#privacy-policy .page_mv .cont-1000 {
  margin-top: 300px;
}
#privacy-policy .page_title_wrap {}
#privacy-policy .page_title_wrap::after {
  height: 512px;
  width: 781px;
  top: -190px;
  left: -245px;
  margin: auto;
}
#privacy-policy .page_title {
  max-width: 40%;
  margin-top: 12px;
  margin-left: -45px;
}
#privacy-policy .page_title p {
  font-size: 12px;
  margin-right: -0.5em;
  letter-spacing: 0.3em;
}
.privacy-policy_box {
  max-width: 700px;
  width: 100%;
  margin-bottom: 70px;
}
.privacy-policy_box:last-of-type {
  margin-bottom: 15px;
}
.privacy-policy_box h2 {
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.15em;
  padding-bottom: 25px;
  margin-bottom: 40px;
  border-bottom: 2px solid #000;
}
.privacy-policy_box p {
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 2;
}
.privacy-policy_box p + ul {
  margin-top: 30px;
}
.privacy-policy_box ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.privacy-policy_box ul li {
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 2;
  padding-left: 2em;
  margin-bottom: 2em;
}
.privacy-policy_box ul li:last-of-type {
  margin-bottom: 0;
}
.privacy-policy_box ul li::before {
  content: "";
  display: inline-block;
  height: 10px;
  width: 10px;
  border-radius: 5px;
  background: #A6A6A6;
  margin-left: -1.5em;
  margin-right: 1em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #privacy-policy .page_mv {
    margin-bottom: 85px;
  }
  #privacy-policy .page_mv .cont-1000 {
    margin-top: 175px;
  }
  #privacy-policy .page_title_wrap::after {
    height: 390px;
    width: 575px;
    top: -100px;
    left: -115px;
    right: 0;
    margin: auto;
  }
  #privacy-policy .page_title {
    max-width: 100%;
    margin-left: auto;
  }
  #privacy-policy .page_title p {
    margin-right: auto;
  }
  #privacy-policy .page_title h1 {
    height: 75px;
    width: 215px;
    margin: 28px auto 0;
  }
  #privacy-policy .mv_shape1 {
    height: 99px;
    width: 141px;
    top: 34px;
    right: -2px;
  }
  #privacy-policy .mv_shape2 {
    height: 36px;
    width: 77px;
    bottom: 40px;
    right: unset;
    left: -1px;
    z-index: 5;
  }
  #privacy-policy .mv_shape1 img, #privacy-policy .mv_shape2 img {
    -webkit-mask-image: unset;
    mask-image: unset;
  }
}
/*****  *****/
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 1023px) {
  /* 1023px以下で適用させたいcssを記述していく */
}
@media screen and (max-width: 520px) {
  .sp_menu_sub li {
    max-width: 45%;
  }
}