@charset "utf-8";



.form-group{
  margin-bottom: 35px;
}




input:required{
  background: #ffcdd2;
}
input[type="email"]:invalid{
  background: #ffcdd2;
}
input:valid{
  background: transparent;
}
input:focus{
  background: #DCEDC8;
}


.label-position{
  margin-bottom: 15px;
}


.form-size50 {
  width: 50%;
}


p.error_comment {
	font-weight: 700;
	font-size: 110%;
	color :#C00000;
	margin-bottom: 30px;
	text-align: left;

}


p.confirm_comment {
	font-weight: 700;
	font-size: 110%;
	color :#C00000;
	margin-bottom: 30px;
	text-align: center;

}


p.mail_comment {
	font-weight: 700;
	font-size: 110%;
	color :#A9D18E;
	margin-bottom: 30px;
	text-align: center;

}

p.password_comment {
	font-weight: 700;
	font-size: 110%;
	color :#C00000;
	margin-bottom: 30px;
	text-align: center;

}



.input_area {
	box-sizing: border-box;
	border: solid 1px #A5A5A0;
	width: 100%;
	padding: 40px;
	margin-top: 30px;
	text-align: center;
	background-color :#ffffff;
}


.input_area_in {
	margin: 0 auto 0 auto;
	width: 100%;
	text-align: left;
}


.input_area_in2 {
	margin: 0 auto 0 auto;
	width: 100%;
	text-align: left;
}







.m-textform-text {
	height: 350px;
	width: 100%;
	padding: 10px 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	margin-top: 10px;
	font-size: 120%;
	box-sizing: border-box;
	line-height: 1.8;
}

.m-textform-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}





/******************************************************************************
/* テキストフォーム
*******************************************************************************/


.form-item-body {
	margin: 0 auto 30px auto;

}

.form-item-body2 {
	margin: 0 auto 30px auto;
	width: 34%;
	text-align: left;

}



/******************************************************************************
/* テキストフォーム
*******************************************************************************/


.form-item-text {
}

.m-form-text {
	height: 50px;
	width: 100%;
	padding: 0 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	margin-top: 10px;
	font-size: 100%;
	box-sizing: border-box;

}




.m-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}




.m-form-text2 {
	height: 50px;
	width: 150px;
	padding: 0 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	margin-top: 10px;
	font-size: 100%;
	box-sizing: border-box;

}

.m-form-text2:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.m-form-text3 {
	height: 50px;
	width: 250px;
	padding: 0 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	margin-top: 10px;
	font-size: 100%;
	box-sizing: border-box;

}

.m-form-text3:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}





::placeholder {
	color: #8E9298;
	font-size: 100%;
	letter-spacing: 1.2px;
}



.form-control {


	margin-top: 10px;


}



/******************************************************************************
/* ステップ横並び
*******************************************************************************/

.step_area {
	width: 100%;
	text-align: left;
}


.item {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0px auto 0px auto;
}


.item_block {
	position: relative;
	margin: 0px auto 0px auto;
}



.process_nav {
	width: 100%;
	margin: 0px auto 50px auto;

}

.process_nav ul{
	width: 100%;
}

.process_nav li {
	display: inline-block;
}
 
.process_nav li:nth-child(1) {
	width: 190px;
}

.process_nav li:nth-child(2) {
	width: 40px;
	flex-wrap: wrap;
}

.process_nav li:nth-child(3) {
	width: 190px;
}

.process_nav li:nth-child(4) {
	width: 40px;
}

.process_nav li:nth-child(5) {
	width: 190px;

}

/******************************************************************************
/* ステップマーク
*******************************************************************************/

.balloon3-right {
	position: relative;
	display: inline-block;
	margin: 0px auto 0px auto;
	padding: 0 5px;
	width: 50px;
	height: 50px;
	background: #ff8e9d;
	border-radius: 50%;
	box-sizing: border-box;
}

.balloon3-right:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -15px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-left: 15px solid #ff8e9d;
	z-index: 0;
}


.balloon3-right2 {
	position: relative;
	display: inline-block;
	margin: 0px auto 0px auto;
	padding: 0 5px;
	width: 50px;
	height: 50px;
	background: #C4C4C4;
	border-radius: 50%;
	box-sizing: border-box;
}

.balloon3-right2:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -15px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-left: 15px solid #C4C4C4;
	z-index: 0;
}




.balloon3-right p.step1 {
	text-align: center;
	color: #FFF;
	font-size: 70%;
	font-weight: 700;
	margin-top: 12px;
	margin-bottom: -9px;
}

.balloon3-right p.step2 {
	text-align: center;
	color: #FFF;
	font-size: 80%;
	font-weight: 700;
}

.step3 {
	position: absolute;
	top: 14px;
	left: 65px;
	font-size: 90%;
	font-weight: 700;
}



.balloon3-right2 p.step1 {
	text-align: center;
	color: #FFF;
	font-size: 70%;
	font-weight: 700;
	margin-top: 12px;
	margin-bottom: -9px;
}

.balloon3-right2 p.step2 {
	text-align: center;
	color: #FFF;
	font-size: 80%;
	font-weight: 700;
}

.step3_2 {
	position: absolute;
	top: 14px;
	left: 65px;
	font-size: 90%;
	font-weight: 700;
	color: #C4C4C4;
}


/******************************************************************************
/* 矢印
*******************************************************************************/


.arrow {
	display:inline-block;
	height:5px;
	width:15px;
	background-color:#FF8E9D;
	position:relative;
	top: 27px;
}

.arrow:before {
	position:absolute;
	content:"";
	width:0;
	height:0;
	border:10px solid transparent;
	border-left:15px solid #FF8E9D;
	left:15px;
	top: -8px;
}


.arrow2 {
	display:inline-block;
	height:5px;
	width:15px;
	background-color:#C4C4C4;
	position:relative;
	top: 27px;
}

.arrow2:before {
	position:absolute;
	content:"";
	width:0;
	height:0;
	border:10px solid transparent;
	border-left:15px solid #C4C4C4;
	left:15px;
	top: -8px;
}



/******************************************************************************
/* バッジ
*******************************************************************************/

.sankou-badge, .link-badge {
	padding: 3px 10px;
	margin-right: 8px;
	margin-left: 1px;
	font-size: 80%;
	font-weight: 700;
	color: white;
	border-radius: 3px;
	box-shadow: 0 0 3px #ddd;
	white-space: nowrap;
}

.link-badge {
  background-color: #58ACFA; /*青*/
}

.sankou-badge {
  background-color: #DC3545; /*緑*/
}


/******************************************************************************
/* ラジオボタン
*******************************************************************************/


.recruit_class {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
	padding-bottom: 10px;
}

.recruit_class label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

.recruit_class label::before,
.recruit_class label::after {
    border-radius: 50%;
    content: '';
}

.recruit_class label::before {
    width: 18px;
    height: 18px;
    border: 2px solid #dee5eb;
    box-sizing: border-box;
}

.recruit_class label::after {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    background-color: #dee5eb;
}

.recruit_class label:has(:checked)::after {
    background-color: #2589d0;
    animation: anim-recruit_class .3s linear;
}

@keyframes anim-recruit_class {
    0% {
        box-shadow: 0 0 0 1px transparent;
    }
    50% {
        box-shadow: 0 0 0 10px #2589d033;
    }
    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}

.recruit_class input {
    display: none;
}


/******************************************************************************
/* チェックボックス設定
*******************************************************************************/


.ECM_CheckboxInput {
  padding: 12px 8px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.ECM_CheckboxInput-Input {
  margin: 0;
  width: 0;
  opacity: 0;
}
.ECM_CheckboxInput:hover > .ECM_CheckboxInput-DummyInput {
  background: #DDDDDD !important;
  border: solid 2px #333333;
}
.ECM_CheckboxInput-Input:focus + .ECM_CheckboxInput-DummyInput {
  background: #DDDDDD !important;
  border: solid 2px #333333;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
  border: solid 2px #333333;
  background: #FFFFFF;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") no-repeat center;
  background-size: contain;
}
.ECM_CheckboxInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 32px;
  height: 32px;
  border: solid 2px #888888;
  background: #FFFFFF;
  border-radius: 4px;
}
.ECM_CheckboxInput-LabelText {
  margin-left: 12px;
  display: block;
  font-size: 14px;
  font-weight: bold;
}

/******************************************************************************
/* プライバシーポリシー確認
*******************************************************************************/


.box_comment_form {
	margin: 0px auto 30px auto;
	width: 80%;
	text-align: left;
	box-sizing: border-box;/*←全て含めてmin-height:100vhに*/

}




.privacy_box {
	margin: 20px auto 20px auto;
	width: 80%;
	text-align: center;
}

.privacy_box_in {
	margin: 0px auto 0px auto;
	width: 260px;
	text-align: left;
}




/******************************************************************************
/* ボタン
*******************************************************************************/

.btn_submit{
	display: inline-block;
	vertical-align: middle;
	margin: 0px auto 0px auto;
	padding: 6px 25px;
	font-weight: 700;
	font-size: 110%;
	letter-spacing: 0.5pt;
	cursor: pointer;
	text-decoration: none;
	height: 65px;
	box-sizing: border-box;/*←全て含めてmin-height:100vhに*/

} 



/******************************************************************************
/* ボタン
*******************************************************************************/

.submit-btn{
	display: inline-block;
	vertical-align: middle;
	margin: 20px auto 0 auto;
	padding: 6px 25px;
	color: #7EC000;
	font-weight: 700;
	font-size: 110%;
	letter-spacing: 0.5pt;
	text-decoration: none;
	background-color: #ffffff;
	border: 1px solid #7EC000;
	cursor: pointer;
	height: 65px;
	transition-duration:0.3s;
    -webkit-transition-duration:0.3s;
    -moz-transition-duration:0.3s;
    -o-transition-duration:0.3s;
    -ms-transition-duration:0.3s;
} 
.submit-btn:hover{
    color: #ffffff;
    background-color: #F15A24;
}

/******************************************************************************
/* 戻るボタン
*******************************************************************************/

.btn_back {
	display: inline-block;
	vertical-align: middle;
	margin: 0px auto 0 auto;
	padding: 6px 25px;
	color: #C4C4C4;
	font-weight: 700;
	font-size: 110%;
	letter-spacing: 0.5pt;
	text-decoration: none;
	background-color: #ffffff;
	border: 1px solid #C4C4C4;
	cursor: pointer;
	height: 65px;
	transition-duration:0.3s;
    -webkit-transition-duration:0.3s;
    -moz-transition-duration:0.3s;
    -o-transition-duration:0.3s;
    -ms-transition-duration:0.3s;
	box-sizing: border-box;/*←全て含めてmin-height:100vhに*/

} 
.btn_back:hover{
    color: #ffffff;
    background-color: #C4C4C4;
}


/******************************************************************************
/* 申し込みボタン
*******************************************************************************/


button {
	padding-top: 13px;
	padding-bottom: 10px;
	padding-left: 20px;
	padding-right: 20px;
	border: none;
	display: inline-block;
	background-color: #5A7AB3;
	box-shadow: 0 6px #4063A4;
	font-size: 114%;
	letter-spacing: 1.5px;
	line-height: 1;
	color: #fff;
	position: relative;
	cursor: pointer;
}



/*　buttonD　*/
.buttonD {
  border-radius: 2px;
  box-shadow: 0 6px #4063A4;
  top: 0;
  transition: .2s all;
	font-weight: 700;
	font-size: 90%;
}
.buttonD:hover {
  box-shadow: 0 5px #4063A4;
  top: 1px;
}
.buttonD:active {
  box-shadow: 0 0 #4063A4;
  top: 6px;
}



/******************************************************************************
/* 上下動作
*******************************************************************************/

@keyframes FloatVertical {
            0% { transform:translate3d(0,1.0vw,0); }
            50% { transform:translate3d(0,-0.5vw,0); }
            100% { transform:translate3d(0,1.0vw,0); }
          }




/*　recruit_box　*/
.recruit_box {
	position: fixed;
	bottom: 10px;  
	right: 50px;
	width: 230px;
	font-weight: 700;
	font-size: 90%;
	z-index: 99999;

}

.recruit_box_comment span {
	display: inline-block;
	font-weight: 700;
	font-size: 130%;
	color: #ffffff;
	z-index: 99999;
	margin-top: 20px;
	margin-bottom: 5px;
}



.recruit_box_comment {
	white-space: normal;         /* 標準の改行を有効 */
	word-break: keep-all;        /* 単語の途中では改行しない */
	text-align: center;
	padding-top: 50px;
}




.entry_box {
	position: relative;
	width: 230px;
	height: 150px;
	line-height: 1.4;
	transition: all 0.4s ease;
	filter: drop-shadow(1px 1px 2px #999999);
	animation: FloatVertical 5s ease-in-out 0s infinite alternate;

}

.entry_box .input_image2 {
	position: absolute;
	top: 10px;
	left: -10px;
	z-index: 200;
	margin: 0;
}

.entry_box .input_image2 img {
	width: 90px;
	height: auto;
}


/****************************************************************************************
/* ご縁設定
****************************************************************************************/



.poyooon {
animation: poyooon 1.3s linear 0s infinite alternate;
}
@keyframes poyooon {
0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }

30%  { transform: scale(1.1, 0.9) translate(0%, 2%); }

50%  { transform: scale(0.9, 1.1) translate(0%, -20%); }

70%  { transform: scale(1.1, 0.9) translate(0%, 2%); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes poyooon {
0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }

30%  { transform: scale(1.1, 0.9) translate(0%, 2%); }

50%  { transform: scale(0.9, 1.1) translate(0%, -20%); }

70%  { transform: scale(1.1, 0.9) translate(0%, 2%); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}



.input_recruit_area {
	position: relative;
	box-sizing: border-box;
	border: solid 1px #cccccc;
	width: 100%;
	margin-top: -50px;
	margin-bottom: 80px;
	padding: 0px;
	padding-top: 30px;
	padding-bottom: 35px;
	text-align: center;
	background-color :#efefef;
}

.input_area_button {
	margin: 0 auto 0 auto;
	width: 100%;
	text-align: center;
}



.input_image {
	position: absolute;
	top: -40px;
	right: -30px;
}

.input_image img {
	width: 120px;
	height: auto;
}

/*------------------------------------------------------------*/
/*------------------------------------------------------------*/
/* 601 - 768用（タブレット用）の記述 */
/*------------------------------------------------------------*/
/*------------------------------------------------------------*/


/******************************************************************************
/* スマートフォン・タブレットサイズ
*******************************************************************************/


@media screen and (max-width:1200px) {






}


/*------------------------------------------------------------*/
/*------------------------------------------------------------*/
/* 600px - 100px用（スマートフォン用）の記述 */
/*------------------------------------------------------------*/
/*------------------------------------------------------------*/


@media screen and (min-width: 100px) and (max-width: 600px)  {



/******************************************************************************
/* 囲い詳細ページレイアウト
*******************************************************************************/

.input_area {
	box-sizing: border-box;
	border: solid 1px black;
	width: 100%;
	padding: 10px;
	margin-top: 30px;
	text-align: center;
}



.input_area_in {
	margin: 0 auto 0 auto;
	padding-top : 0px;
	width: 100%;
	text-align: left;
}




.input_area2 {
	position: relative;
	box-sizing: border-box;
	border: solid 1px black;
	width: 100%;
	padding: 20px;
	margin-top: 0px;
	margin-bottom: 0px;
	text-align: left;
}


.input_area2_in {
	margin: 0 auto 0 auto;
	padding-top : 0px;
	width: 100%;
	text-align: left;
}





/******************************************************************************
/* ステップ横並び
*******************************************************************************/

.step_area {
	width: 100%;
	text-align: left;
}


.item {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0px auto 0px auto;
}




.process_nav {
	width: 100%;
	margin: 0px auto 50px auto;

}

.process_nav ul{
	width: 100%;
}

.process_nav li {
	display: inline-block;
}
 
.process_nav li:nth-child(1) {
	width: 190px;
	margin-bottom: 30px;
}

.process_nav li:nth-child(2) {
	width: 40px;
	flex-wrap: wrap;
	margin-bottom: 30px;

}

.process_nav li:nth-child(3) {
	width: 190px;
	margin-bottom: 30px;

}

.process_nav li:nth-child(4) {
	width: 40px;
	margin-bottom: 30px;

}

.process_nav li:nth-child(5) {
	width: 190px;
	margin-bottom: 30px;

}



.arrow2 {
	display:inline-block;
	height:5px;
	width:15px;
	background-color:#C4C4C4;
	position:relative;
	top: 0px;
	left:-20px;

}

.arrow2:before {
	position:absolute;
	content:"";
	width:0;
	height:0;
	border:10px solid transparent;
	border-left:15px solid #C4C4C4;
	left:15px;
	top: -8px;
}




/*　recruit_box　*/
.recruit_box {
	position: fixed;
	bottom: 10px;  
	right: 10px;
	width: 150px;
	font-weight: 700;
	font-size: 80%;
	z-index: 99999;

}

.recruit_box_comment span {
	display: inline-block;
	font-weight: 700;
	font-size: 110%;
	z-index: 99999;
	margin-bottom: 5px;
}



.recruit_box_comment {
  white-space: normal;         /* 標準の改行を有効 */
  word-break: keep-all;        /* 単語の途中では改行しない */
	text-align: center;
	padding-top: 0px;
}





.entry_box {
	position: relative;
	width: 150px;
	height: 130px;
	line-height: 1.4;
	transition: all 0.4s ease;
	filter: drop-shadow(1px 1px 2px #999999);
	animation: FloatVertical 5s ease-in-out 0s infinite alternate;

}

.entry_box .input_image2 {
	position: absolute;
	top: 0px;
	left: -10px;
	z-index: 200;
	margin: 0;
}

.entry_box .input_image2 img {
	width: 70px;
	height: auto;
}




}


