@charset "UTF-8";
@import "../common/css/common.css";

/*======================================================================
  Under_Page_Head Company
======================================================================*/
.Under_Page_Head_Sub.Recruit{
    position: relative;
    z-index: 101;
    background: 
        var(--blue_dark-gradation),
        url(../images/recruit/bg_recruit_h1.png) no-repeat right bottom / auto 240px
    ;
}

@media screen and (max-width: 1200px) {
    .Under_Page_Head_Sub.Recruit{
        background:
            var(--blue_dark-gradation),
            url(../images/recruit/bg_recruit_h1.png) no-repeat right bottom / contain
        ;
    }
}

/*======================================================================
  Recruit_Table
======================================================================*/
h2.Recruit_Title{
    position: relative;
    color: var(--blue_dark);
    font-size: 1.5rem;
    font-weight: 700;
    padding: 0 0 0 12px;
}

h2.Recruit_Title::before{
    content: "";
    display: block;
    width: 4px;
    height: calc(100% - 10px);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: var(--blue_dark);
}

h2.Recruit_Title + p{
    margin: 20px 0 0 0;
    font-size: 1.125rem;
}

h2.Recruit_Title + p + .Img_Wrap{
    height: 633px;
    margin: 1em auto 0;
}

h2.Recruit_Title + p + .Img_Wrap img{
    max-width: 800px;
}

.Recruit_Message{
    box-sizing: border-box;
    border: 1px solid var(--gray);
    background: var(--white);
    padding: 24px;
}
.Recruit_Message p{
    font-size: 1.125rem;
}

p + .Recruit_Message{
    margin: 40px 0 0 0;
}

.Recruit_Table{
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 40px;
    margin: 40px 0 0 0;
}
.Recruit_Table .Recruit_Content{
    position: relative;
    width: 100%;
}
.Recruit_Table .Recruit_Content h2{
    color: var(--blue_dark);
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0 0 8px 0;
    border-bottom: 1px solid var(--blue_dark);
}
.Recruit_Table .Recruit_Content ul{
    margin: 24px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.Recruit_Table .Recruit_Content ul li{
    display: flex;
    align-items: center;
    gap: 16px;
}

.Recruit_Table .Recruit_Content ul li h3{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 136px;
    color: var(--white);
    font-size: 1.125rem;
    font-weight: bold;
    text-align: center;
    background: var(--blue_dark);
    padding: 8px;
    align-self: stretch;
}
.Recruit_Table .Recruit_Content ul li .Recruit_Box{
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 16px 0;
}
.Recruit_Table .Recruit_Content ul li .Recruit_Box a.Map_Recruit{
    position: relative;
    display: inline-block;
    color: var(--blue_mid);
    font-weight: 700;
    padding: 0 0 0 24px;
    width: fit-content;
}
.Recruit_Table .Recruit_Content ul li .Recruit_Box a.Map_Recruit::before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: url(../common/images/icon_map_link.svg) no-repeat center / 100% auto;
}
.Recruit_Table .Recruit_Content ul li .Recruit_Box a.Map_Recruit:hover::after{
    content: "";
    display: none;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--blue_mid);
}

.Recruit_Table .Recruit_Content ul li .Recruit_Box a.Map_Recruit:active{
    opacity: 1;
}
.Recruit_Table .Recruit_Content ul li .Recruit_Box a.Map_Recruit:active::after{
    display: block;
}

@media (hover: hover) {
    .Recruit_Table .Recruit_Content ul li .Recruit_Box a.Map_Recruit:hover{
        opacity: 1;
    }
    .Recruit_Table .Recruit_Content ul li .Recruit_Box a.Map_Recruit:hover::after{
        display: block;
    }
}

.Recruit_Table .Recruit_Content ul li .Type_Occupation{
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    margin: 0;
    width: calc(100% - 152px);
    padding: 16px 0;
}

.Recruit_Table .Recruit_Content ul li .Type_Occupation li{
    flex-direction: column;
    align-items: flex-start;
    width: calc((100% - 48px)/2);
}

.Recruit_Table .Recruit_Content ul li .Type_Occupation li h3{
    width: 100%;
    background: none;
    border-top: 1px solid var(--blue_dark);
    border-bottom: 1px solid var(--blue_dark);
    color: var(--blue_dark);
}

.Recruit_Table .Recruit_Content ul li .Type_Occupation li .Recruit_Box{
    padding: 0;
}

.Recruit_Table .Recruit_Content ul li .Recruit_Thumbnail img{
    width: 100%;
    height: 384px;
}

.Recruit_Table .Recruit_Content ul li:last-child .Recruit_Thumbnail{
    position: absolute;
    top: 50%;
    right: 0;
}

.Recruit_Table .Recruit_Content ul li:not(:last-child):nth-child(n+3){
    width: calc(100% - 600px);
}

@media screen and (max-width: 1200px) {
    .Recruit_Table{
        flex-direction: column;
        gap: 40px;
    }

    .Recruit_Table .Recruit_Content{
        max-width: 100%;
    }

    .Recruit_Table .Recruit_Content ul li{
        flex-direction: column;
        align-items: stretch;
    }
    
    .Recruit_Table .Recruit_Content ul li h3{
        width: 100%;
    }

    .Recruit_Table .Recruit_Content ul li .Recruit_Box{
        width: 100%;
    }

    .Recruit_Table .Recruit_Content ul li .Type_Occupation{
        flex-direction: column;
        width: 100%;
        padding: 0 0 32px 0;
        gap: 32px;
    }

    .Recruit_Table .Recruit_Content ul li .Type_Occupation li,
    .Recruit_Table .Recruit_Content ul li .Type_Occupation li .Recruit_Box{
        width: 100%;
    }

    .Recruit_Table .Recruit_Content ul li:last-child .Recruit_Thumbnail{
        position: relative;
        top: auto;
        right: auto;
    }

    .Recruit_Table .Recruit_Content ul li:not(:last-child):nth-child(n+3){
        width: 100%;
    }

    .Recruit_Table .Recruit_Content ul li .Recruit_Thumbnail img{
        width: fit-content;
        height: auto;
    }

    .Recruit_Table .Recruit_Content ul li .Recruit_Box{
        padding: 0 0 32px 0;
    }
}

/*======================================================================
  Recruit_Flow
======================================================================*/
.Img_Wrap + .Recruit_Content{
    margin: 40px 0 0 0;
}

.Img_Wrap + .Recruit_Content h2{
    color: var(--blue_dark);
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0 0 8px 0;
    border-bottom: 1px solid var(--blue_dark);
}

.Recruit_Content a.Button_Type_Rudder{
    margin: 0 auto;
}

.Recruit_Content .Recruit_Content_Wrap{
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin: 40px 0 0 0;
}

.Recruit_Content .Recruit_Content_Wrap .Recruit_Thumbnail{
    max-width: 480px;
}

.Recruit_Content .Recruit_Content_Wrap + .Img_Wrap{
    height: 633px;
    margin: 30px auto 0;
}

.Recruit_Content .Recruit_Content_Wrap + .Img_Wrap img{
    max-width: 800px;
}

.Recruit_Content ul.Recruit_Flow + .Button_Type_Rudder{
    height: fit-content;
    margin: auto;
    transform: scale(1.5);
    transition: .3s;
}

.Recruit_Content ul.Recruit_Flow + .Button_Type_Rudder:hover{
    transform: scale(1.5) translateY(4px);
}

.Recruit_Content ul.Recruit_Flow li{
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px
}
.Recruit_Content ul.Recruit_Flow li:not(:first-child){
    padding: 36px 0 0 0;
}
.Recruit_Content ul.Recruit_Flow li:not(:last-child):after{
    content: "";
    display: block;
    width: 40px;
    height: 20px;
    position: absolute;
    bottom: -28px;
    left: 20px;
    background: url(../images/recruit/icon_triangle_flow.svg) no-repeat center / 100% auto;
}
.Recruit_Content ul.Recruit_Flow li h3{
    min-width: 80px;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 700;
    border-radius: 50%;
    background: var(--blue_dark);
}

.Recruit_Summary{
    margin: 40px 0 0 0;
}
.Recruit_Summary figure{
    position: relative;
    height: 400px;
    overflow: hidden;
    display: block;
    width: 100%;
}

.Recruit_Summary figure img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.Recruit_Content + a.Button_Type_Rudder{
    height: fit-content;
    margin: auto;
    transform: scale(1.5);
    transition: .3s;
    margin: 40px auto 0;
}

.Recruit_Content + a.Button_Type_Rudder:hover{
    transform: scale(1.5) translateY(4px);
}

.Recruit_Summary h3{
    position: relative;
    color: var(--blue_dark);
    font-size: 1.5rem;
    font-weight: 700;
    padding: 0 0 0 12px;
}

.Recruit_Summary h3::before{
    content: "";
    display: block;
    width: 4px;
    height: calc(100% - 10px);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: var(--blue_dark);
}

.Recruit_Summary ul li strong{
    position: relative;
    display: block;
    color: var(--blue_dark);
    font-size: 1.25rem;
    padding: 0 0 0 25px;
}

.Recruit_Summary p strong{
    display: block;
    color: var(--blue_dark);
    font-size: 1.25rem;
}

.Recruit_Summary ul li strong::before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    top: 6px;
    left: 0;
    background: var(--blue_dark);
}

.Recruit_Summary .Img_Wrap{
    display: block;
    overflow: visible;
}

.Recruit_Summary .Img_Wrap_SP{
    display: none;
    overflow: visible;
}

.Recruit_Summary .Img_Wrap img,
.Recruit_Summary .Img_Wrap_SP img{
    width: auto;
    height: 100%;
    position: relative;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.Recruit_Summary figure + p,
.Recruit_Summary p + p,
.Recruit_Summary h3 + p{
    margin: 1em 0 0 0;
}

.Recruit_Summary figure + h3,
.Recruit_Summary p + h3,
.Recruit_Summary p + strong,
.Recruit_Summary p + ul,
.Recruit_Summary ul + p,
.Recruit_Summary li + li,
.Recruit_Summary p + .Img_Wrap,
.Recruit_Summary p + .Img_Wrap_SP{
    margin: 40px 0 0 0;
}


@media screen and (max-width: 1200px) {
    .Recruit_Content ul.Recruit_Flow li:not(:last-child):after{
        content: "";
        display: block;
        width: 40px;
        height: 20px;
        position: absolute;
        bottom: -28px;
        left: 50%;
        transform: translateX(-50%);
        background: url(../images/icon_triangle_flow.svg) no-repeat center / 100% auto;
    }

    .Recruit_Summary span{
        visibility: hidden;
        height: 0;
    }

    .Recruit_Content + a.Button_Type_Rudder,
    .Recruit_Content a.Button_Type_Rudder{
        max-width: 100%;
        width: 100%;
        transform: scale(1);
        margin: 40px 0;
    }

    .Recruit_Content + a.Button_Type_Rudder:hover{
        transform: scale(1) translateY(4px);
    }

    .Recruit_Content ul.Recruit_Flow + .Button_Type_Rudder:hover{
        transform: scale(1) translateY(4px);
    }

    .Recruit_Summary .Img_Wrap{
        display: block;
        visibility: visible;
        height: 100%;
    }

    .Recruit_Summary .Img_Wrap_SP{
        display: block;
        visibility: visible;
        height: 100%;
    }

    .Recruit_Content .Recruit_Content_Wrap{
        flex-direction: column;
    }

    .Recruit_Content .Recruit_Content_Wrap .Recruit_Thumbnail{
        max-width: 600px;
        margin: 0 auto;
    }

    .Recruit_Content ul.Recruit_Flow + .Button_Type_Rudder{
        transform: scale(1);
    }
}

@media screen and (max-width: 768px) {
    h2.Recruit_Title + p + .Img_Wrap{
        max-height: 500px;
    }
}

@media screen and (max-width: 480px) {
    h2.Recruit_Title + p + .Img_Wrap{
        max-height: 300px;
    }
}

/*======================================================================
  Recruit_Form
======================================================================*/
.flexbox { display: flex; }
.flexbox.jcsb { justify-content: space-between; }
.flexbox.aic { align-items: center; }

input[type="radio"] {
    -webkit-appearance: radio; 
    -moz-appearance: radio;    
    appearance: radio;
}

/* Contact Form7のフォームの幅を調整 */
.wpcf7 .wpcf7-form-control-wrap { 
	width: 100%;
}

/* Contact Form7 読み込み中のスピナーを非表示 */
.wpcf7-spinner{
    display: none;
}

/* Contact Form7用 共通ボタンスタイル */
#Recruit_Form .Button_Type_Anchor,
#Recruit_Form_Confirm .Button_Type_Anchor,
#Recruit_Form_Confirm .Button_Type_Anchor_Blue_Dark{
    position: relative;
    box-sizing: content-box;
    border-radius: 0;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    color: transparent;
    font-size: 1rem;
    font-weight: normal;
    background: transparent;
    padding: 0;
    cursor: pointer;
    max-width: 164px;
}

.Button_Type_Anchor input,
.Button_Type_Anchor_Blue_Dark input{
    display: block;
    box-sizing: border-box;
    border-radius: 4px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.40);
    color: var(--white);
    font-size: 1.125rem;
    font-weight: 700;
}

.Button_Type_Anchor input{
    background: var(--blue_mid);
    padding: 10px 70px 10px 24px;
    transition: transform .3s;
    width: 100%;
}

.Button_Type_Anchor_Blue_Dark input{
    background: var(--blue_dark);
    padding: 10px 24px 10px 70px;
    transition: .3s;
}

#Recruit_Form .Recruit_Form_Container .required,
#Recruit_Form .Recruit_Form_Container .optional {
    color: var(--white);
    font-size: 0.625rem;
    font-weight: normal;
    font-weight: bold;
    padding: 2px 4px;
    margin-left: 4px;
    border-radius: 4px;
}

#Recruit_Form .Recruit_Form_Container .required {
    background: #D03333;
}

#Recruit_Form .Recruit_Form_Container .optional {
    text-wrap: nowrap;
    background: var(--black);
}


#Recruit_Form .Recruit_Form_Description {
    font-size: 1.125rem;
    padding: 24px;
    background: var(--white);
    margin-bottom: 24px;
    border: 1px solid #D9D9D9;
    background: rgba(255, 255, 255, 0.80);
    margin-bottom: 40px;

}

#Recruit_Form .Recruit_Form_Container {
    display: flex;
    flex-direction: column;
    gap: .5em;
    margin-bottom: 40px;
}

#Recruit_Form .Recruit_Form_Container h3 {
    color: var(--blue_dark);
    font-size: 1.5rem;
    font-weight: bold;
    padding-bottom: .5em;
    border-bottom: 1px solid var(--blue_dark);
    margin-bottom: 24px;
}

#Recruit_Form .headline {
    display: flex;
    align-items: center;
    color: var(--white);
    font-size: 1.125rem;
    font-weight: bold;
    min-width: 190px;
    padding: .5em 1em;
    box-sizing: border-box;
    background: var(--blue_dark);
}

#Recruit_Form .Recruit_Form_Container .form-group{
    display: flex;
    gap: .5em;
}

#Recruit_Form .form-group.email .headline {
    font-size: 1rem;
}

#Recruit_Form .Recruit_Form_Container .input {
    display: block;
    padding: .5em;
    background: var(--white);
    width: 100%;
    overflow-wrap: break-word;

}

#Recruit_Form .tel_group{
    display: flex;
    align-items: center;
    gap: 16px;
}

#Recruit_Form .Recruit_Form_Container .remarks .input {
    padding: .5em;
    display: block;
    width: 100%;
    height: 200px;
    background: var(--white);
    text-align: left;
}

@media screen and (max-width:1200px) {
    #Recruit_Form .Button_Type_Anchor{
        max-width: 100%;
    }
}

@media screen and (max-width:768px) {
    #Recruit_Form .Recruit_Form_Container .form-group {
        flex-direction: column;
    }
}

/*======================================================================
  Recruit_Form_Confirm
======================================================================*/
input[type="radio"] {
    -webkit-appearance: radio; 
    -moz-appearance: radio;    
    appearance: radio;
}

#email[type="email"]::placeholder {
    white-space: pre-wrap;
}

#Recruit_Form_Confirm .Recruit_Form_Container .required,
#Recruit_Form_Confirm .Recruit_Form_Container .optional {
    color: var(--white);
    font-size: 0.625rem;
    font-weight: normal;
    font-weight: bold;
    padding: 2px 4px;
    margin-left: 4px;
    border-radius: 4px;
}

#Recruit_Form_Confirm .Recruit_Form_Container .required {
    background: #D03333;
}

#Recruit_Form_Confirm .Recruit_Form_Container .optional {
    text-wrap: nowrap;
    background: var(--black);
}


#Recruit_Form_Confirm .Recruit_Form_Description {
    padding: 24px;
    background: var(--white);
    margin-bottom: 24px;
    border: 1px solid #D9D9D9;
    background: rgba(255, 255, 255, 0.80);
    margin-bottom: 40px;

}

#Recruit_Form_Confirm .Recruit_Form_Container {
    display: flex;
    flex-direction: column;
    gap: .5em;
    margin-bottom: 40px;
}

#Recruit_Form_Confirm .Recruit_Form_Container h3 {
    color: var(--blue_dark);
    font-size: 1.5rem;
    font-weight: bold;
    padding-bottom: .5em;
    border-bottom: 1px solid var(--blue_dark);
    margin-bottom: 24px;
}

#Recruit_Form_Confirm .headline {
    display: flex;
    align-items: center;
    color: var(--white);
    font-size: 1.125rem;
    font-weight: bold;
    min-width: 190px;
    padding: .5em 1em;
    box-sizing: border-box;
    background: var(--blue_dark);
}

#Recruit_Form_Confirm .Recruit_Form_Container .form-group {
    display: flex;
    gap: .5em;
}

#Recruit_Form_Confirm .form-group.email .headline {
    font-size: 1rem;
}

#Recruit_Form_Confirm .Recruit_Form_Container .input {
    display: block;
    padding: .5em 0;
    width: 100%;
    overflow-wrap: break-word;
}

#Recruit_Form_Confirm .tel_group {
    display: flex;
    align-items: center;
}

#Recruit_Form_Confirm .Recruit_Form_Container .remarks .input {
    display: block;
    width: 100%;
    text-align: left;
}

#Recruit_Form .Confirm_Link,
#Recruit_Form_Confirm .Confirm_Link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

@media screen and (max-width:1200px) {
    #Recruit_Form .Recruit_Form_Container #email {
        height: 80px;
    }
}

@media screen and (max-width:768px) {
    #Recruit_Form_Confirm .Recruit_Form_Container .form-group {
        flex-direction: column;
    }
}

/* Contact Form7 読み込み中のスピナー */
#Recruit_Form_Confirm{
    padding: 0 0 40px 0;
}

#Recruit_Form .wpcf7-spinner{
    display: none;
}

#Recruit_Form_Confirm .wpcf7-spinner {
    display: block;
    position: absolute;
    bottom: -100%;
    right: 285px;
    margin: 0;
    border-radius: 100%;
    background: var(--blue_mid);
}

#Recruit_Form_Confirm .wpcf7-spinner::before{
    background: var(--white);
}

#Recruit_Form_Confirm .wpcf7-spinner::after{
    content: '送信完了になるまでページを離れずお待ちください。';
    display: block;
    font-size: 12px;
    color: var(--blue_dark);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -295px;
}


/*======================================================================
  Transmission_Complete
======================================================================*/
.Transmission_Complete{
    margin: 100px 0 0 0;
}

.Transmission_Complete .Bg_Unga .Bg_Ground{
    padding: 260px 0 240px 0;
}

.Transmission_Complete .Box_Wrap .Transmission_Complete_Content{
    background: var(--white-transparent);
    padding: 80px 40px;
}

.Transmission_Complete .Box_Wrap .Transmission_Complete_Content h1{
    color: var(--blue_dark);
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
}

.Transmission_Complete .Box_Wrap .Transmission_Complete_Content .Contact_Message{
    text-align: center;
    margin: 40px 0 0 0;
}
.Transmission_Complete .Box_Wrap .Transmission_Complete_Content .Contact_Message p span{
    display: inline-block;
}

.Transmission_Complete .Box_Wrap .Button_Type_Anchor{
    max-width: 202px;
    margin: 40px auto 0;
}

@media screen and (max-width: 1200px) {
    .Transmission_Complete{
        margin: 79px 0 0 0;
    }

    .Transmission_Complete .Bg_Unga .Bg_Ground{
        padding: 138px 0 160px 0;
    }

    .Transmission_Complete .Box_Wrap .Transmission_Complete_Content{
        padding: 40px 24px;
    }
    .Transmission_Complete .Box_Wrap .Transmission_Complete_Content h1{
        font-size: 1.5rem;
    }
    .Transmission_Complete .Box_Wrap .Transmission_Complete_Content .Contact_Message{
        margin: 24px 0 0 0;
    }

    .Transmission_Complete .Box_Wrap .Button_Type_Anchor{
        max-width: 100%;
        margin: 80px auto 0;
    }
}

.Boat_Alt .Bg_Boat_01,
.Boat_Alt .Bg_Boat_02,
.Boat_Alt .Bg_Boat_03,
.Boat_Alt .Bg_Boat_04,
.Boat_Alt .Bg_Boat_05,
.Boat_Alt .Bg_Boat_06 {
    display: block;
    width: 500px;
    height: 146px;
    position: absolute;
    top: -50%;
    left: -50%;
    animation: boat_alt 90s linear;
}

.Boat_Alt .Bg_Boat_02,
.Boat_Alt .Bg_Boat_03,
.Boat_Alt .Bg_Boat_04,
.Boat_Alt .Bg_Boat_05,
.Boat_Alt .Bg_Boat_06{
    visibility: hidden;
    opacity: 0;
}

@keyframes boat_alt {
    0%{
        top: -10%;
        left: 19%;
        transform: rotate(-70deg);
    }
    10%{
        top: 2.5%;
        left: 16%;
        transform: rotate(-72deg);
    }
    20%{
        top: 15%;
        left: 13%;
        transform: rotate(-76deg);
    }
    30%{
        top: 27.5%;
        left: 11%;
        transform: rotate(-79deg);
    }
    40%{
        top: 40%;
        left: 9%;
        transform: rotate(-79deg);
    }
    50%{
        top: 52.5%;
        left: 7%;
        transform: rotate(-81deg);
    }
    60%{
        top: 65%;
        left: 6%;
        transform: rotate(-83deg);
    }
    70%{
        top: 77.5%;
        left: 4%;
        transform: rotate(-87deg);
    }
    80%{
        top: 90%;
        left: 4%;
        transform: rotate(-91deg);
    }
    90%{
        top: 102.5%;
        left: 4%;
        transform: rotate(-93deg);
    }
    100%{
        top: 115%;
        left: 4%;
        transform: rotate(-95deg);
    }
}

@media screen and (max-width: 1200px) {
    .Boat_Alt .Bg_Boat_01,
    .Boat_Alt .Bg_Boat_02,
    .Boat_Alt .Bg_Boat_03,
    .Boat_Alt .Bg_Boat_04,
    .Boat_Alt .Bg_Boat_05,
    .Boat_Alt .Bg_Boat_06 {
        width: 250px;
        height: 73px;
    }
    @keyframes boat_alt {
        0%{
            top: -10%;
            left: 18%;
            transform: rotate(-70deg);
        }
        10%{
            top: 2.5%;
            left: 17%;
            transform: rotate(-72deg);
        }
        20%{
            top: 15%;
            left: 14%;
            transform: rotate(-74deg);
        }
        30%{
            top: 27.5%;
            left: 12%;
            transform: rotate(-76deg);
        }
        40%{
            top: 40%;
            left: 9%;
            transform: rotate(-82deg);
        }
        50%{
            top: 52.5%;
            left: 7%;
            transform: rotate(-86deg);
        }
        60%{
            top: 65%;
            left: 5%;
            transform: rotate(-88deg);
        }
        70%{
            top: 77.5%;
            left: 5%;
            transform: rotate(-90deg);
        }
        80%{
            top: 90%;
            left: 4%;
            transform: rotate(-92deg);
        }
        90%{
            top: 102.5%;
            left: 5%;
            transform: rotate(-92deg);
        }
        100%{
            top: 115%;
            left: 5%;
            transform: rotate(-92deg);
        }
    }
}

@media screen and (max-width: 768px) {
    .Boat_Alt .Bg_Boat_01,
    .Boat_Alt .Bg_Boat_02,
    .Boat_Alt .Bg_Boat_03,
    .Boat_Alt .Bg_Boat_04,
    .Boat_Alt .Bg_Boat_05,
    .Boat_Alt .Bg_Boat_06 {
        width: 185px;
        height: 54px;
    }
    @keyframes boat {
        0%{
            top: -10%;
            left: 20%;
            transform: rotate(-70deg);
        }
        10%{
            top: 2.5%;
            left: 15%;
            transform: rotate(-72deg);
        }
        20%{
            top: 15%;
            left: 11%;
            transform: rotate(-74deg);
        }
        30%{
            top: 27.5%;
            left: 7%;
            transform: rotate(-76deg);
        }
        40%{
            top: 40%;
            left: 5%;
            transform: rotate(-82deg);
        }
        50%{
            top: 52.5%;
            left: 3%;
            transform: rotate(-86deg);
        }
        60%{
            top: 65%;
            left: 5%;
            transform: rotate(-90deg);
        }
        70%{
            top: 77.5%;
            left: 3%;
            transform: rotate(-92deg);
        }
        80%{
            top: 90%;
            left: 4%;
            transform: rotate(-96deg);
        }
        90%{
            top: 102.5%;
            left: 7%;
            transform: rotate(-100deg);
        }
        100%{
            top: 115%;
            left: 7%;
            transform: rotate(-100deg);
        }
    }
}

@media screen and (max-width: 480px) {
    .Boat_Alt .Bg_Boat_01,
    .Boat_Alt .Bg_Boat_02,
    .Boat_Alt .Bg_Boat_03,
    .Boat_Alt .Bg_Boat_04,
    .Boat_Alt .Bg_Boat_05,
    .Boat_Alt .Bg_Boat_06 {
        width: 125px;
        height: 37px;
    }
    @keyframes boat {
        0%{
            top: -5%;
            left: 23%;
            transform: rotate(-70deg);
        }
        10%{
            top: 5%;
            left: 18%;
            transform: rotate(-72deg);
        }
        20%{
            top: 15%;
            left: 13%;
            transform: rotate(-74deg);
        }
        30%{
            top: 27.5%;
            left: 8%;
            transform: rotate(-76deg);
        }
        40%{
            top: 40%;
            left: 5%;
            transform: rotate(-82deg);
        }
        50%{
            top: 52.5%;
            left: 5%;
            transform: rotate(-90deg);
        }
        60%{
            top: 65%;
            left: 7%;
            transform: rotate(-98deg);
        }
        70%{
            top: 77.5%;
            left: 10%;
            transform: rotate(-105deg);
        }
        80%{
            top: 90%;
            left: 18%;
            transform: rotate(-105deg);
        }
        90%{
            top: 102.5%;
            left: 26%;
            transform: rotate(-115deg);
        }
        100%{
            top: 115%;
            left: 26%;
            transform: rotate(-115deg);
        }
    }
}