@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: sans-serif;
}

body {
    min-height: 100vh;
}

.container {
	display: flex;
	height: 100vh;
}

.left {
	width: 50%;
	background: #dcdcdc;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.left img {
	width: 100%;
	overflow: hidden
}

.right {
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 80px;
}

.tabs {
	display: flex;
	margin-bottom: 40px;
	justify-content: center;
	align-items: center;
}

.tab {
	width: 250px;
	background: none;
	border: none;
	border-bottom: 2px solid lightgray;
	padding: 15px;
	cursor: pointer;
	font-size: 24px;
	color: lightgray;
}

.tab:hover {
	color: black;
}

.active {
	color: black;
	border-bottom: 3px solid black;
}

h2 {
	margin-bottom: 30px;
}

label {
	display: block;
	margin-top: 20px;
}

input {
	width: 100%;
	padding: 15px;
	margin-top: 10px;
	border: 1px solid #ddd;
}

.submit-btn {
	width: 100%;
	background: black;
	color: white;
	border: none;
	padding: 18px;
	margin-top: 40px;
	cursor: pointer;
	font-size: 16px;
}

.error {
	color: red;
	margin-bottom: 15px;
}

.required::after {
	content: "必須";
	color: #ffffff;
	background: #cc0000;
	font-size: 0.8em;
	padding: 0.3em;
	border-radius: 0.5em;
	margin-left: 0.3em;
}
/* スマホ用 */
@media screen and (max-width: 768px) {

    .container {
        flex-direction: column;
        height: auto;
    }

    .left,
    .right {
        width: 100%;
    }

    .left {
        height: 35vh;
    }

    .left img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .right {
        padding: 30px 20px;
    }

    .tabs {
        margin-bottom: 25px;
    }

    .tab {
        width: 50%;
        font-size: 18px;
    }

    h2 {
        font-size: 24px;
    }

    input {
        padding: 12px;
    }

    .submit-btn {
        padding: 15px;
    }

}