@charset "UTF-8";
/* loading */
#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:var(--gradation-company);
  text-align:center;
  color:var(--primary-white);
}

#loading__rogo {
    width: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%);
    text-align: center;
}

/* fadeUp*/
.fadeUp{
    animation-name: fadeUpAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes fadeUpAnime{
from {
opacity: 0;
transform: translateY(100px);
}

to {
opacity: 1;
transform: translateY(0);
}
}
/* loading pc */
@media screen and (min-width:426px) {
#loading__rogo {
    width: 45%;
}
}

/* ================
main-slider sp
==================*/
.main-slider-sp { display: block !important; }
.main-slider-pc { display: none !important; }

.main-slider-sp {
    width: 100%;
    height: 100vh;
    position:relative;
    overflow: hidden;
}

.main-slider-sp__item img {
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.slick-dots li button:before{
	font-size:20px!important;
}
.slick-dots li{
	width:40px!important;
}
.slick-dots{
	bottom: 30px!important;
}

/* ===============
main-slider pc 769px
==================*/
@media screen and (min-width:769px) {
.main-slider-sp { display: none !important; }
.main-slider-pc { display: block !important; }

.main-slider-pc {
    width: 100%;
    height: 100vh;
    position:relative;
    overflow: hidden;
}

.main-slider-pc__item img {
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
}

/* =================
main-visual__rogo sp
================== */
.main-visual__rogo {
    width: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%);
    text-align: center;
}

/* ======================
main-visual__rogo pc 769px
======================== */
@media screen and (min-width:769px) {
.main-visual__rogo {
    width: 45%;
}
}

/* ================
about sp
================= */
.about {
    margin: 65px auto;
    padding: 0 8%;
}

.about__title {
    margin: 0 auto;
    text-align: center;
    font-size: 2.0rem;
    font-weight: 700;
    position: relative;
    letter-spacing: 0.6rem;
}

.about__txt {
    margin: 45px auto 0;
    line-height: 2.0;
}

/* underline */
.about__title::after {
    content: '';
    display: inline;
    width: 256px;
    height: 4px;
    background: var(--gradation-blue-green);
    position: absolute;
    bottom: -10%;
    left: 48%;
    transform: translateX(-50%);
    border-radius: 5px;
}

/* =================
about tab 426px
==================== */
@media screen and (min-width:426px) {
/* underline */
.about__title::after {
    width: 340px;
    height: 4px;
}
}

/* =================
about pc 1025px
==================== */
@media screen and (min-width:1025px) {
.about {
    max-width: 1440px;
    margin: 120px auto;
    padding: 0 6.4%;
    display: flex;
    gap: 0 10%;
    align-items: center;
}

.about__title {
    text-align: start;
    margin: 0;
    min-width: 500px;
    letter-spacing: 1.0rem;
    margin: 0;
    font-size: 3.0rem;
    line-height: 1.8;
}

.about__txt {
    width: 100%;
    margin: 0 auto;
    font-size: 2.0rem;
}


/* underline */
.about__title::after {
    width: 510px;
    height: 8px;
    bottom: -20%;
}
}

/* ================
service sp
================= */
.service {
    justify-content: center;
}

.title {
    padding: 0 8%;
}

.service__list {
    max-width: 426px;
    padding: 0 8%;
    margin: 0 auto 65px;
}

.service__item {
    display: block;
    position: relative;
    padding-left: 24%;
    margin-top: 50px;

    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.3;
}

.service__list li:first-of-type {
    margin-top: 40px;
}


/* gradation move */
.service__item::before{
    content:'';
    position:absolute;
    left:0;
    top: -56%;
    z-index: -100;
    background: var(--gradation-blue-green);
    width:60px;
    height:60px;
    border-radius: 35px;
    transition:0.4s ease-out;
}
  
.service__item:hover::before{
    width: 100%;
}

.service__item:hover {
    transition: 0.4s;
    color: var(--primary-white);
}

/* arrow */
.service__item::after{
    position: absolute;
    content: '';
    left:10%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 12px;
    height: 12px;
    background-image: url(../images/arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.service__img {
    display: none;
}

/* ================
service tab 769px
================= */
@media screen and (min-width:769px) {
.service {
    padding: 0 10%;
    max-width: 1024px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
    
.title {
    display: flex;
    align-items: center;
}

.title__page {
    font-size: 6.4rem;
}

.title-sub__page {
    font-size: 2.0rem;
    margin-left: 30px;
}

.service__list {
    width: 68%;
    margin: 0 0 65px 0;
    padding: 0;
}

.service__item {
    padding-left: 24%;
    margin-top: 58px;
    font-size: 2.6rem;
}

.service__list li:first-of-type {
    margin-top: 100px;
}


/* gradation move */
.service__item::before{
    left: 5%;
    top: -50%;
    width:70px;
    height:70px;
    border-radius: 40px;
}

.service__item::after{
    left:14%;
    top: 50%;
    width: 16px;
    height: 16px;
}

.service__img {
    display: block;
    margin-top: 3%;
}


.service__img img {
    width: 100%;
    height: auto;
}

.service__img {
    width: 37.7vw;
    max-width: 500px;
    height: auto;
}
}

/* ================
service pc 1025px
================= */
@media screen and (min-width:1025px) {
.service {
    margin: 0 auto;
    max-width: 1440px;
    padding: 0 10%;
}

/* gradation move */
.service__item::before{
    left: 2%;
    top: -54%;
    width:80px;
    height:80px;
    border-radius: 50px;
}

.service__item {
    width: 440px;
    margin-top: 70px;
    padding-left: 28%;
}

.service__item::after{
    left:12%;
}
}

/* ================
service pc 1800px
================= */
@media screen and (min-width:1800px) {
    .service {
        max-width: 1600px;
    }
}

/* ===============
slider sp
================ */
.slider {
    width: 100%;
    margin: 0 auto 65px;
    display: flex;
    align-items: center;
}

.slider__item {
    margin-left: 10px;
    aspect-ratio: 1 / 1;
}

.slider__item img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* ===============
slider 
================ */
@media screen and (min-width:769px) {
.slider {
    margin: 135px auto 0;
}

.slider__item {
    margin-left: 30px;
}
}

/* company fadeIn */
.side-fadeIn {
    transform: translateX(-100%);
    opacity: 0;
    transition: 1s;
}

.side-fadeIn.animated {
    transform: translate(0);
    opacity: 1;
}

.slow-fadeIn {
    transform: translate(0,80px);
    opacity: 0;
    transition: 0.6s;
}

.slow-fadeIn.animated {
    transform: translate(0,0);
    opacity: 1;
}

/* ===============
company sp
================ */
.company {
    width: 100%;
    background: var(--gradation-company);
    padding: 60px 0;
    margin-top: 60px;
}

.title--company {
    padding: 0 8% 60px;
}

.title__page--company {
    color: var(--primary-white);
    -webkit-text-fill-color: unset;
}

.title-sub__page--company {
    color:var(--primary-white);
}


.table {
    display: block;
    margin: 0 auto;
    padding: 0 8%;
}

tbody {
    display: block;
}

.table__list {
    display: block;
    border-bottom: 1px solid var(--primary-white);
}

.table__item  {
    display: block;
    color: var(--primary-white);
    font-weight: 700;
    padding: 20px 0 12px;
}

.table__details {
    display: block;
    color: var(--primary-white);
    padding: 0 0 10px;
}

/* ===============
company pc 769px
================ */
@media screen and (min-width:769px) {

.company {
    width: auto;
    padding: 70px 0 120px;
    margin-right: 8%;
    margin-top: 150px;
}

.title--company {
    padding: 0 8% 110px;
}

.table {
    max-width: 850px;
}

.table__list {
    display: flex;
    padding: 20px 0;
}

.table__item  {
    width: 26%;
    font-size: 1.8rem;
    padding: 0;
}

.table__details {
    font-size: 1.8rem;
    padding: 0;
}
}
