@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Roboto:wght@200..700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
}
body {
		color: #094DA4;
		background: #f5faff;
		font-size: 16px;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
}
body:lang(en) {
		font-family: 'Roboto', sans-serif;
}
h1, h2, h3, h4, h5, p, li {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
h1:lang(en), h2:lang(en), h3:lang(en), h4, :lang(en) h5:lang(en), p:lang(en), li:lang(en) {
		letter-spacing: 0em;
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
.container {
		overflow: hidden;
}
.section_title {
		text-align: center;
		margin: 0 0 70px
}
.section_title .jp {
		font-size: 32px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 10px;
}
.section_title .jp:lang(en) {
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
}
.section_title .en {
		font-family: 'Roboto', sans-serif;
		font-size: 14px;
}
@media(max-width: 767px) {
		.section_title .jp {
				font-size: 22px;
				margin: 0 0 7px;
		}
		.section_title {
				margin-bottom: 45px;
		}
}
/* ===== PARTS ==== */
.link_btn_center {
		display: flex;
		justify-content: center;
		position: relative;
		z-index: 10
}
.theme_section .link_btn_center {
		padding: 0 20px;
}
.link_btn {
		width: 220px;
		margin-top: 30px;
		font-weight: 500;
}
.link_btn span {
		display: inline-block;
		transform: translateY(-1px)
}
.theme_section .link_btn.large {
		margin-top: 40px;
}
.link_btn.mid {
		width: 370px;
		font-size: 20px;
		font-weight: 500;
}
.link_btn.large {
		width: 480px;
		margin-top: 30px;
		font-size: 30px;
		font-weight: 600;
}
.link_btn.disabled {
		width: 480px;
		margin-top: 30px;
		font-size: 130%;
		font-weight: 600;
}
.link_btn a {
		text-decoration: none;
		background: #fff;
		color: #094DA4;
		border: 1px solid #094DA4;
		height: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: background 0.4s;
		position: relative;
		border-radius: 6px;
}
.link_btn.mid a {
		height: 80px
}
.link_btn.large a {
		height: 110px
}
.link_btn.disabled a {
		pointer-events: none;
		height: 110px;
		border: 1px solid #fff;
		color: #fff;
		background: none;
}
.link_btn.disabled a::after {
		display: none
}
.link_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 3.5px);
		right: 15px;
		width: 6px;
		height: 6px;
		border-top: 1px solid #094DA4;
		border-right: 1px solid #094DA4;
		transform: rotate(45deg);
}
.link_btn.back a::after {
		right: inherit;
		left: 15px;
		border-top: 1px solid #094DA4;
		border-right: none;
		border-left: 1px solid #094DA4;
		transform: rotate(-45deg);
}
.link_btn.large a::after {
		right: 30px;
		width: 12px;
		height: 12px;
		top: calc(50% - 5.5px);
}
@media (hover: hover) {
		.link_btn a:hover {
				background: #094DA4;
				border: 1px solid #fff;
				color: #fff;
		}
		.link_btn.back a::after {
				right: inherit;
				left: 15px;
				border-top: 1px solid #094DA4;
				border-right: none;
				border-left: 1px solid #094DA4;
				transform: rotate(-45deg);
		}
		.link_btn a:hover::after {
				border-top: 1px solid #fff;
				border-right: 1px solid #fff;
		}
		.link_btn.back a:hover::after {
				border-top: 1px solid #fff;
				border-right: none !important;
				border-left: 1px solid #fff;
		}
}
@media(max-width: 767px) {
		.link_btn.mid {
				width: 250px;
				font-size: 16px;
				margin-left: auto;
				margin-right: auto;
		}
		.link_btn.large {
				width: 100%;
				margin-top: 30px;
				font-size: 22px;
		}
		.link_btn.disabled {
				width: 100%;
				margin-top: 30px;
				font-size: 20px;
		}
		.link_btn a {
				height: 50px;
		}
		.link_btn.mid a {
				height: 60px;
		}
		.link_btn.large a, .link_btn.disabled a {
				height: 80px
		}
}
.anchor {
		pointer-events: none;
		position: relative;
		z-index: -1;
}
.bnr {
		position: fixed;
		bottom: 40px;
		right: 40px;
		width: 150px;
		z-index: 100;
}
.bnr img {
		width: 100%;
		height: auto;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.bnr a:hover img {
				transform: scale(1.1)
		}
}
@media(max-width: 767px) {
		.bnr {
				bottom: 20px;
				right: 20px;
				width: 80px;
		}
}