body {
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.wrapper {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
}


/*header*/

@keyframes bugfix {
    from {
        padding: 0;
    }

    to {
        padding: 0;
    }
}

@-webkit-keyframes bugfix {
    from {
        padding: 0;
    }

    to {
        padding: 0;
    }
}

#overlay-button {
    position: fixed;
    right: 2em;
    top: 3em;
    padding: 26px 11px;
    z-index: 5;
    cursor: pointer;
    user-select: none;
}

#overlay-button span {
    height: 4px;
    width: 35px;
    border-radius: 2px;
    background-color: #133a32;
    position: relative;
    display: block;
    transition: all .2s ease-in-out;
}

#overlay-button span:before {
    top: -10px;
    visibility: visible;
}

#overlay-button span:after {
    top: 10px;
}

#overlay-button span:before,
#overlay-button span:after {
    height: 4px;
    width: 35px;
    border-radius: 2px;
    background-color: #133a32;
    position: absolute;
    content: "";
    transition: all .2s ease-in-out;
}

#overlay-button:hover span,
#overlay-button:hover span:before,
#overlay-button:hover span:after {
    background: #133a32;
}

input[type=checkbox] {
    display: none;

}

input[type=checkbox]:checked~#overlay {
    visibility: visible;
}

input[type=checkbox]:checked~#overlay-button:hover span,
input[type=checkbox]:checked~#overlay-button span {
    background: transparent;


}

input[type=checkbox]:checked~#overlay-button span:before {
    transform: rotate(45deg) translate(7px, 7px);

}

input[type=checkbox]:checked~#overlay-button span:after {
    transform: rotate(-45deg) translate(7px, -7px);


}

#overlay {
    height: 100vh;
    width: 100vw;
    background: #106655;
    z-index: 2;
    visibility: hidden;
    position: fixed;
}

#overlay.active {}

#overlay ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    height: 100vh;
    padding-left: 0;
    list-style-type: none;
}

#overlay ul li {
    padding: 1em;
}

#overlay ul li a {
    color: #ffffff;
    text-decoration: none;
    font-size: 1.5em;
}

#overlay ul li a:hover {
    color: #133a32 !important;
}

/*headerここまで*/

/*要素ふわっと表示*/
.fade {
    opacity: 0;
    transform: translateY(1px);
    transition: opacity 3s, transform 4s;
}

.fade.active {
    opacity: 1;
    transform: translateY(0px);
}

.fade1 {
    opacity: 0;
    transform: translateY(1px);
    transition: opacity 5s, transform 4s;
}

.fade1.active {
    opacity: 1;
    transform: translateY(0px);
}

.fade2 {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 2s, transform 2s;
}

.fade2.active {
    opacity: 1;
    transform: translateY(0px);
}

.fade3 {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 3s, transform 3s;
}

.fade3.active {
    opacity: 1;
    transform: translateY(0px);
}

.fade4 {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 4s, transform 4s;
}

.fade4.active {
    opacity: 1;
    transform: translateY(0px);
}

/*メインビジュアル*/
.container {
    background: rgb(16,102,85);
    background: linear-gradient(0deg, rgba(16,102,85,1) 4%, rgba(48,160,130,1) 63%, rgba(56,173,141,1) 78%);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.box {
    padding: 20px;
    text-align: center;
    z-index: 1;
}

.box h1 {
    color: #fff;
    font-size: 50px;
}

.box p {
    color: #fff;
    font-size: 38px;
}

a {
    color: rgb(255, 255, 255);
}

/*about*/
#about {
    background-color: #FFF;
    padding-bottom: 150px;
}

.about_text {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.about_text h2 {
    position: relative;
    font-size: 40px;
    margin-bottom: 70px;
    font-weight: 300;
    letter-spacing: 0.5em;
}

.about_text h2:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -15px;
    /*線の上下位置*/
    display: inline-block;
    width: 300px;
    /*線の長さ*/
    height: 0.5px;
    /*線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    /*位置調整*/
    background-color: #000000;
    /*線の色*/
}

.about_text p {
    line-height: 1.8;
    font-size: 20px;
    letter-spacing: 0.3em;
}

.about_text span {
    color: #106655;
    font-weight: bold
}

/* aタグのリセットCSS（不要な場合、セレクタごと削除してください） */
a {
    color: inherit;
    text-decoration: none;
}

/* buttonタグのリセットCSS（不要な場合、セレクタごと削除してください） */
button {
    padding: 0;
    font-family: inherit;
    appearance: none;
    cursor: pointer;
    background-color: transparent;
    border: none;
}

/* ボタンのスタイル */
.about_button {
    font-size: 25px;
    font-weight: lighter;
    margin: 0 auto;
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    aspect-ratio: 1;
    color: #222;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #efefef, 4px 4px 8px rgb(0 0 0 / 24%);
}

.about_button span {
    color: #106655;
    font-weight: bold;
}

@media (any-hover: hover) {
    .about_button {
        transition: box-shadow 0.2s;
    }

    .about_button:hover {
        box-shadow: -2px -2px 4px #fff, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .about_button:active {
        background-color: #ebebeb;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

#works {
    background-color: #f1f1f1;
    padding-top: 100px;
    padding-bottom: 150px;
}

.title_h2 {
    font-size: 3em;
    padding-left: 50px;
}

.title_h2::first-letter {
    color: #0C5446;
}

.works_container {

    justify-content: space-around;
    width: 80%;
    margin: 0 auto;
}

/*socialtech*/
.works_item_left1 {
    position: relative;
    margin-top: 100px;
}

.works_item_left1 img {
    max-width: 350px;
}

.works_item_text1 {
    position: absolute;
    top: 200px;
    left: 150px;
}

.works_button_container1 {
    padding-left: 0;
}

.works_item_button1 {
    font-weight: bold;
    color: #fff;
}

/*hairtech*/
.works_item_right {
    position: relative;
    margin-top: 100px;
}

.works_item_right img {
    max-width: 350px;
}

.works_item_text2 {
    position: absolute;
    top: 200px;
    left: 150px;
}

.works_item_button2 {
    font-weight: bold;
    color: #000000;
}

/*cozyinn*/
.works_item_left2 {
    position: relative;
    margin-top: 100px;
}

.works_item_left2 img {
    max-width: 350px;
}

.works_item_text3 {
    position: absolute;
    top: 200px;
    left: 150px;
}

.works_item_button3 {
    color: #fff;
}

/*worksのボタンスタイル1*/
.works_button_container1 {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1;
    color: #222;
    background-color: #1320c5;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #1422dc, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .works_button_container1 {
        transition: box-shadow 0.2s;
    }

    .works_button_container1:hover {
        box-shadow: -2px -2px 4px #1422dc, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .works_button_container1:active {
        background-color: #1422dc;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

/*worksのボタンスタイル2*/
.works_button_container2 {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1;
    color: #222;
    background-color: #ecc44c;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #ffd65c, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .works_button_container2 {
        transition: box-shadow 0.2s;
    }

    .works_button_container2:hover {
        box-shadow: -2px -2px 4px #ffd65c, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .works_button_container2:active {
        background-color: #ffd65c;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

/*worksのボタンスタイル2*/
.works_button_container2 {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1;
    color: #222;
    background-color: #ecc44c;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #ffd65c, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .works_button_container2 {
        transition: box-shadow 0.2s;
    }

    .works_button_container2:hover {
        box-shadow: -2px -2px 4px #ffd65c, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .works_button_container2:active {
        background-color: #ffd65c;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

/*worksのボタンスタイル3*/
.works_button_container3 {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1;
    color: #222;
    background-color: #988b62;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #b9a977, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .works_button_container3 {
        transition: box-shadow 0.2s;
    }

    .works_button_container3:hover {
        box-shadow: -2px -2px 4px #b9a977, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .works_button_container3:active {
        background-color: #b9a977;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

/*socialtech
.works_container .works_item:nth-last-of-type(1) {
    position: relative;
    margin-top: 100px;
    margin-left: 20%;
}

.works_container .works_item:nth-last-of-type(2) {
    position: relative;
    margin-top: 100px;
    margin-left: 50%;
}

.works_container .works_item:nth-last-of-type(3) {
    position: relative;
    margin-top: 100px;
    margin-left: 20%;
}

*/

/* .works_item_left1 {
    position: relative;
    margin-top: 100px;
    margin-left: 20%;
} */

.works_item img {
    max-width: 350px;
}

.works_item_text {
    position: absolute;
    top: 200px;
    left: 150px;
}

/* .works_button_container1 {
    padding-left: 0;
} */

.works_item_button {
    font-weight: bold;
    color: #fff;
}

/*hairtech*/
/* .works_item_right {
    position: relative;
    margin-top: 100px;
    margin-left: 50%;
}

.works_item_right img {
    max-width: 350px;
}

.works_item_text2 {
    position: absolute;
    top: 200px;
    left: 150px;
}

.works_item_button2 {
    font-weight: bold;
    color: #000000;
} */

/*cozyinn*/
/* .works_item_left2 {
    position: relative;
    margin-top: 100px;
    margin-left: 20%;
}

.works_item_left2 img {
    max-width: 350px;
}

.works_item_text3 {
    position: absolute;
    top: 200px;
    left: 150px;
}

.works_item_button3 {
    color: #fff;
} */


/*worksのボタンスタイル1
.works_container .works_item:nth-last-of-type(1) .works_item_text .works_button_container {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1;
    color: #222;
    background-color: #1320c5;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #1422dc, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .works_container .works_item:nth-last-of-type(1) .works_item_text .works_button_container {
        transition: box-shadow 0.2s;
    }

    .works_container .works_item:nth-last-of-type(1) .works_item_text .works_button_container:hover {
        box-shadow: -2px -2px 4px #1422dc, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .works_container .works_item:nth-last-of-type(1) .works_item_text .works_button_container:active {
        background-color: #1422dc;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

/*worksのボタンスタイル2*/
/* .works_button_container:nth-last-of-type(2) {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1;
    color: #222;
    background-color: #ecc44c;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #ffd65c, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .works_button_container:nth-last-of-type(2) {
        transition: box-shadow 0.2s;
    }

    .works_button_container:nth-last-of-type(2):hover {
        box-shadow: -2px -2px 4px #ffd65c, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .works_button_container:nth-last-of-type(2):active {
        background-color: #ffd65c;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
} 

/*worksのボタンスタイル
.works_container .works_item:nth-last-of-type(2) .works_item_text .works_button_container .works_item_button {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1;
    color: #222;
    background-color: #ecc44c;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #ffd65c, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .works_container .works_item:nth-last-of-type(2) .works_item_text .works_button_container {
        transition: box-shadow 0.2s;
    }

    .works_container .works_item:nth-last-of-type(2) .works_item_text .works_button_container:hover {
        box-shadow: -2px -2px 4px #ffd65c, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .works_container .works_item:nth-last-of-type(2) .works_item_text .works_button_container:active {
        background-color: #ffd65c;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

/*worksのボタンスタイル3
.works_container .works_item:nth-last-of-type(3) .works_item_text .works_button_container {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1;
    color: #222;
    background-color: #988b62;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #b9a977, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .works_container .works_item:nth-last-of-type(3) .works_item_text .works_button_container {
        transition: box-shadow 0.2s;
    }

    .works_container .works_item:nth-last-of-type(3) .works_item_text .works_button_container:hover {
        box-shadow: -2px -2px 4px #b9a977, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .works_container .works_item:nth-last-of-type(3) .works_item_text .works_button_container:active {
        background-color: #b9a977;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}
*/

/*もっと見るボタンスタイル*/
.more_button {
    font-weight: lighter;
    margin: 0 auto;
    margin-top: 50px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 50px;
    aspect-ratio: 1;
    color: #222;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #efefef, 4px 4px 8px rgb(0 0 0 / 24%);
}

@media (any-hover: hover) {
    .more_button {
        transition: box-shadow 0.2s;
    }

    .more_button:hover {
        box-shadow: -2px -2px 4px #fff, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .more_button:active {
        background-color: #ebebeb;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

/*contact*/

#contact {
    padding-top: 100px;
    margin-bottom: 100px;
}

.align-center {
    text-align: center;
}

html {
    height: 100%;
}

body {
    height: 100%;
    position: relative;
}

.row {
    margin: 0;
    margin-top: 100px;
}

.row:after {
    content: "";
    display: table;
    clear: both;
}

.row .col {
    padding: 0 20px;
    float: left;
    box-sizing: border-box;
}

.row .col.x-50 {
    width: 50%;
}

.row .col.x-100 {
    width: 100%;
}

.content-wrapper {
    min-height: 100%;
    position: relative;
}

.get-in-touch {
    max-width: 650px;
    margin: 0 auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.get-in-touch .title {
    text-align: center;
    font-family: Raleway, sans-serif;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 36px;
    line-height: 48px;
    padding-bottom: 48px;
}

.contact-form .form-field {
    position: relative;
    margin: 32px 0;
}

.contact-form .input-text {
    display: block;
    width: 100%;
    height: 36px;
    border-width: 0 0 2px 0;
    border-color: #000;
    font-family: Lusitana, serif;
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
}

.contact-form .input-text:focus {
    outline: none;
}

.contact-form .input-text:focus+.label,
.contact-form .input-text.not-empty+.label {
    transform: translateY(-24px);
}

.contact-form .label {
    position: absolute;
    left: 20px;
    bottom: 11px;
    font-family: Lusitana, serif;
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    color: #888;
    cursor: text;
    transition: transform .2s ease-in-out;
}

.contact-form .submit-btn {
    display: inline-block;
    background-color: #fff;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 23px;
    line-height: 24px;
    padding: 8px 16px;
    border: none;
    cursor: pointer;
}

.note {
    position: absolute;
    left: 0;
    bottom: 10px;
    width: 100%;
    text-align: center;
    font-family: Lusitana, serif;
    font-size: 16px;
    line-height: 21px;
}

.note .link {
    color: #888;
    text-decoration: none;
}

.note .link:hover {
    text-decoration: underline;
}

/*送信ボタン*/
.submit-btn {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    aspect-ratio: 1;
    color: #222;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: -4px -4px 8px #efefef, 4px 4px 8px rgb(0 0 0 / 24%);
}

/*footer*/
/*footer*/
footer {
    background-color: #106655;
    position: relative;
}

.container_footer {
    background-color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.box_footer {
    height: 10vh;
    padding: 20px;
    text-align: center;
    z-index: 1;
}

.box_footer nav {
    margin-right: 50px;
    margin-top: 10%;
}

.box_footer nav ul {
    padding-left: 0;
    display: flex;
    justify-content: center;
}



.box_footer nav li {
    list-style: none;
    padding-left: 10%;
    font-size: 20px;
}

#copyright {
    color: #fff;
    background-color: #106655;
    display: flex;
    justify-content: center;
}

a {
    color: rgb(255, 255, 255);
}

.pagetop {
    /*カーソルを掌マークに変える*/
    cursor: pointer;
    /*常に同じ場所に配置する*/
    position: fixed;
    right: 30px;
    bottom: 30px;
    /*中の要素が縦横中央に来るように配置*/
    display: flex;
    align-items: center;
    justify-content: center;
    /*要素の大きさ*/
    width: 50px;
    height: 50px;
    /*width,heightが同じ数値の場合、円になる*/
    border-radius: 50%;
    /*0.5秒間かけて表示させる*/
    transition: .5s;
    color: #0C5446;
    background: #fff;
    border: 1px solid #0C5446;
    z-index: 1;

    /*   デフォルトは非表示 */
    opacity: 0;
}

.pagetop:hover {
    box-shadow: 0 0 10px #1ac396;
}

@media (any-hover: hover) {
    .submit-btn {
        transition: box-shadow 0.2s;
    }

    .submit-btn:hover {
        box-shadow: -2px -2px 4px #efefef, 2px 2px 4px rgb(0 0 0 / 24%);
    }

    .submit-btn:active {
        background-color: #efefef;
        box-shadow: inset 4px 4px 8px rgb(0 0 0 / 16%);
    }
}

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

    .container {
        background-color: #106655;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
    }

    .works_container {
        display: block;
        width: 70%;
        margin: 100px auto;
    }

    .works_item_left1 {
        position: relative;
        margin-top: 100px;
        margin: 50px auto;
    }

    .works_item_left1 img {
        max-width: 280px;
    }

    .works_item_text1 {
        position: absolute;
        top: 150px;
        left: 120px;
    }

    .works_item_right {
        position: relative;
        margin-top: 100px;
        margin: 50px auto;
    }

    .works_item_right img {
        max-width: 280px;
    }

    .works_button_container1 {
        margin-top: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        aspect-ratio: 1;
        color: #222;
        background-color: #1320c5;
        border-radius: 50%;
        box-shadow: -4px -4px 8px #1422dc, 4px 4px 8px rgb(0 0 0 / 24%);
    }

    .works_item_text2 {
        position: absolute;
        top: 150px;
        left: 120px;
    }

    .works_item_left2 {
        position: relative;
        margin-top: 100px;
        margin: 50px auto;
    }

    .works_item_left2 img {
        max-width: 280px;
    }

    .works_button_container2 {
        margin-top: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        aspect-ratio: 1;
        color: #222;
        background-color: #ecc44c;
        border-radius: 50%;
        box-shadow: -4px -4px 8px #ffd65c, 4px 4px 8px rgb(0 0 0 / 24%);
    }

    .works_item_text3 {
        position: absolute;
        top: 150px;
        left: 120px;
    }

    .works_button_container3 {
        margin-top: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        aspect-ratio: 1;
        color: #222;
        background-color: #988b62;
        border-radius: 50%;
        box-shadow: -4px -4px 8px #b9a977, 4px 4px 8px rgb(0 0 0 / 24%);
    }

    .about_text {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }

    .about_text h2 {
        position: relative;
        font-size: 30px;
        margin-bottom: 70px;
        font-weight: 300;
        letter-spacing: 0.5em;
    }

    .about_text p {
        font-size: 15px;
        line-height: 2.5em;
        width: 80%;
        margin: 0 auto
    }
	
	.works_container {
		display:block;
	}
}