@charset "utf-8";

.clearfix:after
{
	content: "";
	display: block;
	clear: both
}


.flt-lft    {   float:left;     }   

.w25p   {    width: 25%;  }
.w50p   {    width: 50%;  }
.w75p   {    width: 75%;  }
.w100p  {    width: 100%;  }


.mt10 {    margin-top: 10px !important;  }
.mt20 {    margin-top: 20px !important;  }
.mt30 {    margin-top: 30px !important;  }
.mt40 {    margin-top: 40px !important;  }
.mt50 {    margin-top: 50px !important;  }

.mb10 {    margin-bottom: 10px !important;  }
.mb20 {    margin-bottom: 20px !important;  }
.mb30 {    margin-bottom: 30px !important;  }
.mb40 {    margin-bottom: 40px !important;  }
.mb50 {    margin-bottom: 50px !important;  }

.ml0    {    margin-left: 0    !important;  }
.ml10   {    margin-left: 10px !important;  }
.ml15   {    margin-left: 15px !important;  }
.ml20   {    margin-left: 20px !important;  }
.ml30   {    margin-left: 30px !important;  }


.pl0    {   padding-left:0    !important;  } 
.pl10   {   padding-left:10px !important;  }
.pl15   {   padding-left:15px !important;  }
.pl20   {   padding-left:20px !important;  }

.pb0    {   padding-bottom:0  !important;  }
.pb10   {   padding-bottom:0  !important;  }
.pb15   {   padding-bottom:0  !important;  }
.pb20   {   padding-bottom:0  !important;  }

.bg-bk  {   background-color: black  !important;  }
.bg-pk  {   background-color: pink  !important;  }
.bg-yw  {   background-color: yellow  !important;  }
.bg-gd  {   background-color: gold  !important;  }


 
.bold {    font-weight: bold;  }
 
.ul-black {
    border-bottom:1px solid black;
}

.bk-center {    display:block;margin: 0 auto;      }

.ta-center {    text-align:center;  }
.ta-left   {    text-align:left;    }
.ta-right  {    text-align:right;   }
.ta-start  {    text-start:left;    }
.ta-end    {    text-end:left;      }

.ts-none   {    text-shadow: none !important; }


.val-top {
    vertical-align:top !important;
}
.val-mid {
    vertical-align:middle !important;
}
.val-btm {
    vertical-align:bottom !important;
}

.bk-pink {  background-color: pink;    }
.bk-red  {  background-color: red;     }
.bk-aqm  {  background-color: aquamarine;     }
.bk-gold {  background-color: gold;     }

.btn,
a.btn,
button.btn {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 0rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

a.btn-solid-pink, .forjosou, .forotokonoko {
  color: #ff3355  ;
  border-right: 4px solid #DDA6AF;
  border-bottom: 10px solid #D49FA8;
  border-left: 4px solid #CC99A2;
  border-radius: 0;
  background: -webkit-gradient(linear, right top, left top, from(#FFC0CB), color-stop(30%, #FFCFD7), color-stop(40%, #FFDEE3), color-stop(50%, #FFEDF0), color-stop(70%, #FFCFD7), to(#FF99AA)) !important;
  background: -webkit-linear-gradient(right, #FFC0CB 0%, #FFCFD7 30%, #FFDEE3 40%, #FFEDF0 50%, #FFCFD7 70%, #FF99AA 100%) !important;
  background: linear-gradient(-90deg, #FFC0CB 0%, #FFCFD7 30%, #FFDEE3 40%, #FFEDF0 50%, #FFCFD7 70%, #FF99AA 100%) !important;
  text-shadow: -1px -1px 1px #ffffd9;
}

a.btn-solid-pink:hover {
  margin-top: 3px;
  color: #ff6680;
  border-right: 4px solid #DDA6AF;
  border-bottom: 7px solid #D49FA8;
  border-left: 4px solid #CC99A2;
}

a.btn-solid-gold, .forman {
  color: #b1921b;
  border-right: 4px solid #cea82c;
  border-bottom: 10px solid #987c1e;
  border-left: 4px solid #ffed8b;
  border-radius: 0;
  background: -webkit-gradient(linear, right top, left top, from(#ffd75b), color-stop(30%, #fff5a0), color-stop(40%, #fffabe), color-stop(50%, #ffffdb), color-stop(70%, #fff5a0), to(#fdd456)) !important;
  background: -webkit-linear-gradient(right, #ffd75b 0%, #fff5a0 30%, #fffabe 40%, #ffffdb 50%, #fff5a0 70%, #fdd456 100%) !important;
  background: linear-gradient(-90deg, #ffd75b 0%, #fff5a0 30%, #fffabe 40%, #ffffdb 50%, #fff5a0 70%, #fdd456 100%) !important ;
  text-shadow: -1px -1px 1px #ffffd9;
}

a.btn-solid-gold:hover {
  margin-top: 3px;

  color: #b1921b;
  border-right: 4px solid #cea82c;
  border-bottom: 7px solid #987c1e;
  border-left: 4px solid #ffed8b;
}


a.btn-solid-silver {
  color: #000;
  border-top: 4px solid #d8dcdc;
  border-right: 4px solid #666;
  border-bottom: 4px solid #333;
  border-left: 4px solid #868888;
  border-radius: 0;
  background-image: -webkit-linear-gradient(135deg, #333 0%, #868888 20%, #d8dcdc 34%, white 53%, #666 100%);
  background-image: linear-gradient(-45deg, #333 0%, #868888 20%, #d8dcdc 34%, white 53%, #666 100%);
  text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}

a.btn-solid-silver:hover {
  text-shadow: 0 0 7px #fff, 0 0 7px #fff, 0 0 7px #fff, 0 0 7px #fff, 0 0 7px #fff, 0 0 7px #fff, 0 0 7px #fff, 0 0 7px #fff;
}





#emi_cpp_customer_meta_box  {
/*     line-height:1.4em; */
}
.metabox-item {
    padding: 5px 0;
}

/*mainimg
---------------------------------------------------------------------------*/
/*画像ブロック*/
#mainimg {
	clear: left;
	max-width: 1020px;	/*最大幅*/
	margin: 0 auto 30px;
	position: relative;
}

/* */
.menu-toggle {
	position:	absolute;
	top:30px;
	right: 15px;
	width:50px;
	height:50px;
	text-align:center;
	background: rgba( 255,255,255,.5);
/* 	background: rgba(52,58,64,.5); */
	line-height:50px;
	z-index:999;
	border-radius: .25rem;
	border: solid 1px rgba(52,58,64,.5);
}
	
.fa .fas {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

#menubar-s {
    display:none;
}


.gender-btns-mobile2 {
    display: flex;
}

.gender-btns-mobile2 .gender-btn {
    padding: 0 5px;
}


.gender-btns-mobile {
    display: flex;
}

.gender-btns-mobile .gender-btn {
    padding: 0 10px;
}

.gender-btn {
	margin-bottom: 10px;
}



@media screen and (min-width:801px){
/* 性別ボタン(pc)*/
.gender-btns-pc {
/*     display: bloack; */
}
/* 性別ボタン(mobile)*/
.gender-btns-mobile {
    display: none;
}

/* toggle menu */
#menu-toggle {
	display: none;
}
}
@media screen and (max-width:800px){
/* 性別ボタン(pc)*/
.gender-btns-pc {
    display: none;
}
/* 性別ボタン(mobile)*/
.gender-btns-mobile {
/*     display: block; */
}

/* toggle menu */
#menu-toggle {
	display: block;
}
}

/*---------------------------------------------------------------------------*/
#foo .wpcf7-list-item {
    display:block;
}
textarea, input  {
    box-sizing: border-box;
/*     width:50% */
}

div.wpcf7 .ajax-loader {
    display:block;
    margin: auto;;
}

.mw0p {
    min-width:0 !important;
}


/**/
.sec-border {
    border: solid 1px;
    padding: 20px;
    border-radius:10px;
}



/*---------------------------------------------------------------------------*/
.square-list {
    list-style-type: none;
}

.square-list li::before {
    content: "■";   //"&#x25A0;";
}
.square-list li {
    padding-left:1em;
    text-indent:-1em;
}

.circle-list {
    list-style-type: none;
}

.circle-list li::before {
    content: "・";
}
.circle-list li {
    padding-left:1em;
    text-indent:-1em;
}

.check-list {
    list-style-type: none;

}
.check-list li::before {
    font-family: "Font Awesome 5 Free";
    content: '\f058';
}
.check-list li {
    margin-left:1em;
    padding-left:1em;
    text-indent:-1em;
}

.circle-list {
    list-style-type: none;
}

.circle-list li::before {
    content: "・";
}
.circle-list li {
    padding-left:1em;
    text-indent:-1em;
}
					

.circle-list {
    padding: 0px;
    margin: 0px;
    list-style: none;
    counter-reset: knum-counter;
}
.circle-list > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    counter-increment: knum-counter;
}
.circle-list > li::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1em;
    left: 0px;
    transform: translateY(-50%);
    width: calc(1.1em);
    height: calc(1.1em);
    text-align: center;
    line-height: 1;
    content: "・";
}


.number-list {
    padding: 0px;
    margin: 0px;
    list-style: none;
    counter-reset: knum-counter;
}
.number-list > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    counter-increment: knum-counter;
}
.number-list > li::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1em;
    left: 0px;
    transform: translateY(-50%);
    width: calc(1.1em);
    height: calc(1.1em);
    text-align: center;
    line-height: 1;
    content: counter(knum-counter);
}

.circle-num-list {
    padding: 0px;
    margin: 0px;
    list-style: none;
    counter-reset: circle-num-counter;
}
.circle-num-list > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    counter-increment: circle-num-counter;
}
.circle-num-list > li::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1em;
    left: 0px;
    transform: translateY(-50%);
    width: calc(1.1em);
    height: calc(1.1em);
    border: 1px solid #000;
    border-radius: 50%;
    text-align: center;
    line-height: 1;
    content: counter(circle-num-counter) ;
}

.kako-num-list {
    padding: 0px;
    margin: 0px;
    list-style: none;
    counter-reset: knum-counter;
}
.kako-num-list > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    counter-increment: knum-counter;
}
.kako-num-list > li::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1em;
    left: 0px;
    transform: translateY(-50%);
    width: calc(1.1em);
    height: calc(1.1em);
/*     border: 1px solid #000;
    border-radius: 50%; */
    text-align: center;
    line-height: 1;
    content: "(" counter(knum-counter) ")";
}


/*---------------------------------------------------------------------------*/
#flow p, #rec-flow p{
    padding:initial;
    line-height: 2;
}

.flow-box-outer {
    padding: 0 15px;
}


#flow .flow-box, #rec-flow .flow-box  {
    border: 1px solid;
    background: rgba(253,239,242,0.8);
    border-radius: 5px;
    margin-bottom:50px;
}

.flow-img-box {
    float: left;
    width:25%;
}

.flow-txt-box {
    float: left;
    width: calc( 75% - 20px);
    padding: 10px 10px;
}

#rec-flow .flow-box {
/*     padding:10px; */
}
/*---------------------------------------------------------------------------*/
.mass-merit, .site-merit {
    box-sizing: border-box;
    float: left;
    width: 460px;
    margin: 0px 0px 10px 10px;
    border: 5px #efefef solid;
    
    width: 48%;
    
}
.mass-merit p , .site-merit p {
    padding: 12px 0px 10px;
    font-weight: bold;
    background-color: #efefef;
    border: none;
}
.mass-merit dl dt, .site-merit dl dt {
    margin: 10px 0px 0px 15px;
    padding: 0px 0px 0px 0px;
    text-align: left;
    font-size: 0.95em;
    font-weight: bold;
/*     cursor: pointer; */
    text-indent:-1em;
    padding-left: 1em;
}

.down-list dt::before {
    font-family: "Font Awesome 5 Free";
    content: '\f058';
}

@media screen and (max-width:800px){
.mass-merit, .site-merit {
    box-sizing: border-box;

    display: block;
    clear: both;
    width: calc(100% - 20px );
}

}


@media screen and (max-width:600px){
.mark1, .mark2 {
    width:30px;
    line-height:30px;
}
}







/*---------------------------------------------------------------------------*/
.rec-box {
    box-sizing: border-box;
    display:flex;
    flex-wrap:wrap
 }
.rec_img {
    float:left;
    width:33%;
}
.rec_txt {
    box-sizing: border-box;
    float:left;
    width:33%;
    border: solid 1px gray;
    font-size:1.5em;
    padding:5px;
}
.rec-box div:nth-of-type(5), .rec-box div:nth-of-type(6) {
    border-left: none;  
}
@media screen and (max-width:600px){
.rec_txt {
    font-size:1.2em;
}
}



/*---------------------------------------------------------------------------*/
.add-arrow::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: '\f063';
    font-size:1.5em;
}

/*---------------------------------------------------------------------------*/
/* キャストシングルページ */

/* キャストのサムネイル */
.main-customer-tumb-img {
    float:left;
    width: calc( 33% - 20px );
    margin-bottom: 20px;
    padding: 0 10px;
}

.main-customer-tumb-img:nth-child(3n) after
{
	content: "";
	display: block;
	clear: both
}
.main-customer-tumb-img figure img {
/*     width:100%; */
}

.wpcf7-form-control-wrap {
    line-height: 2;
}

/*---------------------------------------------------------------------------*/
.wpcf7-form-control {
    line-height: 2;
}

.wpcf7-select, .wpcf7-validates-as-date {
    height:40px;
}

/*---------------------------------------------------------------------------*/
.faq-boxs {
    counter-reset: my-counter 0;
/*     font-size: 16px; */
    line-height: 1.5;
    position: relative;
    padding: 10px;
    padding-left: 30px;
}

.faq-box {
    border: 1px solid black;
    margin-bottom: 20px;
    border-radius: 10px;
}

.faq-boxs .faq-q {
/*     display:block; */
    background: #fffacd;
    border-radius: 10px 10px 0 0 ;

/*     vertical-align: middle;
    margin: 0 auto;;
    line-height:22px; */
    padding: 5px 10px;
    
}

.faq-boxs .faq-q::before {
    counter-increment: my-counter 1;
    content: counter(my-counter);
    background-color: #333;
    border: 1px solid;
    border-radius: 50%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 22px;
    width: 22px;
    color: #ffffff;
    font-size: 85%;
    line-height: 1;
    position: absolute;
/*   top: 0; */
    left: 0;
}

.faq-boxs .faq-a {
    padding: 05px 20px;
}


.more-arrow {
    position:absolute;
    top: 2px;
    right: 10px;
    
}
.tgl-btn {
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
}

a.tgl-btn:hover {
     background: rgba( 0,0,255,0.5);    
}

.tgl-btn .active {
    font-family: "Font Awesome 5 Free";
    content: '\f017';
    font-weight: 400;

    transform: rotate(0.5turn);
}
/*---------------------------------------------------------------------------*/
#for-man {
    padding-left:15px;
}
#for-man p {
    padding:initial;
}
/*---------------------------------------------------------------------------*/
#terms_of_use p {
    padding:0 0 0 1em;
}

.info-items {
    display:flex;
}

#info-menu p {
    color: white;
}
#law dt {
    font-weight: bold;
}
#law dd {
    padding-left: 1em;
}
