@charset "utf-8";

/*********************
* よくある質問
*********************/

/* PC */
@media print,screen and (min-width: 1001px) {
#faq .page_header {
	background-image: url(../images/faq/main.jpg);
}

#faq .s1 {
  margin: 120px 0 180px;
}

#faq .s1 .contents_inner > p {
  font-size: 1.429em;
  text-align: center;
}

#faq .s1 .btns {
  background-color: #dc000c;
  border-radius: 20px;
  margin: 50px 0;
  padding: 3.34% 6.67% calc(3.34% - 15px);
}

#faq .s1 .btns::after {
  content: "";
  display: block;
  width: calc(100% / 5 - 15px);
}

#faq .s1 .btns li {
  width: calc(100% / 5 - 15px);
  font-size: 1.143em;
  font-weight: 700;
  color: #000;
  text-align: center;
  background-color: #fff;
  border-radius: 30px;
  margin-bottom: 15px;
}

#faq .s1 .btns li a {
  display: block;
  color: inherit;
  text-decoration: none;
  padding: 10px 0;
  transition: ease all .5s;
}

#faq .s1 .btns li a:hover {
  background-color: rgba(220, 0, 11, .2);
}

#faq .s1 .item {
  margin: -118px 0 50px;
  padding-top: 118px;
}

#faq .s1 .item_inner {
  background-color: #f8f8f8;
  border-radius: 20px;
  padding: 4.17% 6.67%;
}

#faq .s1 .item_inner h3 {
  font-size: 2.143em;
  text-align: center;
  line-height: 1.5;
  letter-spacing: .1em;
  margin-bottom: 50px;
}

#faq .s1 .item_inner h3 .f_en {
  display: block;
  font-size: .534em;
  color: #dc000c;
}

#faq .s1 .item_inner dl + dl {
  margin-top: 10px;
}

#faq .s1 .item_inner dl dt {
  font-size: 1.429em;
  line-height: 1.3;
  background-color: #fff;
  border-radius: 10px;
  padding: 2.89% calc(3.85% + 12px) 2.89% 3.85%;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

#faq .s1 .item_inner dl dt .f_en {
	font-size: 1.3em;
	color: #425744;
	margin-right: 20px;
}

#faq .s1 .item_inner dl dt::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 3.85%;
	transform: translateY(-50%);
	display: inline-block;
	width: 12px;
	height: 7px;
	background: url(../images/common/icon_arrow02_grn.png) no-repeat center;
	background-size: contain;
	transition: ease all .5s;
}

#faq .s1 .item_inner dl dt.active::before {
	transform: translateY(-50%) rotate(180deg);
}

#faq .s1 .item_inner dl dd {
  display: none;
  background-color: #e8ebe8;
  border-radius: 0 0 10px 10px;
  margin-top: -20px;
  padding: calc(2.89% + 20px) 3.85% 2.89%;
  position: relative;
  z-index: 0;
}

#faq .s1 .item_inner dl dd > div {
	display: flex;
}

#faq .s1 .item_inner dl dd .f_en {
	font-size: 1.857em;
	color: #df665c;
	margin-right: 20px;
	padding-top: 5px;
}

#faq .s1 .item_inner dl dd div p {
	font-size: 1.429em;
  line-height: 1.5;
}

#faq .s1 .item_inner dl dd div p a {
	color: #000;
}

} /* @media print,screen and (min-width: 1001px) */



/* SP */
@media screen and (max-width: 1000px) {
#faq .page_header {
	background-image: url(../images/faq/main_sp.jpg);
}

#faq .s1 {
  margin: 13vw 0 15vw;
}

#faq .s1 .contents_inner {
  padding: 0;
}

#faq .s1 .contents_inner > p {
  font-size: 1.077em;
  padding: 0 5vw;
}

#faq .s1 .btns {
  width: 90vw;
  background-color: #dc000c;
  border-radius: 20px;
  margin: 7vw auto;
  padding: 5% 5% calc(5% - 1.5vw);
}

#faq .s1 .btns li {
  width: 48.5%;
  font-weight: 700;
  color: #000;
  text-align: center;
  background-color: #fff;
  border-radius: 30px;
  margin-bottom: 1.5vw;
}

#faq .s1 .btns li a {
  display: block;
  color: inherit;
  text-decoration: none;
  padding: 1.5vw 0;
  transition: ease all .5s;
}

#faq .s1 .item {
  margin: -15vw 0 7vw;
  padding-top: 15vw;
}

#faq .s1 .item_inner {
  background-color: #f8f8f8;
  border-radius: 20px;
  padding: 7vw 3vw;
}

#faq .s1 .item_inner h3 {
  font-size: 1.538em;
  text-align: center;
  line-height: 1.5;
  letter-spacing: .1em;
  margin-bottom: 7vw;
}

#faq .s1 .item_inner h3 .f_en {
  display: block;
  font-size: .65em;
  color: #dc000c;
}

#faq .s1 .item_inner dl + dl {
  margin-top: 2vw;
}

#faq .s1 .item_inner dl dt {
  display: flex;
  font-size: 1.077em;
  font-weight: 700;
  line-height: 1.3;
  background-color: #fff;
  border-radius: 10px;
  padding: 2.89% calc(3.85% + 12px) 2.89% 3.85%;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

#faq .s1 .item_inner dl dt::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 3.85%;
	transform: translateY(-50%);
	display: inline-block;
	width: 12px;
	height: 7px;
	background: url(../images/common/icon_arrow02_grn.png) no-repeat center;
	background-size: contain;
	transition: ease all .5s;
}

#faq .s1 .item_inner dl dt.active::before {
	transform: translateY(-50%) rotate(180deg);
}

#faq .s1 .item_inner dl dt span {
  flex-shrink: 0;
	font-size: 1.286em;
	color: #425744;
	margin-right: 10px;
}

#faq .s1 .item_inner dl dd {
  display: none;
  background-color: #e8ebe8;
  border-radius: 0 0 10px 10px;
  margin-top: -5vw;
  padding: calc(2.89% + 5vw) 3.85% 2.89%;
  position: relative;
  z-index: 0;
}

#faq .s1 .item_inner dl dd > div {
	display: flex;
}

#faq .s1 .item_inner dl dd .f_en {
	font-size: 1.385em;
	color: #df665c;
	margin-right: 10px;
	padding-top: 3px;
}

#faq .s1 .item_inner dl dd div p {
	font-size: 1.077em;
  line-height: 1.5;
}

#faq .s1 .item_inner dl dd div p a {
	color: #000;
}

} /* @media screen and (max-width: 1000px) */