@charset "UTF-8";

/*--------------------------------------------------
**************************************************
  汎用系ページ共通
**************************************************
--------------------------------------------------*/
.common_title {
	width:100%;
	aspect-ratio:375 / 185;
	display:flex;
	justify-content:center;
	align-items:center;
	color:#FFF;
}
.common_title h1 {
	text-align:center;
	font-size:1.2rem;
	font-weight:900;
	color:#FFF;
}
.common_title h1 span {
	font-family:"Antonio";
	display:block;
	font-size:2.4rem;
	letter-spacing:.5em;
	font-weight:400;
}


.common_content {
	width:92%;
	max-width:345px;
	margin:40px auto 0;
}
@media (max-width: 750px) {
	.common_content {
		max-width:100%;
		margin:4rem auto 0;
	}
}


/*--------------------------------------------------
**************************************************
  COMPANY
**************************************************
--------------------------------------------------*/
#company .common_title {
	background:url(../imgs/pages/company_main.jpg) no-repeat center / cover;
}

#company dl dt {
	background:#D9D9D9;
	padding:10px 20px;
	font-size:1.2rem;
	font-weight:400;
	border:1px solid #d9d9d9;
	letter-spacing:0em;
}
#company dl dd {
	padding:8px 20px;
	font-size:1.2rem;
	font-weight:400;
	border:1px solid #d9d9d9;
	letter-spacing:0em;
}
@media (max-width: 750px) {
	#company dl dt {
		padding:1rem 2rem;
	}
	#company dl dd {
		padding:0.8rem 2rem;
	}
}


/*--------------------------------------------------
**************************************************
  PRIVACY / TERMS
**************************************************
--------------------------------------------------*/
#privacy .common_title {
	background:url(../imgs/pages/privacy_main.jpg) no-repeat center / cover;
}
#terms .common_title {
	background:url(../imgs/pages/terms_main.jpg) no-repeat center / cover;
}
.privacy_content p {
	font-size:1rem;
	line-height:2;
	letter-spacing:0;
}
.privacy_content dl {
	margin-top:3rem;
}
.privacy_content dl dt {
	font-size:1.2rem;
	font-weight:600;
	letter-spacing:0;
	display:flex;
	flex-wrap:wrap;
}
.privacy_content dl dt span {
	font-family:"Antonio";
	width:1em;
}
.privacy_content dl dd {
	margin-top:1rem;
}
.privacy_content dl dd ul li {
	margin-top:1rem;
	font-size:1rem;
	line-height:1.8;
	padding-left:1em;
	text-indent:-1em;
}
.privacy_content dl dd ul li::before {
	content:"・";
}



/*--------------------------------------------------
**************************************************
  COMMERCE
**************************************************
--------------------------------------------------*/
#commerce .common_title {
	background:url(../imgs/pages/commerce_main.jpg) no-repeat center / cover;
}
.commerce_content dl:not(:first-child) {
	margin-top:3rem;
}
.commerce_content dl dt {
	padding:1rem;
	font-size:1.2rem;
	line-height:1;
	font-weight:500;
	background:#D9D9D9;
}
.commerce_content dl dd {
	margin-top:1rem;
	font-size:1.2rem;
	line-height:2rem; 
}



/*--------------------------------------------------
**************************************************
  SITE MAP
**************************************************
--------------------------------------------------*/
#sitemap .common_title {
	background:url(../imgs/pages/sitemap_main.jpg) no-repeat center / cover;
}
ul.sitemap_ul li.branch {
	width:92%;
	margin-left:auto;
	
}
ul.sitemap_ul li a {
	padding:1.5rem 0;
	display:flex;
	justify-content:space-between;
	align-items:center;
	letter-spacing:0;
	border-bottom:1px solid #d9d9d9;
}
ul.sitemap_ul li a span.en {
	font-size:1.2rem;
	font-weight:600;
}
ul.sitemap_ul li a span.ja {
	font-size:1rem;
	color:#9D9D9D;
}
.sitemao_text_link_ul {
	margin-top:2rem;
	font-size:1rem;
	letter-spacing:0;
}
.sitemao_text_link_ul li {
	margin-top:1rem;
}
.sitemao_text_link_ul li a:hover{
	color:var(--color-blue-1);
}



/*--------------------------------------------------
**************************************************
  FAQ
**************************************************
--------------------------------------------------*/
#faq .common_title {
	background:url(../imgs/pages/faq_main.jpg) no-repeat center / cover;
}
.faq_content > p {
	font-size:1rem;
	line-height:2;
	letter-spacing:0;
}
#faq h2 {
	font-size:1.4rem;
	font-weight:900;
	letter-spacing:0;
	line-height:2rem;
	text-align:left;
}
#faq dl {
	margin-top:2rem;
}
#faq dt {
	position: relative;
	cursor: pointer;
	padding: 15px 25px 15px 15px;
	background:#D9D9D9;
	font-size:1.2rem;
	font-weight:400;
	line-height:1.4;
	display:flex;
	justify-content:space-between;
}
#faq dt span.q {
	font-family:"Antonio";
	font-weight:400;
	font-size:2.4rem;
	width:20px;
	line-height:1;
}
#faq dt span + span {
	width:calc(100% - 25px);
}
#faq dt::before,
#faq dt::after {
	content: "";
	position: absolute;
	right: 15px;
	top: 50%;
	background: #363636;
	transform: translateY(-50%);
	transition: opacity 0.3s ease;
}
#faq dt::before {
	width: 10px;
	height: 1px;
}
#faq dt::after {
	width: 1px;
	height: 10px;
	right:19px;
}
#faq dl.open dt::after {
	opacity: 0;
}
#faq dd {
	margin: 0;
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.4s ease, padding 0.3s ease;
	background:#FFF;
}
#faq dd p {
	padding:15px;
	border:1px solid #D9D9D9;
	border-top:none;
	display:flex;
	justify-content:space-between;
}
#faq dd p span.a {
	font-family:"Antonio";
	font-weight:400;
	font-size:2.4rem;
	width:20px;
	line-height:1;
}
#faq dd p span + span {
	width:calc(100% - 25px);
	font-size:1.2rem;
	line-height:1.4;
}
#faq dl.open dd {
	overflow:visible;
}

@media (max-width: 750px) {
	#faq dl {
		margin:2rem auto 0;
	}
	#faq dt {
		padding: 1.5rem 3rem 1.5rem 1.5rem;
	}
	#faq dt span.q {
		font-size:2.4rem;
		width:2rem;
	}
	#faq dt span + span {
		width:calc(100% - 2.5rem);
	}
	#faq dt::before,
	#faq dt::after {
		right: 1.5rem;
	}
	#faq dt::before {
		width: 1rem;
	}
	#faq dt::after {
		height: 1rem;
		right:2rem;
	}
	#faq dd p {
		padding:1.5rem;
	}
	#faq dd p span.a {
		width:2rem;
	}
	#faq dd p span + span {
		width:calc(100% - 2.5rem);
	}
}



/*--------------------------------------------------
**************************************************
  form系共通
**************************************************
--------------------------------------------------*/
.form_title_area {
	width:100%;
	aspect-ratio:375 / 185;
	display:flex;
	justify-content:center;
	align-items:center;
	color:#FFF;
	background:#d9d9d9;
	position:relative;
}
.form_title_area h1 {
	text-align:center;
	font-size:1.2rem;
	font-weight:900;
	color:#FFF;
	text-shadow:2px 2px 4px rgba(0,0,0,.25);
	position:relative;
	z-index:2;
}
.form_title_area h1 span {
	font-family:"Antonio";
	display:block;
	font-size:2.4rem;
	letter-spacing:.5em;
	font-weight:400;
}
.form_title_area .main_image {
	position:absolute;
	width:100%;
	aspect-ratio:375 / 185;
	z-index:1;
}

.form_content {
	width:100%;
	padding:4rem 2rem 0;
}
.form_content h2 {
	font-size:1.4rem;
	font-weight:900;
}
.form_content p {
	font-size:1rem;
	line-height:2;
	margin-top:2rem;
}
.form_content p span {
	font-weight:900;
}


/*--------------------------------------------------
**************************************************
  LP系共通
**************************************************
--------------------------------------------------*/
.lp_title_area {
	width:100%;
	aspect-ratio:375 / 185;
	display:flex;
	justify-content:center;
	align-items:center;
	color:#FFF;
	background:#d9d9d9;
	position:relative;
}
.lp_title_area h1 {
	text-align:center;
	font-size:2.4rem;
	font-weight:900;
	color:#FFF;
	letter-spacing:.5em;
	line-height:1.2;
	text-shadow:2px 2px 4px rgba(0,0,0,.25);
	position:relative;
	z-index:2;
}
.lp_title_area h1 span {
	line-height:4;
	font-size:1.2rem;
	letter-spacing:0;
	font-weight:900;
}
.lp_title_area .main_image {
	position:absolute;
	width:100%;
	aspect-ratio:375 / 185;
	z-index:1;
}

.lp_page #menu_btn {
	display:none;
}
.lp_page #gallery {
	display:none;
}
.lp_page footer {
	margin-top:6rem;
	padding-top:4rem;
}
.lp_page footer ul.sns,
.lp_page footer .f_address,
.lp_page footer ul.f_navi,
.lp_page footer ul.f_common_navi li:nth-child(1) {
	display:none;
}
.lp_page footer ul.f_common_navi {
	justify-content:flex-start;
	margin-left:0.5rem;
}
.lp_page footer .footer_image {
	margin-top:4rem;
}

