@charset "UTF-8";

/*ヘッダフッタ機能非表示*/
#gNav,
#pNav {
	display: none;
}

#tabArea {
	display: none;
}

#fNav ul li {
	display: none;
}
#hamburger p {
	display: none;
}
/*ヘッダフッタ機能非表示*/


/* layout */

.formArea {
  margin:0;
  padding:30px 0 0 0;
}

h2.title {
  font-size:22px;
  font-size:2.2rem;
  line-height:30px;
  line-height:3rem;
  font-weight:bold;
  max-width:1130px;
  margin:0 auto;
  /*padding:65px 0 15px 0;*/
  padding:40px 0 15px 0;
  background:#fdf4ef;
}

.pc_none {display:none;}
.sp_none{display:block;}

@media only screen and (max-width: 480px) {
.pc_none{display:block;}
.sp_none {display:none;}
	
h2.title {
  padding:15px 0;
}
}

h2.title p {
  font-weight:bold;
}

h3.title {
  font-size:16px;
  font-size:1.6rem;
  line-height:20px;
  line-height:2rem;
  font-weight:bold;
  margin:0;
  padding:25px 0 10px 0;
}

h3.title::before {
  display:inline-block;
  content:"";
  width:0.4rem;
  height:2rem;
  background:#000;
  margin:0 10px 0 0;
  padding:0;
  font-size:20px;
  font-size:2rem;
  line-height:20px;
  line-height:2rem;
  font-weight:bold;
  vertical-align:middle;
}

/* stepNav追加部分始まり */
.stepNav {
  display: flex;
  align-items: center;
  height: 62px;
  background-image: url('../imgs/3step_current1.svg');
  background-size: 100% 62px;
  background-repeat: no-repeat;
}

.stepNav.step3.current2 {
  background-image: url('../imgs/3step_current2.svg');
}

.stepNav.step3.current3 {
  background-image: url('../imgs/3step_current3.svg');
}


.stepNav__item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 25%;
  height: 100%;
  padding: 0 12px 0 0;
  font-size: 1.8rem;
}

.step3 .stepNav__item {
  width: calc(100% / 3);
}

.stepNav__wh{
  color: #ffffff;
}

.disable_btn {
    /* 既存のスタイルに加えて以下を追記 */
    pointer-events: none;
    opacity: 0.5; /* 非活性っぽく見せるため */
}

@media screen and (max-width: 768px) {
  .stepNav {
      display: flex;
      align-items: center;
      max-width: 400px;
      margin: 0 auto;
      height: 80px;
      background-image: url('../imgs/3step_current1_sp.svg');
      background-size: 100% 80px;
      background-repeat: no-repeat;
    }
  .stepNav__item {
        padding: 0;
        font-size: 1.4rem;
        
  }
 .stepNav.step3.current2 {
   background-image: url('../imgs/3step_current2_sp.svg');
 }

 .stepNav.step3.current3 {
   background-image: url('../imgs/3step_current3_sp.svg');
 }

.step3 .stepNav__item:first-child{
  padding-left:  7px;
}

.step3 .stepNav__item:nth-child(2){
  padding-left: 5%;
}

.step3 .stepNav__item:last-child {
  /* padding-right: 2vw;
  padding-left: 2vw; */
  margin-right: 0;
}
}

/* stepNav追加部分終わり */


dl {
  width:100%;
  margin: 0;
  padding: 30px 0;
  font-size: 0;
  border-top:2px solid #fff;
  display: inline-table;
}

dl dt {
  position:relative;
  width: 30%;
  display: table-cell;
  margin: 0;
  padding: 7px 0;
  background: #f4f4f4;
  text-align: center;
  vertical-align: middle;
}

dl dd {
  position: relative; /* 追記：吹き出しの基準点にする */
  width: 68%;
  display: table-cell;
  margin: 0;
  padding: 0 1%;
  vertical-align: middle;
  background:#fff;
}

.attention_balloon {
	background-image: url(../imgs/bg-attention_balloon.png);
	background-repeat: no-repeat;
	background-position: 20px top;
	padding-top: 14px;
	position: absolute;
	z-index: 100;
	margin-top: -14px;
	background-size: 17px 15px;

/* --- 追記：文字の表示と横幅の制御 --- */
    font-size: 1.4rem;   /* dlの font-size: 0 を上書きして文字を表示 */
    width: auto;         /* 横幅をコンテンツ（文字）に合わせる */
    max-width: 250px;    /* PCで広がりすぎないよう最大幅を制限（数値は任意） */

}
.attention_balloon div.inner {
	border: 2px solid #800200;
	padding: 8px 15px 8px 15px;
  min-width: 150px;
	border-radius: 5px;
	white-space: nowrap;
	background-color: #FFFFFF;
	color:#333333;

}
.attention_balloon2 {
	background-image: url(../imgs/bg-attention_balloon.png);
	background-repeat: no-repeat;
	background-position: 20px top;
	padding-top: 14px;
	position: absolute;
	z-index: 100;
	margin: -8px 0px 0px 170px;
	background-size: 17px 15px;

/* --- 追記：文字の表示と横幅の制御 --- */
    font-size: 1.4rem;   /* dlの font-size: 0 を上書きして文字を表示 */
    width: auto;         /* 横幅をコンテンツ（文字）に合わせる */
    max-width: 250px;    /* PCで広がりすぎないよう最大幅を制限（数値は任意） */

}
.attention_balloon2 div.inner {
	border: 2px solid #800200;
	padding: 8px 15px 8px 15px;
  min-width: 150px;
	border-radius: 5px;
	white-space: nowrap;
	background-color: #FFFFFF;
	color:#333333;

}
.underline{
    border-bottom:1px solid #BFC5CA;
}
@media only screen and (max-width: 480px) {
  .attention_balloon{
	  width:auto;
	  background-position: 30px top;
  }
  .attention_balloon div.inner {
	  white-space: normal;
	  width: auto;
  }
  .attention_balloon2{
		width:auto;
		background-position: 30px top;
		margin: -8px 0px 0px 0px;
  }
	.attention_balloon2 div.inner {
		white-space: normal;

	}
}
@media only screen and (max-width: 480px) {
dl dt {
  width: 98%;
  display: inline-block;
  margin: 0;
  padding: 10px 1%;
  text-align: left;
  vertical-align: top;
}

dl dd {
  width: 98%;
  display: inline-block;
  margin: 0;
  padding: 2% 1%;
  vertical-align: top;
  background:#fff;
}
}

dl dd p {
  margin:0;
  padding:5px 0;
}

.w50p {
  width: 50%;
  display: inline-block;
}
.w30p {
  width: 30%;
  display: inline-block;
}

/* form reset css  */

input, button, textarea, label {
  position:relative;
  margin: 0;
  padding: 5px 1%;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 22px;
  line-height: 2.2rem;
}

/* IE only */
input::-ms-clear {
 display: none;
}
 input::-ms-reveal {
 display: none;
}

/* radio */
input[type="radio"] {
  display: none;
  display: inline-block\9;
}

label.radio {
  width: auto;
  position: relative;
  display: inline-block;
  padding: 5px 5px 5px 30px;
  line-height: 20px;
  line-height: 2rem;
  cursor: pointer;
}

label.radio::before, label.radio::after {
  position: absolute;
  content: '';
  top: 50%;
  border-radius: 100%;
  -webkit-transition: all .2s;
  transition: all .2s;
}

label.radio::before {
  left: 0;
  width: 18px;
  height: 18px;
  margin-top: -10px;
  background: #f3f3f3;
  border: 1px solid #ccc;
}

label.radio:hover::before {
  background: #fff;
}

label.radio::after {
  opacity: 0;
  left: 5px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  background: #d76261;
  -webkit-transform: scale(2);
  transform: scale(2);
}

input[type="radio"]:checked + label::before {
  background: #fff;
  border: 1px solid #d76261;
}

input[type="radio"]:checked + label::after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* checkbox */
input[type="checkbox"] {
  display: none;
}

label.checkbox {
  width: auto;
  position: relative;
  display: inline-block;
  padding: 5px 5px 5px 30px;
  line-height: 20px;
  line-height: 2rem;
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s;
}

label.checkbox::before, label.checkbox::after {
  position: absolute;
  content: '';
  -webkit-transition: all .2s;
  transition: all .2s;
}

label.checkbox::before {
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  margin-top: -10px;
  background: #f4f4f4;
  border: 1px solid #ccc;
  border-radius: 3px;
}

label.checkbox::after {
  opacity: 0;
  top: 50%;
  left: 2px;
  width: 14px;
  height: 7px;
  margin-top: -7px;
  border-left: 3px solid #d76261;
  border-bottom: 2px solid #d76261;
  -webkit-transform: rotate(-45deg) scale(.5);
  transform: rotate(-45deg) scale(.5);
}

label.checkbox:hover::before {
  background: #fff;
}

input[type="checkbox"]:checked + label::before {
  background: #fff;
  border: 1px solid #d76261;
}

input[type="checkbox"]:checked + label::after {
  opacity: 1;
  -webkit-transform: rotate(-45deg) scale(1);
  transform: rotate(-45deg) scale(1);
}

/* focus color */

input, textarea, textarea {
  outline: none;
  border: 1px solid #ccc;
  -webkit-transition: all .3s;
  transition: all .3s;
}

input:focus, textarea:focus, textarea:focus {
  box-shadow: 0 0 7px #d76261;
  border: 1px solid #d76261 !important;
}

/* select */

/*
label.select::after {
  display: inline-block;
  content: "：";
  margin: 0;
  padding: 0;
}
*/
select {
  width: 100%;
  background: #f4f4f4;
  border: 1px solid #ccc;
  border-radius: 3px;
  -webkit-transition: all .3s;
  transition: all .3s;
  margin: 2px 0;
  padding: 5px;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 22px;
  line-height: 2.2rem;
}

select:hover {
  background: #fff;
}

/* button */

input[type="button"]:hover {
  background: #fff;
  border: 1px solid #d76261;
}

/* must */
span.must {
  margin: 0 10px;
  padding: 4px;
  background: #f00;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 20px;
  line-height: 2rem;
  vertical-align:middle !important;
}

dl dt span.must {
  position:absolute;
  right:0;
  margin: 0 10px;
  padding: 2px 4px;
}

.w50p input {
  width:85%;
}
@media only screen and (max-width: 736px) {
.w50p {
  width:97%;
}
}
.name1:before {
  display:inline-block;
  content:"姓：";
  margin:0;
  padding:5px 0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 22px;
  line-height: 2.2rem;
}

.name2:before {
  display:inline-block;
  content:"名：";
  margin:0;
  padding:5px 0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 22px;
  line-height: 2.2rem;
}
.kana1:before {
  display:inline-block;
  content:"セイ";
  margin:0;
  padding:5px 0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 22px;
  line-height: 2.2rem;
}

.kana2:before {
  display:inline-block;
  content:"メイ";
  margin:0;
  padding:5px 0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 22px;
  line-height: 2.2rem;
}

input#age {
  width:50px;
}

select#address1 {
  width:auto;
  margin:0 0 0 10px;
}
input#postcode1 {
  width:40px;
}
input#postcode2 {
  width:80px;
}
input#address2,
input#address3 {
  width:85%;
}
@media only screen and (max-width: 736px) {
input#address2,
input#address3 {
  width:97%;
}
}
input#tel1,
input#tel2,
input#tel3 {
  width:15%;
}
@media only screen and (max-width: 736px) {
input#tel1,
input#tel2,
input#tel3 {
  width:27.5%;
}
}
input#email1,
input#email2 {
  width:97%;
}

textarea#etc {
  width:97%;
  resize: vertical;
}

.submit {
  text-align:center;
  font-size:0;
  margin:0;
  padding:5% 0 0 0;
}

.submit input {
  display:inline-block;
  margin:0 0.5% 5% 0.5%;
  background:url(../../imgs/hdrLine.png) top center repeat-y;
  padding:10px;
  color:#fff;
  font-weight:bold;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 22px;
  line-height: 2.2rem;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.submit input:hover {
  background:url(../../imgs/hdrLine.png) top right repeat-y;
}
#part {
  display:none;
}

.ppLink {
  position:relative;
  margin:30px 0 0 0;
  padding:0;
  font-size:16px;
  font-size:1.6rem;
  font-weight:bold;
  text-align:center;
}

.ppLink::before {
  display:inline-block;
  content:"";
  margin:0 0.5rem 0 0;
  padding:0;
  width:9px;
  height:9px;
  border:1px solid #444;
  border-right:2px solid #444;
  border-bottom:2px solid #444;
}
.ppLink a{
  text-decoration:underline;
}
