@charset "utf-8";
/* CSS Document */

:root {
	--bg_color: #4b4b4b;
	--bg_color2: #212121;
	--wrap_color: #000;
	--font_color: #FFF;
	--font_color2: #AFAFAF;
	--font_color3: #C1D2DF;
	--border_color: #474747;
	--main_color: #ad8611;
	--footer_color: #242424;
	--a_color: #2a87ff;
	--a_hover_color: #999999;
	--en_font: "Playfair Display", serif;
}


/*==========
Googleフォント
==========*/
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('/fonts/NotoSans_Regular.woff2') format('woff2');
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('/fonts/NotoSans_Bold.woff2') format('woff2');
}

@font-face {
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('/fonts/PlayfairDisplay-Regular.woff2') format('woff2');
}

@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('/fonts/plus-jakarta-sans-v11-latin-regular.woff2') format('woff2');
}


@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('/fonts/plus-jakarta-sans-v11-latin-800.woff2') format('woff2');
}


/*==========
共通
==========*/
html {
	font-size: 62.5%;
}

body {
	font-family: "Plus Jakarta Sans", 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
	color: var(--font_color);
	background-color: var(--bg_color);
	position: relative;
	overflow-x: hidden;
	font-feature-settings: "palt"1;
}

a {
	color: var(--a_color);
	transition: .3s;
}

a:hover {
	transition: .3s;
}

a img:hover {
	opacity: .8;
}

.container {
	width: 100%;
	max-width: 660px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	body {
		font-size: 1.7rem;
		background-color: #ffffff;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' %3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' x2='0' y1='0' y2='1' gradientTransform='rotate(0,0.5,0.5)'%3E%3Cstop offset='0' stop-color='%231C1600'/%3E%3Cstop offset='1' stop-color='%232C1F01'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpattern id='b' width='7' height='7' patternUnits='userSpaceOnUse'%3E%3Ccircle fill='%23ffffff' cx='3.5' cy='3.5' r='3.5'/%3E%3C/pattern%3E%3Crect width='100%25' height='100%25' fill='url(%23a)'/%3E%3Crect width='100%25' height='100%25' fill='url(%23b)' fill-opacity='0.1'/%3E%3C/svg%3E");
		background-attachment: fixed;
	}
}

.mt4 {
	margin-top: 4rem;
}



/*==========
wrap
==========*/
.wrap {
	background-color: var(--wrap_color);
}

@media (min-width: 768px) {
	.wrap {
		width: 600px;
		margin: 0 auto;
	}
}


/*==========
お問い合わせLINEボタン
==========*/
.contact_line {
	padding: 36px 0;
	background-color: var(--bg_color2);
	text-align: center;
}

.contact_line header {
	font-size: 1.65rem;
	color: var(--font_color2);
	margin-bottom: 12px;
}

.contact_line .contact_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 9px;
	width: 84%;
	height: 66px;
	margin: 0 auto 15px;
	background-color: #23B127;
	border-radius: 6px;
	box-shadow: 5px 5px 0px #246326;
}

.contact_line .contact_btn:hover,
.contact_line .contact_btn:active {
	background-color: #43da48;
	box-shadow: 1px 1px 0px #246326;
	transform: translate(1px, 1px);
}

.contact_line .contact_btn img {
	width: 54px;
	height: auto;
}

.contact_line .contact_btn span {
	font-size: 1.7rem;
	font-weight: 600;
	color: #FFF;
}

.contact_line_caution {
	text-align: center;
	margin-top: 12px;
	color: #CF0000;
}

@media (min-width: 768px) {
	.contact_line {
		padding: 54px 0;
	}

	.contact_line header {
		font-size: 2rem;
		margin-bottom: 15px;
	}

	.contact_line .contact_btn {
		width: 480px;
		height: 78px;
		margin: 0 auto 24px;
		box-shadow: 6px 6px 0px #246326;
	}

	.contact_line .contact_btn img {
		width: 60px;
	}

	.contact_line .contact_btn span {
		font-size: 2rem;
	}
}



/*==========
セクションタイトル
==========*/
.section_title {
	text-align: center;
	margin-bottom: 36px;
}

.section_title .en {
	font-size: 5.4rem;
	color: var(--font_color3);
	font-family: var(--en_font);
	display: inline-block;
	position: relative;
	padding: 0 48px;
}

.section_title .en:before,
.section_title .en:after {
	content: '';
	position: absolute;
	top: 65%;
	display: inline-block;
	width: 42px;
	height: 1px;
	background-color: var(--font_color3);
}

.section_title .en:before {
	left: 0;
}

.section_title .en:after {
	right: 0;
}

.section_title h2 {
	font-size: 1.4rem;
	color: var(--font_color3);
	margin-top: 6px;
}

@media (min-width: 768px) {
	.section_title {
		margin-bottom: 54px;
	}

	.section_title .en {
		font-size: 7.2rem;
		padding: 0 60px;
	}

	.section_title .en:before,
	.section_title .en:after {
		top: 65%;
		width: 54px;
	}

	.section_title h2 {
		font-size: 1.6rem;
		margin-top: 6px;
	}
}


/*==========
フッター
==========*/
.site_footer {
	padding: 54px 0 12px;
	text-align: center;
	background-color: var(--footer_color);
}

.site_footer_logo {
	width: 150px;
	margin: 0 auto;
}

/* フッターリンク */
.site_footer_link {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-content: center;
	gap: 18px;
	width: 96%;
	margin: 3rem auto 0;
}

.site_footer_link li a {
	font-size: 1.4rem;
	color: #FFF;
}

.site_footer_copyright {
	font-size: 1.35rem;
	margin-top: 5rem;
	color: var(--font_color2);
}

@media (min-width: 768px) {
	.site_footer {
		padding-top: 72px;
	}

	.site_footer_link li a {
		font-size: 1.5rem;
	}

	.site_footer_copyright {
		font-size: 1.45rem;
	}

}



/*==========
アニメーション
==========*/
.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 1.0s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger {
	opacity: 0;
}
