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" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    font-size: 14px;
	font-size: 1.4rem;
    line-height: 1.7em;
    color: #333;
    text-align: left;
    background: #FFF;
    -webkit-backface-visibility:hidden;
}

/* テキスト
=========================================================================*/
strong {
	font-weight: bold;
}
/* リンク
=========================================================================*/
a {
    color: #333;
    text-decoration: underline;
    transition: all .3s;
}
a:visited { color: #333; }
a:hover {
	color: #6EA9B1;
	text-decoration: none;
	/*opacity: .5;*/
}
a:hover,
a:active,
a:focus
 {
  outline: none;
}
.opacity {
	transition: all .3s;
}
.opacity:hover {
	opacity: .5;
}
/* ボタン
=========================================================================*/
.opacity {
	cursor: pointer;
    transition: all .3s;
}
.opacity:hover {
	opacity: .5;
}

/* 画像サイズ
=========================================================================*/
img {
	width: 100%;
}
/* デスクトップ・スマホ分岐
=========================================================================*/
.pc {
	display: block;
}
.sp {
	display: none;
}
/* 全ページ共通
=========================================================================*/
/* コンテナ
-----------------------------------------------------------*/
.container {
	overflow: hidden;
	padding: 90px 0;
	margin: 0 auto;
	width: 1170px;
}
@media (max-width:1210px) {
	.container {
		padding: 90px 20px;
		width: 100%;
	}
}
.container_l {
	overflow: hidden;
	margin: 0 auto;
	padding: 90px 0;
	width: 1110px;
}
@media (max-width:1150px) {
	.container_l {
		padding: 90px 20px;
		width: 100%;
	}
}
.container_m {
	overflow: hidden;
	margin: 0 auto;
	padding: 90px 0;
	width: 900px;
}
@media (max-width:940px) {
	.container_m {
		padding: 90px 20px;
		width: 100%;
	}
}
.container_s {
	overflow: hidden;
	margin: 0 auto;
	padding: 90px 0;
	width: 800px;
}
@media (max-width:840px) {
	.container_s {
		padding: 90px 20px;
		width: 100%;
	}
}
/* ----- フルサイズ：背景グレー ----- */
.container_full {
	overflow: hidden;
	padding: 0 20px;
	width: 100%;
	background: #F7F7F7;
}
.container_full .container_l {
	padding: 90px 0 !important;
}
.container_full .container_m {
	padding: 90px 0 !important;
}
.container_full .container_s {
	padding: 90px 0 !important;
}

/* ページタイトル
-----------------------------------------------------------*/
.page_title {
	position: relative;
    overflow: hidden;
    display: flex;
	align-items: center;
	padding: 0;
	width: 100%;
	height: 435px;
}
.page_title::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 37.8125%;
	height: 100%;
	background: url(../img/common/header_left.svg) left top no-repeat;
	background-size: contain;
}
.page_title::after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 37.8125%;
	height: 100%;
	background: url(../img/common/header_right.svg) right bottom no-repeat;
	background-size: contain;
	z-index: 2;
}
/* ----- タイトル ----- */
.page_title h1 {
	position: relative;
	padding-top: 40px;
	font-size: 30px;
	font-size: 3.0rem;
	letter-spacing: 0.1em;
	line-height: 1.0em;
	color: #FFF;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.page_title h1::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-style: italic;
	font-weight: 100;
	font-size: 20px;
	font-size: 2.0rem;
	letter-spacing: 0.1em;
	color: #707070;
}
/* ボタン大
-----------------------------------------------------------*/
.button.pdf {
	width: 100%;
}
.button a {
	display: inline-block;
	position: relative;
	overflow: hidden;
	max-width: 350px;
	width: 100%;
	height: 60px;
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 60px;
    color: #FFF;
    text-align: center;
    text-decoration: none;
	background: #93D2DA;
}
.button.pdf a {
	padding: 1.5em;
	max-width: 100%;
	height: auto;
	line-height: 1.5em;
}
.button a span {
	position: relative;
	z-index: 2;
}
.button a::after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 1.0em;
	width: 24px;
	height: 60px;
	background: url(../img/common/button_arrow.svg) right center no-repeat;
	background-size: contain;
	transition: all .15s;
}
.button.pdf a::after {
	display: none;
}
.button a:hover::after {
	right: 0.8em;
}
.button a::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 0;
	border-color: #707070 transparent transparent transparent;
	transition: all .3s;
}
.button a:hover::before {
	border-width: 350px 500px 0 0;
	border-color: #707070 transparent transparent transparent;
}
.button.pdf a:hover::before {
	border-width: 350px 1500px 0 0;
	border-color: #707070 transparent transparent transparent;
}
/* ボタン小
-----------------------------------------------------------*/
.button_small a {
	display: inline-block;
	position: relative;
	overflow: hidden;
	max-width: 160px;
	width: 100%;
	height: 30px;
	font-size: 13px;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	line-height: 30px;
    color: #FFF;
    text-align: center;
    text-decoration: none;
	background: #93D2DA;
}
.button_small a span {
	position: relative;
	padding-right: 2.0em;
	z-index: 2;
}
.button_small a::after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 8px;
	width: 16px;
	height: 30px;
	background: url(../img/common/button_arrow.svg) right center no-repeat;
	background-size: contain;
	transition: all .15s;
}
.button_small a:hover::after {
	right: 5px;
}
.button_small a::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 100px 30px 30px;
	border-color: #707070;
	transition: all .3s;
}
.button_small a:hover::before {
	border-width: 30px 160px 0 0;
}

/* ローディング画面
=========================================================================*/
#progress {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: #FFF;
	z-index: 99999;
	transition : all 500ms ease-in-out;
}
#progress.scrollup {
	top: -100vh;
	/*opacity: 0.0;*/
}
#progress .widget {
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	width: 100px;
}
#progress .logo {
	margin-bottom: 2px;
}
#progress .loader {
	overflow: hidden;
	width: 100%;
	height: 2px;
	background-color: #FFF;
}
#progress .bar {
	width: 100%;
	height: 2px;
	background-color: #93D2DA;
	animation: bar 0.5s infinite linear;
}


@keyframes bar {
	from {
		transform : translate(-100px, 0);
	}
	to {
		transform: translate(100px, 0);
	}
}

/* ANIMATION
=========================================================================
=========================================================================*/
/* ----- フェードイン ----- */
.fadein {
	opacity: 0;
	transition : all 1500ms ease-in-out;
}
.fadein.scrollin {
	opacity: 1;
}
/* ----- フェードインアップ ----- */
.fadein_up {
	opacity: 0;
	transform : translate(0, 20px);
	transition : all 1000ms ease-in-out;
}
.fadein_up.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}



 /*  スマホ（767px以下）
=========================================================================
=========================================================================*/
@media screen and (max-width:767px) {

	/* デスクトップ・スマホ分岐
	=========================================================================*/
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	/* 全ページ共通
	=========================================================================*/
	/* コンテナ
	-----------------------------------------------------------*/
	.container {
		padding: 60px 20px;
	}
	.container_l {
		padding: 60px 20px;
	}
	.container_m {
		padding: 60px 20px;
	}
	.container_s {
		padding: 60px 20px;
	}
	.container_full .container_l {
		padding: 60px 0 !important;
	}
	.container_full .container_m {
		padding: 60px 0 !important;
	}
	.container_full .container_s {
		padding: 60px 0 !important;
	}
	/* ページタイトル
	-----------------------------------------------------------*/
	.page_title {
		height: 220px;
	}
	/* ----- タイトル ----- */
	.page_title h1 {
		padding-top: 26px;
		font-size: 20px;
		font-size: 2.0rem;
	}
	.page_title h1::before {
		font-weight: 300;
		font-size: 14px;
		font-size: 1.4rem;

	}
	/* ボタン大
	-----------------------------------------------------------*/





	.button a {
		max-width: 350px;
		width: 100%;
	}

}
