body {
  --textImageSize:36px; }
  body:not(.scrolled) #head {
    background: transparent; }
  @media (min-width: 521px) {
    body {
      --textImageSize:48px; } }
  @media (min-width: 768px) {
    body:not(.scrolled) #head .logo_wrap .logo .a .icon {
      background-image: url(../images/common/logo_w.png); } }

#contents {
  padding-top: 0 !important; }

#mv {
  height: 100svh; }
  #mv .bg_wrap .bg {
    /*background-image:url("../images/home/bg_color.png");*/
    background-image: url("../images/home/mv_poster_sp.jpg"); }
  #mv .bg_wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  #mv .inner {
    position: relative;
    height: 100%;
    z-index: 1;
    box-sizing: border-box;
    padding-top: calc( var(--headHeight) + var(--space2) );
    padding-bottom: var(--space4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    grid-gap: var(--space4); }
    #mv .inner .copy_wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      /*grid-gap:var(--space1);
      letter-spacing:0.2em;
      color:#FFF;
      text-shadow:0px 0px 5px rgba(0,0,0,1);*/ }
      #mv .inner .copy_wrap .copy {
        aspect-ratio: 98/680;
        width: 49px; }
        #mv .inner .copy_wrap .copy .icon {
          width: 100%;
          height: 100%;
          background-image: url("../images/home/mv_copy_vertical.png"); }
    #mv .inner .text {
      color: #FFF;
      aspect-ratio: 486/493;
      width: 243px; }
      #mv .inner .text .icon {
        width: 100%;
        height: 100%;
        background-image: url("../images/home/mv_txt.png"); }
      #mv .inner .text > p {
        margin: var(--space1) var(--space2);
        text-shadow: 0px 0px 3px black;
        /*background:#FFF;
        padding:var(--space1) calc( var(--space1) / 2 );*/ }
  #mv .scroll_down {
    /*mix-blend-mode: normal;*/
    --barHeight:80px;
    --w:100px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: calc( -1 * var(--barHeight) / 2 ); }
    #mv .scroll_down .a {
      flex-direction: column-reverse;
      /*color:var(--textColor);*/ }
      #mv .scroll_down .a .bar {
        /*background:rgba(0,0,0,0.33);*/ }
        #mv .scroll_down .a .bar:after {
          background: var(--textColor); }
      #mv .scroll_down .a .txt {
        transform: rotate(90deg); }
        #mv .scroll_down .a .txt::before {
          content: "Scroll down"; }
  @media (max-width: 520px) {
    #mv .scroll_down {
      --barHeight:60px;
      --h:140px; } }
  @media (min-width: 521px) {
    #mv .bg_wrap .bg {
      background-image: url("../images/home/mv_poster_sp.jpg"); } }
  @media (max-width: 767px) {
    #mv .inner {
      justify-content: space-between; }
      #mv .inner .copy_wrap {
        margin-left: auto;
        margin-right: var(--space1);
        /*.copy{
        	@include vertical;
        	font-size:var(--fontSize_h3) !important;
        }*/ }
      #mv .inner .text {
        justify-content: flex-start;
        font-size: var(--fontSize_ss);
        width: 50vw;
        margin-right: auto; }
    #mv .scroll_down {
      left: auto; } }
  @media (min-width: 768px) {
    #mv .inner {
      grid-gap: var(--space4);
      padding-bottom: var(--space5);
      justify-content: center;
      align-items: flex-start;
      position: relative; }
      #mv .inner .copy_wrap {
        position: relative;
        top: 20vh;
        align-items: flex-start;
        /*grid-gap:var(--space2);
        letter-spacing:0.1em;*/ }
        #mv .inner .copy_wrap .copy {
          aspect-ratio: 1402/197;
          width: 60vw;
          max-width: 701px; }
          #mv .inner .copy_wrap .copy .icon {
            background-image: url("../images/home/mv_copy.png"); }
      #mv .inner .text {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        position: absolute;
        bottom: calc( var(--headHeight) + var(--space2) );
        right: 0;
        font-size: calc( var(--fontSize_n) * 1.25 );
        /*height:12rem;*/ }
        #mv .inner .text .combine {
          -webkit-text-combine: horizontal;
          -ms-text-combine-horizontal: all;
          text-combine-upright: all; }
        #mv .inner .text > p {
          margin: 0;
          line-height: 2.5;
          /*padding:var(--space2) calc( var(--space1) / 2 );*/ }
    #mv .scroll_down {
      position: absolute;
      bottom: calc( -1 * var(--barHeight) / 2 ); } }
  @media (min-width: 1024px) {
    #mv .inner .copy_wrap {
      top: 15vh;
      margin-bottom: var(--space5); } }

#news {
  padding-top: var(--space4);
  padding-bottom: var(--space4);
  position: relative;
  z-index: 2; }
  @media (min-width: 1024px) {
    #news .block {
      display: flex;
      flex-direction: row;
      grid-gap: var(--space4);
      justify-content: space-between; }
      #news .block .head {
        max-width: 120px;
        min-width: 140px;
        margin: 0; }
      #news .block .body {
        width: 100%; }
      #news .block .foot {
        min-width: 160px;
        max-width: 200px;
        margin: 0;
        margin-top: auto; } }

#reason .block .head .title_wrap {
  color: var(--textColor); }
  #reason .block .head .title_wrap .title {
    line-height: 0; }
    #reason .block .head .title_wrap .title span img {
      height: var(--textImageSize);
      width: auto; }
#reason .block .head strong {
  color: var(--tertiaryColor); }
#reason .block:last-child {
  margin-bottom: 0px; }
#reason .block:not(:last-child) {
  margin-bottom: calc( var(--space5) * 2 ); }
#reason .photo_wrap .photo {
  aspect-ratio: 4/3;
  line-height: 0;
  border-radius: var(--radius);
  overflow: hidden; }
  #reason .photo_wrap .photo::before {
    width: 1px;
    height: 1px;
    content: "";
    background: url("../images/home/photo_reason_01.jpg"), url("../images/home/photo_reason_02.jpg"), url("../images/home/photo_reason_03.jpg"), url("../images/home/photo_reason_04.jpg"), url("../images/home/photo_reason_05.jpg");
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0; }
  #reason .photo_wrap .photo .bg {
    background-image: url("../images/home/photo_reason_01.jpg");
    padding-top: 0;
    height: 100%;
    transition: var(--animationDuration) background; }
@media (max-width: 767px) {
  #reason .block_wrap_with_sticky_block .inner.inner_sub {
    display: none; } }
@media (min-width: 768px) {
  #reason .photo_wrap .photo {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px; }
    #reason .photo_wrap .photo .bg {
      background-image: url("../images/home/photo_reason_01.jpg"); }
  #reason .photo_wrap[slide=s2] .photo .bg {
    background-image: url("../images/home/photo_reason_02.jpg"); }
  #reason .photo_wrap[slide=s3] .photo .bg {
    background-image: url("../images/home/photo_reason_03.jpg"); }
  #reason .photo_wrap[slide=s4] .photo .bg {
    background-image: url("../images/home/photo_reason_04.jpg"); }
  #reason .photo_wrap[slide=s5] .photo .bg {
    background-image: url("../images/home/photo_reason_05.jpg"); } }

/*@keyframes gallery{
	0%{
		background-image:url("../images/home/photo_reason_01.jpg");
	}
	15%{
		background-image:url("../images/home/photo_reason_01.jpg");
	}
	20%{
		background-image:url("../images/home/photo_reason_02.jpg");
	}
	35%{
		background-image:url("../images/home/photo_reason_02.jpg");
	}
	40%{
		background-image:url("../images/home/photo_reason_03.jpg");
	}
	55%{
		background-image:url("../images/home/photo_reason_03.jpg");
	}
	60%{
		background-image:url("../images/home/photo_reason_04.jpg");
	}
	75%{
		background-image:url("../images/home/photo_reason_04.jpg");
	}
	80%{
		background-image:url("../images/home/photo_reason_05.jpg");
	}
	95%{
		background-image:url("../images/home/photo_reason_05.jpg");
	}
}*/
#service .block .head.border_bottom {
  padding-bottom: var(--space3);
  margin-bottom: var(--space4); }
#service .block .head .title_wrap {
  display: flex;
  flex-direction: column;
  align-items: center; }
  #service .block .head .title_wrap h2,
  #service .block .head .title_wrap .title {
    line-height: 0; }
    #service .block .head .title_wrap h2 .txt,
    #service .block .head .title_wrap .title .txt {
      height: var(--textImageSize); }
      #service .block .head .title_wrap h2 .txt img,
      #service .block .head .title_wrap .title .txt img {
        height: var(--textImageSize);
        width: auto; }
#service .block .head .explanation_wrap > .text {
  max-width: none !important; }
#service .block .foot {
  margin-top: var(--space4); }
#service .archives.archives_service .archive > .inner .info {
  min-height: 0px; }
#service .archives.archives_service .archive > .inner .columns {
  width: 100%;
  align-items: center; }
  #service .archives.archives_service .archive > .inner .columns .info {
    grid-gap: var(--space3); }
    #service .archives.archives_service .archive > .inner .columns .info .features {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      grid-gap: var(--space1) var(--space1); }
      #service .archives.archives_service .archive > .inner .columns .info .features .feature .a {
        min-width: 160px;
        height: calc( var(--buttonHeight) / 2 );
        color: #666;
        background: #E3E3E3;
        border-radius: 999px;
        font-size: var(--fontSize_s); }
@media (min-width: 768px) {
  #service .block .head .explanation_wrap {
    flex-direction: column;
    text-align: center; }
  #service .block:not(:last-child) {
    margin-bottom: calc( var(--space5) * 1.5 ); } }

#partners {
  padding-top: calc( var(--space5) * 2 ); }

#scrolling_logos {
  margin-top: var(--space2);
  overflow: hidden !important;
  width: 100vw;
  --h:69px;
  --gap:var(--space2);
  --wrapSize:100vw;
  --left:0px;
  height: var(--h);
  opacity: 0;
  filter: Alpha(opacity=0);
  transition: var(--animationDuration) opacity; }
  #scrolling_logos.active {
    opacity: 1;
    filter: Alpha(opacity=100); }
  #scrolling_logos > .inner {
    width: var(--wrapSize);
    position: relative;
    transform: translateX(var(--left)); }
  #scrolling_logos .banners {
    display: flex;
    grid-gap: var(--space4);
    flex-wrap: wrap;
    padding-left: var(--space4);
    box-sizing: border-box;
    width: var(--wrapSize); }
    #scrolling_logos .banners .banner .a picture {
      overflow: visible;
      border-radius: 0px; }
      #scrolling_logos .banners .banner .a picture::after {
        display: none; }
    #scrolling_logos .banners .banner .logo {
      height: var(--h); }
      #scrolling_logos .banners .banner .logo img,
      #scrolling_logos .banners .banner .logo source {
        height: var(--h);
        width: auto; }
    #scrolling_logos .banners.dummy {
      position: absolute;
      left: 100%;
      top: 0; }
