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

@media screen and (max-width:600px){
	.contact__inner{
		padding: 50px 15px 80px;
	}
	
	.contact__subtext{
		line-height: 1.6;
	}
	
	.contact .wpcf7 {
		--accent: #192B3D;
		--danger: #DF1F22;
		--text: #192B3D;
		font-size: 16px;
		line-height: 1.8;
	}
	
	.contact .wpcf7 .cf7-row {
		margin: 18px 0;
	}
	
	.contact .wpcf7 .cf7-label {
		display: block;
		color: var(--text);
		font-weight: 500;
		margin-bottom: 8px;
	}
	
	.contact .wpcf7 .cf7-badge.req {
		display: inline-block;
		margin-left: .5em;
		padding: 3px 7px;
		font-size: 12px;
		line-height: 1;
		color: var(--danger);
		border: solid 1px var(--danger);
		vertical-align: middle;
	}
	
	.contact .wpcf7 input[type="text"],
	.contact .wpcf7 input[type="email"],
	.contact .wpcf7 textarea {
		width: 100%;
		height: 30px;
		border: 1px solid var(--text);
		border-radius: 2px;
		background: #fff;
		box-sizing: border-box;
	}
	
	.contact .wpcf7 textarea {
		min-height: 180px;
		resize: vertical;
	}
	
	.contact .wpcf7 input:focus,
	.contact .wpcf7 textarea:focus {
		outline: 3px solid rgba(25,43,61,.12);
		border-color: var(--accent);
	}
	
	.contact .wpcf7 .wpcf7-not-valid-tip {
		color: var(--danger);
		font-size: 13px;
		margin-top: 6px;
	}
	
	.contact .wpcf7 .wpcf7-form-control.wpcf7-not-valid {
		border-color: var(--danger);
	}
	
	.contact .wpcf7 .cf7-accept .wpcf7-acceptance {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}
	
	.contact .wpcf7 .cf7-accept .cf7-check {
		font-size: 14px;
		color: #555;
	}
	
	.cf7-accept a{
		color: #DF1F22;
		border-bottom: solid 1px #DF1F22;
	}
	
	.cf7-submit{
		text-align: center;
	}
	
	.btn--navy {
		appearance: none;
		display: inline-block;
		/*padding: 14px 34px;*/
		border: 1px solid #192B3D;
		background: #192B3D;
		color: #fff;
		font-weight: 700;
		letter-spacing: .08em;
		cursor: pointer;
		transition: transform .15s ease, opacity .2s ease;
	}
	
	.contact .wpcf7 .wpcf7-response-output {
		margin-top: 18px;
		border: 1px solid var(--accent);
		padding: 12px 14px;
	}
	
	.btn--navy--cf7{
		/*margin-left: 60px;*/
		appearance: none;
		-webkit-appearance: none;
		position: relative;
		display: inline-block;
		padding: 15px 50px;
		border: 1px solid #192B3D;
		background-color: #192B3D;
		color: #fff;
		font-weight: 700;
		letter-spacing: .08em;
		cursor: pointer;
		transition: background-position 0.3s ease, opacity 0.2s ease;
		background-image: url('../img/icon/readmore_arrow_w.png');
		background-repeat: no-repeat;
		background-position: right 16px center;
		background-size: 15px 15px;
	}
	
	.btn--navy--cf7:hover{
		opacity:.9;
		background-position: right 10px center;
	}
	
	
/******************************************
 * Application Form 共通スタイル
 ******************************************/
.application-form {
  font-size: 14px;
  color: #192B3D;
  line-height: 1.6;
  box-sizing: border-box;
	padding: 15px 10px;
}

/******************************************
 * 行レイアウト
 ******************************************/
.application-form__row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  gap: 10px; /* 左カラムと右カラムの間 */
  flex-wrap: nowrap;
  box-sizing: border-box;
	flex-direction: column;
}

/* 左側カラム（ラベルと必須を横並びでまとめて扱う） */
.application-form__label {
  display: flex;
  align-items: flex-start;
	
  gap: 8px; /* ラベル文字と「必須」の距離 */
  font-weight: 600;
  color: #192B3D;
  line-height: 1.4;
  flex-shrink: 0;
  box-sizing: border-box;
}
	
	/* ラベル内のテキストまとまり（見出し＋補足を縦積みしたいとき） */
.application-form__label-block {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}

/* メインラベル（氏名とか電話番号とか） */
.application-form__label-main {
  font-weight: 600;
  font-size: 14px;
  color: #192B3D;
  line-height: 1.4;
}


/* ラベル内の補足（確認用/300文字程度など）は縦積みで扱いたいのでブロック化 */
.application-form__label-note {
  font-size: 12px;
  font-weight: normal;
  color: #192B3D;
  line-height: 1.4;
  display: block;
}

/* 右側カラム：入力エリア */
.application-form__row > *:not(.application-form__label) {
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
}

/******************************************
 * 必須ラベル
 ******************************************/
.application-form__required {
  display: inline-block;
  background-color: #DF1F22;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 2px;
  flex-shrink: 0;
}

/******************************************
 * テキスト／セレクト／テキストエリア
 ******************************************/
.application-form__input,
.application-form__select,
.application-form__textarea {
  width: 100%;
  border: 1px solid #192B3D;
  padding: 10px;
  font-size: 14px;
  line-height: 1.4;
  color: #192B3D;
  background: #fff;
  border-radius: 0;
  box-sizing: border-box;
}

.application-form__textarea {
  height: 200px;
  resize: vertical;
}

/******************************************
 * ラジオボタン（希望区分）
 ******************************************/
.application-form__row--inline .application-form__label {
  /* 横並びにしたいので特に特別処理は不要だけど、
     高さがズレる場合は align-items:flex-start; などで調整してOK */
}

.application-form__radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.application-form__radio-group .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 1.4;
  color: #192B3D;
  margin: 0; /* CF7 デフォルトの余白対策 */
	margin-right: 20px;
}

/* デフォルトのラジオを消してカスタム四角に */
.application-form__radio-group input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #192B3D;
  border-radius: 0;
  position: relative;
  cursor: pointer;
  background: #fff;
  box-sizing: border-box;
}

.application-form__radio-group input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #DF1F22;
  transform: translate(-50%, -50%);
}

.application-form__radio-group .wpcf7-list-item-label {
  cursor: pointer;
  font-weight: 400;
  color: #192B3D;
}

/******************************************
 * チェックボックス（同意）
 ******************************************/
.application-form__agree-row {
  margin-top: 30px;
  margin-bottom: 30px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

/* 同意行の左カラムは空にしたい場合は
   HTML側で labelを右カラム扱いにしてOK */
.application-form__agree {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #192B3D;
  line-height: 1.4;
  flex: 1;
}
	
	.application-form__agree a{
		padding-left: 8px;
		color: #DF1F22;
		text-decoration: underline;
		text-decoration-color: #DF1F22; 
		text-underline-offset: 3px;
	}

/* チェックボックスも同じルック&フィールに */
.application-form__agree input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #192B3D;
  border-radius: 0;
  position: relative;
  cursor: pointer;
  background: #fff;
  box-sizing: border-box;
  flex-shrink: 0;
}

.application-form__agree input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #DF1F22;
  transform: translate(-50%, -50%);
}

/******************************************
 * 送信ボタン
 ******************************************/
.application-form__submit-row {
  background-color: #DF1F22;
  /*padding: 20px;*/
  /*margin-top: 20px;*/
  box-sizing: border-box;
	display: block;
}

.application-form__submit-inner {
  text-align: center;
	display: flex;
	justify-content: center;
}

.application-form__submit {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  background-color: #DF1F22;
  color: #fff;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  padding: 14px 60px 14px 24px;
  border: none;
  cursor: pointer;
}
	
	.application-form__submit-inner {
  position: relative;
  text-align: center;
}
	
	.application-form__submit-inner:hover {
  opacity: 0.8;
}
	
.application-form__submit-inner::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 35%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("../img/icon/readmore_arrow.png") no-repeat center center / contain;
  pointer-events: none;
  z-index: 2;
	transition: transform 0.3s ease;
}
	
	.application-form__submit-inner:hover::after {
  transform: translate(10px, -50%);
}
	
}

@media screen and (min-width:601px) and (max-width:1024px){
	.contact__inner{
		padding: 138px 10px;
	}
	
	.contact .wpcf7 {
		--accent: #192B3D;
		--danger: #DF1F22;
		--text: #192B3D;
		font-size: 16px;
		line-height: 1.8;
	}
	
	.contact .wpcf7 .cf7-row {
		margin: 18px 0;
	}
	
	.contact .wpcf7 .cf7-label {
		display: block;
		color: var(--text);
		font-weight: 500;
		margin-bottom: 8px;
	}
	
	.contact .wpcf7 .cf7-badge.req {
		display: inline-block;
		margin-left: .5em;
		padding: 3px 7px;
		font-size: 12px;
		line-height: 1;
		color: var(--danger);
		border: solid 1px var(--danger);
		vertical-align: middle;
	}
	
	.contact .wpcf7 input[type="text"],
	.contact .wpcf7 input[type="email"],
	.contact .wpcf7 textarea {
		width: 100%;
		padding: 12px 14px;
		border: 1px solid var(--text);
		border-radius: 2px;
		background: #fff;
		box-sizing: border-box;
	}
	
	.contact .wpcf7 textarea {
		min-height: 180px;
		resize: vertical;
	}
	
	.contact .wpcf7 input:focus,
	.contact .wpcf7 textarea:focus {
		outline: 3px solid rgba(25,43,61,.12);
		border-color: var(--accent);
	}
	
	.contact .wpcf7 .wpcf7-not-valid-tip {
		color: var(--danger);
		font-size: 13px;
		margin-top: 6px;
	}
	
	.contact .wpcf7 .wpcf7-form-control.wpcf7-not-valid {
		border-color: var(--danger);
	}
	
	.contact .wpcf7 .cf7-accept .wpcf7-acceptance {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}
	
	.contact .wpcf7 .cf7-accept .cf7-check {
		font-size: 14px;
		color: #555;
	}
	
	.cf7-accept a{
		color: #DF1F22;
		border-bottom: solid 1px #DF1F22;
	}
	
	.cf7-submit{
		text-align: center;
	}
	
	.btn--navy {
		appearance: none;
		display: inline-block;
		padding: 14px 34px;
		border: 1px solid #192B3D;
		background: #192B3D;
		color: #fff;
		font-weight: 700;
		letter-spacing: .08em;
		cursor: pointer;
		transition: transform .15s ease, opacity .2s ease;
	}
	
	.contact .wpcf7 .wpcf7-response-output {
		margin-top: 18px;
		border: 1px solid var(--accent);
		padding: 12px 14px;
	}
	
	.btn--navy--cf7{
		/*margin-left: 60px;*/
		appearance: none;
		-webkit-appearance: none;
		position: relative;
		display: inline-block;
		padding: 15px 50px;
		border: 1px solid #192B3D;
		background-color: #192B3D;
		color: #fff;
		font-weight: 700;
		letter-spacing: .08em;
		cursor: pointer;
		transition: background-position 0.3s ease, opacity 0.2s ease;
		background-image: url('../img/icon/readmore_arrow_w.png');
		background-repeat: no-repeat;
		background-position: right 16px center;
		background-size: 15px 15px;
	}
	
	.btn--navy--cf7:hover{
		opacity:.9;
		background-position: right 10px center;
	}
	
	
/******************************************
 * Application Form 共通スタイル
 ******************************************/
.application-form {
  font-size: 14px;
  color: #192B3D;
  line-height: 1.6;
  box-sizing: border-box;
	padding: 50px 80px;
}

/******************************************
 * 行レイアウト
 ******************************************/
.application-form__row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  gap: 20px; /* 左カラムと右カラムの間 */
  flex-wrap: nowrap;
  box-sizing: border-box;
}

/* 左側カラム（ラベルと必須を横並びでまとめて扱う） */
.application-form__label {
  display: flex;
  align-items: flex-start;
  gap: 8px; /* ラベル文字と「必須」の距離 */
  width: 220px; /* 左カラムの固定幅。デザインに合わせて調整OK */
  font-weight: 600;
  color: #192B3D;
  line-height: 1.4;
  flex-shrink: 0;
  box-sizing: border-box;
}
	
	/* ラベル内のテキストまとまり（見出し＋補足を縦積みしたいとき） */
.application-form__label-block {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}

/* メインラベル（氏名とか電話番号とか） */
.application-form__label-main {
  font-weight: 600;
  font-size: 14px;
  color: #192B3D;
  line-height: 1.4;
}


/* ラベル内の補足（確認用/300文字程度など）は縦積みで扱いたいのでブロック化 */
.application-form__label-note {
  font-size: 12px;
  font-weight: normal;
  color: #192B3D;
  line-height: 1.4;
  display: block;
}

/* 右側カラム：入力エリア */
.application-form__row > *:not(.application-form__label) {
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
}

/******************************************
 * 必須ラベル
 ******************************************/
.application-form__required {
  display: inline-block;
  background-color: #DF1F22;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 2px;
  flex-shrink: 0;
}

/******************************************
 * テキスト／セレクト／テキストエリア
 ******************************************/
.application-form__input,
.application-form__select,
.application-form__textarea {
  width: 100%;
  border: 1px solid #192B3D;
  padding: 10px;
  font-size: 14px;
  line-height: 1.4;
  color: #192B3D;
  background: #fff;
  border-radius: 0;
  box-sizing: border-box;
}

.application-form__textarea {
  height: 200px;
  resize: vertical;
}

/******************************************
 * ラジオボタン（希望区分）
 ******************************************/
.application-form__row--inline .application-form__label {
  /* 横並びにしたいので特に特別処理は不要だけど、
     高さがズレる場合は align-items:flex-start; などで調整してOK */
}

.application-form__radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.application-form__radio-group .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 1.4;
  color: #192B3D;
  margin: 0; /* CF7 デフォルトの余白対策 */
	margin-right: 20px;
}

/* デフォルトのラジオを消してカスタム四角に */
.application-form__radio-group input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #192B3D;
  border-radius: 0;
  position: relative;
  cursor: pointer;
  background: #fff;
  box-sizing: border-box;
}

.application-form__radio-group input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #DF1F22;
  transform: translate(-50%, -50%);
}

.application-form__radio-group .wpcf7-list-item-label {
  cursor: pointer;
  font-weight: 400;
  color: #192B3D;
}

/******************************************
 * チェックボックス（同意）
 ******************************************/
.application-form__agree-row {
  margin-top: 30px;
  margin-bottom: 30px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

/* 同意行の左カラムは空にしたい場合は
   HTML側で labelを右カラム扱いにしてOK */
.application-form__agree {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #192B3D;
  line-height: 1.4;
  flex: 1;
}
	
	.application-form__agree a{
		padding-left: 8px;
		color: #DF1F22;
		text-decoration: underline;
		text-decoration-color: #DF1F22; 
		text-underline-offset: 3px;
	}

/* チェックボックスも同じルック&フィールに */
.application-form__agree input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #192B3D;
  border-radius: 0;
  position: relative;
  cursor: pointer;
  background: #fff;
  box-sizing: border-box;
  flex-shrink: 0;
}

.application-form__agree input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #DF1F22;
  transform: translate(-50%, -50%);
}

/******************************************
 * 送信ボタン
 ******************************************/
.application-form__submit-row {
  background-color: #DF1F22;
  /*padding: 20px;*/
  /*margin-top: 20px;*/
  box-sizing: border-box;
	display: block;
}

.application-form__submit-inner {
  text-align: center;
	display: flex;
	justify-content: center;
}

.application-form__submit {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  background-color: #DF1F22;
  color: #fff;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  padding: 14px 60px 14px 24px;
  border: none;
  cursor: pointer;
}
	
	.application-form__submit-inner {
  position: relative;
  text-align: center;
}
	
	.application-form__submit-inner:hover {
  opacity: 0.8;
}
	
.application-form__submit-inner::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 45%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("../img/icon/readmore_arrow.png") no-repeat center center / contain;
  pointer-events: none;
  z-index: 2;
	transition: transform 0.3s ease;
}
	
	.application-form__submit-inner:hover::after {
  transform: translate(10px, -50%);
}
	
}

@media screen and (min-width:1025px){

.contact__inner{
		padding: 138px 150px;
	}
	
	.contact .wpcf7 {
		--accent: #192B3D;
		--danger: #DF1F22;
		--text: #192B3D;
		font-size: 16px;
		line-height: 1.8;
	}
	
	.contact .wpcf7 .cf7-row {
		margin: 18px 0;
	}
	
	.contact .wpcf7 .cf7-label {
		display: block;
		color: var(--text);
		font-weight: 500;
		margin-bottom: 8px;
	}
	
	.contact .wpcf7 .cf7-badge.req {
		display: inline-block;
		margin-left: .5em;
		padding: 3px 7px;
		font-size: 12px;
		line-height: 1;
		color: var(--danger);
		border: solid 1px var(--danger);
		/*vertical-align: middle;*/
	}
	
	.contact .wpcf7 input[type="text"],
	.contact .wpcf7 input[type="email"],
	.contact .wpcf7 textarea {
		width: 100%;
		padding: 12px 14px;
		border: 1px solid var(--text);
		border-radius: 2px;
		background: #fff;
		box-sizing: border-box;
	}
	
	.contact .wpcf7 textarea {
		min-height: 180px;
		resize: vertical;
	}
	
	.contact .wpcf7 input:focus,
	.contact .wpcf7 textarea:focus {
		outline: 3px solid rgba(25,43,61,.12);
		border-color: var(--accent);
	}
	
	.contact .wpcf7 .wpcf7-not-valid-tip {
		color: var(--danger);
		font-size: 13px;
		margin-top: 6px;
	}
	
	.contact .wpcf7 .wpcf7-form-control.wpcf7-not-valid {
		border-color: var(--danger);
	}
	
	.contact .wpcf7 .cf7-accept .wpcf7-acceptance {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}
	
	.contact .wpcf7 .cf7-accept .cf7-check {
		font-size: 14px;
		color: #555;
	}
	
	.cf7-accept a{
		color: #DF1F22;
		border-bottom: solid 1px #DF1F22;
	}
	
	.cf7-submit{
		text-align: center;
	}
	
	.btn--navy {
		appearance: none;
		display: inline-block;
		padding: 14px 34px;
		border: 1px solid #192B3D;
		background: #192B3D;
		color: #fff;
		font-weight: 700;
		letter-spacing: .08em;
		cursor: pointer;
		transition: transform .15s ease, opacity .2s ease;
	}
	
	.contact .wpcf7 .wpcf7-response-output {
		margin-top: 18px;
		border: 1px solid var(--accent);
		padding: 12px 14px;
	}
	
	.btn--navy--cf7{
		/*margin-left: 60px;*/
		appearance: none;
		-webkit-appearance: none;
		position: relative;
		display: inline-block;
		padding: 15px 50px;
		border: 1px solid #192B3D;
		background-color: #192B3D;
		color: #fff;
		font-weight: 700;
		letter-spacing: .08em;
		cursor: pointer;
		transition: background-position 0.3s ease, opacity 0.2s ease;
		background-image: url('../img/icon/readmore_arrow_w.png');
		background-repeat: no-repeat;
		background-position: right 16px center;
		background-size: 15px 15px;
	}
	
	.btn--navy--cf7:hover{
		opacity:.9;
		background-position: calc(100% - 10px) calc(50% - 10px);
	}
	
	
/******************************************
 * Application Form 共通スタイル
 ******************************************/
.application-form {
  font-size: 14px;
  color: #192B3D;
  line-height: 1.6;
  box-sizing: border-box;
	padding: 50px 80px;
}

/******************************************
 * 行レイアウト
 ******************************************/
.application-form__row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  gap: 20px; /* 左カラムと右カラムの間 */
  flex-wrap: nowrap;
  box-sizing: border-box;
}

/* 左側カラム（ラベルと必須を横並びでまとめて扱う） */
.application-form__label {
  display: flex;
  align-items: flex-start;
  gap: 8px; /* ラベル文字と「必須」の距離 */
  width: 220px; /* 左カラムの固定幅。デザインに合わせて調整OK */
  font-weight: 600;
  color: #192B3D;
  line-height: 1.4;
  flex-shrink: 0;
  box-sizing: border-box;
}
	
	/* ラベル内のテキストまとまり（見出し＋補足を縦積みしたいとき） */
.application-form__label-block {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}

/* メインラベル（氏名とか電話番号とか） */
.application-form__label-main {
  font-weight: 600;
  font-size: 14px;
  color: #192B3D;
  line-height: 1.4;
}


/* ラベル内の補足（確認用/300文字程度など）は縦積みで扱いたいのでブロック化 */
.application-form__label-note {
  font-size: 12px;
  font-weight: normal;
  color: #192B3D;
  line-height: 1.4;
  display: block;
}

/* 右側カラム：入力エリア */
.application-form__row > *:not(.application-form__label) {
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
}

/******************************************
 * 必須ラベル
 ******************************************/
.application-form__required {
  display: inline-block;
  background-color: #DF1F22;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 2px;
  flex-shrink: 0;
}

/******************************************
 * テキスト／セレクト／テキストエリア
 ******************************************/
.application-form__input,
.application-form__select,
.application-form__textarea {
  width: 100%;
  border: 1px solid #192B3D;
  padding: 10px;
  font-size: 14px;
  line-height: 1.4;
  color: #192B3D;
  background: #fff;
  border-radius: 0;
  box-sizing: border-box;
}

.application-form__textarea {
  height: 200px;
  resize: vertical;
}

/******************************************
 * ラジオボタン（希望区分）
 ******************************************/
.application-form__row--inline .application-form__label {
  /* 横並びにしたいので特に特別処理は不要だけど、
     高さがズレる場合は align-items:flex-start; などで調整してOK */
}

.application-form__radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.application-form__radio-group .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 1.4;
  color: #192B3D;
  margin: 0; /* CF7 デフォルトの余白対策 */
	margin-right: 20px;
}

/* デフォルトのラジオを消してカスタム四角に */
.application-form__radio-group input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #192B3D;
  border-radius: 0;
  position: relative;
  cursor: pointer;
  background: #fff;
  box-sizing: border-box;
}

.application-form__radio-group input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #DF1F22;
  transform: translate(-50%, -50%);
}

.application-form__radio-group .wpcf7-list-item-label {
  cursor: pointer;
  font-weight: 400;
  color: #192B3D;
}

/******************************************
 * チェックボックス（同意）
 ******************************************/
.application-form__agree-row {
  margin-top: 30px;
  margin-bottom: 30px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

/* 同意行の左カラムは空にしたい場合は
   HTML側で labelを右カラム扱いにしてOK */
.application-form__agree {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #192B3D;
  line-height: 1.4;
  flex: 1;
}
	
	.application-form__agree a{
		padding-left: 8px;
		color: #DF1F22;
		text-decoration: underline;
		text-decoration-color: #DF1F22; 
		text-underline-offset: 3px;
	}

/* チェックボックスも同じルック&フィールに */
.application-form__agree input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #192B3D;
  border-radius: 0;
  position: relative;
  cursor: pointer;
  background: #fff;
  box-sizing: border-box;
  flex-shrink: 0;
}

.application-form__agree input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #DF1F22;
  transform: translate(-50%, -50%);
}

/******************************************
 * 送信ボタン
 ******************************************/
.application-form__submit-row {
  background-color: #DF1F22;
  /*padding: 20px;*/
  /*margin-top: 20px;*/
  box-sizing: border-box;
	display: block;
}

.application-form__submit-inner {
  text-align: center;
	display: flex;
	justify-content: center;
}

.application-form__submit {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  background-color: #DF1F22;
  color: #fff;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  padding: 14px 60px 14px 24px;
  border: none;
  cursor: pointer;
}
	
	.application-form__submit-inner {
  position: relative;
  text-align: center;
}
	
	.application-form__submit-inner:hover {
  opacity: 0.8;
}
	
.application-form__submit-inner::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 45%;
  width: 15px;
  height: 15px;
  transform: translateY(-50%);
  background: url("../img/icon/readmore_arrow_w.png") no-repeat center center / contain;
  pointer-events: none;
  z-index: 2;
	transition: transform 0.3s ease;
}
	
	.application-form__submit-inner:hover::after {
transform: translate(10px, -10px);
}

	
}

.wpcf7-spinner{
	display: none;
}