html,body {
overflow-x: hidden;
}

@media screen and (max-width: 920px) {
	.top_image {
		padding-inline: 10px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 767px) {

	/* Passkey */
	.passkey_tips,
	.passkey_accordionbox_inner_title {
		font-size: 1rem;
	}

	.passkey_pagelink {
		width: 96%;
		margin-inline: auto;
		padding-block: 10px;
		line-height: 1.5;
		font-size: 1rem;
	}

	.passkey_pagelink_span {
		display: block;
		margin: 0 0 8px;
	}

	.passkey_accordionbox_feature_detaillink {
		width: 100%;
		margin-right: 0;
	}

	.passkey_accordionbox_inner_title_p01 {
		margin-right: 16px;
	}

	.passkey_schedule_div {
		grid-template-columns: auto;
	}

	.passkey_schedule_div_period {
		padding-block: 8px;
	}

	.passkey_schedule_div_release {
		padding: 12px;
		font-size: 0.9rem;
		font-feature-settings: 'palt';
	}

	.passkey_schedule_div_release_span {
		margin-top: 0;
	}

	.passkey_schedule_arrow,
	.passkey_important {
		margin-inline: auto;
	}

	.passkey_schedule_arrow {
		text-align: center;
	}

	.passkey_important {
		width: 96%;
	}

	.passkey_hikaku {
		padding-bottom: 20px !important;
	}

	.passkey_hikaku .img {
		padding-block: 4px;
	}

	.passkey_menu_list {
		grid-template-columns: 1fr;
		padding-inline: 20px;
		box-sizing: border-box;
	}

	.passkey_menu_list_last {
		padding-inline: 20px;
	}

	.passkey_what ul {
		grid-template-columns: 1fr 1fr;
	}

	.passkey_what ul li:nth-child(3),
	.passkey_what ul li:nth-child(4),
	.merit_text {
		margin-top: 24px;
	}

	.merit_text {
		margin-bottom: 24px;
	}

	.merit_img img {
		max-width: 80%;
		margin-top: calc(50% - 20px);
	}

	/* Utility */
	body,
	#Container {
		background-image: none;
	}

	.sp_no,
	.disp_pc {
		display: none;
	}

	.disp_sp {
		display: block;
	}

	.sp_font15 {
		font-size: 16px;
	}

	.sp_font11 {
		font-size: 11px;
		margin-bottom: 0;
	}

	/* Logo */
	.logo,
	.logo img {
		text-align: center;
	}

	.logo img {
		vertical-align: middle;
	}

	/* Container */
	#Container .topimg {
		display: block;
		margin-top: -4px;
	}

	#Container .sub_Container {
		padding-top: 80px;
	}

	#Container .sub_Container h2 {
		width: 100%;
		height: auto;
		padding-bottom: 10px;
		border-bottom: 5px solid #ccc;
		font-size: 20px;
		color: #666;
	}

	#Container .sub_Container h2::after {
		display: none;
	}

	#Container .sub_Container .cont {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	#Container .sub_Container .text {
		padding: 10px;
		font-size: 14px;
		color: #333;
		text-align: left;
		line-height: 145%;
	}

	#Container .sub_Container .download {
		width: 100%;
		margin: 40px 0 0;
		flex-direction: column;
	}

	#Container .sub_Container .download .box:not(:first-child) {
		margin-top: 32px;
	}

	#Container .sub_Container .download .box {
		margin-top: 42px;
	}

	/* Risk */
	#risk {
		width: 100%;
		margin: 20px 0 0;
		padding: 0 10px;
		font-size: 13px;
	}

	#risk p {
		padding-inline: 10px;
		font-size: 13px;
		color: #5a5a5a;
		text-align: left;
		line-height: 170%;
	}

	/* Footer */
	#footer .cont {
		width: 100%;
		box-sizing: border-box;
	}

	#copyright {
		padding-block: 10px;
		font-size: 12px;
	}

	/* Container_n */
	#Container_n {
		margin-top: 24px;
		padding: 0;
	}

	#Container_n .sub_Container h2 {
		width: 100%;
		height: 45px;
		padding-top: 30px;
		margin-bottom: 30px;
		font-size: 25px;
	}

	#Container_n .sub_Container .cont {
		width: 100%;
		padding: 0;
	}

	#Container_n .sub_Container h3 {
		margin: 20px 10px 0;
		font-size: 20px;
		line-height: 160%;
		font-weight: normal;
	}

	#Container_n .subpage_Container {
		margin-top: 24px;
	}

	#Container_n .subpage_Container h2 {
		font-size: 21px;
		line-height: 120%;
	}

	#Container_n .subpage_Container h2 .subtext {
		font-size: 10px;
	}

	.sub_h3,
	#Container_n .subpage_Container .sub_h3_flow {
		width: 100%;
	}

	#Container_n .subpage_Container .sub_h3 {
		width: 98%;
		margin: 0;
		margin-bottom: 20px;
		padding: 10px 0 0 2%;
	}

	#Container_n .subpage_Container .sub_h301 {
		width: calc(100% - 15px);
		margin: 0 0 0px 8px;
		padding: 10px 0 10px 10px;
	}

	#Container_n .subpage_Container .sub_h4,
	#Container_n .subpage_Container .sub_h401 {
		text-align: left;
		font-size: 16px;
		margin-top: 20px;
	}

	#Container_n .subpage_Container .sub_h4 {
		width: 96%;
		padding-left: 2%;
	}

	#Container_n .subpage_Container .sub_h4 .text_border {
		margin-bottom: 0px;
	}

	#Container_n .subpage_Container .sub_h401 {
		width: calc(99% - 5px);
		margin-left: 5px;
		padding-left: 5px;
		box-sizing: border-box;
	}

	#Container_n .subpage_Container .cont {
		width: calc(100% - 10px);
		padding-inline: 5px;
		font-size: 14px;
		padding-bottom: 20px;
	}

	#Container_n #container {
		width: 100%;
		margin-top: 120px;
	}

	/* Misc */
	#contents_03 {
		width: 96%;
		margin-inline: auto;
	}

	.guide_box img {
		display: block;
		width: 96%;
		margin-left: 10px;
		margin-right: auto;
	}

	.text {
		font-size: 0.8rem;
		line-height: 1.5;
	}

	.inner {
		width: 100%;
		margin-left: 0;
	}

	.accordion-arrow {
		width: auto;
		padding-right: 5px;
	}

	.accordion-text {
		display: flex;
		align-items: center;
		padding: 0 12px 0;
		font-size: 14px;
		line-height: 1.3;
	}

	.accordionbox_inner_title_p01,
	.accordionbox_inner_title_p02 {
		margin-left: 16px;
	}

	#Container_n .subpage_Container .accordionbox_feature_detaillink a,
	.accordionbox_feature {
		width: 92%;
		margin-inline: auto;
	}

	.colorbtn-area {
		width: 100%;
		padding-bottom: 20px;
	}

	.colorbtn-area-flex,
	.accordionbox_feature_ul {
		flex-direction: column;
	}

	.accordionbox_feature_ul li {
		margin-top: 8px;
	}

	.accordionbox_inner_title {
		width: 87%;
		display: block;
		position: relative;
		margin: 0px auto;
		padding-top: 20px;
	}

	.accordionbox_feature {
		padding: 8px 0;
		text-align: center;
	}

	.text_border {
		padding-bottom: 4px;
		font-size: 16px;
		line-height: 2;
	}

	.triangle-right {
		margin: 16px 8px 15px 14px;
	}
}

@media screen and (max-width: 480px) {

	.spc_example_openbtn {
		width: 92%;
	}

	.passkey_menu p a {
		font-size: 14px;
	}

	.spc_example_openbtn .mt_download_btn_exe .download_icon {
		top: -4px;
	}

	.ipl1em {
		text-indent: 0em;
		padding-left: 0em;
	}
	.mu10{
		margin-bottom: 0px;
	}
	.merit_title{
		margin-bottom: 10px;
	}
	.passkey_lasttext{
		font-size: 14px;
	}
	.passkey_important_text{
		font-size: 14px;
	}
	
}