@charset "UTF-8";
/*******************************
company Css
*******************************/
/*------------------------
page-hero-intro
------------------------*/
.page-hero-intro{
    aspect-ratio: 16 / 7;
}
.page-hero-intro .txt{
    text-align: center;
}
.page-hero-intro .txt span{
    padding: .1em .3em .1em .6em;
    background: linear-gradient(transparent 0%, #fff 0%);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    opacity: 1;
    color: #000;
    font-weight: 500;
    font-style: normal;
}
.page-hero-intro .bg{
    opacity: .8;
}
.page-hero-intro .bg .video{
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .page-hero-intro {
        aspect-ratio: 16 / 9;
    }
    .page-hero-intro .txt p {
        font-size: 8vw;
    }
}


/*------------------------
ttl-sub01
------------------------*/
.ttl-sub01{
    width: 60%;
    max-width: 550px;
    padding: 0 10px;
    margin: 40px auto;
    border-left: solid 1px;
    border-right: solid 1px;
    font-size: 200%;
    font-weight: 600;
    letter-spacing: .2em;
    line-height: 1.2;
    text-align: center;
}
.ttl-sub01 span{
    font-size: 55%;
    font-weight: 800;
    opacity: .3;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .ttl-sub01 {
        width: 90%;
        margin: 30px auto;
        font-size: 150%;
    }
}


/*------------------------
ttl-img
------------------------*/
.ttl-img {
    width: 75%;
    margin: 0 auto 30px;
    text-align: center;
}


/*------------------------
btn
------------------------*/
.btn{
	position: relative;
	display: inline-block;
	padding: .8em 5em;
	
	background: #6B7D87;
	color: #fff;
	border: solid 1px #6B7D87;
	letter-spacing: .06em;
	text-decoration: none;
    text-align: center;
}
.btn:before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	margin: auto 0;
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	width: .7em;
	height: .7em;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateX(-25%) rotate(45deg);
}
.btn:hover{
	background: #DEDEDE;
	color: #6B7D87;
}
.btn:hover:before{
	color: #6B7D87;
}


/*------------------------
sec-message
------------------------*/
.sec-message{
    padding: 5% 0;
}
.sec-message .logo{
    width: 30%;
    margin: 0 auto 5%;
    text-align: center;
}
.sec-message .lead{
    width: 90%;
    margin: 5% auto 40px;
    font-size: 210%;
    font-weight: 400;
    letter-spacing: .2em;
    line-height: 2.5;
    text-align: center;
}
.sec-message .name{
    width: 90%;
    margin: 0 auto 5%;
    font-size: 105%;
    font-weight: 600;
    letter-spacing: .1em;
    text-align: center;
}
.sec-message .name span{
    display: block;
    margin-top: 10px;
    font-size: 160%;
    font-weight: 500;
    letter-spacing: .1em;
}

.sec-message .comment{
    max-width: 1440px;
    margin: 0 auto;
    justify-content: flex-end;
    grid-row-gap: 80px;
}
.sec-message .comment .img01{
    width: 60%;
}
.sec-message .comment .img02{
    width: 50%;
    padding: 0 10% 5%;
    background: linear-gradient(0deg, rgba(195,196,196,1) 0%, rgba(195,196,196,1) 35%, rgba(195,196,196,0) 35%, rgba(195,196,196,0));
}
.sec-message .comment .txt01,
.sec-message .comment .txt02{
    width: 40%;
    padding: 0 5%;
    font-size: 115%;
    line-height: 2.5;
}

.bnr-100th{
    max-width: 466px;
    display: inline-block;
    margin: 30px 0;
}
.bnr-100th:hover .img{
    transform: translate(0,-5px);
}


/*==== tablet タブレット用css ===*/
@media screen and (max-width: 1024px){
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    .sec-message {
        padding: 10% 0 0;
    }
    .sec-message .lead {
        font-size: 3.8vw;
    }
    
    .sec-message .comment{
        grid-row-gap: 30px;
    }
    .sec-message .comment .img01{
        width: 100%;
        padding-right: 30%;
    }
    .sec-message .comment .img02{
        width: 100%;
        display: flex;
        column-gap: 1%;
        padding: 0 5% 5%;
    }
    .sec-message .comment .img02 span{
        width: 49%;
    }
    .sec-message .comment .txt01,
    .sec-message .comment .txt02{
        width: 100%;
        font-size: 100%;
        margin: 0;
    }
    
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .sec-message .logo {
        width: 25%;
        margin: 0 auto;
    }
    .sec-message .lead {
        font-size: 4.2vw;
    }
    .sec-message .name {
        margin: 0 auto 40px;
        font-size: 85%;
    }
    .sec-message .name span {
        font-size: 130%;
    }
    .sec-message .comment .img01{
        padding-right: 0;
    }
}

/*------------------------
sec-recruit
------------------------*/
.sec-recruit{
    padding: 7% 0;
    background-color: #E8E8E8;
}
.sec-recruit .img{
    max-width: 954px;
    margin: 0 auto 30px;
}

/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    .sec-recruit{
        padding: 10% 0;
    }
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .sec-recruit {
        padding: 20% 0;
    }
}


/*------------------------
sec-shisetsu
------------------------*/
.sec-shisetsu{
    padding: 5% 0;
}
.sec-shisetsu .lead{
    width: 90%;
    margin: 4% auto 6%;
    font-size: 150%;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 2.5;
    text-align: center;
}
.sec-shisetsu .img{
    max-width: 1366px;
    margin: 0 auto;
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    .sec-shisetsu{
        padding: 10% 0;
    }
    .sec-shisetsu .lead {
        font-size: 120%;
    }
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .sec-shisetsu{
        padding: 20% 0;
    }
    .sec-shisetsu .lead {
        font-size: 110%;
    }
    .sec-shisetsu .lead br{
        display: none;
    }
}


/*------------------------
sec-guide
------------------------*/
.sec-guide{
    padding: 5% 0 0;
}

.table-list{
    width: 90%;
    max-width: 954px;
    margin: 5% auto;
    background-color: #fff;
}
.table-list .item{
    justify-content: space-between;
    border-bottom: solid 1px rgba(107,125,135,0.30);
}
.table-list .item:nth-last-child(1){
    border-bottom: none;
}
.table-list .item .ttl,
.table-list .item .comment{
    margin: 0;
    padding: 20px;
}
.table-list .item .ttl{
    display: flex;
    align-items: center;
    width: 25%;
    font-weight: 600;
    color: #6B7D87;
    background-color: #E9EBEB;
}
.table-list .item .comment{
    width: 73%;
}

.table-list .list-style-indent{
    padding: 0;
    list-style: none;
}
.table-list .list-style-indent li{
    margin-bottom: 10px;
}

/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .table-list .item .ttl,
    .table-list .item .comment {
        padding: 20px 10px;
        font-size: 85%;
    }
    .table-list .item .ttl{
        width: 30%;
    }
    .table-list .item .comment{
        width: 70%;
    }
}


/*------------------------
sec-access
------------------------*/
.sec-access{
    padding: 5% 0;
    background-color: #3E3A39;
    color: #fff;
}

.sec-access .map,
.sec-access .access-list{
    width: 90%;
    max-width: 1114px;
    margin: 0 auto 3%;
}

.sec-access .map{
    position: relative;
    aspect-ratio: 16 / 9;
}
.sec-access .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.sec-access .access-list{
    column-gap: 4%;
    grid-row-gap: 20px;
}
.sec-access .access-list .item{
    width: 48%;
}
.sec-access .access-list .item .ttl{
    padding: 10px;
    margin-bottom: 20px;
    background-color: #6B7D87;
    color: #fff;
    font-size: 120%;
    letter-spacing: .1em;
    text-align: center;
}
.sec-access .access-list .item .ico{
    width: 15%;
}
.sec-access .access-list .item .comment{
    width: 85%;
    padding-left: 5%;
}

/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    .sec-access .access-list .item{
        width: 100%;
    }
    .sec-access .access-list .item .comment {
        padding-left: 10px;
    }
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .sec-access .access-list .item .ttl{
        font-size: 110%;
    }
}