/* ==========================================
    Eric Meyer’s “Reset CSS” 2.0
========================================== */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-print-color-adjust: exact;
}

.c_flg {
  display: none;
  width: 100%;
  background-color: #ffffff;
}

.c_flg caption {
  background-color: #999999;
  text-align: left;
  border: 1px solid #000000;
  padding: 3px;
}

.c_flg th {
  width: 100px;
  background-color: #cccccc;
  text-align: left;
  border: 1px solid #000000;
  padding: 3px;
}

.c_flg td {
  border: 1px solid #000000;
  padding: 3px;
}

/* ==========================================
    layout
========================================== */
body {
  background-color: #eeeeee;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI',
    'Noto Sans Japanese', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
  font-size: 14px;
}

.sp {
  display: none;
}

#navi {
  max-width: 650px;
  min-width: 320px;
  width: auto;
  margin: 0 auto;
  background-image: none;
}

#wrap {
  max-width: 650px;
  min-width: 320px;
  width: auto;
  margin: 0 auto;
}

article {
  padding: 30px 5px;
}

/* ========================================== 
    header 
========================================== */
header {
  background-color: #90a4ae;
  font-size: 24px;
  color: #ffffff;
  line-height: 55px;
  padding: 0 0 0 5px;
}

/* ==========================================
    title
========================================== */
#wrap h1 {
  line-height: 1;
  padding: 10px;
}
/* ==========================================
    text
========================================== */
.warning {
  font-size: 14px;
  color: #c51160;
  margin: 0 0 10px 0;
}

.guide {
  font-size: 14px;
  color: #3f51b5;
  line-height: 1.5em;
  margin: 0 0 30px 0;
}

.guide span {
  border-bottom: 1px dashed #3f51b5;
}

.remarks {
  font-size: 14px;
  color: #a4adb3 !important;
}

.border {
  height: 1px;
  padding: 0 !important;
  border: 0 !important;
}

.border hr {
  margin: 5px 0;
  border: 0;
  border-bottom: 1px dashed #999999;
}

.links a {
  display: inline-block;
  background-color: #ffffff;
  padding: 5px;
  color: #37474f;
}

#alert_nokitoi {
  display: none;
  background-color: #ffffff;
  color: #c51160;
  margin: 0 0 5px 0;
  padding: 5px 2px;
}

#reload {
  background-color: #293238;
  color: #ffffff;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  display: block;
  margin: 0 auto 30px auto;
  font-size: 24px;
  font-weight: bold;
  padding: 5px 20px;
  border-radius: 24px;
}

#print,
#print_high,
#print_normal {
  background-color: #293238;
  color: #ffffff;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  display: block;
  margin: 0 auto;
  font-size: 24px;
  font-weight: bold;
  padding: 5px 20px;
  border-radius: 24px;
}

#print span {
  font-size: 16px;
}

.print_flex {
  display: flex;
  width: 100%;
}

.print_flex > div {
  width: 50%;
}

.btn_inquiry {
  text-decoration: none !important;
  width: 200px;
  background-color: #ffffff;
  border: 2px solid #293238;
  color: #293238;
  cursor: pointer;
  outline: none;
  padding: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  display: block;
  margin: 20px auto;
  font-size: 18px;
  line-height: 24px;
  font-weight: bold;
  padding: 5px 20px;
  border-radius: 24px;
  text-align: center;
}

.btn_inquiry_blue {
  text-decoration: none !important;
  width: 480px;
  background-color: #1976d2;
  border: 2px solid #1976d2;
  color: #ffffff;
  cursor: pointer;
  outline: none;
  padding: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  display: block;
  margin: 20px auto;
  font-size: 24px;
  line-height: 32px;
  font-weight: bold;
  padding: 5px 20px;
  border-radius: 24px;
  text-align: center;
}

.btn_inquiry_blue:hover {
  color: #ffffff;
}

/* ==========================================
    input
========================================== */
.s_area {
  background-color: #f3f3f3;
  border-radius: 10px;
  margin: 0 0 20px 0;
}

.s_area.dark {
  background-color: #293238;
}

.s_area.white {
  background-color: #ffffff;
  border: 3px solid #293238;
}

.s_area.white hr {
  margin: 20px 0;
  border: 0;
  border-bottom: 1px dashed #293238;
}

.s_area h2 {
  background-color: #90a4ae;
  border-radius: 10px 10px 0 0;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.25em;
  padding: 10px 0 10px 5px;
}

.s_area i {
  font-size: 9px;
}

.s_area h2 span {
  color: #ffffff;
  padding: 0 0 0 0.5em;
}

.s_text {
  line-height: 1.5em;
}

.s_area.dark .s_text {
  color: #ffffff;
}

.s_area.white .s_text {
  color: #293238;
  font-weight: bold;
}

.s_area.white .s_text span {
  display: block;
  font-size: 18px;
}

.s_area.white .r_text {
  display: block;
  font-size: 18px;
  font-weight: bold;
}

.s_area.white .s_table_wrap {
  padding-top: 25px;
  padding-bottom: 50px;
}

.s_table_wrap {
  padding: 10px 20px;
  display: flex;
}

.s_table_wrap h3 {
  color: #ffffff;
  background-color: #293238;
  padding: 5px;
  font-weight: bold;
}

.s_table_wrap h4 {
  color: #333333;
  padding: 5px 10px 5px 0;
  font-size: 12px;
  line-height: 1.2;
  opacity: 0.5;
}

.s_table_flex {
  width: 100%;
}

.s_table_flex:nth-child(1) {
  padding: 0 0 0 0;
  border-right: 0 solid #999999;
}

.s_table_flex:nth-child(1) h4 {
}

.s_table_dark {
  margin: 5px 0;
}

.s_table_dark {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.s_table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin: 0 0 30px 0;
}

.s_table_dark th,
.s_table_dark td,
.s_table th,
.s_table td {
  padding: 7px 0;
  vertical-align: bottom;
  color: #333333;
  line-height: 1em;
  font-size: 14px;
}

.s_table th {
  width: 140px;
  text-align: left;
}

.s_table th span {
  display: inline-block;
  padding-bottom: 5px;
  font-size: 10px;
  opacity: 0.5;
}

.s_table_dark th {
  width: 60px;
  text-align: left;
  font-size: 16px;
}

.s_table th s {
  display: inline-block;
  text-decoration: none;
  width: 2em;
  font-size: 12px;
  margin: 0 0 0 10px;
}

.s_table_dark td:nth-child(2) {
  text-align: left;
  color: #333333;
  font-size: 16px;
}

.s_table td:nth-child(2) {
  width: 20px;
  text-align: center;
  color: #333333;
  font-size: 16px;
  vertical-align: middle;
}

.s_table td:nth-child(3) {
  text-align: left;
  color: #333333;
  vertical-align: middle;
}

.s_table td:nth-child(3) i {
  font-size: 12px;
}

.t_view {
  margin: 0 5px 0 0;
  width: 120px;
  height: 25px;
  background-color: transparent;
  border: 1px solid transparent;
  border-bottom: 1px dashed #333333;
  font-size: 18px;
  font-weight: bold;
  padding: 5px;
  color: #333333;
  text-align: right;
}

.t_view_nano {
  margin: 0 5px 0 0;
  width: 80px;
  height: 25px;
  background-color: transparent;
  border: 1px solid transparent;
  border-bottom: 1px dashed #333333;
  font-size: 18px;
  font-weight: bold;
  padding: 5px;
  color: #333333;
  text-align: right;
}

.t_input_min {
  margin: 0 5px 0 5px;
  width: 60px;
  background-color: transparent;
  font-size: 24px;
  font-weight: bold;
  padding: 5px;
  color: #880e4f;
  text-align: right;
}

.t_input {
  margin: 0 5px 0 0;
  width: 110px;
  height: 25px;
  background-color: #ffffff;
  border: 1px solid #333333;
  font-size: 18px;
  font-weight: bold;
  padding: 5px;
  color: #333333;
  text-align: right;
  caret-color: #333333;
}

.t_input_nano {
  margin: 0 5px 0 5px;
  width: 60px;
  height: 25px;
  background-color: #ffffff;
  border: 1px solid #333333;
  font-size: 16px;
  font-weight: bold;
  padding: 5px;
  color: #333333;
  text-align: right;
}

.t_input_min:focus,
.t_input:focus {
  outline: 0;
  background-color: #ffffff;
  color: #333333;
  border: 1px solid #333333;
}

.t_select:focus {
  background-color: #ffffff;
  color: #333333;
}

.t_select {
  margin: 0 5px 0 0;
  width: 100%;
  height: 25px;
  background-color: #ffffff;
  border: 1px solid #333333;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

.t_select option:disabled {
  display: none;
}

.t_view:focus {
  outline: 0;
}

/* ========================================== 
    cs_area 
========================================== */
.cs_area {
  display: none;
}

/* ==========================================
    img
========================================== */
#img_1 {
  display: block;
  max-width: 256px;
  width: 100%;
  margin: 0 auto 40px auto;
}

#img_2 {
  display: block;
  max-width: 256px;
  width: 100%;
  margin: 0 auto 40px auto;
}

@media screen and (max-width: 767px) {
  .s_table_wrap {
    display: block;
    padding: 10px;
  }

  .s_table_flex {
    width: 100%;
  }

  .s_table_flex:nth-child(1) {
    padding: 0;
    border-right: 0 solid #999999;
  }

  .s_table_flex:nth-child(2) {
    padding: 0;
  }
}

@media screen and (max-width: 320px) {
  /* ==========================================
        layout
    ========================================== */
  body {
    font-size: 12px;
  }

  header {
    font-size: 22px;
  }

  .warning {
    font-size: 12px;
  }

  .remarks {
    font-size: 12px;
  }

  #reload {
    font-size: 18px;
  }

  .s_area h2 {
    font-size: 12px;
  }

  .s_area i {
    font-size: 9px;
  }

  .s_area.white .s_text span {
    font-size: 12px;
  }

  .s_table_dark th,
  .s_table_dark td,
  .s_table th,
  .s_table td {
    font-size: 12px;
  }

  .s_table th span {
    font-size: 10px;
  }

  .s_table_dark th {
    font-size: 16px;
  }

  .s_table_dark td:nth-child(2) {
    font-size: 16px;
  }

  .s_table td:nth-child(2) {
    font-size: 16px;
  }

  .s_table td:nth-child(3) s {
    font-size: 12px;
  }

  .s_table td:nth-child(3) i {
    font-size: 12px;
  }

  .t_view {
    font-size: 18px;
  }

  .t_input {
    font-size: 18px;
  }

  .t_input_min {
    font-size: 18px;
  }

  .t_input_nano {
    font-size: 10px;
  }

  .t_select {
    font-size: 16px;
  }
}

@media print {
  body {
    background-color: #ffffff;
  }

  header,
  .s_area,
  .s_area h2,
  .s_table_dark th,
  .s_table_dark td,
  .s_table th,
  .s_table td,
  .t_input,
  .t_select,
  .s_area h2 span,
  .s_table th,
  .s_table td:nth-child(2),
  .s_table td:nth-child(3),
  .t_view_nano,
  .s_area.dark .s_text,
  .s_area.dark,
  .t_view,
  .s_table_dark td:nth-child(2),
  .s_area.white {
    background-color: transparent;
    color: #333333;
  }

  .s_area h2 {
    line-height: 1;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid #333333;
    padding: 5px 0 5px 0;
  }

  .s_table_wrap {
    padding: 10px 0;
  }

  .t_view,
  .t_view_nano {
    border-bottom: 1px dashed #333333;
  }

  .s_area.white {
    background-color: transparent;
    border: 0 solid #293238;
  }

  .s_table_wrap h4 {
    color: #333333;
  }

  .warning,
  #navi,
  #print,
  #reload,
  #wrap {
    display: none;
  }

  .print_wrap {
    display: block;
    margin: 0 auto !important;
  }
}

/* ====================================
	reset tag
==================================== */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  vertical-align: baseline;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section {
  display: block;
}

html {
  font-family: '游ゴシック Medium', YuGothic, YuGothicM,
    'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,
    sans-serif;
  font-size: 62.5%;
  color: #333333;
  min-width: 320px;
}

body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overscroll-behavior-y: none;
  font-size: 1.4rem;
  position: static;
  background-color: #ffffff;
  min-width: 320px;
}

html,
body,
.wrap {
  overflow-x: hidden;
}

section {
  overflow-y: hidden;
}

ol,
ul {
  list-style: none;
  list-style-type: none;
}

img {
  display: block;
  width: 100%;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: inherit;
}

a:hover,
a:active {
  opacity: 0.7;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

td,
th {
  line-height: 1;
}

p {
  line-height: 1.4;
}

/* ====================================
	responsive
==================================== */
.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

/* ====================================
	layout
==================================== */
.print_wrap {
  max-width: 650px;
  background-color: #ffffff;
  margin: 20px auto;
  font-size: 1rem;
  line-height: 1;
}

.print_wrap h2 {
  font-size: 14px;
  background-color: #44646e;
  color: #fff;
  padding: 5px 0;
  font-weight: bold;
}

/* PDF用のスタイル追加 */
@media print {
  .print_wrap {
    width: 210mm; /* A4サイズ */
    min-height: 297mm;
    padding: 20mm;
    margin: 0 auto;
  }

  .print__table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 5mm;
  }

  .print__table th,
  .print__table td {
    border: 0.5pt solid #000;
    padding: 2mm;
  }
}
@media only screen and (max-width: 1020px) {
}

@media only screen and (max-width: 768px) {
}

@media only screen and (max-width: 415px) {
}

@media only screen and (max-width: 320px) {
}

/* ====================================
	header
==================================== */
@media only screen and (max-width: 1020px) {
}

@media only screen and (max-width: 768px) {
}

@media only screen and (max-width: 415px) {
}

@media only screen and (max-width: 320px) {
}

/* ====================================
	footer
==================================== */

@media only screen and (max-width: 1020px) {
}

@media only screen and (max-width: 768px) {
}

@media only screen and (max-width: 415px) {
}

@media only screen and (max-width: 320px) {
}

/* ====================================
	print
==================================== */
.print_pages {
  margin: 0 auto;
  border: 1px solid #cccccc;
  padding: 5mm;
  width: calc(210mm - 10mm);
  height: calc(297mm - 10mm);
  page-break-after: always;
}

.print_pages:last-child {
  page-break-after: auto;
}

@media print {
  .print_pages {
    width: 100%;
    height: auto;
    border: 0;
    padding: 0;
  }
}

/* ====================================
	table
==================================== */
.print__table {
  width: 100%;
  margin: 0 0 5px 0;
}

.print__table td {
  padding: 3px 3px;
  vertical-align: middle;
}

.print__table tr.odd td {
  background-color: #f2f3f5;
}

/* -------- */
.print__table--header {
  width: 100%;
  margin: 0 0 5px 0;
}

.print__table--header * {
  font-weight: bold;
}

.print__table--header td {
  vertical-align: middle;
}

.print__table--header td:nth-child(1) {
  width: 50%;
}

.print__table--header td:nth-child(2) {
  text-align: right;
  width: 50%;
}

#print_client_name {
  font-size: 1rem;
  margin-bottom: 5px;
}

#print_project_name {
  font-size: 1.6rem;
}

/* -------- */
.print__table--first caption {
  background-color: rgba(68, 100, 110, 1);
  color: #ffffff;
  padding: 2px 5px;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
}

.print__table--first td:nth-child(1),
.print__table--first td:nth-child(3) {
  font-weight: bold;
  width: 20%;
}

.print__table--first td:nth-child(2),
.print__table--first td:nth-child(4) {
  font-weight: bold;
  color: #c82d6f;
  font-size: 1.2rem;
  width: 30%;
}

/* -------- */
.print__table--normal caption {
  background-color: rgba(68, 100, 110, 0.3);
  color: rgba(68, 100, 110, 1);
  font-weight: bold;
  padding: 2px 5px;
  text-align: left;
}

.print__table--normal .image td {
  padding: 0;
}

.print__table--normal .image .method {
  text-align: right;
}

.print__table--normal .image .method img {
  width: 285px;
  margin: 0 0 0 auto;
}

.print__table--normal td:nth-child(1) {
  font-weight: bold;
  width: 25%;
}

.print__table--normal td:nth-child(2) {
  font-weight: normal;
  width: 5%;
  color: #999999;
  text-align: center;
}

.print__table--normal td:nth-child(3) {
  font-weight: bold;
  width: 10%;
  text-align: right;
}

.print__table--normal td:nth-child(4) {
  font-weight: normal;
  width: 10%;
  color: #999999;
}

.print__table--normal td:nth-child(5) {
  font-weight: bold;
  width: 15%;
  text-align: right;
}

.print__table--normal td:nth-child(6) {
  font-weight: normal;
  width: 10%;
}

.print__table--normal td:nth-child(7) {
  font-weight: bold;
  width: 15%;
  text-align: right;
}

.print__table--normal td:nth-child(8) {
  font-weight: normal;
  width: 10%;
  color: #999999;
}

.print__table--normal td.memo {
  font-weight: normal;
  text-align: left;
  color: #999999;
  width: auto;
}

/* ====================================
	result
==================================== */
.result__area {
  border: 2px solid rgba(68, 100, 110, 1);
  background-color: rgba(68, 100, 110, 0.2);
  text-align: center;
  padding: 2px 0;
  margin: 0 0 2px 0;
}

.result__area strong {
  font-weight: bold;
  color: #c82d6f;
  font-size: 1.6rem;
}

.text__area p {
  margin: 0 0 10px 0;
}
