@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body {
  line-height: 1; }

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

blockquote, q {
  quotes: none; }

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

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #615959; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

th {
  font-weight: normal; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select, textarea, img {
  vertical-align: middle; }

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

*:focus {
  outline: none; }

.fs70 {
  font-size: 70% !important; }

.fs80 {
  font-size: 80% !important; }

.fs90 {
  font-size: 90% !important; }

.fs100 {
  font-size: 100% !important; }

.fs110 {
  font-size: 110% !important; }

.fs120 {
  font-size: 120% !important; }

.fs130 {
  font-size: 130% !important; }

.fs140 {
  font-size: 140% !important; }

.fs150 {
  font-size: 150% !important; }

.fs160 {
  font-size: 160% !important; }

.fs170 {
  font-size: 170% !important; }

.fs180 {
  font-size: 180% !important; }

.fs190 {
  font-size: 190% !important; }

.fs200 {
  font-size: 200% !important; }

.fs300 {
  font-size: 300% !important; }

.fs400 {
  font-size: 400% !important; }

.b {
  font-weight: 700; }

.u {
  text-decoration: underline; }

.del {
  text-decoration: line-through; }

.red {
  color: #d7535e !important; }

.blue {
  color: #4575dd !important; }

.green {
  color: #38bf9e !important; }

.orange {
  color: #e17514 !important; }

.gray {
  color: #f2f2f2 !important; }

.bold {
  font-weight: bold !important; }

.center {
  text-align: center !important; }

.right {
  text-align: right !important; }

.left {
  text-align: left !important; }

.floatR {
  float: right;
  margin: 0 0 1em 1em; }

.floatL {
  float: left;
  margin: 0 1em 1em 0; }

.clear {
  clear: both; }

a img.fade {
  background: none !important;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s; }

a:hover img.fade {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
  background: none !important; }

.att {
  padding-left: 1em;
  text-indent: -1em; }

.att_box {
  margin: 2em 0 2.5em;
  padding: 1em 1.2em;
  line-height: 2.0;
  border: 1px dotted #cccccc;
  background: #fcfcfc;
  box-shadow: 0px 4px 0px 0px #f7f7f7; }

/* テキストボックス */
.mb0em {
  margin-bottom: 0em !important; }

.mb05em {
  margin-bottom: .5em !important; }

.mb1em {
  margin-bottom: 1em !important; }

.mb2em {
  margin-bottom: 2em !important; }

.mb3em {
  margin-bottom: 3em !important; }

.mb4em {
  margin-bottom: 4em !important; }

.mb5em {
  margin-bottom: 5em !important; }

.pt0em {
  padding-top: 0em !important; }

.pt1em {
  padding-top: 1em !important; }

.pt2em {
  padding-top: 2em !important; }

.pt3em {
  padding-top: 3em !important; }

.pt4em {
  padding-top: 4em !important; }

.pt5em {
  padding-top: 5em !important; }

.p3vw {
  padding: 3vw 0 !important; }

.m0 {
  margin: 0 !important; }

.mt0 {
  margin-top: 0 !important; }

.mr0 {
  margin-right: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.ml0 {
  margin-left: 0 !important; }

.m5 {
  margin: 5px !important; }

.mt5 {
  margin-top: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.m10 {
  margin: 10px !important; }

.mt10 {
  margin-top: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.m15 {
  margin: 15px !important; }

.mt15 {
  margin-top: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.m20 {
  margin: 20px !important; }

.mt20 {
  margin-top: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.m25 {
  margin: 25px !important; }

.mt25 {
  margin-top: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.m30 {
  margin: 30px !important; }

.mt30 {
  margin-top: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.m35 {
  margin: 35px !important; }

.mt35 {
  margin-top: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.m40 {
  margin: 40px !important; }

.mt40 {
  margin-top: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.m45 {
  margin: 45px !important; }

.mt45 {
  margin-top: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.m50 {
  margin: 50px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.m55 {
  margin: 55px !important; }

.mt55 {
  margin-top: 55px !important; }

.mr55 {
  margin-right: 55px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.m60 {
  margin: 60px !important; }

.mt60 {
  margin-top: 60px !important; }

.mr60 {
  margin-right: 60px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.ml60 {
  margin-left: 60px !important; }

.m65 {
  margin: 65px !important; }

.mt65 {
  margin-top: 65px !important; }

.mr65 {
  margin-right: 65px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.ml65 {
  margin-left: 65px !important; }

.m70 {
  margin: 70px !important; }

.mr70 {
  margin-right: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.ml70 {
  margin-left: 70px !important; }

.m75 {
  margin: 75px !important; }

.mt75 {
  margin-top: 75px !important; }

.mr75 {
  margin-right: 75px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.ml75 {
  margin-left: 75px !important; }

.m80 {
  margin: 80px !important; }

.mt80 {
  margin-top: 80px !important; }

.mr80 {
  margin-right: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.ml80 {
  margin-left: 80px !important; }

.p0 {
  padding: 0 !important; }

.pt0 {
  padding-top: 0 !important; }

.pr0 {
  padding-right: 0 !important; }

.pb0 {
  padding-bottom: 0 !important; }

.pl0 {
  padding-left: 0 !important; }

.p5 {
  padding: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.p10 {
  padding: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.pr40 {
  padding-right: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.w70 {
  width: 70px !important; }

.w290 {
  width: 290px !important; }

.w440 {
  width: 100%;
  max-width: 440px !important; }

.w682 {
  width: 100%;
  max-width: 682px !important; }

.w710 {
  width: 720px !important; }

.w20p {
  width: 20% !important; }

.w30p {
  width: 30% !important; }

.w40p {
  width: 40% !important; }

.w50p {
  width: 50% !important; }

.w60p {
  width: 60% !important; }

.w70p {
  width: 70% !important; }

.w80p {
  width: 80% !important; }

.w90p {
  width: 90% !important; }

.w100p {
  width: 100% !important; }

/* 共通設定
----------------------------- */
html {
  scroll-padding-top: 98px; }

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.2;
  color: #3B4043; }

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

sup {
  font-size: 70%;
  display: inline-block;
  vertical-align: top; }

sub {
  font-size: 70%;
  display: inline-block;
  vertical-align: bottom; }

strong {
  font-weight: bold;
  color: #FDE699; }

.spi, .spb, .spt {
  display: none; }

.pci {
  display: inline; }

.pcb {
  display: block; }

.pct {
  display: table; }

.pdl-br {
  padding-left: .5em;
  display: inline-block; }

@media (max-width: 850px) {
  .pdl-br {
    padding-left: 0;
    display: block; } }
a {
  color: #3B4043;
  text-decoration: none; }

a:hover {
  opacity: .7; }

a[href^="tel:"], .medicalList a {
  text-decoration: none;
  color: #FDE699; }

header a[target^="_blank"]::after {
  content: url(../img/windowb.png);
  margin-left: .5em; }

hr {
  border: none;
  border-top: 1px solid #bfbfbf; }

.bg_grey {
  background-color: #F3F3F3; }

.fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

.grid {
  display: grid;
  gap: 40px; }
  .grid .align-end {
    align-self: end; }
  .grid + .grid {
    margin-top: 40px; }

.col-1 {
  grid-template-columns: repeat(1, 1fr); }

.col-3 {
  grid-template-columns: repeat(3, 1fr); }

.col-1_2 {
  grid-template-columns: 1fr 1fr; }

.col-1_3 {
  grid-template-columns: 1fr 2fr; }

.col-2_3 {
  grid-template-columns: 2fr 1fr; }

.col-1_4 {
  grid-template-columns: 1fr 3fr; }

.col-3_4 {
  grid-template-columns: 3fr 1fr; }

.reverse.col-1_3 .unit:nth-of-type(1) {
  order: 2; }
.reverse.col-1_3 .unit:nth-of-type(2) {
  order: 1; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.flex {
  display: flex; }

.fss {
  font-size: 14px; }

.fsl {
  font-size: 20px; }

.under {
  text-decoration: underline; }

#totop {
  width: 9.375vw;
  height: 9.375vw;
  max-width: 70px;
  max-height: 70px;
  min-width: 40px;
  min-height: 40px;
  position: absolute;
  border-radius: 50%;
  bottom: 20px;
  right: 7%;
  z-index: 100;
  background: #B3B3B3;
  opacity: .7; }
  #totop a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    text-decoration: none;
    text-align: center; }
    #totop a::after {
      content: "";
      display: inline-block;
      width: 32px;
      height: 24px;
      vertical-align: middle;
      background: url(../img/icon_triangle.svg) no-repeat 0 0;
      background-size: contain; }

.anchor-margin {
  padding-top: 118px;
  margin-top: -118px; }

header {
  width: 100%;
  background: #fff;
  padding: 20px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20; }
  header .inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    header .inner .exlink {
      text-align: right;
      margin-bottom: 15px; }
  header h1 img {
    width: 295px; }
  header .hamburger-wrap {
    display: block; }
    header .hamburger-wrap .hamburger--btn {
      position: relative;
      display: flex;
      float: right;
      height: 58px;
      width: 58px;
      justify-content: center;
      align-items: center;
      cursor: pointer; }
      header .hamburger-wrap .hamburger--btn span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 11px;
        height: 4px;
        border-radius: 5px;
        background: #000; }
        header .hamburger-wrap .hamburger--btn span:nth-of-type(1) {
          top: 14px;
          width: 60%; }
        header .hamburger-wrap .hamburger--btn span:nth-of-type(2) {
          top: 27px;
          width: 60%; }
        header .hamburger-wrap .hamburger--btn span:nth-of-type(3) {
          top: 40px;
          width: 60%; }
      header .hamburger-wrap .hamburger--btn.active span:nth-of-type(1) {
        top: 20px;
        left: 10px;
        transform: translateY(6px) rotate(-135deg);
        width: 65%; }
      header .hamburger-wrap .hamburger--btn.active span:nth-of-type(2) {
        opacity: 0; }
      header .hamburger-wrap .hamburger--btn.active span:nth-of-type(3) {
        top: 32px;
        left: 10px;
        transform: translateY(-6px) rotate(135deg);
        width: 65%; }
  header.hide {
    transform: translateY(-100%); }
  header ul.gnav {
    display: block;
    position: fixed;
    width: 65%;
    background: #F3F3F3;
    transform: translate(100%);
    transition: all .4s;
    right: 0;
    z-index: 10;
    opacity: .92; }
    header ul.gnav > li + li {
      border-left: none; }
    header ul.gnav > li.current a {
      text-decoration: underline;
      font-weight: bold; }
    header ul.gnav > li > a {
      position: relative;
      display: inline-block;
      padding: 18px 40px;
      box-sizing: border-box;
      width: 100%;
      text-align: center; }
      header ul.gnav > li > a:hover {
        background: #6C6C6C;
        color: #fff; }
    header ul.gnav > li.contact a::before {
      content: "";
      display: inline-block;
      width: 16px;
      height: 12px;
      margin: 0 1.3em 0.2em 0;
      vertical-align: middle;
      background: url(../../img/icon_mail_black.svg) no-repeat 0 0;
      background-size: contain; }
    header ul.gnav > li.contact a:hover::before {
      background: url(../../img/icon_mail_white.svg) no-repeat 0 0; }
  header .header__menu.open ul.gnav {
    transform: translate(0); }
  header a {
    color: #3B4043; }
  header .menu-background {
    position: fixed;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 0;
    height: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 2;
    opacity: 0;
    transition: opacity 0.5s; }
    header .menu-background.open {
      width: 100%;
      height: 100vh;
      opacity: 1; }

.c-breadcrumb {
  width: auto;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 80px;
  padding-right: 80px;
  padding-top: 24px; }
  .c-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 8px 0;
    margin: 0;
    padding-left: 0;
    list-style: none; }
  .c-breadcrumb li {
    font-size: 14px;
    line-height: 1.5; }
    .c-breadcrumb li:nth-child(2)::before {
      content: "";
      display: inline-block;
      width: 0.5em;
      height: 1em;
      margin: 0 16px 0.2em;
      vertical-align: middle;
      background: url(../img/icon_angle-right.svg) no-repeat 0 0;
      background-size: contain; }
    .c-breadcrumb li + li::after {
      content: "";
      display: inline-block;
      width: 0.5em;
      height: 1em;
      margin: 0 16px 0.2em;
      vertical-align: middle;
      background: url(../img/icon_angle-right.svg) no-repeat 0 0;
      background-size: contain; }

.c-breadcrumb li:last-child::after {
  display: none; }

.c-breadcrumb [aria-current="page"] {
  font-weight: 700; }

@media (any-hover: hover) {
  .c-breadcrumb [aria-current="page"]:hover {
    text-decoration: none; } }
#wrap {
  margin-top: 98px; }
  #wrap .inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }
    #wrap .inner.bg_grey {
      padding: 60px 65px; }
    #wrap .inner .bg_white {
      padding: 60px 65px;
      background: #fff; }
    #wrap .inner + .inner {
      margin-top: 40px; }
    #wrap .inner + .bg_grey {
      margin-top: 130px; }
  #wrap .inner__narrow {
    width: 100%;
    max-width: 920px;
    margin: 0 auto; }
    #wrap .inner__narrow + .inner {
      margin-top: 40px; }
    #wrap .inner__narrow + .inner__narrow {
      margin-top: 40px; }
  #wrap section {
    padding: 50px .5em;
    overflow: hidden;
    line-height: 1.72; }
    #wrap section.bg_grey {
      margin-top: 80px; }
      #wrap section.bg_grey + section {
        margin-top: 80px; }
    #wrap section .text__lead {
      text-align: center;
      font-size: 24px;
      font-weight: bold; }
    #wrap section h2 {
      font-size: 30px;
      color: #222222;
      font-weight: bold;
      margin-bottom: 40px;
      text-align: center; }
    #wrap section h3 {
      font-size: 24px;
      color: #222222;
      margin-bottom: 20px;
      font-weight: bold; }
    #wrap section h4 {
      font-size: 20px;
      color: #222222;
      margin-bottom: 20px;
      font-weight: bold; }
    #wrap section .text + .text {
      margin-top: 1em; }
    #wrap section .text + .figure, #wrap section .text + .grid {
      margin-top: 20px; }
    #wrap section .panel {
      padding: 60px 65px;
      border: 1px solid #B3B3B3; }
    #wrap section .figure {
      text-align: center; }
      #wrap section .figure + .grid {
        margin-top: 20px; }
      #wrap section .figure .frame {
        border: 1px solid #B3B3B3; }
      #wrap section .figure figcaption {
        max-width: 400px;
        margin: 20px auto 0; }
        #wrap section .figure figcaption .figure_ttl {
          display: block;
          margin-bottom: 25px;
          font-size: 20px;
          font-weight: bold; }
    #wrap section .black_box {
      width: 95%;
      margin: 0 auto;
      background: #6c6c6c;
      padding: .5em 1em .6em; }
    #wrap section .c-list {
      margin-top: 20px; }
      #wrap section .c-list li {
        line-height: 1.4;
        position: relative;
        padding-left: 0.78em; }
        #wrap section .c-list li:not(:first-child) {
          margin-top: 20px; }
        #wrap section .c-list li::before {
          content: "";
          display: inline-block;
          width: 0.33em;
          height: 0.33em;
          position: absolute;
          top: calc(0.5em * 1);
          left: 0;
          margin: 0;
          background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHZpZXdCb3g9IjAgMCA2IDYiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01IC01KSI+PGNpcmNsZSBjeD0iMyIgY3k9IjMiIHI9IjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUgNSkiIGZpbGw9IiMyMjIiLz48L2c+PC9zdmc+) no-repeat center center;
          background-size: contain; }
      #wrap section .c-list + .text {
        margin-top: 1em; }
    #wrap section .c-link-list {
      margin-top: 20px; }
      #wrap section .c-link-list li {
        line-height: 1.5; }
        #wrap section .c-link-list li a::after {
          content: "";
          display: inline-block;
          width: 0.5em;
          height: 1em;
          margin: 0 0 0.2em 0.5em;
          vertical-align: middle;
          background: url(../img/icon_angle-right.svg) no-repeat 0 0;
          background-size: contain; }
    #wrap section .c-list--optional {
      display: table; }
      #wrap section .c-list--optional li {
        display: table-row; }
        #wrap section .c-list--optional li:first-child .c-list__marker {
          padding-top: 0; }
      #wrap section .c-list--optional .c-list__marker {
        padding-top: 20px;
        display: table-cell;
        padding-right: 0.5em;
        word-break: keep-all;
        white-space: nowrap; }
    #wrap section .c-list--note li {
      font-size: 14px;
      color: #6f6f6f; }
    #wrap section .c-list.c-list--optional.c-list--optional li::before {
      content: none; }
    #wrap section + section {
      margin-top: 30px; }
  #wrap .hero__content {
    position: relative;
    margin: 0 auto;
    max-width: 3840px; }
    #wrap .hero__content .text__wrap {
      width: 100%;
      position: absolute;
      top: 70%;
      left: 50%;
      transform: translate(-50%, -30%);
      -webkit-transform: translate(-50%, -30%);
      -ms-transform: translate(-50%, -30%); }
      #wrap .hero__content .text__wrap h1 {
        font-size: 60px;
        text-align: center;
        font-weight: bold;
        color: #fff;
        text-shadow: 0 0 5px #555;
        line-height: 1.5em; }
        #wrap .hero__content .text__wrap h1 .ttlbr {
          display: none; }
      #wrap .hero__content .text__wrap p {
        margin-top: 40px;
        text-align: center;
        font-size: 28px;
        line-height: 1.5;
        color: #091746;
        text-shadow: 0 0 10px #ffffff; }
  #wrap .unit .circle {
    position: relative;
    width: 75%;
    padding-top: 75%;
    margin: 0 auto;
    border-radius: 50%;
    background-color: #FDE699;
    background-image: url(../../img/icon_framefinder_01.svg);
    background-repeat: no-repeat;
    background-position: 50% 15%; }
    #wrap .unit .circle .heading {
      position: absolute;
      width: 100%;
      top: 55%;
      left: 50%;
      transform: translate(-50%, -45%);
      -webkit-transform: translate(-50%, -45%);
      -ms-transform: translate(-50%, -45%);
      text-align: center;
      font-size: 30px; }
    #wrap .unit .circle + .text {
      margin: 25px auto 0;
      max-width: 80%; }
  #wrap .unit:nth-child(2) .circle {
    background-image: url(../../img/icon_framefinder_02.svg); }
  #wrap .unit:nth-child(3) .circle {
    background-image: url(../../img/icon_framefinder_03.svg); }
  #wrap #news #anchor01 {
    padding-top: 98px;
    margin-top: -98px; }
  #wrap #news ul {
    margin-top: 50px; }
    #wrap #news ul li {
      width: 100%;
      padding: 1em 0;
      border-bottom: solid 1px #B3B3B3; }
      #wrap #news ul li:first-child {
        border-top: solid 1px #B3B3B3; }
      #wrap #news ul li a {
        display: flex;
        align-items: center; }
        #wrap #news ul li a:hover {
          opacity: 1; }
          #wrap #news ul li a:hover .info {
            text-decoration: underline; }
        #wrap #news ul li a[target^="_blank"] .info::after {
          content: "";
          display: inline-block;
          margin: 0 0.44em 0.3em;
          width: 0.89em;
          height: 0.89em;
          vertical-align: middle;
          background: url(../img/icon_link-ext.svg) no-repeat 0 0;
          background-size: contain; }
      #wrap #news ul li .date {
        width: 160px;
        padding: 0 .5em; }
      #wrap #news ul li .status {
        width: 140px;
        padding: 0 .5em; }
        #wrap #news ul li .status .info--icon {
          padding: 10px 1em 13px;
          text-align: center;
          background: #F4F4F4;
          font-size: 15px; }
      #wrap #news ul li .info {
        width: calc(100% - 300px);
        padding: 0 .5em;
        word-wrap: break-word; }
    #wrap #news ul.newslist li {
      padding: 1em 0; }
      #wrap #news ul.newslist li a {
        padding: 0; }
  #wrap #framefinder #anchor03 {
    padding-top: 98px;
    margin-top: -98px; }
  #wrap #application #anchor04 {
    padding-top: 98px;
    margin-top: -98px; }
  #wrap #application .grid + .grid {
    margin-top: 65px; }
  #wrap #authentication #anchor05 {
    padding-top: 98px;
    margin-top: -98px; }
  #wrap #authentication .grid.col-2_3 {
    position: relative; }
    #wrap #authentication .grid.col-2_3 .figure .text {
      position: absolute;
      left: 0;
      bottom: 0;
      text-align: left; }
  #wrap #company {
    padding-top: 98px;
    margin-top: -98px; }
  #wrap h2#policy {
    margin-top: 130px; }
  #wrap #policy {
    padding-top: 98px;
    margin-top: -98px; }
    #wrap #policy + .bg_white .grid {
      align-items: center; }
      #wrap #policy + .bg_white .grid .ttl {
        text-align: center;
        font-size: 24px;
        color: #fff; }
      #wrap #policy + .bg_white .grid .text {
        font-size: 24px;
        line-height: 1.4; }
  #wrap #contact {
    text-align: center; }
    #wrap #contact .text_link {
      margin-top: 30px;
      font-size: 24px; }
      #wrap #contact .text_link a {
        color: #6C6C6C; }
        #wrap #contact .text_link a::before {
          content: "";
          display: inline-block;
          width: 21px;
          height: 16px;
          margin: 0 1em 0 0;
          vertical-align: middle;
          background: url(../../img/icon_mail_grey.svg) no-repeat 0 0;
          background-size: contain; }
  #wrap table {
    width: 100%; }
    #wrap table colgroup .cell-w10 {
      width: 10%; }
    #wrap table colgroup .cell-w15 {
      width: 15%; }
    #wrap table colgroup .cell-w20 {
      width: 20%; }
    #wrap table colgroup .cell-w30 {
      width: 30%; }
    #wrap table colgroup .cell-w40 {
      width: 40%; }
    #wrap table colgroup .cell-w50 {
      width: 50%; }
    #wrap table colgroup .cell-w60 {
      width: 60%; }
    #wrap table colgroup .cell-w70 {
      width: 70%; }
    #wrap table colgroup .cell-w80 {
      width: 80%; }
    #wrap table colgroup .cell-w90 {
      width: 90%; }
    #wrap table.table-01 {
      border-top: solid 1px #B3B3B3;
      border-bottom: solid 1px #B3B3B3;
      background: #fff; }
      #wrap table.table-01 tr {
        border-bottom: solid 1px #B3B3B3; }
        #wrap table.table-01 tr:last-child {
          border-bottom: none; }
        #wrap table.table-01 tr th {
          padding: 1em;
          text-align: left;
          vertical-align: middle;
          word-break: break-word; }
        #wrap table.table-01 tr td {
          padding: 1em 1.5em;
          vertical-align: middle; }

footer {
  margin-top: 70px;
  background: #000; }
  footer a {
    color: #fff; }
  footer .inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    color: #fff; }
  footer .footer_wrap {
    padding: 40px .5em; }
    footer .footer_wrap ul.footer_utility {
      display: flex;
      justify-content: center;
      margin-bottom: 20px;
      font-size: 12px; }
      footer .footer_wrap ul.footer_utility > li {
        padding: 0 3em;
        border-right: 1px solid; }
        footer .footer_wrap ul.footer_utility > li > a {
          position: relative;
          display: inline-block;
          text-decoration: none; }
          footer .footer_wrap ul.footer_utility > li > a:hover {
            opacity: 1; }
          footer .footer_wrap ul.footer_utility > li > a::before {
            position: absolute;
            bottom: -4px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #fff;
            transform: scale(0, 1);
            transform-origin: left top;
            transition: transform .3s; }
          footer .footer_wrap ul.footer_utility > li > a:hover::before {
            transform: scale(1, 1); }
        footer .footer_wrap ul.footer_utility > li:last-child {
          border-right: none; }
    footer .footer_wrap .bland {
      margin-top: 50px;
      text-align: center;
      font-size: 20px; }
    footer .footer_wrap .copyright {
      margin-top: 42px;
      text-align: center;
      font-size: 12px; }

@media (max-width: 1280px) {
  #wrap section {
    padding: 40px 0; }
  #wrap .inner, #wrap .inner__narrow {
    padding: 0 .5em; }
  #wrap .unit .circle {
    width: 100%;
    padding-top: 100%; } }
@media (max-width: 1050px) {
  .c-breadcrumb {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    padding-left: .5em;
    padding-right: .5em; }

  #wrap #authentication .grid.col-2_3 {
    height: 430px; } }
@media (max-width: 960px) {
  .pci, .pcb, .pct {
    display: none; }

  .spi {
    display: inline; }

  .spb {
    display: block; }

  .spt {
    display: table; }

  #wrap .unit .circle .heading {
    font-size: 20px;
    line-height: 1.2; }
  #wrap .inner.bg_grey {
    padding: 60px .5em; }
  #wrap .inner .panel {
    padding: 20px 25px; }
  #wrap .inner .bg_white {
    padding: 20px 25px; }
    #wrap .inner .bg_white .black_box {
      width: 200px; }
  #wrap .inner__narrow .panel {
    padding: 20px 25px; } }
@media (max-width: 768px) {
  #totop a::after {
    width: 22px;
    height: 17px; }

  #wrap .hero__content .text__wrap h1 {
    font-size: 30px; }
  #wrap section .text__lead {
    font-size: 18px; }
  #wrap table colgroup .cell-w20 {
    width: 110px; }
  #wrap table colgroup .cell-w80 {
    width: auto; }
  #wrap table.table-01 tr th {
    padding: 1em .5em; }
  #wrap table.table-01 tr td {
    padding: 1em .5em; } }
@media (max-width: 600px) {
  ul.col-3, div.col-3 {
    grid-template-columns: repeat(1, 1fr); }

  .col-1_2, .col-1_3, .col-2_3, .col-1_4, .col-3_4 {
    grid-template-columns: auto; }

  .reverse.col-1_3 .unit:nth-of-type(1) {
    order: 1; }
  .reverse.col-1_3 .unit:nth-of-type(2) {
    order: 2; }

  .figure {
    text-align: center; }

  header {
    padding: 15px 10px; }
    header .inner {
      padding: 0; }
    header h1 img {
      width: 192px; }
    header ul.gnav {
      width: 100%; }

  #wrap .hero__content .text__wrap h1 .ttlbr {
    display: block; }
  #wrap .inner .bg_white .black_box {
    width: 250px; }
  #wrap .inner .bg_white .grid {
    gap: 20px; }
  #wrap .inner .bg_white .col-1_4:last-of-type .text {
    text-align: center; }
  #wrap #news ul li a {
    display: block; }
  #wrap #news ul li .info {
    width: 100%;
    margin-top: 25px; }
  #wrap #application .grid {
    gap: 20px; }
    #wrap #application .grid .unit h3 {
      text-align: center; }
  #wrap #authentication .grid.col-2_3 {
    height: auto; }
    #wrap #authentication .grid.col-2_3 .figure .text {
      position: static;
      margin-top: 20px; }
  #wrap .unit .circle {
    width: 75%;
    padding-top: 75%; }
    #wrap .unit .circle .heading {
      font-size: 30px;
      line-height: 1.72; } }

/*# sourceMappingURL=style.css.map */
