@charset "utf-8";
/* CSS Document */

#section01 .wrapper{
	width: 90%;
	margin: 0 auto;
	text-align: center;
	padding: 0!important;
}

#section01 .wrapper div h3{
	width: 75%;
	margin: 0 auto;
	text-align: center;
}

.step_img{
	width: 80%;
	height: auto;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 2rem;
}

.thanksText{
	width: 100%;
	text-align: center;
	padding-bottom: 15rem;
}

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

.formWrapper{
	width: 90%;
	height: auto;
	margin: 0 auto;
	padding: 3rem;
}

.f_item{
	width: 90%;
	height: auto;
	margin: 0 auto;
	padding-top: 1.2rem;
	padding-bottom: 1.4rem;
	border-bottom: #E1E1E1 dotted 1px;
	display: table;
}


.f_item.txtArea{
	border-bottom: none;
}

.fm_col01{
	width: 23%;
	height: auto;
	display: table-cell;
	vertical-align: middle;
	}

.fm_col02{
	width: 10%;
	height: auto;
	display: table-cell;
	vertical-align: middle;
}

.fm_col02 p{
	font: italic;
    font-size: 0.7rem;
	color: #FFFFFF;
	text-align: center;
	vertical-align: middle;
	background-color: #b10020;
	margin-top: 3px;
}
.fm_col03{
	width: 55%;
	height: auto;
	text-align: left;
	padding-bottom: 5px;
	padding-left: 45px;
	display: table-cell;
	vertical-align: middle;
}

.fm_col03 input{
	line-height: 1.4;
	margin-top: 0.4rem;
}

.fm_col03 textarea{
	border: 1px #CCCCCC solid;
	line-height: 1.4;
	padding: 0.6rem;
}

@media only screen and  ( maX-width : 768px ){
	
#section01 .wrapper div h3{
	width: 98%;
	text-align: left;
	display: inline-block;
}
	
.step_img{
	width: 100%;
}	
	
.formWrapper{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}	
	
.f_item{
	width: 98%;
	display: flex;
	flex-flow: column;
	}
	
.fm_col01{
	width: 40%;
	height: auto;
	}

.fm_col02{
	width: 10%;
	height: auto;
}
.fm_col02 p{
	font: italic;
    font-size: 0.7em;
	color: #FFFFFF;
	text-align: center;
	vertical-align: baseline;
	background-color: #D7000F;
	margin-top: 5px;
}
.fm_col03{
	width: 55%;
	height: auto;
	text-align: left;
	padding-bottom: 10px;
	padding-left: 0;
	padding-right: 10px;
}
}

.fm_btn_area{
	width: 95%;
	margin: 0 auto;
	margin-top: 35px;
	margin-bottom: 35px;
	text-align: center;
	
}

.fm_btn_area02{
	width: 75%;
	margin: 0 auto;
	padding: 2rem 0; 
	display: table;
}

.fm_btn_area02 span{
	display: table-cell;
}

@media only screen and  ( maX-width : 768px ){
.fm_btn_area02{
	width: 100%;
	margin: 0;
	padding: 2rem 0; 
	display: flex;
	flex-flow: column;
	justify-content: center
}
.fm_btn_area02 span{
	padding: 0.5rem 0;
}
}

.warning{
	width: 95%;
	height: auto;
	margin: 0 auto;
	margin-top: 35px;
	margin-bottom: 35px;
	text-align: center;
}

.submitButton{
	width: 320px;
	margin: 0 auto;
	padding: 0;
}	

.buttonBlack {
	margin: 0;
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
    padding: 10px 30px;
    text-align: center;
	font-size: 1rem;
    outline: none;
	width: 240px;
	background-color: #333333;
    /*アニメーションの指定*/   
    transition: ease .2s;
	-webkit-text-size-adjust:100%;
	z-index: 1;
}

/*ボタン内spanの形状*/
.buttonBlack{
  position: relative;
  z-index: 4;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color:#FFFFFF;
}

.buttonBlack:hover {
	color:#fff;
	text-decoration: underline; 
	text-decoration-color: #FFFFFF;
	text-underline-offset: 0.25rem;
	cursor: pointer;
}


.bgskew_smpred::before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: -150%;
    /*色や形状*/
  background: #b10020;
  width: 120%;
  height: 100%;
  transform: skewX(-25deg);
}

/*hoverした時のアニメーション*/
.bgskew_smpred:hover::before {
  animation: skewanime .5s forwards;/*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
  100% {
    left:-10%;/*画面の見えていない左から右へ移動する終了地点*/
  }
}