@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:opsz,wght@6..12,200..1000&display=swap');

html {
background: #fff;
}

.nue3_kv {
width: 100%;
height: 100vh;
display: flex;
align-items: center;
position: relative;
background: #fff;
z-index: 1;
}

.nue3_kv::after {
content: "";
position: fixed;
top:0;
left: 0;
width: 100%;
height: 100vh;
background-image: url("../images/bg_circle.png");
background-repeat: no-repeat;
background-position: center 50%;
background-size: cover;

}

.main_inner {
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
align-content: center;
}

h2.nue3_mainlogo::before {
content: none;
}

h2.nue3_mainlogo{
width: 63.2558139vw;
max-width: 272px;
padding-left: 0;
margin-top: 5%;
z-index: 5;
}

.slogan {
font-family: "Nunito Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-size: clamp(0.875rem, 0.69rem + 0.93vw, 1.5rem);
color: #000;
width: 100%;
text-align: center;
margin-top: 20px;
z-index: 5;
}

.s01, .s02, .s03, .s04 {
font-weight: 800;
}

.s01 { color: #FF4394; }
.s02 { color: #FFB300; }
.s03 { color: #00D41C; }
.s04 { color: #00A3EB; }


.corp_logo_wrap {
width: 100%;
position: absolute;
top:50%;
left: 0;
display: flex;
column-gap: 28px;
justify-content: center;
margin-top: 120px;
z-index: 5;
}

.gc_logo{
width: 29.1813953vw;
max-width: 125px;
}

.tis_logo {
width: 25.5069767vw;
max-width: 109px;
}

@media screen and (min-width: 768px) {
h2.nue3_mainlogo{
width: 39.270833vw;
max-width: 754px;
}

.gc_logo{
width: 16.3194444vw;
max-width: 235px;
}

.tis_logo {
width: 14.236111vw;
max-width: 205px;
}
}

@media screen and (min-width: 1024px) {
.slogan {
margin-top: 50px;
}

.corp_logo_wrap {
top:auto;
left: 0;
bottom: 7vw;
column-gap: 70px;
justify-content: center;
margin-top: 0;
}

}

/*-------------------contents area--------------------------*/

main {
width: 100%;
}


.content_inner {
position: relative;
background-color: transparent;
padding: 100px 15px 60px;
}

.content_inner::after {
content: "";
position: fixed;
top:0;
left: 0;
width: 100%;
height: 100vh;
background-image:url("../images/nue3_logo_w.svg"), url("../images/bg_circle.png"), url("../images/bg_sp.jpg");
background-repeat: no-repeat;
background-position: right bottom, center 50%, center top;
background-size: 37.6744186vw calc(100vh - 60px) , cover, cover;
}

.content_inner section {
position: relative;
padding: 0;
z-index: 20;
}

@media screen and (min-width: 768px) {
.content_inner::after {
background-image:url("../images/nue3_logo_w.svg"), url("../images/bg_circle.png"), url("../images/bg.jpg");
background-repeat: no-repeat;
background-position: right bottom, center 50%, center top;
background-size: auto calc(100vh - 60px) , cover, cover;
}
}


.nue3_about {
width: 100%;
text-align: center;
}

.nue3_about p{
font-size: clamp(0.75rem, 0.639rem + 0.56vw, 1.125rem);
line-height: 2.5;
margin-bottom: 50px;
}

.t_red {
color: #B7001F;
font-weight: 800;
}

.strength {
width: 100%;
max-width: 650px;
background: rgba(255,255,255,0.65);
border-radius: 15px;
padding: 20px 20px 40px;
margin: 0 auto;
}

.corp_info {
display: flex;
justify-content: space-between;
}

.corp_info img {
width: 34.65116279vw;
max-width: 198px;
}

.corp_btn {
display: block;
height: 40px;
line-height: 40px;
width: 26.9767441vw;
max-width: 160px;
background: #000;
border-radius: 20px;
color: #fff;
text-align: center;
font-family: "Noto Sans JP", sans-serif;
font-weight: 400;
font-size:clamp(0.688rem, 0.595rem + 0.46vw, 1rem);
position: relative;
padding-right: 10px;
transition: 0.3s all;
}

.corp_btn.gc {
padding-right: 0;
}

.corp_btn::after {
content: '';
display: inline-block;
width: 8px; 
height: 8px;
background-image: url("../../../assets/images/tab.svg");
background-size: contain;
background-repeat:no-repeat;
position:absolute;
top:16px;
right:18px;
}

.corp_btn.gc::after {
content: none;
}

.corp_btn:hover {
opacity: .6;
}

.strength ul {
margin: 30px auto 0;
padding-left: 2em;
}

.strength ul li {
font-size: clamp(0.75rem, 0.676rem + 0.37vw, 1rem);
line-height: 1.7;
margin-bottom: 10px;
list-style-type: disc;
}

@media screen and (min-width: 768px) {
.strength_outer {
display: flex;
justify-content: space-between;
max-width: 1440px;
margin: 0 auto;
}

.strength {
display: flex;
flex-direction: column;
width: 45.13888888vw;
max-width: 650px;
padding: 20px;
}

.corp_info.gc img {
width: 17vw;
max-width: 198px;
}

.corp_info.tis img {
width: 16vw;
max-width: 205px;
}

.corp_btn {
display: block;
height: 40px;
line-height: 40px;
width: 15vw;
max-width: 160px;
padding-right: 10px;
}

.corp_btn::after {
width: 10px; 
height: 10px;
background-image: url("../../../assets/images/tab.svg");
background-size: contain;
background-repeat:no-repeat;
position:absolute;
top:14px;
right:18px;
}
}

@media screen and (min-width: 1024px) {
.nue3_about {
margin-bottom: 100px;
}

.strength {
padding: 30px 40px;
}

.strength ul {
margin: 40px 0 10px;
padding-left: 2em;
}

.strength ul li {
line-height: 3;
margin-bottom: 0;
}

.corp_btn {
height: 50px;
line-height: 50px;
border-radius: 25px;
width: 160px;
padding-right: 10px;
}

.corp_btn::after {
width: 12px; 
height: 12px;
background-image: url("../../../assets/images/tab.svg");
background-size: contain;
background-repeat:no-repeat;
position:absolute;
top:19px;
right:20px;
}

}

.cross {
width: 7.44186046vw;
max-width: 54px;
margin: 15px auto;
}

.arrow {
width: 15.11627906vw;
max-width: 75px;
margin: 20px auto;
}

@media screen and (min-width: 768px) {
.cross {
width: 3.75vw;
max-width: 54px;
margin: 15px auto;
display: flex;
align-items: center;
}

.arrow {
width: 5.2083333vw;
max-width: 75px;
margin: 40px auto;
}
}

.role {
width: 100%;
max-width: 1440px;
margin: 0 auto;
background: rgba(255,255,255,0.65);
border-radius: 15px;
padding: 50px 20px;
}

.role h3 {
font-size: clamp(0.813rem, 0.72rem + 0.46vw, 1.125rem);
text-align: center;
}

.role h3 img {
width: 51.86046511vw;
max-width: 390px;
margin-top: 15px;
}

.c_logo {
width: 34.65116279vw;
}

.c_logo.gc {
margin: 40px auto 20px;
}

.c_logo.tis {
margin: 50px auto 20px;
}


.gc_role ul,
.tis_role ul {
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.gc_role li,
.tis_role li {
list-style-type: none;
width: 39.5348837vw;
max-width: 220px;
}

.gc_role li:nth-child(1),
.gc_role li:nth-child(3),
.gc_role li:nth-child(5),
.tis_role li:nth-child(1),
.tis_role li:nth-child(3) {
margin: 0 10px 10px 0;
}

.gc_role li:nth-child(2),
.gc_role li:nth-child(4),
.gc_role li:nth-child(6),
.tis_role li:nth-child(2),
.tis_role li:nth-child(4) {
margin: 0 0 10px 0;
}

.bd_wrap {
display: none;
}

@media screen and (min-width: 600px) {
.gc_role li,
.tis_role li {
width: 25vw;
}

.gc_role li:nth-child(1),
.gc_role li:nth-child(2),
.gc_role li:nth-child(4),
.gc_role li:nth-child(5),
.tis_role li:nth-child(1),
.tis_role li:nth-child(2) {
margin: 0 15px 15px 0;
}

.gc_role li:nth-child(3),
.gc_role li:nth-child(6),
.tis_role li:nth-child(3) {
margin: 0 0 15px 0;
}

}

@media screen and (min-width: 768px) {
.role h3 img {
width: 26.875vw;
max-width: 387px;
}

.role_outer {
display: flex;
justify-content: center;
padding: 0 10px;
}

.c_logo.gc {
width: 16.35069444vw;
max-width: 235px;
margin: 30px auto 20px;
}

.c_logo.tis {
width: 14.2909722vw;
max-width: 205px;
margin: 30px auto 20px;
}

.gc_role ul {
justify-content: center;
}

.tis_role ul {
justify-content: center;
}

.gc_role li,
.tis_role li {
width: 15.27777777vw;
}

.gc_role li:nth-child(1),
.gc_role li:nth-child(2),
.gc_role li:nth-child(4),
.gc_role li:nth-child(5),
.tis_role li:nth-child(1),
.tis_role li:nth-child(3){
margin: 0 15px 15px 0;
}

.gc_role li:nth-child(3),
.gc_role li:nth-child(6),
.tis_role li:nth-child(2) {
margin: 0 0 15px 0;
}

.bd_wrap {
display: block;
width:9.583333333vw;
position:relative;
}

.border {
position:absolute;
left:45%;
top:20%;
background:#000;
width:1px;
height:76%;
}
}


@media screen and (min-width: 1024px) {
.role h3 img {
margin-top: 25px;
}
}

h4 {
font-size:clamp(1.375rem, 0.894rem + 2.41vw, 3rem);
font-weight: 700;
text-align: center;
margin: 100px auto 50px;
}

.ft_item {
width: 100%;
background: rgba(255,255,255,0.65);
border-radius: 15px;
padding: 20px 10px 40px;
margin-bottom: 20px;
}

.ft_item h5{
display: flex;
align-items: center;
}


.ft_item h5 img{
width: 17.6744186vw;
max-width: 96px;
}

.ft_item h5 .ft_title {
font-size: clamp(1rem, 0.852rem + 0.74vw, 1.5rem);
font-weight: 600;
margin-left: -1em;
}

.ft_item p {
margin-top: 15px;
font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
font-weight: 400;
line-height: 2.2;
text-align: center;
}

@media screen and (min-width: 768px) {
.ft_outer {
width: 100%;
max-width: 1170px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
}

.ft_item {
width: 49%;
max-width: 560px;
padding: 20px 10px 50px;
}

.ft_item h5 img{
width: 8vw;
max-width: 96px;
}

.ft_item h5 .ft_title {
margin-left: -0.5em;
}

.ft_item p {
margin-top: 0;
}
}

@media screen and (min-width: 1024px) {
.ft_item h5 .ft_title {
margin-left: -1em;
}
}

.nue3_contact_inner {
margin-bottom: 80px;
text-align: center;
}

.nue3_contact_inner h6 {
font-size: clamp(0.938rem, 0.808rem + 0.65vw, 1.375rem);
font-weight: 700;
margin-bottom: 20px;
}

.contact_btn {
display: block;
height: 65px;
line-height: 65px;
width: 76.744186vw;
max-width: 400px;
background: #000;
color: #fff;
text-align: center;
font-size:clamp(1rem, 0.926rem + 0.37vw, 1.25rem);
margin: 0 auto 10px;
position: relative;
padding-right: 10px;
transition: 0.3s all;
}

.contact_btn::after {
content: '';
display: inline-block;
width: 17px; 
height: 16px;
background-image: url("../../../assets/images/tab.svg");
background-size: contain;
background-repeat:no-repeat;
position:absolute;
top:24px;
right:20px;
}

.contact_btn:hover {
opacity: .6;
}

.att {
font-size: clamp(0.75rem, 0.713rem + 0.19vw, 0.875rem);
font-weight: 400;
line-height: 1.6;
}

.division{
font-size: clamp(0.813rem, 0.72rem + 0.46vw, 1.125rem);
line-height: 2;
margin-bottom: 5px;
}

.address {
font-size: clamp(0.938rem, 0.882rem + 0.28vw, 1.125rem);
font-weight: 600;
}

@media screen and (min-width: 768px) {
.nue3_contact_wrap {
width: 100%;
max-width: 1170px;
margin: 0 auto;
padding: 0 50px;
display: flex;
justify-content: space-between;
}

.nue3_contact_inner {
width: 45%;
}

.contact_btn {
width: 100%;
max-width: 400px;

}
}


