@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

body, html, * {
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'ヒラギノ角ゴ Pro W3','source-han-sans-japanese','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Osaka,sans-serif;
  font-weight: 100;
  font-style: normal; }

body, html {
  background: #fff; }

html {
  font-size: 10px;
  line-height: 10px; }

body {
  position: relative;
  color: #333;
  min-width: 0;
  width: 100%;
  position: relative;
  -webkit-text-size-adjust: 100%;
  position: relative;
  font-size: 4.6vw;
  line-height: 7.6vw;
  -webkit-print-color-adjust: exact; }
  @media print, screen and (min-width: 768px) {
    body {
      font-size: 16px;
      line-height: 30px; } }

a, a *, img, :after, :before, input, .tran {
  -webkit-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
  -moz-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
  -ms-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
  -o-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
  transition: all 0.6s cubic-bezier(0.5, 0, 0, 1); }

a {
  text-decoration: none;
  color: #333;
  word-break: break-all;
  display: block; }

input, textarea, select {
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox; }

input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio; }

a, a *, div, div * {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

a {
  overflow: hidden;
  outline: none; }

article, section {
  display: block; }

table {
  border-collapse: collapse; }

fieldset, img {
  border: 0; }

fieldset {
  vertical-align: top; }

img {
  vertical-align: bottom;
  display: block; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

strong {
  font-weight: bold; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

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

abbr, acronym {
  border: 0; }

p, aside {
  word-wrap: break-word;
  text-align: left; }

* {
  -webkit-touch-callout: none; }

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*:before, *:after {
  pointer-events: none; }

input, select {
  vertical-align: middle; }

section {
  position: relative; }

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  overflow: hidden;
  outline: none;
  text-decoration: none; }

a:hover, a:hover * {
  opacity: 0.75; }

::selection {
  background-color: #409AD6;
  color: #fff; }

.clearfix {
  width: 100%; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

body.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important; }

input:focus {
  outline: 0; }

img {
  max-width: 100%;
  height: auto; }

header {
  width: 100%; }

p {
  padding-top: 0; }

@media print, screen and (min-width: 768px) {
  .onlysp {
    display: none; } }

.onlytabpc {
  display: none; }
  @media print, screen and (min-width: 768px) {
    .onlytabpc {
      display: block; } }

.onlypc {
  display: none; }
  @media only screen and (min-width: 1000px) {
    .onlypc {
      display: block; } }

select {
  border: solid 2px #184179;
  height: 32px;
  line-height: 28px;
  padding: 0 32px 0 4px;
  cursor: pointer;
  background-image: url(../img/common/btn_select.png);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain; }

select::-ms-expand {
  display: none; }

body > header {
  border-top: solid 3.5px #127ad4;
  box-shadow: 0px 2px 2px 0.5px #a4a4a4; }
  @media print, screen and (min-width: 768px) {
    body > header {
      height: 86px; } }
  body > header > div {
    position: relative;
    margin-bottom: 12px;
    max-width: 1000px;
    margin: 0 auto; }
    body > header > div h1 {
      padding: 4vw 0 4vw 4vw; }
      @media print, screen and (min-width: 768px) {
        body > header > div h1 {
          padding: 24.5px 0 0 28px; } }
      body > header > div h1 > a > img {
        width: auto;
        height: 8vw; }
        @media print, screen and (min-width: 768px) {
          body > header > div h1 > a > img {
            width: auto;
            height: auto; } }
    body > header > div > aside {
      position: absolute;
      width: 8vw;
      height: 8vw;
      top: 4vw;
      right: 4vw;
      cursor: pointer; }
      @media print, screen and (min-width: 768px) {
        body > header > div > aside {
          display: none !important; } }
      body > header > div > aside > span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #127ad4;
        border-radius: 4px; }
        body > header > div > aside > span:nth-of-type(1) {
          top: 0; }
        body > header > div > aside > span:nth-of-type(2) {
          top: calc(50% - 2px); }
        body > header > div > aside > span:nth-of-type(3) {
          bottom: 0; }
      body > header > div > aside,
      body > header > div > aside > span {
        display: inline-block;
        transition: all .5s;
        box-sizing: border-box; }
      body > header > div > aside.active > span:nth-of-type(1) {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: calc(50% - 2px); }
      body > header > div > aside.active > span:nth-of-type(2) {
        opacity: 0; }
      body > header > div > aside.active > span:nth-of-type(3) {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        bottom: auto;
        top: calc(50% - 2px); }
    body > header > div > aside.active + div {
      left: 0; }
    body > header > div > div {
      position: fixed;
      background-color: #fff;
      width: 100vw;
      height: calc((100vh - 16vw) - 3.5px);
      top: calc(16vw + 3.5px);
      left: 100vw;
      z-index: 2;
      -webkit-transition: left 0.6s cubic-bezier(0.5, 0, 0, 1);
      -moz-transition: left 0.6s cubic-bezier(0.5, 0, 0, 1);
      -ms-transition: left 0.6s cubic-bezier(0.5, 0, 0, 1);
      -o-transition: left 0.6s cubic-bezier(0.5, 0, 0, 1);
      transition: left 0.6s cubic-bezier(0.5, 0, 0, 1); }
      @media print, screen and (min-width: 768px) {
        body > header > div > div {
          display: block;
          position: static;
          width: auto;
          height: auto; } }
      body > header > div > div > ul {
        padding: 0 4vw; }
        @media print, screen and (min-width: 768px) {
          body > header > div > div > ul {
            padding: 0;
            position: absolute;
            top: 15px;
            right: 14px;
            width: 285px;
            height: 23px;
            background: url(../img/hmenu_bg.gif) no-repeat; } }
        body > header > div > div > ul > li {
          padding: 4vw 0 0 0; }
          @media print, screen and (min-width: 768px) {
            body > header > div > div > ul > li {
              float: left;
              height: 12px;
              padding: 5px 6px 0 14px; } }
        body > header > div > div > ul > li img {
          vertical-align: top; }
      body > header > div > div > div {
        padding: 10vw 4vw 0 4vw; }
        @media print, screen and (min-width: 768px) {
          body > header > div > div > div {
            position: absolute;
            top: 50px;
            right: 4px;
            vertical-align: top;
            display: flex;
            justify-content: flex-end;
            padding: 0; } }
        body > header > div > div > div > a {
          padding-top: 4vw; }
          @media print, screen and (min-width: 768px) {
            body > header > div > div > div > a {
              padding-top: 0; } }
        @media print, screen and (min-width: 768px) {
          body > header > div > div > div img {
            padding-right: 9px; } }

body > article > header {
  padding-top: 114%;
  position: relative;
  background-position: left bottom;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    body > article > header {
      padding-top: 31.2%; } }
  body > article > header > h1 {
    font-family: din-2014, a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 700;
    font-style: normal;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
    body > article > header > h1 > span {
      text-align: center;
      font-weight: 600; }
      body > article > header > h1 > span:first-of-type {
        font-size: 4vw;
        line-height: calc(4vw + 4px);
        width: 100%;
        display: block; }
        @media print, screen and (min-width: 768px) {
          body > article > header > h1 > span:first-of-type {
            font-size: 14px;
            line-height: 20px; } }
        @media only screen and (min-width: 1000px) {
          body > article > header > h1 > span:first-of-type {
            font-size: 28px;
            line-height: 32px; } }
      body > article > header > h1 > span:nth-of-type(2) {
        font-size: 8vw;
        line-height: calc(8vw + 4px);
        position: relative;
        display: inline-block;
        padding-top: 2vw;
        z-index: 1;
        left: 50%;
        -webkit-transform: translate(-50%,0);
        -moz-transform: translate(-50%,0);
        -ms-transform: translate(-50%,0);
        -o-transform: translate(-50%,0);
        transform: translate(-50%,0); }
        @media print, screen and (min-width: 768px) {
          body > article > header > h1 > span:nth-of-type(2) {
            font-size: 25px;
            line-height: 30px;
            padding-top: 0; } }
        @media only screen and (min-width: 1000px) {
          body > article > header > h1 > span:nth-of-type(2) {
            font-size: 50px;
            line-height: 54px; } }
        body > article > header > h1 > span:nth-of-type(2):before {
          content: "";
          width: 100%;
          height: 4vw;
          position: absolute;
          bottom: -1vw;
          left: 0;
          background-color: #E1FFFA;
          z-index: -1; }
          @media print, screen and (min-width: 768px) {
            body > article > header > h1 > span:nth-of-type(2):before {
              height: 12px; } }
          @media only screen and (min-width: 1000px) {
            body > article > header > h1 > span:nth-of-type(2):before {
              height: 25px; } }
  body > article > header > ul {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 6vw;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
    @media print, screen and (min-width: 768px) {
      body > article > header > ul {
        bottom: 10px;
        width: 560px;
        right: 10px;
        left: auto;
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0); } }
    @media only screen and (min-width: 1000px) {
      body > article > header > ul {
        bottom: 2vw; } }
    @media print, screen and (min-width: 1020px) {
      body > article > header > ul {
        right: calc((100% - 1000px) / 2); } }
    body > article > header > ul > li {
      background: rgba(30, 184, 188, 0.85);
      width: 40vw;
      height: 40vw;
      border-radius: 20vw;
      margin: 0 2vw; }
      @media print, screen and (min-width: 768px) {
        body > article > header > ul > li {
          width: 160px;
          height: 160px;
          border-radius: 80px;
          margin: 0 10px; } }
      @media only screen and (min-width: 1000px) {
        body > article > header > ul > li {
          width: 200px;
          height: 200px;
          border-radius: 100px;
          font-size: 22px;
          line-height: 40px; } }
      body > article > header > ul > li > div {
        position: relative;
        top: 50%;
        -webkit-transform: translate(0,-50%);
        -moz-transform: translate(0,-50%);
        -ms-transform: translate(0,-50%);
        -o-transform: translate(0,-50%);
        transform: translate(0,-50%);
        text-align: center;
        color: #fff; }
        body > article > header > ul > li > div, body > article > header > ul > li > div * {
          font-weight: 600; }
      body > article > header > ul > li:first-of-type > div > span {
        font-size: 5vw;
        line-height: calc(5vw + 10px);
        display: inline-block; }
        @media print, screen and (min-width: 768px) {
          body > article > header > ul > li:first-of-type > div > span {
            font-size: 28px;
            line-height: 40px; } }
        body > article > header > ul > li:first-of-type > div > span:nth-of-type(1):after, body > article > header > ul > li:first-of-type > div > span:nth-of-type(2):after {
          content: "";
          width: 100%;
          height: 1px;
          background-color: #F1F174;
          content: "";
          display: block; }
      body > article > header > ul > li:nth-of-type(2) > div > span {
        font-size: 5vw;
        line-height: calc(5vw + 10px);
        display: inline-block; }
        @media print, screen and (min-width: 768px) {
          body > article > header > ul > li:nth-of-type(2) > div > span {
            font-size: 28px;
            line-height: 40px; } }
        body > article > header > ul > li:nth-of-type(2) > div > span:nth-of-type(3):after {
          content: "";
          width: 100%;
          height: 1px;
          background-color: #F1F174;
          content: "";
          display: block; }

body > article .colorred {
  color: #FF5757 !important; }

body > article > p {
  background-color: #fff;
  padding: 4.2vw 8vw; }
  @media print, screen and (min-width: 768px) {
    body > article > p {
      text-align: center;
      padding: 23px 0; } }

body > article > nav > ul {
  padding: 4.1vw 8vw 6.6vw 8vw; }
  @media print, screen and (min-width: 768px) {
    body > article > nav > ul {
      padding: 10px 0 30px 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      max-width: 860px;
      margin: 0 auto; } }
  body > article > nav > ul > li {
    padding-top: 2.5vw; }
    @media print, screen and (min-width: 768px) {
      body > article > nav > ul > li {
        padding-top: 20px;
        padding-left: 10px;
        padding-right: 10px; } }
    body > article > nav > ul > li > a {
      line-height: 13.3vw;
      padding-right: 2.5vw;
      text-align: center;
      border-radius: 6.65vw;
      position: relative; }
      @media print, screen and (min-width: 768px) {
        body > article > nav > ul > li > a {
          line-height: 50px;
          padding-right: 65px;
          padding-left: 30px;
          text-align: center; } }
      body > article > nav > ul > li > a, body > article > nav > ul > li > a * {
        font-weight: 600; }
      body > article > nav > ul > li > a:after {
        content: "";
        display: block;
        width: 4vw;
        height: 4vw;
        position: absolute;
        top: calc(50% - 0.8vw);
        right: 4vw;
        -webkit-transform: translate(0,-50%) rotate(45deg);
        -moz-transform: translate(0,-50%) rotate(45deg);
        -ms-transform: translate(0,-50%) rotate(45deg);
        -o-transform: translate(0,-50%) rotate(45deg);
        transform: translate(0,-50%) rotate(45deg); }
        @media print, screen and (min-width: 768px) {
          body > article > nav > ul > li > a:after {
            width: 16px;
            height: 16px;
            top: calc(50% - 4px);
            right: 24px; } }

body > article > nav:first-of-type {
  background-color: #F1F6FC; }
  body > article > nav:first-of-type > ul > li > a {
    background-color: #0362B4;
    color: #fff; }
    body > article > nav:first-of-type > ul > li > a:after {
      border-right: solid 2px #fff;
      border-bottom: solid 2px #fff; }

body > article > nav:nth-of-type(2) {
  background-color: #0362B4; }
  body > article > nav:nth-of-type(2) > ul > li > a {
    background-color: #fff;
    color: #0362B4; }
    body > article > nav:nth-of-type(2) > ul > li > a:after {
      border-right: solid 2px #0362B4;
      border-bottom: solid 2px #0362B4; }

body > article > section {
  padding: 13.3vw 4vw 16vw 4vw;
  margin: 0 auto; }
  @media print, screen and (min-width: 768px) {
    body > article > section {
      padding: 80px 10px 100px 10px; } }
  @media only screen and (min-width: 1000px) {
    body > article > section {
      padding-left: calc((100% - 1000px) / 2);
      padding-right: calc((100% - 1000px) / 2); } }
  body > article > section > header {
    padding-top: 13.3vw;
    position: relative; }
    @media print, screen and (min-width: 768px) {
      body > article > section > header {
        padding-top: 50px; } }
    body > article > section > header:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 10vw;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain; }
      @media print, screen and (min-width: 768px) {
        body > article > section > header:before {
          height: 36px; } }
    body > article > section > header > h2 {
      text-align: center; }
      body > article > section > header > h2 > span {
        font-size: 6.6vw;
        line-height: 9.6vw;
        font-weight: 600; }
        @media print, screen and (min-width: 768px) {
          body > article > section > header > h2 > span {
            font-size: 34px;
            line-height: 50px; } }
  body > article > section > header + * {
    padding-top: 8vw !important; }
    @media print, screen and (min-width: 768px) {
      body > article > section > header + * {
        padding-top: 60px !important; } }
  body > article > section > figure {
    max-width: 600px;
    padding-top: 8vw;
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      body > article > section > figure {
        padding-top: 45px; } }
    @media print, screen and (min-width: 768px) {
      body > article > section > figure + section.inwrap {
        margin-top: 45px !important; } }
  body > article > section .product {
    padding-top: 6vw; }
    @media print, screen and (min-width: 768px) {
      body > article > section .product {
        padding-top: 50px !important; } }
    body > article > section .product > figure {
      padding: 0 4vw;
      max-width: calc(600px + 8vw);
      margin: 0 auto; }
      @media print, screen and (min-width: 768px) {
        body > article > section .product > figure {
          padding: 0;
          width: 600px; } }
    body > article > section .product > header {
      padding-top: 13vw;
      position: relative; }
      @media print, screen and (min-width: 768px) {
        body > article > section .product > header {
          padding-top: 90px; } }
      body > article > section .product > header:before {
        text-align: center;
        color: #0362B4;
        position: absolute;
        top: 6.6vw;
        width: 100%;
        font-size: 5vw;
        line-height: calc(5vw + 4px);
        font-weight: 600; }
        @media print, screen and (min-width: 768px) {
          body > article > section .product > header:before {
            top: 40px;
            font-size: 24px;
            line-height: 28px; } }
      body > article > section .product > header > h3 {
        text-align: center; }
        body > article > section .product > header > h3 > span {
          font-size: 5vw;
          line-height: calc(5vw + 4px);
          font-weight: 600;
          background: linear-gradient(transparent 50%, #E1FFFA 50%); }
          @media print, screen and (min-width: 768px) {
            body > article > section .product > header > h3 > span {
              font-size: 22px;
              line-height: 26px; } }
    body > article > section .product > p {
      padding-left: 4vw;
      padding-right: 4vw; }
      @media print, screen and (min-width: 768px) {
        body > article > section .product > p {
          text-align: center;
          padding-left: 0;
          padding-right: 0; } }
      body > article > section .product > p:first-of-type {
        font-size: 4.2vw;
        line-height: 6.7vw;
        padding-top: 7vw;
        font-weight: 400; }
        @media print, screen and (min-width: 768px) {
          body > article > section .product > p:first-of-type {
            padding-top: 18px;
            font-size: 16px;
            line-height: 20px; } }
      body > article > section .product > p:nth-of-type(2) {
        font-size: 3.7vw;
        line-height: 6.7vw;
        padding-top: 2.5vw;
        color: #555; }
        @media print, screen and (min-width: 768px) {
          body > article > section .product > p:nth-of-type(2) {
            font-size: 14px;
            line-height: 24px;
            padding-top: 15px; } }
    body > article > section .product#tp950 > header:before {
      content: "検査機器"; }
    body > article > section .product#directpcr > header:before {
      content: "試薬"; }
  body > article > section .hasborder {
    border: solid 2px #D1DDE8;
    border-radius: 2.6vw; }
    @media print, screen and (min-width: 768px) {
      body > article > section .hasborder {
        border-radius: 10px; } }
  body > article > section .inwrap {
    margin-top: 8vw;
    padding: 0 4vw 6.6vw 4vw !important;
    max-width: 1000px;
    overflow: hidden;
    background-color: #fff; }
    @media print, screen and (min-width: 768px) {
      body > article > section .inwrap {
        padding: 14px 100px 50px 100px !important;
        margin-top: 30px; } }
    body > article > section .inwrap > header > * {
      text-align: center; }
      body > article > section .inwrap > header > * > span {
        line-height: 20vw;
        font-size: 5.3vw;
        color: #0362B4;
        font-weight: 600; }
        @media print, screen and (min-width: 768px) {
          body > article > section .inwrap > header > * > span {
            font-size: 24px;
            line-height: 96px; } }
    body > article > section .inwrap > table {
      border-bottom: solid 2px #ddd; }
      body > article > section .inwrap > table, body > article > section .inwrap > table * {
        display: block; }
      body > article > section .inwrap > table tr {
        border-top: solid 2px #ddd; }
        @media print, screen and (min-width: 768px) {
          body > article > section .inwrap > table tr {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start; } }
        body > article > section .inwrap > table tr > * {
          width: 100%;
          font-size: 4.2vw;
          line-height: 6.6vw;
          padding: 1.5vw 4vw; }
          @media print, screen and (min-width: 768px) {
            body > article > section .inwrap > table tr > * {
              font-size: 16px;
              line-height: 24px;
              padding: 16px 30px !important; } }
        body > article > section .inwrap > table tr > th {
          background-color: #F7F7F7;
          font-weight: 600; }
          @media print, screen and (min-width: 768px) {
            body > article > section .inwrap > table tr > th {
              width: 150px; } }
        body > article > section .inwrap > table tr > td {
          padding-bottom: calc(1.5vw + 5px);
          padding-top: calc(1.5vw + 5px); }
          @media print, screen and (min-width: 768px) {
            body > article > section .inwrap > table tr > td {
              width: calc(100% - 150px); } }
    body > article > section .inwrap > ul.txtlist > li {
      font-size: 4.2vw;
      line-height: 6.6vw;
      position: relative;
      padding-left: 4vw; }
      @media print, screen and (min-width: 768px) {
        body > article > section .inwrap > ul.txtlist > li {
          font-size: 16px;
          line-height: 30px;
          padding-left: 18px; } }
      body > article > section .inwrap > ul.txtlist > li:before {
        content: "";
        width: 2vw;
        height: 2vw;
        display: block;
        border-radius: 1vw;
        position: absolute;
        left: 0;
        top: 2.6vw;
        background-color: #1DB2BF; }
        @media print, screen and (min-width: 768px) {
          body > article > section .inwrap > ul.txtlist > li:before {
            width: 8px;
            height: 8px;
            border-radius: 4px;
            top: 12px; } }
  body > article > section .flowwrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important; }
    @media print, screen and (min-width: 768px) {
      body > article > section .flowwrap {
        padding-top: 0 !important; } }
    body > article > section .flowwrap > * {
      padding: 0 4vw; }
      body > article > section .flowwrap > *:last-child {
        padding-bottom: 6.6vw; }
        @media print, screen and (min-width: 768px) {
          body > article > section .flowwrap > *:last-child {
            padding-bottom: 40px; } }
    body > article > section .flowwrap > header {
      background-color: #0362B4;
      position: relative;
      padding-top: 2.6vw;
      padding-bottom: 2.6vw; }
      @media print, screen and (min-width: 768px) {
        body > article > section .flowwrap > header {
          padding-top: 0;
          padding-bottom: 0; } }
      body > article > section .flowwrap > header > h3 > span {
        color: #fff;
        line-height: 7.4vw; }
        @media print, screen and (min-width: 768px) {
          body > article > section .flowwrap > header > h3 > span {
            line-height: 70px; } }
      body > article > section .flowwrap > header:after {
        content: "";
        width: 4vw;
        height: 4vw;
        border-right: solid 2px #fff;
        border-bottom: solid 2px #fff;
        position: absolute;
        top: calc(50% - 0.25vw);
        right: 4vw;
        -webkit-transform: translate(0,-50%) rotate(45deg);
        -moz-transform: translate(0,-50%) rotate(45deg);
        -ms-transform: translate(0,-50%) rotate(45deg);
        -o-transform: translate(0,-50%) rotate(45deg);
        transform: translate(0,-50%) rotate(45deg); }
        @media print, screen and (min-width: 768px) {
          body > article > section .flowwrap > header:after {
            right: 40px;
            width: 20px;
            height: 20px; } }
    body > article > section .flowwrap > div {
      padding: 0 4vw;
      display: none; }
      @media print, screen and (min-width: 768px) {
        body > article > section .flowwrap > div {
          padding: 0 100px; } }
      body > article > section .flowwrap > div > section {
        padding: 10.6vw 0 5vw 0;
        border-bottom: solid 2px #ddd;
        position: relative; }
        @media print, screen and (min-width: 768px) {
          body > article > section .flowwrap > div > section {
            padding: 50px 0 30px 160px;
            min-height: 210px; } }
        body > article > section .flowwrap > div > section:first-of-type {
          padding-top: 5.3vw; }
          @media print, screen and (min-width: 768px) {
            body > article > section .flowwrap > div > section:first-of-type {
              padding-top: 50px; } }
          body > article > section .flowwrap > div > section:first-of-type:before {
            top: 5.3vw; }
            @media print, screen and (min-width: 768px) {
              body > article > section .flowwrap > div > section:first-of-type:before {
                top: 50px; } }
        body > article > section .flowwrap > div > section:last-of-type {
          border-bottom: none; }
          body > article > section .flowwrap > div > section:last-of-type:after {
            content: none; }
        body > article > section .flowwrap > div > section:before {
          content: "";
          position: absolute;
          left: 0;
          top: 10.6vw;
          width: 24vw;
          height: 20vw;
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain; }
          @media print, screen and (min-width: 768px) {
            body > article > section .flowwrap > div > section:before {
              top: 50px;
              width: 130px;
              height: 140px; } }
        body > article > section .flowwrap > div > section > header {
          padding-left: 24vw;
          min-height: 20vw;
          position: relative; }
          @media print, screen and (min-width: 768px) {
            body > article > section .flowwrap > div > section > header {
              padding-left: 0;
              min-height: 0; } }
          body > article > section .flowwrap > div > section > header > h4 {
            position: absolute;
            top: 50%;
            -webkit-transform: translate(0,-50%);
            -moz-transform: translate(0,-50%);
            -ms-transform: translate(0,-50%);
            -o-transform: translate(0,-50%);
            transform: translate(0,-50%); }
            @media print, screen and (min-width: 768px) {
              body > article > section .flowwrap > div > section > header > h4 {
                position: relative;
                top: auto;
                -webkit-transform: translate(0,0);
                -moz-transform: translate(0,0);
                -ms-transform: translate(0,0);
                -o-transform: translate(0,0);
                transform: translate(0,0); } }
            body > article > section .flowwrap > div > section > header > h4:before {
              content: "";
              line-height: 4.8vw;
              margin-bottom: 2.2vw;
              background-color: #E1FFFA;
              color: #1AA0A3;
              padding-left: 2.5vw;
              padding-right: 2.5vw;
              display: inline-block; }
              @media print, screen and (min-width: 768px) {
                body > article > section .flowwrap > div > section > header > h4:before {
                  margin-bottom: auto;
                  font-size: 14px;
                  line-height: 18px;
                  padding-left: 10px;
                  padding-right: 10px;
                  position: relative;
                  top: 0;
                  margin-top: 4px;
                  transform: translate(0, -2px); } }
            body > article > section .flowwrap > div > section > header > h4 > span {
              width: 100%;
              display: block;
              font-size: 5vw;
              line-height: calc(5vw + 4px);
              font-weight: 600; }
              @media print, screen and (min-width: 768px) {
                body > article > section .flowwrap > div > section > header > h4 > span {
                  font-size: 22px;
                  line-height: 26px;
                  display: inline;
                  width: auto;
                  padding-left: 10px; } }
        body > article > section .flowwrap > div > section:after {
          content: "";
          position: absolute;
          border-right: solid 2px #ddd;
          border-bottom: solid 2px #ddd;
          display: block;
          width: 10vw;
          height: 10vw;
          left: 50%;
          background-color: #fff;
          -webkit-transform: translate(-50%,0) rotate(45deg);
          -moz-transform: translate(-50%,0) rotate(45deg);
          -ms-transform: translate(-50%,0) rotate(45deg);
          -o-transform: translate(-50%,0) rotate(45deg);
          transform: translate(-50%,0) rotate(45deg); }
          @media print, screen and (min-width: 768px) {
            body > article > section .flowwrap > div > section:after {
              width: 40px;
              height: 40px;
              bottom: -21px; } }
        body > article > section .flowwrap > div > section > p {
          font-size: 4.2vw;
          line-height: 7.4vw;
          padding-top: 2.4vw; }
          @media print, screen and (min-width: 768px) {
            body > article > section .flowwrap > div > section > p {
              font-size: 16px;
              line-height: 28px;
              padding-top: 16px; } }
      body > article > section .flowwrap > div .boxA-1 {
        width: 10px; }
      body > article > section .flowwrap > div > section:nth-of-type(1) > header > h4:before {
        content: "STEP 1"; }
      body > article > section .flowwrap > div .boxA-2 {
        width: 20px; }
      body > article > section .flowwrap > div > section:nth-of-type(2) > header > h4:before {
        content: "STEP 2"; }
      body > article > section .flowwrap > div .boxA-3 {
        width: 30px; }
      body > article > section .flowwrap > div > section:nth-of-type(3) > header > h4:before {
        content: "STEP 3"; }
      body > article > section .flowwrap > div .boxA-4 {
        width: 40px; }
      body > article > section .flowwrap > div > section:nth-of-type(4) > header > h4:before {
        content: "STEP 4"; }
      body > article > section .flowwrap > div .boxA-5 {
        width: 50px; }
      body > article > section .flowwrap > div > section:nth-of-type(5) > header > h4:before {
        content: "STEP 5"; }
    body > article > section .flowwrap.open > header:after {
      -webkit-transform: translate(0,-50%) rotate(225deg);
      -moz-transform: translate(0,-50%) rotate(225deg);
      -ms-transform: translate(0,-50%) rotate(225deg);
      -o-transform: translate(0,-50%) rotate(225deg);
      transform: translate(0,-50%) rotate(225deg);
      top: calc(50% + 0.5vw); }
    body > article > section .flowwrap.open > div {
      display: block; }
  body > article > section#kit > header:before {
    background-image: url(../img/icon_kit.svg); }
  @media print, screen and (min-width: 768px) {
    body > article > section#local > header + table, body > article > section#bymail > header + table {
      width: 398px;
      margin: 0 auto; } }
  body > article > section#local > header + table, body > article > section#local > header + table *, body > article > section#bymail > header + table, body > article > section#bymail > header + table * {
    display: block; }
  body > article > section#local > header + table tr, body > article > section#bymail > header + table tr {
    padding-top: 1.2vw; }
    @media print, screen and (min-width: 768px) {
      body > article > section#local > header + table tr, body > article > section#bymail > header + table tr {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding-top: 2px; } }
    body > article > section#local > header + table tr:first-of-type, body > article > section#bymail > header + table tr:first-of-type {
      padding-top: 0; }
    body > article > section#local > header + table tr > *, body > article > section#bymail > header + table tr > * {
      text-align: center;
      width: 100%; }
    body > article > section#local > header + table tr > th, body > article > section#bymail > header + table tr > th {
      background-color: #0362B4;
      color: #fff;
      font-size: 4.2vw;
      line-height: 9.3vw;
      font-weight: 600;
      letter-spacing: 2px; }
      @media print, screen and (min-width: 768px) {
        body > article > section#local > header + table tr > th, body > article > section#bymail > header + table tr > th {
          width: 156px;
          font-size: 18px;
          line-height: 40px; } }
    body > article > section#local > header + table tr > td, body > article > section#bymail > header + table tr > td {
      font-size: 4.2vw;
      line-height: 13vw; }
      @media print, screen and (min-width: 768px) {
        body > article > section#local > header + table tr > td, body > article > section#bymail > header + table tr > td {
          width: 240px;
          font-size: 16px;
          line-height: 40px; } }
  body > article > section#local {
    background-color: #F1F6FC; }
    body > article > section#local > header:before {
      background-image: url(../img/icon_local.svg); }
    body > article > section#local > header + table td {
      background-color: #fff; }
    body > article > section#local > section.flowwrap > div > section:nth-of-type(1):before {
      background-image: url(../img/img_local_flow1.png); }
    body > article > section#local > section.flowwrap > div > section:nth-of-type(2):before {
      background-image: url(../img/img_local_flow2.png); }
    body > article > section#local > section.flowwrap > div > section:nth-of-type(3):before {
      background-image: url(../img/img_local_flow3.png); }
    body > article > section#local > section.flowwrap > div > section:nth-of-type(4):before {
      background-image: url(../img/img_local_flow4.png); }
    body > article > section#local > section.flowwrap > div > section:nth-of-type(5):before {
      background-image: url(../img/img_local_flow5.png); }
  body > article > section#bymail > header:before {
    background-image: url(../img/icon_bymail.svg); }
  body > article > section#bymail > header + table td {
    background-color: #F1F6FC; }
  body > article > section#bymail > section.flowwrap > div > section:nth-of-type(1):before {
    background-image: url(../img/img_bymail_flow1.png); }
  body > article > section#bymail > section.flowwrap > div > section:nth-of-type(2):before {
    background-image: url(../img/img_bymail_flow2.png); }
  body > article > section#bymail > section.flowwrap > div > section:nth-of-type(3):before {
    background-image: url(../img/img_bymail_flow3.png); }
  body > article > section#bymail > section.flowwrap > div > section:nth-of-type(4):before {
    background-image: url(../img/img_bymail_flow4.png); }
  body > article > section#bymail > section.flowwrap > div > section:nth-of-type(5):before {
    background-image: url(../img/img_bymail_flow5.png); }
  body > article > section#guidance {
    background-color: #F9F9F9; }
    body > article > section#guidance > header:before {
      background-image: url(../img/icon_guidance.svg); }
    body > article > section#guidance > section > ul > li > dl {
      padding-bottom: 10px; }
      @media print, screen and (min-width: 768px) {
        body > article > section#guidance > section > ul > li > dl {
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-start; } }
      body > article > section#guidance > section > ul > li > dl * {
        display: block;
        width: 100%;
        font-size: 4.2vw;
        line-height: 6.6vw; }
        @media print, screen and (min-width: 768px) {
          body > article > section#guidance > section > ul > li > dl * {
            font-size: 16px;
            line-height: 24px; } }
      body > article > section#guidance > section > ul > li > dl > dt {
        background-color: #F7F7F7;
        font-weight: 600;
        border-top: solid 2px #ddd;
        padding: 1.5vw 4vw;
        border-bottom: solid 2px #ddd;
        position: relative; }
        @media print, screen and (min-width: 768px) {
          body > article > section#guidance > section > ul > li > dl > dt {
            width: 150px;
            padding: 16px 30px; } }
        body > article > section#guidance > section > ul > li > dl > dt > span {
          font-weight: 600; }
          @media print, screen and (min-width: 768px) {
            body > article > section#guidance > section > ul > li > dl > dt > span {
              display: block;
              top: 50%;
              position: relative;
              -webkit-transform: translate(0,-50%);
              -moz-transform: translate(0,-50%);
              -ms-transform: translate(0,-50%);
              -o-transform: translate(0,-50%);
              transform: translate(0,-50%); } }
      body > article > section#guidance > section > ul > li > dl > dd {
        border-bottom: solid 2px #ddd; }
        @media print, screen and (min-width: 768px) {
          body > article > section#guidance > section > ul > li > dl > dd {
            width: calc(100% - 150px);
            border-top: solid 2px #ddd; } }
        body > article > section#guidance > section > ul > li > dl > dd > p {
          padding: 0;
          border-bottom: solid 2px #ddd;
          padding: 1.5vw 4vw; }
          body > article > section#guidance > section > ul > li > dl > dd > p:last-of-type {
            border-bottom: none; }
          @media print, screen and (min-width: 768px) {
            body > article > section#guidance > section > ul > li > dl > dd > p {
              padding: 16px 30px; } }
  body > article > section#contactus {
    background-color: #F1F6FC; }
    body > article > section#contactus > header:before {
      background-image: url(../img/icon_contactus.svg); }
    @media print, screen and (min-width: 768px) {
      body > article > section#contactus > div {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center; } }
    @media print, screen and (min-width: 768px) {
      body > article > section#contactus > div > div {
        width: 380px;
        padding-right: 60px; } }
    body > article > section#contactus > div > div > address {
      padding-left: 9.2vw;
      position: relative;
      display: inline-block;
      left: 50%;
      -webkit-transform: translate(-50%,0);
      -moz-transform: translate(-50%,0);
      -ms-transform: translate(-50%,0);
      -o-transform: translate(-50%,0);
      transform: translate(-50%,0); }
      @media print, screen and (min-width: 768px) {
        body > article > section#contactus > div > div > address {
          padding-left: 36px; } }
      body > article > section#contactus > div > div > address:before {
        content: "";
        position: absolute;
        width: 9.2vw;
        height: 8vw;
        display: block;
        background-image: url(../img/icon_tel.svg);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: contain;
        left: 0;
        top: 8vw; }
        @media print, screen and (min-width: 768px) {
          body > article > section#contactus > div > div > address:before {
            width: 32px;
            height: 38px;
            top: 0; } }
      body > article > section#contactus > div > div > address > a {
        display: inline-block;
        font-size: 8vw;
        font-weight: 600;
        color: #0362B4; }
        @media print, screen and (min-width: 768px) {
          body > article > section#contactus > div > div > address > a {
            font-size: 34px;
            line-height: 38px; } }
        @media only screen and (min-width: 1000px) {
          body > article > section#contactus > div > div > address > a {
            pointer-events: none; } }
    body > article > section#contactus > div > div > p {
      text-align: center;
      color: #555;
      font-size: 3.6vw;
      line-height: calc(3.6vw + 4px); }
      @media print, screen and (min-width: 768px) {
        body > article > section#contactus > div > div > p {
          font-size: 14px;
          line-height: 18px;
          padding-left: 34px; } }
    body > article > section#contactus > div > nav {
      padding: 6vw 4vw 0 4vw; }
      @media print, screen and (min-width: 768px) {
        body > article > section#contactus > div > nav {
          width: 420px;
          padding: 0 0 0 60px; } }
      body > article > section#contactus > div > nav > a {
        line-height: 13.3vw;
        padding-right: 2.5vw;
        text-align: center;
        border-radius: 6.65vw;
        position: relative;
        background-color: #0362B4;
        color: #fff; }
        @media print, screen and (min-width: 768px) {
          body > article > section#contactus > div > nav > a {
            line-height: 70px;
            font-size: 20px;
            border-radius: 35px;
            padding-right: 20px; } }
        body > article > section#contactus > div > nav > a:after {
          content: "";
          border-right: solid 2px #fff;
          border-top: solid 2px #fff;
          display: block;
          width: 4vw;
          height: 4vw;
          position: absolute;
          top: 50%;
          right: 4vw;
          -webkit-transform: translate(0,-50%) rotate(45deg);
          -moz-transform: translate(0,-50%) rotate(45deg);
          -ms-transform: translate(0,-50%) rotate(45deg);
          -o-transform: translate(0,-50%) rotate(45deg);
          transform: translate(0,-50%) rotate(45deg); }
          @media print, screen and (min-width: 768px) {
            body > article > section#contactus > div > nav > a:after {
              right: 30px;
              width: 16px;
              height: 16px; } }

body > footer#footer_wrap {
  background-color: #035cad; }
  body > footer#footer_wrap a {
    display: inline; }
  @media only screen and (max-width: 768px) {
    body > footer#footer_wrap address,
    body > footer#footer_wrap ul {
      padding: 4vw 4vw 0 4vw; }
    body > footer#footer_wrap address {
      font-size: 4.6vw;
      line-height: calc(4.6vw + 8px);
      text-align: center; }
    body > footer#footer_wrap a {
      font-size: 2vw;
      line-height: calc(2vw + 8px); }
    body > footer#footer_wrap ul > li {
      display: inline-block; }
      body > footer#footer_wrap ul > li br {
        line-height: calc(2vw + 8px); } }

body #footer {
  max-width: 1000px;
  width: 100%; }
