
.cp_ipselect {
  margin-top: 5px;
	overflow: hidden;
	width: 100%;
  position: relative;
  border-radius: 50px;
	background: #fff;
  border: #29cde5 1px solid;
}

.cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
  box-sizing: border-box;
}
.cp_ipselect select::-ms-expand {
    display: none;
}

.cp_ipselect::before {
	position: absolute;
	top: calc(50% - 6px);
	right: 20px;
	width: 6px;
	height: 6px;
	padding: 0;
	content: '';
	border-bottom: 1px solid #29cde5;
	border-right: 1px solid #29cde5;
	pointer-events: none;
  transform: rotate(45deg);
}
.cp_ipselect select {
	padding: 1.2em 38px 1.2em 1.3em;
	color: #000;
  font-weight: bold;
}
@media only screen and (min-width: 783px) {
  .cp_ipselect select {padding: 1.5em 38px 1.5em 2.5em;}
  .cp_ipselect::before { border-width: 2px;}
}
.cp_ipselect select option {
  background: #fff;
  color: #000;
}


.go2index {
  text-align: center;
}
.go2index a {
  width: 190px;
  height: 50px;
  background: #000;
  color: #fff;
  border-radius: 50px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 86%;
}
.go2index a:hover { animation: flash 0.5s ease;}
@media only screen and (max-width: 782px) {
  .go2index a { height: 44px; padding: 0 33px; width: 125px;}
}

/* ------ form ------ */

input, select {
  vertical-align: middle;
}

input {
	line-height: normal;
}


button,
button[disabled]:hover,
button[disabled]:focus,
input[type="button"],
input[type="button"][disabled]:hover,
input[type="button"][disabled]:focus,
input[type="reset"],
input[type="reset"][disabled]:hover,
input[type="reset"][disabled]:focus,
input[type="submit"],
input[type="submit"][disabled]:hover,
input[type="submit"][disabled]:focus,
.go2top a {
	background: #3672dd;
	border: none;
	color: #fff;
	letter-spacing: 0.1rem;
	box-shadow: none;
	padding: 20px 90px 20px 20px;
	/*text-shadow: 1px 1px 2px #13AA00, -1px -1px 2px #13AA00;*/
	-webkit-appearance: none;
	appearance: none;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  font-size: 14px;
  border-radius: 20px;
  font-family: YakuHanJP, 'Noto Sans JP', YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

.go2top a { text-decoration: none; display: inline-block; overflow: hidden;}

.btnWrap, .btnWrapBack {
  position: relative; display: inline-block;
}
.btnWrapBack { margin-right: min(15px, 2.5vw);}
.lnav-confirm .btnWrap { margin-left: min(15px, 2.5vw);}

.btn input { position: relative; z-index: 1;}
input + .arrow {
  text-align: right;
  position: absolute;
  color: #38a4b6;
  right: -30px;
  top: 50%;
  z-index: 2;
}
input + .arrow::before,
input + .arrow::after {
  position: absolute;
  content: "";
  background: #38a4b6;
  width: 60px;
  height: 1px;
  right: 0;
  top: 50%;
}
input + .arrow i.lt {
  position: absolute;
  right: -10px;
  top: calc(50% - 5px);
  width: 10px;
  height: 10px;
  border-top: #38a4b6 1px solid;
  border-right: #38a4b6 1px solid;
  transform: rotate(45deg);
}

input + .arrow::after { transform-origin: center right;}
input + .arrow::before { transform: scaleX( 0); transform-origin: center left;}
input:hover + .arrow::before { animation: nobiru 0.5s ease; animation-delay: 0.2s;}
input:hover + .arrow::after { animation: chijimu 0.5s;}

input + .arrow.vertical {
    transform: rotate(90deg);
    padding-right: 0;
    margin-top: -4vw;
}
input + .arrow.vertical::before, input + .arrow.vertical::after { width: 30px;}

.btnWrapBack input + .arrow { transform: rotate(180deg); right: auto; left: -30px;}

@media only screen and (max-width: 782px) {
  input + .arrow {
    right: -20px;
  }
  input + .arrow::before,
  input + .arrow::after {
      width: 44px;
  }
  input + .arrow i.lt {
      right: -8px;
      top: calc(50% - 4px);
      width: 8px;
      height: 8px;
  }
}


label { display: inline-block}
label:not(:last-child) { margin-right: 2rem;}
input[type="button"],
input[type="submit"],
  .go2top a {
    background: #3672dd;
    color: #fff;
    border: none;
    transition: background 0.5s ease;
    cursor: pointer;
    width: min(350px,45.5vw);
    height: 100px;
    padding: 0;
    text-align: center;
    font-weight: bold;
    font-size: 1.6rem;
  }
.go2top { text-align: center; margin-top: 90px;}
.go2top a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  text-decoration: none !important;
}
input[type="button"]:hover,
input[type="submit"]:hover,
.go2top a:hover {
  animation: flash 0.5s ease;
}

p.btn.disabled {
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.5;
}


@media only screen and (max-width: 782px) {
	button,
	button[disabled]:hover,
	button[disabled]:focus,
	input[type="button"],
	input[type="button"][disabled]:hover,
	input[type="button"][disabled]:focus,
	input[type="reset"],
	input[type="reset"][disabled]:hover,
	input[type="reset"][disabled]:focus,
	input[type="submit"],
	input[type="submit"][disabled]:hover,
	input[type="submit"][disabled]:focus,
  .go2top a {
		height: 45px;
		padding: 10px 16px 10px 16px;
    font-size: 14px;
     border-radius: 10px;
	}
  .go2top {margin-top: 50px;}
}
input[type="button"].back {
  background: #3672dd;
  color: #fff;
  filter: grayscale(1);
}



button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	outline: thin dotted;
	outline-offset: -4px;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="week"],
input[type="month"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea {
	background: #f6f6f6 !important;
	border: #f6f6f6 1px solid;
  border-radius: 5px;
	padding: 2rem 2.8rem;
	width: 100%;
  max-width: 100%;
	box-sizing: border-box;
	font-size: 1.6rem;
  font-family: YakuHanJP, 'Noto Sans JP', YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  color: #000;
  box-shadow: 0 0 0 1000px #f6f6f6 inset !important;
}
input[type="text"]:-webkit-autofill {
	box-shadow: 0 0 0px 1000px #f6f6f6 inset;
  border: #f6f6f6 1px solid;
  background: #f6f6f6 !important;
  -webkit-text-fill-color: #000 !important;
}
@media only screen and (max-width: 782px) {
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="week"],
  input[type="month"],
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="number"],
  textarea {
    padding: 1.6rem 1.8rem;
    font-size: 1.2rem;
  }
}
input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
input[type="week"]:focus,
input[type="month"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
	border-color: #272727;
	outline: 0;box-shadow: 0 0 5px 5px rgba(255,255,255,0.05);
}



input[type="checkbox"] {
  /*transform: scale(1.5);*/
  box-shadow: none;
  border: #d9d9d9 1px solid;
  margin-top: 0;
}
input[name="check_must"] {
  opacity: 0;
}
p.check label { display: flex; align-items: center; justify-content: center; flex-wrap: wrap;}
i.icon-check {
  width: 25px;
  height: 25px;
  box-sizing: border-box;
  position: relative;
  background: #fff;
  border: #d9d9d9 2px solid;
  border-radius: 0;
  display: inline-block;
  margin-right: 20px;
}
input:checked + i.icon-check::before {
  content: "";
  width: 11px;
  height: 22px;
  border-right: #153182 5px solid;
  border-bottom: #153182 5px solid;
  transform: rotate(45deg);
  left: 8px;
  top: -11px;
  display: block;
  z-index: 2;
  position: absolute;
}
.check-err i.icon-check {
  background-color: #fff;
	border-color: #153182;
}
@media only screen and (max-width: 782px) {
	input[type="radio"] {
	  margin-top: 0;
	}
  td label { padding-top: 0.3rem; padding-bottom: 0.3rem; align-items: center;}
  i.icon-check { transform: scale(0.8);}
}
input::placeholder,
textarea::placeholder{
  color: #666666;
}

/* IE */
input:-ms-input-placeholder {
  color: #666666;
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-input-placeholder{
  color: #666666;
}
input:focus::placeholder,
textarea:focus::placeholder {
  color: #9c9c9c;
}

/* IE */
input:focus:-ms-input-placeholder {
  color: #9c9c9c;
}

/* Edge */
input:focus::-ms-input-placeholder,
textarea:focus::-ms-input-placeholder {
  color: #9c9c9c;
}

input[type="text"].err,
input[type="email"].err,
textarea.err {
	/*background-color: #6a354c;*/
	border: #e60e65 3px solid;
}



input[type="radio"] {  
  display: none;
}
input[type="radio"] + label {
  position: relative;
  cursor: pointer;
  padding: 0.9rem 0 0.9rem 33px;
  font-weight: bold;
  font-size: 92%;
  display: inline-block;
}
input[type="radio"] + label::before,
input[type="radio"] + label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  box-sizing: border-box;
}
label::before {
  background-color: #fff;
  border: 2px solid #d9d9d9;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  left: 3px;
}
.check-err label::before {border-color: #153182;}

label::after {
  background-color: #000;
  border-radius: 50%;
  opacity: 0;
  width: 12px;
  height: 12px;
  left: 9px
}

input:checked + label::after {
  opacity: 1;
}

.grecaptcha-badge { z-index: 999;}


form .cp_ipselect {
  margin: 0;
	overflow: hidden;
	width: 100%;
  position: relative;
  border-radius: 5px;
	background: #f6f6f6;
  border: none;
}

form .cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
  box-sizing: border-box;
}
form .cp_ipselect select::-ms-expand {
  display: none;
}

form .cp_ipselect::before {
	position: absolute;
	top: calc(50% - 8px);
	right: 15px;
	width: 10px;
	height: 10px;
	padding: 0;
	content: '';
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	pointer-events: none;
  transform: rotate(45deg);
  z-index: 2;
}
form .cp_ipselect::after {
	position: absolute;
	top: 0;
	right: 0px;
	width: 40px;
	height: 100%;
	padding: 0;
	content: '';
  background: #000;
  border-radius: 0 5px 5px 0;
	pointer-events: none;
  z-index: 1;
}
form .cp_ipselect select {
	padding: 1.2em 50px 1.2em 1.3em;
	color: #000;
  font-weight: bold;
}
@media only screen and (min-width: 783px) {
  form .cp_ipselect select {padding: 1.5em 80px 1.5em 2.5em;}
  form .cp_ipselect::before { right: 20px;}
  form .cp_ipselect::after {width: 50px;}
}



