@charset "utf-8";
/* CSS Document */
/*フォーム*/
form > p{margin-bottom: 0;}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select {
  width: 100%;
  height: 3.5em;
  padding: 0 1em;
  border: solid #000000 1px;
  border-radius: 0.2em;
  background: #FFF;
  box-shadow: none;
  margin-top: 0.5em;
  margin-bottom: 1.5em; }

input[type="text"]:disabled{
  background: rgb(238, 238, 238);}

input[type="number"] {
  width: 8em; }

textarea {
  height: 10em;
  padding: 1em; }

.select_wrap {
  position: relative;
  display:block; }

.select_wrap::after {
  width: 0.6em;
  height: 0.6em;
  border: 1px solid;
  border-color: transparent transparent #05193B #05193B;
  position: absolute;
  right: 1em;
  top: 1.2em;
  transform: rotate(-45deg);
  content: '';
  pointer-events: none; }

select {
  /*background: linear-gradient(to left, #747686, #747686 2.5em, #fff 2.5em, #fff 100%);*/
  appearance: none; }
  
fieldset{
  padding-left: 0;}

input[type="checkbox"] {
    /*display: none;*/
	visibility: hidden;
	width: 0;}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
  margin-top: 5px;
  margin-left: 0;
  display: block; }

.area_check {
    position: relative;
    padding-left: 1.5em; }

.area_check::before {
    display: block;
    width: 1.2em;
    height: 1.2em;
    position: absolute;
    top: 50%;
    left: 0px;
    box-sizing: border-box;
    content: '';
    background: #fff;
    border: 1px solid #A9A9A9;
    border-radius: 0px;
    transform: translateY(-50%); }

.area_check::after {
    display: block;
    width: 0.4em;
    height: 0.7em;
    position: absolute;
    top: 0.65em;
    left: 0.45em;
    box-sizing: border-box;
    opacity: 0;
    content: '';
    border-right: 2px solid  var(--color-red);;
    border-bottom: 2px solid  var(--color-red);;
    transform: translateY(-50%) rotate(45deg);
    transition: opacity 0.5s ease; }

.area_check:has(input[type="checkbox"]:checked):after{
    opacity: 1; }
    
input[type="radio"] {
    /*display: none;*/
	visibility: hidden;
	width: 0;}

.wpcf7-radio .wpcf7-list-item {
  margin-top: 5px;
  margin-left: 0;
  display: block; }
.wpcf7-radio .wpcf7-list-item.last {
  margin-bottom: 1.5em}

.area_radio {
    position: relative;
    padding-left: 1.5em; }

.area_radio::before {
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    top: 0.25em;
    left: 0.25em;
    box-sizing: border-box;
    content: '';
    background: #fff;
    border: 1px solid #A9A9A9;
    border-radius: 50%; }

.area_radio::after {
    display: block;
    width: 0.5em;
    height: 0.5em;
    position: absolute;
    top: 0.5em;
    left: 0.5em;
    box-sizing: border-box;
    content: '';
    background: var(--color-red);
    border-radius:50%;
    opacity: 0;
    transition: opacity 0.5s ease; }

.area_radio:has(input[type="radio"]:checked):after{
    opacity: 1; }

/*オートコンプリートの背景色を取り除く*/
input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #999 inset; }

.wpcf7-radio .wpcf7-list-item {
  margin-top: 5px;
  display: block; }

.submit_wrap,
.wpcf7cp-btns button{
  display: inline-block;
  border-radius: 3em;
  position: relative;
  transition-duration: 0.3s;
  overflow: hidden;
  background-color: var(--color-red);
  border: 1px solid var(--color-red)}
.wpcf7cp-btns button{
  font-size: 1.25em;
  font-weight: 700;
  padding: 1em;
  color: var(--color-white);
  transition-duration: 0.3s; }

input[type="submit"],
input[type="button"] {
  min-width: 288px;
  font-size: 1.25em;
  font-weight: 700;
  border: none;
  background: transparent;
  color: var(--color-white);
  padding: 1em;
  transition-duration: 0.3s; }

input[type="submit"]:hover,
input[type="button"]:hover,
.wpcf7cp-btns button:hover{
  color: var(--color-red);
  background: var(--color-white);}

/*.submit_wrap::before,
.wpcf7cp-btns button::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background-color: var(--color-white);
  border:none;
  transform-origin: left top;
  transform: scale(0, 1);
  transition: transform .3s; }
.submit_wrap:hover::before,
.wpcf7cp-btns button:hover::before {
  transform: scale(1, 1); }*/

.submit_wrap::after,
wpcf7cp-btns button::after{
  font-family: iconmett;
  content: "\e900";
  color: var(--color-white);
  font-size: 1.7em;
  padding-left: 5px;
  vertical-align: sub;
  position: absolute;
  z-index: 10;
  left: calc(50% + 2em);
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.5s ease;}
.submit_wrap:hover::after,
wpcf7cp-btns button:hover::after {
  color: var(--color-red);}

