@charset "utf-8";
body {animation: bodyFadeIn 2s ease 0s 1 normal;-webkit-animation: bodyFadeIn 2s ease 0s 1 normal;}
@keyframes bodyFadeIn {0% {opacity: 0}100% {opacity: 1}}
@-webkit-keyframes bodyFadeIn {0% {opacity: 0}100% {opacity: 1}}

body {margin:0px 0;padding:0px 0;}


a {
  text-decoration: none; /* 下線を消す */
  color: #333333;        /* 通常時の色（濃いグレー） */
}

/* マウスが乗った時のスタイル */
a:hover {
  color: #e60012; /* ホバー時の色（赤色） */
  /* 下線を表示させたい場合は、ここに text-decoration: underline; を追加 */
}

.reason-wrap {
  display: flex;
  flex-wrap: wrap;       /* 画面幅に応じて折り返す */
  gap: 4px 14px;         /* 縦 横の余白 */
}

.reason-wrap label {
  white-space: nowrap;  /* ← これが核心 */
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

/* Placeholderのスタイル */
input::placeholder, textarea::placeholder {
	color: #ccc;
	font-style: italic;font-size: 100%;line-height:160%;}

.red {
  display: inline-block;
  background-color: #ff0000;
  color: #ffffff;
  font-size: 70%;        /* ← 文字サイズを収縮 */
  line-height: 1;
  padding: 2px 6px;
  margin-left: 6px;
  border-radius: 3px;
  vertical-align: middle;
  font-weight: normal;
}

.red2 {
  display: inline-block;
  color: #ff0000;
  font-size: 75%;        /* ← 文字サイズを収縮 */
  line-height: 1;
  padding: 2px 6px 7px;;
  border-radius: 3px;
  vertical-align: middle;
  font-weight: normal;font-size: clamp(14px, 1.5vw, 16px);
}

.red3 {
  display: inline-block;
  color: #ff0000;   /* ← 文字サイズを収縮 */
  line-height: 1;
  padding: 10px 10px;
  border-radius: 3px;
  vertical-align: middle;
  font-weight: normal;
  font-size: clamp(14px, 1.2vw, 16px);
  border:solid 1px #ff0000;
margin: 15px auto 0px
}

input[type="submit"] {
  box-shadow: none; 
  border: none; 
  outline: none; 
  background-color: #0057C0; 
  color: #fff; 
  padding: 10px 10px; 
  border-radius: 5px; 
  font-size: 100%; 
  cursor: pointer; 
  transition: background-color 0.5s ease, transform 0.5s ease; 
}

input[type="button"]{
  box-shadow: none; 
  border: none;
  outline: none;
  background-color: #0057C0; 
  color: #fff; 
  padding: 10px 20px;
  border-radius: 5px; 
  font-size: 100%;
  cursor: pointer; 
  transition: background-color 0.5s ease, transform 0.5s ease;
}

/* ホバー時のスタイル */
input[type="submit"]:hover {
  background-color: #8ed8ff; /* ホバー時の背景色 */
  transform: scale(1.00); /* ホバー時に少し拡大 */
}

/* フォーカス時のスタイル */
input[type="submit"]:focus {
  box-shadow: none; /* フォーカス時も影を削除 */
  outline: none; /* 外枠を削除 */
}

/*必須エラーメッセージ*/
div.error{
	font-size:100%;
	color:#F00;
	padding:2px 18px;
	margin:0;
	line-height:150%;
	background:url(js/images/error.gif) no-repeat 0px 5px;
}
.error-item{
	border:1px solid #ffb7ad;
	background:#ffe8e5;
}

.warp {
	width:90%;
	margin:0 auto;
	color:#000;
	line-height:170%;
	font-size:100%;
	text-align: center
}
label {
  display: inline-block;
  white-space: nowrap; /* ← ここが重要 */
  margin-right: 0px;
  margin-bottom: 3px;
}

/*スマホ*/
@media screen and (max-width:750px){
	
	.red2 {
  display: inline-block;
  color: #ff0000;    /* ← 文字サイズを収縮 */
  padding: 2px 0px;
  vertical-align: middle;
  font-weight: normal;
font-size: clamp(15px, 1.5vw, 16px);
line-height:170%;
}

.red3 {
  display: inline-block;
  color: #ff0000;   /* ← 文字サイズを収縮 */
  line-height: 1;
  padding: 10px 10px;
  border-radius: 3px;
  vertical-align: middle;
  font-weight: normal;
  font-size: clamp(14px, 1.2vw, 16px);
  border:solid 1px #ff0000;
margin: 15px auto 0px;
}
	
.notice {
	max-width:860px;
	width:82%;
	text-align:left;
	margin: 20px auto 20px auto;
	padding: 20px 20px 20px 20px;
	line-height: 160%;
	font-size: clamp(14px, 1.3vw, 16px);
	border: 1px solid #999;
	color: #000;
}

	
.style1{font-size: clamp(13px, 0.9vw, 14px);text-align:left;width: 90%;margin: 0px auto;}
	
.maintop {
    width: 100%;
    height: 18vh;
    margin: 0px auto;
    padding: 0px;
    background-image: url("../img/bg-s.jpg");
    background-repeat: no-repeat;
    background-size: cover;background-position: center center;
    text-align: center;
    position: relative;
  }
  .title.pc {
    display: none;
  }


.title{margin:0px auto 0px auto; padding: 0px 0px 20px 0px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;font-weight: 400;}
.copyright{clear:both; width: 100%;height: auto;margin: 10px auto 0px auto;text-align: center;font-size:80%;color:#000;}
hr.space{margin:30px 0px 20px;}
.privacy {max-width:980px;width:80%;height:auto;margin:0px auto 0px auto;padding: 30px 0px 70px 0px;text-align:left;font-size: clamp(12px, 0.9vw, 15px);line-height: 180%;}
.privacy h3{color:#000;text-align:left;padding:0px 0px 0px 0px;margin:0px auto 10px;font-size: clamp(12px, 0.9vw, 16px);ont-weight: 700;}
.privacy1 {width:100%;height:auto;margin:0px auto 0px auto;padding: 20px 0px 0px 0px;text-align: justify;}
.privacy2 {max-width:980px;width:80%;height:auto;margin:0px auto 0px auto;padding: 40px 0px 0px 0px;text-align:center;font-size: clamp(12px, 0.9vw, 15px);line-height: 180%;}
.sp { display: block ; }
.pc { display: none ; }}


/* 簡易版レスポンシブ用CSS */
@media screen and (max-width:750px){
#formWrap {
	width:90%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:100%;
	display:block;text-align:left;margin: 0px auto 10px auto;
}
table.formTable th {
	margin-top:10px;
	border-bottom:0;font-size:100%;
}
form input[type="text"], form textarea, form select {
	width:100%;
	padding:10px 0px 10px;
	font-size:100%;
	display:block;
}
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	display:block;
	width:60%;
	height:50px;margin-top:30px;
}
.p-title {
	text-align: center;
	margin: 20px auto 10px auto;
	padding: 10px 0px 10px 0px;
	line-height: 150%;
	font-size: clamp(18px, 1.9vw, 22px);
	border-bottom: 2px solid #0057C0;
	color:#0057C0;
	width:90%;
}

select {
  -webkit-appearance: none; /* Safari / iOS */
  -moz-appearance: none; /* Firefox */
  appearance: none; /* 標準 */
  border-radius: 0; /* 角丸をなくす */
}
.texttop{width:100%;font-size: clamp(14px, 1.0vw, 14px);padding: 50px 0px 10px 0px;color: #000;line-height: 150%;text-align: left;}
.texttop1{width:100%;font-size: clamp(16px, 1.0vw, 14px);padding: 30px 0px 50px 0px;color: #000;line-height: 150%;text-align: center;margin: 0px auto 0px auto;}
}

@media print, screen and (min-width:751px){

a[href^="tel:"] {
        pointer-events: none;
    }
	
.notice {
	max-width:860px;
	width:84%;
	text-align:center;
	margin: 20px auto 20px auto;
	padding: 20px 20px 20px 20px;
	line-height: 160%;
	font-size: clamp(12px, 1.3vw, 16px);
	border: 1px solid #999;
	color: #000;
}

#formWrap {
	max-width:900px;
	width:90%;
	margin:0 auto;
	color:#000;
	line-height:150%;
	font-size:100%;
}
table.formTable{
	width:100%;
	margin:30px auto 50px auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:13px 15px;text-align:left;height:20px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;padding: 13px 0px 15px 20px;
}
	
.input-large {
    font-size: 100%;}
	
	
.p-title {
	width: 100%;
	text-align: center;
	margin: 30px auto 20px auto;
	padding: 30px 0px 10px 0px;
	line-height: 170%;
	font-size: clamp(16px, 1.9vw, 22px);
	border-bottom: 2px solid #0057C0;
	color: #0057C0;
}
	
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	display:block;
	width:50%;
	height:50px;
	background-color:#0057C0;
	color:#fff;border-bottom: 1px solid #fff;font-size:120%;margin: 30px auto 10px auto;
}
.texttop{width:100%;font-size: clamp(12px, 1.0vw, 16px);padding: 50px 0px 30px 0px;color: #000;line-height: 170%;text-align: center;}
.texttop1{width:100%;font-size: clamp(12px, 1.0vw, 16px);padding: 30px 0px 70px 0px;color: #000;line-height: 170%;text-align: center;}

}


/*PC*/
@media print, screen and (min-width:751px){

.style1{font-size: clamp(12px, 0.9vw, 15px);text-align: center}
	input.datepicker {
    display: block;
    margin-bottom: 5px; /* ラジオボタンとの間に少し隙間を作る */
}
.maintop {
    width: 100%;
    margin: 0px auto 50px auto;
    padding: 130px 0px;
    background-image: url("../img/bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;background-position: center center;
    text-align: center;
    position: relative;
  }
  .title.sp {
    display: none;
  }

.title{width:200px;margin:0px auto 0px auto; padding: 0px 0px 0px 0px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;font-weight: 400;}
.copyright{clear:both;width: 100%;height: auto;margin: 0px auto;text-align: center;font-size:90%;color:#000;}
hr.space{margin:50px 0px 30px;}
.privacy {max-width:980px;width:80%;height:auto;margin:0px auto 0px auto;padding: 70px 0px 100px 0px;text-align:left;font-size: clamp(12px, 0.9vw, 15px);line-height: 180%;}
.privacy h3{color:#000;text-align:left;padding:10px 0px 0px 0px;margin:0px auto 10px;font-size: clamp(12px, 0.9vw, 16px);ont-weight: 700;}
.privacy1 {width:100%;height:auto;margin:0px auto 0px auto;padding: 40px 0px 0px 0px;text-align: justify;}
.privacy2 {max-width:980px;width:80%;height:auto;margin:0px auto 0px auto;padding: 40px 0px 0px 0px;text-align:center;font-size: clamp(12px, 0.9vw, 15px);line-height: 180%;}

.pc { display: block; }
.sp { display: none; }}



