@charset "UTF-8";
#topHeadWrap {
  position: relative;
  height: 200vh;
}

#topHead {
  height: 100dvh;
  padding-top: 65px;
  position: sticky;
  top: 0;
  overflow: clip;
}
@media screen and (max-width: 767px) {
  #topHead {
    padding-top: 12vw;
  }
}
#topHead #topHeadText {
  position: absolute;
  top: 12rem;
  left: 7rem;
  font-weight: bold;
  color: #FFFFFF;
  text-shadow: 0.1em 0.1em 0.5em #000000;
  line-height: 1.7;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  #topHead #topHeadText {
    top: 28vw;
    left: 4vw;
  }
}
#topHead #topHeadText > div {
  font-size: 2.6rem;
}
@media screen and (max-width: 767px) {
  #topHead #topHeadText > div {
    font-size: 8vw;
  }
}
#topHead #topHeadText > p {
  margin: 0 0 2rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  #topHead #topHeadText > p {
    font-size: 3.6vw;
    white-space: nowrap;
    margin-bottom: 1rem;
  }
}
#topHead #topHeadSlide {
  height: 100%;
  padding: 40px;
  display: flex;
  gap: 40px;
  animation: topHeadSlide 50s infinite linear;
}
@media screen and (max-width: 767px) {
  #topHead #topHeadSlide {
    gap: 5vw;
    padding: 5vw;
    animation: topHeadSlideSP 20s infinite linear;
  }
}
#topHead #topHeadSlide > div {
  overflow: clip;
  height: 100%;
  border-radius: 1rem;
  width: 76vw;
  flex-shrink: 0;
  position: relative;
  /*&:nth-of-type(3) {
    position: absolute;
    bottom: 10%;
    left: 43%;
    height: 30%;
    aspect-ratio: 3 / 2;
    animation-name: topAnime03;
    animation-timeline: view();
    animation-range: cover 0% cover 100%;
    transform-origin: 0 0;
  }*/
  /*      &:nth-of-type(4) {
          position: absolute;
          top: calc(100px + 10%);
          left: 50%;
          height: 20%;
          aspect-ratio: 3 / 2;
          animation-name: topAnime03;
          animation-timeline: view();
          animation-range: cover 0% cover 100%;
          transform-origin: 0 0;
        }*/
  /* &:nth-of-type(5) {
     position: absolute;
     bottom: 28%;
     right: 10%;
     height: 20%;
     aspect-ratio: 3 / 2;
     animation-name: topAnime03;
     animation-timeline: view();
     animation-range: cover 0% cover 100%;
     transform-origin: 0 0;
   }*/
}
@media screen and (max-width: 767px) {
  #topHead #topHeadSlide > div {
    width: 92vw;
  }
}
#topHead #topHeadSlide > div > video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#topHead #topHeadSlide > div > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#topHead #topHeadSlide > div .topHeadText {
  position: absolute;
  top: 7rem;
  left: 7rem;
  font-weight: bold;
  color: #FFFFFF;
  text-shadow: 0.1em 0.1em 0.5em #000000;
  line-height: 1.7;
}
#topHead #topHeadSlide > div .topHeadText > div {
  font-size: 2.6rem;
}
#topHead #topHeadSlide > div .topHeadText > p {
  margin: 0 0 2rem;
  font-size: 1.2rem;
}
#topHead #topHeadSlide > div:nth-of-type(1), #topHead #topHeadSlide > div:nth-of-type(4) {
  animation-name: topAnime01;
  animation-timeline: view();
  animation-range: contain 0% exit 100%;
  transform-origin: center center;
}
#topHead #topHeadSlide > div:nth-of-type(2), #topHead #topHeadSlide > div:nth-of-type(5) {
  animation-name: topAnime02;
  animation-timeline: view();
  animation-range: contain 0% exit 100%;
  transform-origin: center top;
}
#topHead #topHeadSlide > div:nth-of-type(3), #topHead #topHeadSlide > div:nth-of-type(6) {
  animation-name: topAnime03;
  animation-timeline: view();
  animation-range: contain 0% exit 100%;
  transform-origin: center 70%;
}
#topHead #topSubSlide {
  position: absolute;
  display: flex;
  height: 100%;
  width: 200%;
  left: 0;
  top: 0;
  z-index: -1;
  animation: topSubSlide 30s infinite linear;
}
#topHead #topSubSlide > div {
  width: 100%;
  height: 100%;
  position: relative;
  opacity: 0;
  animation-name: topSubSlideView;
  animation-timeline: view();
  animation-range: contain 0% exit 100%;
}
#topHead #topSubSlide > div img {
  position: absolute;
  border-radius: 1rem;
  overflow: hidden;
}
#topHead #topSubSlide > div img:nth-child(1) {
  top: 15%;
  left: 10%;
  width: 20%;
}
#topHead #topSubSlide > div img:nth-child(2) {
  top: 50%;
  left: 36%;
  width: 25%;
}
#topHead #topSubSlide > div img:nth-child(3) {
  top: 34%;
  left: 67%;
  width: 15%;
}
#topHead #topHeadNews {
  position: absolute;
  right: 2rem;
  bottom: 4rem;
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  #topHead #topHeadNews {
    right: 2vw;
    bottom: 10vw;
  }
}
#topHead #topHeadNews #topNewsSlide {
  width: 620px;
}
@media screen and (max-width: 767px) {
  #topHead #topHeadNews #topNewsSlide {
    width: 96vw;
  }
}
#topHead #topHeadNews #topNewsSlide .swiper-slide > a {
  background-color: #7162CF;
  border-radius: 1rem;
  padding: 1.5rem 2rem;
  display: block;
  text-decoration: none;
  color: #FFF;
}
#topHead #topHeadNews #topNewsSlide .swiper-slide > a > div {
  display: flex;
  gap: 1em;
  font-size: 0.9rem;
  align-items: center;
  margin-bottom: 1em;
}
#topHead #topHeadNews #topNewsSlide .swiper-slide > a > div span {
  color: #7162CF;
  background-color: #FFF;
  border-radius: 0.3em;
  padding: 0 0.5em;
}
#topHead #topHeadNews #topNewsSlide .swiper-slide > a > h3 {
  margin: 0;
  font-size: 1rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

#topConcept {
  padding: 5rem 0;
}
#topConcept #topConceptTitle {
  text-align: center;
  margin-bottom: 5rem;
}
#topConcept #topConceptTitle p {
  display: inline-block;
  text-align: left;
  font-size: 1.2rem;
  line-height: 2;
}
#topConcept #conceptImage > div {
  overflow: clip;
  padding-top: 36%;
}
@media screen and (max-width: 767px) {
  #topConcept #conceptImage > div {
    padding-top: 56.25%;
  }
}

#topService {
  margin: 0 2rem;
  padding: 4rem;
  border-radius: 2rem;
  background-color: #FBFBFB;
}
@media screen and (max-width: 767px) {
  #topService {
    margin: 0 1rem;
    padding: 1rem 0;
  }
}
#topService #topServiceList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 2rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  #topService #topServiceList {
    display: flex;
    gap: 2rem;
  }
}
#topService #topServiceList article {
  padding: 1rem;
  border-radius: 1rem;
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #topService #topServiceList article {
    flex-direction: column;
    gap: 1rem;
  }
}
#topService #topServiceList article > figure {
  width: 36%;
  flex-shrink: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #topService #topServiceList article > figure {
    width: 80%;
    margin: 0 auto;
  }
}
#topService #topServiceList article > figure > img {
  overflow: hidden;
  border-radius: 1rem;
}
#topService #topServiceList article > div {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  width: 100%;
}
#topService #topServiceList article > div p {
  margin: 0;
  font-size: 0.9rem;
}
@media screen and (max-width: 767px) {
  #topService #topServiceList article > div p {
    margin-bottom: 1rem;
  }
}
#topService #topServiceList article > div h3 {
  margin: 0;
  font-size: 1rem;
  padding: 0.5rem 0;
  text-align: right;
}
#topService #topServiceList article > div h3 a {
  color: #FFFFFF;
  background: url(../img/whiteArrow.svg) no-repeat right 0.8rem center/0.8em auto;
  padding-right: 5rem;
  display: inline-block;
}
#topService #topServiceList article > div h3 a:hover {
  animation: linkArrowAnimeShort 1s forwards ease-in-out;
}
#topService #topServiceList article:nth-of-type(1) {
  grid-column: span 2;
  background-color: #FFFFFF;
  padding: 4rem 2rem;
}
#topService #topServiceList article:nth-of-type(1) > div > h3 {
  text-align: left;
}
#topService #topServiceList article:nth-of-type(1) > div > div {
  text-align: right;
}
#topService #topServiceList article:nth-of-type(1) > div > div > a {
  background: url(../img/blackArrow.svg) no-repeat right 0.8rem center/0.8em auto;
  padding-right: 5rem;
  font-weight: bold;
  display: inline-block;
}
#topService #topServiceList article:nth-of-type(1) > div > div > a:hover {
  animation: linkArrowAnimeShort 1s forwards ease-in-out;
}
#topService #topServiceList article:nth-of-type(1) {
  background: #dae1eb linear-gradient(90deg, #dae1eb 0%, #f6f6f8 50%, #dae1eb 100%);
}
#topService #topServiceList article:nth-of-type(2) {
  background: #64A274 linear-gradient(90deg, rgb(100, 162, 116) 0%, rgb(156, 188, 117) 50%, rgb(100, 162, 116) 100%);
}
#topService #topServiceList article:nth-of-type(3) {
  background: #EF9541 linear-gradient(90deg, rgb(239, 149, 65) 0%, rgb(244, 180, 63) 50%, rgb(239, 149, 65) 100%);
}
#topService #topServiceList article:nth-of-type(4) {
  background: #ACA1C5 linear-gradient(90deg, rgb(172, 161, 197) 0%, rgb(172, 161, 197) 50%, rgb(172, 161, 197) 100%);
}
#topService #topServiceList article:nth-of-type(5) {
  background: #DA5129 linear-gradient(90deg, rgb(218, 81, 41) 0%, rgb(233, 112, 48) 50%, rgb(218, 81, 41) 100%);
}

#topNews {
  padding: 5rem 0;
}
#topNews .sectionNote {
  display: block;
}
#topNews .sectionNote > div {
  width: 100%;
}
#topNews #topNewsList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  #topNews #topNewsList {
    display: flex;
    flex-direction: column;
  }
}
#topNews #topNewsList article {
  text-align: center;
}
@media screen and (max-width: 767px) {
  #topNews #topNewsList article a {
    display: flex;
    gap: 1rem;
    align-items: center;
  }
}
#topNews #topNewsList article figure {
  margin: 0;
}
#topNews #topNewsList article figure img {
  overflow: hidden;
  border-radius: 1rem;
}
#topNews #topNewsList article h3 {
  width: 86%;
  display: inline-block;
  text-align: left;
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #topNews #topNewsList article h3 {
    width: 60%;
    flex-shrink: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
}

.readMore {
  text-align: center;
}
.readMore > div,
.readMore > a {
  display: inline-block;
  border: 1px solid #000;
  border-radius: 1rem;
  padding: 0 1rem 0 2rem;
  cursor: pointer;
}

#topPartner {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  #topPartner {
    margin-bottom: 3rem;
  }
}
#topPartner #topPartnerList,
#topPartner #topPartnerList2 {
  margin-bottom: 2rem;
  /* display: grid;
   grid-template-columns: repeat(6, 1fr);
   gap: 3rem;

   @include mobile {
     grid-template-columns: repeat(6, 1fr);
   }

   * {
     text-align: center;
   }*/
}
#topPartner #topPartnerList .swiper-slide,
#topPartner #topPartnerList2 .swiper-slide {
  width: auto;
  padding: 0 1.5rem;
}
#topPartner #topPartnerList .swiper-slide img,
#topPartner #topPartnerList2 .swiper-slide img {
  height: 2rem;
  width: auto;
}
#topPartner #topPartnerList .swiper-wrapper,
#topPartner #topPartnerList2 .swiper-wrapper {
  transition-timing-function: linear !important;
}

#pageAbout #aboutHeader .pageHeader > table {
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 2rem 0;
  border: none;
}
#pageAbout #aboutHeader .pageHeader > table th, #pageAbout #aboutHeader .pageHeader > table td {
  border: none;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #pageAbout #aboutHeader .pageHeader > table {
    width: 100%;
  }
  #pageAbout #aboutHeader .pageHeader > table th {
    display: block;
  }
  #pageAbout #aboutHeader .pageHeader > table td {
    display: block;
    text-align: right;
  }
}
#pageAbout #aboutHeader #aboutImageCont {
  position: relative;
  aspect-ratio: 4/3;
}
#pageAbout #aboutHeader #aboutImageCont > figure {
  position: absolute;
}
#pageAbout #aboutHeader #aboutImageCont > figure:nth-of-type(1) {
  width: 44%;
  left: 0;
  top: 0;
}
#pageAbout #aboutHeader #aboutImageCont > figure:nth-of-type(2) {
  width: 52%;
  right: 0;
  bottom: 0;
}
#pageAbout #aboutGreeting {
  background-color: #FFFFFF;
  padding: 8rem 0;
}
@media screen and (max-width: 767px) {
  #pageAbout #aboutGreeting {
    padding: 3rem 0;
  }
}
#pageAbout #aboutGreeting h2 {
  font-size: 1.2rem;
}
#pageAbout #aboutGreeting #greetingSign {
  text-align: right;
}
#pageAbout #aboutGreeting #greetingSign img {
  height: 1.5rem;
  display: inline-block;
  vertical-align: text-top;
}
#pageAbout #aboutProfile {
  background-color: #231815;
  color: #FFFFFF;
  padding-bottom: 6rem;
}
#pageAbout #aboutProfile #aboutProfileList {
  display: flex;
}
@media screen and (max-width: 767px) {
  #pageAbout #aboutProfile #aboutProfileList {
    flex-direction: column;
  }
}
#pageAbout #aboutProfile #aboutProfileList > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  #pageAbout #aboutProfile #aboutProfileList > div {
    width: 100%;
  }
}
#pageAbout #aboutProfile #aboutProfileList > div table {
  border-spacing: 1rem;
  border-collapse: separate;
  border: none;
  font-size: 0.8rem;
}
#pageAbout #aboutProfile #aboutProfileList > div table th {
  text-align: left;
  font-weight: normal;
  border: none;
  white-space: nowrap;
  vertical-align: top;
}
#pageAbout #aboutProfile #aboutProfileList > div table td {
  border: none;
}

#pagePremiumShrimp #pageTop figure {
  margin: 0;
  height: calc(100vh - 100px);
}
#pagePremiumShrimp #pageTop figure img {
  border-radius: 0;
}
#pagePremiumShrimp #shrimpHeader .pageHeader > div {
  max-width: 780px;
  margin: 0 auto;
  text-align: left;
}
#pagePremiumShrimp #shrimpHeader .imageContList > article:nth-child(3) .imageContListImage img {
  width: 80%;
}

#pageNewspaper #pageTop .basicParallax img {
  object-position: top;
}
#pageNewspaper #newspaperHeader .pageHeader {
  margin-bottom: 0;
}
#pageNewspaper #newspaperFeatures > div {
  background-color: #FFFFFF;
  border-radius: 2rem;
  padding: 6rem 9rem;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperFeatures > div {
    padding: 1rem 2rem;
  }
}
#pageNewspaper #newspaperFeatures > div h2 {
  text-align: center;
  margin-bottom: 3em;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperFeatures > div h2 {
    margin-bottom: 0;
  }
}
#pageNewspaper #newspaperFeatures > div h3 {
  text-align: center;
  color: #7162CF;
}
#pageNewspaper #newspaperFeatures > div dl dt {
  font-size: 1.2rem;
  color: #7162CF;
  margin-bottom: 0.2em;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperFeatures > div dl dt {
    padding-left: 3rem;
  }
}
#pageNewspaper #newspaperFeatures > div dl dd {
  margin: 0 0 5em;
}
#pageNewspaper #newspaperFaq > div {
  background-color: #FFFFFF;
  border-radius: 2rem;
  padding: 6rem;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperFaq > div {
    padding: 1rem;
  }
}
#pageNewspaper #newspaperFaq > div h2 {
  text-align: center;
  margin-bottom: 3em;
}
#pageNewspaper #newspaperImage h2 {
  text-align: center;
  margin-bottom: 3rem;
}
#pageNewspaper #newspaperImage #newspaperSlide .swiper-slide {
  width: 25%;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperImage #newspaperSlide .swiper-slide {
    width: 50%;
  }
}
#pageNewspaper #newspaperImage #newspaperSlide .swiper-slide img {
  width: 100%;
}
#pageNewspaper #newspaperImage #newspaperSlide .swiper-wrapper {
  transition-timing-function: linear !important;
}
#pageNewspaper #newspaperImage img {
  margin: 0 auto;
}
#pageNewspaper #newspaperContact > div {
  background-color: #FFFFFF;
  border-radius: 2rem;
  padding: 6rem;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperContact > div {
    padding: 1rem;
  }
}
#pageNewspaper #newspaperContact > div > h2 {
  text-align: center;
}
#pageNewspaper #newspaperContact > div > p {
  text-align: center;
}
#pageNewspaper #newspaperContact #newspaperContactList > article {
  margin-top: 6em;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperContact #newspaperContactList > article {
    margin-top: 3rem;
  }
}
#pageNewspaper #newspaperContact #newspaperContactList > article h3 {
  color: #7162CF;
  margin: 0 0 0.3em;
}
#pageNewspaper #newspaperContact #newspaperContactList > article p {
  margin: 0 0 2em;
}
#pageNewspaper #newspaperContact #newspaperContactList > article #newspaperContactLink {
  gap: 1em 4%;
}
#pageNewspaper #newspaperContact #newspaperContactList > article #newspaperContactLink a:nth-of-type(1) {
  width: 48%;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperContact #newspaperContactList > article #newspaperContactLink a:nth-of-type(1) {
    width: 100%;
  }
}
#pageNewspaper #newspaperContact #newspaperContactList > article #newspaperContactLink a:nth-of-type(2) {
  width: 48%;
}
@media screen and (max-width: 767px) {
  #pageNewspaper #newspaperContact #newspaperContactList > article #newspaperContactLink a:nth-of-type(2) {
    width: 100%;
  }
}

#pageLivingWorking #livingWorkingDetails #livingWorkingSlide .swiper-slide {
  width: 25%;
}
@media screen and (max-width: 767px) {
  #pageLivingWorking #livingWorkingDetails #livingWorkingSlide .swiper-slide {
    width: 50%;
  }
}
#pageLivingWorking #livingWorkingDetails #livingWorkingSlide .swiper-slide img {
  width: 100%;
}
#pageLivingWorking #livingWorkingDetails #livingWorkingSlide .swiper-wrapper {
  transition-timing-function: linear !important;
}
#pageLivingWorking #livingWorkingDetails #livingWorkingDetailsText {
  text-align: center;
  padding: 8rem 2rem;
}
#pageLivingWorking #livingWorkingDetails #livingWorkingDetailsCache {
  height: 30rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  #pageLivingWorking #livingWorkingDetails #livingWorkingDetailsCache {
    height: 60vw;
  }
}
#pageLivingWorking #livingWorkingDetails #livingWorkingDetailsCache > div {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  background: rgba(33, 39, 67, 0.1) linear-gradient(45deg, rgba(33, 39, 67, 0.5) 0%, rgba(33, 39, 67, 0.05) 100%);
}
#pageLivingWorking #livingWorkingDetails #livingWorkingDetailsCache > div p {
  color: #FFFFFF;
  font-size: 2rem;
  transform: scaleX(1.2);
}
@media screen and (max-width: 767px) {
  #pageLivingWorking #livingWorkingDetails #livingWorkingDetailsCache > div p {
    font-size: 4.6vw;
  }
}

#pageMarketingSupport #pageTop img {
  object-position: 80% !important;
}
#pageMarketingSupport #pageTop h1 {
  bottom: unset;
  top: 3rem;
}
#pageMarketingSupport #pageTop #marketingSupportConcept {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 2rem 3rem;
  border-radius: 1rem;
  position: absolute;
  bottom: 1.5rem;
  left: 5rem;
  width: calc(100% - 10rem);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #pageTop #marketingSupportConcept {
    bottom: 1rem;
    left: 2rem;
    width: calc(100% - 4rem);
    display: block;
    padding: 1rem;
  }
}
#pageMarketingSupport #pageTop #marketingSupportConcept > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #pageTop #marketingSupportConcept > div {
    width: 100%;
  }
}
#pageMarketingSupport #pageTop #marketingSupportConcept > div > h2 {
  margin: 0 0 0.2em;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #pageTop #marketingSupportConcept > div > h2 {
    font-size: 5vw;
  }
}
#pageMarketingSupport #pageTop #marketingSupportConcept > div > p {
  margin-bottom: 1.5em;
}
#pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportLink {
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportLink {
    display: none;
  }
}
#pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportLink > a {
  line-height: 3.4;
  font-size: 0.9rem;
  width: 12rem;
  text-align: center;
  border-radius: 0.5rem;
  border-style: solid;
  border-width: 2px;
}
#pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportLink > a:nth-of-type(1) {
  background-color: #0071bc;
  border-color: #0071bc;
  color: #FFFFFF;
}
#pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportLink > a:nth-of-type(2) {
  border-color: #1a1a1a;
  color: #1a1a1a;
}
#pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportButton {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  width: 40%;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportButton {
    width: 100%;
  }
}
#pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportButton > div {
  background-color: #AAAAAA;
  width: 20rem;
  padding: 1rem 3rem;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportButton > div {
    width: 50%;
    padding: 0.5rem 1rem;
    font-size: 4vw;
  }
}
#pageMarketingSupport #pageTop #marketingSupportConcept #marketingSupportButton > div span {
  color: #0071bc;
  display: block;
  font-size: 1rem;
}
#pageMarketingSupport #marketingSupportHeader .pageHeader {
  margin-bottom: 0;
}
#pageMarketingSupport .marketingSupportFutureList {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport .marketingSupportFutureList {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
#pageMarketingSupport .marketingSupportFutureList > article {
  box-shadow: 0 0 20px #cacacc;
  border-radius: 1rem;
  padding: 2rem;
  background-color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport .marketingSupportFutureList > article {
    padding: 1rem;
  }
}
#pageMarketingSupport .marketingSupportFutureList > article > div {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport .marketingSupportFutureList > article > div {
    gap: 1rem;
    margin-bottom: 1rem;
  }
}
#pageMarketingSupport .marketingSupportFutureList > article > div figure {
  width: 5rem;
  margin: 0;
}
#pageMarketingSupport .marketingSupportFutureList > article > div h3 {
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport .marketingSupportFutureList > article > div h3 {
    margin: 0;
  }
}
#pageMarketingSupport .marketingSupportFutureList > article > div p {
  width: 100%;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  height: 4.5em;
}
#pageMarketingSupport .marketingSupportFutureList > article > p {
  font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport .marketingSupportFutureList > article > p {
    margin: 0;
  }
}
#pageMarketingSupport #marketingSupportPoint .mainWrap > p {
  position: relative;
  margin: -3.5em 0 0;
  text-align: right;
  float: right;
  clear: right;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #marketingSupportPoint .mainWrap > p {
    position: relative;
    margin: -1.5em 0 1rem;
    width: 100%;
    float: none;
  }
}
#pageMarketingSupport #marketingSupportPoint .marketingSupportFutureList {
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #marketingSupportPoint .marketingSupportFutureList {
    grid-template-columns: 1fr;
  }
}
#pageMarketingSupport #marketingSupportImageList {
  margin-bottom: 2rem;
}
#pageMarketingSupport #marketingSupportImageList .swiper-wrapper {
  transition-timing-function: linear !important;
}
#pageMarketingSupport #marketingSupportImageList article {
  width: 28%;
  padding: 1rem;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #marketingSupportImageList article {
    width: 80%;
  }
}
#pageMarketingSupport #marketingSupportImageList article > div {
  box-shadow: 0 0 1rem #cacacc;
  border-radius: 1rem;
  padding: 1rem;
  background-color: #FFF;
}
#pageMarketingSupport #marketingSupportImageList article > div h3 {
  margin: 0;
}
#pageMarketingSupport #marketingSupportImageList article > div p {
  margin: 0;
  font-size: 0.8rem;
}
#pageMarketingSupport #flowList {
  padding: 30px 0 0 80px;
  margin-left: 30px;
  border-left: 2px solid #4d4d4d;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #flowList {
    padding-left: 30px;
  }
}
#pageMarketingSupport #flowList dt {
  font-size: 1.3rem;
  margin: 3rem 0 0.5rem;
  position: relative;
}
#pageMarketingSupport #flowList dt:before {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  background-color: #4d4d4d;
  position: absolute;
  border-radius: 50%;
  margin-left: -103px;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #flowList dt:before {
    margin-left: -54px;
  }
}
#pageMarketingSupport #flowList dt:nth-of-type(1):before {
  background-color: #0071bc;
}
#pageMarketingSupport #flowList dt:nth-of-type(2):before {
  background-color: #009245;
}
#pageMarketingSupport #flowList dt:nth-of-type(3):before {
  background-color: #29ABE2;
}
#pageMarketingSupport #flowList dt:nth-of-type(4):before {
  background-color: #93278F;
}
#pageMarketingSupport #flowList dt:nth-of-type(5):before {
  background-color: #ED1C24;
}
#pageMarketingSupport #flowList dd {
  margin: 0;
  font-size: 1.1rem;
}
#pageMarketingSupport #consultationWrap {
  background-color: #DFDFDF;
  border-radius: 1rem;
  padding: 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #consultationWrap {
    padding: 1rem;
    flex-direction: column;
    gap: 1rem;
  }
}
#pageMarketingSupport #consultationWrap #consultationLink {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  #pageMarketingSupport #consultationWrap #consultationLink {
    width: 100%;
  }
}
#pageMarketingSupport #consultationWrap #consultationLink a {
  display: block;
  text-align: center;
  border: 2px solid #0071bc;
  padding: 0.2em 3em 0.3em;
  border-radius: 0.5em;
  background-color: #0071bc;
  color: #FFFFFF;
}
#pageMarketingSupport #consultationWrap #consultationLink a:nth-of-type(2) {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
  color: #000000;
}
#pageMarketingSupport #consultationWrap #consultationLink a:nth-of-type(3) {
  background-color: #06C655;
  border-color: #06C655;
}

#pageRecruit #pageTop > div {
  position: absolute;
  top: 4rem;
  left: 6rem;
  line-height: 1.6;
  text-shadow: 0 0 0.2rem #FFFFFF, 0 0 0.3rem #FFFFFF;
}
@media screen and (max-width: 767px) {
  #pageRecruit #pageTop > div {
    top: 3rem;
    left: 3rem;
  }
}
#pageRecruit #pageTop > div h2 {
  font-size: 2rem;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #pageRecruit #pageTop > div h2 {
    font-size: 6vw;
  }
}
#pageRecruit #pageTop > div p {
  font-size: 1.4rem;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #pageRecruit #pageTop > div p {
    font-size: 4.2vw;
  }
}
#pageRecruit .pageHeader {
  margin: 0;
}
#pageRecruit #recruitDetail details {
  margin: 2rem 0;
}
#pageRecruit #recruitDetail details[open] summary::after {
  transform: rotate(-90deg);
}
#pageRecruit #recruitDetail details summary {
  border: 2px solid #AAA;
  border-radius: 1rem;
  padding: 1.5rem 4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  #pageRecruit #recruitDetail details summary {
    padding: 1rem 1rem 2.5rem;
  }
}
#pageRecruit #recruitDetail details summary:after {
  content: "";
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  background: url(../img/blackArrow.svg) no-repeat center/contain;
  right: calc(50% - 0.4rem);
  bottom: 1.6rem;
  transform: rotate(90deg);
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  #pageRecruit #recruitDetail details summary:after {
    bottom: 1rem;
  }
}
#pageRecruit #recruitDetail details summary h3 {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  text-align: right;
}
#pageRecruit #recruitDetail details summary h3 span {
  font-size: 1.3rem;
  margin-left: 1rem;
}
@media screen and (max-width: 767px) {
  #pageRecruit #recruitDetail details summary h3 span {
    display: block;
  }
}
#pageRecruit #recruitDetail details summary > span {
  display: block;
  font-size: 0.9rem;
}
#pageRecruit #recruitDetail details summary > em {
  display: block;
  font-style: normal;
  margin-top: 0.5em;
}
#pageRecruit #recruitDetail details summary > i {
  display: none;
}
@media screen and (max-width: 767px) {
  #pageRecruit #recruitDetail details summary > i {
    padding-top: 0.5rem;
    display: block;
    text-align: center;
  }
}
#pageRecruit #recruitDetail details > div {
  padding: 2rem 0;
  margin: 0 0 0 4rem;
  display: flex;
  justify-content: space-between;
  gap: 6rem;
  font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
  #pageRecruit #recruitDetail details > div {
    flex-direction: column;
    margin: 0 1rem;
  }
}
#pageRecruit #recruitDetail details > div dl {
  margin-bottom: 5rem;
}
#pageRecruit #recruitDetail details > div dl dd {
  margin: 0 0 3rem;
}
#pageRecruit #recruitDetail details > div table {
  border: none;
  width: 100%;
}
#pageRecruit #recruitDetail details > div table tr th, #pageRecruit #recruitDetail details > div table tr td {
  border: none;
  text-align: left;
  padding: 0.5rem 1rem;
  border-top: 1px solid #4d4d4d;
}
@media screen and (max-width: 767px) {
  #pageRecruit #recruitDetail details > div table tr th {
    white-space: nowrap;
    padding-left: 0.5rem;
  }
}
#pageRecruit #recruitDetail details > div table tr:first-of-type th, #pageRecruit #recruitDetail details > div table tr:first-of-type td {
  border: none;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide {
  width: 35%;
  flex-shrink: 0;
  font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
  #pageRecruit #recruitDetail details > div .recruitDetailSide {
    width: unset;
  }
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div {
  border: 2px solid #AAA;
  padding: 0.6rem;
  border-radius: 1rem;
  margin-bottom: 2rem;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div iframe {
  border-radius: 0.5rem;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div h3 {
  margin: 0.6rem 0 0;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div address {
  font-style: normal;
  font-size: 0.8rem;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div h4 {
  margin: 0.6rem 0 0;
  font-weight: bold;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div p {
  margin: 0;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div div {
  display: flex;
  justify-content: space-evenly;
  padding: 1rem 0 0.5rem;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div div > a {
  display: block;
  text-align: center;
  border: 2px solid #0071bc;
  padding: 0.3em 3em 0.4em;
  border-radius: 0.5em;
  background-color: #0071bc;
  color: #FFFFFF;
}
#pageRecruit #recruitDetail details > div .recruitDetailSide > div div > a:nth-of-type(2) {
  background-color: #FFFFFF;
  border-color: #000000;
  color: #000000;
}

.slideToggleCheck {
  display: none;
}

.slideToggleContent {
  height: 0;
  opacity: 0;
  overflow: clip;
  transition: height 0.4s, opacity 0.4s, content-visibility 0.4s allow-discrete;
}

.slideToggleCheck:checked ~ .slideToggleContent {
  opacity: 1;
  height: auto;
}

#pageContact #pageTop figure {
  height: calc(60vh - 100px - 2rem);
}
@media screen and (max-width: 767px) {
  #pageContact #pageTop figure {
    height: 30vw;
  }
}
#pageContact #contactBody {
  max-width: 960px;
  background-color: #FFFFFF;
  padding: 2rem;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #pageContact #contactBody {
    padding: 2rem 1rem;
  }
}
#pageContact #contactBody .forminator-row {
  margin-bottom: 2rem;
}
#pageContact #contactBody .forminator-merge-tags,
#pageContact #contactBody .forminator-description {
  font-size: 0.9rem;
}
#pageContact #contactBody .forminator-merge-tags strong,
#pageContact #contactBody .forminator-description strong {
  color: #E51919;
}
#pageContact #contactBody .forminator-label {
  font-size: 1rem;
  margin-bottom: 1rem;
}
#pageContact #contactBody .forminator-repeater-label {
  border-bottom: 2px solid #CCC;
  font-size: 1.1rem;
  line-height: 2;
  margin-bottom: 1rem;
  padding: 0.5rem 0;
}
#pageContact #contactBody .forminator-pagination--content,
#pageContact #contactBody .forminator-col,
#pageContact #contactBody .forminator-row,
#pageContact #contactBody .forminator-field {
  outline: none;
}
#pageContact #contactBody .forminator-radio,
#pageContact #contactBody .forminator-checkbox {
  font-size: 0.9rem;
  font-weight: 500;
}
#pageContact #contactBody #checkbox-3 {
  display: flex;
  justify-content: center;
}
#pageContact #contactBody .forminator-button {
  font-size: 1.1rem;
  padding: 0.5rem 1.5rem;
  letter-spacing: 0.1rem;
  border-radius: 0.3rem;
}
#pageContact #contactBody .forminator-required {
  color: #E51919;
}
#pageContact #contactBody #html-13 {
  text-align: center;
}
#pageContact #contactBody .forminator-field table {
  width: 100%;
  border: none;
}
#pageContact #contactBody .forminator-field table th {
  text-align: left;
  width: 20%;
  white-space: nowrap;
  border: none;
  border-bottom: 1px solid #CCC;
}
#pageContact #contactBody .forminator-field table td {
  border: none;
  border-bottom: 1px solid #CCC;
  white-space: pre;
}
#pageContact #contactBody .forminator-field-group {
  padding: 1rem;
  border-radius: 0.8rem;
  background-color: #F7F7F9;
}
#pageContact #contactBody .forminator-response-message {
  background-color: transparent;
}
#pageContact #contactBody .forminator-response-message p {
  font-size: 0.9rem;
  margin: 1rem 0;
  line-height: 2;
}
#pageContact #contactBody .iti__country-container {
  display: none;
}
#pageContact #contactBody .forminator-pagination-footer {
  justify-content: center !important;
  gap: 3rem;
}

#pageNews #pageTop figure {
  height: calc(60vh - 100px - 2rem);
}
@media screen and (max-width: 767px) {
  #pageNews #pageTop figure {
    height: 30vw;
  }
}

#newsList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  #newsList {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
#newsList article {
  text-align: center;
}
@media screen and (max-width: 767px) {
  #newsList article a {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  #newsList article a > figure {
    float: left;
    width: 36%;
    margin-right: 4%;
  }
}
#newsList article a > figure img {
  object-fit: cover;
}
#newsList article a > div {
  display: flex;
  justify-content: space-between;
  padding: 0.2rem 0.5rem;
}
@media screen and (max-width: 767px) {
  #newsList article a > div {
    padding: 0 0 0.2rem 0;
  }
}
#newsList article figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 3/2;
  background-color: #EEE;
  overflow: hidden;
  border-radius: 1rem;
  position: relative;
  z-index: -1;
}
#newsList article figure img {
  overflow: hidden;
  border-radius: 1rem;
  width: 100%;
}
#newsList article figure:before {
  content: "No Image";
  position: absolute;
  right: 2rem;
  bottom: 1rem;
  color: #CCC;
  z-index: -1;
}
#newsList article h3 {
  text-align: left;
  margin: 0 0.5rem;
  font-size: 1rem;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #newsList article h3 {
    -webkit-line-clamp: 2;
  }
}

#pageNewsSingle #pageTop {
  height: 200px;
  display: flex;
  align-items: center;
  width: 840px;
  margin: 0 auto;
  border-bottom: 1px solid #CCC;
}
@media screen and (max-width: 767px) {
  #pageNewsSingle #pageTop {
    height: 26vw;
    width: 100%;
    padding: 1rem;
  }
}
#pageNewsSingle #pageTop h1 {
  position: static;
  text-shadow: 0 0 3px #FFFFFF, 0 0 3px #FFFFFF, 0 0 3px #FFFFFF, 0 0 4px #FFFFFF, 0 0 4px #FFFFFF, 0 0 4px #FFFFFF;
}
#pageNewsSingle #pageTop > div {
  position: absolute;
  width: calc(100% - 12rem);
  line-height: 1.6;
  text-shadow: 0 0 3px #FFFFFF, 0 0 3px #FFFFFF, 0 0 3px #FFFFFF, 0 0 4px #FFFFFF, 0 0 4px #FFFFFF, 0 0 4px #FFFFFF;
  left: 6rem;
  bottom: 3rem;
}
@media screen and (max-width: 767px) {
  #pageNewsSingle #pageTop > div {
    bottom: 0;
    width: calc(100% - 5rem);
    left: 3rem;
    font-size: 4vw;
  }
}
#pageNewsSingle #newsSingleContent article {
  max-width: 840px;
  margin: 0 auto;
}
#pageNewsSingle #newsSingleContent article > div:nth-child(1) {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  align-items: center;
}
#pageNewsSingle #newsSingleContent article > div:nth-child(1) > time {
  margin-right: auto;
}
#pageNewsSingle #newsSingleContent article > div:nth-child(1) > span {
  border: 1px solid #CCC;
  border-radius: 1rem;
  padding: 0 1em;
}
#pageNewsSingle #newsSingleContent article > div:nth-child(1) > span.new {
  background-color: #ff9898;
  border-color: #ff9898;
  color: #FFF;
}
#pageNewsSingle #newsSingleContent article video {
  aspect-ratio: 16/9;
  background-color: black;
}
@media screen and (max-width: 767px) {
  #pageNewsSingle #newsSingleContent article video {
    aspect-ratio: unset;
  }
}
#pageNewsSingle #newsBackLink {
  margin-top: 5rem;
  justify-content: center;
}
#pageNewsSingle #newsBackLink a {
  width: auto;
  padding: 0.5rem 5rem;
}

.commonTop {
  height: 200px;
  display: flex;
  align-items: center;
  margin: 0 auto;
  border-bottom: 1px solid #CCC;
  width: 940px;
  position: static;
}
@media screen and (max-width: 767px) {
  .commonTop {
    width: auto;
    margin: 0 1rem;
    height: 30vw;
  }
}
.commonTop h1 {
  position: static !important;
  padding: 0;
}

#pageContent {
  max-width: 940px;
  margin: 0 auto;
}
#pageContent dl dt {
  font-weight: bold;
}
#pageContent dl dd {
  margin: 1.5em 0 1.5em 1em;
}
#pageContent ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 1em 0;
}
#pageContent ol li {
  padding-left: 2.4em;
  position: relative;
}
#pageContent ol li:before {
  content: "（" counter(my-counter) "）";
  counter-increment: my-counter;
  position: relative;
  margin-left: -2.9em;
}

/*# sourceMappingURL=main.css.map */
