@charset "UTF-8";

/*============================
　css ハック
============================*/
html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body {
	color: var(--contents_default_font_color);
	font-family: "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	font-size: var(--contents_default_fontSize);
	font-weight: normal;
	position: relative;
	z-index: 1;
}

img {
	height: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: auto;
}

a:hover {
	filter: brightness(110%);
	transition: .3s;
}

.look_pc {
	display: block !important;
}

.look_sp {
	display: none !important;
}

@media screen and (max-width: 767px) {
	.look_pc {
		display: none !important;
	}

	.look_sp {
		display: block !important;
	}

	_::-webkit-full-page-media,
	_:future,
	:root input,
	_::-webkit-full-page-media,
	_:future,
	:root select,
	_::-webkit-full-page-media,
	_:future,
	:root textarea {
		color: initial !important;
		font-size: initial !important;
	}
}

:root {
	color-scheme: light;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*============================
共通値設定
============================*/

:root {
	/*  */
	--contents_default_color: #0073c8;
	--contents_default_color_sub1: #d9fafd;
	--contents_default_color_sub2: #00c8d2;
	/*  */
	--contents_default_fontSize: 1.8rem;
	--contents_default_fontSize_L: 2.8rem;
	--contents_default_fontSize_LL: 3.6rem;
	--contents_default_fontSize_M: 2rem;
	--contents_default_fontSize_MM: 2.2rem;
	--contents_default_fontSize_S: 1.4rem;
	--contents_default_fontSize_SS: 1.2rem;
	--contents_default_font_color: #7d7d7d;
	/*  */
	--contents_default_margin_n: 5rem;
	--contents_default_wide: 102rem;
	--contents_default_wide_L: 194rem;
	--contents_default_wide_N: 180rem;
	/*  */
}

@media screen and (max-width: 767px) {
	:root {
		--contents_default_fontSize: 1.6rem;
		--contents_default_fontSize_L: 1.75rem;
		--contents_default_fontSize_LL: 2.1rem;
		--contents_default_fontSize_M: 2rem;
		--contents_default_fontSize_MM: 2.2rem;
		--contents_default_fontSize_S: 1.35rem;
		--contents_default_fontSize_SS: 1.2rem;
	}
}

/* wrapper */
.wrapper {
	margin: 0 auto;
	max-width: var(--contents_default_wide);
	padding: 4rem 1rem;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.wrapper {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

/*  */

.updown {
	animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

@keyframes floating-y {
	0% {
		transform: translateY(-2%);
	}

	100% {
		transform: translateY(2%);
	}
}

/*============================
　グローバルメニュー
============================*/

/* ===== pc表示時 ===== */

#menu-btn-check {
	display: none;
}

/* ハンバーガーボタン・開閉動作 */
.menu-btn {
	align-items: center;
	background: rgb(0, 200, 210);
	background: linear-gradient(135deg, rgba(0, 200, 210, 1) 0%, rgba(0, 157, 194, 1) 80%);
	border-radius: 50%;
	box-shadow: 0 0 20px 0 rgba(0, 94, 253, .3);
	display: flex;
	height: 8rem;
	justify-content: center;
	position: absolute;
	right: 3rem;
	top: 2rem;
	transition: all .4s;
	width: 8rem;
	z-index: 9004;
}

.menu-btn:hover {
	filter: brightness(120%);
}

.menu-btn span,
.menu-btn span::before,
.menu-btn span::after {
	background-color: #fff;
	border-radius: 3px;
	content: "";
	display: block;
	height: .2rem;
	position: absolute;
	width: 4rem;
}

.menu-btn span::before {
	bottom: .8rem;
}

.menu-btn span::after {
	top: .8rem;
}

#menu-btn-check:checked~.menu-btn span {
	background-color: rgba(255, 255, 255, 0);
}

#menu-btn-check:checked~.menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
}

#menu-btn-check:checked~.menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}

#menu-btn-check:checked~.menu-content {
	bottom: 0;
}

/* 本体 */
.menu-content {
	bottom: 100%;
	display: flex;
	flex-direction: row-reverse;
	height: 100%;
	justify-content: center;
	left: 0;
	overflow: auto;
	position: fixed;
	transition: all .5s cubic-bezier(1, .01, .79, .86);
	width: 100%;
	z-index: 9001;
}

.menu-content>div {
	align-content: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-color: rgb(69, 131, 255) #e5f2fa;
	scrollbar-width: thin;
	width: 50%;
}

.menu-content>div:nth-of-type(1) {
	background: #0073c8;
	background: linear-gradient(135deg, #0073c8 0%, #0051b0 100%);
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 0 2rem;
}

.menu-content>div:nth-of-type(2) {
	background-color: var(--contents_default_color_sub1);
	overflow: hidden;
}

.menu-content>div:nth-of-type(2)::before {
	background-image: url(../image/backimg_menu.webp);
	background-position: center right;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	height: 100%;
	width: 100%;
}

.menu-content menu {
	margin: 0 auto 4rem;
	text-align: center;
	width: 80%;
}

.menu-content menu>li {
	display: block;
	list-style: none;
	width: 100%;
}

.menu-content menu>li a {
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	font-size: var(--contents_default_fontSize_L);
	line-height: 1;
	padding: 1.5rem 1rem;
	position: relative;
	text-decoration: none;
}

.menu-content menu>li a:hover {
	opacity: .7;
}

.menu-content .sns_link {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-top: 2vw;
}

.menu-content .sns_link li {
	margin: 1rem 1rem;
}

.menu-content .sns_link li a>img {
	max-width: 4rem;
}

/*  */
.box_header {
	margin: 0 auto;
	max-width: var(--contents_default_wide_L);
	position: relative;
	width: 100%;
	z-index: 9000;
}

.box_header>.header_inner {
	align-items: center;
	background-color: #fff;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	margin-left: -50vw;
	margin-right: -50vw;
	min-height: 8rem;
	padding-bottom: 2rem;
	padding-left: 50vw;
	padding-right: 50vw;
	padding-top: 2rem;
}

.box_header>.header_inner .logo {
	align-items: center;
	background-color: #fff;
	border-radius: 0 0 8px 0;
	display: flex;
	justify-content: center;
	left: 0;
	margin-left: -40vw;
	padding-left: 40vw;
	position: absolute;
	top: 0;
}

.box_header>.header_inner .logo>img {
	margin: 1rem;
	margin: 3rem 4rem;
	max-width: 12rem;
	transition: all 400ms;
	width: 100%;
	z-index: 9999;
	position: relative;
}

.box_header>.header_inner.menu_open .logo>img {
	filter: brightness(0) invert(1);
	transition: all 600ms;
}

.box_header>.header_inner .cap {
	font-size: var(--contents_default_fontSize_S);
	padding-left: 22rem;
	padding-right: 2rem;
}

.button.style02 a {
	background: initial;
	border: 1px solid #fff;
	color: #fff;
}

.button.style02 a span {
	color: #fff;
}

.button.style02 a::after {
	background-color: #fff;
	color: var(--contents_default_color);
	height: 3.5rem;
	width: 3.5rem;
}

.button.style02 a:hover {
	background-color: #fff;
}

.button.style02 a:hover::after {
	background-color: var(--contents_default_color);
	background-image: url(../image/icon_arrow_w.png);
	color: #fff;
}

.button.style02 a:hover span {
	color: var(--contents_default_color);
}

@media screen and (max-width: 767px) {
	.menu-content {
		flex-direction: column;
		flex-wrap: nowrap;
		height: 100lvh;
	}

	.menu-content>div {
		display: initial;
		width: 100%;
	}

	.menu-content>div:nth-of-type(1) {
		height: 72vh;
		padding: 13lvh 2rem 1.5vh;
		/* justify-content: flex-end; */
	}

	.menu-content>div:nth-of-type(2) {
		background-position: center center;
		height: 28vh;
	}

	.menu-btn {
		height: 5.5rem;
		right: 1rem;
		top: 1rem;
		width: 5.5rem;
	}

	.menu-btn span,
	.menu-btn span::before,
	.menu-btn span::after {
		border-radius: 3px;
		width: 2rem;
	}

	.menu-content menu {
		display: flex;
		flex-direction: column;
		height: 100%;
		justify-content: space-evenly;
		margin: 0 auto 1rem;
	}

	.menu-content menu>li a {
		font-size: 1.5rem;
		line-height: 1;
		padding: 1.5vh 0;
	}

	.box_header>.header_inner .logo {
		margin-left: 0;
		padding-left: 0;
	}

	.box_header>.header_inner .logo>img {
		margin: 2rem;
		max-width: 5.5rem;
	}

	.box_header>.header_inner {
		margin-left: 0;
		margin-right: 0;
		min-height: initial;
		padding: 0;
	}

	.button.style02 {
		margin-top: 0;
	}

	.button.style02 a {
		background: initial;
		border: 1px solid #fff;
		color: #fff;
		min-height: 5rem;
		padding: 0 .5rem 0 2rem;
	}

	.button.style02 a span {
		font-size: 1.5rem;
		font-weight: 500;
	}

	/* .menu-content .sns_link li {
margin: 3vh 1rem 1vh;
} */
}

#menu-btn-check:checked~.menu-content>div:nth-of-type(2)::before {
	animation: zoom 16s 1;
	animation-fill-mode: forwards;
}

@media screen and (max-width: 767px) {
	#menu-btn-check:checked~.menu-content>div:nth-of-type(2)::before {
		animation: initial;
		animation-fill-mode: initial;
	}

	.menu-content>div:nth-of-type(2)::before {
		background-position: top -20rem right;
	}
}

@keyframes zoom {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.3);
	}
}


body {
	position: relative;
}

/* site header */
body>header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 51;
}

body>header>.wrapper {
	background-color: initial;
	margin: auto;
	overflow: initial;
	padding: 0;
}

/* ===== box_ptopcap ===== */
.button {
	text-align: center;
	width: 100%;
}

.button a {
	align-items: center;
	border-radius: 12rem;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 42rem;
	min-height: 8rem;
	padding: .5rem 2rem .5rem 2.5rem;
	position: relative;
	text-decoration: none;
	width: 100%;
}

.button a span {
	font-size: var(--contents_default_fontSize_M);
	letter-spacing: -.2rem;
	line-height: 1;
	text-align: center;
	width: calc(100% - 4.5rem);
}

.button a::after {
	background-image: url(../image/icon_arrow.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 60%;
	border-radius: 50%;
	content: "";
	height: 4rem;
	transition: all .2s;
	width: 4rem;
}

.button a:hover {
	filter: brightness(121%);
}

.button a:hover::after {
	margin-right: -.3rem;
	transition: all .3s;
}

/*  */
.button.style01 a {
	background: linear-gradient(to right, #0051b0 0%, #0073c8 100%);
}

.button.style01 a span {
	color: #fff;
}

.button.style01 a::after {
	background-color: #fff;
	color: var(--contents_default_color);
}

@media screen and (max-width: 767px) {
	.button a {
		max-width: 32rem;
		min-height: 7rem;
		padding: .3rem 1.5rem .3rem 2rem;
	}

	.button a span {
		font-size: var(--contents_default_fontSize_L);
	}

}


/*============================
#js_pagetop
============================*/
.pagetop_posision {
	position: relative;
}

#js_pagetop {
	bottom: 10px;
	display: none;
	opacity: 0;
	position: fixed;
	right: 3.6vw;
	transition: all 600ms;
	z-index: 50;
}

#js_pagetop.fade {
	animation: fadeIn .4s ease-in 0s forwards;
	display: block;
	opacity: 1;
}

@keyframes fadeIn {
	0% {
		display: none;
		opacity: 0;
	}

	1% {
		display: block;
		opacity: 0;
	}

	100% {
		display: block;
		opacity: 1;
	}
}

#js_pagetop a {
	display: block;
	filter: drop-shadow(0px 0px 4px rgba(255, 255, 255, .4));
	width: 12rem;
}

@media screen and (max-width: 767px) {
	.pagetop_posision {
		margin-bottom: -26vw;
		margin-top: 26vw;
	}

	#js_pagetop {
		bottom: 5px;
		margin-bottom: 8rem;
		margin-bottom: 26vw;
		right: 2vw;
	}

	#js_pagetop a {
		height: auto;
		width: 16vw;
	}

	#js_pagetop a>i {
		font-size: var(--contents_default_fontSize_M);
	}
}


/*============================
#footer
============================*/
body>footer {
	z-index: 49;
	position: relative;
	padding-bottom: 19rem;
}

body>footer .topimg {
	width: 100%;
}

body>footer>.footer_inner {
	background-color: var(--contents_default_color);
	padding: 0 2rem 6rem;
	margin-top: -1px;
}

body>footer>.footer_inner .wrapper {
	align-items: center;
	background-color: initial;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	margin: auto;
	padding: 0;
	width: initial;
}

body>footer>.footer_inner .wrapper header h2 {
	margin-bottom: 2rem;
}

body>footer>.footer_inner .wrapper header h2>img {
	max-width: 32rem;
	width: 100%;
}

body>footer>.footer_inner .wrapper>p {
	color: #fff;
}

body>footer>.footer_inner .wrapper aside {
	background-color: #fff;
	border-radius: 20px;
	color: var(--contents_default_color);
	display: block;
	font-weight: 900;
	margin-top: 3rem;
	padding: 4rem 3rem 3rem;
}

body>footer>.footer_inner .wrapper aside .tel {
	margin-top: 0;
}

body>footer>.footer_inner .wrapper aside .tel img {
	max-width: 42rem;
	width: 100%;
}

body>footer>.footer_inner .wrapper aside .button.style03 {
	margin-top: 2.5rem;
}

body>footer>.footer_inner .wrapper aside .button.style03 a {
	background: linear-gradient(to right, #008be7 0%, #003c99 100%);
}

body>footer>.footer_inner .wrapper aside .button.style03 a span {
	color: #fff;
	letter-spacing: 0;
}

body>footer>.footer_inner .wrapper aside .button.style03 a::after {
	background-color: #fff;
	color: var(--contents_default_color);
	height: 3.5rem;
	width: 3.5rem;
}

@media (min-width: 757px) {
	body>footer>.footer_inner .wrapper aside .tel a[href*="tel:"] {
		cursor: default;
		pointer-events: none;
		text-decoration: none;
	}
}

body>footer>.footer_inner .wrapper aside p {
	line-height: 1.6;
	margin-top: 1rem;
}

body>footer>small img {
	margin-bottom: 5rem;
	margin-top: 5rem;
	max-width: 10rem;
	width: 100%;
}

@media screen and (max-width: 767px) {
	body>footer {
		padding-bottom: 25.7vw;
	}

	body>footer>.footer_inner {
		padding: 0 1rem 6rem;
	}

	body>footer>.footer_inner .wrapper>p {
		font-size: var(--contents_default_fontSize_S);
	}

	body>footer>.footer_inner .wrapper aside {
		padding: 3rem 2.5rem;
	}

	body>footer>.footer_inner .wrapper aside p {
		font-size: 1.4rem;
	}

	body>footer>.footer_inner .wrapper aside .tel .js-tel {
		font-size: 3rem;
	}
}

.footerMain {
	align-items: center;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	gap: 5rem;
	justify-content: center;
	margin: 3rem auto 2rem;
}

.footerMain_logo {
	max-width: 34.6rem;
	width: 100%;
}

.footerMain_text01 {
	font-size: 1.4rem;
}

.footerMain_text02 {
	font-size: 1.4rem;
	margin-bottom: 1rem;
}

.footerMain .footerMain_main .footerMain_text02 .tel a {
	color: var(--contents_default_color);
	font-size: 1.6rem;
	font-weight: 900;
	text-decoration: none;
}

.footerCopy {
	font-size: 1.2rem;
	text-align: center;
}

.footerCopy {
	margin-bottom: 1rem;
}

@media only screen and (max-width: 767px) {
	.footerMain {
		flex-direction: column;
		gap: 0;
		margin: 6rem auto 5rem;
	}

	.footerMain_main {
		margin-top: 0;
		text-align: center;
	}

	.footerMain_text01 {
		display: inline-block;
		margin-bottom: .5rem;
		margin-left: auto;
		margin-right: auto;
	}

	.footerMain_logo {
		margin-bottom: 3rem;
		text-align: center;
		width: 100%;
	}

	.footerMain_logo img {
		max-width: 14rem;
		width: 100%;
	}
}

@media (min-width: 768px) {
	.footerMain .footerMain_main .footerMain_text02 .tel a[href*="tel:"] {
		cursor: default;
		pointer-events: none;
		text-decoration: none;
	}
}

/* ===== js_inquiry ===== */
.inquiry_posision {
	position: relative;
	z-index: 60;
}

#js_inquiry {
	bottom: 0;
	display: none;
	opacity: 0;
	position: fixed;
	text-align: center;
	transition: all 600ms;
	width: 100%;
	background-color: #fff;
	z-index: 49;
}

#js_inquiry .btn_apply {
	display: inline-block;
	width: 100%;
	max-width: 75rem;
	padding-left: 1.8rem;
}

#js_inquiry .btn_apply a {
	display: block;
}

#js_inquiry .btn_apply a img {
	max-width: 63.5rem;
}

#js_inquiry.fade {
	animation: fadeIn .4s ease-in 0s forwards;
	display: block;
	opacity: 1;
}

@media screen and (max-width: 767px) {
	#js_inquiry .btn_apply {
		padding: .8% 6.4% .4% 8.9333333%;
	}

	#js_inquiry .btn_apply a img {
		max-width: 100%;
	}
}

/*============================
#contents
============================*/
#contents {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}

#contents img {
	width: 100%;
}

#contents .btn_apply {
	padding: .8% 6.4% .4% 8.9333333%;
}

#contents .btn_apply a {
	display: block;
}

#contents .btn_apply img {
	animation: anime_skew 2.3s linear infinite;
}

@keyframes anime_skew {
	0% {
		transform: skew(0deg, 0deg);
	}

	5% {
		transform: skew(2deg, 2.2deg);
	}

	10% {
		transform: skew(-1deg, -1deg);
	}

	15% {
		transform: skew(0.5deg, 1.2deg);
	}

	20% {
		transform: skew(-2deg, -1.5deg);
	}

	25% {
		transform: skew(0.9deg, 0.9deg);
	}

	30% {
		transform: skew(-0.6deg, -0.6deg);
	}

	35% {
		transform: skew(0.3deg, 0.3deg);
	}

	40% {
		transform: skew(-0.2deg, -0.2deg);
	}

	45% {
		transform: skew(0.1deg, 0.1deg);
	}

	50% {
		transform: skew(0deg, 0deg);
	}
}

@media screen and (max-width: 767px) {
	#contents {
		padding-bottom: 18vw;
	}
}

/* ===== #kv ===== */
#kv .kv_wrap {
	position: relative;
}

#kv .kv_wrap .link {
	display: block;
	height: 5rem;
	border-radius: 100vh;
	position: absolute;
	background-color: rgba(255, 255, 255, 0);
	transition: .3s;
}

#kv .kv_wrap .link._01 {
	width: 33.6rem;
	bottom: 44.5rem;
	left: 12.5rem;
}

#kv .kv_wrap .link._02 {
	width: 40.6rem;
	bottom: 9.3rem;
	right: 9.8rem;
}

#kv .kv_wrap .link:hover {
	filter: none;
	background-color: rgba(255, 255, 255, .3);
}

@media screen and (max-width: 750px) {
	#kv .kv_wrap .link {
		height: 6.6666vw;
	}

	#kv .kv_wrap .link._01 {
		width: 44.8vw;
		bottom: 59.5vw;
		left: 16.6666vw;
	}

	#kv .kv_wrap .link._02 {
		width: 54.1333vw;
		bottom: 12.5vw;
		right: 13.0666vw;
	}
}

/* ===== #sec01 ===== */
#sec01 .slider {
	padding: 0 6.4% 30px;
}

#sec01 .slider .slick-arrow {
	width: 1.8rem;
	height: 2.8rem;
	position: absolute;
	top: calc(50% - 2rem);
}

#sec01 .slider .slick-arrow::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(../image/icon_slide_arrow01.png) no-repeat center / contain;
}

#sec01 .slider .slick-next {
	right: 3.33%;
}

#sec01 .slider .slick-prev {
	left: 3.33%;
}

#sec01 .slider .slick-prev::before {
	transform: scale(-1, 1);
}

@media screen and (max-width: 750px) {
	#sec01 .slider {
		padding: 0 6.4% 4vw;
	}

	#sec01 .slider .slick-arrow {
		width: 2.4vw;
		height: 3.7333vw;
		top: calc(50% - 3vw);
	}
}

/* ===== #sec03 ===== */
#sec03 .slider {
	padding: 0 15.6%;
}

#sec03 .slider .img {
	border-radius: 1.5rem;
	overflow: hidden;
}

#sec03 .slider .slick-arrow {
	width: 5.4rem;
	height: 5.4rem;
	position: absolute;
	top: 50%;
	box-shadow: .7rem .7rem 1rem rgba(0, 0, 0, .15);
	border-radius: 50%;
}

#sec03 .slider .slick-arrow::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(../image/icon_slide_arrow02.png) no-repeat center / contain;
}

#sec03 .slider .slick-next {
	right: 7%;
}

#sec03 .slider .slick-prev {
	left: 7%;
}

#sec03 .slider .slick-prev::before {
	transform: scale(-1, 1);
}

@media screen and (max-width: 750px) {
	#sec03 .slider .img {
		border-radius: 2vw;
	}

	#sec03 .slider .slick-arrow {
		width: 7.2vw;
		height: 7.2vw;
		box-shadow: 1vw 1vw 1.333vw rgba(0, 0, 0, .15);
	}

	#sec03 .slider .slick-next {
		right: 5vw;
	}

	#sec03 .slider .slick-prev {
		left: 5vw;
	}
}

/* ===== slider ===== */
.slider {
	position: relative;
	display: none;
	margin-bottom: 0 !important;
	font-size: 0;
}

.slider.slick-initialized {
	display: block;
}

.slider .slick-arrow {
	z-index: 1;
}

.slider .slick-arrow::before {
	opacity: 1;
}

.slider .slick-slide {
	margin: 0;
}

.slider .slick-slide img {
	height: auto;
	max-width: 100%;
	width: 100%;
}

.slider .slick-dots {
	font-size: 0;
	left: 0;
	bottom: 0;
}

.slider .slick-dots li {
	width: 1.1rem;
	height: 1.1rem;
	margin: 0 .7rem;
}

.slider .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
}

.slider .slick-dots li button::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #7D7D7D;
	border-radius: 50%;
	opacity: 1;
}

.slider .slick-dots li.slick-active button::before {
	background-color: #0073C8;
}

@media screen and (max-width: 750px) {
	.slider .slick-dots li {
		width: 1.4666vw;
		height: 1.4666vw;
		margin: 0 .9333vw;
	}
}

/* ===== accordion ===== */
.accordion {
	padding: 0 22px 0 23px;
	margin: 0 auto 10rem;
	text-align: left;
}

.toggle {
	display: none;
}

.accordion label {
	align-items: center;
	background-color: #efefef;
	border-radius: 12px;
	box-sizing: content-box;
	cursor: pointer;
	display: flex;
	font-size: var(--contents_default_fontSize_MM);
	font-weight: 900;
	height: 7rem;
	line-height: 1.2;
	margin-top: 2rem;
	overflow: hidden;
	padding-right: 6rem;
	position: relative;
}

.accordion label::before {
	background-color: var(--contents_default_color_sub2);
	background-image: url(../image/icon_q.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 34%;
	content: "";
	flex-shrink: 0;
	height: 100%;
	margin-right: 2rem;
	width: 7rem;
}

.accordion label:nth-of-type(1) {
	margin-top: 0;
}

.accordion div {
	align-items: flex-start;
	display: flex;
	font-size: var(--contents_default_fontSize_MM);
	font-weight: 900;
	letter-spacing: -0.025em;
	list-style: none;
	margin: 0;
}

.accordion div::before {
	background-image: url(../image/icon_a.png);
	background-position: .3rem center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	flex-shrink: 0;
	height: 2.8rem;
	margin-top: 2.6rem;
	width: 5rem;
}

.accordion div p {
	padding-bottom: 2rem;
	padding-top: 2rem;
	padding-right: 2rem;
}

.toggle+label .ico {
	width: 2.2rem;
	height: 2.2rem;
	display: flex;
	align-items: center;
	position: absolute;
	right: 2rem;
	top: calc(50% - 1.1rem);
}

.toggle+label .ico::before,
.toggle+label .ico::after {
	content: "";
	width: 2.2rem;
	height: .2rem;
	background-color: #00DCF0;
	border-radius: 1px;
	position: absolute;
}

.toggle+label .ico::after {
	transform: rotate(90deg);
	transition: .3s;
}

.toggle:checked+label .ico::after {
	transform: rotate(180deg);
}

.toggle+label+div {
	max-height: 0;
	overflow: hidden;
	transition: all .3s ease;
}

.toggle:checked+label+div {
	max-height: 20rem;
	transition: all .5s ease-in;
}

@media screen and (max-width: 750px) {
	.accordion {
		margin-bottom: 4rem;
	}

	.accordion label {
		font-size: 1.6rem;
		height: 7.5rem;
		padding-right: 5rem;
	}

	.accordion label::before {
		width: 5rem;
	}

	.accordion div {
		font-size: 1.4rem;
	}

	.accordion div::before {
		width: 4rem;
		height: 2.2rem;
		margin-top: 2.4rem;
	}

	.toggle+label .ico {
		width: 1.8rem;
		height: 1.8rem;
		right: 1.3rem;
		top: calc(50% - 1.1rem);
	}

	.toggle+label .ico::before,
	.toggle+label .ico::after {
		width: 1.8rem;
		height: .2rem;
	}

	.toggle+label::after {
		right: 0;
	}

	.toggle:checked+label+p {
		max-height: 30rem;
	}
}