@charset "utf-8";

/**********************************************
 * header
 * footer
 * common
 ***********************************************/

/**********************************************
 * header
 ***********************************************/
.l-header {
	position: fixed;
	top: 0;
	z-index: 100;
	width: 100%;
}
header {
	background: #fff;
	transition: all 0.3s;
}
header .inner {
	width: auto;
	margin-right: 0;
	margin-left: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 70px;
	padding: 0 0 0 15px;
}
.header-logoImg {
	width: 46px;
}
.header-loginImg {
	width: 88px;
	height: 28px;
}
.header-ctrl > ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.header-ctrl .header-login {
	margin-right: 10px;
	width: 142px;
}
.header-ctrl .btn-login {
	position: relative;
	border-radius: 6px;
	border: 1px solid #000;
	background: #FFC001;
	box-shadow: 4px 4px 0 0 #000;
	padding: 10px 10px 10px 35px;
	font-size: 1.0rem;
	line-height: 1;
	transition: 0.3s;
}
.header-ctrl .btn-login::before {
	position: absolute;
	content: "";
	display: block;
	top: 0;
	bottom: 0;
	left: 10px;
	width: 20px;
	height: 20px;
	margin: auto;
	background: url(../images/ico_login.svg) no-repeat;
	background-size: 100% auto;
}
.header-ctrl .btn-login a[target="_blank"] {
	padding: 0;
	font-size: inherit;
}

.header-ctrl .btn-login a[target="_blank"]::before,
.header-ctrl .btn-login a[target="_blank"]::after {
	content: none;
}


.header-spButtonWrap {
	z-index: 10;
}
.headerSpButton {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	cursor: pointer;
	width: 60px;
	height: 70px;
	color: #fff;
}
.headerSpButton:focus {
	outline: none;
}
.headerSpButton span {
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	width: 18px;
	height: 2px;
	display: block;
	background-color: #666;
	transition: 0.3s;
	transition-property: top, bottom, transform;
}
.headerSpButton span:nth-of-type(1) {
		top: 27px;
}
.headerSpButton span:nth-of-type(2) {
		top: 34px;
}
.headerSpButton span:nth-of-type(3) {
		top: 41px;
}
body.is-spnav-active header .header-menu {
	background: #fef7e2;
}
body.is-spnav-active .headerSpButton span:nth-of-type(1) {
	width: 23px;
	transform: translateY(8px) rotate(-40deg);
}
body.is-spnav-active .headerSpButton span:nth-of-type(2) {
	opacity: 0;
}
body.is-spnav-active .headerSpButton span:nth-of-type(3) {
	width: 23px;
	transform: translateY(-6px) rotate(40deg);
}

/* headerNav
***************************************/
.header-navWrap {
	position: absolute;
	top: 70px;
	right: -100%;
	width: 100%;
	height: 100dvh;
	overflow: auto;
	padding-bottom: 100px;
	background-color: #fef7e2;
	transition: transform 0.3s;
	z-index: 10;
	display: none;
}
body.is-spnav-active .header-navWrap {
	display: block;
	transform: translateX(-100%);
}
.header-global {
	display: none;
}
.headerNav {
	height: 98%;
	overflow: auto !important;
}
.headerNav-list {
	padding: 10px 20px 20px 20px;
}
.headerNav-list + .headerNav-list {
	border-top: solid 4px #fff;
	padding-top: 20px;
}
.headerNav-item {
	font-weight: 700;
}
.headerNav-item > a,
.headerNav-item dt {
	position: relative;
	padding: 20px 0;
	cursor: pointer;
}
.headerNav-item a:hover,
.headerNav-item dt:hover {
	color: #EF8200;
}
.headerNav-item > a {
	display: block;
}
.headerNav-item > a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 7px;
	width: 13px;
	height: 13px;
	margin: auto;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	transform: rotate(45deg);
	z-index: 2;
}
.headerNav-item > a:hover::before {
	background: #EF8200 !important;
}
.headerNav-item > a:hover::after {
	border-color: #EF8200 !important;
}
.headerNav-item dt:hover::before,
.headerNav-item dt:hover::after {
	background: #EF8200 !important;
}

.headerNav-item > a[target="_blank"] {
	display: block;
	padding: 20px 0;
}
.headerNav-item > a[target="_blank"]:before,
.headerNav-item > a[target="_blank"]:after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 2px;
	margin: auto;
	vertical-align: middle;
}
.headerNav-item > a[target="_blank"]:before {
	width: 15px;
	height: 2px;
	background: #666;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.headerNav-item > a[target="_blank"]:after {
	right: 3px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.headerNav-item dt::before,
.headerNav-item dt::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2px;
	width: 17px;
	height: 2px;
	margin: auto;
	background: #666;
}
.headerNav-item dt::after {
	transform: rotate(90deg);
	transition: 0.3s;
	transition-property: top, bottom, transform;
}
.headerNav-item dt.is-active {
	color: #EF8200 !important;
}
.headerNav-item dt.is-active::before {
	background: #EF8200;
}
.headerNav-item dt.is-active::after {
	transform: rotate(0deg);
	background: #EF8200;
}
.headerNav-item dd {
	padding: 5px 16px;
}
.headerNav-item dd li {
	padding: 10px 0;
}
@media (min-width: 768px) {
	.l-header { 
		left: inherit !important;
	}
	header .inner {
		width: 1170px;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	.header-navWrap {
		right: -390px;
		width: 390px;
	}
	body.is-spnav-active .header-navWrap {
		transform: translateX(-390px);
	}
	.header-ctrl .header-login {
		width: auto;
	}
	.header-ctrl .btn-login {
		padding: 5px 10px 5px 35px;
		font-size: clamp(1.0rem, 1.17vw, 1.4rem);
	}
	.header-global {
		display: block;
		height: 100%;
		margin: 0 1.67vw;
		font-size: clamp(1.0rem, 1.33vw, 1.6rem);
	}
	.header-global-list {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
	}
	.header-global-list .header-global-item {
		position: relative;
		align-self: stretch;
	}
	.header-global-list .header-global-item + .header-global-item {
		margin-left: 2.92vw;
	}
	.header-global-list .header-global-item a {
		display: block;
	}
	.header-global-list .header-global-item > a {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		padding-right: 20px;
		cursor: pointer;
	}
	.header-global-list .header-global-item > span {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		padding-right: 20px;
		cursor: pointer;
	}
	.header-global-list .header-global-item > span::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		width: 9px;
		height: 9px;
		margin: auto;
		border-top: 2px solid #666;
		border-right: 2px solid #666;
		transform: translateY(-2px) rotate(135deg);
		box-sizing: border-box;
	}
	.header-global-list .header-global-item a:hover,
	.header-global-list .header-global-item > span:hover {
		color: #EF8200;
	}
	.header-global-list .header-global-item > span:hover::after {
		border-color: #EF8200;
	}
	.header-global__second-level {
		position: absolute;
		top: 62px;
		left: calc((100% - 290px) / 2);
		-webkit-transition: .3s ease;
		transition: .3s ease;
		visibility: hidden;
		opacity: 0;
		width: 290px;
		border-radius: 20px;
		border: 1px solid #000;
		background: #FEF7E2;
		box-shadow: 6px 6px 0 0 #000;
		padding: 10px 0;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.2;
	}
	.header-global__second-level::before {
		content: "";
		position: absolute;
		top: -11px;
		right: 0;
		left: 0;
		width: 0;
		height: 0;
		margin: auto;
		border-top: 0 solid transparent;
		border-right: 12px solid transparent;
		border-left: 12px solid transparent;
		border-bottom: 11px solid #000;
		transform: translateY(-1px);
	}
	.header-global-item:hover > .header-global__second-level {
		visibility: visible;
		opacity: 1;
	}
	.header-global__second-level li a {
		position: relative;
		padding: 10px 25px;
		transition: 0.3s;
	}
	.header-global__second-level li a::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		width: 10px;
		height: 10px;
		margin: auto;
		border-top: 2px solid #666;
		border-right: 2px solid #666;
		transform: rotate(45deg);
	}
	.header-global__second-level li a:hover {
		color: #EF8200;
	}
	.header-global__second-level li a:hover::after {
		border-color: #EF8200;
	}

	.header-global__second-level li a[target="_blank"]:before,
	.header-global__second-level li a[target="_blank"]:after {
		position: absolute;
		content: "";
		top: 0;
		bottom: 0;
		right: 11px;
		margin: auto;
		vertical-align: middle;
	}
	.header-global__second-level li a[target="_blank"]:before {
		width: 15px;
		height: 2px;
		background: #666;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.header-global__second-level li a[target="_blank"]:after {
		right: 12px;
		width: 12px;
		height: 12px;
		border-top: 2px solid #666;
		border-right: 2px solid #666;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}


	.header-ctrl .btn-login:hover {
		background: #EF8200;
		box-shadow: -4px -4px 0 0 #000;
	}
	.header-ctrl .btn-login:hover::before {
		filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(348deg) brightness(103%) contrast(103%);
	}
	.header-ctrl .btn-login:hover a {
		color: #fff;
	}
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
	header .inner { 
		width: 100%;
	}
}
/**********************************************
 * footer
 ***********************************************/
footer {
	padding: 30px 15px 100px 15px;
	font-size: 1.4rem;
	line-height: 2;
	background-color: #fff;
}
footer .inner {
	padding-left: 0;
	padding-right: 0;
}
.footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 0;
	margin-top: 5px;
	font-weight: 500;
}
.footer-navItem {
	position: relative;
	padding: 0 14px;
}
.footer-navItem::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 16px;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border-left: solid 1px #999;
}
.footer-number {
	margin: 15px 0;
	font-size: 1.2rem;
}
footer .qualifications {
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding-bottom: 20px;
}
footer .qualifications .footer-navItem {
	padding: 0;
}
footer .qualifications .footer-navItem::before {
	content: none;
}
footer .qualifications .footer-navItem a {
	position: relative;
	padding: 0 14px;
}
footer .qualifications .footer-navItem a::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 16px;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border-left: solid 1px #999;
}
footer .p-mark {
	margin-top: 15px;
	text-align: right;
}
.icon.-jfsa {
	position: relative;
	padding-left: 25px;
}
.icon.-jfsa::before {
	position: absolute;
	content: "";
	display: block;
	top: 0;
	bottom: 0;
	left: 0;
	width: 20px;
	height: 20px;
	margin: auto;
	background: url(../images/ico_jfsa.svg) no-repeat;
}
.footer-copyright {
	font-size: 1.0rem;
	color: #999;
}

@media (min-width: 768px) {
	footer {
		padding-top: 20px;
	}
	footer .inner {
		width: 1170px;
		margin: auto;
	}
	.footer-navItem:nth-child(4n)::after,
	.footer-navItem:last-child::after {
		content: "";
		position: absolute;
		width: 1px;
		height: 16px;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		border-right: solid 1px #999;
	}
	footer .qualifications {
		flex-direction: column;
		align-self: flex-start;
	}
	footer .qualifications .footer-nav {
		justify-content: flex-end;
	}
	footer .qualifications .p-mark {
		margin-top: 20px;
		text-align: right;
	}
	.footer-copyright {
		text-align: center;
	}
}

.pagetop {
	position: fixed;
	right: 15px;
	bottom: 30px;
	width: 32px;
	height: 32px;
	z-index: 10;
}
.pagetop-link {
	position: relative;
	width: 32px;
	height: 32px;
}
.pagetop-link::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 32px;
	height: 32px;
	background: #000;
	border-radius: 50%;
}
.pagetop-link::after {
	position: absolute;
	content: "";
	top: 6px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 12px;
	height: 12px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(45deg);
}
.pagetop-link:hover::before {
	background: #EF8200;
}



/**********************************************
 * common
 ***********************************************/
body:not(body#top) {
	position: relative;
}
body:not(body#top)::before {
	display: block;
	content: "";
	position: absolute;
	top: -40px;
	left: 0;
	width: 100%;
	height: 131%;
	background: url(../images/bg_main_sp.png) no-repeat center top;
	background-size: 100% auto;
	z-index: 0;
}

.l-content {
	margin: 110px 0 60px;
}
.l-container {
	max-width: 1200px;
}
.l-flex {
	display: flex;
	flex-wrap: wrap;
}
.inner {
	position: relative;
	width: 100%;
	padding: 0 15px;
}
.l-content .inner {
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
}
.l-content .inner.-s {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
section {
	position: relative;
}
section + section {
	margin-top: 60px;
}
section .inner {
	padding: 0 25px;
}

a {
	text-decoration : none;
	display: inline-block;
	color: #000;
	transition: 0.3s;
}
a::before,
a::after {
	transition: 0.3s;
}
a:hover {
	text-decoration : none;
}
a.hover:hover {
	color: #EF8200;
}
a[target="_blank"] {
	position: relative;
	display: inline-block;
	padding: 0 20px 0 0;
	vertical-align: middle;
	font-size: 15px;
}
a[target="_blank"]::before,
a[target="_blank"]::after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	vertical-align: middle;
}
a[target="_blank"]::before {
	width: 15px;
	height: 2px;
	background: #666;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
a[target="_blank"]::after {
	right: 1px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
}

a[href$=".pdf"]::before {
	display: none;
}
a[href$=".pdf"]::after {
	width: 14px;
	height: 14px;
	background: url(../images/ico_file-pdf.svg) no-repeat;
	border: none;
}

img {
	width: auto;
	max-width: 100%;
	height: auto;
}

@media (min-width: 768px) {
	body:not(body#top)::before {
		top: -40px;
		background: url(../images/bg_main_pc.png) no-repeat center top;
	}
	section + section {
		margin-top: 150px;
	}
	.inner {
		padding: 0;
	}
	section .inner {
		padding: 0;
	}
	.important-list {
		flex-direction: row;
	}
	
	a.opacity:hover {
		opacity: 0.7;
	}
	/* a:hover[target="_blank"]:not(.btn-immediately-area a:hover):before {
		background-color: #EF8200 !important;
	} */
	/* a:hover[target="_blank"]:not(.btn-immediately-area a:hover):after {
		border-color: #EF8200 !important;
	} */
	a:hover[href$=".pdf"]:after {
		filter: invert(57%) sepia(95%) saturate(3002%) hue-rotate(7deg) brightness(100%) contrast(101%);
	}
}

em {
	font-weight: 500;
	color: #E10012;
}
.strong {
	color: #E10012;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	background: linear-gradient(transparent 50%, #F9D7C8 50%);
	z-index: 1;
}

.caution {
	color: #E10012;
}
.google {
	font-family: "Noto Sans", sans-serif;
}

/* icon */
.no-icon {
	padding: 0 !important;
}
.no-icon::before,
.no-icon::after {
	content: none !important;
	border: none !important;
}

.icon-accordion {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	width: 20px;
	height: 20px;
	background: #000;
	border-radius: 50%;
	z-index: 1;
}
.icon-accordion::before,
.icon-accordion::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5px;
	width: 10px;
	height: 2px;
	margin: auto;
	background: #fff;
}
.icon-accordion::after {
	transform: rotate(90deg);
	transition: 0.3s;
	transition-property: top, bottom, transform;
}
.is-active .icon-accordion::after {
	transform: rotate(0deg);
}


/* important-notice */
.important-notice {
	padding: 10px 0;
	background-color: #eee;
	font-size: 1.2rem;
	line-height: 1.4;
}
.important-notice .inner {
	max-width: 680px;
}
.important-list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 5px 30px;
}
.important-item {
	position: relative;
	padding-left: 15px;
}
.important-item::before {
	display: block;
	position: absolute;
	content: "";
	top: 0.2em;
	left: 0;
	width: 12px;
	height: 12px;
	background: #E10012;
	border-radius: 50%;
}
.important-item::after {
	display: block;
	position: absolute;
	content: "！";
	top: 0.2em;
	left: 0;
	width: 12px;
	height: 12px;
	font-size: 1.2rem;
	font-weight: 500;
	color: #fff;
	line-height: 1;
	text-align: center;
}

/* btn */
.btn-area {
	text-align: center;
}
.btn {
	position: relative;
	width: 100%;
	max-width: 360px;
	margin: 30px auto 0;
}
.btn span {
	display: block;
	margin-top: 5px;
	font-size: 1.1rem;
	font-weight: 400;
}
.btn a {
	display: block;
	position: relative;
	border: 1px solid #000;
	background: #EF8200;
	padding: 15px 10px 15px 10px;
	border-radius: 30px;
	width: 100%;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	text-align: center;
	box-shadow: 4px 4px 0 0 #000;
}
.btn a::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	width: 32px;
	height: 32px;
	background: #fff;
	border-radius: 50%;
	z-index: 1;
}
.btn a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 12px;
	height: 12px;
	margin: auto;
	border-top: 2px solid #EF8200;
	border-right: 2px solid #EF8200;
	transform: rotate(45deg);
	z-index: 2;
}
/* 即時（赤） */
.btn-immediately-area {
	margin-top: 30px;
	text-align: center;
}
.btn-immediately-area .btn {
	margin: -25px auto 25px auto;
}
.btn-immediately-area .btn a {
	background: #E10012;
	padding: 20px 10px 20px 10px;
}
.btn-immediately-area .btn a::after {
	border-color: #E10012;
}
.btn:not(.btn-immediately-area .btn) + .text-link {
	margin-top: 30px;
}

/* 新規申込は終了しましたボタン：スタイル */
.btn-end-area {
	width: 100%;
	margin: 30px auto 0 auto;
	padding: 20px 0;
	text-align: center;
	color: #fff;
	background: #999;
	border-radius: 30px;
}
@media (min-width: 768px) {
	.btn-area {
		margin: 30px auto 0 auto;
	}
	.btn {
		width: 360px;
		max-width: 360px;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.btn a:hover {
		background: #FFC001;
		box-shadow: -4px -4px 0 0 #000;
		padding: 15px 10px 15px 10px;
		color: #000;
	}
	.btn-immediately-area .btn a:hover {
		background: #FFC001;
		box-shadow: -4px -4px 0 0 #000;
		padding: 20px 10px;
		color: #000;
	}
	.btn-immediately-area .btn a:hover::after {
		border-color: #EF8200;
	}
	.btn-end-area {
		width: 40%;
		margin: 80px auto 0 auto;
	}
	.btn:not(.btn-immediately-area .btn) + .text-link {
		margin-top: 0;
	}

	.btn-immediately-area {
		margin-top: 40px;
	}
	.btn-area .btn,
	.btn-immediately-area .btn {
		width: 470px;
		max-width: 470px;
	}
}

@media (max-width: 360px) {
	.btn {
		max-width: 340px;
	}
}

/* text-link */
.text-link {
	position: relative;
	display: inline-block;
}
.text-link a {
	display: inline-block;
	position: relative;
	padding-right: 25px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.text-link a::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 18px;
	height: 18px;
	background: #000;
	border-radius: 50%;
	z-index: 1;
	transition: .3s;
}
.text-link a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 6px;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	z-index: 2;
}
.text-link a[target="_blank"]::before,
.text-link a[target="_blank"]::after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	vertical-align: middle;
}
.text-link a[target="_blank"]::before {
	width: 15px;
	height: 2px;
	background: #666;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.text-link a[target="_blank"]::after {
	right: 1px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	transform: rotate(0deg);
}
@media (min-width: 768px) {
	.text-link a:hover {
		color: #EF8200;
	}
	.text-link a:hover::before {
		background: #EF8200;
	}
	.text-link a:hover[target="_blank"]::after {
		border-color: #EF8200 !important;
	}
}
/* notes */
p.notes {
	font-size: 1.2rem;
	text-indent: -1em;
	margin-left: 1em;
	text-align: left;
	line-height: 1.5;
}
ul.notes {
	margin-top: 10px;
}
ul.notes li {
	font-size: 1.2rem;
	text-indent: -1em;
	margin-left: 1em;
	text-align: left;
	line-height: 1.5;
}
ol.notes li {
	position: relative;
	counter-increment: num;
	font-size: 1.2rem;
	text-align: left;
	padding-left: 2em;
}
ol.notes li::before {
	content: "※"counter(num)" ";
	position: absolute;
	width: 2em;
	height: 1em;
	top: 0;
	left: 0;
	font-size: 1.2rem;
}
@media (min-width: 768px) {
	p.notes,
	ul.notes li,
	ol.notes li,
	ol.notes li::before {
		font-size: 1.4rem;
	}
}

/* swiper */
.swiper-area {
	position: relative;
	padding: 0 10px;
}
.swiper {
	margin-top: 40px;
}
.swiper-area .swiper-button-prev::before,
.swiper-area .swiper-button-next::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	margin: auto;
	width: 52px;
	height: 52px;
	background: #000;
	border-radius: 50%;
	z-index: 1;
	transition: 0.3s;
}

.swiper-area .swiper-button-prev::before {
	left: -15px;
}
.swiper-area .swiper-button-next::before {
	right: -15px;
}
.swiper-area .swiper-button-prev::after,
.swiper-area .swiper-button-next::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 18px;
	height: 18px;
	margin: auto;
	transform: rotate(45deg);
	z-index: 2;
}
.swiper-area .swiper-button-prev::after {
	left: 5px;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(45deg);
}
.swiper-area .swiper-button-next::after {
	right: 5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

.swiper-area .swiper-button-prev svg,
.swiper-area .swiper-button-next svg,
.swiper-button-disabled {
	display: none;
}
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: -40px;
}
.swiper-pagination-bullet-active {
	background: #EF8200;
}



/* lower common */

/* anchor-link */
.anchor-link {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	height: 100%;
}
.anchor-link li {
	width: calc((100% - 10px) / 2);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
}
.anchor-link li a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 20px;
	height: 100%;
	border: 1px solid #000;
	background: rgba(255,255,255,1);
	border-radius: 10px;
	box-shadow: 2px 2px 0 0 #000;
	min-height: 55px;
}
.anchor-link li a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 20px;
	height: 100%;
	border: 1px solid #000;
	background: #fff;
	border-radius: 10px;
	box-shadow: 2px 2px 0 0 #000;
	min-height: 55px;
}
.anchor-link li a::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	width: 20px;
	height: 20px;
	background: #000;
	border-radius: 50%;
	z-index: 1;
}
.anchor-link li a::after {
	content: "";
	position: absolute;
	top: -3px;
	bottom: 0;
	right: 16px;
	width: 8px;
	height: 8px;
	margin: auto;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	z-index: 2;
}
@media (min-width: 768px) {
	.anchor-link {
		width: 867px;
		margin: 20px auto 0;
	}
	.anchor-link li {
		width: calc((100% - 40px) / 5);
	}
}

/* list */
.list_disc {
	margin-top: 10px;
}
.list_disc li {
	position: relative;
	padding-left: 14px;
	font-size: 1.4rem;
	line-height: 1.7;
}
.list_disc li::after {
	display: block;
	content: '';
	position: absolute;
	top: .7em;
	left: 0.25em;
	width: 3px;
	height: 3px;
	background-color: #000;
	border-radius: 100%;
}

/* table */
.common_table {
	width: 100%;
}
.common_table th,
.common_table td {
	padding: 15px 5px;
	font-size: 1.4rem;
	line-height: 1.7;
}
.common_table th {
	border-bottom: 1px solid #FFC001;
	width: 35%;
	font-weight: 700;
	text-align: right;
}
.common_table td {
	padding: 15px 10px;
	border-bottom: 1px dashed #ccc;
	font-weight: 500;
	text-align: left;
}
@media (min-width: 768px) {
	.common_table th {
		border-bottom: 2px solid #FFC001;
	}
	.common_table td {
		border-bottom: 2px dashed #ccc;
	}
}

/* tab */
.tab_btn_wrap {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.tab_panel:not(.is-active) {
	display: none;
}
.tab_item button {
	width: 160px;
	padding: 25px 10px 15px 10px;
	border-radius: 20px 20px 0 0;
	border-top: 1px solid rgba(0,0,0,0.5);
	border-right: 1px solid rgba(0,0,0,0.5);
	border-left: 1px solid rgba(0,0,0,0.5);
	background: rgba(255,255,255,0.5);
	box-shadow: 6px 6px 0 0 rgba(0,0,0,0.5);
	text-align: center;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	outline: none;
}
.tab_item button.is-active {
	border-top: 1px solid rgba(0,0,0,1);
	border-right: 1px solid rgba(0,0,0,1);
	border-left: 1px solid rgba(0,0,0,1);
	background: rgba(255,255,255,1);
	box-shadow: 6px 6px 0 0 rgba(0,0,0,1);
}
.tab_item span {
	display: block;
	font-weight: 700;
}
.tab_item .red {
	font-size: 1.8rem;
	color: #E10012;
}
.tab_item .org {
	font-size: 1.8rem;
	color: #EF8200;
}
.tab_panel {
	position: relative;
	padding: 20px 20px 30px 20px;
	border-radius: 0 0 20px 20px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	background: #fff;
	box-shadow: 6px 6px 0 0 #000;
	z-index: 1;
}

/* title */
.lower-ttl-area {
	text-align: center;
	margin-bottom: 20px;
	max-width: 340px;
	margin-left: auto;
	margin-right: auto;
}
.lower-title-mark {
	margin-top: 20px;
	text-align: center;
}
.lower-title-mark p {
	display: inline-block;
	margin-bottom: 15px;
	position: relative;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.3;
}
.lower-title-mark p::before {
	position: absolute;
	content: "";
	display: block;
	bottom: -10px;
	left: -55px;
	width: 54px;
	height: 55px;
	margin: auto;
	background: url(../images/ico_ttl_left.png) no-repeat;
	background-size: 100% auto;
}
.lower-title-mark p::after {
	position: absolute;
	content: "";
	display: block;
	bottom: -10px;
	right: -55px;
	width: 54px;
	height: 55px;
	margin: auto;
	background: url(../images/ico_ttl_right.png) no-repeat;
	background-size: 100% auto;
}
.lower-ttl-area .lower-ttl {
	width: 321px;
	margin: auto;
}
.frame-title {
	margin: 40px 0 20px;
	position: relative;
	background-color: #000;
	padding: 10px;
	font-weight: 700;
	color: #fff;
	line-height: 1.4;
	text-align: center;
	z-index: 10;
	border-radius: 3px;
}
.frame-title:not(.frame .frame-title) {
	margin: 40px 20px 0;
}
.frame-title::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -15px;
	left: 0;
	right: 12px;
	width: 27px;
	margin: auto;
	border: 8px solid transparent;
	border-right: 18px solid #000;
	-webkit-transform: rotate(-65deg);
	transform: rotate(-65deg);
	z-index: -1;
}
.title-borderline {
	padding: 14px 0;
	margin-bottom: 15px;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
	border-bottom: solid 3px #FFC001;
}

.borderline-thick {
	margin-top: 50px;
}

@media (min-width: 768px) {
	.lower-ttl-area {
		margin-bottom: 60px;
		order: 2;
		max-width: initial;
		max-width: auto;
	}
	.mv-area .lower-ttl-area {
		margin-bottom: 0;
	}
	.lower-ttl-area .lower-ttl {
		width: 100%;
	}
}

.frame {
	border-radius: 20px;
	border: 1px solid #000;
	background: #fff;
	box-shadow: 6px 6px 0 0 #000;
	text-align: center;
	margin-bottom: 6px;
	padding: 20px 20px 30px 20px;
}
.frame.-aco {
	padding-bottom: 0 !important;
}
.balloon {
	margin: 0 auto 10px auto;
	text-align: center;
}
.balloon p {
	position: relative;
	display: inline-block;
	margin-bottom: 11px;
	padding: 2px 20px;
	border: 1px solid #231815;
	border-radius: 9999px;
	background-color: #fff;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	z-index: 1;
}
.balloon p::before {
	content: "";
	position: absolute;
	bottom: -11px;
	left: 50%;
	margin-left: -6.5px;
	border-style: solid;
	border-width: 11px 6.5px 0 6.5px;
	border-color: #231815 transparent transparent;
}
.balloon p::after {
	content: "";
	position: absolute;
	bottom: -9px;
	left: 50%;
	margin-left: -5.3px;
	border-style: solid;
	border-width: 9px 5.3px 0 5.3px;
	border-color: #ffffff transparent transparent;
}

.balloon-cap figcaption {
	position: relative;
	background-color: #000;
	padding: 5px 10px;
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	z-index: 10;
	margin-bottom: 30px;
	border-radius: 3px;
}
.balloon-cap figcaption::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -15px;
	left: 0;
	right: 12px;
	width: 27px;
	margin: auto;
	border: 8px solid transparent;
	border-right: 18px solid #000;
	-webkit-transform: rotate(-65deg);
	transform: rotate(-65deg);
	z-index: -1;
}

@media (min-width: 768px) {
	.frame {
		padding: 40px 50px 50px;
	}
	.frame-title:not(.frame .frame-title) {
		margin: 50px auto 0;
	}
	.tab_panel {
		padding: 50px;
	}
	.tab_item button {
		width: 560px;
	}
	.tab_item span {
		display: inline-block;
	}
}

/* bnr */
.benefit-bnr {
	margin-top: 60px;
	text-align: center;
}

/* frame内 */
section .frame-title + .frame {
	margin-top: -20px;
	padding-top: 50px;
}
.frame .ex-txt {
	color: #666;
	font-weight: 500;
	text-align: center;
}
.frame .frame-txt {
	margin-top: 20px;
	text-align: left;
}
.frame .block,
.tab_panel .block {
	margin-right: -20px;
	margin-left: -20px;
	padding: 0 20px;
}
.frame .block + .block {
	margin-top: 30px;
	border-top: solid 1px #000;
}
.frame .card-text-bold {
	margin: 20px 0 10px 0;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}
.frame .tax {
	font-size: 1.0rem;
}
.frame .btn-area {
	margin: 30px auto 0 auto;
}

.frame .btn-area.-wide {
	margin: 30px -30px 0 -30px;
}
.frame .circle,
.tab_panel .circle {
	position: relative;
	width: 55px;
	height: 55px;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #000;
}
.frame .circle .circle_num,
.tab_panel .circle .circle_num {
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 55px;
	font-family: Akshar;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	text-align: center;
}
.frame .circle .number,
.tab_panel .circle .number {
	display: block;
	font-size: 2.6rem;
}
@media (min-width: 768px) {
	.frame .btn-area.-wide {
		margin: 30px 0 0 0;
	}
	.frame .btn-area.pos-r {
		margin: 30px 0 0 auto;
		text-align: right;
	}
	.frame .block,
	.tab_panel .block {
		margin-right: -50px;
		margin-left: -50px;
		padding: 0 50px;
	}
	.frame .block + .block {
		margin-top: 50px;
		border-top: solid 1px #000;
	}
	.frame-title {
		width: 470px;
		margin-left: auto;
		margin-right: auto;
	}
	.title-borderline {
		margin-bottom: 15px;
	}
	section .frame-title + .frame {
		margin-top: -20px;
		padding-top: 50px;
	}
	.frame .ex-txt {
		font-size: 2.0rem;
	}
}


/* アコーディオン中 */
.details-wrap {
	margin: 25px -20px 0;
	text-align: left;
	border-radius: 0 0 20px 20px;
	overflow: hidden;
}
.details-wrap + .details-wrap {
	margin-top: 2px;
}
.details-title {
	position: relative;
	background: #FFC001;
	padding: 20px 30px 20px 30px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}
.details-body {
	padding: 20px 20px 30px 20px;
}
.details-body .u-scroll img {
	max-width: 161%;
}

@media (min-width: 768px) {
	.details-wrap {
		margin: 50px -50px 0;
		text-align: left;
	}
	.details-body {
		padding: 50px;
	}
	.details-body .u-scroll img {
		max-width: 100%;
	}
}

