@charset "utf-8";
/* ===================================================
	faq CSS
====================================================== */
/* ------------------------------------------------------ */
.lead_contact{ margin: 0 auto;}
.lead_contact a{
	display: block; margin: 0 auto; padding: 20px; width: 320px;
	color: #fff; font-size: 16px; background: #7e6b2e; box-sizing: border-box; trFansition: all .5s;
}

@media screen and (hover:hover) and (min-width: 601px) {
	.lead_contact a:hover{ text-decoration: none; opacity: .75;}
}
@media screen and (max-width: 600px) {
	.lead_contact{ margin: 5vw auto;}
	.lead_contact a{ padding: 4vw; width: 100%;}
}


.faq_col{ margin-bottom: 150px;}

@media screen and (max-width: 600px) {
	.faq_col{ margin-bottom: 10vw;}
}

.cmn_tit_03::before {
	display: none;
}

/* ===================================================
cnav
=================================================== */
#faq .cnav li{ width: 31%;}
    .cnav {
        flex-wrap: wrap!important;
		margin-top: 5%;
    }

/* ===================================================
faqレイアウト
=================================================== */
/*--------------------------------------------------------
	faqレイアウト共通スタイル※消さないで
--------------------------------------------------------*/
.faq_list { margin: 80px 0 0;}
.faq_list [class*="layout"] { margin: 0 0 25px; line-height: 1.6;}
.faq_list [class*="layout"] > dt { font-size: 18px; padding: 20px 40px 20px 80px; position: relative;}
.faq_list [class*="layout"] > dd { position: relative;}
.faq_list [class*="layout"] > dt:before,
.faq_list [class*="layout"] > dd:before { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; font-size: 18px; position: absolute; top: 20px; left: 30px;}
.faq_list [class*="layout"] > dt::before { content: 'Q'; color: #fff; background: #7e6b2e;}
.faq_list [class*="layout"] > dd::before { content: 'A'; color: #000; background: #ebdcb2;}
.faq_list [class*="faqicon"] > dt.acc_tit::after { content: ''; display: block; position: absolute; right: 20px; background-repeat: no-repeat; background-size: contain;}
.lead_txt { text-align: center; line-height: 2; margin: 30px 0 60px;}
.lead_txt > a { display: block; width: 320px; margin: 20px auto 0; padding: 12px 0; color: #fff; background: #525252; transition: opacity .5s;}
.lead_txt > a:hover { text-decoration: none; opacity: 0.8;}

@media screen and (max-width: 1360px) {
	.faq_list{ padding-left: 50px;}
}
@media screen and (max-width: 600px){
  .faq_list { margin: 8vw 0 0; padding-left: 0;}
  .faq_list [class*="layout"] { margin: 0 0 15px;}
  .faq_list [class*="layout"] > dt:before,
  .faq_list [class*="layout"] > dd:before { width: 24px; height: 24px; font-size: 16px; position: absolute; top: 11px; left: 5px;}
  .faq_list [class*="layout"] > dt { padding: 10px 25px 10px 40px; font-size: 16px;}
  .faq_list [class*="faqicon"] > dt.acc_tit::after { right: 10px;}
  .lead_txt { margin: 30px 0 8vw; text-align: left;}
  .lead_txt > a { width: 250px; padding: 8px 0; text-align: center;}
}


/* faq基本レイアウトtype
--------------------------------------------------------*/
/* ▼ faq基本レイアウトtype1 ここから --------------*/
.faq_list [class*="layout1"] { border-bottom: 1px solid #ccc;}
.faq_list [class*="layout1"] > dd { padding: 15px 40px 20px 80px; font-size: 16px; line-height: 2;}
.faq_list [class*="layout1"] > dd p { margin-bottom: 25px;}
.faq_list [class*="layout1"] > dd p.tit,
.faq_list [class*="layout1"] > dd dl { margin-bottom: 10px;}
.faq_list [class*="layout1"] > dd dt span{ font-weight: bold;}
.faq_list [class*="layout1"] > dd:before { top: 15px;}
.faq_list [class*="layout1"] > dd em{ font-style: normal; font-weight: bold;}
.faq_list dd a{ text-decoration: underline;}
.faq_list dd a:hover{ text-decoration: none;}

@media screen and (max-width: 600px){
  .faq_list [class*="layout1"] > dd { padding: 10px 0 10px 40px;}
}
/* ▲ faq基本レイアウトtype1 ここまで --------------*/


/* 開閉アイコンtype
--------------------------------------------------------*/
/* ▼ 開閉アイコンtype1 ここから --------------*/
.faq_list .faqicon_1 > dt.acc_tit::after { background-image: url(../../faq/img/arrow_5.svg); width: 10px; height: 16px; transform: rotate(90deg); top: calc(50% - 9px); transition: transform .5s;}
.faq_list .faqicon_1 > dt.acc_tit.active::after { transform: rotate(270deg);}
@media screen and (max-width: 600px){
  .faq_list .faqicon_1 > dt.acc_tit::after { width: 8px; height: 14px; top: calc(50% - 7px);}
}
/* ▲ 開閉アイコンtype1 ここまで --------------*/


.info_col { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; margin: 70px auto 50px; background: url("/common/img/cmn_bg.jpg"); }

/* faq */
.faq { width: 57%; padding: 35px 0; }
.faq a { display: flex; align-items: center; justify-content: center; max-width: 500px; padding: 15px 0; font-size: 18px; background: #fff; border: 1px solid #aaa; margin: 20px auto 0; text-align: left; }
.faq a::before { content: ''; display: inline-block; width: 56px; height: 48px; margin-right: 15px; background: url(/inquiry/img/ico_ai.svg)no-repeat center/cover; }
.faq a:hover { opacity: 0.7; text-decoration: none; }
.faq_tit { line-height: 2; }

/* contact */
.contact { order: 2; width: 43%; text-align: center; padding: 35px 0; border-left: 1px solid #aaa; }
.contact_tit { font-size: 18px; }
.contact span.tel_link { display: inline-block; line-height: 1; padding: 15px 0 12px; font-size: 25px; }
.contact span.tel_link a { text-decoration: none; font-size: 40px; padding: 0 5px; pointer-events: none; color: #000; }
.contact span.tel_link a:hover { opacity: 0.7; }
.contact span.time { display: inline-block; font-size: 15px; }

@media screen and (max-width: 600px) {
	/* ------------------------------------------------------
	▼ #lead 共通スタイル※消さないで ▼ */
	/* info_col */
	.info_col { flex-direction: column; margin: 8vw auto 6vw; justify-content: center; }

	/* lead */
	.lead { text-align: left; padding-bottom: 6vw; }

	.faq,
	.contact { width: 100%; max-width: none; }

	/* faq */
	.faq_tit { font-size: 16px; line-height: 1.8; }
	.faq { order: 2; padding: 5vw 5vw 8vw;  }
	.faq a { width: 100%; max-width: none; margin: 3vw auto 0; font-size: 15px; }

	/* contact */
	.contact { position: relative; order: 1; border-left: none; padding: 6vw 5vw 4vw; }
	.contact::after { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: ''; display: block; width: 80%; height: 1px; margin: 0 auto; background: #d4d4d4; }
	.contact_tit { font-size: 16px; padding-top: 0; margin-bottom: 5px; }
	.contact span.tel_link { padding: 0; position: relative; }
	.contact span.tel_link a { padding: 0 0 0 7px; pointer-events: auto; font-size: 30px; }
	/* ▲ #lead 共通スタイル※消さないで ▲
	------------------------------------------------------ */
}

#breadcrumb {
    text-align: left;
}

aside.top-new-layout-aside {
    margin-top: 6rem;
}

	.faq-cat-main .cnav li {
    width: 100%!important;
	}
	.faq-cat-main li {
    width: 100%!important;
}

a.cnav-faqrank {
	position: relative;
    padding: 1% 6% 1% 11% !important;
    height: 60px;
    display: flex;
        justify-content: flex-start!important;
    align-items: center;
    font-size: 16px;
    border: 1px solid #ccc;
    text-align: left;
        line-height: 1.2 !important;
}

a.cnav-faqrank::before {
    display: flex;
    justify-content: center;
    align-items: center;
    content: 'Q';
    width: 25px;
    height: 25px;
    color: #fff;
    background: #ca8501;
    border-radius: 50%;
    position: absolute;
    left: 1%;
}

a.cnav-faqrank::after {
    display: block;
    content: '';
    width: 16px;
    height: 8px;
    background: url(/common/img/cnav_arrow.svg) no-repeat center center;
	transform: rotate(270deg);
	position: absolute;
    right: 2%;
}

.faq_list [class*="layout1"] > dd:before {
	display: none;
}

dl.layout1.faqicon_1 {
    border: none;
}

dt.acc_tit i.fa-solid.fa-chevron-down {
	top: 50%;
    transform: translateY(-50%);
    position: absolute;
    right: 5%;
	font-size: 12px;
}

dt.acc_tit {
    width: 100%;
	font-size: 18px!important;
	position: relative;
    background: #ca8501;
	height: 64px;
    color: #fff;
    font-weight: 600;
	padding: 0!important;
	justify-content: center;
	display: flex;
	align-items: center;
	margin: 0;
    border: none;
}

dt.acc_tit::after,
dt.acc_tit::before {
    display: none!important;
}

dd.acc_contents {
    padding: 0 !important;
}

dd.acc_contents::before {
    display: none;
}

ul.child-faq-list {
    box-shadow: 1px 1px 1px 1px #ccc;
    padding: 0 0 15px 20px;
}

ul.child-faq-list li a {
	justify-content: flex-start;
    text-decoration: unset;
    font-weight: 600;
}
dt.acc_tit.active {
    box-shadow: 2px 0 0 #ccc;
}

.cnav li {
    border: none;
	text-decoration: none;
}

a.cnav-faqrank-cat span::after {
    display: none;
}

span.cmn_tit_03 {
    font-weight: 600;
}

.faq_col p {
    font-weight: 600;
}

a.btn-inquiry {
    background: #95362d;
    width: 300px;
    display: flex;
    height: 40px;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    color: #fff;
}

section.faq-post {
    margin: 5rem auto;
    text-align: left;
}

h2.faq_tit_02 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 3%;
}

article.news-item a {
    margin-bottom: 5%;
}

article.news-item p.news-date {
    letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
	.cnav.inner_md li {
    min-width: 400px;
}
	
	.faq-cat-main .cnav.inner_md li a {
        min-width: 400px;
        max-width: unset;
        padding: 20px 5% 20px 9% !important;
        font-size: 18px;
        margin-bottom: 3%;
    }
	
	a.cnav-faqrank {
    position: relative;
    padding:3% 5% 3% 12% !important;
        max-width: 400px;
        height: auto;
        font-size: 18px;
		margin-bottom: 3%;
	}
	
	.faq-cat-main a.cnav-faqrank {
        padding: 4% 5% 4% 13% !important;
        display: flex;
        line-height: 1.2 !important;
    }
	
	.cnav.inner_md2 li {
		min-width: 340px;
	}
	
	ul.cnav {
    flex-wrap: wrap;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 3%;
		margin-left: 0;
}
	
	a.cnav-faqrank::before {
    width: 30px;
    height: 30px;
    left: 15px;
}
	
	dt.acc_tit {
    height: 80px;
		font-size: 20px!important;
}
	
	.faq_list {
        padding-left: 0!important;
    }
	
	.faq_col p {
    font-size: 18px;
}
	
article.news-item a {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3%;
	font-size: 18px;
    margin-bottom: 2%;
}
	
	a.btn-inquiry {
    width: 400px;
    height: 60px;
    font-size: 20px;
}
	
}

/* 詳細 */
h2.faq-related-title {
    background: #95362d;
    width: fit-content;
    display: flex;
    height: 40px;
    margin: 3% 0;
    justify-content: center;
    align-items: center;
    color: #fff;
	padding: 0 10px;
	border-radius: 10px;
	font-size: 14px;
}

h2.faq-related-title a {
	color: #fff;
}

.faq-content {
    background: #f2e3e6;
    padding: 3rem 2rem;
}
h2.faq-content-ttl {
	position: relative;
    padding-left: 2.5rem;
    font-size: 16px;
	line-height: 1.8;
    margin: 0 0 30px 0;
}

h2.faq-content-ttl::after {
	position: absolute;
	width: 20px;
	height: 20px;
	content: "Q";
	display: block;
    background: #ca8501;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	left: 0;
	top: 15px;
	transform: translateY(-50%);
	border-radius: 50%;
    font-size: 1rem;
}


span.faq-content-inner {
	position: relative;
}

span.faq-content-inner p {
    padding-left: 3rem;
    font-size: 16px;
	line-height: 1.8;
	display: block;
	margin-bottom: 3%;
}

span.faq-content-inner ::after {
	position: absolute;
	width: 20px;
	height: 20px;
	content: "A";
	display: block;
    background: #95362d;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	left: 0;
	top: 25px;
	transform: translateY(-50%);
	border-radius: 50%;
    font-size: 1rem;
}

p.faq-count {
    font-size: 0.8rem;
    letter-spacing: 0.01em;
}

p.faq-more a {
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

i.fa-solid.fa-chevron-right {
    padding-left: 1rem;
	font-size: 14px;
}
i.fa-solid.fa-chevron-left {
    padding-right: 1rem;
	font-size: 14px;
}

.faq_col-contact {
	font-size: 0.8rem;
	text-align: center;
	margin-bottom: 5%;
}

.faq-margin {
	margin-bottom: 5rem;
}

@media screen and (min-width: 768px) {
	.faq-content {
    padding:3rem 2.5rem;
	}
	
h2.faq-content-ttl {
    font-size: 18px;
}
	
	h2.faq-content-ttl::after {
	width: 30px;
	height: 30px;
		font-size: 18px;
	}
	
span.faq-content-inner p {
    font-size: 18px;
}
	
	span.faq-content-inner p::after {
	width: 30px;
	height: 30px;
		font-size: 1.4rem;
	}
	
	p.faq-count {
    font-size: 1rem;
}
	
	h2.faq-related-title {
    font-size: 16px;
        padding: 2px 10px;
}
	
	h2.faq-related-ttl {
    padding-left: 3rem;
    font-size: 1.5rem;
    height: 60px;
		margin: 1rem 0;
}
	
	h2.faq-related-ttl::after {
    width: 30px;
    height: 30px;
    font-size: 1.2rem;
}
	
	.faq_col-contact {
    font-size: 1.2rem;
	}
	
	.faq-post li {
    max-width: unset;
    width: 100%;
}
	
	.faq-post a.cnav-faqrank {
    max-width: unset;
}
	
}

/* tax */
.faq-cat-main div#lead_col {
    margin-left: 0;
    text-align: left;
}

ul.tax-tabs {
    display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap:5%;
	margin: 5% 0 10% 0;
	font-weight: 600;
}

ul.tax-tabs li {
	width: fit-content!important;
}

ul.tax-tabs li a {
    background: #f2e3e6;
    border: #95362d 1px solid;
    padding: 5px 20px;
    border-radius: 10px;
	    display: block;
    margin-bottom: 5%;
	font-size: 16px;
}

ul.tax-tabs li a.is-active {
    background: #95362d;
    color: #fff;
}

@media screen and (min-width: 768px) {
	ul.tax-tabs li a {
	font-size: 20px;
}
	
	main,.faq-cat-main {
    margin-bottom: 100px;
}
}

@media screen and (min-width: 1024px) {
    a.cnav-faqrank {
        padding: 3% 5% 3% 50px !important;
	}
}