@charset "UTF-8";
/*基本の青*/
/*基本の青2*/
/*基本のグレー*/
/*薄い青*/
/*薄い青2*/
/*黄色*/
/*薄い黄色*/
/*茶色*/
/*明るい青*/
/*薄い黄色2*/
/*薄いグレー*/
body#commoncontents header { height: 110px; background-color: #103089; }
body#commoncontents header.enhead { height: 135px; }

.pinktext { color: #dd3e81; }

.redtext { color: #b60909; }

.bluetext { color: #103089; }

a[href^="tel:"] { pointer-events: none; }

#pannavbox { background-color: #ededed; }
#pannavbox .pannav { width: 1179px; margin: 0 auto; text-align: left; padding: 5px 0; }
#pannavbox .pannav li { display: inline-block; margin-right: 10px; font-size: 0.9em; }
#pannavbox .pannav li a { color: #005BAC; }
#pannavbox .pannav li a:after { content: '\f105'; font-family: 'Font Awesome 5 Free'; font-weight: 900; margin-right: 10px; margin-left: 10px; }

#secondary_nav { border-top: 1px #fff solid; background-color: #6dc6e8; }
#secondary_nav ul { max-width: 1179px; width: 100%; margin: 0 auto; text-align: left; display: flex; }
#secondary_nav ul li { margin: 0 3px 0 0; padding: 0; font-size: 0.92em; }
#secondary_nav ul li a { color: #fff; padding: 10px 10px 5px 8px; line-height: 1; display: block; background-color: #103089; border-top-left-radius: 10px; border-top-right-radius: 10px; }
#secondary_nav ul li.act a { background-color: #fff; color: #103089; }

#h1box { background: -moz-linear-gradient(left, #103089, #CBE9FF); background: -webkit-linear-gradient(left, #103089, #CBE9FF); background: linear-gradient(to right, #103089, #CBE9FF); box-shadow: 0px -7px 18px -11px #7e7e7e; }
#h1box #h1box_inner { width: 1179px; margin: 0 auto; text-align: left; color: #fff; padding: 15px 0 10px 0; }
#h1box #h1box_inner h1 { font-weight: normal; }

h2 { text-align: left; font-size: 1.8em; margin-bottom: 20px; font-weight: normal; }
h2 span { color: #43A3F8; }

h3 { text-align: left; margin-bottom: 10px; color: #103089; border-left: 5px #103089 solid; padding-left: 10px; line-height: 1.2; font-weight: normal; font-size: 1.3em; }

h4 { font-weight: normal; text-align: left; background-color: #43A3F8; padding: 1px 1px; color: #fff; font-size: 1.2em; line-height: 1.2; margin-bottom: 20px; }
h4 span { padding: 5px 10px 3px 10px; border: 1px #fff solid; display: block; }

h5 { color: #005BAC; font-size: 1.2em; line-height: 1.2; padding-bottom: 5px; border-bottom: 1px #005BAC solid; margin-bottom: 20px; text-align: left; }

h6 { font-size: 1.1em; line-height: 1.2; text-align: left; margin-bottom: 20px; color: #eca210; }

p.readtext { font-size: 1.4em; line-height: 1.2; color: #005BAC; }

.contentsinner { width: 1179px; margin: 0 auto; padding-top: 40px; }
.contentsinner section { margin-bottom: 40px; }
.contentsinner p { text-align: left; margin-bottom: 20px; }
.contentsinner p:last-child { margin-bottom: 0; }

.flexbox { display: flex; justify-content: space-between; }
.flexbox .col3_2box { width: 66%; }
.flexbox .col3_1box { width: 30%; }
.flexbox .col5_2box { width: 40%; }
.flexbox .col5_3box { width: 55%; }
.flexbox .col2box { width: 48%; }
.flexbox .col3box { width: 31%; }
.flexbox .col4box { width: 28%; }
.flexbox .col2fullbox { width: 50%; }
.flexbox .col6_2box { width: 33%; }
.flexbox .col6_4box { width: 65%; }

.bacetable table { border: 1px #ddd solid; }
.bacetable.fulltable table { width: 100%; }
.bacetable.th10 tbody th { width: 10em; }
.bacetable th { padding: 5px 10px; border: 1px #ddd solid; font-weight: normal; }
.bacetable td { padding: 5px 10px; border: 1px #ddd solid; }
.bacetable thead th { background-color: #dfeefb; }
.bacetable tbody th { text-align: left; background-color: #ededed; }
.bacetable tbody td { text-align: left; }
.bacetable dl dt { width: 48%; display: inline-block; }
.bacetable dl dd { width: 48%; display: inline-block; }
.bacetable dl.inline-autowidth dt { width: auto; display: inline-block; }
.bacetable dl.inline-autowidth dd { width: auto; display: inline-block; }

p.photocaption { margin-top: 10px; text-align: center; line-height: 1.4; }
p.photocaption span { font-size: 1.1em; }

.otherlinkbox li { margin-bottom: 10px; }
.otherlinkbox a { border: 3px #103089 solid; padding: 10px; display: block; color: #103089; position: relative; vertical-align: middle; }
.otherlinkbox a i { margin-right: 10px; font-size: 1.4em; }
.otherlinkbox a:hover { background-color: #103089; color: #fff; }
.otherlinkbox a:after { content: '\f105'; font-family: 'Font Awesome 5 Free'; font-weight: 900; margin-right: 10px; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }

a.iconlink:before { content: '\f24d'; font-family: 'Font Awesome 5 Free'; font-weight: 600; margin-right: 10px; font-size: 16px; color: #eca210; }

ul.marunumberlist { text-align: left; }
ul.marunumberlist li { padding-left: 1.4em; text-indent: -1.4em; line-height: 1.4; margin-bottom: 10px; }

/* モーダル用 */
.modal_open { cursor: pointer; color: #333; }
.modal_open:hover { color: #103089; }

.modal_box { position: fixed; z-index: 9777; display: none; width: 80%; max-width: 840px; margin: 0; padding: 35px 2vw 80px; border: 2px solid #aaa; text-align: center; background: #fff; box-sizing: border-box; overflow: scroll; }
.modal_box .imgbox img { max-width: 100%; }
.modal_box .imgbox.heightfix { height: 87vh; }
.modal_box .imgbox.heightfix img { height: 100%; width: auto; }

.modal_close { position: absolute; top: 0; right: 0; display: block; width: 62px; height: 62px; font-size: 2em; color: #000; line-height: 62px; text-align: center; cursor: pointer; }
.modal_close span { position: absolute; top: 20px; right: 20px; margin-top: -2px; -webkit-transition: rotate 0.2s, translate 0.2s; transition: rotate 0.2s, translate 0.2s; display: inline-block; height: 3px; width: 24px; }
.modal_close span:before { top: -8px; }
.modal_close span:after { top: 8px; }
.modal_close span:before, .modal_close span:after { position: absolute; display: inline-block; height: 3px; width: 24px; background: #000000; content: ""; right: 0; -webkit-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform-origin: 0% 50%; -ms-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transition: -webkit-transform 0.2s; transition: -webkit-transform 0.2s; transition: transform 0.2s; transition: transform 0.2s, -webkit-transform 0.2s; }
.modal_close span:before { -webkit-transform: translateX(4px) translateY(-1px) rotate(45deg); -ms-transform: translateX(4px) translateY(-1px) rotate(45deg); transform: translateX(4px) translateY(-1px) rotate(45deg); }
.modal_close span:after { -webkit-transform: translateX(4px) translateY(0px) rotate(-45deg); -ms-transform: translateX(4px) translateY(0px) rotate(-45deg); transform: translateX(4px) translateY(0px) rotate(-45deg); }

.modal_bg { position: fixed; top: 0; left: 0; z-index: 6666; display: none; width: 100%; height: 100vh; background-color: rgba(0, 0, 0, 0.7); }

body.fixbody { position: fixed; left: 0; top: 0; width: 100%; }

@media screen and (max-width: 769px) { /*  ウィンドウサイズ769px以下の時のスタイル  */
  .modal_box { padding: 50px 2vw 40px; }
  .modal_box .imgbox.heightfix { height: auto; }
  .modal_box .imgbox.heightfix img { height: auto; max-height: 100%; }
  .modal_close { width: 40px; line-height: 40px; font-size: 30px; }
  .modal_close i { line-height: 44px; } }
/* //モーダル用 */
#contact_index .contact_inner { margin: 0 auto; padding: 0; }
#contact_index section { margin-bottom: 60px; }
#contact_index .readtext { text-align: center; }
#contact_index h2 { font-weight: normal; text-align: left; background-color: #103089; padding: 1px 1px; font-size: 1.2em; line-height: 1; margin-bottom: 20px; }
#contact_index h2 span { padding: 5px 10px 3px 10px; color: #fff; border: 1px #fff solid; display: block; }
#contact_index ol { margin-left: 20px; text-align: left; }
#contact_index h4 a { color: #fff; }
#contact_index dl { max-width: 800px; margin: 0 auto; text-align: left; }
#contact_index dl span.red { color: #b60909; font-size: 0.8em; }
#contact_index dl dt { width: 16em; float: left; }
#contact_index dl dd { padding-left: 17em; margin-bottom: 15px; border-bottom: 1px #ccc dotted; padding-bottom: 15px; }
#contact_index dl dd:after { content: "."; display: block; clear: both; height: 0; overflow: hidden; font-size: 0.1em; line-height: 0; }
#contact_index .btnbox { text-align: center; margin-top: 40px; }
#contact_index .consentbox { max-width: 800px; margin: 0 auto; text-align: center; }
#contact_index .inqbox { width: 80%; margin: 0 auto; }
#contact_index .telbox { margin-top: 30px; text-align: left; }
#contact_index .messagebox { width: 90%; margin: 0 auto; border: 1px #ccc solid; padding: 40px; font-size: 0.8em; }
#contact_index .messagebox ol li { margin-bottom: 10px; }
#contact_index .formlink a { display: block; border: 3px #103089 solid; padding: 20px 10px; color: #103089; vertical-align: baseline; }
#contact_index .formlink a:before { content: '\f138'; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 1.4em; line-height: 1; color: #103089; margin-right: 10px; vertical-align: baseline; }
#contact_index .formlink a:hover { background-color: #103089; color: #fff; }
#contact_index .formlink a:hover:before { color: #fff; }
#contact_index .confirmation .confirmation_none { display: none; }
#contact_index .confirmation .zip-button { display: none; }
#contact_index .confirmation .select:after { display: none; }

.form_input_box {
  max-width: 800px;
  margin: 30px auto;
  text-align: left;
}
.form_input_box dt {
  width: 16em;
  float: left;
}
.form_input_box dd {
  text-align: center;
  margin-bottom: 15px;
  border-bottom: 1px #ccc dotted;
  padding-bottom: 15px;
}

#privacy dl { text-align: left; }
#privacy dl dt { margin-bottom: 10px; background-color: #ededed; padding: 10px 10px 5px 10px; }
#privacy dl dd { margin-bottom: 20px; margin-left: 2em; }
#privacy .privacy_title { text-align: center; margin-bottom: 0; line-height: 1.2; border: 3px #ededed solid; padding-top: 5px; }
#privacy .contactbox { background-color: #ededed; padding: 20px; line-height: 1; }
#privacy .contactbox .contactbox_title { background-color: #fff; padding: 5px 5px 2px 5px; color: #333; text-align: center; }
#privacy .contactbox dt { width: 6em; float: left; vertical-align: top; padding: 0; }
#privacy .contactbox dd { vertical-align: top; padding-left: 7em; margin-bottom: 10px; padding-bottom: 10px; margin-left: 0; border-bottom: 1px #fff dotted; }
#privacy .contactbox dd:after { content: "."; clear: both; height: 0; overflow: hidden; font-size: 0.1em; line-height: 0; }

#actionplan .col2box:first-child { padding-right: 20px; }
#actionplan .col2box:last-child { border-left: 1px #ccc solid; padding-left: 40px; }
#actionplan ol { text-align: left; margin-left: 20px; margin-bottom: 20px; }
#actionplan ul { text-align: left; }
#actionplan dt { width: 6em; float: left; vertical-align: top; padding: 0; }
#actionplan dd { vertical-align: top; padding-left: 7em; text-align: left; text-align: left; }
#actionplan dd:after { content: "."; clear: both; height: 0; overflow: hidden; font-size: 0.1em; line-height: 0; }

#about dl { text-align: left; }
#about dl dt { margin-bottom: 10px; background-color: #ededed; padding: 10px 10px 5px 10px; }
#about dl dd { margin-bottom: 20px; margin-left: 2em; }

#product_reportdownload .linkbox { text-align: left; }
#product_reportdownload .linkbox a { color: #005BAC; }
#product_reportdownload .linkbox a:after { content: '\f35d'; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-left: 10px; color: #103089; font-size: 1.4em; vertical-align: baseline; }

/* 調整上書き用 */
dl.normaldl dt { display: block; width: 100%; text-align: left; font-weight: bold; }
dl.normaldl dd { display: block; width: 100%; margin-bottom: 20px; text-align: left; }

@media screen and (max-width: 1179px) { .contentsinner { width: 95%; }
  #h1box #h1box_inner { width: 95%; }
  #pannavbox .pannav { width: 95%; }
  #secondary_nav ul { width: 95%; margin: 0 auto; }
  #secondary_nav ul li { font-size: 0.92em; } }
@media screen and (max-width: 1178px) { #secondary_nav ul li { font-size: 0.91em; } }
@media screen and (max-width: 1159px) { #secondary_nav ul li { font-size: 0.90em; } }
@media screen and (max-width: 1149px) { #secondary_nav ul li { font-size: 0.89em; } }
@media screen and (max-width: 1139px) { #secondary_nav ul li { font-size: 0.88em; } }
@media screen and (max-width: 1118px) { #secondary_nav ul li { font-size: 0.87em; } }
@media screen and (max-width: 1100px) { #secondary_nav ul li { font-size: 0.86em; } }
@media screen and (max-width: 1098px) { #secondary_nav ul { width: 100%; display: flex; align-content: flex-start; flex-wrap: wrap; }
  #secondary_nav ul li { width: calc(100% / 3); border-bottom: 1px #fff solid; border-right: 1px #fff solid; margin: 0; display: flex; font-size: 1em; }
  #secondary_nav ul li a { border-radius: 0px; width: 100%; } }
@media screen and (max-width: 812px) { body#commoncontents header { height: 60px; }
  body#commoncontents header.enhead { height: 60px; }
  #pannavbox .pannav { width: 95%; }
  #pannavbox .pannav li { font-size: 0.7em; margin-right: 0px; }
  #pannavbox .pannav li a:after { margin-right: 5px; }
  .flexbox { display: block; }
  .flexbox .col2box { width: 100%; margin-bottom: 40px; }
  .flexbox .col2box:last-child { margin-bottom: 0px; }
  .flexbox .col3box { width: 100%; margin-bottom: 40px; }
  .flexbox .col3box:last-child { margin-bottom: 0px; }
  .flexbox .col3_2box { width: 100%; margin-bottom: 40px; }
  .flexbox .col3_1box { width: 100%; margin-bottom: 40px; }
  .flexbox .col5_2box { width: 100%; margin-bottom: 40px; }
  .flexbox .col5_3box { width: 100%; margin-bottom: 40px; }
  .flexbox .col6_2box { width: 100%; margin-bottom: 40px; }
  .flexbox .col6_4box { width: 100%; margin-bottom: 40px; }
  #h1box #h1box_inner h1 { font-size: 1.6em; }
  h2 { font-size: 1.6em; }
  #contact_index .contact_inner { width: 100%; padding: 0; }
  #contact_index .readtext { text-align: left; }
  #contact_index h4 a { color: #fff; font-size: 1.6em; }
  #contact_index dl dt { width: 100%; float: none; }
  #contact_index dl dd { padding-left: 0; }
  #contact_index ol li { margin-bottom: 10px; } }
