@charset "utf-8";

.contents p {
	line-height:1.85;
}

/* ============================================= page contact */
.contact_top p {
	margin-top:24px;
}
.contact_top div {
	text-align:center;
}
.tel_contact_box {
	width:576px;
	max-width:90%;
	margin:auto;
	background:#f5f5f5;
	padding:24px;
	text-align:center;
}
.tel_contact_box p.title {
	font-size:2rem;
}
.tel_contact_box .tel_number {
	padding:10px 0
}
.tel_contact_box .tel_number a {
	color:var(--color-main);
	text-decoration:none;
}
.tel_contact_box .tel_number a span.number {
	font-size:2.5rem;
	font-weight:700;
	background:url(../imgs/contact/icon_tel.png) no-repeat left center;
	background-size:3.3rem;
	padding-left:4.3rem;
}
.tel_contact_box .tel_number a span.head {
	font-size:1.6rem;
}

/* ------------------------------------- for pc */
@media ( min-width : 768px ) {
	.tel_contact_box .tel_number a {
		pointer-events:none;
	}
}
/* ------------------------------------- for sp */
@media ( max-width : 767px ) {
	.tel_contact_box {
		min-width:100%;
	}
	.tel_contact_box .tel_number {
		padding:15px 0
	}
	.tel_contact_box .tel_number a span.head {
		font-size:1.6rem;
	}
}


/* ============================================= link btn */
.page_link_btn {
	padding:0.7rem 1.4rem;
	display:inline-block;
	color:#4d4d4d;
	text-decoration:none;
	font-size:1.4rem;
	line-height:140%;
	border:1px solid #4d4d4d;
	border-radius:7px;
}
.page_link_btn span {
	position:relative;
	padding-right:1.7rem;
	display:inline-block;
}
.page_link_btn span::before {
	content: "";
	display: block;
	position: absolute;
	width: 0.7rem;
	aspect-ratio: 1 / 1;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid #4d4d4d;
	border-top: 2px solid #4d4d4d;
}

/* ------------------------------------- for pc */
@media ( min-width : 768px ) {
	.page_link_btn:hover {
		background:var(--color-main);
		transition:.3s;
		color:var(--color-white);
		border-color:var(--color-main);
	}
	.page_link_btn:hover span::before {
		border-color:var(--color-white);
	}
}


/* ============================================= page purchase */
/* ============================================= アコーディオン */
.accordion_button {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 7px 14px;
	background: #fff;
	border: 1px solid #7a7a7a;
	border-radius: 7px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	color: #7a7a7a;
}

.accordion_icon {
	position: relative;
	width: 20px;
	height: 20px;
}

.accordion_icon::before,
.accordion_icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70%;
	height: 2px;
	background: #7a7a7a;
	transition: transform 0.2s;
}

.accordion_icon::after {
	transform: translate(-50%, -45%) rotate(90deg);
}

/* 開いているときの「×」 */
.accordion_button.is-open .accordion_icon::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.accordion_button.is-open .accordion_icon::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* パネル */
.accordion_content {
	display: none;
	padding:0 0 30px;
}

.accordion_content.is-open {
  display: block;
}

/* ------------------------------------- for sp */
@media ( max-width : 767px ) {
	.accordion_button {
		width: 100%;
		line-height:1.5;
	}
	.accordion_icon {
		min-width: 20px;
		min-height: 20px;
	}
}


/* ============================================= contact office content */
.contact_office_content {
	padding:40px 0;
	border-bottom:1px solid #b8b8b8;
}
.contact_office_content:last-child {
	border:none;
}
.contact_office_content p.name_area {
	font-weight:700;
}
.contact_office_content ul {
	display:flex;
	flex-wrap:wrap;
}
.contact_office_content ul li {
	margin-right:1rem;
}
.contact_office_content ul li a {
	color:var(--color-main);
	margin-left:0.5rem;
}

/* ------------------------------------- for pc */
@media ( min-width : 768px ) {
	.contact_office_content ul li a {
		pointer-events:none;
	}
}

/* ------------------------------------- for sp */
@media ( max-width : 767px ) {
	.contact_office_content ul {
		flex-direction:column;
	}
	.contact_office_content ul li {
		line-height:1.85;
	}
}


/* ===============================
   form thanks
   =============================== */
.form_box.thanks {
	padding-top:40px;
	border-top:1px solid var(--color-border-1);
}
#thanks-message {
	text-align:center;
}
.form_box.thanks p {
	line-height:1.85;
}
.backtotop {
	margin-top:130px;
	text-align:center;
}
.backtotop a {
	width:256px;
	text-decoration:none;
	display:inline-block;
	padding:8px 66px;
	background:var(--color-secondary);
	color:var(--color-white);
	border:1px solid var(--color-secondary);
	font-size:1.6rem;
	line-height:1.85;
	border-radius:4px;
	transition:.3s;
}
/* ------------------------------------- for pc */
@media ( min-width : 768px ) {
	.backtotop a:hover {
		color:var(--color-secondary);
		background:var(--color-white);
		transition:.3s;
	}
}

/* ------------------------------------- for sp */
@media ( max-width : 767px ) {
	.backtotop {
		margin-top:80px;
	}
	.backtotop a {
		width:80%;
	}
}

.form_flow {
	display:flex;
	justify-content:center;
}
.form_flow li {
	margin:0 16px;
	padding:0 16px;
	color:#7a7a7a;
	position:relative;
	line-height:1;
}
.form_flow li.active {
	color:var(--color-black);
}
.form_flow li:not(:first-child)::after {
	content: "";
	display: block;
	position: absolute;
	width: 1rem;
	aspect-ratio: 1 / 1;
	left: -1.2rem;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid var(--color-secondary);
	border-top: 2px solid var(--color-secondary);
}

/* ------------------------------------- for sp */
@media ( max-width : 767px ) {
	.form_flow li {
		margin:0 8px;
		padding:0 8px;
		font-size:1.4rem;
		white-space:nowrap;
	}
}
