@charset "UTF-8";
/*----------------------------------------------
 * * reset styles
 * *----------------------------------------------*/
main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  display: block;
}

/*----------------------------------------------
 * * formatting styles
 * *----------------------------------------------*/
html {
  font-size: 62.5%;
  box-sizing: border-box;
}
* {
  box-sizing: inherit;
}
*:before, *:after {
  box-sizing: inherit;
}

body {
  min-width: 1080px;
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.5em;
  line-height: 1.6;
  color: #333;
}
@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
    -webkit-text-size-adjust: 100%;
  }
}

.scroll-prevent {
  position: fixed;
  width: 100%;
  height: 100%;
}

a {
  color: inherit;
  transition-duration: 0.3s;
}

_::-webkit-full-page-media, _:future, :root a {
  text-underline-offset: 2px;
}

[href^="tel:"] {
  display: inline-block;
  pointer-events: none;
  text-decoration: none;
}

img {
  border-style: none;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  a:hover {
    text-decoration: none;
  }
}
@media (any-pointer: coarse) {
  a:active {
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  [href^="tel:"] {
    display: inline;
    pointer-events: auto;
    text-decoration: underline;
  }
}

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

/* ----------------------------------------------
 * *header
 * *----------------------------------------------*/
header {
  max-width: 980px;
  margin: 0 auto;
  height: 90px;
  display: flex;
  align-items: center;
  line-height: 1.4;
}
header .logo {
  flex: 0 0 auto;
}
.hdInfo {
  flex: 0 0 auto;
  margin-left: auto;
}

header .telfax {
  list-style: none;
  display: flex;
  font-weight: bold;
  font-size: 1.7rem;
}
header .telfax li {
  flex: 0 0 auto;
}
header .telfax li:nth-of-type(n+2)::before {
  content: "／";
  display: inline-block;
  padding: 0 0.5em;
}
header dl {
  display: flex;
  align-items: baseline;
}
header dt {
  flex: 0 0 5em;
  margin-left: auto;
  margin-right: 0.5em;
  padding: 2px 0 1px;
  background-color: #0068b5;
  text-align: center;
  color: #fff;
}
header dd {
  flex: 0 0 auto;
}
header dd span {
  display: inline-block;
  margin-left: 1em;
}
.btnHamburger {
  display: none;
}

@media screen and (min-width: 768px) {
  header .logo a:hover {
    opacity: 0.7;
  }
}
@media (any-pointer: coarse) {
  header .logo a:active {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  header {
    border-bottom: 1px solid #0068b5;
    padding: 0 calc(65px + 1.33%) 0 5.33%;
    height: 65px;
    flex-wrap: wrap;
    align-items: center;
    line-height: 1.3;
  }
  header .logo {
    flex: 0 1 250px;
  }
  .hdInfo {
    display: none;
  }

  header .telfax {
    display: block;
    text-align: center;
  }
  header .telfax li:nth-of-type(n+2)::before {
    display: none;
  }
  header dl {
    margin-top: 1em;
    justify-content: center;
    font-size: 1.4rem;
  }
  header dt {
    margin-left: 0;
  }
  header dd span {
    display: block;
    margin-left: 0;
  }
  .btnHamburger {
    padding: 0;
    display: block;
    background-color: #0068b5;
    width: 65px;
    height: 65px;
    position: fixed;
    z-index: 100;
    right: 0;
    top: 0;
    color: #fff;
  }
  .btnHamburger::before {
    content: "";
    position: absolute;
    left: 26.9231%;
    top: 14px;
    width: 30px;
    height: 2px;
    background-color: #fff;
    transition-duration: 0.3s;
  }
  .btnHamburger::after {
    content: "";
    position: absolute;
    left: 26.9231%;
    top: 34px;
    width: 30px;
    height: 2px;
    background-color: #fff;
    transition-duration: 0.3s;
  }
  .btnHamburger span {
    display: block;
    padding-top: 32px;
  }
  .btnHamburger span::before {
    content: "";
    position: absolute;
    left: 26.9231%;
    top: 24px;
    width: 30px;
    height: 2px;
    background-color: #fff;
    transition-duration: 0.3s;
  }
  .btnHamburger .close {
    display: none;
  }

  header.open {
    position: fixed;
    z-index: 101;
    left: 0;
    top: 0;
    width: 100%;
    background-color: #fff;
  }
  header.open .btnHamburger::before {
    top: 24px;
    transform: rotate(45deg);
  }
  header.open .btnHamburger::after {
    top: 24px;
    transform: rotate(-45deg);
  }
  header.open .btnHamburger span::before {
    background-color: rgba(255, 255, 255, 0);
  }
  header.open .btnHamburger .close {
    display: block;
  }
  header.open .btnHamburger .open {
    display: none;
  }
}

/* ----------------------------------------------
 * *nav
 * *----------------------------------------------*/
nav {
  background-color: #0068b5;
  color: #fff;
  position: relative;
  z-index: 1;
}
nav ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}
nav li {
  flex: 0 0 20%;
  border-right: 1px solid #fff;
}
_:-ms-lang(x)::-ms-backdrop, nav li {
  max-width: 20%;
}

nav li:first-child {
  border-left: 1px solid #fff;
}
nav li[ontouchstart]:first-of-type {
  text-align: left;
}
nav li .parentItem {
  position: relative;
  transition-duration: 0.3s;
}
nav li .parentItem::after {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 50%;
  transform: translateY(50%);
  border-style: solid;
  border-color: #fff transparent transparent;
  border-width: 12px 7px 0;
}
nav .navItem01 {
  display: block;
  padding: 12px 14px;
  text-decoration: none;
}
nav [name=parentCheck] {
  display: none;
}
nav .childNav {
  display: none;
  background-color: #e8eef7;
  position: absolute;
  padding: 7px 0;
  left: 0;
  top: 100%;
  width: 100%;
  color: #0068b5;
}
nav .childNav li {
  flex-basis: auto;
  margin: 7px;
  border: none;
}
nav .childNav a {
  display: block;
  background-color: #fff;
  border: 1px solid #0068b5;
  padding: 10px;
  min-width: 140px;
  text-decoration: none;
  line-height: 1.3;
}
#parentCheck02 ~ .childNav ul {
  padding-left: 190px;
}

#parentCheck03 ~ .childNav ul {
  padding-left: 385px;
}

nav .qualityPolicy {
  display: flex;
  position: absolute;
  pointer-events: none;
  right: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(50%);
  width: 980px;
  padding-left: 378px;
}
nav .qualityPolicy .privacy {
  margin-left: 15px;
}
nav .qualityPolicy img {
  height: 70px;
  pointer-events: auto;
}
nav .qualityPolicy p {
  display: none;
}
@media screen and (min-width: 768px) {
  nav .navItem01:hover {
    background-color: #0b4169;
  }
  nav .childNav a:hover {
    background-color: #0068b5;
    color: #fff;
  }
  nav li:hover .childNav {
    display: block;
  }
}
@media (any-pointer: coarse) {
  nav li {
    display: flex;
    flex-wrap: wrap;
  }
  nav .navItem01 {
    flex: 0 0 100%;
  }
  nav .navItem01::after {
    display: none;
  }
  nav .navItem01:active {
    background-color: #0b4169;
  }
  nav .childNav a:active {
    background-color: #0068b5;
    color: #fff;
  }
  nav [name=parentCheck] + label {
    display: block;
    position: relative;
  }
  nav [name=parentCheck] + label::before {
    content: "";
    position: absolute;
    right: 14px;
    bottom: 50%;
    transform: translateY(50%);
    border-style: solid;
    border-color: #fff transparent transparent;
    border-width: 12px 7px 0;
    transition-duration: 0.3s;
  }
  nav [name=parentCheck]:checked + label::before {
    transform: translateY(50%) rotate(180deg);
  }
  nav [name=parentCheck]:checked ~ .childNav {
    display: block;
  }
  nav li:hover .childNav {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  nav {
    position: fixed;
    z-index: 100;
    width: 100%;
    height: calc(100% - 65px);
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
    left: 0;
    top: 65px;
    background-color: #e8eef7;
    padding-bottom: 30px;
    transform: scale(0, 0);
    transform-origin: right top;
  }
  nav ul {
    display: block;
    width: 90.6667%;
    min-width: 300px;
    margin-top: 28px;
    text-align: left;
  }
  nav li {
    border-right: none;
    background-color: #0068b5;
  }
  nav li:first-of-type {
    border-left: none;
  }
  nav li:nth-of-type(n+2) {
    margin-top: 10px;
  }
  nav .navItem01 {
    padding: 10px 20px;
  }
  nav .parentItem {
    width: calc(100% - 50px);
  }
  nav .childNav {
    flex: 0 0 100%;
    position: static;
    background-color: #fff;
    padding: 0;
  }
  nav .childNav ul {
    display: block;
    width: auto;
    margin: 0;
  }
  nav .childNav li {
    display: list-item;
    margin: 0;
    background-color: transparent;
  }
  nav .childNav li:nth-of-type(n+2) {
    border-top: 1px dashed #0068b5;
  }
  nav .childNav a {
    border: none;
    padding: 8px 40px;
  }
  #parentCheck02 ~ .childNav ul, #parentCheck03 ~ .childNav ul {
    padding-left: 0;
  }

  nav .qualityPolicy {
    position: static;
    justify-content: center;
    margin-top: 38px;
    padding-left: 0;
    width: auto;
    transform: translateX(0);
    font-size: 1.2rem;
    color: #333;
    text-align: center;
    pointer-events: auto;
  }
  nav .qualityPolicy img {
    height: 104px;
  }
  nav .qualityPolicy .privacy {
    margin-left: 25px;
  }
  nav .qualityPolicy p {
    display: block;
    margin-top: 18px;
  }
  .open + nav {
    transform: scale(1, 1);
  }
}

/* ----------------------------------------------
 * *main
 * *----------------------------------------------*/
em {
  font-style: normal;
  font-weight: bold;
  color: #f84b4b;
}

.pageTitle {
  max-width: 980px;
  margin: 0 auto;
  padding: 60px 0 74px;
  text-align: center;
  font-size: 3rem;
  line-height: 1.28;
}
.pageTitle > span {
  display: block;
  font-size: 2.4rem;
}
.pageTitle .eng {
  margin-bottom: 8px;
  font-weight: normal;
  font-size: 2.1rem;
  color: #0068b5;
}
.pageTitle br {
  display: none;
}

.ttl {
  background-color: #0068b5;
  padding: 7px 0;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
}

.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 40px;
  background: #33b9cc url(../img/arrow.svg) no-repeat right 13px center;
  padding-right: 32px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

button {
  -webkit-appearance: none;
  appearance: none;
  outline: 0;
  margin: 0;
  display: block;
  border: none;
  font-family: inherit;
  cursor: pointer;
  transition-duration: 0.3s;
}

select {
  -webkit-appearance: none;
  appearance: none;
  outline: 0;
  margin: 0;
  display: block;
  width: 100%;
  height: 50px;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 8px;
  font-family: inherit;
  font-size: 100%;
}
select::-ms-expand {
  display: none;
}

.select {
  position: relative;
}
.select::before {
  content: "";
  display: block;
  position: absolute;
  right: 8px;
  bottom: 50%;
  transform: translateY(50%);
  border-style: solid;
  border-color: #333 transparent transparent;
  border-width: 11px 6px 0;
  pointer-events: none;
}

[type=text], [type=email], [type=tel] {
  -webkit-appearance: none;
  appearance: none;
  outline: 0;
  display: block;
  margin: 0;
  padding: 8px;
  border: 1px solid #333;
  border-radius: 5px;
  width: 100%;
  height: 50px;
  font-family: inherit;
  font-size: 100%;
}

textarea {
  -webkit-appearance: none;
  appearance: none;
  outline: 0;
  display: block;
  margin: 0;
  padding: 8px;
  border: 1px solid #333;
  border-radius: 5px;
  width: 100%;
  height: 148px;
  font-family: inherit;
  font-size: 100%;
}

.inputTel {
  width: 50%;
}

.checkbox {
  display: block;
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.checkbox [type=checkbox],
.checkbox + input_reset {
  margin: 0;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.checkbox .label {
  display: flex;
  align-items: center;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  height: 50px;
  padding: 0 10px 0 38px;
  position: relative;
  line-height: 1.3;
  transition-duration: 0.3s;
}
.checkbox .label::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 13px;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  background-color: #cbcbcb;
  transition-duration: 0.3s;
}
.checkbox .label::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 18px;
  width: 15px;
  height: 8px;
  border-bottom: 3px solid #f84b4b;
  border-left: 3px solid #f84b4b;
  transform: rotate(-45deg);
  opacity: 0;
  transition-duration: 0.3s;
}
.checkbox :checked + .label {
  background-color: #0068b5;
  border-color: #0068b5;
  color: #fff;
}
.checkbox :checked + .label::before {
  background-color: #fff;
}
.checkbox :checked + .label::after {
  opacity: 1;
}

.radiobox {
  display: block;
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.radiobox [type=radio] {
  -webkit-appearance: none;
  appearance: none;
  outline: 0;
  margin: 0;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.radiobox .label {
  display: flex;
  align-items: center;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  height: 50px;
  padding: 0 10px 0 38px;
  position: relative;
  line-height: 1.3;
  transition-duration: 0.3s;
}
.radiobox .label::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 13px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #cbcbcb;
  transition-duration: 0.3s;
}
.radiobox .label::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 10px;
  top: 13px;
  transform: scale(0.6, 0.6);
  background-color: #fff;
  border-radius: 50%;
  transition-duration: 0.3s;
}
.radiobox :checked + .label {
  background-color: #0068b5;
  border-color: #0068b5;
  color: #fff;
}
.radiobox :checked + .label::before {
  background-color: #fff;
}
.radiobox :checked + .label::after {
  background-color: #f84b4b;
}

@media screen and (min-width: 768px) {
  .btn a:hover {
    opacity: 0.7;
  }
}
@media (any-pointer: coarse) {
  .btn a:active {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .pageTitle {
    padding: 45px 0;
    font-size: 2.2rem;
    line-height: 1.409;
  }
  .pageTitle > span {
    margin-top: 4px;
    font-size: 1.6rem;
  }
  .pageTitle .eng {
    margin-bottom: 4px;
    font-size: 1.6rem;
  }
  .pageTitle br {
    display: inline;
  }

  .btn a {
    width: 100%;
  }

  .inputTel {
    width: 75%;
  }
}
.contact {
  max-width: 980px;
  margin: 0 auto;
  padding: 100px 0 15px;
  text-align: center;
}
.contact .name {
  margin: 20px 0 12px;
  font-weight: bold;
  font-size: 2rem;
}
.contact .telfax {
  list-style: none;
  display: flex;
  justify-content: center;
}
.contact .telfax li {
  flex: 0 0 auto;
}
.contact .telfax li:nth-of-type(n+2)::before {
  content: "／";
  display: inline-block;
  padding: 0 0.5em;
}
.contact .content {
  display: flex;
  justify-content: space-between;
  margin-top: 34px;
}
.contact .content + .content {
  margin-top: 70px;
}
.contact .content > section {
  flex: 0 0 313px;
  background-color: #f5f5f5;
  padding: 14px 0;
}
_:-ms-lang(x)::-ms-backdrop, .contact .content > section {
  max-width: 313px;
}

.contact h3 {
  margin-bottom: 14px;
  font-size: 1.8rem;
}
.contact .number {
  display: inline-block;
  background: no-repeat left center;
  padding-left: 48px;
  margin-bottom: 14px;
  font-weight: bold;
  font-size: 2.4rem;
}
.contactTel .number {
  background-image: url(../img/icon-tel.svg);
}
.contactFax .number {
  background-image: url(../img/icon-fax.svg);
}
.contactFax .btn a {
  width: 256px;
  margin: 0 auto;
  background-image: url(../img/icon-file.svg);
}
.contactWeb .btn a {
  width: 256px;
  margin: 0 auto;
  background-image: url(../img/icon-pc.svg);
}
.contact .navi {
  flex: 1 0 0%;
  justify-content: center;
  align-self: center;
  display: flex;
  list-style: none;
}
.contact .navi li {
  flex: 0 0 auto;
}
.contact .navi li:nth-of-type(n+2)::before {
  content: "／";
  display: inline-block;
  padding: 0 0.5em;
}
.contact .privacyMark {
  flex: 0 0 406px;
  display: flex;
  align-items: center;
  border: 1px solid #0068b5;
  border-radius: 6px;
  padding: 10px 12px;
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.428;
}
_:-ms-lang(x)::-ms-backdrop, .contact .privacyMark {
  max-width: 406px;
}

.contact .privacyMark .img {
  flex: 0 0 78px;
  margin-right: 20px;
}
.contact .privacyMark p {
  flex: 1 0 0%;
}
@media screen and (max-width: 767px) {
  .contact .address span {
    display: block;
  }
  .contact .telfax {
    margin-top: 1em;
    display: block;
  }
  .contact .telfax li:nth-of-type(n+2)::before {
    display: none;
  }
  .contact .content {
    display: block;
  }
  .contact .content > section {
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
    padding: 18px 0 25px;
  }
  .contact .content > section + section {
    margin-top: 30px;
  }
  .contact .navi {
    flex-wrap: wrap;
    font-size: 1.3rem;
  }
  .contact .privacyMark {
    width: 90.6667%;
    min-width: 300px;
    margin: 24px auto 0;
    padding: 10px;
    font-size: 1.3rem;
  }
  .contact .privacyMark .img {
    flex-basis: 85px;
  }
  .contact .privacyMark .img img {
    width: 100%;
  }
}

/* ----------------------------------------------
 * *footoer
 * *----------------------------------------------*/
footer .ftFxd {
  display: none;
}
.copyright {
  background-color: #31373b;
  padding: 16px 0;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  footer {
    padding-bottom: 73px;
  }
  footer .ftFxd {
    list-style: none;
    position: fixed;
    width: 100%;
    left: 0;
    bottom: 0;
    z-index: 1;
    border-top: 3px solid #fff;
    background-color: #0068b5;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
  }
  footer .ftFxd li {
    flex: 0 0 50%;
    background-color: #fff;
    font-size: 1.9rem;
    line-height: 1.157;
    font-weight: bold;
  }
  footer .ftFxd li a {
    background-color: #0068b5;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14px 0;
    text-decoration: none;
  }
  footer .ftFxd li a:active {
    opacity: 0.7;
  }
  footer .ftFxd li a span {
    display: inline-block;
    background-image: url(../img/icon-pc.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 30px auto;
    padding-left: calc(30px + 3.73vw);
  }
  footer .ftFxd .tel {
    border-right: 2px solid #fff;
  }
  footer .ftFxd .tel a span {
    background-image: url(../img/icon-tel_w.svg);
  }
}

/* ----------------------------------------------
 * * pagetop
 * *----------------------------------------------*/
#pagetop {
  position: relative;
}
#pagetop a {
  display: block;
  width: 52px;
  position: fixed;
  right: 10px;
  bottom: 80px;
  z-index: 10;
}
#pagetop a img {
  width: 52px auto;
}
#pagetop .bottom {
  position: absolute;
}
#pagetop .btnBottom {
  bottom: 130px;
}

@media all and (min-width: 768px) {
  #pagetop a {
    width: 60px;
    right: 30px;
    bottom: 30px;
  }
  #pagetop a img {
    width: 62px auto;
  }
  #pagetop .btnBottom {
    bottom: 60px;
  }
}
/* ----------------------------------------------
 * * top
 * *----------------------------------------------*/
.slide {
  max-width: 980px;
  margin: 0 auto;
}
.slide-pagination {
  line-height: 1;
  margin-top: 15px;
  display: flex;
  list-style: none;
  justify-content: center;
  align-items: center;
}
.slide-pagination li {
  flex: 0 0 12px;
  height: 12px;
  margin: 0 4px;
}
.slide-pagination li button {
  -webkit-appearance: none;
  appearance: none;
  outline: 0;
  display: block;
  border: none;
  background-color: #b2b2b2;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transition-duration: 0.3s;
  cursor: pointer;
  font-size: 0;
}
.slide-pagination .slick-active button {
  background-color: #0068b5;
}
.slide-button-prev, .slide-button-next {
  padding: 0;
  position: absolute;
  z-index: 1;
  top: calc((100% - 30px) / 2);
  transform: translateY(-50%);
  width: 35px;
  height: 35px;
  background-color: #0068b5;
  border-radius: 50%;
  line-height: 1;
}
.slide-button-prev::after, .slide-button-next::after {
  display: none;
}
.slide-button-prev {
  left: 0;
}
.slide-button-prev img {
  transform: scaleX(-1);
}
.slide-button-next {
  right: 0;
}
@media screen and (min-width: 768px) {
  .slide-button-prev:hover, .slide-button-next:hover {
    opacity: 0.7;
  }
}
@media (any-pointer: coarse) {
  .slide-button-prev:active, .slide-button-next:active {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .slide-button-prev, .slide-button-next {
    width: 28px;
    height: 28px;
  }
  .slide-button-prev img, .slide-button-next img {
    width: 17px;
  }
}

.top .pageTitle {
  padding: 0;
  margin-bottom: 10px;
}
.top .mainvisual {
  margin-bottom: 98px;
  background: url(../top-img/mainvisual.jpg) no-repeat center bottom;
  height: 500px;
  position: relative;
  z-index: 0;
}
.top .mainvisual::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 480px;
  background: linear-gradient(180deg, white 300px, rgba(255, 255, 255, 0) 100%);
}
.top .mainvisual .lead {
  width: 980px;
  position: absolute;
  right: 50%;
  top: 40px;
  transform: translateX(50%);
  text-align: center;
  margin: 0 auto;
  font-size: 2.5rem;
}
.top .mainvisual .lead p {
	padding-top: 20px;
		font-weight: bold;
}
.top .service .slide {
  max-width: 1004px;
}
.top .service .slide-slide {
  text-align: center;
  margin: 0 12px;
}
.top .service .slide-slide > .inner {
  border: 1px solid #0068b5;
  padding: 10px;
}
.top .service .slide-slide img {
  display: inline;
}
.top .service .slide-button-prev {
  left: -6px;
}
.top .service .slide-button-next {
  right: -6px;
}
.top .service .btn {
  margin-top: 10px;
}
.top .service .btn a {
  margin: 0 auto;
  width: auto;
  background-color: #0068b5;
}
.top .card {
  background-color: #e8eef7;
  padding: 48px 0 52px;
  margin: 74px auto;
}
.top .card > ul {
  list-style: none;
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.top .card > ul > li {
  flex: 0 0 310px;
  background-color: #fff;
  padding-bottom: 18px;
  margin-top: 25px;
  margin-left: 25px;
  position: relative;
}
.top .card > ul > li:nth-of-type(3n+1) {
  margin-left: 0;
}
.top .card > ul > li:nth-of-type(-n+3) {
  margin-top: 0;
}
.top .card > ul > li h3 {
  background-color: #0068b5;
  padding: 8px 0;
  text-align: center;
  color: #fff;
  font-size: 1.9rem;
}
.top .card > ul > li .img {
  text-align: center;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 20px 0;
}
.top .card > ul > li .btn {
  margin: 20px;
  list-style: none;
  line-height: 1.2;
}
.top .card > ul > li .btn li + li {
  margin-top: 14px;
}
.top .card > ul > li .btn a {
  background-position: right 8px center;
  width: auto;
  height: 50px;
  padding: 0 30px 0 10px;
  justify-content: flex-start;
}
.top .card > ul > li .text {
  margin: 20px 20px 0;
}
.top .card > ul > li .arrow a {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 62px;
  height: 62px;
  background: linear-gradient(-45deg, #0068b5 0%, #0068b5 50%, rgba(0, 104, 181, 0) 50%, rgba(0, 104, 181, 0) 100%);
}
.top .card > ul > li .arrow img {
  position: absolute;
  right: 8px;
  bottom: 12px;
}
.top .card > .btn {
  max-width: 980px;
  margin: 38px auto 0;
}
.top .card > .btn a {
  width: 70%;
  height: 76px;
  margin: 0 auto;
  border-radius: 12px;
  font-size: 2.5rem;
}
.top .achievement {
  margin: 74px auto 0;
}
.top .achievement ul {
  max-width: 980px;
  margin: 0 auto;
  background: #f5f5f5 url(../top-img/card.jpg) no-repeat center bottom 18px;
  padding: 30px 30px 538px;
  height: calc(15em + 568px);
  display: flex;
  flex-direction: column;
  align-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  font-size: 1.8rem;
}
.top .achievement li {
  flex: 0 0 auto;
  position: relative;
  padding-left: 14px;
}
.top .achievement li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.475em;
  width: 10px;
  height: 10px;
  background-color: #0068b5;
}
@media screen and (min-width: 768px) {
  .top .card > ul > li .arrow a:hover {
    opacity: 0.7;
  }
}
@media (any-pointer: coarse) {
  .top .card > ul > li .arrow a:active {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .top .mainvisual {
    background-size: 774px auto;
    height: 420px;
    margin-bottom: 60px;
  }
  .top .mainvisual::before {
    height: 400px;
    background: linear-gradient(180deg, white 270px, rgba(255, 255, 255, 0) 100%);
  }
  .top .mainvisual .lead {
    position: static;
    transform: translate(0, 0);
    width: 94%;
    min-width: 30px;
    padding: 25px 0 0;
    font-size: 2.1rem;
  }
	.top .mainvisual .lead p {
		font-size: 1.4rem;
	}
  .top .mainvisual h1 span {
    display: block;
  }
  .top .mainvisual h1 br {
    display: none;
  }
  .top .service .slide {
    width: 100%;
  }
  .top .service .slide-slide {
    margin: 0 16.6vw;
  }
  .top .service .slide-button-prev {
    left: calc((16.66% - 28px) / 2);
  }
  .top .service .slide-button-next {
    right: calc((16.66% - 28px) / 2);
  }
  .top .service .btn {
    margin-top: 5px;
  }
  .top .card {
    margin: 60px auto;
  }
  .top .card > ul {
    width: 90.6667%;
    min-width: 300px;
    display: block;
  }
  .top .card > ul > li {
    margin-left: 0;
  }
  .top .card > ul > li:nth-of-type(-n+3) {
    margin-top: 25px;
  }
  .top .card > ul > li .img {
    height: auto;
    margin: 20px auto;
  }
  .top .card > ul > li .btn {
    width: 88.2353%;
    margin: 20px auto 14px;
  }
  .top .card > ul > li .btn .pconly {
    display: none;
  }
  .top .card > ul > li .text {
    width: 88.2353%;
    margin: 14px auto 0;
  }
  .top .card > .btn {
    width: 90.6667%;
    min-width: 300px;
  }
  .top .card > .btn a {
    width: auto;
    font-size: 2.2rem;
  }
  .top .achievement {
    margin: 60px auto 0;
  }
  .top .achievement ul {
    display: block;
    width: 90.6667%;
    min-width: 300px;
    height: auto;
    background-position: center bottom 8px;
    background-size: 98.2353% auto;
    padding: 25px 4.6% 54% 30px;
  }
  .top .achievement li {
    line-height: 1.4;
    margin-top: 4px;
  }
  .top .achievement li::before {
    top: 0.45em;
  }
  .top .achievement li:first-of-type {
    margin-top: 0;
  }
  .top .achievement li:nth-of-type(even) {
    margin-left: auto;
  }
}
@media screen and (max-width: 320px) {
  .top .mainvisual h1 {
    font-size: 1.9rem;
  }
	.top .mainvisual .lead p {
		font-size: 1.3rem;
	}
	.top .mainvisual .lead p br:last-of-type {
		display: none;
	}
}

/* ----------------------------------------------
 * * process
 * *----------------------------------------------*/
.process .flow {
  max-width: 980px;
  margin: 0 auto;
}
.process .flow > p {
  margin-top: 1em;
  text-align: center;
}
.process .flow ol {
  margin-top: 50px;
  list-style: none;
}
.process .flow li {
  display: flex;
  align-items: baseline;
  position: relative;
  padding-bottom: 60px;
  z-index: 0;
}
.process .flow li::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 28px;
  top: 0;
  width: 3px;
  height: 100%;
  background-color: #44c3df;
}
.process .flow li:last-of-type::before {
  display: none;
}
.process .flow li .num {
  flex: 0 0 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
  border: 3px solid #44c3df;
  background-color: #fff;
  border-radius: 50%;
  font-size: 2.5rem;
  font-weight: bold;
}
.process .flow li .content {
  flex: 1 0 0%;
  display: flex;
  flex-wrap: wrap;
}
.process .flow li .title {
  flex: 0 0 100%;
  padding-bottom: 14px;
  font-size: 2.2rem;
  font-weight: bold;
}
.process .flow li .photo {
  flex: 0 0 auto;
  margin-right: 30px;
}
.process .flow li .text {
  flex: 1 0 0%;
}
.process .flow li .text p:nth-of-type(n+2) {
  margin-top: 1.2em;
}
.process .flow li .text em {
  font-weight: normal;
}
.process .flow li .text .btn {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .process .flow > p {
    width: 90.6667%;
    min-width: 300px;
    margin: 1em auto 0;
    text-align: left;
  }
  .process .flow ol {
    margin: 34px auto 0;
    width: 90.6667%;
    min-width: 300px;
  }
  .process .flow li {
    padding-bottom: 40px;
  }
  .process .flow li::before {
    width: 2px;
    left: 22px;
  }
  .process .flow li .content {
    display: block;
  }
  .process .flow li .num {
    flex-basis: 45px;
    height: 45px;
    border-width: 2px;
    margin-right: 18px;
    font-size: 1.9rem;
  }
  .process .flow li .title {
    padding-bottom: 14px;
    font-size: 1.9rem;
  }
  .process .flow li .title span {
    display: block;
  }
  .process .flow li .photo {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .process .flow li .text {
    width: 247px;
  }
  .process .flow li .text .btn {
    margin: 1em 0;
  }
}
.process .howtoPrint {
  max-width: 980px;
  margin: 40px auto 115px;
}
.process .howtoPrint .contents {
  display: flex;
  justify-content: space-between;
}
.process .howtoPrint section {
  flex: 0 0 445px;
}
.process .howtoPrint h3 {
  margin: 20px 0 15px;
  background-color: #e8eef7;
  padding: 6px 0;
  text-align: center;
  font-size: 1.8rem;
}
.process .howtoPrint p {
  margin: 0 8px;
}
@media screen and (max-width: 767px) {
  .process .howtoPrint {
    margin-bottom: 100px;
  }
  .process .howtoPrint .contents {
    display: block;
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
  }
  .process .howtoPrint section + section {
    margin-top: 40px;
  }
}
.process .option {
  max-width: 980px;
  margin: 0 auto 115px;
}
.process .option section {
  margin-top: 35px;
  display: flex;
  flex-wrap: wrap;
}
.process .option section + section {
  margin-top: 60px;
}
.process .option h3 {
  flex: 0 0 100%;
  padding-bottom: 2px;
  border-bottom: 2px solid #0068b5;
  margin-bottom: 20px;
  font-size: 1.7rem;
}
.process .option .photo {
  flex: 0 0 auto;
  margin-right: 40px;
}
.process .option .textbox {
  flex: 1 0 0%;
}
.process .option .textbox p + p {
  margin-top: 1.4em;
}
.process .option .btn {
  display: flex;
  flex-wrap: wrap;
  margin-top: 14px;
}
.process .option .btn > a {
  flex: 0 0 auto;
}
.process .option .btn > a + a {
  margin-left: 45px;
}
@media screen and (max-width: 767px) {
  .process .option section {
    width: 90.6667%;
    min-width: 300px;
    margin: 15px auto 0;
    display: block;
  }
  .process .option section + section {
    margin-top: 50px;
  }
  .process .option h3 {
    text-align: center;
  }
  .process .option .photo {
    text-align: center;
    margin-right: 0;
    margin-bottom: 16px;
  }
  .process .option .btn {
    margin-top: 20px;
    display: block;
  }
  .process .option .btn > a + a {
    margin-left: 0;
    margin-top: 15px;
  }
}

/* ----------------------------------------------
 * * data
 * *----------------------------------------------*/
.em01 {
  color: inherit;
}

.btn .mail {
  background-image: url(../img/icon-mail.svg);
  height: 50px;
}
.btn .dl {
  background-image: url(../img/icon-dl.svg);
  height: 50px;
}

.dataSection {
  max-width: 980px;
  margin: 0 auto 92px;
}
.dataSection .ttl {
  margin-bottom: 24px;
}
.dataSection .contents {
  margin: 0 10px 0 18px;
}
.dataSection .btn a {
  width: 350px;
  font-size: 1.6rem;
}
.dataSection dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem;
}
.dataSection dt {
  flex: 0 0 300px;
  display: flex;
  align-items: center;
  padding: 12px 0;
  font-weight: bold;
}
.dataSection dt:nth-of-type(n+2) {
  border-top: 1px dashed #0068b5;
}
.dataSection dd {
  flex: 0 0 652px;
  padding: 12px 0;
}
.dataSection dd:nth-of-type(n+2) {
  border-top: 1px dashed #0068b5;
}
.dataSection dd .address {
  margin-top: 8px;
  font-weight: bold;
  font-size: 1.7rem;
}
.dataSection dd .address span {
  display: block;
}
.data .text01 {
  position: relative;
  padding-left: 24px;
  font-size: 1.7rem;
}
.data .text01 + .text01 {
  margin-top: 30px;
}
.data .text01::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 16px;
  height: 16px;
  background-color: #0068b5;
}
.data .kome {
  text-indent: -1em;
  padding-left: 1em;
}
.data .fileformat .btn {
  margin-top: 10px;
  text-indent: 0;
}
.data .template .btn {
  margin-top: 22px;
  display: flex;
  justify-content: center;
}
.data .template .btn a {
  flex: 0 0 auto;
}
.data .template .btn a + a {
  margin-left: 58px;
}
@media screen and (max-width: 767px) {
  .dataSection .contents {
    margin: 0 auto;
    width: 90.6667%;
    min-width: 300px;
  }
  .dataSection .btn a {
    width: 100%;
  }
  .dataSection dl {
    display: block;
  }
  .dataSection dt {
    display: block;
    padding: 18px 0 0;
    text-align: center;
    font-size: 1.7rem;
  }
  .dataSection dd {
    padding: 6px 0 18px;
  }
  .dataSection dd:nth-of-type(n+2) {
    border-top: none;
  }
  .data .fileformat .btn {
    margin-left: -1em;
  }
  .data .template .btn {
    display: block;
  }
  .data .template .btn a + a {
    margin-left: 0;
    margin-top: 20px;
  }
}

/* ----------------------------------------------
 * * quality
 * *----------------------------------------------*/
.qualitySection {
  max-width: 980px;
  margin: 0 auto 92px;
}
.qualitySection h3 {
  border-bottom: 1px solid #0068b5;
  padding-bottom: 10px;
  text-align: center;
  font-size: 1.9rem;
  color: #0068b5;
}
.qualitySection:first-of-type .contents {
  width: 96.9388%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1.6rem;
}
.qualitySection:first-of-type .leadText {
  flex: 0 0 100%;
  margin: 24px 0 40px;
  font-size: 1.7rem;
}
.qualitySection:first-of-type .img {
  flex: 0 0 auto;
  margin: 0 auto;
}
.qualitySection:first-of-type .text {
  flex: 0 0 530px;
  margin-right: auto;
}
.qualitySection .row {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  margin: 30px 0 45px;
  font-size: 1.7rem;
}
.qualitySection .row section {
  flex: 0 0 310px;
  background-color: #e8eef7;
  padding-top: 12px;
}
.qualitySection .row .text {
  padding: 18px 20px;
  font-weight: bold;
}
.qualitySection .cycles {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 1.9rem;
}
.qualitySection .cycles .midashi {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%) translate(8px, 8px);
  z-index: 1;
  background-color: #fff;
  width: 194px;
  height: 194px;
  padding-top: 20px;
  border-radius: 50%;
  text-align: center;
}
.qualitySection .cycles > div {
  flex: 0 0 482px;
  background-color: #f5f5f5;
  margin-top: 16px;
  padding: 20px;
  position: relative;
}
_:-ms-lang(x)::-ms-backdrop, .qualitySection .cycles > div {
  max-width: 482px;
}

.qualitySection .cycles .img {
  position: absolute;
}
.qualitySection .cycles h4 {
  display: flex;
  border: 1px solid #33b9cc;
  background-color: #fff;
  margin-bottom: 10px;
  font-size: 2.2rem;
  line-height: 1.29;
}
.qualitySection .cycles h4 .num {
  flex: 0 0 50px;
  background-color: #33b9cc;
  text-align: center;
  font-size: 3.1rem;
  color: #fff;
}
.qualitySection .cycles h4 .text {
  flex: 1 0 0%;
  align-self: center;
  padding: 0 10px;
}
.qualitySection .cycles li {
  list-style: none;
  position: relative;
  padding-left: 24px;
}
.qualitySection .cycles li::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: 0;
  top: 0.4em;
  background-color: #0068b5;
}
.qualitySection .cycle01 {
  margin-top: 10px;
}
.qualitySection .cycle01 .img {
  right: 0;
  bottom: 0;
}
.qualitySection .cycle01 .textbox {
  margin-left: 50px;
}
.qualitySection .cycle01 .textbox p {
  margin-top: 30px;
}
.qualitySection .cycle01 .textbox p br {
  display: none;
}
.qualitySection .cycle02 {
  margin-top: 10px;
}
.qualitySection .cycle02 .img {
  left: 0;
  bottom: 0;
}
.qualitySection .cycle02 ul {
  margin-left: 102px;
}
.qualitySection .cycle03 {
  order: 1;
  display: flex;
  flex-direction: column-reverse;
}
.qualitySection .cycle03 h4 {
  margin-bottom: 0;
  flex: 0 0 auto;
}
.qualitySection .cycle03 .img {
  flex: 0 0 auto;
  left: 0;
  top: 0;
}
.qualitySection .cycle03 ul {
  flex: 0 0 auto;
  margin: 116px auto 15px 202px;
}
.qualitySection .cycle04 {
  display: flex;
  flex-direction: column-reverse;
}
.qualitySection .cycle04::after {
  content: "";
  position: absolute;
  left: 126px;
  top: -32px;
  width: 57px;
  height: 132px;
  background: url(../quality/img/action-arrow.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.qualitySection .cycle04 h4 {
  margin-bottom: 0;
  flex: 0 0 auto;
}
.qualitySection .cycle04 .img {
  flex: 0 0 auto;
  right: 0;
  top: 0;
}
.qualitySection .cycle04 ul {
  flex: 0 0 auto;
  margin: auto auto 15px 54px;
}
@media screen and (max-width: 767px) {
  .qualitySection .ttl {
    font-size: 1.7rem;
  }
  .qualitySection:first-of-type .ttl span {
    display: inline-block;
  }
  .qualitySection:first-of-type .contents {
    width: 90.6667%;
    min-width: 300px;
    display: block;
  }
  .qualitySection:first-of-type .img {
    margin-bottom: 18px;
    text-align: center;
  }
  .qualitySection .row {
    display: block;
    width: 92%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.6rem;
  }
  .qualitySection .row section + section {
    margin-top: 25px;
  }
  .qualitySection .row h3 {
    font-size: 1.8rem;
  }
  .qualitySection .cycles {
    width: 94.6667%;
    min-width: 300px;
    margin: 5px auto 0;
    font-size: 1.4rem;
  }
  .qualitySection .cycles .midashi {
    width: 102px;
    height: 102px;
    padding-top: 10px;
    padding-left: 2px;
    right: -3px;
    bottom: -3px;
    transform: translate(50%, 50%);
  }
  .qualitySection .cycles .midashi img {
    width: 86px;
  }
  .qualitySection .cycles > div {
    flex-basis: 49.1831%;
    padding: 10px;
    margin-top: 5px;
  }
  .qualitySection .cycles h4 {
    margin-bottom: 6px;
    font-size: 1.5rem;
    line-height: 1.5733;
  }
  .qualitySection .cycles h4 .num {
    flex-basis: 25px;
    font-size: 1.4rem;
  }
  .qualitySection .cycles li {
    padding-left: 18px;
  }
  .qualitySection .cycles li::before {
    width: 13px;
    height: 13px;
    top: 0.3em;
  }
  .qualitySection .cycle01 .img {
    width: 90px;
  }
  .qualitySection .cycle01 .textbox {
    margin-left: 0;
  }
  .qualitySection .cycle01 .textbox p {
    margin-top: 15px;
    margin-right: 75px;
  }
  .qualitySection .cycle02 .img {
    width: 90px;
  }
  .qualitySection .cycle02 ul {
    margin-left: 0;
  }
  .qualitySection .cycle03 .img {
    width: 105px;
  }
  .qualitySection .cycle03 h4 {
    margin-bottom: 0;
  }
  .qualitySection .cycle03 ul {
    margin-top: auto;
    margin-left: 0;
    margin-bottom: 6px;
  }
  .qualitySection .cycle04::after {
    background-image: url(../quality/img/action-arrow-sp.svg);
    width: 22px;
    height: 79px;
    left: 14px;
    top: -15px;
  }
  .qualitySection .cycle04 .img {
    width: 106px;
  }
  .qualitySection .cycle04 h4 {
    margin-bottom: 0;
  }
  .qualitySection .cycle04 ul {
    margin-top: 78px;
    margin-left: 0;
    margin-bottom: 6px;
  }
}

/* ----------------------------------------------
 * * privacy policy
 * *----------------------------------------------*/
.table {
  margin-top: 10px;
}
.table + .table {
  margin-top: 40px;
}

table {
  width: 100%;
}

th {
  border: 1px solid #ccc;
  background-color: #f5f5f5;
  padding: 15px;
  width: 300px;
  text-align: left;
  font-size: 1.7rem;
  vertical-align: middle;
}
thead th {
  width: 50%;
  text-align: center;
}

td {
  border: 1px solid #ccc;
  padding: 15px;
  vertical-align: middle;
  font-size: 1.5rem;
}

.ppSection {
  max-width: 980px;
  margin: 0 auto 100px;
}
.ppSection .ttl {
  margin-bottom: 22px;
}
.ppSection .leadText {
  margin-bottom: 40px;
  font-size: 1.7rem;
}
.ppSection ol {
  list-style: none;
  font-size: 1.7rem;
}
.ppSection ol > li {
  position: relative;
}
.ppSection ol > li + li {
  margin-top: 30px;
}
.ppSection ol > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 16px;
  height: 16px;
  background-color: #0068b5;
}
.ppSection ol > li h3, .ppSection ol > li p {
  padding-left: 24px;
}
.ppSection ol .btn {
  margin-top: 12px;
  margin-left: 24px;
}
.ppSection ol .btn a {
  width: 500px;
  margin: 0 auto;
}
.ppSection ol .btn a br {
  display: none;
}
.ppSection .date {
  margin-top: 35px;
  text-align: right;
}
.ppSection .sign {
  margin-top: 45px;
  text-align: right;
}
.ppSection .sign dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.ppSection .sign dt {
  flex: 0 0 auto;
  margin-right: 1em;
}
.ppSection .sign dd {
  flex: 0 0 auto;
}
.ppSection td li {
  list-style: none;
}
.ppSection td ol {
  font-size: 100%;
}
.ppSection td ol > li {
  margin-top: 1em;
}
.ppSection td ol > li::before {
  display: none;
}
.ppSection td ol ul {
  margin-left: 0.75em;
}
.ppSection td ol ul li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.ppSection td ol .kome {
  margin-left: 0.7em;
  text-indent: -1em;
  padding-left: 1em;
}
.ppSection04 {
  font-size: 1.7rem;
}
.ppSection04 .leadText {
  margin-bottom: 60px;
}
.ppSection .contactInfo .name span {
  display: inline-block;
}
.ppSection .contactInfo .name span + span {
  margin-left: 1em;
}
.ppSection .contactInfo .address {
  margin-top: 6px;
}
.ppSection .contactInfo .address .postcode {
  display: inline-block;
  margin-right: 1em;
}
.ppSection .telfaxmail {
  margin-top: 20px;
}
.ppSection .telfaxmail > div {
  flex: 0 0 auto;
  display: flex;
}
.ppSection .telfaxmail > div + div {
  margin-top: 6px;
}
.ppSection .telfaxmail .midashi {
  flex: 0 0 3.5em;
}
.ppSection .telfaxmail .text {
  flex: 1 0 0%;
}
.ppSection .privacyMark {
  display: flex;
}
.ppSection .privacyMark .img {
  flex: 0 0 180px;
  margin-left: 10px;
}
.ppSection .privacyMark .text {
  flex: 0 0 705px;
  margin-left: auto;
  font-size: 1.7rem;
}
.ppSection .privacyMark .lead {
  font-weight: bold;
}
.ppSection .privacyMark p + p {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .table {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }

  th {
    padding: 10px 8px;
  }

  td {
    padding: 10px 8px;
  }

  .ppSection .leadText, .ppSection ol, .ppSection .date, .ppSection .sign {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .ppSection ol .btn {
    margin-left: 0;
  }
  .ppSection ol .btn a {
    line-height: 1.3;
    width: auto;
    text-align: center;
  }
  .ppSection ol .btn a br {
    display: inline;
  }
  .ppSection02 table, .ppSection02 thead, .ppSection02 tbody, .ppSection02 tr, .ppSection02 th, .ppSection02 td {
    display: block;
  }
  .ppSection02 thead th {
    width: auto;
    display: block;
    padding: 0 0 0 24px;
    margin-bottom: 8px;
    background-color: transparent;
    border: none;
    text-align: left;
    position: relative;
  }
  .ppSection02 thead th::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 16px;
    height: 16px;
    background-color: #0068b5;
  }
  .ppSection02 thead th:nth-of-type(n+2) {
    display: none;
  }
  .ppSection02 tr + tr td {
    border-top: none;
  }
  .ppSection02 td:first-of-type {
    text-align: center;
    background-color: #f5f5f5;
    border-bottom: none;
    font-weight: bold;
    font-size: 1.7rem;
  }
  .ppSection02 td + td {
    border-top: none;
  }
  .ppSection02 td span {
    display: inline-block;
  }
  .ppSection03 .table {
    width: auto;
  }
  .ppSection03 table, .ppSection03 tbody, .ppSection03 tr, .ppSection03 td {
    display: block;
  }
  .ppSection03 tr + tr th {
    border-top: none;
  }
  .ppSection03 th {
    display: block;
    width: auto;
    border-bottom: none;
    text-align: center;
  }
  .ppSection03 td {
    border-top: none;
  }
  .ppSection03 td ol {
    width: auto;
    min-width: 0;
  }
  .ppSection04 .leadText {
    margin-bottom: 34px;
  }
  .ppSection .contactInfo {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .ppSection .contactInfo .name {
    margin-left: -0.5em;
    margin-right: -0.5em;
  }
  .ppSection .contactInfo .name span {
    margin: 0 0.5em;
  }
  .ppSection .contactInfo .name span + span {
    margin-left: 0.5em;
  }
  .ppSection .contactInfo .address span {
    display: inline-block;
  }
  .ppSection .contactInfo .address .postcode {
    display: block;
    margin-right: 0;
  }
  .ppSection .privacyMark {
    display: block;
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .ppSection .privacyMark .img {
    margin: 0 auto 20px;
    text-align: center;
    width: 150px;
  }
}

/* ----------------------------------------------
 * * sitemap
 * *----------------------------------------------*/
.sitemap > .contact {
  padding-top: 0;
}
.sitemap > .contact .ttl, .sitemap > .contact > div, .sitemap > .contact .telfax {
  display: none;
}
.sitemap > .contact .content + .content {
  display: flex;
}
.sitemap .ttl {
  margin-bottom: 22px;
}
.sitemap h3 {
  margin-bottom: 22px;
  border-bottom: 1px solid #0068b5;
  font-size: 1.7rem;
  color: #0068b5;
}
.sitemap section:not([class]) {
  max-width: 980px;
  margin: 0 auto 90px;
}
.sitemap section:not([class]) ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px;
}
.sitemap section:not([class]) li {
  list-style: none;
  flex: 0 0 33.33%;
  position: relative;
  padding-left: 24px;
  margin: 10px 0;
}
_:-ms-lang(x)::-ms-backdrop, .sitemap section:not([class]) li {
  max-width: 33.33%;
}

.sitemap section:not([class]) li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 16px;
  height: 16px;
  background-color: #0068b5;
}
.sitemap section:not([class]) .long {
  flex-basis: 66.66%;
}
_:-ms-lang(x)::-ms-backdrop, .sitemap section:not([class]) .long {
  max-width: 66.66%;
}

@media screen and (max-width: 767px) {
  .sitemap > .contact .content + .content {
    display: block;
  }
  .sitemap h3 {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .sitemap h3 {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .sitemap section:not([class]) {
    margin-bottom: 60px;
  }
  .sitemap section:not([class]) ul {
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
    display: block;
  }
  .sitemap section:not([class]) li {
    margin: 20px 0;
  }
}

/* ----------------------------------------------
 * * contactPage
 * *----------------------------------------------*/
.contactPage > .contact {
  padding-top: 0;
}
.contactPage > .contact .ttl, .contactPage > .contact > div, .contactPage > .contact .telfax {
  display: none;
}
.contactPage > .contact .content + .content {
  display: flex;
}
.contactPage .leadText {
  max-width: 860px;
  margin: 0 auto 50px;
  font-size: 1.7rem;
  line-height: 1.882;
}
.contactSection {
  max-width: 980px;
  margin: 0 auto 100px;
}
.contactSection .ttl {
  margin-bottom: 22px;
}
#contactSection01 .contents {
  display: flex;
  flex-wrap: wrap;
}
#contactSection01 section {
  flex: 0 0 470px;
  display: flex;
  flex-direction: column;
  background-color: #f5f5f5;
  margin-top: 40px;
  padding: 20px 0;
  text-align: center;
}
#contactSection01 section:nth-of-type(-n+2) {
  margin-top: 0;
}
#contactSection01 section:nth-of-type(even) {
  margin-left: auto;
}
#contactSection01 h3 {
  flex: 0 0 auto;
  margin-bottom: 15px;
  font-size: 1.8rem;
}
#contactSection01 h3 + div {
  flex: 0 0 auto;
  margin: auto;
}
#contactSection01 .number {
  background-repeat: no-repeat;
  background-position: left center;
  display: inline-block;
  padding-left: 50px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 2.4rem;
}
#contactSection01 .contactMail .number {
  padding-left: 0;
}

.hidden {
  display: none;
}

.listCheckRadio {
  display: flex;
  flex-wrap: wrap;
  margin-top: -20px;
}
.listCheckRadio > div {
  flex: 0 0 30.5%;
  margin-top: 20px;
  margin-left: 4.25%;
}
.listCheckRadio > div:nth-of-type(3n+1) {
  margin-left: 0;
}
.listCheckRadio > .long {
  flex-basis: 100%;
}
.listCheckRadio > .middle {
  flex-basis: 49%;
}
.listCheckRadio > .middle:nth-of-type(n) {
  margin-left: 2%;
}
.listCheckRadio > .middle:nth-of-type(2n+1) {
  margin-left: 0;
}
.listCheckRadio > .short {
  flex-basis: 22.6%;
}
.listCheckRadio > .short:nth-of-type(n) {
  margin-left: 3.19%;
}
.listCheckRadio > .short:nth-of-type(4n+1) {
  margin-left: 0;
}

.formCaption {
  background-color: #ccc;
  padding: 12px 0;
  text-align: center;
  font-weight: bold;
  font-size: 1.7rem;
}
.formItem {
  display: flex;
  border: 1px solid #ccc;
  border-top: none;
}
form > .formItem:first-of-type {
  border-top: 1px solid #ccc;
}
.formName {
  flex: 0 0 299px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f5f5f5;
  border-right: 1px solid #ccc;
  padding: 20px;
  font-size: 1.7rem;
  font-weight: bold;
}
_:-ms-lang(x)::-ms-backdrop, .formName {
  max-width: 299px;
}

.formName .label {
  display: block;
  flex: 1 0 0%;
}
.formName .hissu {
  display: block;
  flex: 0 0 45px;
  background-color: #f84b4b;
  border-radius: 5px;
  padding-top: 2px;
  text-align: center;
  font-weight: normal;
  font-size: 1.5rem;
  color: #fff;
}
.formBody {
  flex: 0 0 679px;
  padding: 20px;
  font-size: 1.6rem;
}
_:-ms-lang(x)::-ms-backdrop, .formBody {
  max-width: 679px;
}

.formBody .row {
  display: flex;
}
.formBody .row .item {
  flex: 0 0 30.5%;
  display: flex;
  align-items: center;
}
.formBody .row .item:nth-child(2) {
  margin: 0 auto;
}
.formBody .row .item:last-child {
  flex-basis: 14.7105%;
  margin-left: auto;
}
.formBody .row .item [type=text], .formBody .row .item [type=email], .formBody .row .item [type=tel] {
  flex: 1 0 0%;
}
.formBody .row .item .radiobox {
  width: 100%;
}
.formBody .row02 {
  display: flex;
  align-items: center;
}
.formBody > div + div {
  margin-top: 18px;
}
.formBody p {
  margin-bottom: 6px;
}
.formBody > .checkbox + .checkbox {
  margin-top: 18px;
}
.formBody.option .listCheckRadio > div:nth-of-type(3n+1) {
  margin-left: 4.25%;
}
.formBody.option .listCheckRadio > div:nth-of-type(3n+2) {
  margin-left: 0;
}
.formBody.option .listCheckRadio .long {
  display: flex;
}
.formBody.option .listCheckRadio .long:nth-of-type(n) {
  margin-left: 0;
}
.formBody.option .listCheckRadio .long .checkbox {
  flex: 0 0 30.5%;
  margin-top: 30px;
  margin-right: 4.25%;
}
.formBody.option .listCheckRadio .long > div {
  flex: 1 0 0%;
}
.formBody.option .listCheckRadio .long .listCheckRadio > div:nth-of-type(n) {
  margin-left: 3.19%;
}
.formBody.option .listCheckRadio .long .listCheckRadio > div:nth-of-type(4n+1) {
  margin-left: 0;
}
.formBody .enqueteRow {
  display: flex;
  align-items: center;
}
.formBody .enqueteRow .radiobox {
  flex: 0 0 22.6%;
  margin-right: 3.19%;
}
.formBody .enqueteRow > div {
  flex: 1 0 0%;
  display: flex;
  align-items: center;
}
.formBody .enqueteRow [type=text] {
  flex: 0 0 30.5%;
}
.formBody .enqueteRow [type=text].long {
  flex: 1 0 0%;
}
.formBody .enqueteRow span {
  flex: 0 0 auto;
}
.formText01 {
  display: inline-block;
  margin-right: 0.5em;
}
.formText02 {
  display: inline-block;
  margin-left: 0.5em;
}
.formText03 {
  display: inline-block;
  margin: 0 0.5em;
}
.formCaution {
  list-style: none;
  margin-top: 42px;
  font-size: 1.7rem;
}
.formCaution li {
  position: relative;
  padding-left: 26px;
}
.formCaution li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 16px;
  height: 16px;
  background-color: #0068b5;
}
.formCaution li:nth-of-type(n+2) {
  margin-top: 10px;
}
.formPrivacy {
  margin: 70px auto 50px;
}
.formPrivacy .lead {
  margin-bottom: 50px;
  text-align: center;
  color: #f84b4b;
  font-size: 1.8rem;
}
.formPrivacy h3 {
  margin-bottom: 6px;
  text-align: center;
  font-size: 1.9rem;
}
.formPrivacy .box {
  border-radius: 5px;
  border: 1px solid #333;
  height: 300px;
  padding: 15px;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}
.formPrivacy .box li {
  list-style: none;
  text-indent: -2em;
  padding-left: 2em;
}
.formPrivacy .box li + li {
  margin-top: 1.5em;
}
.formPrivacy .box .madoguchi {
  border-top: 1px dashed;
  margin-top: 30px;
  padding-top: 30px;
}
.formPrivacy .box .madoguchi .name {
  margin-left: 1.4em;
}
.formPrivacy .box .madoguchi .row {
  display: flex;
  margin-left: 2.5em;
}
.formPrivacy .box .madoguchi .row .midashi {
  flex: 0 0 auto;
}
.formPrivacy .box .madoguchi .row .text {
  flex: 1 0 0%;
}
.formPrivacy .box .madoguchi .row span {
  display: inline-block;
}
.formPrivacy .box .madoguchi .row .postalCode {
  margin-right: 1em;
}
.formBtn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.formBtn p {
  flex: 0 0 100%;
  margin-bottom: 50px;
  text-align: center;
  color: #f84b4b;
  font-size: 1.8rem;
}
.formBtn button {
  flex: 0 0 auto;
  height: 70px;
  width: 628px;
  padding: 0 36px 0 18px;
  background: #33b9cc url(../img/arrow.svg) no-repeat right 18px center;
  font-size: 2.3rem;
  line-height: 1.3;
  font-weight: bold;
  color: #fff;
}
_:-ms-lang(x)::-ms-backdrop, .formBtn button {
  max-width: 628px;
}

.formBtn button br {
  display: none;
}

@media screen and (min-width: 768px) {
  .formBtn button:hover {
    opacity: 0.7;
  }
}
@media (any-pointer: coarse) {
  .formBtn button:active {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .contactPage > .contact .content + .content {
    display: block;
  }
  .contactPage .leadText {
    width: 85%;
    min-width: 300px;
    margin: -20px auto 45px;
    font-size: 1.6rem;
    line-height: 1.75;
  }
  #contactSection01 .contents {
    display: block;
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
  }
  #contactSection01 section {
    margin-top: 0;
  }
  #contactSection01 section:nth-of-type(n+1) {
    margin-top: 25px;
  }
  #contactSection01 section p span {
    display: inline-block;
  }

  .listCheckRadio > div, .listCheckRadio > .short {
    flex-basis: 48%;
    min-width: 0;
  }
  .listCheckRadio > div:nth-of-type(n), .listCheckRadio > .short:nth-of-type(n) {
    margin-left: 4%;
  }
  .listCheckRadio > div:nth-of-type(2n+1), .listCheckRadio > .short:nth-of-type(2n+1) {
    margin-left: 0;
  }
  .listCheckRadio > .middle {
    flex-basis: 100%;
  }
  .listCheckRadio > .middle:nth-of-type(n) {
    margin-left: 0;
  }

  .formCaption {
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
    padding: 8px;
    text-align: left;
  }
  .formItem {
    display: block;
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
  }
  .formName {
    border-right: none;
    padding: 8px;
  }
  .formName br {
    display: none;
  }
  .formBody {
    padding: 8px 8px 30px;
  }
  .formBody .row {
    display: block;
  }
  .formBody .row .item + .item {
    margin-top: 18px;
  }
  .formBody .row .item .radiobox {
    flex: 0 0 48%;
  }
  .formBody.option .listCheckRadio > div:nth-of-type(n) {
    margin-left: 0;
  }
  .formBody.option .listCheckRadio > div:nth-of-type(2n+1) {
    margin-left: 4%;
  }
  .formBody.option .listCheckRadio .long {
    display: block;
  }
  .formBody.option .listCheckRadio .long .checkbox {
    flex-basis: 100%;
    margin: 0 0 8px;
  }
  .formBody.option .listCheckRadio .long > div {
    padding-left: 40px;
  }
  .formBody.option .listCheckRadio .long .listCheckRadio > div:nth-of-type(n) {
    margin-left: 4%;
  }
  .formBody.option .listCheckRadio .long .listCheckRadio > div:nth-of-type(2n+1) {
    margin-left: 0;
  }
  .formBody .enqueteRow {
    flex-wrap: wrap;
  }
  .formBody .enqueteRow .radiobox {
    flex-basis: 48%;
  }
  .formBody .enqueteRow > div {
    flex: 0 0 100%;
    margin-top: 6px;
    padding-left: 40px;
  }
  .formBody .enqueteRow [type=text] {
    flex-basis: calc((100% - 4.5em) / 2);
  }
  .formCaution {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .formPrivacy {
    width: 90.6667%;
    min-width: 300px;
    margin: 52px auto 38px;
  }
  .formPrivacy .lead {
    margin-bottom: 28px;
    text-align: left;
  }
  .formPrivacy .lead br {
    display: none;
  }
  .formPrivacy .box {
    padding: 15px 10px;
  }
  .formPrivacy .box .madoguchi .name {
    margin-top: 8px;
    margin-left: 0;
  }
  .formPrivacy .box .madoguchi .row {
    margin-left: 0;
  }
  .formPrivacy .box .madoguchi .row .postalCode {
    display: block;
    margin-right: 0;
  }
  .formBtn button {
    width: 90.6667%;
    min-width: 300px;
    padding: 0 28px 0 10px;
    background-position: right 10px center;
  }
  .formBtn button br {
    display: inline;
  }
}
.contactPage .errorbg {
  display: none;
  position: fixed;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  left: 0;
  top: 0;
}
.contactPage .errorbox {
  display: none;
  position: fixed;
  z-index: 1;
  right: 50%;
  bottom: 50%;
  transform: translate(50%, 50%);
  background-color: #fff;
  padding: 30px 60px;
  text-align: center;
  color: #f84b4b;
  font-size: 1.8rem;
}
.contactPage .errorbox .close {
  position: absolute;
  right: 0;
  bottom: 100%;
  width: 50px;
  height: 50px;
  cursor: pointer;
  transition-duration: 0.3s;
}
.contactPage .errorbox .close::before {
  content: "";
  position: absolute;
  width: 60%;
  height: 2px;
  background-color: #fff;
  left: 20%;
  top: 24px;
  transform: rotate(45deg);
}
.contactPage .errorbox .close::after {
  content: "";
  position: absolute;
  width: 60%;
  height: 2px;
  background-color: #fff;
  left: 20%;
  top: 24px;
  transform: rotate(-45deg);
}
.contactPage .errorbox .btnbox button {
  background-color: #33b9cc;
  padding: 0.5em 1em;
  margin: 30px auto 0;
  color: #fff;
  font-size: 100%;
  font-weight: bold;
  font-family: inherit;
}
.errorBody {
  position: fixed;
  width: 100%;
  height: 100%;
}
.errorBody .errorbg, .errorBody .errorbox {
  display: block;
}

.contactPage .errorText {
  display: none;
  margin-bottom: 8px;
  color: #f84b4b;
}
.contactPage .errorText + div {
  margin-top: 0;
}
.contactPage .error .formBody {
  background-color: #fff3f3;
}
.contactPage .error .formBody .errorText {
  display: block;
}
@media screen and (min-width: 768px) {
  .contactPage .errorbox .btnbox button:hover {
    opacity: 0.7;
  }
  .contactPage .errorbox .close:hover {
    opacity: 0.7;
  }
}
@media (any-pointer: coarse) {
  .contactPage .errorbox .btnbox button:active {
    opacity: 0.7;
  }
  .contactPage .errorbox .close:active {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .contactPage .errorbox {
    padding: 30px 5px;
    width: 90%;
    font-size: 1.6rem;
  }
}
.contactCheck .formBody {
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 1.7rem;
}
.contactCheck .formBtn {
  margin-top: 50px;
  flex-direction: row-reverse;
}
.contactCheck .formBtn button {
  flex: 0 0 378px;
}
_:-ms-lang(x)::-ms-backdrop, .contactCheck .formBtn button {
  max-width: 378px;
}

.contactCheck .formBtn .back {
  background: #ccc url(../img/arrow-black.svg) no-repeat 18px center;
  margin-right: 120px;
  color: inherit;
}
@media screen and (max-width: 767px) {
  .contactCheck .formBody {
    display: block;
  }
  .contactCheck .formBtn {
    display: block;
  }
  .contactCheck .formBtn p {
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto 50px;
  }
  .contactCheck .formBtn p span {
    display: inline-block;
  }
  .contactCheck .formBtn button {
    margin: 0 auto;
  }
  .contactCheck .formBtn .back {
    margin-right: auto;
    margin-top: 40px;
  }
}
.contactThanks p {
  margin-top: 65px;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.85;
}
.contactThanks .btn {
  margin-top: 85px;
}
.contactThanks .btn a {
  width: 378px;
  height: 70px;
  background-position: right 18px center;
  margin: 0 auto;
  padding: 0 36px 0 18px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .contactThanks .btn a {
    width: 90.6667%;
    min-width: 300px;
  }
}

/* ----------------------------------------------
 * * card
 * *----------------------------------------------*/
.cardSection {
  max-width: 980px;
  margin: 0 auto 104px;
}
.cardSection .ttl {
  margin-bottom: 22px;
}
.cardSection > .btn:last-child {
  margin-top: 60px;
}
.cardSection > .btn:last-child a {
  width: 500px;
  height: 60px;
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
}
.card .leadText {
  max-width: 860px;
  margin: 0 auto 50px;
  font-size: 1.7rem;
  line-height: 1.882;
}
.card .lead {
  margin-bottom: 32px;
}
.cardbox:after {
  content: "";
  display: block;
  clear: both;
}
.cardbox + .cardbox {
  margin-top: 65px;
}
.cardbox .kome {
  text-indent: -1em;
  padding-left: 1em;
}
.cardbox h3 {
  border-bottom: 2px solid #0068b5;
  padding-bottom: 4px;
  margin-bottom: 15px;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
}
.cardbox .photo {
  float: left;
  width: 400px;
  text-align: center;
}
.cardbox .photo ul {
  margin-top: 10px;
}
.cardbox .photo li {
  list-style: none;
  position: relative;
  padding-left: 22px;
}
.cardbox .photo li + li {
  margin-top: 4px;
}
.cardbox .photo li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 14px;
  height: 14px;
  background-color: #0068b5;
}
.cardbox .photo .text {
  text-align: left;
  margin-top: 16px;
}
.cardbox .infoMore {
  margin-left: 440px;
  margin-top: 15px;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}
.cardbox .infoMore dt {
  flex: 0 0 80px;
  background-color: #e8eef7;
  margin-right: 12px;
  padding: 3px 0;
  text-align: center;
  font-weight: bold;
}
.cardbox .infoMore dt:nth-of-type(n+2) {
  margin-top: 10px;
}
.cardbox .infoMore dd {
  flex: 0 0 auto;
  width: calc(100% - 92px);
}
.cardbox .infoMore dd:nth-of-type(n+2) {
  margin-top: 10px;
}
.cardbox .infoMore .option {
  flex-basis: 100%;
  margin-right: 0;
}
.cardbox .infoMore .option + dd {
  margin-top: 7px;
  width: 100%;
}
.cardbox .infoMore .option + dd .kome {
  margin-top: 3px;
  font-size: 1.4rem;
  text-align: right;
}
.cardbox .infoMore .line2 + dd {
  align-self: center;
}
.cardbox .infoMore ul {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  font-weight: bold;
  margin: 0 -7px;
}
.cardbox .infoMore li {
  list-style: none;
  flex: 0 0 auto;
  width: calc(25% - 14px);
  margin: 7px;
}
.cardbox .infoMore li a {
  display: block;
  background-color: #33b9cc;
  padding: 7px 0;
  color: #fff;
}
.cardbox .infoMore li span {
  display: block;
  background-color: #f5f5f5;
  padding: 7px 0;
  color: #bcbcbc;
}
.cardbox > .text {
  margin-left: 440px;
  margin-top: 18px;
}
.cardbox .btn {
  margin-top: 15px;
}
.cardbox .btn a {
  width: 100%;
}
.card .prText {
  margin-top: 60px;
}
.card .prText section + section {
  margin-top: 25px;
}
.card .prText h4 {
  background-color: #e8eef7;
  padding: 8px 15px;
  margin-bottom: 8px;
  font-size: 1.7rem;
}
.card .prText .text {
  padding: 0 15px;
}
.btn .file {
  background-image: url(../img/icon-file.svg);
  height: 50px;
}

#otherItems .row {
  display: flex;
  flex-wrap: wrap;
}
#otherItems .cardbox {
  flex: 0 0 475px;
  margin-top: 30px;
  border: 1px solid #ccc;
  padding: 15px;
  max-width: 475px;
}
#otherItems .cardbox:nth-of-type(-n+2) {
  margin-top: 0;
}
#otherItems .cardbox:nth-of-type(even) {
  margin-left: auto;
}
#otherItems .cardbox .photo {
  width: 160px;
  margin-top: 6px;
  text-align: center;
}
#otherItems .cardbox img {
  height: 143px;
}
#otherItems .cardbox h3 {
  margin-left: 180px;
  text-align: left;
}
#otherItems .cardbox p {
  margin-left: 180px;
  text-align: left;
}
#otherItems .cardbox .btn {
  margin-top: 16px;
  margin-left: 180px;
}
#otherItems .cardbox .btn a {
  width: 100%;
}

.pointCard .cardbox .photo {
  width: 300px;
}
.pointCard .cardbox .infoMore {
  margin-left: 340px;
}
.pointCard .cardbox .infoMore dt {
  flex-basis: 100px;
}
.pointCard .cardbox .infoMore dd {
  width: calc(100% - 112px);
}
.pointCard .cardbox > .text {
  margin-left: 340px;
}
.pointCard02 .cardbox + .cardbox {
  padding-top: 65px;
  border-top: 1px dashed #0068b5;
}
.pointCard02 .cardbox h3 {
  text-align: left;
  margin-left: 340px;
}
.pointCard02 > .btn {
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}
.pointCard02 > .btn a {
  width: auto;
  flex: 0 0 420px;
}
.pointCard02 > .btn a + a {
  margin-left: 40px;
}

.patientCard .cardbox .infoMore dt {
  flex-basis: 210px;
}
.patientCard .cardbox .infoMore dd {
  width: calc(100% - 222px);
}
.patientCard01 .contents {
  display: flex;
  flex-wrap: wrap;
}
.patientCard01 .lead {
  flex: 0 0 100%;
}
.patientCard01 .cardbox {
  flex: 0 0 470px;
  border: 1px solid #ccc;
  padding: 15px;
}
_:-ms-lang(x)::-ms-backdrop, .patientCard01 .cardbox {
  max-width: 470px;
}

.patientCard01 .cardbox + .cardbox {
  margin-top: 40px;
}
.patientCard01 .cardbox:nth-of-type(-n+2) {
  margin-top: 0;
}
.patientCard01 .cardbox:nth-of-type(even) {
  margin-left: auto;
}
.patientCard01 .cardbox .photo {
  width: 150px;
}
.patientCard01 .cardbox h3 {
  margin-left: 180px;
  text-align: left;
}
.patientCard01 .cardbox .infoMore {
  margin-left: 180px;
}
.patientCard01 .cardbox .infoMore dt {
  flex-basis: 80px;
}
.patientCard01 .cardbox .infoMore dd {
  width: calc(100% - 92px);
}
.patientCard01 .cardbox > .text {
  margin-left: 180px;
}
.patientCard03 .cardbox .infoMore dt {
  flex-basis: 140px;
}
.patientCard03 .cardbox .infoMore dd {
  width: calc(100% - 152px);
}

.idCard .cardSection .btn a {
  width: 350px;
  height: 50px;
  font-size: 1.6rem;
}
.idCard01 .contents {
  display: flex;
  justify-content: center;
}
.idCard01 section {
  flex: 0 0 445px;
}
.idCard01 section + section {
  margin-left: 30px;
}
.idCard01 h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 85px;
  background-color: #e8eef7;
  text-align: center;
  font-size: 1.8rem;
}
.idCard01 .text {
  margin: 15px 6px 0;
}
.idCard01 .btn {
  margin-top: 20px;
}
.idCard01 .btn a {
  margin: 0 auto;
}
.idCard02 dl {
  display: flex;
  flex-wrap: wrap;
}
.idCard02 dt {
  flex: 0 0 320px;
  display: flex;
  align-items: center;
  padding: 20px 15px;
  font-weight: bold;
}
_:-ms-lang(x)::-ms-backdrop, .idCard02 dt {
  max-width: 320px;
}

.idCard02 dt:nth-of-type(n+2) {
  border-top: 1px dashed #0068b5;
}
.idCard02 dd {
  flex: 0 0 660px;
  padding: 20px 20px 20px 0;
}
_:-ms-lang(x)::-ms-backdrop, .idCard02 dd {
  max-width: 660px;
}

.idCard02 dd:nth-of-type(n+2) {
  border-top: 1px dashed #0068b5;
}
.idCard02 dd p + p {
  margin-top: 22px;
}
.idCard02 .btn {
  margin-top: 16px;
}
.idCard03 .contents {
  display: flex;
  font-size: 1.7rem;
}
.idCard03 .img {
  flex: 0 0 320px;
  text-align: center;
}
.idCard03 .text {
  flex: 1 0 0%;
}
.idCard03 .btn {
  margin-top: 28px;
}
.idCard04 ul {
  margin: 30px 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.idCard04 li {
  flex: 0 0 18.7%;
}
.idCard04 li img {
  width: 100%;
}
.idCard05 .contents {
  display: flex;
  justify-content: space-between;
  margin-bottom: 65px;
}
.idCard05 .contents p {
  flex: 0 0 550px;
  font-size: 1.7rem;
}
.idCard05 .contents .btn {
  flex: 0 0 386px;
}
.idCard05 .contents .btn a + a {
  margin-top: 40px;
}
.idCard05 h3 {
  color: #0068b5;
  border-bottom: 1px solid #0068b5;
  padding-bottom: 6px;
  margin-bottom: 10px;
  text-align: center;
  font-size: 1.9rem;
}
.idCard05 .steps {
  background-color: #f5f5f5;
  padding: 15px 30px;
  display: flex;
  justify-content: space-between;
}
.idCard05 .steps > div {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 0;
}
.idCard05 .steps > div::before {
  content: "";
  height: 398px;
  width: 83px;
  background: url(../card/img/arrow-r.svg) no-repeat center;
  position: absolute;
  left: -98px;
  top: 0;
}
.idCard05 .steps > div::after {
  content: "";
  height: 2px;
  width: 116px;
  background-color: #33b9cc;
  position: absolute;
  z-index: -1;
  left: -116px;
  top: 417px;
}
.idCard05 .steps h4 {
  flex: 0 0 auto;
  background-color: #fff;
  text-align: center;
  border: 2px solid #33b9cc;
  padding: 6px 0;
  margin-bottom: 12px;
  font-size: 2.2rem;
}
.idCard05 .steps .img {
  flex: 0 0 auto;
  order: -1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 398px;
  text-align: center;
  font-size: 2.1rem;
}
.idCard05 .steps .img img {
  flex: 0 0 auto;
}
.idCard05 .steps .img p {
  margin-top: 15px;
  flex: 0 0 auto;
}
.idCard05 .steps ul {
  flex: 0 0 auto;
  list-style: none;
  font-size: 1.9rem;
}
.idCard05 .steps li {
  position: relative;
  padding-left: 24px;
}
.idCard05 .steps li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.38em;
  width: 16px;
  height: 16px;
  background-color: #0068b5;
}
.idCard05 .step01::before, .idCard05 .step01::after {
  display: none;
}
.idCard05 .step02 .img {
  background: url(../card/img/arrow-u.svg) no-repeat center bottom;
}

.otherCard .infoMore .option {
  position: relative;
}
.otherCard .infoMore .option em {
  position: absolute;
  right: 5px;
  bottom: 50%;
  transform: translateY(50%);
}

.otherPrinter .infoMore {
  line-height: 1.3;
}
.otherPrinter .infoMore dt {
  flex-basis: 140px;
  padding: 6px 0;
}
.otherPrinter .infoMore dd {
  width: calc(100% - 152px);
}
.otherPrinter .infoMore dd span {
  display: inline-block;
}
.otherPrinter .infoMore dd .temp + .temp {
  margin-top: 12px;
}
.otherPrinter .infoMore dd .commu .kome {
  margin-left: 1em;
}

.othersID01 .infoMore dt {
  flex-basis: 155px;
}
.othersID01 .infoMore dd {
  width: calc(100% - 167px);
}
.othersID01 .infoMore dd span {
  display: inline-block;
}
.othersID02 .idjet {
  display: flex;
  flex-direction: row-reverse;
}
.othersID02 .step {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background-color: #ffefdf;
  margin-right: 35px;
  text-align: center;
  color: #ff6602;
  font-size: 1.9rem;
  font-weight: bold;
  font-feature-settings: "palt";
}
.othersID02 .step .img {
  flex: 0 0 auto;
}
.othersID02 .step p {
  flex: 0 0 auto;
  margin: auto;
}
.othersID02 .textbox {
  flex: 1 0 0%;
}
.othersID02 .textbox .img {
  text-align: center;
  margin-top: 12px;
}
.othersID02 h3 {
  border-bottom: 2px solid #0068b5;
  padding-bottom: 6px;
  margin-bottom: 16px;
  font-size: 2rem;
}
.othersID02 .prText {
  margin-top: 25px;
}
.othersID02 .prText li {
  list-style: none;
  text-indent: -1em;
  padding-left: 1em;
  margin: 0 15px;
}
.othersID02 .prText li + li {
  margin-top: 4px;
}

.othersItem .infoMore dt {
  flex-basis: 170px;
}
.othersItem .infoMore dd {
  width: calc(100% - 182px);
}
.othersItem .format {
  display: flex;
}
.othersItem .format .midashi {
  flex: 0 0 auto;
  margin-right: 1.5em;
}
.othersItem .format .text {
  flex: 1 0 0%;
}
.othersItem02 .img img {
  height: 283px;
}

@media screen and (min-width: 768px) {
  .cardbox .infoMore li a:hover {
    opacity: 0.7;
  }
}
@media (any-pointer: coarse) {
  .cardbox .infoMore li a:active {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .cardSection {
    margin-bottom: 72px;
  }
  .cardSection .ttl {
    font-size: 1.7rem;
  }
  .cardSection > .btn:last-child {
    margin-top: 40px;
  }
  .cardSection > .btn:last-child a {
    width: 90.6667%;
    min-width: 300px;
  }
  .cardbox {
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
  }
  .cardbox::after {
    display: none;
  }
  .cardbox .photo {
    flex: 0 0 auto;
    width: auto;
  }
  .cardbox .photo li::before {
    top: 0.35em;
  }
  .cardbox h3 {
    flex: 0 0 auto;
    order: -1;
    margin-left: 0;
    text-align: center;
  }
  .cardbox .infoMore {
    flex: 0 0 auto;
    margin-left: 0;
    margin-top: 18px;
  }
  .cardbox .infoMore ul {
    margin: 0 -5px;
  }
  .cardbox .infoMore li {
    width: calc(33.3333333333% - 10px);
    margin: 5px;
  }
  .cardbox > .text {
    margin-left: 0;
  }
  .card .leadText {
    width: 85%;
    min-width: 300px;
    margin: -20px auto 45px;
    font-size: 1.6rem;
    line-height: 1.75;
  }
  .card .lead {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .card .lead .btn {
    margin-left: 0;
    margin-top: 15px;
  }
  .card .prText {
    margin: 40px auto 0;
  }
  .card .prText h4, .card .prText .text {
    padding-left: 4%;
    padding-right: 4%;
  }
  #otherItems .ttl span {
    display: block;
    line-height: 1.4;
    font-size: 1.5rem;
  }
  #otherItems .row {
    display: block;
  }
  #otherItems .row .cardbox {
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
  }
  #otherItems .row .cardbox + .cardbox {
    margin-left: auto;
    margin-top: 20px;
  }
  #otherItems .row .cardbox p, #otherItems .row .cardbox .btn {
    margin-left: 0;
  }
  #otherItems .row .cardbox h3 {
    margin-left: 0;
    text-align: center;
  }
  #otherItems .row .cardbox h3 span {
    display: inline-block;
  }
  #otherItems .row .cardbox .photo {
    width: auto;
    margin: 0 0 6px;
  }

  .pointCard .cardbox .infoMore, .pointCard .cardbox > .text {
    margin-left: 0;
  }
  .pointCard .cardbox .photo {
    width: auto;
  }
  .pointCard02 .cardbox + .cardbox {
    padding-top: 40px;
  }
  .pointCard02 .cardbox h3 {
    margin-left: 0;
    text-align: center;
  }
  .pointCard02 > .btn {
    display: block;
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto 30px;
  }
  .pointCard02 > .btn a {
    height: 58px;
    padding: 0 32px 0 10px;
    line-height: 1.3;
  }
  .pointCard02 > .btn a + a {
    margin-left: 0;
    margin-top: 20px;
    flex-direction: column;
  }

  .patientCard01 .contents {
    display: block;
  }
  .patientCard01 .cardbox + .cardbox {
    margin-top: 20px;
    padding-top: 15px;
  }
  .patientCard01 .cardbox .infoMore, .patientCard01 .cardbox > .text {
    margin-left: 0;
  }
  .patientCard01 .cardbox h3 {
    margin-left: 0;
    text-align: center;
  }
  .patientCard01 .cardbox .photo {
    width: auto;
  }
  .patientCard01 .iccard .cardbox .photo {
    width: 150px;
    margin: 0 auto;
  }
  .patientCard02 .cardbox .infoMore, .patientCard03 .cardbox .infoMore {
    display: block;
  }
  .patientCard02 .cardbox .infoMore dt, .patientCard03 .cardbox .infoMore dt {
    margin-right: 0;
    margin-bottom: 4px;
  }
  .patientCard02 .cardbox .infoMore dt:nth-of-type(n+2), .patientCard03 .cardbox .infoMore dt:nth-of-type(n+2) {
    margin-top: 15px;
  }
  .patientCard02 .cardbox .infoMore dd, .patientCard03 .cardbox .infoMore dd {
    width: auto;
    padding: 0 10px;
  }

  .idCard .contents {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .idCard .cardSection .btn a {
    width: auto;
  }
  .idCard01 section + section {
    margin-left: 0;
    margin-top: 30px;
  }
  .idCard01 h3 {
    height: auto;
    padding: 10px 0;
    display: block;
    line-height: 1.3;
  }
  .idCard01 h3 span {
    display: inline-block;
  }
  .idCard02 dl {
    width: 90.6667%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .idCard02 dt {
    display: block;
    padding: 18px 0 0;
    text-align: center;
    font-size: 1.7rem;
  }
  .idCard02 dd {
    padding: 6px 0 18px;
  }
  .idCard02 dd:nth-of-type(n+2) {
    border-top: none;
  }
  .idCard03 .img {
    margin-bottom: 20px;
  }
  .idCard03 .img img {
    width: 150px;
  }
  .idCard04 ul {
    justify-content: flex-start;
  }
  .idCard04 li {
    flex-basis: 32%;
    margin-left: 2%;
    margin-top: 8px;
  }
  .idCard04 li:nth-of-type(-n+3) {
    margin-top: 0;
  }
  .idCard04 li:nth-of-type(3n+1) {
    margin-left: 0;
  }
  .idCard05 .contents .btn {
    margin-top: 30px;
  }
  .idCard05 .contents .btn a + a {
    margin-top: 20px;
  }
  .idCard05 .steps {
    display: block;
    padding: 20px 0 30px;
  }
  .idCard05 .steps > div {
    display: block;
    width: 93.3333%;
    min-width: 300px;
    margin: 0 auto;
  }
  .idCard05 .steps > div + div {
    padding-top: 145px;
  }
  .idCard05 .steps > div::before {
    left: 0;
    top: 0;
    width: 100%;
    height: 145px;
    background-image: url(../card/img/arrow-d.svg);
  }
  .idCard05 .steps > div::after {
    left: 22px;
    top: 0;
    width: 2px;
    height: calc(100% + 145px);
  }
  .idCard05 .steps h4 {
    padding: 8px 0;
    font-size: 2rem;
  }
  .idCard05 .steps .img {
    height: auto;
    padding: 0 30px;
  }
  .idCard05 .steps ul {
    margin-top: 15px;
    margin-left: 54px;
  }
  .idCard05 .step01::after {
    display: block;
  }
  .idCard05 .step02 .img {
    background-image: none;
  }
  .idCard05 .step03::after {
    display: none;
  }

  .otherCard .ttl span {
    display: inline-block;
  }
  .otherCard .infoMore .option {
    padding-left: 5px;
    padding-right: 5px;
  }
  .otherCard .infoMore .option em {
    display: block;
    position: static;
    transform: translateY(0);
  }

  .otherPrinter .infoMore {
    display: block;
  }
  .otherPrinter .infoMore dt {
    margin-right: 0;
    margin-bottom: 4px;
  }
  .otherPrinter .infoMore dt:nth-of-type(n+2) {
    margin-top: 15px;
  }
  .otherPrinter .infoMore dt br {
    display: none;
  }
  .otherPrinter .infoMore dd {
    width: auto;
    padding: 0 10px;
  }
  .otherPrinter .infoMore dd:nth-of-type(n+2) {
    margin-top: 0;
  }

  .othersID01 .infoMore {
    display: block;
  }
  .othersID01 .infoMore dt {
    margin-bottom: 4px;
    margin-right: 0;
  }
  .othersID01 .infoMore dt:nth-of-type(n+2) {
    margin-top: 15px;
  }
  .othersID01 .infoMore dd {
    width: auto;
    padding: 0 10px;
  }
  .othersID01 .infoMore dd:nth-of-type(n+2) {
    margin-top: 0;
  }
  .othersID02 .ttl span {
    display: inline-block;
  }
  .othersID02 .idjet {
    display: block;
  }
  .othersID02 h3 {
    text-align: center;
  }
  .othersID02 .textbox {
    width: 90.666%;
    min-width: 300px;
    margin: 0 auto 15px;
  }
  .othersID02 .textbox .img {
    margin: 0;
  }
  .othersID02 .step {
    width: 100%;
    margin-right: 0;
    font-feature-settings: normal;
    padding-top: 8px;
  }
  .othersID02 .step p {
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
    padding: 4px 0 16px;
    text-align: left;
  }
  .othersID02 .step p br {
    display: none;
  }
  .othersID02 .prText {
    margin-top: 30px;
  }
  .othersID02 .prText ul {
    width: 90.6667%;
    min-width: 300px;
    margin: 0 auto;
  }
  .othersID02 .prText li {
    margin: 0;
  }

  .othersItem .infoMore {
    display: block;
  }
  .othersItem .infoMore dt {
    margin-right: 0;
    margin-bottom: 6px;
  }
  .othersItem .infoMore dt:nth-of-type(n+2) {
    margin-top: 15px;
  }
  .othersItem .infoMore dd {
    width: auto;
    padding: 0 10px;
  }
  .othersItem .infoMore dd:nth-of-type(n+2) {
    margin-top: 0;
  }
}