@charset "utf-8";

#container {
  position: relative;
}

/*-----------------------------------------------
    index
-----------------------------------------------*/
/* cmnlinkbtn */
.cmnlinkbtn {
  width: 260px;
  display: block;
  padding: 21px 0;
  text-decoration: none;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 1px;
  text-align: center;
  margin: 0 auto;
  background: #000000;
}
.cmnlinkbtn:hover {
  opacity: 0.8 !important;
}
.cmnlinkbtn span {
  position: relative;
  padding-right: 17px;
}
.cmnlinkbtn span::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 3.5px);
  width: 6px;
  height: 7px;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .cmnlinkbtn {
    width: 201px;
    display: block;
    padding: 22px 0;
    text-decoration: none;
    color: #fff;
    font-size: 13px;
    line-height: 16px;
    letter-spacing: 1px;
    text-align: center;
    margin: 0 auto;
    background: #000000;
  }
  .cmnlinkbtn span {
    padding-right: 0;
    width: 100%;
    display: block;
  }
  .cmnlinkbtn span::after {
    right: 20px;
  }
}

/* secHero */
.secHero {
  position: relative;
  height: 100vh;
  z-index: 100;
}
.secHero .boxScroll {
  width: 1px;
  height: 100px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
  background: rgba(255, 255, 255, 0.25);
}
.secHero .boxScroll::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, #1c1185 50%, rgba(255, 255, 255) 50%);
  background-position: 0 -120px;
  background-size: 100% 200%;
  animation: scrolldown 1.5s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}

/* Scroll Down 追加 */
.boxScroll p {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 14px;
  margin-bottom: 15px;
  line-height: 30px;
  color: #fff;
}
.en {
  font-family: "Crimson Text", serif;
}
/* Scroll Down 追加終わり */

@keyframes scrolldown {
  0% {
    background-position: 0 100%;
  }
  50% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -100%;
  }
}

.secHero .titbox {
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 100%;
  text-align: center;
}
.secHero .titbox .inner {
  display: inline-block;
  text-align: center;
  color: #fff;
}
.secHero .titbox .inner .tit {
  font-size: 130px;
  line-height: 1;
  letter-spacing: 2px;
  font-family: "Noto Serif JP", serif;
}
.secHero .titbox .inner .txt {
  font-size: 25px;
  line-height: 39px;
  letter-spacing: 0px;
  padding-top: 22px;
}
.secHero .swiper-slide {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  background: #ffffff;
}
.secHero .swiper-slide .img {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}
.secHero .swiper-slide .img img {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.secHero .swiper-slide-active .img,
.secHero .swiper-slide-duplicate-active .img,
.secHero .swiper-slide-prev .img {
  animation: zoomUp 11s linear 0s 1 normal both;
}
@keyframes zoomUp {
  0% {
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
  }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
}
@media only screen and (max-width: 1420px) {
  .secHero .titbox .inner {
    padding-bottom: 300px;
  }
}
@media only screen and (max-width: 767px) {
  .secHero {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100lvh;
  }
  .secHero .titbox {
    top: 0;
    left: 0;
    transform: translateY(0) translateX(0);
    -webkit-transform: translateY(0) translateX(0);
    height: 100vh;
    height: 100svh;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1005;
  }
  .secHero.fade-out {
    animation: heroFadeOut 0.5s ease-in-out forwards;
  }
  .secHero.fade-in {
    animation: heroFadeIn 0.5s ease-in-out forwards;
  }
  .secHero .swiper-slide {
    height: 100vh !important;
    height: 100lvh !important;
  }
  .secHero .swiper-slide .img {
    height: 100vh;
    height: 100lvh;
  }
  .secHero .titbox .inner {
    width: 310px;
    text-align: left;
    padding-bottom: 0;
  }
  .secHero .titbox .inner .tit {
    letter-spacing: 0.75px;
    font-size: 30px;
    text-align: center;
  }
  .secHero .titbox .inner .txt {
    font-size: 19px;
    text-align: center;
    line-height: 1.6363;
    padding-top: 5px;
  }
}
@keyframes heroFadeOut {
  0% {
    opacity: 1;
    z-index: 100;
  }
  99% {
    opacity: 0;
    z-index: 100;
  }
  100% {
    opacity: 0;
    z-index: -1;
  }
}
@keyframes heroFadeIn {
  0% {
    opacity: 0;
    z-index: -1;
  }
  99% {
    opacity: 1;
    z-index: 100;
  }
  100% {
    opacity: 1;
    z-index: 100;
  }
}

/* secConcept */
.secConcept {
  margin-top: 200px;
}
.secConcept .inner {
  max-width: 1100px;
  min-height: 721px;
  margin: 0 auto;
  position: relative;
}
.secConcept .inner .txtbox {
  text-align: left;
  margin-left: 50px;
}
.secConcept .inner .txtbox .point {
  font-size: 16px;
  line-height: 1;
}
.secConcept .inner .txtbox .sub {
  font-size: 50px;
  line-height: 1.5;
  margin-top: 30px;
}
.secConcept .inner .txtbox .sub span {
  position: relative;
}
.secConcept .inner .txtbox .sub span .img {
  display: block;
  position: absolute;
  top: 34px;
  left: 68px;
}
.secConcept .inner .txtbox .tit {
  font-size: 20px;
  line-height: 1.8;
  margin-top: 39px;
}
.secConcept .inner .txtbox .txt {
  font-size: 15px;
  line-height: 34px;
  padding-top: 31px;
}
.secConcept .inner .txtbox .underlink .link {
  display: block;
  position: relative;
  width: 180px;
  font-size: 15px;
  text-decoration: none;
  text-align: left;
  color: #000;
  margin-top: 34px;
  padding: 24px 0;
}
.secConcept .inner .txtbox .underlink .link span {
  position: relative;
  padding-right: 18px;
  transition: 1s all;
}
.secConcept .inner .txtbox .underlink .link span::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 3.5px);
  width: 6px;
  height: 7px;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
  background: #000;
}
/*.secConcept .inner .txtbox .underlink .link::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  left: 0;
  bottom: 0;
}*/
.secConcept .inner .txtbox .underlink .link:hover span {
  padding-left: 1em;
  transition: 1s all;
}
.secConcept .inner .txtbox .underlink .link:hover:after {
  display: none;
}
/*.secConcept .inner .txtbox .underlink .link::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
  height: 1px;
}*/
.secConcept .inner .txtbox .underlink .link:hover::before {
  transform: scaleX(1);
  transform-origin: left center;
}
.secConcept .inner .imgbox {
  position: absolute;
  top: 0;
  right: 0;
  transition-duration: 3.2s;
}
@media only screen and (max-width: 767px) {
  .secConcept {
    margin-top: 0;
    /*position: absolute;*/
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    padding-top: 121vh;
  }
  .secConcept.lazyloaded {
    background: url(../img/index/family_baby_smartphone.png) center top no-repeat;
    background-size: cover;
    background-attachment: fixed;
  }
  .is-iOS .secConcept.lazyloaded {
    background-attachment: scroll;
    background-size: 130%;
    background-position: center bottom;
    /*background-color: #59584c;*/
  }
  .secConcept .inner {
    width: 82%;
    min-height: 0;
    margin: 0 auto;
    position: relative;
    min-width: 305px;
    /*padding-top: 21vw;*/
    padding-bottom: 59vw;
  }
  .secConcept .inner .txtbox {
    display: block;
    text-align: left;
    color: #1c1185;
  }
  .secConcept .inner .txtbox .point {
    font-size: 12px;
    line-height: 1;
  }
  .secConcept .inner .txtbox .sub {
    font-size: 29px;
    line-height: 1.5;
    margin-top: 16px;
  }
  .secConcept .inner .txtbox .sub span {
    position: relative;
  }
  .secConcept .inner .txtbox .sub span .img {
    width: 172px;
    left: 40px;
    top: 21px;
  }
  .secConcept .inner .txtbox .tit {
    font-size: 18px;
    line-height: 1.8;
    margin-top: 45px;
  }
  .secConcept .inner .txtbox .txt {
    font-size: 12px;
    line-height: 2.08;
    padding-top: 11px;
  }
  .secConcept .inner .txtbox .underlink .link {
    width: 120px;
    font-size: 12px;
    text-decoration: none;
    text-align: center;
    color: #1c1185;
    margin-top: 32px;
    padding: 13px 0;
    border: 1px solid #1c1185;
  }
  .secConcept .inner .txtbox .underlink .link span {
    position: relative;
    padding-right: 8px;
  }
  .secConcept .inner .txtbox .underlink .link span::after {
    content: "";
    position: absolute;
    right: -5px;
    top: calc(50% - 3.5px);
    width: 6px;
    height: 7px;
    clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
    background: #1c1185;
  }

  .secConcept .inner .txtbox .underlink .link::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #1c1185;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .secConcept .inner .imgbox {
    display: none;
  }
}
/* secLineup */
.secLineup {
  margin-top: 80px;
}
.secLineup .inner {
  max-width: 1460px;
  width: calc(100% - 40px);
  margin: 0 auto;
  margin-top: 54px;
}
.secLineup .inner .list {
  display: flex;
}
.secLineup .inner .list li {
  width: 30.3035%;
  margin-right: 4.54475%;
}
.secLineup .inner .list li:last-child {
  margin-right: 0;
}
.secLineup .inner .list li .inlink {
  display: block;
  position: relative;
  text-align: center;
  text-decoration: none;
  color: #000;
  background: #f8f7f6;
  height: 41.667vw;
  min-height: 592px;
}
.secLineup .inner .list li .inlink .tit {
  font-size: 18px;
  padding-top: 22px;
  line-height: 1.5;
}
.secLineup .inner .list li .inlink .txt {
  font-size: 15px;
  line-height: 30px;
  color: #fff;
  display: none;
}
.secLineup .inner .list li .inlink .btn {
  position: absolute;
  width: 220px;
  padding: 18px 0;
  text-decoration: none;
  color: #000;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 1px;
  text-align: center;
  margin: 0 auto;
  background: #ffffff;
  display: none;
  bottom: 6.65vw;
  left: calc(50% - 110px);
}
.secLineup .inner .list li .inlink:hover .btn {
  display: block;
}
.secLineup .inner .list li .inlink .btn span {
  position: relative;
  padding-right: 17px;
}
.secLineup .inner .list li .inlink .btn span::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 3.5px);
  width: 6px;
  height: 7px;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
  background: #000;
}
.secLineup .inner .list li .inlink:hover {
  color: #fff;
}
.secLineup .inner .list li .inlink:hover .txt {
  display: inline-block;
  padding-top: 37px;
}
.secLineup.lazyloaded .inner .list li:nth-child(1) .inlink {
  background: url(../img/index/imgbackconcept01off.jpg) center bottom no-repeat;
  background-size: cover;
  transition: 0.5s;
}
.secLineup.lazyloaded .inner .list li:nth-child(2) .inlink {
  background: url(../img/index/imgbackconcept02off.jpg) center bottom no-repeat;
  background-size: cover;
  transition: 0.5s;
}
.secLineup.lazyloaded .inner .list li:nth-child(3) .inlink {
  background: url(../img/index/imgbackconcept03off.jpg) center bottom no-repeat;
  background-size: cover;
  transition: 0.5s;
}
.secLineup.lazyloaded .inner .list .inlink::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: opacity 0.5s ease-out;
  opacity: 0;
}
.secLineup.lazyloaded .inner .list .inlink:hover::before {
  opacity: 1;
}
.secLineup.lazyloaded .inner .list li:nth-child(1) .inlink::before {
  background: url(../img/index/imgbackconcept01.jpg) center bottom no-repeat;
  background-size: cover;
  transition: 0.5s;
}
.secLineup.lazyloaded .inner .list li:nth-child(2) .inlink::before {
  background: url(../img/index/imgbackconcept02.jpg) center bottom no-repeat;
  background-size: cover;
  transition: 0.5s;
}
.secLineup.lazyloaded .inner .list li:nth-child(3) .inlink::before {
  background: url(../img/index/imgbackconcept03.jpg) center bottom no-repeat;
  background-size: cover;
  transition: 0.5s;
}
.secLineup .inner .list li .inlink .inbox {
  padding-top: 6.85vw;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.secLineup .inner .list li .inlink .rightimg {
  position: relative;
  z-index: 2;
}
.secLineup .inner .list li .inlink .imgtit {
  display: inline-block;
}
.secLineup .inner .list li .inlink .imgtit .imgOn,
.secLineup .inner .list li .inlink:hover .imgtit .imgOff {
  display: none;
}
.secLineup .inner .list li .inlink:hover .imgtit .imgOn {
  display: inline-block;
}
@media only screen and (max-width: 1420px) {
  .secLineup .inner .list li .inlink .inbox {
    padding-top: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .secLineup {
    margin-top: 0vh;
    padding-top: 20px;
  }
  .secLineup .inner {
    width: 92%;
    min-width: 305px;
    margin: 0 auto;
    margin-top: 26px;
  }
  .secLineup .inner .list {
    display: block;
    width: 100%;
  }
  .secLineup .inner .list li {
    width: 100%;
    margin-bottom: 20px;
  }
  .secLineup .inner .list li .inlink {
    display: flex;
    position: relative;
    text-align: center;
    text-decoration: none;
    color: #000;
    background: #f8f7f6;
    height: auto;
    min-height: 0;
    padding: 10px 10px 10px 0px;
    align-items: center;
  }
  .secLineup .inner .list li .inlink .inbox {
    max-width: calc(100% - 130px);
    width: 55.93%;
    padding: 0px;
    position: static;
  }
  .secLineup .inner .list li .inlink .tit {
    font-size: 11px;
    padding-top: 4px;
    line-height: 1.5;
  }
  .secLineup .inner .list li .inlink:hover .txt,
  .secLineup .inner .list li .inlink .txt {
    display: none;
  }
  .secLineup .inner .list li .txt {
    font-size: 11px;
    line-height: 1.818;
    letter-spacing: -0.5px;
    text-align: center;
    padding-top: 11px;
  }
  .secLineup .inner .list li .inlink:hover .btn,
  .secLineup .inner .list li .inlink .btn {
    display: none;
  }
  .secLineup .inner .list li .inlink .btn span {
    position: relative;
    padding-right: 17px;
  }
  .secLineup .inner .list li .inlink .btn span::after {
    content: "";
    position: absolute;
    right: 0;
    top: calc(50% - 3.5px);
    width: 6px;
    height: 7px;
    clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
    background: #000;
  }
  .secLineup .inner .list li .inlink:hover {
    color: #000;
  }
  .secLineup.lazyloaded .inner .list li:nth-child(1) .inlink,
  .secLineup.lazyloaded .inner .list li:nth-child(2) .inlink,
  .secLineup.lazyloaded .inner .list li:nth-child(3) .inlink,
  .secLineup.lazyloaded .inner .list li:nth-child(1) .inlink:hover,
  .secLineup.lazyloaded .inner .list li:nth-child(2) .inlink:hover,
  .secLineup.lazyloaded .inner .list li:nth-child(3) .inlink:hover {
    background: #f8f7f6;
  }
  .secLineup .inner .list li .inlink .imgtit,
  .secLineup .inner .list li .inlink:hover .imgtit .imgOff {
    display: inline-block;
  }
  .secLineup .inner .list li .inlink .imgtit .imgOn,
  .secLineup .inner .list li .inlink:hover .imgtit .imgOn {
    display: none;
  }
  .secLineup .inner .list li .inlink .imgtit img {
    width: auto;
    height: 41px;
  }
  .secLineup .inner .list li .inlink .rightimg {
    min-width: 130px;
    width: 44.07%;
    position: relative;
  }
  .secLineup .inner .list li .inlink .imgbox {
    margin: 0 auto;
    width: 90%;
    margin-top: 23px;
  }
  .secLineup .inner .list li:last-child {
    margin-bottom: 0;
  }
  .secLineup .inner .list li .inlink .rightimg .morebtn {
    color: #fff;
    position: absolute;
    bottom: 18px;
    font-size: 10px;
    right: 11px;
  }
  .secLineup .inner .list li .inlink .rightimg .morebtn span {
    position: relative;
    padding-right: 12px;
    padding-bottom: 2px;
  }
  .secLineup .inner .list li .inlink .rightimg .morebtn span::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 1px;
    background: #fff;
  }
  .secLineup .inner .list li .inlink .rightimg .morebtn span::before {
    content: "";
    position: absolute;
    right: 0;
    top: calc(50% - 3.5px);
    width: 6px;
    height: 7px;
    clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
    background: #fff;
  }
}
/* secWorks */
.secWorks {
  margin-top: 184px;
}
.secWorks .inner {
  margin-top: 56px;
}
.secWorks .secCmnWorksList .worksList {
  margin-bottom: 75px;
}
@media only screen and (max-width: 767px) {
  .secWorks {
    margin-top: 61px;
  }
  .secWorks .inner {
    margin-top: 27px;
  }
  .secCmnWorksList .worksItem:nth-child(n + 5) {
    display: none;
  }
  .secWorks .secCmnWorksList .worksList {
    margin-bottom: 38px;
  }
}
/* secEvent */
.secEvent {
  margin-top: 190px;
  background: #f8f7f6;
  padding-bottom: 120px;
  padding-top: 108px;
}
.secEvent .secCmnEventList {
  max-width: 1650px;
  width: calc(100% - 40px);
  margin: 0 auto;
  margin-top: 55px;
  justify-content: center;
}
.secEvent .secCmnEventList .eventList {
  margin-bottom: 77px;
}
.secEvent .secCmnEventList .eventItem {
  width: 23.031%;
  margin-right: 2.6253%;
}
.secCmnEventList .eventItem:nth-child(3n) {
  margin-right: 2.6253%;
}
.secEvent .secCmnEventList .eventItem:nth-child(4n),
.secEvent .secCmnEventList .eventItem:last-child {
  margin-right: 0;
}
.secEvent .secCmnEventList .eventItem:nth-child(n + 4) {
  margin-top: 0;
}
.secEvent .secCmnEventList .eventItem:nth-child(n + 5) {
  display: none;
}
@media only screen and (max-width: 767px) {
  .secEvent {
    margin-top: 80px;
    padding-top: 38px;
    padding-bottom: 80px;
  }
  .secEvent .secCmnEventList {
    width: 92%;
    margin-top: 26px;
  }
  .secEvent .secCmnEventList .eventList {
    margin-bottom: 38px;
  }
  .secEvent .secCmnEventList .eventItem {
    width: 48.696%;
    margin-right: 2.608%;
  }
  .secCmnEventList .eventItem:nth-child(2n) {
    margin-right: 0;
  }
  .secEvent .secCmnEventList .eventItem:nth-child(n + 3) {
    display: none;
  }
}

/* secSimulation */
.secSimulation {
  margin-top: 186px;
}
.secSimulation .inner {
  margin-top: 45px;
}
.secSimulation .linkbox {
  display: flex;
  background: #45555e;
  text-decoration: none;
  color: #fff;
}
.secSimulation .linkbox .imgbox {
  width: 800px;
}
.secSimulation .linkbox .txtbox {
  width: calc(100% - 800px);
  display: flex;
  justify-content: center;
}
.secSimulation .linkbox .txtbox .inbox {
  display: inline-block;
  padding-top: 64px;
  padding-left: 15px;
}
.secSimulation .linkbox .txtbox .tit {
  font-size: 26px;
  line-height: 56px;
  color: #45555e;
}
.secSimulation .linkbox .txtbox .tit .backcolor {
  background: #ffffff;
  padding: 3px 15px 5px;
}
.secSimulation .linkbox .txtbox .tit .sup {
  font-size: 12px;
  vertical-align: top;
  position: relative;
  top: -8px;
}
.secSimulation .linkbox .txtbox .txt {
  font-size: 14px;
  line-height: 30px;
  font-weight: bold;
}
.secSimulation .linkbox .txtbox .txtImg {
  text-align: center;
  padding-right: 15px;
  margin-top: 19px;
}
.secSimulation .linkbox .txtbox .btnbox {
  width: 370px;
  text-align: center;
  border: 3px solid #fff;
  font-size: 15px;
  line-height: 30px;
  letter-spacing: 0.75px;
  padding: 14px 0;
  margin: 30px auto 0 55px;
}
.secSimulation .linkbox .txtbox .btnbox span {
  position: relative;
  padding-right: 15px;
}
.secSimulation .linkbox .txtbox .btnbox span::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 3.5px);
  width: 6px;
  height: 7px;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .secSimulation {
    margin-top: 67px;
  }
  .secSimulation .inner {
    margin-top: 16px;
  }
  .secSimulation .linkbox {
    display: block;
  }
  .secSimulation .linkbox .imgbox {
    width: 100%;
  }
  .secSimulation .linkbox .txtbox {
    width: 100%;
    display: block;
    position: relative;
  }
  .secSimulation .linkbox .txtbox .inbox {
    display: block;
    padding: 70px 20px 30px;
  }
  .secSimulation .linkbox .txtbox .tit {
    position: absolute;
    font-size: 15px;
    top: calc(0% - 20px);
    line-height: 2.45;
    letter-spacing: 1px;
  }
  .secSimulation .linkbox .txtbox .tit .backcolor {
    padding: 3px 10px 5px;
  }
  .secSimulation .linkbox .txtbox .tit .sup {
    font-size: 10px;
    top: -1px;
  }
  .secSimulation .linkbox .txtbox .txt {
    font-size: 10px;
    text-align: center;
    padding-top: 4px;
  }
  .secSimulation .linkbox .txtbox .txtImg {
    max-width: 275px;
    margin: 0 auto;
    padding-right: 0;
  }
  .secSimulation .linkbox .txtbox .btnbox {
    width: 245px;
    border: 2px solid #fff;
    font-size: 13px;
    letter-spacing: 0.75px;
    letter-spacing: 0.25px;
    padding: 8px 0;
    margin: 11px auto 0;
  }
  .secSimulation .linkbox .txtbox .btnbox span {
    padding-right: 9px;
  }
  .secSimulation .linkbox .txtbox .btnbox span::after {
    content: "";
    position: absolute;
    right: 0;
    top: calc(50% - 3.5px);
    width: 6px;
    height: 7px;
    clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
    background: #fff;
  }
}
@media only screen and (max-width: 370px) {
  .secSimulation .linkbox .txtbox .inbox {
    padding: 50px 20px 30px;
  }
  .secSimulation .linkbox .txtbox .tit {
    font-size: 12px;
  }
}

/* secModelhouse */
.secModelhouse {
  margin-top: 151px;
  margin-bottom: 94px;
}
.secModelhouse .inner {
  max-width: 1100px;
  margin: 0 auto;
}
.secModelhouse .inner .modellink {
  position: relative;
  display: block;
  background: #f8f7f6;
  text-decoration: none;
  color: #1f1f1f;
}
.secModelhouse .inner .modellink:hover {
  opacity: 1;
}
.secModelhouse .inner .modellink .itembox {
  position: absolute;
  top: -30px;
  left: 53px;
  z-index: 2;
}
.secModelhouse .inner .modellink .modelbox {
  display: flex;
}
.secModelhouse .inner .modellink .modelbox .imgbox {
  width: 230px;
  aspect-ratio: 230 / 300;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.secModelhouse .inner .modellink .modelbox .imgbox img {
  transition: 0.3s;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.secModelhouse .inner .modellink:hover .modelbox .imgbox img {
  transform: scale(1.05);
}
.secModelhouse .inner .modellink .modelbox .txtbox {
  width: calc(100% - 230px);
  padding-left: 56px;
  padding-top: 47px;
  transition: opacity 0.2s ease-out;
}
.secModelhouse .inner .modellink:hover .modelbox .txtbox {
  opacity: 0.6;
}
.secModelhouse .inner .modellink .modelbox .txtbox .content {
  font-size: 13px;
  line-height: 1.5;
  color: #868273;
}
.secModelhouse .inner .modellink .modelbox .txtbox .tit {
  font-size: 18px;
  line-height: 30px;
  font-weight: bold;
  padding-top: 12px;
}
.secModelhouse .inner .modellink .modelbox .txtbox .adress {
  font-size: 14px;
  line-height: 26px;
  padding-top: 8px;
}
.secModelhouse .inner .modellink .modelbox .txtbox .btnbox {
  margin-left: 4px;
  width: 120px;
  position: relative;
  text-align: left;
  margin-top: 31px;
  padding-bottom: 15px;
}
.secModelhouse .inner .modellink .modelbox .txtbox .btnbox::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #000;
}
.secModelhouse .inner .modellink:hover .modelbox .txtbox .btnbox::after {
  display: none;
}
.secModelhouse .inner .modellink .modelbox .txtbox .btnbox::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}
.secModelhouse .inner .modellink:hover .modelbox .txtbox .btnbox::before {
  transform: scaleX(1);
  transform-origin: left center;
}
.secModelhouse .inner .modellink .modelbox .txtbox .btnbox span {
  position: relative;
  padding-right: 19px;
  transition: 1s all;
}
.secModelhouse .inner .modellink:hover .modelbox .txtbox .btnbox span {
  padding-left: 1em;
  transition: 1s all;
}
.secModelhouse .inner .modellink .modelbox .txtbox .btnbox span::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 3.5px);
  width: 6px;
  height: 7px;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 30% 50%);
  background: #000000;
}
@media only screen and (max-width: 767px) {
  .secModelhouse {
    margin-top: 0;
    margin-bottom: 64px;
  }
  .secModelhouse .inner {
    width: 100%;
    background: #f8f7f6;
    padding-bottom: 50px;
  }
  .secModelhouse .inner .modellink {
    width: 78.66%;
    min-width: 295px;
    padding: 0;
    padding-top: 40px;
    position: relative;
    display: block;
    background: #868273;
    text-decoration: none;
    color: #1f1f1f;
  }
  .secModelhouse .inner .modellink .itembox {
    width: 121px;
    top: calc(0% - 14px);
    left: 11px;
  }
  .secModelhouse .inner .modellink .modelbox {
    display: block;
    background: #fff;
    padding: 0px 25px 25px;
  }
  .secModelhouse .inner .modellink .modelbox .imgbox {
    width: 100%;
    position: relative;
    top: -15px;
    aspect-ratio: 490 / 240;
  }
  .secModelhouse .inner .modellink .modelbox .txtbox {
    width: 100%;
    padding: 0;
    padding-top: 3px;
  }
  .secModelhouse .inner .modellink .modelbox .txtbox .content {
    font-size: 11px;
    line-height: 1.5;
    color: #868273;
  }
  .secModelhouse .inner .modellink .modelbox .txtbox .tit {
    font-size: 13px;
    white-space: nowrap;
    line-height: 1.46;
    font-weight: bold;
    padding-top: 7px;
  }
  .secModelhouse .inner .modellink .modelbox .txtbox .adress {
    font-size: 11px;
    line-height: 1.63;
    padding-top: 4px;
  }
  .secModelhouse .inner .modellink .modelbox .txtbox .btnbox {
    margin-left: 4px;
    width: 80px;
    position: relative;
    text-align: left;
    font-size: 10px;
    margin-top: 23px;
    padding-bottom: 11px;
    margin-left: auto;
  }
  .secModelhouse .inner .modellink .modelbox .txtbox .btnbox::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #000;
  }
  .secModelhouse .inner .modellink .modelbox .txtbox .btnbox span {
    position: relative;
    padding-right: 19px;
  }
  .secModelhouse .inner .modellink .modelbox .txtbox .btnbox span::after {
    content: "";
    top: calc(50% - 1px);
    width: 5px;
    height: 6px;
  }
  .secModelhouse .inner .modellink:hover .modelbox .txtbox .btnbox span {
    padding-left: 0;
  }
}
.secModelhouse .underbox {
  max-width: 1100px;
  margin: 0 auto;
  margin-top: 95px;
}
.secModelhouse .secTelbox {
  text-align: center;
}
.secModelhouse .secTelbox .tit {
  font-size: 13px;
  line-height: 1.5;
  font-weight: bold;
}
.secModelhouse .secTelbox .num {
  display: inline-block;
  font-size: 36px;
  line-height: 1;
  letter-spacing: 2px;
  font-weight: bold;
  text-decoration: none;
  margin-top: 10px;
  color: #000;
}
.secModelhouse .secTelbox .time {
  font-size: 13px;
  line-height: 1.5;
  font-weight: bold;
  padding-top: 13px;
  letter-spacing: 1px;
}
.secModelhouse .underbox .txtbox {
  text-align: left;
  margin-top: 46px;
}
.secModelhouse .underbox .txtbox p {
  font-size: 12px;
  line-height: 1.8;
}
.secModelhouse .underbox p + p {
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .secModelhouse .underbox {
    margin-top: 66px;
    width: 100%;
  }
  .secModelhouse .secTelbox {
    text-align: center;
  }
  .secModelhouse .secTelbox .tit {
    font-size: 12px;
  }
  .secModelhouse .secTelbox .num {
    font-size: 26px;
    letter-spacing: 0px;
    margin-top: 9px;
  }
  .secModelhouse .secTelbox .time {
    font-size: 11px;
    padding-top: 8px;
    letter-spacing: 0px;
  }
  .secModelhouse .underbox .txtbox {
    text-align: left;
    width: 84.8%;
    margin: 20px auto 0;
  }
  .secModelhouse .underbox .txtbox p {
    font-size: 10px;
    line-height: 1.6;
  }
  .secModelhouse .underbox p + p {
    margin-top: 8px;
  }
}

/***追従するトップへ戻るボタン***/
#page-top {
  display: none;
  position: fixed;
  right: 25px;
  bottom: 25px;
  height: 50px;
  text-decoration: none;
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 90%;
  line-height: 1.5rem;
  color: #191d39;
  padding: 0 0 0 35px;
  border-top: solid 1px;
  z-index: 11111;
}
#page-top::before {
  content: "";
  display: none;
  position: absolute;
  top: -1px;
  left: 0px;
  width: 15px;
  border-top: solid 1px #191d39;
  transform: rotate(35deg);
  transform-origin: left top;
  z-index: 11111;
}
#page-top.scroll {
  display: block;
  position: fixed;
  right: 25px;
  bottom: 25px;
  height: 50px;
  text-decoration: none;
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 90%;
  line-height: 1.5rem;
  color: #191d39;
  padding: 0 0 0 35px;
  border-top: solid 1px;
  z-index: 11111;
}
#page-top.scroll::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0px;
  width: 15px;
  border-top: solid 1px #191d39;
  transform: rotate(35deg);
  transform-origin: left top;
  z-index: 11111;
}
@media only screen and (max-width: 767px) {
  #page-top.scroll {
    right: 15px;
    bottom: 59px;
  }
}
/***トップへ戻るボタンここまで***/

/*追加_正方形グリッド*/
.container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 1rem;
}

.card1 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime1 9s ease infinite;*/
}

/*@keyframes image_anime1 {
  0% {
    background-image: url(../images/Firework_01.jpg);
  }
  25% {
    background-image: url(../images/magazine_01.jpg);
  }
  50% {
    background-image: url(../images/green_01.jpg);
  }
  75% {
    background-image: url(../images/autumn_01.jpg);
  }
  100% {
    background-image: url(../images/Firework_01.jpg);
  }
}*/

/*@keyframes image_anime1 {
  0% {
    background-image: url(../images/Firework_01.jpg);
  }
  5% {
    background-image: url(../images/magazine_01.jpg);
  }
  50% {
    background-image: url(../images/magazine_01.jpg);
  }
  55% {
    background-image: url(../images/Firework_01.jpg);
  }
  100% {
    background-image: url(../images/Firework_01.jpg);
  }
}*/

.card2 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime2 9s ease infinite;*/
}

/*@keyframes image_anime2 {
  0% {
    background-image: url(../images/Firework_02.jpg);
  }
  25% {
    background-image: url(../images/magazine_02.jpg);
  }
  50% {
    background-image: url(../images/green_02.jpg);
  }
  75% {
    background-image: url(../images/autumn_02.jpg);
  }
  100% {
    background-image: url(../images/Firework_02.jpg);
  }
}*/

/*@keyframes image_anime2 {
  0% {
    background-image: url(../images/Firework_02.jpg);
  }
  10% {
    background-image: url(../images/magazine_02.jpg);
  }
  50% {
    background-image: url(../images/magazine_02.jpg);
  }
  60% {
    background-image: url(../images/Firework_02.jpg);
  }
  100% {
    background-image: url(../images/Firework_02.jpg);
  }
}*/

.card3 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime3 9s ease infinite;*/
}

/*@keyframes image_anime3 {
  0% {
    background-image: url(../images/Firework_03.jpg);
  }
  25% {
    background-image: url(../images/magazine_03.jpg);
  }
  50% {
    background-image: url(../images/green_03.jpg);
  }
  75% {
    background-image: url(../images/autumn_03.jpg);
  }
  100% {
    background-image: url(../images/Firework_03.jpg);
  }
}*/

/*@keyframes image_anime3 {
  0% {
    background-image: url(../images/Firework_03.jpg);
  }
  15% {
    background-image: url(../images/magazine_03.jpg);
  }
  50% {
    background-image: url(../images/magazine_03.jpg);
  }
  65% {
    background-image: url(../images/Firework_03.jpg);
  }
  100% {
    background-image: url(../images/Firework_03.jpg);
  }
}*/

.card4 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime4 9s ease infinite;*/
}

/*@keyframes image_anime4 {
  0% {
    background-image: url(../images/Firework_04.jpg);
  }
  25% {
    background-image: url(../images/magazine_04.jpg);
  }
  50% {
    background-image: url(../images/green_04.jpg);
  }
  75% {
    background-image: url(../images/autumn_04.jpg);
  }
  100% {
    background-image: url(../images/Firework_04.jpg);
  }
}*/

/*@keyframes image_anime4 {
  0% {
    background-image: url(../images/Firework_04.jpg);
  }
  20% {
    background-image: url(../images/magazine_04.jpg);
  }
  50% {
    background-image: url(../images/magazine_04.jpg);
  }
  70% {
    background-image: url(../images/Firework_04.jpg);
  }
  100% {
    background-image: url(../images/Firework_04.jpg);
  }
}*/

.card5 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime5 9s ease infinite;*/
}

/*@keyframes image_anime5 {
  0% {
    background-image: url(../images/Firework_05.jpg);
  }
  25% {
    background-image: url(../images/magazine_05.jpg);
  }
  50% {
    background-image: url(../images/green_05.jpg);
  }
  75% {
    background-image: url(../images/autumn_05.jpg);
  }
  100% {
    background-image: url(../images/Firework_05.jpg);
  }
}*/

/*@keyframes image_anime5 {
  0% {
    background-image: url(../images/Firework_05.jpg);
  }
  25% {
    background-image: url(../images/magazine_05.jpg);
  }
  50% {
    background-image: url(../images/magazine_05.jpg);
  }
  75% {
    background-image: url(../images/Firework_05.jpg);
  }
  100% {
    background-image: url(../images/Firework_05.jpg);
  }
}*/

.card6 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime6 9s ease infinite;*/
}

/*@keyframes image_anime6 {
  0% {
    background-image: url(../images/Firework_06.jpg);
  }
  25% {
    background-image: url(../images/magazine_06.jpg);
  }
  50% {
    background-image: url(../images/green_06.jpg);
  }
  75% {
    background-image: url(../images/autumn_06.jpg);
  }
  100% {
    background-image: url(../images/Firework_06.jpg);
  }
}*/

/*@keyframes image_anime6 {
  0% {
    background-image: url(../images/Firework_06.jpg);
  }
  30% {
    background-image: url(../images/magazine_06.jpg);
  }
  50% {
    background-image: url(../images/magazine_06.jpg);
  }
  80% {
    background-image: url(../images/Firework_06.jpg);
  }
  100% {
    background-image: url(../images/Firework_06.jpg);
  }
}*/

.card7 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime7 9s ease infinite;*/
}

/*@keyframes image_anime7 {
  0% {
    background-image: url(../images/Firework_07.jpg);
  }
  25% {
    background-image: url(../images/magazine_07.jpg);
  }
  50% {
    background-image: url(../images/green_07.jpg);
  }
  75% {
    background-image: url(../images/autumn_07.jpg);
  }
  100% {
    background-image: url(../images/Firework_07.jpg);
  }
}*/

/*@keyframes image_anime7 {
  0% {
    background-image: url(../images/Firework_07.jpg);
  }
  35% {
    background-image: url(../images/magazine_07.jpg);
  }
  50% {
    background-image: url(../images/magazine_07.jpg);
  }
  85% {
    background-image: url(../images/Firework_07.jpg);
  }
  100% {
    background-image: url(../images/Firework_07.jpg);
  }
}*/

.card8 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime8 9s ease infinite;*/
}

/*@keyframes image_anime8 {
  0% {
    background-image: url(../images/Firework_08.jpg);
  }
  25% {
    background-image: url(../images/magazine_08.jpg);
  }
  50% {
    background-image: url(../images/green_08.jpg);
  }
  75% {
    background-image: url(../images/autumn_08.jpg);
  }
  100% {
    background-image: url(../images/Firework_08.jpg);
  }
}*/

/*@keyframes image_anime8 {
  0% {
    background-image: url(../images/Firework_08.jpg);
  }
  40% {
    background-image: url(../images/magazine_08.jpg);
  }
  50% {
    background-image: url(../images/magazine_08.jpg);
  }
  90% {
    background-image: url(../images/Firework_08.jpg);
  }
  100% {
    background-image: url(../images/Firework_08.jpg);
  }
}*/

.card9 {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime9 9s ease infinite;*/
}

/*@keyframes image_anime9 {
  0% {
    background-image: url(../images/Firework_09.jpg);
  }
  25% {
    background-image: url(../images/magazine_09.jpg);
  }
  50% {
    background-image: url(../images/green_09.jpg);
  }
  75% {
    background-image: url(../images/autumn_09.jpg);
  }
  100% {
    background-image: url(../images/Firework_09.jpg);
  }
}*/

/*@keyframes image_anime9 {
  0% {
    background-image: url(../images/Firework_09.jpg);
  }
  45% {
    background-image: url(../images/magazine_09.jpg);
  }
  50% {
    background-image: url(../images/magazine_09.jpg);
  }
  95% {
    background-image: url(../images/Firework_09.jpg);
  }
  100% {
    background-image: url(../images/Firework_09.jpg);
  }
}*/

.card {
  height: 0;
  padding-bottom: 100%;
  position: relative;
}

.card__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 以下あしらいの実装 */
* {
  box-sizing: border-box;
}

#square {
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 10%;
  box-sizing: content-box;
  padding-left: 1rem;
  padding-right: 1rem;
}

.square {
  text-align: center;
  position: relative;
  padding-top: 7vw;
  margin-bottom: 2vw;
  line-height: 1.4;
  font-weight: bold;
  font-size: 25px;
  color: var(--title-color, inherit);
}

.requirements {
  width: 100%;
  border-bottom: 1px solid #eee;
}

section > * + * {
  margin-top: 2rem;
}

table {
  line-height: 1.5;
  padding: 1rem 0;
}

tr > *:nth-child(1) {
  text-align: left;
}

tr > *:nth-child(2) {
  text-align: center;
}

.card1,
.card2,
.card3,
.card4,
.card5,
.card6,
.card7,
.card8,
.card9 {
  box-shadow: 0 0.2px 0.3px rgba(0, 0, 0, 0.017),
    0 0.4px 0.7px rgba(0, 0, 0, 0.024), 0 0.6px 1.2px rgba(0, 0, 0, 0.03),
    0 1px 1.9px rgba(0, 0, 0, 0.035), 0 1.5px 2.9px rgba(0, 0, 0, 0.04),
    0 2.4px 4.5px rgba(0, 0, 0, 0.046), 0 4px 7.5px rgba(0, 0, 0, 0.053),
    0 8px 15px rgba(0, 0, 0, 0.07);
  border-radius: 4px;
}

.card__content {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: bold;
  color: #aaa;
  /*background-color: #fff;
  background-image: url(../images/Firework_01.jpg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;*/
  padding: 2rem;
}

#square {
  display: block;
}
#square_sp {
  display: none;
}
.square_sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  #square {
    display: none;
  }
  #square_sp {
    display: block;
    padding-top: 10%;
    padding-bottom: 10%;
    background-color: #4ffafdbf;
  }
  .square_sp {
    display: block;
    padding-bottom: 8vw;
  }
  .container_sp {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
    gap: 1rem;
  }

  .card1_sp {
    height: 0;
    padding-bottom: 100%;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*animation: image_anime1 5s ease infinite;*/
  }

  /*@keyframes image_anime1 {
    0% {
      background-image: url(../images_sp/square_SunFlowers.jpg);
    }
    50% {
      background-image: url(../images_sp/square_チューリップ.jpg);
    }
    100% {
      background-image: url(../images_sp/square_SunFlowers.jpg);
    }
  }*/

  .card2_sp {
    height: 0;
    padding-bottom: 100%;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*animation: image_anime2 5s ease infinite;*/
  }

  /*@keyframes image_anime2 {
    0% {
      background-image: url(../images_sp/square_cake.jpg);
    }
    50% {
      background-image: url(../images_sp/square_drink.jpg);
    }
    100% {
      background-image: url(../images_sp/square_cake.jpg);
    }
  }*/

  .card3_sp {
    height: 0;
    padding-bottom: 100%;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*animation: image_anime3 5s ease infinite;*/
  }

  /*@keyframes image_anime3 {
    0% {
      background-image: url(../images_sp/square_湖.jpg);
    }
    50% {
      background-image: url(../images_sp/square_mountain.jpg);
    }
    100% {
      background-image: url(../images_sp/square_湖.jpg);
    }
  }*/

  .card4_sp {
    height: 0;
    padding-bottom: 100%;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*animation: image_anime4 5s ease infinite;*/
  }

  /*@keyframes image_anime4 {
    0% {
      background-image: url(../images_sp/square_cat.jpg);
    }
    50% {
      background-image: url(../images_sp/square_night_cat.jpg);
    }
    100% {
      background-image: url(../images_sp/square_cat.jpg);
    }
  }*/

  .card5_sp {
    height: 0;
    padding-bottom: 100%;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*animation: image_anime5 5s ease infinite;*/
  }

  /*@keyframes image_anime5 {
    0% {
      background-image: url(../images_sp/square_grass.jpg);
    }
    50% {
      background-image: url(../images_sp/square_雪桜.jpg);
    }
    100% {
      background-image: url(../images_sp/square_grass.jpg);
    }
  }*/

  .card6_sp {
    height: 0;
    padding-bottom: 100%;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*animation: image_anime6 5s ease infinite;*/
  }

  /*@keyframes image_anime6 {
    0% {
      background-image: url(../images_sp/square_strawberry.jpg);
    }
    50% {
      background-image: url(../images_sp/square_wine.jpg);
    }
    100% {
      background-image: url(../images_sp/square_strawberry.jpg);
    }
  }*/

  .card7_sp {
    height: 0;
    padding-bottom: 100%;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*animation: image_anime7 5s ease infinite;*/
  }

  /*@keyframes image_anime7 {
    0% {
      background-image: url(../images_sp/square_night.jpg);
    }
    50% {
      background-image: url(../images_sp/square_tokyo.jpg);
    }
    100% {
      background-image: url(../images_sp/square_night.jpg);
    }*/
}

.card8_sp {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime8 5s ease infinite;*/
}

/*@keyframes image_anime8 {
    0% {
      background-image: url(../images_sp/square_eyes.jpeg);
    }
    50% {
      background-image: url(../images_sp/square_birds.jpg);
    }
    100% {
      background-image: url(../images_sp/square_eyes.jpeg);
    }
  }*/

.card9_sp {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*animation: image_anime9 5s ease infinite;*/
}

/*@keyframes image_anime9 {
    0% {
      background-image: url(../images_sp/square_nature.jpg);
    }
    50% {
      background-image: url(../images_sp/square_star.jpg);
    }
    100% {
      background-image: url(../images_sp/square_nature.jpg);
    }
  }*/

.card_sp {
  height: 0;
  padding-bottom: 100%;
  position: relative;
}

.card__content_sp {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 以下あしらいの実装 */
* {
  box-sizing: border-box;
}

#squar_sp {
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 10%;
  box-sizing: content-box;
  padding-left: 1rem;
  padding-right: 1rem;
}

.square_sp {
  text-align: center;
  position: relative;
  margin-bottom: 2vw;
  line-height: 1.4;
  font-weight: bold;
  font-size: 25px;
  color: var(--title-color, inherit);
}

.requirements {
  width: 100%;
  border-bottom: 1px solid #eee;
}

section > * + * {
  margin-top: 2rem;
}

table {
  line-height: 1.5;
  padding: 1rem 0;
}

tr > *:nth-child(1) {
  text-align: left;
}

tr > *:nth-child(2) {
  text-align: center;
}

.card1_sp,
.card2_sp,
.card3_sp,
.card4_sp,
.card5_sp,
.card6_sp,
.card7_sp,
.card8_sp,
.card9_sp {
  box-shadow: 0 0.2px 0.3px rgba(0, 0, 0, 0.017),
    0 0.4px 0.7px rgba(0, 0, 0, 0.024), 0 0.6px 1.2px rgba(0, 0, 0, 0.03),
    0 1px 1.9px rgba(0, 0, 0, 0.035), 0 1.5px 2.9px rgba(0, 0, 0, 0.04),
    0 2.4px 4.5px rgba(0, 0, 0, 0.046), 0 4px 7.5px rgba(0, 0, 0, 0.053),
    0 8px 15px rgba(0, 0, 0, 0.07);
  border-radius: 4px;
}

.card__content_sp {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: bold;
  color: #aaa;
  /*background-color: #fff;
    background-image: url(../images/Firework_01.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;*/
  padding: 2rem;
}
.HomeAbout {
  margin-bottom: -15px !important;
}

@media screen and (max-width: 767px) {
  .HomeAbout {
    margin-bottom: 0px !important;
  }
  .square_sp {
    margin-bottom: 0vw !important;
  }
}

/*フッタータイトル*/
.footer_title {
  z-index: 10;
  display: inline-block;
  position: absolute ;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 100%;
  text-align: center;
  font-size: 80px;
  color: #fff;
  line-height: 1;
  letter-spacing: 2px;
  font-family: "Noto Serif JP", serif;
}

/*フッター_All_rights_reserved*/
footer #footerEnd .rights_reserved {
  z-index: 10;
  display: inline-block;
  position: absolute ;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 100%;
  text-align: center;
  font-size: 15px;
  color: #fff;
  line-height: 1;
  letter-spacing: 2px;
  font-family: "Noto Serif JP", serif;
}

/*Mobile フッター_All_rights_reserved*/
@media screen and (max-width: 767px) {
  #footerEnd {
    bottom: -105% !important;
    left: 0;
    width: 100%;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 影を追加 */
}

footer #footerEnd .rights_reserved {
  z-index: 10;
  display: inline-block;
  position: absolute ;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 100%;
  text-align: center;
  font-size: 9px;
  color: #fff;
  line-height: 1;
  letter-spacing: 2px;
  font-family: "Noto Serif JP", serif;
}
}

/*フッター_メニュー*/
.footer_title .footer_menu .footer_menu_inner {
  display: flex;
  justify-content: center;
}
.footer_title .footer_menu .footer_menu_inner a span {
  font-size: 30px;
  margin: 15px;
}
/*Mobile フッター_メニュー*/
@media screen and (max-width: 767px) {
  .footer_title .footer_menu .footer_menu_inner a span {
    font-size: 20px;
    margin: 15px;
  }
}

/*音オンオフ*/
.sound {
  position: absolute;
  bottom: 10px; /* 下から10pxの位置 */
  left: 50%; /* 左から50%の位置 */
  transform: translateX(-50%); /* X軸に対して50%移動して中央に配置 */
}

.soundbtn {
  color: inherit;
  padding: 0.5em 1em;
  box-shadow: initial;
  display: inline-block;
  appearance: none;
  background-color: initial;
  cursor: pointer;
  width: 3.6rem;
  height: 2.1rem;
  border-style: none;
  background: none;
  border: none;
}

/*フッターメニュー表示*/
.footer_menu, .footer_title {
  display: block;
  opacity: 0; /* 初期状態では透明 */
  transition: opacity 0.5s ease-in-out; /* 透明度の変化にトランジションを適用 */
}

/* scroll to top */
/***追従するトップへ戻るボタン***/
#scroll_to_top {
  display: none;
  position: fixed;
  right: 25px;
  bottom: 25px;
  height: 50px;
  text-decoration: none;
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 90%;
  font-family:'Times New Roman', Times, serif;
  line-height: 1.5rem;
  color: #191d39;
  padding: 0 0 0 35px;
  border-top: solid 1px;
  z-index: 11111;
}
#scroll_to_top::before {
  content: "";
  display: none;
  position: absolute;
  top: -1px;
  left: 0px;
  width: 15px;
  border-top: solid 1px #191d39;
  transform: rotate(35deg);
  transform-origin: left top;
  z-index: 11111;
}
#scroll_to_top.scroll {
  display: block;
  position: fixed;
  right: 25px;
  bottom: 25px;
  height: 50px;
  text-decoration: none;
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 90%;
  line-height: 1.5rem;
  color: #191d39;
  padding: 0 0 0 35px;
  border-top: solid 1px;
  z-index: 11111;
}
#scroll_to_top.scroll::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0px;
  width: 15px;
  border-top: solid 1px #191d39;
  transform: rotate(35deg);
  transform-origin: left top;
  z-index: 11111;
}
@media only screen and (max-width: 767px) {
  #scroll_to_top.scroll {
    right: 15px;
    bottom: 59px;
  }
}
#scroll_to_top.scroll.white-mode::before {
  border-top: solid 1px white;
}
/***トップへ戻るボタンここまで***/

/***Degital Transformation***/
.element {
  position: relative; /* 要素の位置を相対的に設定 */
}
/***Degital Transformation***/

/* スマートフォン用のフッターメニュー スタイル */
@media screen and (max-width: 767px) {
  .footer_title {
      font-size: 31px; /* フォントサイズを調整 */
  }

  .footer_menu_inner {
      padding: 10px; /* パディングを調整 */
  }

  .footer_menu_item a {
    color: #fff; /* リンクの色を変更 */
  }
}

@media screen and (max-width: 767px) {
  .footer_menu_inner {
      display: flex;
      flex-direction: column;
  }

  .footer_menu_item {
      margin-bottom: 5px;
  }

  .footer_menu_item a {
      display: block;
      /*padding: 5px 0;*/
  }
}
/* スマートフォン用のフッターメニュー スタイル */

/* new_world DX Mobileフォントサイズ変更 */
@media screen and (max-width: 767px) {
  .new_world {
    font-size: 20px; /* フォントサイズを調整 */
  }

  .DX {
    font-size: 1.8rem !important; /* フォントサイズを変更 */
  }
}
/* new_world DX Mobileフォントサイズ変更 */

/* data-aos 表示制御 */
[data-aos].aos-on {
  opacity: 1 !important;
  transform: translateY(0);
}
/* data-aos 表示制御 */

/* ハンバガーメニュー メニュー */
/* 親要素に相対位置を設定 */
/* 左側のメニュー */
.side_menu_left {
  position: absolute;
  left: 31%; /* 左側に25%の位置 */
  top: 50%;
  transform: translate(-50%, -50%);
}

/* 右側のメニュー */
.side_menu_right {
  position: absolute;
  right: 31%; /* 右側に25%の位置 */
  top: 50%;
  transform: translate(50%, -50%);
}

/* メニューのスタイル */
.side_menu {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.words {
  margin: 3px 0; /* 行間をさらに詰める */
}

.side_menu_txt {
  margin: 0;
  padding: 3px; /* 文字の周りの余白をさらに少なくする */
  text-align: center;
  font-size: 0.8em; /* 文字サイズをさらに小さくする */
}
/* ハンバガーメニュー メニュー */

/* Mobile 背景色 */
@media screen and (max-width: 767px) {
  body,
html {
  background-color: #4ffafd !important;
}
}
/* Mobile 背景色 */

/* Mobile c-work 高さ調整 */
/* PC用のスタイル */
.c-work {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 0; /* 追加 */
}

.c-work__column {
  display: flex;
  width: 100%;
  gap: 0; /* 追加 */
}

.c-work__column__block {
  flex: 1;
  margin: 0; /* 追加 */
  box-sizing: border-box;
  position: relative;
}

.c-work__column__block a {
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  z-index: 1;
}

.c-work__bg {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-work__bg img {
  width: 100%;
  height: 100%; /* 修正 */
  object-fit: cover;
}

/* スマートフォン用のスタイル */
@media screen and (max-width: 768px) {
  .c-work {
      padding-top: 0 !important;
      flex-direction: column;
  }

  .c-work__column {
      flex-direction: column;
      gap: 0; /* 追加 */
  }

  .c-work__column__block {
      flex: 1;
      display: flex;
      flex-direction: column;
      height: auto !important;
      margin: 0; /* 追加 */
  }

  .c-work__column__block a {
      display: flex;
      flex-direction: column;
      height: 100% !important;
  }

  .c-work__bg {
      flex: 1 !important;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .c-work__bg img {
      width: 100%;
      height: auto;
      object-fit: cover;
  }
}

/* スマートフォン用のスタイル */
@media screen and (max-width: 768px) {
  .secHero {
      margin-bottom: 100vh; /* 画面サイズ分の空間を追加 */
  }

  .secConcept.lazyload {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1; /* 他の要素より小さい値に設定 */
  }

  .c-work.vvvvv_5 {
      position: relative;
      z-index: 2; /* secConceptより大きい値に設定 */
  }
}
/* Mobile c-work 高さ調整 */

/* smartphone mail smartphone iconサイズ */
.mail_img {
  width: 30.5px; /* 例: 幅を50ピクセルに設定 */
  height: 30.5px; /* 例: 高さを50ピクセルに設定 */
  padding-top: 4px;
}

.smartphone_img {
  width: 35px; /* 例: 幅を50ピクセルに設定 */
  height: 35px; /* 例: 高さを50ピクセルに設定 */
  padding-top: 2.5px;
}
/* smartphone mail smartphone iconサイズ */

/* Topスライダー 背景色 */
.swiper-container {
  background-color: #4ffafd !important; /* または他の適切な色 */
}
/* Topスライダー 背景色 */

/* Topスライダー 画像フィット */
.swiper-lazy {
  width: 100%;
  height: 100vh; /* または適切な高さ */
  object-fit: cover; /* 画像がコンテナにフィットするように調整 */
}
/* Topスライダー 画像フィット */
