/* リセット */
*{
  padding:0;
  margin:0;
}
:target:before {
   content:"";
   display:block;
   height:170px;
   margin:-170px 0 0;
}

body {
	scroll-behavior: smooth;
	background:#fdfdf8;
	color:#3C463C;
}

#main_faq input[type="search"] {
  -webkit-appearance: searchfield;
}
#main_faq input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: searchfield-cancel-button;
}
#main_faq .pc { display:block; }
#main_faq .sp { display:none; }

ul,li { list-style:none; }
ul > li { margin:5px 0; }

.sp_toggle, .sp_toggle dl.category, .sp_toggle dt, .sp_toggle dd.categorywrap {
	padding:0;
	margin:0;
}
#main_faq {
	width:100%;
	max-width:1200px;
	margin:5% auto 0 auto;
	padding:0;
	background:#fdfdf8;
}
#main_faq img {
	max-width:100%;
	height:auto;
}
.faqbox {
	width:100%;
/*	display:block; */
	display:-webkit-box; /* Safari用 */
	display:flex;
	flex-wrap:nowrap;
	-webkit-box-pack:justify !important;
	justify-content:space-between;
	align-items:flex-start; */
	-webkit-align-items: flex-start;  /* Safari etc. */
	-ms-align-items    : flex-start;  /* IE10        */
	margin-bottom:200px;
}
.menucate {
	display:inline-block;
	width:30% !important;
/*	height:100%; */
	height:80vh;
	overflow:auto;
/*	box-sizing:border-box;
	padding-bottom:910px; */
	position:sticky;
	position: -webkit-sticky; /* Safari用 */
	top:130px;
}
.menucate .sidearea {
	display:block;
	width:100%;
	max-width:300px;
	min-height:500px !important;
	max-height:700px !important;
/*	position:relative; */
	background:#fdfdf8 !important;
	color:#3C463C;
}
.menucate .sidearea_inner {
	width:100%;
	max-width:300px;
	background:#fdfdf8 !important;
/*	position:fixed; */
/*	top:80px; */
    box-sizing:border-box;
	z-index:99;
}
.menucate .sidearea::-webkit-scrollbar {
	width:10px;
}
/*Firefox*/
.sidearea {/*適用させる箇所のID, クラスに置き換えてください*/
    scrollbar-width: thin;/*細さ(幅・高さ両方に適用)*/
    scrollbar-color: #c7c7c7 #fff;/*つまみの色 軌道の色*/
}

.main {
	display: inline-block;
	width:62%;
	margin-top:0px;
}

p.txt-keyword {
	width:100% !important;
	font-size:16px;
	font-weight:bold;
	margin:0px 0;
	padding:0 0;
	text-align:center;
	box-sizing:border-box;
}
#main_faq input#searchText {
	width:100% !important;
	height:40px;
	padding:0 15px;
	box-sizing:border-box;
}
#main_faq input#submitBtn,
#main_faq #date_search_btn {
	width:100% !important;
	padding:0.3em 0;
	box-sizing:border-box;
	background:#666;
	color:#fff;
}
#main_faq .menucate h2 {
	font-size:16px !important;
	font-weight:bold;
	text-align:center;
	padding:0 !important;
	margin-top:50px !important;
	margin-bottom:20px !important;
	border:none !important;
}

/* メニュー用 */

.menu-list dl {
	width:100%;
    position: relative;
    margin: 0;
    box-sizing:border-box;
    padding: 14px 80px 14px 20px;
    cursor: pointer;
    border-bottom: 1px solid #ccc;
}
.menu-list dl:first-child {
    border-top: 1px solid #ccc;
}
.menu-list dl::before {
    position: absolute;
    top: 16px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.menu-list .open::before {
    transform: rotate(-45deg);
}
.menu-list dl dt {
    position: relative;
    margin: 0;
    box-sizing:border-box;
    padding: 0 0 0 10px;
    font-weight: normal;
    font-size: 15px;
}
#main_faq .menu-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    box-sizing:border-box;
    padding: 0 0 0 10px;
}
#main_faq .menu-list dl dd p {
    margin: 10px 0 10px 0;
}
#main_faq .menu-list dl dd p:first-child{
    margin-top: 20px;
}


/* QA用 */

.qa-list h4.Q_subtitle {
	margin:50px auto 10px auto;
}
.qa-list h4.major-qatitle {
	margin:10px auto 10px auto;
	font-size:20px;
	font-weight:bold;
}
#major-qa-list { margin-bottom:50px; }
.faqarea .show { background:#fcf7b3; }


.search-result h4.Q_subtitle { display:none; }
.qa-list h4.Q_subtitle:before {
	content:"\25B6";
	display:inline-block;
	margin-right:0.5em;
	max-height:16.8px;
}

.faqarea dl,
#search-result__list dl  {
    position: relative;
    margin: 30px 0 0;
    cursor: pointer;
    border: 1px solid #DDD;
}
.faqarea dl:first-child,
#search-result__list dl:first-child {
  margin-top: 0;
}
.faqarea dl::after {
    position: absolute;
    top: 27px;
    right: 26px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.faqarea .open::after {
    transform: rotate(-45deg);
}
.faqarea dl dt {
    position: relative;
    margin: 0;
    padding: 20px 20px 20px 60px;
    font-size: 15px;
    font-weight: normal;
    background: #edebea;
}
.faqarea dl dt::before {
    font-size: 16px;
    line-height: 1;
    position: absolute;
    top: 23px;
    left: 20px;
    display: block;
    content: 'Q.';
    color: #3C463C;
}
.faqarea dl dd::before {
    font-size: 16px;
    line-height: 1;
    position: absolute;
    top: 23px;
    left: 20px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #3C463C;
}
.faqarea dl dd {
    position: relative;
    margin: 0;
    padding: 20px 20px 20px 60px;
}
.faqarea dl dd p {
    font-size: 15px;
    margin: 30px 0 0;
	line-height:180%;
}
.faqarea dl dd p:first-child {
    margin-top: 0;
}
.faqarea dl dd a {
    text-decoration:underline;
}

.target-area .hidden,
.search-result .hidden {
  display: none
}

#main_faq ol {
	list-style:none;
	padding:0;
	margin:20px auto;
}
ol.come li:before {
	content:"\203B ";
	display:inline-block;
	padding-right:0.5em;
}
ol.dot li:before {
	content:"\30FB ";
	display:inline-block;
	padding-right:0.5em;
}
ol.come li,
ol.dot li{
	text-indent:-0.8em;
	padding-left:1.5em;
	line-height:180%;
}
ol.come_num,
ol.order_step {
	counter-reset: count 0;
}
ol.come_num li:before {
	content:"\203B "counter(count) ;
	counter-increment: count 1;
	display:inline-block;
	padding-right:0.5em;
}
ol.come_num li {
	text-indent:-1.1em;
	padding-left:2.4em;
	line-height:180%;
}
ol.order_step li:before {
	content:"STEP"counter(count)" \FF1E";
	counter-increment: count 1;
	display:inline-block;
	padding-right:0.5em;
}
ol.order_step li {
	text-indent:-2.5em;
	padding-left:2.0em !important;
	line-height:180%;
}


#main_faq table {
	width:100%;
	border-collapse:collapse;
	border-spacing: 0;
	margin-top:20px;
}
#main_faq table th {
	width:30%;
	text-align:left;
	padding:10px 0 10px 0.5em !important;
	border: solid 1px #d0cece;
	vertical-align:middle;
}
#main_faq table th.top {
	padding:0 0 0 0.5em !important;
	vertical-align:middle;
}
#main_faq table td {
	width:17.5%;
	text-align:center;
	border: solid 1px #d0cece;
	vertical-align:middle;
}
#main_faq table td.si {
	background:#d0cece;
	color:#000;
}
#main_faq table td.go {
	background:#ffd966;
	color:#000;
}
#main_faq table td.vip {
	background:#000;
	color:#fff;
}
#main_faq table td img {
	max-width:30px;
	height:auto;
}

#main_faq ul.qa-list_box, #main_faq ul.qa-list_box li {
	padding:0;
	margin:0;
}
#main_faq ul.qa-list_box li {
	margin:10px 0;
}

#main_faq .moveBtn {
	display:none;
}
.moveBtnSpace { display:inline-block; }
.moveBtnBr { display:none; }



/* スマホ用 */

@media screen and (max-width:980px) {

#main_faq {
	width:95%;
	margin:10% auto 0 auto !important;
	padding:0;
}
#main_faq .openHere{
    display:none;
}

#main_faq .pc { display:none; }
#main_faq .sp { display:block; width:100% !important; }

#main_faq .menucate,
#main_faq .sidearea {
	position:static !important;
}

.faqbox {
	width:100%;
	display:flex;
	flex-wrap:wrap !important;
	justify-content:space-between;
	align-items:flex-start;
}
.faqbox .menucate {
	width:100% !important;
	height:auto !important;
/*	min-height:50px !important; */
	max-height:2000px !important;
	box-sizing:border-box;
	padding-bottom:0px;
	position:static !important;
	position: -webkit-static; /* Safari用 */
	display:block !important;
	top:0 !important;
}
.faqbox .menucate .sidearea {
	width:100% !important;
	max-width:980px;
	min-height:auto !important;
	max-height:2000px !important;
	display:block !important;
}
.faqbox .menucate .sidearea_inner {
	width:100% !important;
	min-width:100% !important;
	min-height:auto !important;
	max-height:2000px !important;
	top:0px;
	display:block !importantk;
}
.faqbox .menucate .sidearea_inner .spmenu_wrap {
	width:100% !important;
	min-height:auto !important;
	max-height:2000px !important;
	display:block;
}
.main faqarea {
	width:100% !important;
}
.faqbox .main {
	display: block;
	width:100%;
	margin-top:30px;
	box-sizing:border-box;
}

.menucate .sidearea .sidearea_inner h2 {
	cursor:pointer;
	box-sizing:border-box;
	padding:20px;
	border:2px solid #ccc;
	margin:0 !important;
}
.menucate .sidearea .sidearea_inner h2:after {
	content:"\25BC";
	display:inline-block;
	padding-left:1.0em;
}

.menucate .sidearea .sidearea_inner h2.active:after {
	content:"\25B2";
	display:inline-block;
	padding-left:1.0em;
}


/* メニュー用 */

.menu-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}
.menu-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.menu-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}
.menu-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-size: 14px;
}
.menu-list dl dd p {
    margin: 15px 0;
}
.menu-list dl dd p:first-child{
    margin-top: 20px;
}

/* QA用 */

.faqarea dl {
    margin: 10px 0 0;
}
.faqarea dl:after {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.faqarea dl dt {
    padding: 16px 40px 16px 50px;
    font-size: 14px !important;
}
.faqarea dl dt::before {
    font-size: 14px !important;
    top: 20px;
    left: 20px;
}
.faqarea dl dd::before {
    font-size: 14px !important;
    left: 20px;
}
.faqarea dl dd {
    margin: 0;
    padding: 16px 16px 16px 50px;
    font-size: 14px !important;
}
.faqarea dl dd p {
    margin: 30px 0 0;
    font-size: 14px !important;
}
.faqarea dl dd p:first-child{
    margin-top: 0;
}

#main_faq table {
	width:100%;
	border-collapse:collapse;
	border-spacing: 0;
	font-size:12px !important;
}
#main_faq table th {
	width:30%;
	text-align:left;
	padding:10px 0 10px 0.5em !important;
	border: solid 1px #d0cece;
	vertical-align:middle;
	font-size:12px !important;
}
#main_faq table th.top {
	padding:0 0 0 0.5em !important;
	vertical-align:middle;
}
#main_faq table td {
	width:17.5%;
	text-align:center;
	border: solid 1px #d0cece;
	vertical-align:middle;
	font-size:12px !important;
}
#main_faq table td.si {
	background:#d0cece;
	color:#000;
}
#main_faq table td.go {
	background:#ffd966;
	color:#000;
}
#main_faq table td.vip {
	background:#000;
	color:#fff;
}
#main_faq table td img {
	max-width:30px;
	height:auto;
}

ol.order_step li {
	text-indent:-2.5em;
	padding-left:2.5em !important;
	line-height:180%;
}

#main_faq input#submitBtn,
#main_faq #date_search_btn {
	width:100% !important;
	padding:1.0em 0;
	box-sizing:border-box;
	background:#666;
	color:#fff;
	margin-top:15px;
}

#main_faq .moveBtn {
	display:block;
	margin:20px auto 100px auto;
	width:100%;
	box-sizing:border-box;
	padding:0;
}
#main_faq .moveBtn ul {
	display:flex;
	padding:0;
	flex-wrap:nowrap;
	justify-content:space-between;
	align-items:stretch;
}
#main_faq .moveBtn ul li {
	width:48%;
	background:#4d4d4d;
	color:#fff;
	border-radius:5px;
	font-size:14px;
	vertical-align:middle;
}
#main_faq .moveBtn ul li a {
	display:block;
	box-sizing:border-box;
	padding:1.5em 0;
	text-align:center;
	vertical-align:middle;
	text-decoration:none;
	color:#fff;
}
.moveBtnBr { display:none; }
}

@media screen and (max-width:320px) {

#main_faq .moveBtn ul li {
	width:48%;
	background:#4d4d4d;
	color:#fff;
	border-radius:5px;
	font-size:13px;
	vertical-align:middle;
}
#main_faq .moveBtn ul li a {
	padding:0.5em 0 0.5em 0;
}
#main_faq .moveBtn ul li:nth-child(1) > a {
	display:block;
	padding-top:1.2em !important;
}
.moveBtnBr { display:inline-block; }
.moveBtnSpace { display:none; }
}


#main_faq .samplebox {
	width:100%;
	max-width:900px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	position:relative;
}
	#main_faq .samplebox div {
		width:45%;
	}
	#main_faq .samplebox:after {
		content:"\25B6";
		display:inline-block;
		font-size:40px;
		font-weight:bold;
		position:absolute;
		left:50%;
		transform: translate(-50%, 0%);
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
	}
@media screen and (max-width:849px) {
#main_faq .samplebox {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	position:static;
	margin:0 auto;
}
	#main_faq .samplebox div {
		width:90%;
		margin:0 auto;
	}
	#main_faq .samplebox:after { display:none; }
	#main_faq .samplebox div:nth-child(2) {
		padding-top:50px;
		position:relative;
	}
	#main_faq .samplebox div:nth-child(2):after {
		content:"\25BC";
		display:inline-block;
		font-size:30px;
		font-weight:bold;
		position:absolute;
		top:5px;
		left:50%;
		transform: translate(-50%, 0%);
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
	}
}
