/*
Theme Name: reroot
Description: オリジナルWordPressテーマ
Author: jinearth
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-original-theme
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;400;500;700&display=swap');


/* CSS無効化-S */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	line-height: 1;
	font-weight: 100;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: 200;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

/* CSS無効化-E */
html,
body {
	height: 100vh;
	min-height: 100vh;
	margin: 0;
	padding: 0;
	background-color: #f5f5f5;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	color: #333;
}


/*
*header部分調整CSS
*
*/
.header {
	z-index: 1;
	background-color: #F5F5F5;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 20px;
}

.main-title {
	float: left;
	width: 30%;
	margin-bottom: 0px;
	z-index: 1;
}

.main-title h1 {
	margin-top: 0px;
	margin-bottom: 0px;
}

.main-title img {
	width: 60%;
	height: auto;
	padding-left: 3rem;
	padding-top: 2rem;
	z-index: 1;
}

/*===タブレット===*/
@media screen and (min-width:600px) and (max-width:959px) {
	.header {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		padding: 0%;
	}

	.main-title {
		float: left;
		width: 30%;
	}

	.main-title h1 {
		margin-top: 0px;
	}

	.main-title img {
		width: 80%;
	}

	nav {
		text-align: right;
		width: 50%;
	}

	nav ul {
		display: flex;
		justify-content: end;
		list-style: none;
		font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		margin-bottom: 0px;
	}

	nav ul li {
		font-size: 14px;
		list-style: none;
		display: inline-block;
		width: 100%;
	}
}

/* スマホ調整 */
@media screen and (max-width:599px) {
	.main-title img {
		width: 80%;
	}

}


nav {
	text-align: right;
	width: 100%;
	padding-top: 2rem;
	z-index: 1;
}

nav ul {
	display: flex;
	justify-content: end;
	list-style: none;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	margin-top: 10px;
	margin-bottom: 0px;
}

nav ul li {
	padding: 0 20px;
	list-style: none;
	display: inline-block;
	min-width: 100px;
}

nav ul li a {
	text-decoration: none;
	font-size: 2rem;
	font-weight: 100;
	color: #333;
}

nav ul li.current a {
	color: #F33135;
}

nav ul li a:hover {
	color: #E7DA66;
}

/*ハンバーガーメニュー*/
/*ここから下がハンバーガーメニューのスタイル*/
.gnavi__sp-style {
	display: none;
}

@media screen and (max-width: 1024px) {
	nav {
		display: none;
	}

	.gnavi__sp-style {
		display: block;
	}

	/*メニューボタン　展開前*/
	.menu-btn {
		display: block;
		position: fixed;
		z-index: 999;
		right: 30px;
		top: 10px;
		width: 42px;
		height: 42px;
		cursor: pointer;
		text-align: center;
	}

	.menu-btn span {
		display: block;
		position: absolute;
		width: 30px;
		height: 2px;
		left: 6px;
		background: #555;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
		top: calc(100% - 1px);
	}

	.menu-btn span:nth-of-type(1) {
		transform: translateY(-8px);
	}

	.menu-btn span:nth-of-type(2) {
		transform: translateY(0);
	}

	.menu-btn span:nth-of-type(3) {
		transform: translateY(8px);
	}

	/*メニューボタン　展開後*/
	.menu-btn.active span:nth-child(1) {
		transform: translateY(0) rotate(-45deg);
		background: #fff;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.menu-btn.active span:nth-child(2),
	.menu-btn.active span:nth-child(3) {
		transform: translateY(0) rotate(45deg);
		background: #fff;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	/*スマホ用のメニュー*/
	.gnavi__sp-style {
		position: fixed;
		z-index: 3;
		top: 0;
		left: 100%;
		color: #fff;
		background-color: rgba(0, 0, 0, 0.7);
		text-align: center;
		width: 100%;
		height: 90%;
		opacity: 0;
		visibility: hidden;
		transition: opacity .6s ease, visibility .6s ease;
		display: flex;
		align-items: center;
		padding-top: 1rem;
	}

	.gnavi__sp-style ul {
		display: block;
		margin: 0 auto;
		padding: 0;
		width: 100%;
	}

	.gnavi__sp-style ul li {
		list-style-type: none;
		padding: 0;
		width: 100%;
		transition: .4s all;
	}

	.gnavi__sp-style ul li:last-of-type {
		padding-bottom: 0;
	}

	.gnavi__sp-style ul li:hover {
		background: #ddd;
	}

	.gnavi__sp-style ul li a {
		font-size: 1.5rem;
		display: block;
		color: #fff;
		padding: 1rem 0;
		text-decoration: none;
	}

	.gnavi__sp-style.active {
		opacity: 1;
		visibility: visible;
		left: 0%;
	}
}

/* ページ背景 */
.container {
	background-color: transparent;
}


/*
*サイトトップページ
*
*/

/* ビデオ */
/* 背景動画エリア全体 */
.main-visual {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	z-index: 0;
}

/* コンテナの高さ指定 */
.main-visual .video-container {
	position: relative;
	width: 100%;
	height: 100%;
}

/* 動画を画面いっぱいに拡大 */
.main-visual .video-container video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ─ 訴求セクション ─ */
.catch-copy {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 90vh;
	text-align: center;
	z-index: 2;
	position: relative;
}

.catch-copy img {
	width: 80%;
	max-width: 800px;
	z-index: 2;
}

/* ─ ボタン群 ─ */
.main-links {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 62%;
	margin: 60px auto;
}

.main-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 72px;
	font-size: 2rem;
	font-weight: 200;
	width: 100%;
	border-radius: 60px;
	background: #ffffff;
	border: 2px solid #8fcfcd;
	color: #333;
	text-decoration: none;
	transition: 0.3s;
}

/* 右端の矢印 */
.main-btn::after {
	content: "→";
	position: absolute;
	right: 30px;
	font-weight: 200;
	font-size: 2rem;
}

/* ホバー時 */
.main-btn:hover {
	background: #f0f9f9;
	box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.05);
}


/* ─ ロゴ ─ */
.footer-logo {
	text-align: center;
	margin-bottom: 30px;
	z-index: 2;
}

.footer-logo img {
	width: 60px;
	opacity: 0.8;
	z-index: 2;
}


@media screen and (max-width: 768px) {
	.main-btn {
		font-size: 1.5rem;
	}

	/* 右端の矢印 */
	.main-btn::after {
		content: "→";
		position: absolute;
		right: 20px;
		font-weight: 200;
		font-size: 1.5rem;
	}
}

/*
*サービスページ
*
*/

/* ─ Section タイトル ─ */
.section-title {
	text-align: center;
	padding: 120px 20px;
}

.section-title h2 {
	font-size: 36px;
	margin-bottom: 10px;
}

.section-title h3 {
	font-size: 24px;
	font-weight: 200;
	color: #555;
}

/* ─ SERVICE紹介セクション ─ */
.service-cards {
	display: flex;
	justify-content: center;
	gap: 150px;
	flex-wrap: wrap;
	margin: 0 auto 60px;
	max-width: 1200px;
	padding: 0 20px;
}

.service-card {
	text-align: center;
	width: 250px;
}

.service-card img {
	width: 100%;
}

.service-card h4 {
	margin-top: 1rem;
	font-size: 18px;
	font-weight: 200;
}

/* ─ サービス詳細 ─ */
.service-detail {
	max-width: 1200px;
	margin: 0 auto 60px;
	padding: 0 20px;
}

.service-item {
	display: flex;
	gap: 40px;
	align-items: center;
	margin-bottom: 60px;
	flex-wrap: wrap;
}

.service-item.reverse {
	flex-direction: row-reverse;
}

.service-text {
	flex: 1 1 400px;
}

.service-text h4 {
	font-size: 20px;
	margin-bottom: 12px;
	display: flex;
	align-items: baseline;
}

.service-text .service-num {
	font-weight: 200;
	margin-right: 8px;
}

.service-text .service-title {
	font-weight: 200;
}

.service-text p {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 12px;
	text-indent: 0;
	margin-left: 2rem;
}

.service-images {
	flex: 1 1 300px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}


.service-images img {
	width: 100%;
	height: auto;
}

/* ── レスポンシブ ── */
@media screen and (max-width: 1024px) {

	.service-item,
	.service-item.reverse {
		flex-direction: column;
		text-align: left;
		gap: 20px;
	}

	.service-images {
		flex-direction: column;
		gap: 12px;
		align-items: center;

	}

	.service-text {
		flex: 1 1 100%;
	}

	.service-cards {
		gap: 20px;
	}
}

/* 
*会社概要ページ
*
*/

/* Sectionタイトル */
.section-title {
	text-align: center;
	padding: 120px 20px;
}

.section-title h2 {
	font-size: 36px;
	margin-bottom: 10px;
}

.section-title h3 {
	font-size: 24px;
	font-weight: 200;
	color: #555;
}

/* 会社概要表 */
.company-table {
	max-width: 800px;
	margin: 0 auto 60px;
	padding: 0 20px;
}

.company-table table {
	width: 100%;
	border-collapse: collapse;
}

.company-table th,
.company-table td {
	padding: 40px 20px;
	text-align: left;
	line-height: 1.6;
}

/* th の文字中央寄せ、背景色を td と同じに */
.company-table th {
	text-align: center;
	font-weight: 200;
}

/* 横線だけ */
.company-table tr {
	border-bottom: 1px solid #ccc;
}

.company-table tr:last-child {
	border-bottom: none;
}


/* レスポンシブ対応 */
@media screen and (max-width: 768px) {

	.company-table th,
	.company-table td {
		display: block;
		width: 100%;
		border: none;
		font-size: 14px;
		padding: 40px 10px;
		vertical-align: top;
		text-align: left;
		box-sizing: border-box;
	}

	.company-table th {
		font-weight: 200;
		color: #fff;
		background: #90d0cd;
	}

	.company-table tr:last-child th,
	.company-table tr:last-child td {
		border-bottom: none;
	}
}

/* 
*求人情報ページ
*
*/
/* タイトル */
.section-title {
	text-align: center;
	padding: 120px 20px;
}

.section-title h2 {
	font-size: 36px;
	margin-bottom: 10px;
}

.section-title h3 {
	font-size: 24px;
	font-weight: 200;
	color: #555;
}

/* ボタンセクション */
.recruit-buttons {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 120px;
}

.job-btn {
	background-color: #fff;
	color: #333;
	border: 2px solid #8fcfcd;
	border-radius: 60px;
	padding: 18px 48px 18px 24px;
	font-size: 16px;
	cursor: pointer;
	min-width: 160px;
	text-align: center;
	position: relative;
	transition: all 0.3s ease;
	text-decoration: none;
}

.job-btn::before {
	content: '→';
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	line-height: 1;
	transition: transform 0.3s ease;
}

.job-btn:hover {
	background-color: #8fcfcd;
	color: #fff;
}


/* 訴求画像セクション */
.recruit-visual {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	max-width: 1200px;
	margin: 0 auto 100px;
	padding: 0 20px;
	position: relative;
}

/* catch-image */
.catch-image {
	flex: 1;
	position: relative;
	z-index: 2;
}

.catch-image img {
	width: 100%;
	display: block;
}

/* photo1 を catch-image の上に重ねる */
.photo1 {
	flex: 1;
	position: relative;
	margin-left: -200px;

}

.photo1 img {
	width: 100%;
	border-radius: 35px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	display: block;
}


/* レスポンシブ対応 */
@media screen and (max-width: 1024px) {
	.recruit-visual {
		flex-direction: column;
		align-items: center;
	}

	.photo1 {
		margin-left: 0;
		width: 80%;
	}

	.recruit-buttons {
		gap: 16px;
		margin-bottom: 200px;
	}

	.job-btn {
		min-width: 200px;
		padding: 16px 50px;
		font-size: 1.5rem;
	}
}

@media screen and (max-width: 768px) {
	.recruit-buttons {
		flex-direction: column;
		gap: 12px;
		align-items: center;
		margin-bottom: 100px;
	}

	.photo1 {
		width: 90%;
		bottom: -20px;
	}

	.job-btn {
		min-width: 300px;
		padding: 16px 20px;
		font-size: 1.5rem;
	}
}

/* 
*Contactページ
*
*/
/* ===== お問い合わせページ全体 ===== */
.contact-container {
	text-align: center;
	background-color: #F5F5F5;
	min-height: calc(100vh - 155px);
	justify-content: center;
	align-items: center;
	width: 90%;
	max-width: 800px;
	margin: 0 auto 80px;
	padding: 40px;
	box-sizing: border-box;
	overflow-x: hidden;
}

/* ===== フォーム全体 ===== */
.mw_wp_form .confirm {
	display: flex;
	flex-direction: column;
	gap: 24px;
	background-color: transparent;
	box-shadow: none;
	padding: 0;
	max-width: 700px;
	margin: 0 auto 80px;
}

/* 各フォーム項目 */
.mw_wp_form .form-item {
	display: flex;
	flex-direction: column;
	padding: 15px 0;
}


/* ラベル */
.mw_wp_form label {
	font-weight: 200;
	font-size: 1.5rem;
	display: flex;
	align-items: center;
	gap: 6px;
}

.form-item label {
	margin-bottom: 10px;
}

/* ===== 必須マーク ===== */
.mw_wp_form .required {
	display: inline-block;
	background-color: #ff5757;
	color: #fff;
	font-size: 12px;
	padding: 2px 6px;
	border-radius: 4px;
	line-height: 1;
}

/* ===== 入力フィールド ===== */
.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form select,
.mw_wp_form textarea {
	width: 100%;
	max-width: 800px;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid #ccc;
	border-radius: 8px;
	font-size: 15px;
	line-height: 1.4;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.mw_wp_form input:focus,
.mw_wp_form textarea:focus,
.mw_wp_form select:focus {
	border-color: #8fcfcd;
	box-shadow: 0 0 4px rgba(143, 207, 205, 0.5);
	outline: none;
}

/* フリガナや名前などの分割フィールド */
.mw_wp_form .name-fields {
	display: flex;
	gap: 12px;
}

.mw_wp_form .name-fields input {
	flex: 1;
}

/* お問い合わせ内容のセレクトとテキストエリア */
.mw_wp_form select {
	background-color: #fff;
	cursor: pointer;
}

.mw_wp_form textarea {
	min-height: 140px;
	resize: vertical;
}

/* ===== チェックボックス ===== */
.mw_wp_form .privacy-check {
	margin-top: 12px;
	font-size: 14px;
}

.mw_wp_form .privacy-check input {
	margin-right: 8px;
}

.mw_wp_form select option:first-child {
	color: #999;
}

.mw_wp_form select option:first-child::before {
	content: "―選択してください";
}

/* ===== 送信ボタン ===== */
.submit {
	text-align: center;
}

.submit-btn {
	display: block;
	margin: 0 auto;
	position: relative;
	padding: 12px 32px 12px 16px;
	font-size: 16px;
	border: 2px solid #8fcfcd;
	border-radius: 30px;
	background-color: #fff;
	cursor: pointer;
	text-align: center;
	width: 40%;
}

.submit-btn::after {
	content: "→";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-weight: 200;
	transition: transform 0.3s ease;
}

.submit-btn:hover::after {
	transform: translateY(-50%) translateX(4px);
}

.underline {
	text-decoration: underline;
}

.underline:hover {
	text-decoration: none;
}

/* ===== レスポンシブ ===== */
@media screen and (max-width: 600px) {
	.container {
		padding: 24px;
	}

	/* ===== スマホ対応（はみ出し防止） ===== */
	.contact-container {
		padding: 0;
	}

	.mw_wp_form {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding: 0 16px;
		overflow-x: hidden;
	}

	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="email"],
	.mw_wp_form input[type="tel"],
	.mw_wp_form select,
	.mw_wp_form textarea {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.mw_wp_form label {
		font-size: 1.0rem;
	}

	.mw_wp_form .name-fields {
		flex-direction: column;
	}

	.submit-btn {
		font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 72px;
		font-size: 1.5rem;
		font-weight: 200;
		width: 100%;
		border-radius: 60px;
		background: #ffffff;
		border: 2px solid #8fcfcd;
		color: #333;
		text-decoration: none;
		transition: 0.3s;
	}

}

/* 確認画面 */
.mw_wp_form_complete {
	background-color: #fff;
	padding: 40px 80px;
	text-align: left;
	border-radius: 12px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	max-width: 600px;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	margin: 0 auto;
}

/* 未入力・エラー時に赤枠をつける例 */
.mw_wp_form .mw_wp_form_error select {
	border: 2px solid red;
	background-color: #ffe6e6;
}

/* エラーメッセージのスタイル */
.mw_wp_form .mw_wp_form_error .mw_wp_form_error_message {
	color: red;
	font-size: 0.9em;
	margin-top: 4px;
}

/* 
*情報セキュリティ基本方針ページ
*
*/
.security-wrapper {
	max-width: 900px;
	margin: 40px auto;
	padding: 0 16px;
}

.security-title h2 {
	font-size: 28px;
	text-align: center;
	margin-bottom: 10px;
}


.security-content {
	padding: 0px auto 10px;
}

.security-content p {
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 16px;
	color: #333;
}

.security-content ol {
	margin-left: 2em;
	counter-reset: section;
	list-style: none;
	padding: 0;
}

.security-content li {
	counter-increment: section;
	margin-bottom: 1.2em;
	position: relative;
	padding-left: 2.5em;
}

.security-content li::before {
	content: counter(section) ".";
	position: absolute;
	left: 0;
	color: var(--main-color);
	font-weight: 200;
}

.security-content strong {
	color: var(--accent-color);
	display: inline-block;
	margin-bottom: 0.3em;
}

.security-contact {
	text-align: right;
	border-top: 1px solid var(--border-color);
	padding-top: 1.2em;
	margin-top: 3em;
	font-size: 0.95em;
	color: #555;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
	.security-wrapper {
		margin: 20px auto;
		padding: 0 12px;
	}

	.security-content {
		padding: 24px 16px;
	}

	.security-title h2 {
		font-size: 24px;
	}

	.security-content p {
		font-size: 14px;
	}

	.security-contact {
		text-align: left;
	}
}


/* 
*個人情報保護方針ページ
*
*/
.policy-wrapper {
	max-width: 900px;
	margin: 40px auto;
	padding: 0 16px;
}

.policy-title h2 {
	font-size: 28px;
	text-align: center;
	margin-bottom: 10px;
}

.policy-content {
	padding: 0px auto 5px;
}

.policy-content p {
	margin-bottom: 1.5em;
	line-height: 1.9;
	color: #333;
}

.policy-content ol {
	margin-left: 2em;
	counter-reset: section;
	list-style: none;
	padding: 0;
}

.policy-content li {
	counter-increment: section;
	margin-bottom: 1.2em;
	position: relative;
	padding-left: 2.5em;
}

.policy-content li::before {
	content: counter(section) ".";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--main-color);
	font-weight: 200;
}

.policy-content strong {
	font-weight: bold;
	display: inline-block;
	margin-bottom: 0.3em;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
	.policy-wrapper {
		margin: 20px auto;
		padding: 0 12px;
	}

	.policy-content {
		padding: 24px 16px;
	}

	.policy-title h2 {
		font-size: 24px;
	}

	.policy-title h3 {
		font-size: 18px;
	}

	.policy-content li {
		padding-left: 2em;
	}

	.policy-contact {
		font-size: 0.9em;
		text-align: left;
	}

	.policy-content p {
		font-size: 14px;
	}
}


/*
*Footer
*
*/

/* ─ Footer ─ */
.site-footer {
	position: relative;
	z-index: 2;
	background-color: #48D1CC;
	text-align: center;
	padding: 20px;
	font-size: 14px;
	color: #fff;
}

.site-footer a {
	z-index: 2;
	color: #fff;
	text-decoration: underline;
}

.site-footer a:hover {
	text-decoration: none;
}

/* 
*準備中ページ
*
*/
/* ===== 準備中ページ ===== */
.comingsoon-page {
	background-color: #F5F5F5;
	min-height: calc(100vh - 155px);
	display: flex;
	justify-content: center;
	align-items: center;
}

.comingsoon-wrapper {
	background-color: #fff;
	padding: 40px 80px;
	text-align: center;
	border-radius: 12px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	max-width: 600px;
	width: 100%;
	box-sizing: border-box;
}

.comingsoon-wrapper h1 {
	font-size: 36px;
	color: #333;
	margin-bottom: 16px;
	font-weight: 200;
	letter-spacing: 1px;
}