h1 {
    font-size: 4.3em;
    margin-top: 30px;
	margin-bottom: 0px;
}

h2 {
    font-size: 3.5em;
    margin: 30px;
}

header,
section {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    margin: 20px 50px 100px;
}

.logo {
    margin: 10px 0;
}

.header {
	margin: 20px;
    display: flex;
    justify-content: center; /* 水平方向に中央揃え */
    align-items: center; /* 垂直方向に中央揃え (必要なら) */
}


hr {
    width: 250px !important;
}

table {
    line-height: 38px;
    font-size: 18px;
}

th {
    border-left: 3px solid #ccc; /* 左側に縦線を追加 */
    padding-left: 55px; /* テキストと線の間隔 */
    padding-right: 35px;
}

#requirements th {
    vertical-align: baseline;
    width: 20%;
    text-align: left;
}

/* チェックボックスとプライバシーポリシー文 */
.must {
    display: block; /* 縦に並べる */
    margin: 30px 0;
}
.consent-label {
    display: flex; /* チェックボックスとテキストを横並びにする */
    align-items: center; /* 縦方向の中央揃え */
    font-size: 16px;
    margin-bottom: 10px; /* 下の要素との余白 */
}
.consent-box {
    width: 18px; /* チェックボックスのサイズ */
    height: 18px;
    margin-right: 8px; /* チェックボックスとテキストの間隔 */
}

.underline_hr {
    margin: 20px 50px;
}

/* manabyのaカラー */
.copyright a {
	color: #595050;
}
.copyright a:hover {
	color: black;
}

a.btn-border {
    border: 2px solid #595050;
    border-radius: 0;
    padding: 10px;
}
a.btn-border:hover {
    background-color: #595050;
    color: white;
}

/* クラス付与時の指定 */
.is-active {
    opacity: 1;
    visibility: visible;
}

/* ヘッダー画像の中央から両開き */
@keyframes openFromCenter {
    0% {
        clip-path: inset(0 50%);
        opacity: 0;
    }
    100% {
        clip-path: inset(0 0);
        opacity: 1;
    }
}

/* h1 を左から開くアニメーション */
@keyframes revealFromLeft {
    0% {
        clip-path: inset(0 100% 0 0); /* 左からスライド */
        opacity: 0;
    }
    100% {
        clip-path: inset(0 0 0 0);
        opacity: 1;
    }
}

/* ヘッダー画像のアニメーション */
.header {
    animation: openFromCenter 1.5s ease-out forwards;
}

/* h1 のアニメーション（headerのアニメーション終了後に開始） */
h1 {
    opacity: 0; /* 初期状態で透明 */
    clip-path: inset(0 100% 0 0); /* 最初は非表示 */
    animation: revealFromLeft 1.5s ease-out 1.5s forwards; /* 1.5秒遅れて開始 */
}

@media only screen and (max-width: 768px) {
    html {
        margin: 0 20px;
    }
    .logo {
        width: 50%;
    }

    h1 {
        font-size: 25px; /* タイトルのサイズを縮小 */
        margin: 0;
        text-align: left;
    }

    hr {
        width: 100px !important;
		margin: 0 0 8px -10px !important;
    }
	
	h2 {
	font-size: 25px;
		margin: 0px;
	}

    header, section {
        margin: 10px 20px 30px;
    }

    .submit {
        font-size: 13px;
    }

    #requirements th,
    #requirements td {
        display: block;
        width: auto;
        text-align: left;
        line-height: 25px;
    }

    #requirements th {
        font-size: 15px;
        border: none;
        margin: auto;
        padding: 0;
    }

    #requirements td {
        font-size: 11px;
        padding: 0;
        margin-bottom: 10px;
    }

    a {
        font-size: 12px;
    }
	
}

body.admin-bar {
    margin-top: 32px !important;
}
