@charset "utf-8";

/* reset */
html,body,div,span,h1,h2,h3,h4,h5,h6,p,
a,em,img,strong,ul,li,
main,footer,header{
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6{
	font-family: inherit;
	font-size: 100%;
	font-weight: normal;
}
ul,li{
	list-style: none;
}
img{
	border: none;
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
button{
	color: inherit;
	font-family: inherit;
	-webkit-appearance: none;
	appearance: none;
	font-size: 100%;
	font-weight: normal;
	line-height: inherit;
}
*,*::before,*::after{
	box-sizing: border-box;
}

/* base */
html{
	font-size: 62.5%;
}
@media screen and (max-width: 767px){
	html{ font-size: 2.564vw; }
}
body{
	min-width: 320px;
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		"Hiragino Kaku Gothic ProN",
		"Yu Gothic",
		Meiryo,
		sans-serif;
	font-size: 1.6rem;
	color: #000;
	line-height: 1.25;
	-webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 767px){
	body{ font-size: 1.5rem; }
}
a{
	color: inherit;
	text-decoration: none;
	transition: all 0.2s;
	text-underline-offset: 0.3em;
}
em, strong{
	font-weight: bold;
}

/* utility */
.u_taCenter{ text-align: center !important; }

/* frame */
.f_pageArea{
	overflow: hidden;
	background-color: #F5F8FD;
}
.f_header{
	position: relative;
	z-index: 1000;
	margin-bottom: -20px;
	container-type: inline-size;
}
.f_header > .p_inner{
	position: relative;
	z-index: 10;
	height: 100px;
	border-radius: 0 0 20px 20px;
	border-bottom: 1px solid transparent;
	background-color: #FFF;
	padding-right: 60px;
}
.f_header .p_logo{
	position: absolute;
	top: 50%;
	left: 22px;
	padding: 10px;
	transform: translateY(-50%);
	transition: none;
}
@media screen and (max-width: 1360px){
	.f_header > .p_inner{ padding-right: 8%; }
	.f_header .p_logo img{ width: 16.9vw; }
}
@media screen and (max-width: 1120px){
	.f_header{ height: 56px; }
	.f_header a:hover{ text-decoration: none !important; }
	.f_header > .p_inner{
		position: fixed;
		top: 0; left: 0; right: 0;
		height: 56px;
		border-radius: 0 0 8px 8px;
	}
	.f_header .p_logo{ left: 39px; }
	.f_header .p_logo img{ width: 180px; }
}
@media screen and (max-width: 767px){
	.f_header{ height: 4.8rem; margin-bottom: -0.8rem; font-size: 1.6rem; }
	.f_header > .p_inner{ height: 4.8rem; border-radius: 0 0 0.8rem 0.8rem; }
	.f_header .p_logo{ left: 1rem; padding: 1rem; }
	.f_header .p_logo img{ width: 15rem; }
}

.f_centerBox{
	padding: 9.2rem 2rem 8rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: calc(100vh - 282px);
	min-height: calc(100lvh - 282px);
}
.f_centerBox > .p_box{
	width: 100%;
	max-width: 896px;
	border-radius: 30px;
	background-color: #FFF;
	padding: 72px;
}
@media screen and (max-width: 767px){
	.f_centerBox{ padding: 4.8rem 2rem 4rem; min-height: 55vh; min-height: 55lvh; }
	.f_centerBox > .p_box{ border-radius: 2rem; padding: 4.8rem 2rem; }
}

.f_footer{
	background-color: #E7F0FE;
	padding: 48px 0 32px;
	text-align: center;
}
.f_footer .p_main{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.f_footer .p_link{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 32px;
	flex-grow: 1;
}
.f_footer .p_link a:hover{
	text-decoration: underline;
}
.f_footer .p_link a[target="_blank"]::after{
	content: '';
	display: inline-block;
	margin-left: 2px;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M14 8.5v5a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5h5a.5.5 0 000-1h-5A1.5 1.5 0 001 2.5v11A1.5 1.5 0 002.5 15h11a1.5 1.5 0 001.5-1.5v-5a.5.5 0 00-1 0z' fill='%23333'/%3E%3Cpath d='M10 1a.5.5 0 000 1h3.293L8.146 7.146a.5.5 0 10.708.708L14 2.707V6a.5.5 0 001 0V1.5a.5.5 0 00-.5-.5H10z' fill='%23333'/%3E%3C/svg%3E") no-repeat 50% 50%;
	vertical-align: -3px;
}
.f_footer .p_copyright{
	margin-top: 64px;
	font-size: 1.4rem;
}
@media screen and (max-width: 1120px){
	.f_footer{ padding: 32px 0; }
	.f_footer .p_main{ flex-direction: column; gap: 32px; }
	.f_footer .p_link{ justify-content: flex-start; gap: 24px; font-size: 1.5rem; }
}
@media screen and (max-width: 767px){
	.f_footer{ padding: 3.2rem 0 2.4rem; }
	.f_footer .p_main{ gap: 3.2rem; }
	.f_footer .p_logo img{ width: 16rem; }
	.f_footer .p_link{ flex-direction: column; align-items: center; gap: 1.6rem; }
	.f_footer .p_link a[target="_blank"]::after{ margin-left: 0.2rem; width: 1.6rem; height: 1.6rem; background-size: 100% auto; vertical-align: -0.3rem; }
	.f_footer .p_copyright{ margin-top: 4.8rem; font-size: 1.2rem; }
}

/* module */
.m_pageInner{
	margin: 0 auto;
	max-width: 1080px;
	padding: 0 4rem;
	box-sizing: content-box;
}
@media screen and (max-width: 830px){
	.m_pageInner{ padding: 0 2rem; }
}

.m_inlineLink{
	border-bottom: 1px solid #0039CC;
	color: #0039CC;
	font-weight: bold;
}
.m_inlineLink:hover{
	border-bottom: none;
}

.m_btn{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.8rem;
	width: 344px;
	max-width: 100%;
	height: 7.2rem;
	border: 2px solid #0039CC;
	border-radius: 3.6rem;
	background-color: #0039CC;
	padding: 0 1.6rem 0.2rem;
	text-align: center;
	color: #FFF;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.25;
	cursor: pointer;
	transition: all 0.2s;
}
.m_btn:hover:not(:disabled){
	background-color: #FFF;
	color: #0039CC;
}
.m_btn.s_sizeS{
	height: 5.6rem;
	font-size: 1.8rem;
}
.m_btn.s_link{
	padding: 0 2.4rem 0.2rem 1.6rem;
}
.m_btn.s_link::after{
	content: '';
	position: absolute;
	top: 0; right: 1.6rem; bottom: 0;
	width: 1.6rem; height: 1.6rem;
	margin: auto 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3l5 5-5 5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
}
.m_btn.s_link:hover:not(:disabled)::after{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3l5 5-5 5' stroke='%230039CC' stroke-width='2' fill='none'/%3E%3C/svg%3E");
}
.m_btn.s_sub{
	background-color: #FFF;
	color: #0039CC;
}
.m_btn.s_sub:hover:not(:disabled){
	background-color: #0039CC;
	color: #FFF;
}
.m_btn.s_link.s_sub::after{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3l5 5-5 5' stroke='%230039CC' stroke-width='2' fill='none'/%3E%3C/svg%3E");
}
.m_btn.s_link.s_sub:hover:not(:disabled)::after{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3l5 5-5 5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E");
}
@media screen and (max-width: 767px){
	.m_btn{ width: 100% !important; height: 5.6rem; border-radius: 2.8rem; font-size: 1.8rem; }
	.m_btn.s_link{ padding: 0 3.2rem 0 1.6rem; }
	.m_btn.s_link::after{ background-size: 100% 100%; }
}

.m_btnArea{
	margin-top: 4rem;
	display: flex;
	justify-content: center;
	gap: 2.4rem;
}
@media screen and (max-width: 767px){
	.m_btnArea{ margin: 3rem auto 0; max-width: 35rem; gap: 1.6rem; }
	.m_btnArea.s_spCol{ flex-direction: column; align-items: center; }
}

.m_grayBox{
	position: relative;
	margin: 2.4rem 0;
	border-radius: 0.8rem;
	background-color: #F7F7F8;
	padding: 1.6rem 2.4rem;
	line-height: 1.5;
}
.m_grayBox .p_title{
	margin-bottom: 0.8rem;
	font-weight: bold;
}
.m_grayBox.s_deprecated h3{ font-size: 1.8rem; font-weight: bold; }
.m_grayBox.s_deprecated h4{ margin-top: 1rem; font-weight: bold; }
.m_grayBox.s_deprecated li{
	position: relative;
	padding-left: 1.2em;
}
.m_grayBox.s_deprecated li::before{
	content: '';
	position: absolute;
	top: 1.1rem; left: 0.6rem;
	width: 0.5rem; height: 0.5rem;
	border-radius: 50%;
	background-color: #0039CC;
}
@media screen and (max-width: 767px){
	.m_grayBox{ padding: 1.6rem; }
}

.m_modal{
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	z-index: 1000;
	background-color: rgba(0,0,0,0.45);
	display: none;
	justify-content: center;
	align-items: center;
}
.m_modal .p_window{
	position: relative;
	width: 712px;
	background-color: #FFF;
	border-radius: 2rem;
	padding: 7.2rem 9.2rem;
	max-height: 95vh;
	overflow-x: hidden;
	overflow-y: auto;
}
@media screen and (max-width: 767px){
	.m_modal .p_window{ width: 35rem !important; border-radius: 1.6rem; padding: 4.8rem 2rem; }
}

.m_iconSection{
	max-width: 528px;
	margin: 0 auto;
	line-height: 1.5;
}
.m_iconSection .p_icon{
	margin-bottom: 40px;
	text-align: center;
}
.m_iconSection .p_title{
	margin-bottom: 16px;
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
}
.m_iconSection .p_title.s_sizeL{
	font-size: 3.2rem;
}
@media screen and (max-width: 767px){
	.m_iconSection{ max-width: none; font-size: 1.5rem; }
	.m_iconSection .p_icon{ width: 10rem; margin: 0 auto 3.2rem; }
	.m_iconSection .p_icon.s_spSizeS{ width: 8.8rem; }
	.m_iconSection .p_title{ margin-bottom: 1.6rem; font-size: 2.4rem; }
	.m_iconSection .p_title.s_sizeL{ font-size: 2.4rem; }
}

*:first-child{ margin-top: 0; }
*:last-child{ margin-bottom: 0; }
