@charset "UTF-8";

/* @group Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1&family=Noto+Sans+JP:wght@400&family=Zen+Kaku+Gothic+Antique&display=swap');
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);

/* Googleアイコン */
.material-icons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;
	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;
	/* Support for IE. */
	font-feature-settings: 'liga';
   vertical-align: -3px;
}
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }

body {
	font-size: 14px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,sans-serif;
  color: #333;
  line-height: 1.6;
  margin: 0px;
  padding: 0px;
}

/* テキスト周り */
.title1 {
	text-align: center;
	font-size: 1.4rem;
	font-weight: 600;
	margin: 2rem auto;
}

h2{
	font-size: 1.2rem;
	padding-top: 10px;
	padding-bottom: 5px;
	margin: 0px;
  letter-spacing: 1px;
  text-align: left;
  font-weight: 600;
  color: #3C3C3C;
}
.new4_txt {
  font-weight: 600;
  font-size: 1.1rem;
}


@media screen and (max-width:720px) {
 .title1 {
	font-size: 1.1rem;
} 
 h2 {
	font-size: 1.0rem;
} 
}

/*幅と背景*/
#wrapper {
	text-align: center;
	width: 900px;
  display: flex;
  align-items: center;
  flex-direction: column;
  overflow-y: visible;
  overflow-x: visible;
}
.wrapper_pa {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: auto;
  min-height: 100vh;
  overflow-y: visible;
  overflow-x: visible;
}

main {
  width: 100%;
  padding-bottom: 2rem;
}

@media screen and (max-width: 720px) {
  img {
    width: 100%;
  }
  
  .wrapper_pa {
    width: 100%;
    min-height: 100vh;
}
	#wrapper {
    width: 96%;
    height: 100vh;
	}
}

.error {
	background-color: #FFEDF3;
	color: #C00;
	padding: 1rem;
	text-align: center;
}
.error:empty, .display_error:empty {
	display: none;
}

.error400 {
	background-color: #FFEDF3;
	color: #C00;
	font-size: 12pt;
	margin: 0px;
	padding: 0px;
	text-align: center;
	width: 400px;
}


table{
  width: 100%;
  margin-bottom: 40px;
	font-size: 14px;
	border-collapse: collapse;
}
table td,table th{
  border: 1px #CBCBCB solid;
	padding: 8px 10px;
	box-sizing: border-box;
}
td{
  background-color: #FFF;
  text-align: left;
	padding: 0.6em;
	box-sizing: border-box;
}
td.komoku{
    background-color: rgba(234,234,234,1.00);
    color: #333;
    width: 25%;
}
td.komoku2{
    background-color: rgba(234,234,234,1.00);
    color: #333;
  text-align: center;
}
td.komoku div.tit {
  border-bottom: 1px dashed #CBCBCB;
  margin-top: 5px;
  margin-bottom: 5px;
}
td.komoku span.en {
  font-size: 90%;
  font-weight: 400;
}
th.komoku {
  background-color: rgba(234,234,234,1.00);
  color: #333;
}
input[type="text"], input[type="text"], input[type="password"], textarea {
    background-color: white;
    border-color: #dbdbdb;
    color: #000;
    box-shadow: inset 0 1px 2px rgb(10 10 10 / 10%);
    padding: 5px;
    box-sizing: border-box;
    display: inline;
}
input.cho{
    width: 95%;
}
input.jusho{
    width: 95%;
}
inut.yubin{
    width: 10%;
}

/*ラジオボタンの高さをそろえる*/
#zz_limit_1,#zz_limit_2{
    position: relative;
    top: 7px;
}

@media screen and (max-width:720px) {
    td{
      width: 100%;
      display: block;
      border: none;
      padding-left: 0px;
    }
    td.komoku{
      width: 100%;
      border: none;
      padding-left: 10px;
    }
    th.komoku {
      display: none;
  }
    tr{
      width: 100%;
      border: none;
    }
    tbody{
      width: 100%;
      border:none;
    }
    table{
      width: 100%;
      border: none;
    }
    input{
      margin: 5px auto;
      box-shadow: 1px 1px 2px #CCC;
    }
    input.nokage{
      box-shadow: none;
    }
    
}

hr {
	background-color: #ccc;
	border-width: 0px;
	height: 1px;
	width: 900px;
}

/* テキスト周り */
.ce {
	text-align: center;
}
.le {
	text-align: left;
}
.ri {
	text-align: right;
}
.eg {
	color: #930;
	font-size: .9rem;
}
.red {
	color: #F00;
}
.underline {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #0B2C89;
}

@media screen and (max-width:720px) {
  .eg {
	font-size: .8rem;
}
}

/*スペース*/
/*.space_tb1 {
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0em;
	margin-right: 0em;
}
.space_tb2 {
	margin-top: 2em;
	margin-bottom: 2em;
	margin-left: 0em;
	margin-right: 0em;
}*/

/*---------------------------------
入力欄の基本設定
---------------------------------*/
.select select, input[type="text"], textarea, input[type="password"], input[type="number"]{
    -moz-appearance: none;
    -webkit-appearance: none;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 4px;
    box-shadow: none;
    border-color: #dbdbdb;
    color: #000;
    display: inline-flex;
    font-size: 1rem;
    height: 2.25em;
    justify-content: flex-start;
    line-height: 1.5;
    padding-bottom: calc(0.375em - 1px);
    padding-left: calc(0.625em - 1px);
    padding-right: calc(0.625em - 1px);
    padding-top: calc(0.375em - 1px);
    position: relative;
    vertical-align: top;
}
.select:not(.is-multiple):not(.is-loading)::after, .navbar-link:not(.is-arrowless)::after {
    border: 3px solid transparent;
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    content: " ";
    display: block;
    height: 0.625em;
    margin-top: -0.4375em;
    pointer-events: none;
    position: absolute;
    top: 50%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
    width: 0.625em;
}
.select select {
    background-color: white;
    border-color: #dbdbdb;
    color: #000;
    cursor: pointer;
    display: block;
    font-size: 1em;
    max-width: 100%;
    outline: none;
}
.select {
    display: inline-block;
    max-width: 100%;
    position: relative;
    vertical-align: top;
}
.select:not(.is-multiple):not(.is-loading)::after {
    border-color: #777777; /*矢印の色*/
    right: 1.125em;
    z-index: 4;
}
.select select:not([multiple]) {
    padding-right: 2.5em;
}
select::-ms-expand { /* select要素のデザインを無効にする（IE用） */
display: none;
}

textarea {
  line-height: 1.5;
  field-sizing: content;
  min-height: 3lh;
}

@media screen and (max-width:720px) {
  .select select, input[type="text"] {
    width: 100%;
  }
}


/*パーセンテージの設定*/
.per5{width: 5%;}
.per15{width: 15%;}
.per25{width: 25%;}
.per35{width: 35%;}
.per45{width: 45%;}
.per55{width: 55%;}
.per65{width: 65%;}
.per75{width: 75%;}
.per85{width: 85%;}
.per95{width: 95%;}
.per10{width: 10%;}
.per20{width: 20%;}
.per30{width: 30%;}
.per40{width: 40%;}
.per50{width: 50%;}
.per60{width: 60%;}
.per70{width: 70%;}
.per80{width: 80%;}
.per90{width: 90%;}
.per100{width: 100%;}

/* margin */
.mg_t05 {margin-top: .5rem;}
.mg_t1 {margin-top: 1rem;}
.mg_t2 {margin-top: 2rem;}
.mg_t4 {margin-top: 4rem;}
.mg_t4 {margin-top: 4rem;}
.mg_t-01 {margin-top: -.1rem;}
.mg_t-1 {margin-top: -1rem;}
.mg_b05 {margin-bottom: .5rem;}
.mg_b1 {margin-bottom: 1rem;}
.mg_b2 {margin-bottom: 2rem;}
.mg_b4 {margin-bottom: 4rem;}
.mg_b6 {margin-bottom: 6rem;}
.mg_b8 {margin-bottom: 8rem;}
.mg_b10 {margin-bottom: 10rem;}

/* footer */
footer {
  width: 100%;
	/*background-color: #ddd;*/
	height: auto;
	padding-top: .5rem;
  padding-bottom: .5rem;
	border-top: 1px dotted #ccc;
  /*margin-top: auto;*/
  /*position: fixed;*/
  left: 0;
  bottom: 0;
}
footer p {
	font-size: .8rem;
	text-align: center;
	color: #1b1b1b;
}
@media screen and (max-width:720px) {
  footer {
	height: auto;
	padding-top: .5rem;
  padding-bottom: .5rem;
	border-top: 1px dotted #ccc;
  margin-top: 2rem;
}
 footer p {
	font-size: .7rem;
} 
}

/* レスポンシブ時 表示切り替え */
/*PCでは無効*/
.pcview {
}
.spview {
	display: none;
}
@media screen and (max-width: 979px) {
	.pcview {
		display: none;
	}
	.spview {
		display: block;
	}
}


/* ボタン */
.btn,
a.btn,
input.btn,
button.btn {
  font-size: 1.0rem;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: .5rem 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-radius-solid, input.btn-radius-solid {
  border: 1px solid #ccc;
  background: #f1e767;
  background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
  background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
  background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
}

a.btn-radius-solid:hover, input.btn-radius-solid:hover {
  background: -webkit-gradient(linear, left bottom, left top, from(#fdfbfb), to(#ebedee));
  background: -webkit-linear-gradient(bottom, #fdfbfb 0%, #ebedee 100%);
  background: linear-gradient(to top, #fdfbfb 0%, #ebedee 100%);
}

/* 次へボタン */
.btn_next_01, .btn_next_02, .btn_next_03, .btn_next_04 {
  color:#FFFFFF;
  background-color: rgba(144,144,144,1.00);
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	outline: none;
	border:none;
  width: 200px;
	padding: 0.5em 0;
	cursor: pointer;
	font-weight: 400;
	font-size: 1.0rem;
}

.btn_next_03, .btn_next_04 {
  color:#FFFFFF;
  background-color: rgba(144,144,144,1.00);
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	outline: none;
	border:none;
  width: 120px;
	padding: 0.5em 0;
	cursor: pointer;
	font-weight: 400;
	font-size: 1.0rem;
}

.btn_next_01.back .btn_next_02.back {
  color:rgba(144,144,144,1.00);
  background-color: #FFFFFF;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	outline: none;
	border:1px solid rgba(144,144,144,1.00);
  width: 200px;
	padding: 0.5em 0;
}
.btn_next_01:hover, .btn_next_02:hover, .btn_next_03:hover, .btn_next_04:hover {
  opacity: 0.7;
	transform: translateY(2px);
	transition-duration: 300ms;
}
.btn_next_02 {
  color:#FFFFFF;
  background-color:#3B7596;
  width: 200px;
}
.btn_next_04 {
  color:#FFFFFF;
  background-color:#3B7596;
  width: 120px;
}

/* 20241003追加 横にはみ出さない印刷設定 */
@page {
  margin: 10mm;
  size: 210mm 297mm;
}
@media print {
  /* 全体設定 */
  body {
    -webkit-print-color-adjust: exact;
    width: 1190px; 
    zoom: 0.8; /* なるべく多くのブラウザで切れないようにするため */
  }
  /* 改ページ */
  section {
    page-break-before: always; 
  }
  .new-page {
    page-break-before: always; /* 特定の場所で改ページを入れたい時 */
  }
}