@charset "UTF-8";


@media screen and (max-width: 1700.8px){	
    html {
	font-size: 16px;
}

}

@media screen and (max-width: 1135.8px){	


}

@media screen and (max-width: 1000.8px){	
    

}

@media screen and (max-width: 920.8px){	

}

@media screen and (max-width: 767.8px){	
    html {
        font-size: 14px;
    }
    main {
        padding-top: 60px;
    }
    .mb-6 {
        margin-bottom: 4rem!important;
    }
    .g-nav {
        background-color: rgba(0, 63, 115, 0.957);
        border-bottom-left-radius: 70px;
        padding: 60px 30px 60px 30px;
        position: fixed;
        left:inherit;
        right: 0px;
        top: 0px;
        z-index: 8999;
        transform: translateY(-50%);
        transition: 0.5s ease;
        opacity: 0;
        pointer-events: none;
        width: 90vw;
    }
    .g-nav nav {
        width: 100%;
    }
    #hamburger {
        width: 60px;
        height: 60px;
        background-image: url(image/open_sp.png);
        background-size: 60px;
        background-position: center;
        background-repeat: no-repeat;
        cursor: pointer;
        transition: 0.3s ease;
        position: fixed;
        top: 0px;
        right: 0px;
        z-index: 10000;
    }
    body.drawer-opened #hamburger {
        background-image: url(image/close_sp.png);
    }
    h3 {
        font-size: 2rem;
        margin-bottom: 2rem;
    }
    .hd-container {
        width: 95%;
        position: relative;
    }
    .hd-container-s {
        width: 95%;
        position: relative;
    }
    header {
        background-color: #fff;
        position: fixed;
        width: 100%;
        height: 60px;
        top: 0px;
        left: 0px;
        z-index: 4999;
    }
    header h1 {
        margin: 0;
        height: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
	.header-logo {
		width: 180px;
	}
    .top-fv {
        width: 100%;
        height: 90vw;
        position: relative;
        margin-bottom: 3rem;
    }
	.top-fv-copy {
		position: absolute;
		text-align: right;
		top: inherit;
		bottom:2rem;
		right: 1.5rem;
		z-index: 5;
	}
	.top-fv-copy h2 {
		font-size: 1.5rem;
	}
    .top-action-logo {
        right: 0px;
        top: 0px;
        width: 30%;

    }      
    .top-action-head {
        padding-top: 8rem;
		margin-bottom:3rem;
    }
	.action-plan {
		list-style-type: none;
		margin: 0 0 2rem 0;
	}
    .action-plan li {
        margin-bottom: 0.5rem;
        font-weight: bold;
        font-size: 1rem;
        text-indent: -2.25em;
        margin-left: 2.25em;
    }
    .action-movie {
        width: 100vw;
        position: relative;
        left: calc(-2.5vw - 10.5px);
    }

    .gray-container {
        padding: 2rem 0;
    }
	
	.gray-margin-sp {
		padding-top:3rem;
		padding-bottom:4rem;
	}
    .white-container {
        padding: 2rem 0;
    }

    .top-business-item {
        width: 100%;
    }
    .top-business-item-inner {
        margin-top: -1px;
        padding: 1.5rem 1rem 2.5rem 1.5rem;
        height: 100%;
    }
    .top-business-item-inner h4 {
        font-size: 1.1rem;
    }
    .top-business-item-inner p {
        font-size: 0.6rem;
        letter-spacing: 0;
    }
    .top-business-item-inner .btn-a {
        bottom: 1rem;
    }
    .top-business-item-inner .btn-a a:link,.top-business-item-inner .btn-a a:visited {
        background-color: #003f73;
        color: #fff;
        font-weight: bold;
        display: inline-block;
        padding: 0.25rem 1rem;
        white-space: nowrap;
        font-size: 0.7rem;
    }
	.information-container {
		margin-bottom:6rem;
	}
	.information-container h3 {
		text-align: center;
		font-size: 2rem;
		margin-bottom:1.5rem;
	}
    .information-container ul {
        width: 90%;
		text-align:start;
    }
    .information-container ul li {
        margin-bottom: 1rem;
    }
    .information-container .date {
        display: block;
        text-align: center;
        margin-right: 0;
        margin-bottom: 0.5rem;
    }

    .footer-logo {
        width: 100px;
    }
    .footer-info {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        height: 100%;
        text-align: end;
    }
    .footer-nav-f li a::before {
        content:none;
    }
    .footer-nav-f li {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        column-gap: 1rem;
        font-size: 1.25rem;
    }
    .footer-nav-s {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        font-size: 0.8rem;
        column-gap: 1rem;
        padding-top: 2px;
    }
    .footer-nav-s li {
        border-bottom: none;
        padding: 0;
        font-size: 0.8rem;
    }


    /*page*/
    .page-eyecatch {
        width: 100%;
        height: 40vw;
        position: relative;
    }

    .works-slide img {
        width: 100%;
    }
    .works-info {
        width: 85%;
        position: relative;
        right: inherit;
        top: inherit;
        transform: none;
        text-align: start;
        margin-left: auto;
        margin-right: auto;
        margin-top: -2rem;
    }
    .works-info:before {
        content: "";
        display: block;
        padding-top: 60%;
    }
    .works-info .aspfix {
        padding: 4vw;
    }
    .works-info h4 {
        font-size: clamp(1rem, 1.75vw, 3rem);
        font-weight: bold;
    }
    .works-slider {
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 3rem;
    }
    .slide-dots {
        margin: 0;
        padding: 0;
        text-align: center;
        position: absolute;
        bottom: 2.5rem;
        left: 50%;
        transform: translateX(-50%);
        white-space:nowrap;
    }
    .slide-dots li {
        display: inline-block;
        margin: 0 8px;
        width: 7px;
        height: 7px;
    }
    .slide-dots li button {
        position: relative;
        text-indent: -9999px;
    }

    .slide-dots li button::before {
        background-color: #bebebf;
        content: "";
        cursor: pointer;
        width: 7px;
        height: 7px;
        border-radius: 100%;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        margin: auto;
        position: absolute;
        top: 40px;
    }
    .slide-dots li.slick-active button::before {
        background-color: #003f73;
    }
    .slide-dots button {
        background: none;
        border: none;
        outline: none;
        padding: 0 7px;
    }
    .slide-arrow {
        width:1rem!important;
        position:absolute;
        top:33.5%;
        transform:translateY(-50%);
        cursor:pointer;
    }
    .prev-arrow {
        left:-0.75rem!important;
    }
    .next-arrow {
        right:-0.75rem!important;
    }
    .table-works {
        font-size: 0.8rem;
    }
    .p-works-list {
        display: block;
        font-size: 0.9rem;
    }
    .p-works-list__date {
        border-bottom: 1px solid #003f73;
        justify-content: center;
        align-items: center;
        padding: 0.25rem 0.75rem;
    }
    .p-works-list__date span:last-child {
        display: inline-block;
        width: inherit;        /* 月の表示エリアの幅を固定 */
        text-align: right; /* 右寄せにして右端を揃える */
    }
    .p-works-list__content {
        padding-top: 5px;
        text-align: center;
        justify-content: center;   
    }
    .company-map {
        height: 43vw;
    }
    .award-list {
        padding-left: 1.5rem;
    }
    .safety-slogan h4::before {
        content: '';
        display: block;
        width: 2.5rem;
        height: 1px;
        background-color: #003f73;
        position: absolute;
        top: 50%;
        right: 100%;
    }
    .safety-slogan h4::after {
        content: '';
        display: block;
        width: 2.5rem;
        height: 1px;
        background-color: #003f73;
        position: absolute;
        top: 50%;
        left: 100%;
    }
    .safety-slogan h5 {
        font-size: 1.35rem;
    }
	.contact-title-caption {
		font-weight: bold;
		color: #008b4f;
		text-align: end;
		display: inline-block;
		position: absolute;
		right: 12px;
		bottom: -2.5rem;
	}
	.concept-container h4 {
		font-size:1.2rem;
	}
	.award-list dd {
		padding: 0.25rem 0.25rem 0.25rem 0.25rem;
	}
	
	

}

@media screen and (max-width: 450.8px){	
 

}


