.hd_menu li:nth-of-type(5) button {
 color: #ff8c8c;
}
/*                        faq                        */
.page .mv_inner {
 padding-top: 0;
}
.mv_ttl {
 letter-spacing: 0.1em;
}
.mv_ttl span{
 font-size: 11.5rem;
}
.mv_sab_ttl {
 color: #ff8c8c;
}
.faq_contents_inner {
 padding-bottom: min(12rem, calc(120vw / 13.66));
 position: relative;
}

.faq_contents_inner::after {
 content: "";
 width: 100%;
 height:calc(910vw / 13.66);
 background: url(../images/faq/bg_bottom.webp);
 background-size: cover;
 position: absolute;
 bottom: 0;
 left: 0;
 z-index: -1;
}
.faq_menu {
 position: relative;
 z-index: 1;
 padding-top: min(10rem, calc(100vw / 13.66)) ;
 margin-bottom:  min(19.5rem, calc(195vw / 13.66)) ;
}
.faq_menu ul{
 width: min(117rem, calc(1170vw / 13.66)) ;
 margin: 0 auto;
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 gap: min(5rem, calc(50vw / 13.66)) min(4.5rem, calc(45vw / 13.66));
}
.faq_menu ul li {
 width: min(36rem, calc(360vw / 13.66)) ;
}
.faq_menu ul li a{
 display: block;
 width: 100%;
 background-color: #000000;
 box-sizing: border-box;
 border-radius: min(5rem, calc(50vw / 13.66)) ;
 font-size: 2.7rem;
 font-weight: 700;
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 color: #90d8fc;
 gap: min(1rem, calc(10vw / 13.66))  0;
 padding:min(1.2rem, calc(12vw / 13.66))  0 min(.5rem, calc(5vw / 13.66)) ;
}
.faq_menu ul li:nth-of-type(4) a,
.faq_menu ul li:nth-of-type(5) a {
 color: #8ee854;
}
.faq_menu ul li a span {
 display: block;
 width: min(1.2rem, calc(12vw / 13.66));
 height: min(1.2rem, calc(12vw / 13.66));
 border-top: min(.2rem, calc(2vw / 13.66))  solid #90d8fc;
 border-right: min(.2rem, calc(2vw / 13.66))  solid #90d8fc;
 transform: rotate(135deg);
 transform-origin: top;
}
.faq_menu ul li:nth-of-type(4) a span,
.faq_menu ul li:nth-of-type(5) a span{
 border-color: #8ee854;
}

@media (hover: hover) and (pointer: fine) {
 .faq_menu ul li a:where(:any-link, :enabled, summary):hover {
  transform: scale(1.1);
 }
}

.faq_item {
 padding-top: min(15rem, calc(150vw / 13.66));
 margin-top: max(-15rem, calc(-150vw / 13.66));
}


.faq_item_inner {
 width: min(117rem, calc(1170vw / 13.66));
 margin: 0 auto;
 background-color: #fff;
 position: relative;
 box-sizing:  border-box;
 padding: min(11rem, calc(110vw / 13.66)) 0 min(7.5rem, calc(75vw / 13.66));
 margin-bottom:  min(19.5rem, calc(195vw / 13.66));
}
.faq_item:last-of-type .faq_item_inner{
 margin-bottom: 0;
}
.faq_item_ttl {
 width: fit-content;
 font-size: 4rem;
 font-weight: 700;
 color: #fff;
 background-color: #000000;
 padding: min(.5rem, calc(5vw / 13.66))  min(10rem, calc(100vw / 13.66));
 position: absolute;
 top: max(-4.5rem, calc(-45vw / 13.66)) ;
}
.faq_item_ttl::before {
 content: '';
 width: min(9rem, calc(90vw / 13.66)) ;
 height: 100%;
 clip-path: polygon(0 0, 0% 100%, 100% 0);
 background-color: #90d8fc;
 position: absolute;
 top: 0;
 left: 0;
}
#faq_04 .faq_item_ttl::before,
#faq_05 .faq_item_ttl::before  {
 background-color: #8ee854;
}


.faq_box {
 width: min(101rem, calc(1010vw / 13.66)) ;
 margin: 0 auto;
 text-align: justify;
 border-bottom: #aaaaaa solid  min(.1rem, calc(1vw / 13.66)) ;
}
.faq_box_ttl .faq_btn {
 padding: min(5rem, calc(50vw / 13.66)) 0;
 transition: .4s;
}
.faq_box_ttl .faq_btn,
.faq_item_txt > div {
 display: flex;
 position: relative;
 align-items: center;
 width: 100%;
 position: relative;
 gap: 0 min(2.5rem, calc(25vw / 13.66));
}
@media (hover: hover) and (pointer: fine) {
 .faq_box_ttl .faq_btn:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}
.faq_item_txt > div {
 align-items: flex-start;
 padding-bottom: min(5rem, calc(50vw / 13.66));
}
.faq_btn .q {
 font-size: 5.4rem;
 font-weight: 900;
 color: #559bf8;
 line-height: .6;
}
#faq_04 .faq_btn .q,
#faq_05 .faq_btn .q  {
 color: #00a445;
}
.faq_box_ttl .ttl {
 font-size: 2rem;
 font-weight: 500;
 color: #559bf8;
}
#faq_04 .faq_box_ttl .ttl,
#faq_05 .faq_box_ttl .ttl {
 color: #00a445;
}
.faq_item_txt {
 display: none;
}
.faq_item_txt .a {
 font-size: 5.4rem;
 font-weight: 900;
 color: #fff;
 line-height: .6;
 -webkit-text-stroke:  min(.2rem, calc(2vw / 13.66)) #559bf8;
}
#faq_04 .faq_item_txt .a,
#faq_05 .faq_item_txt .a  {
  -webkit-text-stroke:  min(.2rem, calc(2vw / 13.66)) #00a445;
}
.faq_item_txt > div p {
 width: min(88rem, calc(880vw / 13.66));
 font-size: 2rem;
 font-weight: 500;
}

.faq_icon {
 width: min(3rem, calc(30vw / 13.66));
 height: min(3rem, calc(30vw / 13.66));
 border: #559bf8 solid  min(.1rem, calc(1vw / 13.66));
 border-radius: 50%;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 0;
}
#faq_04 .faq_icon,
#faq_05 .faq_icon  {
  border-color:   #00a445;
}
.faq_icon::before {
 content: '';
 width: min(1.5rem, calc(15vw / 13.66));
 height: min(.1rem, calc(1vw / 13.66));
 background-color: #559bf8;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
}
.faq_icon::after {
 content: '';
 width: min(1.5rem, calc(15vw / 13.66));
 height: min(.1rem, calc(1vw / 13.66));
 background-color: #559bf8;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(90deg);
 left: 0;
 right: 0;
 margin: 0 auto;
 transition: .4s;
}
#faq_04 .faq_icon::before,
#faq_04 .faq_icon::after,
#faq_05 .faq_icon::before  ,
#faq_05 .faq_icon::after  {
  background-color:   #00a445;
}
.open .faq_icon::after {
 transform: translateY(-50%) rotate(0deg);
}


.page_banner_inner {
 background: url(../images/faq/faq_banner.webp) no-repeat;
 background-size: cover;
}
.banner_btn {
 background: #efffdf;
 background: linear-gradient(90deg, rgba(239, 255, 223, 1) 0%, rgba(142, 232, 84, 1) 100%);
}



@media screen and (max-width: 767px) {

.mv_ttl span{
 font-size: 4.5rem;
}
.faq_contents_inner {
 padding-bottom: 5rem;
}

.faq_contents_inner::after {
 height: 60.5rem;
 background: url(../images/faq/bg_bottom_sp.webp);
 background-size: cover;
}
.faq_menu {
 padding-top: 5rem ;
 margin-bottom: 7.5rem;
}
.faq_menu ul{
 width: 32.5rem;
 justify-content: space-between;
 gap: 2.5rem 0;
}
.faq_menu ul li {
 width: 15rem ;
}
.faq_menu ul li:nth-of-type(3) {
 width: 100%;
}
.faq_menu ul li:nth-of-type(3) a{
 width: 15rem;
 margin: 0 auto;
}
.faq_menu ul li a{
 border-radius: 4rem;
 font-size: 1.6rem;
 gap: .7rem  0;
 padding:1.5rem 0 1rem ;
 line-height: 1.28;
}
.faq_menu ul li a span {
 width: .6rem;
 height: .6rem;
 border-top: .1rem  solid #90d8fc;
 border-right: .1rem  solid #90d8fc;
}
@media (hover: hover) and (pointer: fine) {
 .faq_menu ul li a:where(:any-link, :enabled, summary):hover {
  transform: scale(1);
 }
}

.faq_item {
 padding-top: 7.5rem;
 margin-top: -7.5rem;
}


.faq_item_inner {
 width: 32.5rem;
 padding:6rem 0 3.5rem;
 margin-bottom: 7.5rem;
}
.faq_item_ttl {
 font-size: 2.1rem;
 padding:.5rem  6rem;
 padding-right: 4rem;
 top: -2.7rem;
 left: -2.5rem;
 box-sizing: border-box;
}
.faq_item_ttl::before {
 width:5.4rem ;
}

.faq_box {
 width:27.5rem ;
 border-bottom: #aaaaaa solid  .1rem ;
}
.faq_box_ttl .faq_btn {
 padding:2.5rem 0;
}
.faq_box_ttl .faq_btn,
.faq_item_txt > div {
 gap: 0 .7rem;
 align-items: flex-start;
}
.ft_ce {
 align-self: center;
}
.faq_item_txt > div {
 padding-bottom:3rem;
}
.faq_btn .q {
 font-size: 3.2rem;
}
.faq_box_ttl .ttl {
 font-size: 1.4rem;
 width:20.8rem;
 text-align: justify;
 line-height: 1.65;
}
.faq_item_txt .a {
 font-size: 3.2rem;
 -webkit-text-stroke: .1rem #559bf8;
}
#faq_04 .faq_item_txt .a,
#faq_05 .faq_item_txt .a  {
  -webkit-text-stroke: .1rem #00a445;
}
.faq_item_txt > div p {
 width:20.8rem;
 font-size: 1.4rem;
 line-height: 1.75;
}

.faq_icon {
 width: 1.8rem;
 height: 1.8rem;
 border: #559bf8 solid .1rem;
}
.faq_icon::before {
 width: 1rem;
 height: .1rem;
}
.faq_icon::after {
 width: 1rem;
 height: .1rem;
}

.page_banner_inner {
 background: url(../images/faq/faq_banner_sp.webp) no-repeat;
 background-size: cover;
}

}
