@charset "UTF-8";

:root {
	--main-color: #20384B;
	--sub-color: #cf6c51;
	--link-color: #2087d0;
	--thin-color: #f5e1dc;
	--text-color: #333333;
	--bg-color: #f4f5f6;
}
html {
	font-size: 62.5%;
}
html[lang="ja"] {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
body {
	font-size: 1.3rem;
	font-style: normal;
	font-weight: 400;
	font-feature-settings: "palt";
	letter-spacing: 0.01em;
	color: var(--text-color);
}
header {
	width: 100%;
}
a,
button {
	transition:all 0.3s;
}
a:hover,
button:hover {
	opacity: 0.5;
}
img {
	image-rendering: -webkit-optimize-contrast;
}
.wrapper {
	width: 100%;
}
.container {
	width: 1000px;
	margin: 0 auto 60px;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
  z-index: 100;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
}

.pagetop {
	display: none;
	position: fixed;
	bottom: 40px;
	right: 30px;
}
.pagetop a {
	display: block;
}
.pagetop a:hover {
	opacity: 0.6;
}


.mt1 {
	margin-top: 1rem;
}
.mt2 {
	margin-top: 2rem;
}

