@charset "utf-8";

/* header */
header {
    position: fixed;
    width: 100%;
    background: transparent;
    z-index:1000;
}
/*  (js)ヘッダー上部固定 */
 .fixed{
 background-color: rgba(83,174,209,0.65);
}

.nav-contents {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
    margin: 0 auto;
    height: 61px;
    width: 90%;
}
.nav-logo {
    width: 150px;
}
.nav__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: white;
    gap: 32px;
}
.nav__item a {
    padding-bottom: 3px;
    position: relative;
}
.nav__item a::before {
    background: #FFF;
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: scale(0, 1);
    transition: transform .3s;
}
.nav__item a:hover::before {
    transform-origin: center top;
    transform: scale(1, 1);
}

@media (max-width: 767px){
    .nav-contents{
        flex-direction: column;
        height: auto;
        padding-bottom: 18px;
    }
    .nav-logo{
        margin: 14px;
        width: 35%;
    }
    .nav__item{
        font-size: 14px;
    }
    .nav__list{
        gap: 16px;
    }
}
/* ---------------------------------------------------------------- */
/* #mv */

#mv{
    margin-bottom: 118px; 
}
.kv{
    height: auto;
}
.entry-btn{
    position: fixed;
    background-color: #F3AA53;
    top: 25%;
    right: 2%;
    padding: 17px 4px 40px 4px;
    /*! transform: translateY(-75%); */
    z-index: 1000;
}
.entry-text {
    color: #fff;
    letter-spacing: 4.8px;
    text-align: center;
    writing-mode: vertical-rl;

}
.entry-text::after{
    content: "";
    position: absolute;
    background-color: #fff;
    width: 1px;
    height: 29px;
    top: 76%;
    left: 50%;
    transform: translateX(-50%);
}
@media(max-width:1100px){
.entry-btn{
    
    top: 40%;
    
}
}

    
@media (max-width: 767px){
    .entry-btn{
        top: 60%;
    }
    #mv{
    margin-bottom: 19px; 
}
}
/* ---------------------------------------------------------------- */
/* #news */
#news{
    margin-bottom: 118px;
}
.wrapper--800px {
    max-width: 800px;
    margin: 0 auto;
    width: 100%;
}
    
.h2-title{
text-align: center;
margin: 0 auto 47px;
}
.h2-main {
    font-size: 36px;
    font-weight: 600;
}
.h2-sub {
    font-size: 12px;
    font-weight: 400;
}
.news-section{
    padding-left: 5%;
}
.news-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 48px;
}
.news-item {
    display: flex;
    align-items: center;
    justify-content: initial;
}
.news-img {
    width: 32%;
}
.news-box{
    display: flex;
    align-items: center;
}
.news__label {
    color: #fff;
    display: flex;
    background-color:#262626 ;
    width: 72px;
    height: 22px;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    margin-left: 24px;
}
/* ボタン -----------------------------------------------*/
.btn {
    border: 1px solid #262626;
    color: #262626;
    width: 320px;
    height: 55px;
    letter-spacing: 5.1px;
    line-height: 55px;
    margin: 0 auto;
    position: relative;
    cursor: pointer;
}
.btn-text{

    text-align: center;
    font-family: "Yu Mincho";
}

.arrow {
    position: absolute;
    display: inline-block;
    width: 65px;
    height: 1px;
    border-radius: 9999px;
    background-color: #848484;
    transition: transform 0.3s ease;
    top: 50%;
    right: 5%;
}

.arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 13px;
  height: 1px;
  border-radius: 9999px;
  background-color: #848484;
  transform: rotate(26deg);
  transform-origin: calc(100% - 0.5px) 50%;
}
.btn:hover .arrow {
  transform: translateX(10px);
}

.arrow-php {
    top: 35%;
    right: 32%;
}

/* #news mobile */
@media(max-width:767px){
.wrapper--800px {
    padding: 0 15px;
}
#news{
    margin-bottom: 118px;
}
.wrapper--800px {
    max-width: 800px;
    margin: 0 auto;
    width: 100%;
}
    
.h2-title{
margin: 0 auto 22px;
}
.h2-main {
    font-size: 20px;
}
.news-section{
    padding-left: 0;
}
.news-list {
    margin-bottom: 0;
    gap: 0;
}
.news-item {
    flex-direction: column;
    margin-bottom: 24px;
}
.news-img {
    width: 100%;
    margin-bottom: 16px;
}
.news-box{
    margin-bottom: 10px;
}
.news__label {
    color: #fff;
    display: flex;
    background-color:#262626 ;
    width: 72px;
    height: 22px;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    margin-left: 24px;
}
.btn{
    width: 260px;
    height: 45px;
    line-height: 40px;
}
.arrow{
    width: 52px;
    margin-top: -2px;
    }

}

/* ---------------------------------------------------------------- */
/* #greeting */
#greeting{
    background: url(../images/left-triangle.png),url(../images/right-triangle.png);
    background-repeat: no-repeat;
    background-position: left 0 bottom 0,right 0 top 0;
    background-size:35%,20%;
    margin-bottom: 104px;
}
.greeting-section {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
}
.greeting-img {
    width:100%;
}
.greeting-title {
    font-size: 24px;
    margin-bottom: 24px; 
}
.greeting-text {
    margin-bottom: 17px; 
}

/* #greeting mobile */
@media(max-width:767px){
#greeting{
background-position: left 0 bottom 0,right 0 top -49px;
background-size:50%,40%;
position: relative;
padding-top: 140px;
}
.greeting-text{
font-size: 14px;
}
.greeting-section{
display: initial;

} 
.greeting-img {
    float: left;
    width: 30%;
    vertical-align: bottom;
    display: inline-block;
}
.greeting-item {
    width: 100%;
}
.greeting-title {
    font-size: 18px;
    margin-bottom: 18px;
}

}
/* ---------------------------------------------------------------- */
/* #about */
#about,
#recruit
{
    margin-bottom: 203px;
}
.common-section{
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.common-item{
    position: absolute;
    top: 18%;
    left: 0;
    z-index: 2;
    width: 44%;
    height: auto;
    background-color:#494949 ;
    color: #fff;
    padding: 0 16px;
}

.common-item::before{
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background-color: #494949;
    left: -3%;        
    top:3%;
}

.common-item::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #494949;
    left: -3%;        
    bottom: -3%;
    }

.common-img{
    width: 64%;
    height: 100%;

}

#about .h2-title,
#recruit .h2-title{
    margin:33px auto 34px;
    
}
#about .greeting-text,
#recruit .greeting-text{
    margin-bottom: 63px;
}
#about .btn,
#recruit .btn{
    color: #fff;
    border: 1px solid #fff;
    margin-bottom: 25px;
}

#about .arrow,
#recruit .arrow{
    background-color: #fff;
}

#about .arrow::before,
#recruit .arrow::before{
    background-color: #fff;
}
/* #about mobile */
@media(max-width:900px){
    #about{
        margin-bottom: 24px;
    }
    #about .common-section{
        flex-direction: column-reverse;
    }
    .common-img{
        width: 100%;
    }
    .common-item{
        width: 100%;
        position: initial;
    }
    .common-item::before,
    .common-item::after{
        display: none;
    }
    #about .h2-title{
        margin: 32px auto 13px;
    }
    #about .greeting-text {
        margin-bottom: 32px;
}
    #about .btn{
        margin-bottom: 32px;
    }
}

/* ---------------------------------------------------------------- */
/* recruit */
#recruit .common-section {
    flex-direction: column;
    align-items: initial;
    margin-bottom: 24px;
  } 
#recruit .common-item {
    left: auto;
    right: 0;
}
#recruit .common-item::after{
    left: 3%;        
    }
#recruit .common-item::before{
    left: auto;
    right: -3%;
    top:3%;
   }

/* recruit mobile */
@media(max-width:900px){
    #recruit {
        margin-bottom: 24px;
    }
}

/* ---------------------------------------------------------------- */
/* contact */
#contact{
    background-color: #ECF2F5;
}
.contact-section {
    background-color: #ECF2F5;
}
#contact .h2-title {
    margin-bottom: 32px;
    padding-top: 32px;
}
.form {
    margin-bottom:48px;
}
.form-item {
    display: flex;
  align-items: flex-start;
  justify-content: space-between;
    margin-bottom: 24px;
}
.form-label{
    position: relative;
}
.form-label::before{
    content: "";
    position: absolute;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background-color: #F3AA53;
    top:50%;
    left: -20px;
    transform: translateY(-50%); 
}
.form-label::after{
    content: "*必須";
    position: absolute;
    color: #4098C9;
    font-size: 10px;
    width: 30px;
    top: 3px;
    right: -40px;
}
.form-input{
    width: 66%;
    padding: 5px 10px;
    color: #B9B9B9;
    border: 1px solid #494949;
    border-radius: 3px;
}
#comment {
    height: 200px;
}

#contact .btn {
  
    background: transparent;
}
.btn-box{
    padding-bottom: 31px;
    text-align: center;
    position: relative;
}
/* .btn-box .arrow{
    position: absolute;
    top: 30%;
    right: 33%;

} */
.btn-box:hover .arrow {
  transform: translateX(10px);
}
#confirm .btn-box{
    display: inline-block;
    margin:0 auto 0 20px; 
}
#confirm .arrow{
    left: 75%
}
/* contact mobile */
@media(max-width:767px){
    .contact-section{
        padding: 0 24px;
    }
    #contact .h2-title{
        margin-bottom: 11px;
    }
    .form-label{
        font-size: 14px;
        padding-left:14px;
        text-align: left;
    }
    .form-label::before{
    width: 8px;
    height: 8px;
    left: 0px;
}
    .form-item{
        align-items: center;
        flex-direction: column;
        text-align: center;
    }
    .form-label-wrapper{
    width: 100%;
    text-align: left;
    padding-bottom: 8px;
}

.form-label {
    display: inline-block;
    position: relative;
}
    .form-input{
    width: 100%;
    padding: 8px 10px;
    }
    .form{
    margin-bottom: 32px
    }
}
/* ---------------------------------------------------------------- */
/* Entry */
.entry-p {
    color:#262626;
    text-align: center;
    margin-bottom: 48px;
}
.entry-section{
    margin: 104px auto;
}
/* Entry mobile */
@media(max-width:767px){
    .entry-text p{
        font-size: 14px;
    }
    .entry-section{
        margin:32px auto;
    }
}
/* ---------------------------------------------------------------- */
/* footer */
#footer{
    background-color: #494949;
}
#footer .nav__item{
    color: #fff;
}
.copyright{
    text-align: center;
    color: #fff;
    padding-bottom: 33px;
}
#footer .nav-contents{
    padding:60px 0 50px;
    height: auto;
}

/* footer mobile */
@media(max-width:767px){

#footer .nav-contents{
    padding: 24px 0 18px;
}
.copyright{
    padding-bottom: 12px;
    font-size: 10px;
}
}

/* ---------------------------------------------------------------- */
/* 【Entry page】*/
#Entry .contact-section{
    margin-bottom: 104px;
}
#entry-mv{
    position: relative;
}
.main-title{
    color: #fff;
    top: 50%;
    left: 50%;
    font-size: 48px;
    position: absolute;
    z-index: 10;
    transform: translate(-50%,-50%);
}
.entry-container,
.entry-timeline{
    width: 90%;
}

.entry-container{
    display: grid;
    gap: 45px;
    max-width:920px;
    grid-template-columns: repeat(3,1fr);
    margin: 64px auto 140px;
}
.entry-item{
    border-radius: 16px;
    box-shadow: 4px 4px 4px 4px rgba(0,0,0,0.15)
}
.entry-img img{
    border-radius: 16px 16px 0 0; 
    object-fit: cover;
}
.entry-title{
    text-align: center;
    font-size: 20px ;
    color: #555555;
    padding: 10px 0;
}
.entry-timeline {
    display: grid;
    gap: 45px 40px;
    max-width: 920px;
    grid-template-columns: repeat(2,auto);
    margin: 0 auto 104px;
}
.timeline-item::before{
    content: "";
    display: block;
    width: 50px; 
    height: 50px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: -11%;
    left:50%;
    transform: translateX(-50%);
    
}
.timeline-item:first-child::before{
    background-image: url(../images/entry/step01.png);
}
.timeline-item:nth-child(2)::before{
    background-image: url(../images/entry/step02.png);

}
.timeline-item:nth-child(3)::before{
    background-image: url(../images/entry/step03.png);

}
.timeline-item:last-child::before{
    background-image: url(../images/entry/step04.png);

}
.timeline-nav{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}
.timeline-item {
    background-color: #ECF2F5;
    border-radius:16px; 
    height: 217px;
    font-family: "Yu Gothic UI";
    font-weight: 600;
    color: #555555;
    position: relative;
}
.timeline-title {
    font-size: 24px;
    text-align: center;
    padding: 40px 0 30px;
}
.timeline-img {
    width: 90px;                                       
}
.timeline-text {
        line-height: 120%;
}
#Entry.arrow{
    top: 10%;
}
/* Entry page mobile */
@media(max-width:767px){
    .entry-container{
    gap: 24px;
    grid-template-columns: repeat(auto-fit,minmax(276px,1fr));
    }
    .entry-timeline {
    display: grid;
    gap: 45px;
    grid-template-columns:  repeat(auto-fit,minmax(320px,1fr));
    padding: 0 24px;
    width: 100%;
    margin-bottom: 48px;
}
    .timeline-item::before{
    width: 36px;
    height: 36px;
    }
.timeline-title {
    font-size: 18px;
}
.timeline-text {
    font-size: 14px;
    line-height: 150%;
}
    .main-title{
    font-size: 32px;
    }

}

/* ----------------------------------------------------------------------------- */
/* mobile設定 */
@media (max-width: 767px){
/* body */

.wrapper {
    width: 100%;
    margin-bottom:64px;
    padding: 0 16px;
}
/* news wrapper  */
.wrapper__1000px {
    height: auto;
    padding: 0 16px;
    width: 100%;
    margin-bottom: 64px;
}
p{
    font-size: 16px;
}
}

/* 【confirm/complete page】*/
#complete .contact-section,
#confirm .contact-section{
    margin:104px auto;
}

#confirm .form-span{
    display: inline-block;
    padding-bottom: 20px;
}

#confirm .form-item{
    justify-content: center;
}

