@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, Footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
Footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}
/*-----------------------------------------------------------------------------
Firefoxの右側スクロールバーの表示
Firefox上でコンテンツの高さがウィンドウの高さより短い場合に表示位置がずれる現象を解消
-----------------------------------------------------------------------------*/
html { overflow-y: scroll; }
/* *{border-style:none;} */

img { border-style:none; vertical-align:top;}

/*-----------------------------------------------------------------------------
フロート操作によるボックスの高さ調整
-----------------------------------------------------------------------------*/
.clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.clearfix {display: inline-table;min-height: 1%;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-Mac */

/* 共通定義
=========================================================================*/
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

html {
	overflow: auto;
	font-size: 62.5%; /* sets the base font to 10px for easier math */
}
body {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
  line-height: 1.4em;
  color: #000;
  text-align: left;
  background: #FFF;
  -webkit-text-size-adjust: 100%;
}
h1,h2,h3 {
	line-height: 1.4em;
}
strong {
	font-weight: 900;
}

/* link
-----------------------------------------------------------*/
a {
  color: #616161;
  text-decoration: underline;
  transition: all .3s;
}
a:visited { color: #616161; }
a:hover {
	color: #000;
	text-decoration: none;
}
a:hover,
a:active,
a:focus
 {
  outline: none;
}
.opacity {
  transition: all .3s;
}
.opacity:hover {
	opacity: .7;
}

/* image
-----------------------------------------------------------*/
img {
	width: 100%;
	height: auto;
}

/* desktop/tablet smartphone
-----------------------------------------------------------*/
.pc {
	display: block;
}
.sp {
	display: none;
}

/* main
-----------------------------------------------------------*/
main {
	overflow: hidden;
	position: relative;
	padding: 0;
}
main::after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 218px;
	width: calc(218 / 1600 * 100%);
	height: 486px;
	background: url('../img/common/main_bottom.png') right bottom no-repeat;
	background-size: contain;
	z-index: -1;
}
#home main::after {
	z-index: 2;
}
@media screen and (max-width:1600px) {
	main::after {
		width: 5%;
	}
}
.inner {
	position: relative;
	margin: 0 auto;
	width: 1200px;
}
@media screen and (max-width:1240px) {
	.inner {
		padding: 0 20px;
		width: 100%;
	}
}
/* animation
-----------------------------------------------------------*/
.fadein {
	opacity: 0;
	transition : all 1250ms cubic-bezier(0.000, 0.000, 0.410, 1.475);
}
.fadein.scrollin {
	opacity: 1;
}
.fadein_delay {
	filter: brightness(250%);
	opacity: .5;
	transition : all 2000ms;
}
.fadein_delay.scrollin {
	opacity: 1;
	filter: brightness(100%);
}
.fadein_up {
	opacity: 0;
	transform : translate(0, 15px);
	transition : all 750ms cubic-bezier(0.000, 0.000, 0.410, 1.475);
}
.fadein_up.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
.fadein_left {
	opacity: 0;
	transform : translate(-30px, 0);
	transition : all 750ms cubic-bezier(0.000, 0.000, 0.410, 1.000);
}
.fadein_left.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
.fadein_right {
	opacity: 0;
	transform : translate(30px, 0);
	transition : all 750ms cubic-bezier(0.000, 0.000, 0.410, 1.000);
}
.fadein_right.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

/*  SP（767px）
=========================================================================
=========================================================================*/
@media screen and (max-width:767px) {
	/* link
	-----------------------------------------------------------*/
	.opacity:hover {
		opacity: 1;
	}

	/* desktop/tablet smartphone
	-----------------------------------------------------------*/
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}

	main::after {
		width: 10%;
	}

}
