@charset   "Shift_JIS";


/*　★ハンバーガーメニュー　*/
.header {
  position: relative;
  padding: 20px;
}

.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 100;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #333;
  transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}
.hamburger__line:nth-of-type(2) {
  top: 23px;
}
.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  background-color: #fff;
  box-shadow: 2px 0 4px rgba(0,0,0,.1);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 15px 0 0;
  list-style: none;
}

.nav__item {
  padding: 0 20px;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

/*　★ハンバーガーメニューここまで　*/


/*　★フッター画像固定　*/

.fixed-image-footer {
    position: fixed; /* 要素をビューポートに固定する */
    bottom: 0;       /* 画面下端からの距離を0にする */
    left: 0;         /* 画面左端からの距離を0にする */
    width: 100%;     /* 幅を画面いっぱいにする (必要に応じて調整) */
    z-index: 1000;   /* 他の要素より手前に表示させる (必要に応じて調整) */
    text-align: center; /* 画像を中央揃えにする場合 */
}

.fixed-image-footer img {
    /* 画像自体のサイズ調整が必要であればここに追加 */
    max-width: 100%; 
    height: auto;
}

/*　★フッター画像固定ここまで　*/


/*　ボタンマウスオーバーで薄く　*/
.botan:hover{
    opacity: 0.5;
}


/*　参考に入っているテキストの色　*/	
::placeholder {
  color: #D0D0D0;
}


/* 背景色 */
body {
  background-color: #ffffff; 
}


/*　PCとスマホで画像を変える*/
.img-sp {
    display: none;
}

@media screen and (max-width: 640px) {
    .img-pc {
        display: none;	
    }

    .img-sp {
        display: block;
    }
}


/*　必須マーク　*/
span.required-mark {
    display: inline-block;
    font-weight: bold;
    color: #d6121f;
    text-indent: -9999px;
    font-size: 0;
    right: 15px;
    width: 30px;
    height: 17px;
    background: url(required.png) no-repeat;
    vertical-align: middle;
    margin: 0 5px;
}



/*　ラジオボタン大きく　*/
.botan {
	accent-color: blue;
    width: 17px;
    height: 17px;
    vertical-align: top;
}


/*　テキストエリア　*/
textarea.textarea{
width:97%;
height:150px;
background-color: #ffffff;
border: 1px solid #C0C0C0;
}


/*　チェックボックス　*/
.checkbox {
  /* 色の変更※枠線の色は変更できない */
  accent-color: blue;
  /* 大きさ */
  inline-size: 17px;
  block-size: 17px;
}




/*　ここからPC版　*/
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:100%;
	padding:5px;
	font-size:110%;
}


/*　確認リセット横並び　*/
input[type="submit"], input[type="reset"], input[type="button"] {
	width:30%;
	height:40px;
	font-size:120%;
}



.sotowaku {
	width: 90%;
	background: #FFFFFF;
}


table{
  border-collapse: collapse;
  width: 90%;
}
	
.tb01 {
    width: 90%;
	font-size: 16px;
	font-weight: 400;
	line-height:160%;
  }

.tb01 th,
.tb01 td{
  padding: 10px;
  border: solid 1px #ccc;
  text-align:left;
  box-sizing:border-box;
}
.tb01 th {
  background: #EFF8FD;
  color: #000;
  width: 60%;
  
}
	
 .tb02 {
    width: 700px;
  }

 .tb03 {
    width: 745px;
  }
	
 .tb04 {
    width: 900px;
  }

 .img {
    width: 70%;
  }


/*　通常フォント　*/
.font02 {
	font-size: 16px;
	font-weight: 400;
	line-height:160%;
}

/*　質問フォント　*/
.sankafont02_b {
	font-size: 16px;
	font-weight: 400;
	line-height:160%;
}

/*　質問注釈　*/
.sankafont {
	font-size: 12px;
	font-weight: 300;
}

.formsemi {
width:60%;
height:35px;
background-color: #ffffff;
border: 1px solid #C0C0C0;
}


/*　説明の枠　*/
.maefuri{
width:90%;
text-align: center;
}







/*　★簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定）★　*/

/*　ここからタブレット版　*/
@media screen and (max-width:959px) 
{
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:100%;
	padding:5px;
	font-size:110%;
}
	
	
/*　確認リセット縦並び　*/
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:40%;
	height:40px;
	font-size:120%;
}



.sotowaku {
  width: 100%;
  background: #FFFFFF;
}


table{
  border-collapse: collapse;
  width: 90%;
}
	
  .tb01 {
    width: 90%;
	font-size: 16px;
	font-weight: 400;
	line-height:160%;
  }

.tb01 th,
.tb01 td{
  padding: 10px;
  border: solid 1px #ccc;
  text-align:left;
  box-sizing:border-box;
}
.tb01 th {
  background: #EFF8FD;
  color: #000;
  width: 60%;
  
}
	
 .tb02 {
    width: 700px;
  }

 .tb03 {
    width: 745px;
  }
	
 .tb04 {
    width: 900px;
  }

 .img {
    width: 70%;
  }


/*　通常フォント　*/
.font02 {
	font-size: 16px;
	font-weight: 400;
	line-height:160%;
}

/*　質問フォント　*/
.sankafont02_b {
	font-size: 16px;
	font-weight: 400;
	line-height:160%;
}

/*　質問注釈　*/
.sankafont {
	font-size: 12px;
	font-weight: 300;
}

.formsemi {
width:60%;
height:35px;
background-color: #ffffff;
border: 1px solid #C0C0C0;
}


/*　説明の枠　*/
.maefuri {
width:90%;
background-color: #ffffff;
text-align: center;
}

/*　★ハンバーガーメニュー　*/
.header {
  position: relative;
  padding: 20px;
}

.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 100;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #333;
  transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}
.hamburger__line:nth-of-type(2) {
  top: 23px;
}
.hamburger__line:nth-of-type(3) {
  top: 32px;
}


/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  background-color: #fff;
  box-shadow: 2px 0 4px rgba(0,0,0,.1);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 15px 0 0;
  list-style: none;
}

.nav__item {
  padding: 0 20px;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

/*　★ハンバーガーメニューここまで　*/

}



/*　★フッター画像固定　*/

.fixed-image-footer {
    position: fixed; /* 要素をビューポートに固定する */
    bottom: 0;       /* 画面下端からの距離を0にする */
    left: 0;         /* 画面左端からの距離を0にする */
    width: 100%;     /* 幅を画面いっぱいにする (必要に応じて調整) */
    z-index: 1000;   /* 他の要素より手前に表示させる (必要に応じて調整) */
    text-align: center; /* 画像を中央揃えにする場合 */
}

.fixed-image-footer img {
    /* 画像自体のサイズ調整が必要であればここに追加 */
    max-width: 100%; 
    height: auto;
}

/*　★フッター画像固定ここまで　*/



/*　スマホ版　*/
@media screen and (max-width: 640px) 
{
 .img {
    width: 100%;
  }
	
  .tb01 {
    width: 100%;
	font-size: 18px;
	font-weight: 500;
	line-height:160%;
  }
	
	
 .tb01 th,
 .tb01 td {
    display: block;
    width: 100%;
    border-bottom:none;

  }
  .tb01 tr:last-child{
    border-bottom: solid 1px #ccc;
  }

 .tb02 {
    width: 95%;
  }
	
 .tb03 {
    width: 80%;
  }
	
 .tb04 {
    width: 100%;
  }
	
/*　通常フォント　*/
.font02 {
	font-size: 18px;
	font-weight: 500;
	line-height:160%;
}
	
	
/*　質問フォント　*/
.sankafont02_b {
	font-size: 18px;
	font-weight: 500;
	line-height:160%;
}

/*　質問注釈　*/
.sankafont {
	font-size: 12px;
	font-weight: 300;
}
	
	
.sotowaku {
	width: 97%;
	background: #FFFFFF;
}


/*　説明の枠　*/
.maefuri {
width:90%;
background-color: #ffffff;
text-align: left;
}

/*　確認リセット縦並び　*/
input[type="submit"], input[type="reset"], input[type="button"] {
display:block;
width:100%;
height:40px;
font-size:120%;
}


/*　★ハンバーガーメニュー　*/
.header {
  position: relative;
  padding: 20px;
}

.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 100;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #333;
  transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}
.hamburger__line:nth-of-type(2) {
  top: 23px;
}
.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  background-color: #fff;
  box-shadow: 2px 0 4px rgba(0,0,0,.1);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 15px 0 0;
  list-style: none;
}

.nav__item {
  padding: 0 20px;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

/*　★ハンバーガーメニューここまで　*/



/*　★フッター画像固定　*/

.fixed-image-footer {
    position: fixed; /* 要素をビューポートに固定する */
    bottom: 0;       /* 画面下端からの距離を0にする */
    left: 0;         /* 画面左端からの距離を0にする */
    width: 100%;     /* 幅を画面いっぱいにする (必要に応じて調整) */
    z-index: 1000;   /* 他の要素より手前に表示させる (必要に応じて調整) */
    text-align: center; /* 画像を中央揃えにする場合 */
}

.fixed-image-footer img {
    /* 画像自体のサイズ調整が必要であればここに追加 */
    max-width: 100%; 
    height: auto;
}

/*　★フッター画像固定ここまで　*/

	
}
/*　★PC版スマホ版ここまで★　*/















/* 旧Edge対応 */
::-ms-input-placeholder {
  color: #A8A8A8;
}
/* IE対応 */
:-ms-input-placeholder {
  color: #A8A8A8;
}



