@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

/* cssリセット */

/*利用するタグによってこちらの内容は増やす*/

html,
body,
h1,
h2,
h3,
p,
dl,
dt,
dd,
ul,
li {
    margin: 0;
    padding: 0;
    line-height: 1;
    /*デフォルトの文字色、font-familyを予め当てておく*/
    color: #1A1A1A;
    font-family: "fot-tsukuardgothic-std", sans-serif;
    font-weight: 400;
    /* メトリクス */
    font-feature-settings: "palt";
}

html {
    scroll-behavior: smooth;
    scroll-margin-top: 200px;
}

body {
    display: none;
}

a {
    /*下線を消す*/
    text-decoration: none;
    /*色を消す*/
    color: inherit;
    transition: 0.3s;
    /* 文字ふわっと */
}

ul {
    /*左の「・」を消す*/
    list-style: none;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    border: none;
}

a:hover {
    opacity: 0.5;
    /* 透過させる */
}

/* jQ */

.fade-in {
    opacity: 0;
    transition-duration: 500ms;
    transition-property: opacity, transform;
}

.fade-in-up {
    transform: translate(0, 50px);
}

.fade-in-down {
    transform: translate(0, -50px);
}

.fade-in-left {
    transform: translate(-50px, 0);
}

.fade-in-right {
    transform: translate(50px, 0);
}

.scroll-in {
    opacity: 1;
    transform: translate(0, 0);
}

.col:nth-child(2) {
    margin-top: 200px;
}

/* アニメーション前のスタイル */
.js-marker {
    background: linear-gradient(transparent 70%, #ffff66 0%);
    display: inline;
    position: relative;
    /* background-image: linear-gradient(90deg, #ffff66, #ffff66); */
    /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0 90%;
    /* '30%'の部分にマーカーの太さを記入 */
    transition: all 3s ease-in-out;
    /* マーカーを引く速度を調整 */
}

/* アニメーション発火時 */
.js-marker.inview {
    background-size: 100% 90%;
    /* '30%'の部分は上で設定した太さに合わせる */
}

/* 共通 */

.header {
    background-color: #EEE36E;
}

.header_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

/*  メニュー*/
.header_menu ul {
    position: fixed;
    right: 5%;
    top: 48px;
    z-index: 99;
}

.fv li {
    font-family: "Outfit", sans-serif;
    font-weight: 200;
    font-size: 42px;
    color: #068B72;
}

.title {
    display: block;
    margin: 90px 50px 110px 40px;
}

.header_box img {
    position: relative;
    width: 100%;
}

/* ヘッダーロゴ */
.fv h1 {
    font-family: "Outfit", sans-serif;
    font-weight: 400;
    font-size: 44px;
    color: #068B72;
}

.name p {
    font-family: "Outfit", sans-serif;
    font-weight: 400;
    font-size: 22px;
}

h2 {
    font-family: "Outfit", sans-serif;
    font-weight: 400;
    font-size: 28px;
    color: #068B72;
    margin: 0 auto;
}

/* button */

.more a {
    background: #EEE36E;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 287px;
    height: 61px;
    color: #068B72;
    transition: 0.3s ease-in-out;
    font-family: "Outfit", sans-serif;
    font-weight: 400;
    font-size: 24px;
    padding-bottom: 5px;
    box-sizing: border-box;
}

.more a::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 5px);
    height: calc(100% - 5px);
    border: 2px solid #068B72;
    transition: 0.2s;
}

.more a::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid #068B72;
    border-right: 2px solid #068B72;
    transform: rotate(45deg);
    margin-left: 30px;
    margin-bottom: -3px;
}

.more a:hover::before {
    top: 0;
    left: 0;
}

.more a:hover {
    text-decoration: none;
    background-color: #EEE36E;
}

/* footer */

.footer {
    margin: 0 auto;
    max-width: 1200px;
    background-color: #EEE36E;
    padding: 40px;
}

.footer_page {
    position: relative;
}

.footer_name {
    font-family: "Outfit", sans-serif;
    font-weight: 400;
    font-size: 38px;
    line-height: 1.10;
    color: #068B72;
}

.footer_page p {
    font-family: "Outfit", sans-serif;
    font-size: 18px;
    font-weight: 400;
}

.footer_page a {
    display: inline-block;
}

.page_top {
    position: fixed;
    right: 50px;
    bottom: 210px;
    width: 8%;
    z-index: 10;
}

.footer_insta {
    position: absolute;
    width: 100%;
    text-align: center;
}

.footer_instalogo img {
    width: 34px;
    margin: 0 auto 15px;
}

.footer_instalogo a {
    display: inline-block;
}

.copy {
    font-family: "Outfit", sans-serif;
    font-size: 16px;
    text-align: center;
    padding-top: 138px;
}

@media screen and (max-width: 767px) {
    .header {
        width: 100%;
    }

    .fv h1 {
        font-size: 22px;
    }

    .fv li {
        font-size: 26px;
    }

    .name p {
        font-size: 12px;
    }

    .footer_name {
        font-size: 20px;
    }

    .footer_page p {
        font-size: 10px;
    }

    .footer_instalogo p {
        font-size: 10px;
    }

    .copy {
        font-size: 10px;
    }

    .header_menu ul {
        margin-left: 50%;
        top: 33px;
    }

    .page_top {
        right: 25px;
    }

}