/*---------------------------------------------------------------------------*/
.row-flex { position: relative; border-bottom: 1px dotted #000; /*&:after { position: absolute; content: ''; width: 100%; height: 100%; left: 0; bottom: 0; border-bottom: 1px dotted #000; //background: #000; //background: url(../img/bg_dot.svg) left bottom repeat-x; //background-size: contain; }*/ }

@media screen and (min-width: 769px) { .row-flex { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; padding: 1.5rem 0; font-size: 1.5rem; } }

@media screen and (max-width: 768px) { .row-flex { padding: 2.66667vw 0; } }

.row-flex.first { border-top: 1px dotted #000; /*&:before { position: absolute; content: ''; width: 100%; height: 1px; left: 0; top: 0; //background: #000; background: url(../img/bg_dot.svg) left top repeat-x; background-size: contain; }*/ }

@media screen and (min-width: 769px) { .row-flex dt { width: 19rem; padding: 0 2.5rem; /* for IE9 */ }
  .row-flex dt span { display: inline-block; width: 3.4rem; text-align: right; }
  .row-flex dt font { display: inline-block; opacity: 0; } }

@media screen and (max-width: 768px) { .row-flex dt { padding: 1.33333vw 4vw; font-weight: bold; font-size: 3.73333vw; }
  .row-flex dt font { display: none; } }

@media screen and (min-width: 769px) { .row-flex dd { width: -webkit-calc(100% - 19rem); width: -moz-calc(100% - 19rem); width: calc(100% - 19rem); padding: 0 2.5rem; } }

@media screen and (max-width: 768px) { .row-flex dd { padding: 1.33333vw 4vw; } }

.row-flex dd .maps_link { width: 11rem; height: 2.8rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; color: #006BB8; border: 1px solid #006BB8; -moz-border-radius: 2rem; border-radius: 2rem; font-size: 1.1rem; margin: 1rem 0; }

.row-flex dd .mgr { display: inline-block; margin-right: 3rem; }

@media screen and (max-width: 768px) { .row-flex dd .mgr { margin-right: 2.6rem; } }

.row-flex dd.color_blue { color: #006BB8; }

.row-flex dd.color_red { color: #ff0000; }

.section-profile { margin-bottom: 5rem; }

@media screen and (min-width: 769px) { .product-article { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .product-article_img { width: -webkit-calc(295/680 * 100%); width: -moz-calc(295/680 * 100%); width: calc(295/680 * 100%); }
  .product-article_img a { display: inline-block; }
  .product-article_ctn { width: -webkit-calc(350/680 * 100%); width: -moz-calc(350/680 * 100%); width: calc(350/680 * 100%); }
  .product-article_ttl { font-size: 1.5rem; font-weight: 400; margin-bottom: 2rem; }
  .product-article_txt { font-size: 1.5rem; }
  .product-article + .product-article { margin-top: 4rem; } }

@media screen and (max-width: 768px) { .product-article_img { margin-bottom: 4vw; }
  .product-article_ttl { margin-bottom: 2.66667vw; }
  .product-article + .product-article { margin-top: 10.66667vw; } }

/** section-message **/
@media screen and (max-width: 768px) { .message-manager { margin: 0 0 8vw; } }

.message-manager_img { width: 100%; max-width: 58.4rem; margin: 0 auto; }

.message-manager_img img { height: auto; }

@media screen and (max-width: 768px) { .message-manager_img { width: 90.66667vw; } }

.message-manager_ctn { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; margin-top: 3.5rem; margin-bottom: 4rem; }

.message-manager_ctn h3 { font-size: 2.4rem; }

.message-manager_ctn p { font-size: 1.8rem; text-align: center; }

@media screen and (max-width: 768px) { .message-manager_ctn { margin-top: 8vw; display: block; margin-bottom: 5.33333vw; }
  .message-manager_ctn h3 { font-size: 4.8vw; }
  .message-manager_ctn p { font-size: 3.73333vw; margin-top: 2.66667vw; text-align: left; } }

.message-copy p { line-height: 1.9; }

.message-copy p + p { margin-top: 2rem; }

.section-history .row-flex dt { padding-left: 0; }

.section-promotion.first { margin-bottom: 7.5rem; }

.certified-txt { line-height: 1.9; }

.iso-box { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; margin-top: 4rem; }

.iso-box_img { margin-right: 3.5rem; }

.iso-box_img img { width: 14.3rem; }

.iso-box_ctn { width: 60%; }

@media screen and (max-width: 768px) { .iso-box { font-size: 3.2vw; }
  .iso-box_img { margin-right: 2.66667vw; }
  .iso-box_img img { width: 24vw; }
  .iso-box_ctn { width: 100%; } }

.certified-tbl { width: 100%; }

.certified-tbl th, .certified-tbl td { text-align: left; }

.certified-tbl th { width: 35%; background: #E5F3FF; padding: 1rem; border: 1px solid #ccc; }

.certified-tbl td { width: 65%; padding: 1rem; border: 1px solid #ccc; }

.policy { font-size: 1.5rem; line-height: 1.75; }

.policy p + p { margin-top: 2rem; }

.policy strong { font-weight: bold; color: #000; display: block; margin-bottom: 0.5rem; }

.policy .txt__indent { text-indent: 1.5rem; margin-bottom: 3rem; }

.policy .txt__indent p { margin-top: 0; }

.policy .txt__right { text-align: right; }

.policy ol { padding-left: 1.5rem; margin-top: 2rem; }

.policy ol li { list-style: decimal; }

.policy ol li + li { margin-top: 2rem; }

.policy ol > li { padding-left: 2rem; }

.policy ol ul { margin-bottom: 3rem; }

.policy ol ul > li { padding-left: 0.5rem; margin-top: 2rem; }

.policy ol ul.list-disc { padding-left: 2rem; margin-top: 0; }

.policy ol ul.list-disc li { list-style: disc !important; margin-top: 0; }

.policy ol ul.list-disc li + li { margin-top: 0; }

@media screen and (max-width: 768px) { .policy { font-size: 3.46667vw; }
  .policy ol > li { padding-left: 5.33333vw; } }

.maps { width: 100%; margin: 3rem 0; }

.maps iframe { width: 100%; height: 45rem; }

.txt__em { display: block; font-size: 1.8rem; }

.txt__center { text-align: center; }

.recruit-article + .recruit-article { margin-top: 5rem; }

.access__li { padding-left: 2rem; list-style: disc; }

.access__li li { list-style: disc; }

.p__link { display: inline-block; color: #006BB8; }

.p-access a:hover { text-decoration: underline; }

.p-csr { font-size: 1.5rem; }

.p-csr_ttl { font-size: 1.8rem; font-weight: bold; color: #2564b9; border-bottom: 2px solid #2564b9; padding-bottom: 1rem; margin-bottom: 3rem; }

.p-csr_ttl:not(:first-child) { margin-top: 4rem; }

.p-csr_ttl_sub { font-size: 1.8rem; font-weight: bold; border-left: 0.7rem solid #2564b9; padding-left: 2rem; margin-bottom: 2rem; color: #000; }

.p-csr_article + .p-csr_article { margin-top: 5rem; }

.p-csr dl + dl { margin-top: 3rem; }

.p-csr dl dt { font-size: 1.6rem; font-weight: bold; margin-bottom: 1rem; color: #000; }

.p-csr dl dd { color: #4d4d4d; }

.p-csr ul { margin-top: 1.5rem; padding-left: 2rem; }

.p-csr ul li { list-style: disc; }

.p-policy { font-size: 1.5rem; }

.p-policy_article { padding-left: 2.7rem; }

.p-policy ol { padding-left: 2rem; margin: 3rem 0; }

.p-policy ol li { list-style: decimal; }

.p-policy ol li + li { margin-top: 2rem; }

.p-policy .txt__right { text-align: right; margin-top: 5rem; }

.p-supervision_tbl { width: 100%; margin-top: 5rem; }

.p-supervision_tbl th, .p-supervision_tbl td { vertical-align: middle; border: 1px solid #929292; text-align: center; padding: 0.5rem 1rem; }

.p-supervision_tbl th { color: #2564b8; background: #d5e7ff; }

@media screen and (min-width: 769px) { .p-supervision_tbl.sp { display: none; } }

@media screen and (max-width: 768px) { .p-supervision_tbl.pc { display: none; } }

.p-access { line-height: 1.75; }

.p-access p + p { margin-top: 2rem; }

.p-access p strong { color: #000; }

.privacy-tbl { margin: 3rem 0; }

.privacy-tbl th { width: 33%; }
