@charset "UTF-8";

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    outline: none;
    border: 0;
    list-style: none;
    vertical-align: baseline;
    text-decoration: none;
    font: inherit;
    -webkit-tap-highlight-color: transparent;
}

html {
    -webkit-overflow-scrolling: touch;
    height: 100%;
    font-size: 62.5%;
}

body {
    -webkit-overflow-scrolling: touch;
    height: 100vh;
    overflow: hidden;
    color: #000;
    background-color: #F6F5F3;
    font-size: 1.4rem;
    line-height: 1.86;
    font-family:"Noto Sans JP", sans-serif;
    font-weight:400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* animation-name:loading; */
    animation-duration:1s;
    animation-fill-mode:forwards;
    animation-delay:0.4s;
    background-image: linear-gradient(90deg, #c1ccd6 0%, #fdfeff);
}
body.active {
    height: auto;
    overflow: visible;
}

@keyframes loading {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

div, main, section {
  position: relative;
  display: block;
}

*:focus {
  outline: none;
}

img {
  max-width: 100%;
  height:auto;
}

a {
    text-decoration: none;
    -webkit-transition-duration: 0.35s;
    -moz-transition-duration: 0.35s;
    -ms-transition-duration: 0.35s;
    -o-transition-duration: 0.35s;
    transition-duration: 0.35s;
}

/* a:hover {
	opacity:0.7;
  filter: alpha(opacity=70);
  -moz-opacity:0.7;
} */

a:link, a:visited {
  color:#000;
  text-decoration:underline;
}

.sp{
    display:none;
}

.fadeinBlur {
    -ms-filter: blur(30px);
    filter: blur(30px);
    opacity: 0;
    -ms-transition-duration: 1.0s;
    transition-duration: 1.0s;
}
.fadeinBlur.scrollin {
    -ms-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
}

.loading {
    position: fixed;
    display: block;
    width: 100%;
    height: 100vh;
    background-color: #000;
    opacity: 1;
    z-index: 999;
}
.loading.active {
    display: none;
}
.loadingImg01 {
    display: block;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    width: 80vw;
    opacity: 0.1;
}
.loadingImg02 {
    display: block;
    position: absolute;
    transform: translate(-50%,-50%) rotate(0deg);
    top: 50%;
    left: 50%;
    width: 20vw;
    opacity: 0.1;
}
.loadingImg02.move {
    animation: animate_loading 5s infinite ease-out;
}
@keyframes animate_loading {
  0% {
    transform: translate(-50%,-50%) rotate(0deg);
  }
  20% {
    transform: translate(-50%,-50%) rotate(0deg);
  }
  24% {
    transform: translate(-50%,-50%) rotate(95deg);
  }
  25% {
    transform: translate(-50%,-50%) rotate(90deg);
  }
  45% {
    transform: translate(-50%,-50%) rotate(90deg);
  }
  49% {
    transform: translate(-50%,-50%) rotate(185deg);
  }
  50% {
    transform: translate(-50%,-50%) rotate(180deg);
  }
  70% {
    transform: translate(-50%,-50%) rotate(180deg);
  }
  74% {
    transform: translate(-50%,-50%) rotate(275deg);
  }
  75% {
    transform: translate(-50%,-50%) rotate(270deg);
  }
  95% {
    transform: translate(-50%,-50%) rotate(270deg);
  }
  99% {
    transform: translate(-50%,-50%) rotate(365deg);
  }
  100% {
    transform: translate(-50%,-50%) rotate(360deg);
  }
}

header{
    position: fixed;
    width:100%;
    height:5vw;
    display: flex;
    justify-content: space-between;
    z-index:99;
    -webkit-transition-duration: 0.35s;
    -moz-transition-duration: 0.35s;
    -ms-transition-duration: 0.35s;
    -o-transition-duration: 0.35s;
    transition-duration: 0.35s;
}
header.active {
    background-color: rgba(255,255,255,0.85);
}

.logo{
    width:12.875vw;
    position:relative;
    left:2vw;
    top:0.8125vw;
}

.gnav{
    display: flex;
    justify-content: flex-end;
    column-gap: 2.6875vw;
    line-height: 0;
    position:relative;
    right:2.25vw;
    top:1.9vw;
}
.gnav li a {
    -webkit-transition-duration: 0.35s;
    -moz-transition-duration: 0.35s;
    -ms-transition-duration: 0.35s;
    -o-transition-duration: 0.35s;
    transition-duration: 0.35s;
    opacity: 1;
}
.gnav li a:hover {
    opacity: 0.5;
}

.nav_01{
    width:2.8125vw;
}

.nav_02{
    width:3.25vw;
}

.nav_03{
    width:4.25vw;
}

.nav_04{
    width:2.6875vw;
}

.nav_05{
    width:4.1875vw;
}

.nav_06{
    width:3.8125vw;
}

#home{
    width:100%;
    height:111.5vw;
}

#home video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.home_square{
    width:56.25vw;
}

.lead{
    position:absolute;
    width: 37.24vw;
    right: 4.5vw;
    top: 7.875vw;
    z-index:1;
    -ms-filter: blur(30px);
    filter: blur(30px);
    opacity: 0;
    -ms-transition-duration: 2.0s;
    transition-duration: 2.0s;
    -ms-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
}
.lead.active {
    -ms-filter: blur(0);
    filter: blur(0);
    opacity: 1;
}

.logo_large{
    line-height:0;
}

.lead_text{
    font-size:1.125vw;
    line-height: 2.17em;
    font-weight: 800;
    font-feature-settings: "palt";
    letter-spacing: 0.178em;
    margin-top:1.625vw;
    margin-left:1.03125vw;
}

.lead_text span{
    display: inline-block;
    padding-left:0.0625vw;
}

#about{
    position:absolute;
    left:3.6875vw;
    top:65.4375vw;
    z-index:1;
}

.about_heading{
    width:30.6875vw;
    margin-left:0.1875vw;
    margin-bottom:5.65625vw;
    line-height: 0;
}

.about_subheading_jp{
    font-size:1.5vw;
    line-height: 1em;
    margin-left:0.25vw;
    margin-bottom:1.4375vw;
    font-weight: 800;
    letter-spacing: 0.204em;
}

.about_subheading_en{
    width: 26.75vw;
    margin-left:0.3125vw;
    margin-bottom:2.59375vw;
    line-height: 0;
}

.about_text{
    font-size:1vw;
    margin-left:0.03125vw;
    line-height: 2.103125em;
    font-weight: 800;
    font-feature-settings: "palt";
    letter-spacing: 0.204em;
}

.about_4x{
    width:40.75vw;
    line-height: 0;
    position: absolute;
    right:0.5625vw;
    bottom:6.75vw;
    z-index:1;
}

.about_subheading_en_deco{
    width:89.8125vw;
    position: absolute;
    left:0;
    bottom:0;
    line-height:0;
}

#ourstance{
    height:100vh;
    padding-left:4.625vw;
    padding-top:0;
    position: sticky;
    top:0;
    left:0;
    overflow: hidden;
    margin-bottom: 40vw;
}
#ourstance::before {
    content: '';
    position: absolute;
    transform: translate(-50%,-50%) scale(1.1);
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100vh;
    background-image: url(../img/ourstance_4x.svg), url(../img/ourstance_bg.jpg);
    background-size: contain, cover;
    background-repeat: no-repeat;
    background-position: right, center;
    filter: blur(50px);
    -webkit-transition-duration: 2.0s;
    transition-duration: 2.0s;
}
#ourstance.scrollin::before {
    transform: translate(-50%,-50%) scale(1.0);
    filter: blur(0);
}

.ourstance_container{
    position: absolute;
    top:50%;
    transform: translateY(-50%);
}

.ourstance_heading{
    width:30.6875vw;
    margin-left:0.1875vw;
    margin-bottom:4.375vw;
    line-height: 0;
}

.ourstance_subheading{
    font-size:1.5vw;
    line-height: 1.9020875em;
    margin-left:0.15625vw;
    margin-bottom:3.9375vw;
    font-weight: 800;
    color:#ffffff;
}

.ourstance_point{
    display: flex;
    column-gap: 2.5vw;
}

.ourstance_point li{
    width:18.375vw;
    line-height: 0;
}

.ourstance_4x{
    width:28.75vw;
    position:absolute;
    right:0;
    top:50%;
    transform: translateY(-50%);
}

#ourservices{
    height:100vh;
    padding-top:0;
    padding-left:4.71875vw;
    background-image: linear-gradient(90deg, #c1ccd6 0%, #fdfeff), linear-gradient(90deg,rgba(249, 249, 249, 0.5) 0%, rgba(224, 224, 224, 0.5) 100%) ;
    background-size:100%, 100%;
    background-repeat:no-repeat;
    overflow: hidden;
    position: sticky;
    top:0;
    left:0;
    margin-bottom: 40vw;
}

#ourservices::before{
    position: absolute;
    content: "";
    width:100%;
    height:100%;
    transform: translate(-50%,-50%) scale(1.1);
    top: 50%;
    left: 50%;
    background-image: url(../img/ourservices_bg.png);
    background-repeat: no-repeat;
    background-size:contain;
    filter: blur(50px);
    -webkit-transition-duration: 2.0s;
    transition-duration: 2.0s;
}
#ourservices.scrollin::before {
    transform: translate(-50%,-50%) scale(1.0);
    filter: blur(0);
}

.ourservices_bg_overlay{
    position: absolute;
    content: "";
    width:100%;
    height:100%;
    left:0;
    top:0;
    background-image: linear-gradient(90deg, #c1ccd6 0%, #fdfeff);
    background-repeat: no-repeat;
    background-size: cover;
    mix-blend-mode:multiply;
    opacity: 0.26;
}

.ourservices_container{
    position: absolute;
    top:50%;
    transform: translateY(-43%);
}

.ourservices_heading{
    width:30.6875vw;
    margin-left:0.15625vw;
    margin-bottom: 3.65625vw;
    line-height: 0;
}

.ourservices_text{
    font-size:1vw;
    line-height: 2.1875em;
    font-weight: 800;
    font-feature-settings: "palt";
    letter-spacing: 0.204em;
}

.ourservices_point{
    position: absolute;
    height:48.375vw;
    top:50%;
    transform:translateY(-46%);
    left:46.9375vw;
}

.ourservices_point li{
    width:31vw;
    height:51.875vw;
    background-image: url(../img/ourservices_bg_square.png);
    background-repeat: no-repeat;
    background-size: 31vw;
    position: absolute;
}

.ourservices_point li:nth-of-type(1){
    left:0;
    top:0;
    z-index:1;
}

.ourservices_point li:nth-of-type(2){
    left:23.25vw;
    top:0;
    z-index:2;
}

.ourservices_point li:nth-of-type(3){
    left:0;
    top:22.5625vw;
    z-index:3;
}

.ourservices_point li:nth-of-type(4){
    left:23.25vw;
    top:22.5625vw;
    z-index:4;
}

.ourservices_point_content{
    width:21.5vw;
    height:19.75vw;
    margin-left:2.25vw;
    margin-top: 2.25vw;
    padding-left:2vw;
    padding-top:1.4375vw;
}

.ourservices_point_content_heading_01,
.ourservices_point_content_heading_02,
.ourservices_point_content_heading_03,
.ourservices_point_content_heading_04{
    line-height: 0;
    margin-bottom:1.75vw;
}

.ourservices_point_content_heading_01{
    width:13.6875vw;
}

.ourservices_point_content_heading_02{
    width:11vw;
}

.ourservices_point_content_heading_03{
    width:16.0625vw;
}

.ourservices_point_content_heading_04{
    width:10.625vw;
}

.ourservices_point_content_subheading_01,
.ourservices_point_content_subheading_02,
.ourservices_point_content_subheading_03,
.ourservices_point_content_subheading_04{
    font-size: 1.125vw;
    line-height: 1.55555556em;
    font-feature-settings: "palt";
    letter-spacing: 0.204em;
    font-weight: 800;
    margin-bottom:1.1875vw;
}

.ourservices_point_content_subheading_01{
    margin-bottom:3.6875vw;
}


.ourservices_point_content_subheading_01{
    color:#e02535;
}

.ourservices_point_content_subheading_02{
    color:#00a29a;
}

.ourservices_point_content_subheading_03{
    color:#fdc308;
}

.ourservices_point_content_subheading_04{
    color:#036eb8;
}

.ourservices_point_content_text{
    font-size:0.9375vw;

    line-height:1.70878em;
    font-weight: 700;
}

#ourmedia{
    height:100vh;
    padding-top:0;
    padding-left:4.71875vw;
    background-image: linear-gradient(90deg, #c1ccd6 0%, #fdfeff);
    position: sticky;
    overflow: hidden;
    top:0;
    left:0;
    margin-bottom: 40vw;
}

#ourmedia::before{
    position: absolute;
    content: "";
    width:100%;
    height:100%;
    transform: translate(-50%,-50%) scale(1.1);
    left:50%;
    top:50%;
    background-image: url(../img/ourmedia_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    mix-blend-mode: multiply;
    filter: blur(50px);
    -webkit-transition-duration: 2.0s;
    transition-duration: 2.0s;
}
#ourmedia.scrollin::before {
    transform: translate(-50%,-50%) scale(1.0);
    filter: blur(0);
}

.ourmedia_container{
    position: absolute;
    top:50%;
    transform: translateY(-78%);
}

.ourmedia_heading{
    width:30.6875vw;
    margin-left:0.15625vw;
    margin-bottom: 3.9375vw;
    line-height: 0;
}

.ourmedia_text{
    font-size:1vw;
    line-height: 2.1875em;
    font-weight: 800;
    font-feature-settings: "palt";
    letter-spacing: 0.204em;
}

.ourmedia_logo{
    width:44.75vw;
    position: absolute;
    left:47.8125vw;
    top:70%;
    transform: translateY(-49%);    
    display: flex;
    flex-wrap: wrap;
    column-gap: 4.75vw;
    margin-top: 50px;
}

.ourmedia_logo li{
    width:20vw;
    max-width: 350px;
    line-height: 0;
}

.ourmedia_logo li:nth-of-type(1),.ourmedia_logo li:nth-of-type(2){
    margin-bottom: 3.3125vw;
}

.ourmedia_logo li:nth-of-type(3),.ourmedia_logo li:nth-of-type(4){
    margin-bottom: 2.0625vw;
}

.ourmedia_logo li:nth-of-type(5),.ourmedia_logo li:nth-of-type(6){
    margin-bottom: 2.625vw;
}

.ourmedia_logo li:nth-of-type(7){
    margin-bottom: 2.375vw;
}

#company{
    min-height: 100vh;
    padding-top:8.8125vw;
    padding-left:4.71875vw;
    padding-bottom:4.5625vw;
    background-image: linear-gradient(90deg, #c1ccd6 0%, #fdfeff);
    position: sticky;
    overflow: hidden;
    top:0;
    left:0;
    margin-bottom: 40vw;
}

#company::before{
    position: absolute;
    content: "";
    width:100%;
    height:100%;
    transform: translate(-50%,-50%) scale(1.1);
    left:50%;
    top:50%;
    background-image: url(../img/company_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    mix-blend-mode: multiply;
    filter: blur(50px);
    -webkit-transition-duration: 2.0s;
    transition-duration: 2.0s;
}
#company.scrollin::before {
    transform: translate(-50%,-50%) scale(1.0);
    filter: blur(0);
}

.company_heading{
    width:30.6875vw;
    margin-left:0.15625vw;
    margin-bottom: 3.1875vw;
    line-height: 0;
}

.company_accessmap{
    width:39vw;
    height:34.625vw;
}

.company_info{
    position: absolute;
    left:55.8125vw;
    top:6.875vw;
}

.company_line{
    width:0.4375vw;
    position: absolute;
    left:0;
    top:0;
    line-height: 0;
}

.company_info_text{
    font-size: 1vw;
    line-height: 1.840625em;
    font-weight: 500;
    margin-top:-0.125vw;
    margin-left:2.9375vw;
}

.company_info_text li{
    display: flex;
    column-gap: 4vw;
    margin-bottom: 3.1875vw;
}

.company_info_text_mainbusiness{
    margin-bottom:2.34375vw !important;
}

.company_info_text_heading{
    width:5.6875vw;
    letter-spacing:0.104em ;
}

.company_info_text_heading_place{
    letter-spacing: 0.226em;
}

/* ▼▼▼【変更点】ここに追加します ▼▼▼ */
.company_info_text_place {
  margin-bottom: 1.0vw; /* 所在地と株主の間の余白を調整 */
}
/* ▲▲▲【変更点】ここまで ▲▲▲ */

.company_info_text_heading_capital{
    letter-spacing: 0.21em;
}

.company_info_text_data_boardmember{
    display: block;
    margin-bottom: 0.71875vw;
}
/* 会社情報の補足テキスト用スタイル */
.company_info_text .supplement {
  font-size: 0.80em;      /* 親要素の85%のサイズに */
  font-weight: normal;    /* 太さを通常に */
  display: inline-block;  /* 上下の余白を指定できるように */
  margin-top: 4px;        /* 上の住所との間に余白を追加 */
  line-height: 1.6;       /* 行間を調整 */
}
#company iframe {
    position: relative;
    z-index: 1;
}
@media (max-height: 1080px) and (max-width: 2399px) {
    .company_info{
        height: 80vh;
    }
    .company_info_text{
        font-size: 1.8vh;
        line-height: 2.8vh;
    }
    .company_info_text li{
        margin-bottom: 5.8875vh !important;
    }
    #company iframe {
        height: 60vh;
    }
}
@media (max-height: 1080px) and (min-width: 1800px) {
    .company_info_text{
        font-size: 16px;
        line-height: 1.2;
    }
    .company_info_text li{
        column-gap: 4vw;
        margin-bottom: 50px;
    }
}
@media (max-height: 1080px) and (min-width: 2400px) {
    .company_info_text li{
        margin-bottom: 4.8875vh !important;
    }
}

#contactus{
    height: 100vh;
    position: sticky;
    top: 0;
    left:0;
    padding-top:12.9375vw;
    padding-left:4.71875vw;
    padding-bottom:17.03125vw;
    background-image: linear-gradient(90deg, #c1ccd6 0%, #fdfeff);
    overflow: hidden;
    margin-bottom: 20vw;
}

#contactus::before{
    position: absolute;
    content: "";
    width:100%;
    height:100%;
    transform: translate(-50%,-50%) scale(1.1);
    left:50%;
    top:50%;
    background-image: url(../img/contactus_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    mix-blend-mode: multiply;
    filter: blur(50px);
    -webkit-transition-duration: 2.0s;
    transition-duration: 2.0s;
}
#contactus.scrollin::before {
    transform: translate(-50%,-50%) scale(1.0);
    filter: blur(0);
}

.contactus_heading{
    width:30.6875vw;
    margin-left:0.15625vw;
    margin-bottom: 7.09375vw;
    line-height: 0;
}

.contactus_text{
    font-size:1vw;    
    line-height: 2.425em;
    font-weight: 800;
    font-feature-settings: "palt";
    letter-spacing: 0.204em;
}

.contactus_4x_wrapper{
    position: absolute;
    left:49.4375vw;
    top:15.8125vw;
}

.contactus_4x{
    width:45.50vw;
    height: 8vw;
    margin-bottom: 5.28125vw;
    box-shadow: 0.375vw 0.375vw 0.9375vw 0.375vw rgba(0, 0, 0, 0.22);
    background-color: #ffffff;
    text-align: center;
    -webkit-transition-duration: 0.35s;
    -moz-transition-duration: 0.35s;
    -ms-transition-duration: 0.35s;
    -o-transition-duration: 0.35s;
    transition-duration: 0.35s;
}
.contactus_4x:hover {
    box-shadow: 0vw 0vw 0.5vw 0.375vw rgba(0, 0, 0, 0.22);
}
.contactus_4x a {
    display: block;
    width: 100%;
}
.contactus_4x a img {
    display: block;
    width: 52%;
    margin: 0 auto;
}
.contactus_4x a::after {
    content: "  〉";
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden;
    width: 3.5%;
    height: 100%;
    background-color: #000;
    color: #fff;
    font-weight: 900;
    text-align: center;
}

.contactus_4x img{
    width:auto;
    max-height: 100%;
}

.contactus_4x_company{
    display: flex;
    column-gap: 2.75vw;
}

.contactus_4x_company li{
    position: relative;
    width: 9.35vw;
    height: 9.35vw;
    box-shadow: 0.375vw 0.375vw 0.9375vw 0.375vw rgba(0, 0, 0, 0.22);
    -webkit-transition-duration: 0.35s;
    -moz-transition-duration: 0.35s;
    -ms-transition-duration: 0.35s;
    -o-transition-duration: 0.35s;
    transition-duration: 0.35s;
}
.contactus_4x_company li:hover {
    box-shadow: 0vw 0vw 0.5vw 0.375vw rgba(0, 0, 0, 0.22);
}
.contactus_4x_company li a::after {
    content: "  〉";
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden;
    width: 15%;
    height: 100%;
    background-color: #000;
    color: #fff;
    font-weight: 900;
    text-align: center;
}

.contactus_ai{
    background-color: #e02535;
}

.contactus_somewrite{
    background-color: #00a29a;
}

.contactus_dec{
    background-color: #fdd108;
}

.contactus_asadigi{
    background-color: #036eb8;
}

footer{
    margin:0 auto;
    width:100%;
    background-color: #000;
    background-image: url(../img/footer_bg.svg) ;
    background-repeat: no-repeat;
    background-position: right;
    background-size: contain;
    color:#fff;
    position: relative;
    padding-top:6.71875vw;
    padding-left:4.9375vw;
    padding-bottom:7.3125vw;
}

.footer_logo{
    width:29.3125vw;
    line-height: 0;
    margin-left:0.1875vw;
    margin-bottom:3.59375vw;
}

.footer_company_name{
    font-size:1.375vw;
    line-height: 1em;
    letter-spacing: 0.021em;
    margin-bottom:1.34375vw;
    font-weight: 500;
    width: 50%;
}

.footer_company_address{
    font-size:1.125vw;
    line-height: 1.49791667em;
    letter-spacing: 0.021em;
    font-weight: 500;
    width: 50%;
}

.footer_company_address_place{
    margin-left:-0.09375vw;
}

.footer_company_address_mail{
    display: block;
    margin-left:0.0625vw;
    margin-top: 0.6vw;
}
.footer_copyright {
    display: block;
    margin-top: 1.5rem;
}

.footer_nav{
    display: flex;
    position:absolute;
    left:55.5vw;
    top:8.1875vw;
}

.footer_nav li{
    width: 8.75vw;
    line-height: 0;
}

.footer_nav>li:nth-of-type(2){
    margin-left:0.9375vw;
    margin-right:0.875vw;
}

.footer_nav_main{
    display: flex;
    flex-direction: column;
    row-gap: 1.875vw;
}
.footer_nav>li:nth-of-type(3) .footer_nav_main li{
    width: 10vw;
}

.hyphen{
    position:relative;
    top:-0.0625vw;
}

.menu_sp {
    display: none;
}


@media (max-width: 440px) {
    .pc{
        display:none;
    }

    .sp{
        display:block;
    }

    .logo{
        width:53.33333333vw;
        left:2.13333333vw;
        top:2.4vw;
    }

    header{
        height: 19vw;
    }

    .gnav{
        display:none;
    }

    .hamburger{
        width:11.73333333vw;
        height:11.73333333vw;
        border-radius: 50%;
        background-color: #000;
        position: fixed;
        right:2.66666667vw;
        top:2.66666667vw;
        z-index:100;
        cursor:pointer;
        transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    }

    .hamburger::before{
        content:"";
        width:6.4vw;
        height:0.26666667vw;
        background-color: #fff;
        position:absolute;
        left:2.66666667vw;
        top:4.8vw;
        transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    }

    .hamburger::after{
        content:"";
        width:6.4vw;
        height:0.26666667vw;
        background-color: #fff;
        position:absolute;
        left:2.66666667vw;
        top:6.66666667vw;
        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    }

   .hamburger.close{
        background-color: #fff;
    }


    .hamburger.close::after{
        background-color: #000;
        transform:rotate(-45deg) scaleX(1.16666667);
        top:5.73333333vw;
    }

    .hamburger.close::before{
        background-color: #000;
        transform:rotate(45deg)  scaleX(1.16666667);
        top:5.73333333vw;
    }

    #home{
        height:349.06666667vw;
    }

    .home_square{
        position:relative;
        width:36vw;
        top:21.06666667vw;
    }

    .lead{
        width:70.13333333vw;
        right:3.2vw;
        top:26.13333333vw;
    }

    .lead_text{
        font-size:3.46666667vw;
        line-height: 7.2vw;
        letter-spacing: 0.1em;
        margin-top:5.6vw;
        margin-left:1.33333333vw;
    }

    .lead_text span{
        padding-left:0.26666667vw;
    }

    #about{
        position:absolute;
        left:4.8vw;
        top:150.66666667vw;
    }

    .about_heading{
        width:77.33333333vw;
        margin-left:0.26666667vw;
        margin-bottom:10.4vw;
    }

    .about_subheading_jp{
        font-size:4.8vw;
        margin-left:0.53333333vw;
        margin-bottom:4.66666667vw;
    }

    .about_subheading_en{
        width: 88.53333333vw;
        margin-left:0.8vw;
        margin-bottom:89.6vw;
    }

    .about_text{
        font-size:3.46666667vw;
        line-height:7.2vw;
        margin-left:0;
        letter-spacing: 0.164em;
    }

    .about_subheading_en_deco{
        width:95.2vw;
    }

    .about_4x{
        width:85.73333333vw;
        left:9.6vw;
        right:auto;
        bottom:70.13333333vw;
    }

    #ourstance{
        position: relative;
        padding-left:0;
        /* background-image: url(../img/ourstance_4x_sp.svg), url(../img/ourstance_bg.jpg); */
        margin-bottom: 0;
    }
    #ourstance::before {
        content: '';
        position: absolute;
        transform: translate(-50%,-50%) scale(1.1);
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100vh;
        background-image: url(../img/ourstance_4x.svg), url(../img/ourstance_bg.jpg);
        background-size: 60%, cover;
        background-repeat: no-repeat;
        background-position: right 110%, center;
        filter: blur(50px);
        -webkit-transition-duration: 2.0s;
        transition-duration: 2.0s;
    }

    .ourstance_heading{
        width:72vw;
        margin-left:5.86666667vw;
        margin-bottom:9.86666667vw;
    }

    .ourstance_subheading{
        font-size:3.73333333vw;
        line-height: 7.2vw;
        margin-left:5.86666667vw;
        margin-bottom:8.53333333vw;
    }

    .ourstance_point{
        display: block;
        position: relative;
        height:83.46666667vw;
    }

    .ourstance_point li{
        position:absolute;
        width:42.66666667vw;
    }

    .ourstance_point li:nth-of-type(1){
        left:28.66666667vw;
    }
    
    .ourstance_point li:nth-of-type(2){
        top:40.8vw;
        left:5.33333333vw;
    }

    .ourstance_point li:nth-of-type(3){
        top:40.8vw;
        left:52vw;
    }

    #ourservices{
        height:auto;
        padding-top:9.6vw;
        padding-left:5.86666667vw;
        background-image: linear-gradient(90deg, #c1ccd6 0%, #fdfeff), linear-gradient(90deg,rgba(249, 249, 249, 0.5) 0%, rgba(224, 224, 224, 0.5) 100%) ;
        background-size:100%, 100%;
        background-repeat:no-repeat;
        overflow: hidden;
        /*position: sticky;
        top:0;
        left:0;*/
        position: relative;
        margin-bottom: 0;
    }

    #ourservices::before{
        background-size:cover;
    }

    .ourservices_container{
        position: relative;
        top:0;
        transform:none;
    }

    .ourservices_heading{
        width:72vw;
        margin-left:0vw;
        margin-bottom:6.93333333vw;
    }

    .ourservices_text{
        font-size:3.46666667vw;
        line-height: 2em;
        letter-spacing: 0.1em;
        margin-bottom:3.2vw;
    }

    .ourservices_point{
        position: relative;
        height:101.33333333vw;
        top:0;
        left:-4.4vw;
        transform:none;
    }

    .ourservices_point li{
        width:61.06666667vw;
        background-size: 61.06666667vw;
        height:102.18816vw;
        position: absolute;
    }

    .ourservices_point li:nth-of-type(1){
        left:0;
        top:0;
    }

    .ourservices_point li:nth-of-type(2){
        left:45.86666667vw;
        top:0;
    }

    .ourservices_point li:nth-of-type(3){
        left:0;
        top:44.53333333vw;
    }

    .ourservices_point li:nth-of-type(4){
        left:45.86666667vw;
        top:44.53333333vw;
    }

    .ourservices_point_content_heading_01,
    .ourservices_point_content_heading_02,
    .ourservices_point_content_heading_03,
    .ourservices_point_content_heading_04{
        margin-bottom:3.2vw;
    }


    .ourservices_point_content_heading_01{
        width:26.93333333vw;
    }

    .ourservices_point_content_heading_02{
        width:21.6vw
    }

    .ourservices_point_content_heading_03{
        width:31.62384vw;
    }

    .ourservices_point_content_heading_04{
        width:20.90666667vw;
    }

    .ourservices_point_content{
        width:42.13333333vw;
        height:39.2vw;
        margin-left:4.26666667vw;
        margin-top: 4.26666667vw;
        padding-left:4vw;
        padding-top:2.93333333vw;
    }

    .ourservices_point_content_subheading_01,
    .ourservices_point_content_subheading_02,
    .ourservices_point_content_subheading_03,
    .ourservices_point_content_subheading_04{
        font-size:2.23552vw;
        margin-bottom:2.66666667vw;
    }

    .ourservices_point_content_subheading_01{
        margin-bottom:7.46666667vw;
    }

    .ourservices_point_content_text{
        font-size:1.86213333vw;
    }

    #ourmedia{
        position: relative;
        padding-top:0;
        padding-left:5.86666667vw;
        margin-bottom: 0;
    }

    .ourmedia_container{
        position: absolute;
        top:50%;
        transform: translateY(-48.4%);
    }

    .ourmedia_heading{
        width:72vw;
        margin-left:0;
        margin-bottom: 9.86666667vw;
    }

    .ourmedia_text{
        font-size:3.46666667vw;
        line-height: 2em;
        letter-spacing: 0.1em;
        margin-bottom:8vw;
    }

    .ourmedia_logo{
        position: relative;
        width:87.2vw;
        left:0;
        top:0;
        transform: none;
        column-gap: 8.8vw;
    }

    .ourmedia_logo li{
        width:39.2vw;
    }

    .ourmedia_logo li:nth-of-type(1),.ourmedia_logo li:nth-of-type(2){
        margin-bottom: 4.53333333vw;
    }

    .ourmedia_logo li:nth-of-type(3),.ourmedia_logo li:nth-of-type(4){
        margin-bottom: 1.6vw;
    }

    .ourmedia_logo li:nth-of-type(5),.ourmedia_logo li:nth-of-type(6){
        margin-bottom: 1.06666667vw;
    }

    .ourmedia_logo li:nth-of-type(7){
        margin-bottom: 1.06666667vw;
    }

    #company{
        padding-top:9.6vw;
        padding-left:5.86666667vw;
        padding-right:5.86666667vw;
        padding-bottom:15.2vw;
        /*position: sticky;
        top:0;
        left:0;*/
        position: relative;
        margin-bottom: 0;
    }

    #company::before{
        background-size: cover;
    }

    .company_heading{
        width:72vw;
        margin-left:0;
        margin-bottom: 11.46666667vw;
    }

    .company_info{
        position: relative;
        left:0;
        top:0;
        height: 100%;
    }

    .company_line{
        width:1.6vw;
    }

    .company_info_text{
        font-size: 3.46666667vw;
        line-height: 1.9em;
        margin-top:0.26666667vw;
        margin-left:8vw;
    }

    .company_info_text li{
        column-gap: 9.33333333vw;
        margin-bottom: 10.66666667vw;
    }

    .company_info_text_heading{
        width:16vw;
        min-width:16vw;
    }

    .company_info_text_mainbusiness{
        margin-bottom:10.66666667vw !important;
    }

    .company_info_text_data_boardmember{
        margin-bottom: 4vw;
    }

    .company_accessmap{
        width:100%;
        height:78.4vw;
    }

    #contactus{
        position: relative;
        padding-top:9.6vw;
        padding-left:5.86666667vw;
        padding-bottom:18.66666667vw;
        margin-bottom: 0;
    }

    #contactus::before{
        background-size: cover;
    }

    .contactus_heading{
        width:72vw;
        margin-left:0;
        margin-bottom: 9.6vw;
    }

    .contactus_text{
        font-size:3.46666667vw;    
        line-height: 7.2vw;
        letter-spacing: 0.1em;
        margin-bottom:14.13333333vw;
    }

    .contactus_4x_wrapper{
        position: relative;
        left:0;
        top:0;
    }

    .contactus_4x{
        width:88.26666667vw;
        height: 24.4vw;
        margin-bottom: 10.13333333vw;
        box-shadow: 0.8vw 0.8vw 3.2vw 0.8vw rgba(0, 0, 0, 0.22);
    }
    .contactus_4x a img {
        width: 80%;
    }
    .contactus_4x a::after {
        content: "  〉";
        width: 6.5%;
    }

    .contactus_4x_company{
        width:88.26666667vw;
        column-gap:normal;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .contactus_4x_company li{
        display: flex;
        align-items: center;
        width: 40vw;
        height: 19vw;
        box-shadow: 0.8vw 0.8vw 3.2vw 0.8vw rgba(0, 0, 0, 0.22);
        margin: 0 0 5vw 0;
    }
    .contactus_4x_company li a img {
        display: block;
        width: 60%;
        margin: 0 auto;
    }

    footer{
        background-image: url(../img/footer_bg_sp.svg) ;
        background-position: right top;
        background-size: 74.66666667vw; 
        padding-top:13.06666667vw;
        padding-left:5.86666667vw;
        padding-right:5.86666667vw;
        padding-bottom:23.33333333vw;
    }

    .footer_company_address_mail{
        display: block;
        margin-left:0.5625vw;
        margin-top: 2vw;
    }

    .footer_nav{
        display: block;
        position:relative;
        left:0;
        top:0;
        margin-left:2.4vw;
        margin-bottom: 19.46666667vw;
    }

    .footer_nav li{
        width: 37.33333333vw;
    }

    .footer_nav>li:nth-of-type(1){
        margin-bottom:8.26666667vw;
    }

    .footer_nav>li:nth-of-type(2){
        margin-left:0;
        margin-right:0;
        margin-bottom:8.26666667vw;
    }

    .footer_nav_main{
        row-gap: 8.26666667vw;
    }
    .footer_nav>li:nth-of-type(3) .footer_nav_main li{
        width: 42vw;
    }

    .footer_logo{
        width:88.26666667vw;
        margin-left:0;
        margin-bottom:11.2vw
    }

    .footer_company_name{
        font-size:4vw;
        margin-bottom:3.46666667vw;
    }

    .footer_company_address{
        font-size:3.2vw;
        line-height: 1.5em;
    }

    .hyphen{
        position:relative;
        top:-0.26666667vw;
    }

    .menu_sp {
        display: none;
        position:fixed;
        left:0;
        top:0;
        width:100vw;
        height:100vh;
        z-index: 99;
        background-image: url(../img/footer_bg_sp.svg) ;
        background-position: right top;
        background-repeat: no-repeat;
        background-size: 74.66666667vw; 
        padding-left:5.86666667vw;
        padding-right:5.86666667vw;
        background-color: #000;
    }

     .menu_sp  .footer_logo{
        width:69.33333333vw;
        margin-left:auto;
        margin-right:auto;
        margin-bottom:0;
     }

     .menu_sp .menu_sp_container{
        position: absolute;
        width:calc(100% - 11.73333333vw);
        top:50%;
        transform: translateY(-50%);
     }

}

/* ワイドモニターでcompanyセクションの表示が崩れないように最大幅を設定し、中央寄せにする */
@media screen and (min-width: 1200px) {
    /* #company .company_info {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    } */
}

/* ▼▼▼ 左下固定ティッカーCSS ▼▼▼ */
.fixed-news-ticker {
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 650px; /* ← 横幅を1.7倍 (510px) に変更 */
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    display: flex;
    align-items: stretch; /* 高さを揃える */
    border-radius: 4px;
    overflow: hidden;
    z-index: 1000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.fixed-news-ticker__label {
    background-color: #333;
    padding: 10px 15px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    letter-spacing: 1px;
}
.fixed-news-ticker__content {
    flex: 1; /* 残りの幅をすべて使用 */
    padding: 0 15px;
    height: 40px; /* 1行分の高さを指定 */
    line-height: 40px;
    overflow: hidden; /* はみ出した要素を隠す */
    position: relative;
}
.fixed-news-ticker__list {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    width: 100%;
    /* 3件のお知らせなので、300%の高さを確保し、3ステップでアニメーション */
    animation: ticker-scroll 12s ease-in-out infinite;
}
.fixed-news-ticker__item {
    height: 40px; /* 1行分の高さを指定 */
    display: flex;
    align-items: center;
}
.fixed-news-ticker__item a {
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* はみ出したテキストは...で表示 */
    width: 100%;
    display: block;
}
.fixed-news-ticker__item a:hover {
    text-decoration: underline;
}
.fixed-news-ticker__date {
    margin-right: 10px;
    font-size: 12px;
}
/* 縦スクロールアニメーション */
@keyframes ticker-scroll {
    0%, 25% { transform: translateY(0); } /* 1件目表示 */
    33%, 58% { transform: translateY(-40px); } /* 2件目表示 */
    66%, 92% { transform: translateY(-80px); } /* 3件目表示 */
    100% { transform: translateY(0); } /* 1件目に戻る */
}
/* SP表示では非表示にする */
@media screen and (max-width: 768px) {
    .fixed-news-ticker {
        left: 2.5vw;
        bottom: 2.5vw;
        width: 95vw;
    }
    .fixed-news-ticker__label {
        padding: 20px 15px;
    }
    .fixed-news-ticker__content {
        margin-top: 6px;
        padding: 0 15px;
        height: 52px;
        line-height: 1.4;
    }
    .fixed-news-ticker__item {
        height: 52px; /* 1行分の高さを指定 */
    }
    .fixed-news-ticker__item a {
        width: 90%;
        white-space: wrap;
        overflow: inherit;
        text-overflow: inherit; /* はみ出したテキストは...で表示 */
    }
    @keyframes ticker-scroll {
        0%, 25% { transform: translateY(0); } /* 1件目表示 */
        33%, 58% { transform: translateY(-52px); } /* 2件目表示 */
        66%, 92% { transform: translateY(-104px); } /* 3件目表示 */
        100% { transform: translateY(0); } /* 1件目に戻る */
    }
}
/* ▲▲▲ 左下固定ティッカーCSS ▲▲▲ */