.p-top-fv {
  display: flex;
  --height: 111px;
  height: calc(100vh - var(--height));
  /* max-height: 730px; */
  position: relative;
}

.p-top-fv__bg{
  position: absolute;
  inset: 0;
  z-index: -1;
  &::before{
    content: "";
    display: block;
    background-color: rgba(189, 189, 189, 0.50);
    mix-blend-mode: multiply;
    position: absolute;
    inset: 0;
    z-index: 1;
  }
}

.p-top-fv__heading {
  max-width: 964px;
  width:  calc(100%* 964 / var(--width));
  margin-inline: auto;
  align-content: center;
  @media(max-width: 820px){
    width:  calc(100%* 332 / var(--width));
    translate: 0 -20px;
  }
}

.p-top-fv__ttl {
  aspect-ratio: 964 / 226;
}

.p-top-fv__text {
  font-size: clamp(1.75rem, -0.5rem + 3vw, 2.5rem);
  line-height: 1.3;
  letter-spacing: 0.1em;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  color: var(--base);
  margin-top: 25px;
  position: relative;
  z-index: 1;
  @media(max-width: 1200px){
    font-size: clamp(0.875rem, 0.477rem + 1.7vw, 1.75rem);
  }
  @media(max-width: 820px){
    margin-top: 6px;
  }
  &::before{
    content: "";
    background: linear-gradient(90deg, rgba(0, 70, 153, 0.00) -0.52%, var(--main) 9.53%, var(--main) 81.85%, rgba(0, 70, 153, 0.00) 100%);
    display: block;
    position: absolute;
    top: 0;
    left: -35px;
    bottom: 0;
    right: -36px;
    z-index: -1;
    @media(max-width: 820px){
      left: 0;
      right: 0;
      background: linear-gradient(90deg, rgba(0, 70, 153, 0.00) 0%, var(--main) 50%, rgba(0, 70, 153, 0.00) 100%);
    }
  }
}

.p-top-about {
  margin-top: 180px;
  max-width: calc(var(--width-inner) + (var(--pi)*2));
  padding-inline: var(--pi);
  margin-inline: auto;
  @media(max-width: 820px){
    margin-top: 80px;
  }
}

.p-top-about__container-1 {
  display: flex;
  gap:  calc(100%* 99 / 1240);
  align-items: flex-start;
  @media(max-width: 666px){
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: 
    'g-1'
    'g-3'
    'g-2';
    gap: 40px;
  }
}

.p-top-about__container-1-left {
  flex: 1;
  @media(max-width:666px){
    display: contents;
  }
}
.p-top-about__heading{
  @media(max-width: 666px){
    grid-area: g-1;
  }
}

.p-top-about__container-1-image-box {
  margin-top:  calc(100%* 48 / 458);
  @media(max-width: 666px){
    grid-area: g-2;
    margin-top:  calc(100%* -104 / 335);
  }
}

.p-top-about__container-1-image-1 {
  width:  calc(100%* 241 / 458);
  aspect-ratio: 241 / 177;
  position: relative;
  z-index: 1;
  @media(max-width: 666px){
    width:  calc(100%* 109 / 335);
    margin-left:  calc(100%* 30 / 335);
  }
}

.p-top-about__container-1-image-2 {
  width:  calc(100%* 241 / 458);
  aspect-ratio: 241 / 271;
  margin-left: auto;
  margin-top: calc(100%* -109 / 458);
  position: relative;
  z-index: 3;
  @media(max-width: 666px){
    width:  calc(100%* 109 / 335);
    margin-left:  calc(100%* 147 / 335);
    margin-top:  calc(100%* -32 / 335);
  }
}
.p-top-about__container-1-image-3 {
  width:  calc(100%* 241 / 458);
  aspect-ratio: 241 / 177;
  margin-left:  calc(100%* 31 / 458);
  margin-top: calc(100%* -78 / 458);
  position: relative;
  z-index: 2;
  @media(max-width: 666px){
    width:  calc(100%* 109 / 335);
    margin-top:  calc(100%* -80 / 335);
    margin-left: 0;
  }
}

.p-top-about__container-1-right {
  width: calc(100%* 686 / 1240);
  aspect-ratio: 686 / 473;
  @media(max-width: 666px){
    grid-area: g-3;
    width:  calc(100%* 268 / 335);
    margin-left: auto;
  }
}

.p-top-about__container-2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  @media(max-width: 820px){
    flex-direction: column-reverse;
    margin-top: 40px;
  }
}

.p-top-about__container-2-left {
  flex: 1;
  @media(max-width: 820px){
    width: 100%;
  }
}

.p-top-about__container-2-left-text {
  margin-top: 32px;
  font-size: 18px;
  line-height: 2;
  @media(max-width: 820px){
    font-size: 16px;
    margin-top: 0;

    &:nth-child(2){
      margin-top: 16px;
    }
  }
}

.p-top-about__container-2-left-btn a{
  width: 260px;
  margin-top: 64px;
  @media(max-width: 820px){
    width: 335px;
    margin-top: 32px;
  }
}

.p-top-about__container-2-right {
  width:  calc(100%* 421 / 1240);
  aspect-ratio: 421 / 473;
  @media(max-width: 820px){
    width: 100%;
    aspect-ratio: 335 / 200;
    overflow: hidden;
  }
}

.p-top-company{
  margin-top: 180px;
  @media(max-width: 820px){
    margin-top: 80px;
  }
}

.p-top-company__image {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1600 / 400;
  @media(max-width: 820px){
    aspect-ratio: 375 / 199;
  }

  img{
    -o-object-position: center 85%;
    object-position: center 85%;
  }
}

.p-top-company__contents {
  max-width: 962px;
  margin-inline: auto;
  margin-top: -120px;
  padding:  calc(100%* 64 / 1600);
  background-color: var(--base);
  box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1;
  @media(min-width: 1601px){
    padding: 64px;
  }
  @media(max-width: 1200px){
    width:  calc(100%* 1010 / 1200);
  }
  @media(max-width: 820px){
    width:  calc(100%* 335 / 375);
    padding: 32px 20px;
    margin-top: -68px;
  }
}

.p-top-company__contents-text {
  font-size: 18px;
  line-height: 2;
  margin-top: 64px;
  @media(max-width: 820px){
    margin-top: 40px;
    font-size: 16px;
  }
}

.p-top-company__contents-btn {
  width: 322px;
  margin-top: 60px;
  margin-inline: auto;
  @media(max-width: 820px){
    margin-top: 32px;
    width: 295px;
  }
}

.p-top-philosophy{
  margin-top: 180px;
  @media(max-width: 820px){
    margin-top: 80px;
    padding-inline: var(--pi);
    padding-block: 24px 80px;
  }
}

.p-top-philosophy__heading {
  max-width: 1480px;
  margin-inline: auto;
  padding-inline: var(--pi);
  position: relative;
  z-index: 1;
  &::before{
    left: var(--pi);
    @media(max-width:820px){
      left: 0;
    }
  }
  @media(max-width: 820px){
    margin-left: 0;
    padding-inline: 0;

  }
}

.p-top-philosophy__list-container{
  @media(max-width: 480px){
    top: calc(100% * 46 / 213);
  }
}

.p-top-philosophy__contents{
  @media(max-width: 820px){
    padding-top: 40px;
  }
}
.p-top-philosophy__bg{
  @media(max-width: 820px){
    top: 150px;
  }
}

.p-top-business {
  margin-top: 180px;
  max-width: calc(var(--width-inner) + (var(--pi)*2));
  padding-inline: var(--pi);
  margin-inline: auto;
  @media(max-width: 820px){
    margin-top: 80px;
  }
}

.p-top-business__read-box {
  display: flex;
  gap:  calc(100%* 64 / 1240);
  align-items: center;
  @media(max-width: 1280px){
    align-items: flex-start;
  }
  @media(max-width: 820px){
    flex-direction: column;
    gap: 40px;
    align-items: baseline;
  }
}
.p-top-business__heading{
  width:  calc(100%* 454 / 1240);
  @media(max-width: 1280px){
    width:  calc(100%* 458 / 1240);
  }
  @media(max-width: 820px){
    width: 100%;
  }
}

.p-top-business__read {
  flex: 1;
  font-size: 18px;
  line-height: 2;
  @media(max-width: 820px){
    font-size: 16px;
  }
}

.p-top-business__contents {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px 31px;
  @media(max-width: 960px){
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  @media(max-width: 666px){
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
}

.p-top-business__list {
  width:  calc(100%* 380 / 1240);
  @media(max-width: 960px){
    width: 100%;
  }
}


.p-top-business__list-image {
  aspect-ratio: 1;
  overflow: hidden;
  img{
    transition: var(--transition);
  }
}

@media (hover: hover) and (pointer: fine) {
  .p-top-business__list-image-box:has(.p-top-business__list-text a:hover) img{
    scale: 1.05;
  }
}
@media (hover: none) {
  :active{
  }
}

.p-top-business__list-text a{
  width: -moz-fit-content;
  width: fit-content;
  padding: 20px 102px 20px 32px;
  margin-top: 24px;
  margin-inline: auto;
  text-align: center  ;
  @media(max-width: 1024px){
    padding: 20px 80px 20px 20px;
  }
  @media(max-width: 820px){
    width: 100%;
    text-align: left;
    padding: 15px 32px 17px;
    margin-top: 16px;
  }
}

.p-top-business__list-text--pb6 a{
  padding: 6px 102px 6px 32px;
  @media(max-width: 1024px){
    padding: 6px 80px 6px 20px;
  }
}



.p-top-contents {
  margin-top: 180px;
  padding-block: 80px;
  background-color: var(--bg);
  @media(max-width: 820px){
    padding-block: 40px;
    margin-top: 80px;
  }
}

.p-top-contents__inner{
  display: grid;
  grid-template-columns:  calc(100%* 572 / 1240)  calc(100%* 588 / 1240);
  gap:  calc(100%* 80 / 1240);
  @media(max-width: 820px){
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
}

.p-top-contents__read {
  margin-top: 80px;
  font-size: 18px;
  line-height: 2;
  @media(max-width: 1200px){
    margin-top: 40px;
  }
  @media(max-width: 820px){
    font-size: 16px;
  }
}

.p-top-contents__list {
  padding-top:  calc(100%* 34 / 588);
  padding-left:  calc(100%* 48 / 588);
  position: relative;
  @media(max-width: 820px){
    padding-top: 16px;
    padding-left: 26px;
  }
  &::before{
    content: "";
    height: 1px;
    background-color: var(--main);
    display: block;
    position: absolute;
    top: 0;
    left: calc(100%* 48 / 588);
    right: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top-contents__list a:hover{
    opacity: 1;
  }
  .p-top-contents__list a:hover img{
    scale: 1.05;
  }
  .p-top-contents__list a:hover .p-top-contents__name{
    top: 34px;
  }
  .p-top-contents__list a:hover .p-top-contents__name::before{
    opacity: 1;
    right: -34px;
  }
}

.p-top-contents__name {
  font-size: 24px;
  font-family: var(--heading-sub);
  font-weight: 700;
  color: var(--main);
  position: absolute;
  top: 0;
  left: 0;
  translate: -30% 110%;
  z-index: 2;
  rotate: -90deg;
  transition: var(--transition);
  @media(max-width: 820px){
    font-size: 18px;
  }
  &::before{
    content: "";
    display: block;
    width: 16px;
    height: 23px;
    background-image: url(../images/contents/btn-blue.svg);
    position: absolute;
    top: 0;
    right: 50%;
    rotate: 90deg;
    opacity: 0;
    transition: var(--transition);
  }
}

.p-top-contents__image {
  aspect-ratio: 540 / 346;
  overflow: hidden;
  @media(max-width: 666px){
    aspect-ratio: 309 / 156;
  }
  img{
    transition: var(--transition);
  }
}

  @media(max-width: 666px){
.p-top-business__list-image {
    aspect-ratio: 320 / 160;
}
	  #business > ul > li:nth-child(1) > figure > div > img{
		  object-position: 0px -20px;
	  }
}
.p-top-access {
  margin-top: 180px;
  @media(max-width: 820px){
    margin-top: 80px;
  }
}


.p-top-access__map {
  margin-top: 80px;
  aspect-ratio: 1600 / 620;
  @media(min-width: 1601px){
    aspect-ratio: unset;
    height: 620px; 
  }
  @media(max-width: 820px){
    margin-top: 40px;
    height: 273px;
    aspect-ratio: unset;
  }
}

.p-top-access__btn-box {
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 64px;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  @media(max-width: 820px){
    grid-template-columns: 1fr;
    gap: 16px;
    padding-inline: var(--pi);
    width: 100%;
    margin-top: 40px;
  }
}

.p-top-access__btn a{
  padding-inline: 32px 102px;
  width: -moz-fit-content;
  width: fit-content;
  @media(max-width: 820px){
    padding: 15px 32px 17px;
    width: 100%;

  }
}


.p-top-sitemap {
  margin-top: 180px;
  padding-block: 80px;
  background-color: var(--bg);
  @media(max-width: 820px){
    padding-block: 40px;
    margin-top: 94px;
  }
}


.p-top-sitemap__read {
  margin-top: 80px;
  font-size: 18px;
  @media(max-width: 820px){
    margin-top: 40px;
    font-size: 16px;
    line-height: 2;
  }
}

.p-top-sitemap__contents-top {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 40px;
  margin-top: 80px;
  @media(max-width: 820px){
    margin-top: 40px;
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.p-top-sitemap__contents-bottom {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 40px;
  margin-top: 40px;
  @media(max-width: 820px){
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 32px;
  }
}

.p-top-sitemap__list {
  background-color: var(--base);
  box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
  padding-bottom: 40px;
  @media(max-width: 820px){
    padding-bottom: 24px;
  }
  @media (hover: hover) and (pointer: fine) {
    &:has(.p-top-sitemap__list-btn a:hover){
      box-shadow: unset;
    }
    &:has(.p-top-sitemap__list-btn a:hover) img{
      scale: 1.05;
    }
  }
  
}

.p-top-sitemap__list-image {
  aspect-ratio: 2 / 1;
  overflow: hidden;
  @media(max-width: 820px){
    aspect-ratio: unset;
    height: 300px;
  }
  img{
    transition: var(--transition);
  }
}
.p-top-sitemap__list-image-bottom {
  aspect-ratio: 388 / 300;
  overflow: hidden;
  @media(max-width: 820px){
    aspect-ratio: unset;
    height: 300px;
  }
  img{
    transition: var(--transition);
  }
}
.p-top-sitemap__list-image-bottom--top img{
  @media(max-width: 820px){
    -o-object-position: center top;
    object-position: center top;
  }
}
.p-top-sitemap__list-text {
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 24px;
  color: var(--main);
  @media(max-width: 820px){
    font-size: 20px;
  }
}

.p-top-sitemap__list-btn a{
  padding: 20px 102px 20px 32px;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 24px;
  @media(max-width: 820px){
    width: 280px;
    padding: 15px 32px 17px;
  }
}


