@charset "utf-8";

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 500;
	src: url(/contents/nikki/fonts/NotoSansCJKjp-Regular.woff) format('opentype');
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 600;
	src: url(/contents/nikki/fonts/NotoSansCJKjp-Medium.woff) format('opentype');
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(/contents/nikki/fonts/NotoSansCJKjp-Bold.woff) format('opentype');
}

:root {
	--gw-color-primary: #2042FF;
	--gw-color-accent: #F8243D;
	--gw-color-required: #FF9500;
	--gw-color-text: #333;
	--gw-color-text-sub: #5C5C5C;
	--gw-color-text-muted: #474747;
	--gw-color-text-note: #C2C2C2;
	--gw-color-placeholder: #D6D6D6;
	--gw-color-disabled: #999999;
	--gw-color-disabled-bg: #D5D5D5;
	--gw-color-border: #EBEBEB;
	--gw-color-bg: #F5F5F5;
	--gw-color-error: #F8243D;
	--gw-color-error-bg: #FEE9EC;
}

/* ---------------------------------------------------------
   Page shell (header / main / footer)
   --------------------------------------------------------- */

#contents.gw-page {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100vh;
	background-color: var(--gw-color-bg);
}

#contents.gw-page .ms-area-main {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	width: auto;
	color: var(--gw-color-text);
	font-size: 16px;
	font-family: 'Noto Sans Japanese', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', sans-serif;
	line-height: 1.4;
}

#contents.gw-page .ms-content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	width: 464px;
	margin: 0 auto;
	padding: 56px 0 32px;
	box-sizing: border-box;
	background-color: transparent;
	box-shadow: none;
}

#contents.gw-page .ms-top-header header {
	height: 72px;
	padding: 22px 120px;
	box-sizing: border-box;
	background-color: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .05);
}

#contents.gw-page .ms-top-header header .logo-wrap {
	max-width: 1200px;
	margin: 0 auto;
	line-height: 1;
}

#contents.gw-page .ms-top-header .logo-wrap .logo-item img {
	width: auto;
	height: 27px;
}

#contents.gw-page footer {
	flex: 0 0 auto;
	padding: 8px 120px;
	box-sizing: border-box;
	background-color: var(--gw-color-bg);
}

@media screen and (min-width: 601px) {
	#contents.gw-page.gw-footer-lg footer {
		height: 121px;
		padding: 32px 120px 24px;
	}
}

#contents.gw-page .copyright {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 0;
	color: var(--gw-color-text-muted);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
}

/* ---------------------------------------------------------
   Card
   --------------------------------------------------------- */

.gw-card {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
	padding: 32px;
	border-radius: 16px;
	box-sizing: border-box;
	background-color: #fff;
	box-shadow: 0 2px 12px rgba(36, 41, 47, .05);
}

.gw-page-title h1 {
	color: var(--gw-color-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .05em;
}

/* ---------------------------------------------------------
   Form fields
   --------------------------------------------------------- */

.gw-field-box-wrap,
.gw-field-box {
	margin-bottom: 0;
}

.gw-field-box .gw-field-item {
	margin-bottom: 20px;
}

.gw-field-box .gw-field-item:last-child {
	margin-bottom: 0;
}

.gw-field-box .gw-field-item .gw-field-label {
	margin-bottom: 12px;
}

.gw-field-box .gw-field-item--password .gw-field-label {
	margin-bottom: 6px;
}

.gw-field-box .gw-field-item .gw-field-label .gw-field-title {
	color: var(--gw-color-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.gw-badge-required {
	display: inline-flex;
	flex-shrink: 0;
	justify-content: center;
	align-items: center;
	padding: 2px 6px 4px;
	border-radius: 4px;
	box-sizing: border-box;
	background-color: var(--gw-color-required);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.3;
}

.gw-field-box .gw-field-item .gw-field-input {
	margin-bottom: 0;
}

.gw-field-box .gw-field-item .gw-textbox-wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.gw-field-box .gw-field-item .gw-textbox-wrap.is-password {
	position: relative;
}

.gw-field-box .gw-field-item .gw-textbox-wrap input[type='text'],
.gw-field-box .gw-field-item .gw-textbox-wrap input[type='password'] {
	display: block;
	width: 100%;
	height: 56px;
	padding: 20px 15px;
	border: 1px solid var(--gw-color-border);
	border-radius: 4px;
	box-sizing: border-box;
	background: #fff;
	color: var(--gw-color-text);
	font-size: 14px;
	font-family: inherit;
	line-height: 1.4;
	appearance: none;
}

.gw-field-box .gw-field-item .gw-textbox-wrap input[type='text']::placeholder,
.gw-field-box .gw-field-item .gw-textbox-wrap input[type='password']::placeholder {
	color: var(--gw-color-placeholder);
	font-size: 12px;
	font-weight: 700;
}

.gw-field-box .gw-field-item .gw-textbox-wrap.is-password input[type='text'],
.gw-field-box .gw-field-item .gw-textbox-wrap.is-password input[type='password'] {
	padding-right: 48px;
}

.gw-field-box .gw-field-item .gw-textbox-wrap.is-password input[type='text']::-ms-reveal,
.gw-field-box .gw-field-item .gw-textbox-wrap.is-password input[type='password']::-ms-reveal {
	display: none;
}

.gw-field-box .gw-field-item .gw-textbox-wrap .gw-password-mask {
	position: absolute;
	top: 50%;
	right: 19px;
	width: 19px;
	height: 19px;
	border: none;
	padding: 0;
	background-color: transparent;
	background-image: url(/contents/nikki/guest_writer/img/icon_password_hide.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translateY(-50%);
	transition: all .3s ease;
	cursor: pointer;
}

.gw-field-box .gw-field-item .gw-textbox-wrap .gw-password-mask:hover {
	opacity: .85;
}

.gw-field-box .gw-field-item .gw-textbox-wrap .gw-password-mask.is-show {
	background-image: url(/contents/nikki/guest_writer/img/icon_password_show.svg);
}

.gw-field-box .gw-field-item.is-error .gw-textbox-wrap input[type='text'],
.gw-field-box .gw-field-item.is-error .gw-textbox-wrap input[type='password'] {
	border: 1px solid var(--gw-color-error);
	background-color: var(--gw-color-error-bg);
}

.gw-field-box .gw-field-item .gw-item-error-msg {
	display: none;
}

.gw-field-box .gw-field-item.is-error .gw-item-error-msg {
	display: block;
}

.gw-field-box .gw-field-item .gw-item-error-msg .gw-msg-item {
	margin-top: 4px;
	padding: 0;
	color: var(--gw-color-error);
	font-size: 12px;
	line-height: 1.3;
	word-break: break-all;
}

.gw-field-box .gw-field-item .gw-item-error-msg .gw-msg-item a {
	transition: all .3s ease;
	color: var(--gw-color-primary);
	text-decoration: underline;
}

.gw-field-box .gw-field-item .gw-item-error-msg .gw-msg-item a:hover {
	text-decoration: none;
}

/* ---------------------------------------------------------
   Submit button
   --------------------------------------------------------- */

.gw-field-box .gw-button-wrap {
	margin-top: 24px;
}

.gw-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	width: 100%;
	height: 64px;
	padding: 23px 12px;
	border: none;
	border-radius: 9999px;
	box-sizing: border-box;
	background-color: var(--gw-color-primary);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	font-family: inherit;
	line-height: 1.3;
	transition: all .3s ease;
	cursor: pointer;
}

.gw-btn:hover {
	opacity: .85;
}

/* ---------------------------------------------------------
   Bottom links
   --------------------------------------------------------- */

.gw-link-box-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	font-size: 11px;
	line-height: 1.3;
}

.gw-link-box-wrap a {
	color: var(--gw-color-primary);
	font-weight: 400;
	text-decoration: underline;
}

.gw-link-box-wrap a:hover {
	text-decoration: none;
}

/* ---------------------------------------------------------
   Page level alert
   --------------------------------------------------------- */

.gw-alert {
	display: none;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 8px;
}

.gw-alert.is-show {
	display: block;
}

.gw-alert__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 18px 13px;
	border: 2px solid var(--gw-color-error);
	border-radius: 4px;
	box-sizing: border-box;
	background-color: var(--gw-color-error-bg);
}

.gw-alert__icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
}

.gw-alert__text {
	flex: 1 1 0;
	min-width: 0;
	color: var(--gw-color-error);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-align: left;
}

.gw-alert__close {
	display: flex;
	flex: 0 0 auto;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: none;
	background-color: transparent;
	transition: all .3s ease;
	cursor: pointer;
}

.gw-alert__close:hover {
	opacity: .85;
}

.gw-alert__close img {
	width: 20px;
	height: 20px;
}

.gw-sp-only {
	display: none;
}

@media screen and (max-width: 600px) {
	.gw-sp-only {
		display: inline;
	}

	#contents.gw-page .ms-area-main {
		min-height: auto;
	}

	#contents.gw-page .ms-top-header header {
		height: 56px;
		padding: 0 12px 0 20px;
		box-shadow: none;
	}

	#contents.gw-page .ms-top-header header .logo-wrap {
		max-width: none;
		padding: 18px 0;
	}

	#contents.gw-page .ms-top-header .logo-wrap .logo-item img {
		height: 19px;
	}

	#contents.gw-page .ms-content {
		width: 100%;
		padding: 0 20px;
	}

	#contents.gw-page .ms-content>main {
		margin: 40px 0 0;
	}

	#contents.gw-page.page-register .ms-content>main {
		margin-top: 24px;
	}

	#contents.gw-page footer {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 68px;
		padding: 24px 0;
	}

	#contents.gw-page .copyright {
		padding: 0;
		font-size: 10px;
		line-height: 1.3;
		text-align: center;
	}

	.gw-card {
		gap: 24px;
		padding: 16px;
		box-shadow: none;
	}

	.gw-page-title h1 {
		line-height: 1.5;
		letter-spacing: normal;
	}

	.gw-field-box .gw-field-item {
		margin-bottom: 12px;
	}

	.gw-field-box .gw-field-item .gw-field-label {
		margin-bottom: 8px;
	}

	.gw-field-box .gw-field-item--password .gw-field-label {
		margin-bottom: 8px;
	}

	.gw-field-box .gw-field-item .gw-field-label .gw-field-title {
		font-size: 12px;
	}

	.gw-badge-required {
		border-radius: 2px;
	}

	.gw-field-box .gw-field-item .gw-textbox-wrap input[type='text'],
	.gw-field-box .gw-field-item .gw-textbox-wrap input[type='password'] {
		height: 48px;
		padding: 16px 15px;
		font-size: 16px;
	}

	.gw-field-box .gw-field-item .gw-textbox-wrap.is-password input[type='text'],
	.gw-field-box .gw-field-item .gw-textbox-wrap.is-password input[type='password'] {
		padding-right: 48px;
	}

	.gw-btn {
		height: 48px;
		padding: 13px 12px;
		font-size: 15px;
		line-height: 1.5;
	}

	.gw-link-box-wrap {
		font-size: 13px;
	}

	.gw-alert {
		margin-bottom: 4px;
	}
}
