@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/* ==========================================================================
   header
   ========================================================================== */
.header .headerInner {
  background: #ffffff;
  padding: 15px 0;
  border-top: 3px solid #004165; }

#pNav {
  position: absolute;
  top: -5px;
  right: 0; }
  #pNav li {
    vertical-align: middle;
    padding-top: 5px; }

#pNav li.req a, #pNav li.res a, #pNav li.oss a {
  font-size: 13px;
  line-height: 30px;
  color: #ffffff;
  background: #fff !important;
  font-family: 'Sawarabi Mincho', sans-serif;
  position: relative;
  z-index: 1;
  overflow: hidden; }
  #pNav li.req a:after, #pNav li.res a:after, #pNav li.oss a:after {
    content: "";
    background: #0068B7 !important;
    display: block;
    position: absolute;
    top: 1px;
    left: 1px;
    right: 1px;
    bottom: 1px;
    z-index: -1;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    border: solid 1px #ffffff; }
  #pNav li.req a:hover, #pNav li.res a:hover, #pNav li.oss a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
    color: #0068B7; }
    #pNav li.req a:hover:after, #pNav li.res a:hover:after, #pNav li.oss a:hover:after {
      background: #ffffff !important;
      border: solid 1px #ffffff; }

#gNav {
  background: #ffffff;
  border-top: 1px solid #c0c4c3;
  border-bottom: 1px solid #c0c4c3; }
  #gNav ul {
    display: table;
    width: 100%; }
    #gNav ul li {
      display: table-cell;
      text-align: center; }
      #gNav ul li a {
        padding: 0px 0px;
        font-size: 12px;
        display: block;
        overflow: hidden;
        position: relative;
        font-family: 'Sawarabi Mincho', sans-serif; }
        #gNav ul li a:hover {
          background: #004165;
          color: #ffffff !important; }
          #gNav ul li a:hover .nav-ruby {
            color: #ffffff !important; }
        #gNav ul li a:before {
          content: "";
          width: 1px;
          background: #fff;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0; }
        #gNav ul li a p {
          border-left: 1px solid #c0c4c3;
          margin: 10px 0;
          position: relative;
          z-index: 1; }
        #gNav ul li:nth-of-type(12) p {
          border-right: 1px solid #c0c4c3;
          margin: 10px 0;
          position: relative;
          z-index: 1; }
          @media screen and (max-width: 767px) {
            #gNav ul li a p {
              letter-spacing: normal; } }
        #gNav ul li a .nav-ruby {
          color: #004165;
          font-size: 10px; }
      #gNav ul li:last-child a p {
        border-right: 1px solid #c0c4c3; }
    #gNav ul .on a {
      background: #004165;
      color: #ffffff !important; }
      #gNav ul .on a .nav-ruby {
        color: #ffffff !important; }
    #gNav ul .off a {
      opacity: 1.0;
      color: #bbbbbb; }
      #gNav ul .off a .nav-ruby {
        color: #bbbbbb; }

@media screen and (max-width: 639px) {
  .header .headerInner {
    padding: 15px 0 0; }

  #sNav li {
    width: 16%; }
    #sNav li a {
      background-color: #ffffff;
      color: #004165;
      line-height: 120%; }
      #sNav li a span {
        line-height: 140% !important; }
/*	#sNav li.onl {
		width: 20%; }*/
  #gNav ul {
    display: flex;
    flex-wrap: wrap; }
    #gNav ul li {
      display: flex;
      width: 50% !important; }
      #gNav ul li:nth-child(odd) p {
        border-left: none; } }
/* ==========================================================================
   footer
   ========================================================================== */
#contactArea {
  background-color: #f5f8f9; }
  #contactArea .txt02 {
    line-height: 140%; }

#fNav {
  background: #ffffff;
  border-top: 1px solid #c0c4c3;
  border-bottom: 1px solid #c0c4c3;
  margin-bottom: 0; }
  #fNav ul {
    display: table;
    width: 100%; }
    #fNav ul li {
      display: table-cell;
      text-align: center;
      border: none;
      padding: 0; }
      #fNav ul li a {
        padding: 0px 0px;
        font-size: 12px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        display: block;
        overflow: hidden;
        letter-spacing: normal;
        font-family: 'Sawarabi Mincho', sans-serif;
        position: relative; }
        #fNav ul li a:hover {
          background: #004165;
          color: #ffffff !important;
          text-decoration: none; }
          #fNav ul li a:hover .nav-ruby {
            color: #ffffff !important; }
        #fNav ul li a:before {
          content: "";
          width: 1px;
          background: #fff;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0; }
        #fNav ul li a p {
          border-left: 1px solid #c0c4c3;
          margin: 16px 0;
          position: relative;
          z-index: 1; }
        #fNav ul li a .nav-ruby {
          -moz-transition: all 0.5s ease;
          -o-transition: all 0.5s ease;
          -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
          color: #004165;
          font-size: 10px;
          letter-spacing: normal; }
      #fNav ul li:last-child a p {
        border-right: 1px solid #c0c4c3; }
        @media screen and (max-width: 767px) {
          #fNav ul li:last-child a p {
            border-right: none; } }
    #fNav ul .sp {
      display: none; }
    @media screen and (max-width: 639px) {
      #fNav ul .pc {
        display: none !important; }
      #fNav ul .sp {
        display: block; } }
    #fNav ul .on {
      font-weight: normal; }
      #fNav ul .on a {
        background: #004165;
        color: #ffffff; }
        #fNav ul .on a .nav-ruby {
          color: #ffffff; }
    #fNav ul .off a {
      opacity: 1.0;
      color: #bbbbbb; }
      #fNav ul .off a .nav-ruby {
        color: #bbbbbb; }

.contactInner {
  justify-content: center; }

.cvArea_txt {
  text-align: center;
  padding-left: 20px;
  padding-right: 20px; }
  .cvArea_txt.bottom_line {
    border-bottom: solid 1px #c0c4c3;
    margin: 0 0 40px 0;
    padding-bottom: 25px; }
  .cvArea_txt h4 {
    font-size: 24px;
    margin: 20px 0 10px 0; }
  .cvArea_txt span {
    font-size: 18px; }
  .cvArea_txt p {
    font-size: 14px;
    margin-bottom: 20px; }

.cvArea {
  margin-bottom: 20px !important;
  margin-top: 20px !important; }
  .cvArea .cv {
    padding: 0;
    background-color: #ffffff;
    color: #004165;
    max-width: 330px; }
    .cvArea .cv .txt {
      color: #004165;
      font-size: 14px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .cvArea .cv .btn {
      background: none;
      line-height: 1;
      color: #004165;
      font-size: 26px;
      width: auto;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .cvArea .cv .btn-style--blue {
      position: relative;
      border: solid 2px #004165;
      padding: 15px 20px; }
      .cvArea .cv .btn-style--blue:after {
        content: "";
        border-top: 10px solid #004165;
        border-right: 10px solid #004165;
        border-bottom: 10px solid transparent;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        top: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--blue:before {
        content: "";
        border-top: 10px solid #004165;
        border-right: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 10px solid #004165;
        display: block;
        position: absolute;
        top: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--blue .btn-style--blue--inner:after {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid #004165;
        border-bottom: 10px solid #004165;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--blue .btn-style--blue--inner:before {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #004165;
        border-left: 10px solid #004165;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--blue:hover {
        opacity: 1;
        background: #004165; }
        .cvArea .cv .btn-style--blue:hover .txt {
          color: #ffffff; }
        .cvArea .cv .btn-style--blue:hover .btn {
          color: #ffffff; }
        .cvArea .cv .btn-style--blue:hover:after {
          content: "";
          border-top: 10px solid #ffffff;
          border-right: 10px solid #ffffff;
          border-bottom: 10px solid transparent;
          border-left: 10px solid transparent;
          display: block;
          position: absolute;
          top: 3px;
          right: 3px; }
        .cvArea .cv .btn-style--blue:hover:before {
          content: "";
          border-top: 10px solid #ffffff;
          border-right: 10px solid transparent;
          border-bottom: 10px solid transparent;
          border-left: 10px solid #ffffff;
          display: block;
          position: absolute;
          top: 3px;
          left: 3px; }
        .cvArea .cv .btn-style--blue:hover .btn-style--blue--inner:after {
          content: "";
          border-top: 10px solid transparent;
          border-right: 10px solid #ffffff;
          border-bottom: 10px solid #ffffff;
          border-left: 10px solid transparent;
          display: block;
          position: absolute;
          bottom: 3px;
          right: 3px; }
        .cvArea .cv .btn-style--blue:hover .btn-style--blue--inner:before {
          content: "";
          border-top: 10px solid transparent;
          border-right: 10px solid transparent;
          border-bottom: 10px solid #ffffff;
          border-left: 10px solid #ffffff;
          display: block;
          position: absolute;
          bottom: 3px;
          left: 3px; }

    .cvArea .cv .btn-style--lightblue {
      position: relative;
      border: solid 2px #0068b7;
      padding: 15px 20px; }
     .cvArea .cv .btn-style--lightblue .btn-style--lightblue--inner .btn, .cvArea .cv .btn-style--lightblue .btn-style--lightblue--inner p {
        color: #0068b7; 
        line-height: 1.18;}
      .cvArea .cv .btn-style--lightblue:after {
        content: "";
        border-top: 10px solid #0068b7;
        border-right: 10px solid #0068b7;
        border-bottom: 10px solid transparent;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        top: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--lightblue:before {
        content: "";
        border-top: 10px solid #0068b7;
        border-right: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 10px solid #0068b7;
        display: block;
        position: absolute;
        top: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--lightblue .btn-style--lightblue--inner:after {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid #0068b7;
        border-bottom: 10px solid #0068b7;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--lightblue .btn-style--lightblue--inner:before {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #0068b7;
        border-left: 10px solid #0068b7;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--lightblue:hover {
        opacity: 1;
        background: #0068b7; }
        .cvArea .cv .btn-style--lightblue:hover .txt {
          color: #ffffff; }
        .cvArea .cv .btn-style--lightblue:hover .btn {
          color: #ffffff; }
        .cvArea .cv .btn-style--lightblue:hover:after {
          content: "";
          border-top: 10px solid #ffffff;
          border-right: 10px solid #ffffff;
          border-bottom: 10px solid transparent;
          border-left: 10px solid transparent;
          display: block;
          position: absolute;
          top: 3px;
          right: 3px; }
        .cvArea .cv .btn-style--lightblue:hover:before {
          content: "";
          border-top: 10px solid #ffffff;
          border-right: 10px solid transparent;
          border-bottom: 10px solid transparent;
          border-left: 10px solid #ffffff;
          display: block;
          position: absolute;
          top: 3px;
          left: 3px; }
        .cvArea .cv .btn-style--lightblue:hover .btn-style--lightblue--inner:after {
          content: "";
          border-top: 10px solid transparent;
          border-right: 10px solid #ffffff;
          border-bottom: 10px solid #ffffff;
          border-left: 10px solid transparent;
          display: block;
          position: absolute;
          bottom: 3px;
          right: 3px; }
        .cvArea .cv .btn-style--lightblue:hover .btn-style--lightblue--inner:before {
          content: "";
          border-top: 10px solid transparent;
          border-right: 10px solid transparent;
          border-bottom: 10px solid #ffffff;
          border-left: 10px solid #ffffff;
          display: block;
          position: absolute;
          bottom: 3px;
          left: 3px; }

    .cvArea .cv .btn-style--red {
      position: relative;
      border: solid 2px #7F1F44;
      padding: 32px 20px; }
      .cvArea .cv .btn-style--red:after {
        content: "";
        border-top: 10px solid #7F1F44;
        border-right: 10px solid #7F1F44;
        border-bottom: 10px solid transparent;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        top: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--red:before {
        content: "";
        border-top: 10px solid #7F1F44;
        border-right: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 10px solid #7F1F44;
        display: block;
        position: absolute;
        top: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--red .btn-style--red--inner .btn, .cvArea .cv .btn-style--red .btn-style--red--inner p {
        color: #7F1F44; }
      .cvArea .cv .btn-style--red .btn-style--red--inner:after {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid #7F1F44;
        border-bottom: 10px solid #7F1F44;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--red .btn-style--red--inner:before {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #7F1F44;
        border-left: 10px solid #7F1F44;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .cvArea .cv .btn-style--red:hover {
        opacity: 1;
        background: #7F1F44; }
        .cvArea .cv .btn-style--red:hover .txt {
          color: #ffffff; }
        .cvArea .cv .btn-style--red:hover .btn {
          color: #ffffff; }
        .cvArea .cv .btn-style--red:hover:after {
          content: "";
          border-top: 10px solid #ffffff;
          border-right: 10px solid #ffffff;
          border-bottom: 10px solid transparent;
          border-left: 10px solid transparent;
          display: block;
          position: absolute;
          top: 3px;
          right: 3px; }
        .cvArea .cv .btn-style--red:hover:before {
          content: "";
          border-top: 10px solid #ffffff;
          border-right: 10px solid transparent;
          border-bottom: 10px solid transparent;
          border-left: 10px solid #ffffff;
          display: block;
          position: absolute;
          top: 3px;
          left: 3px; }
        .cvArea .cv .btn-style--red:hover .btn-style--red--inner:after {
          content: "";
          border-top: 10px solid transparent;
          border-right: 10px solid #ffffff;
          border-bottom: 10px solid #ffffff;
          border-left: 10px solid transparent;
          display: block;
          position: absolute;
          bottom: 3px;
          right: 3px; }
        .cvArea .cv .btn-style--red:hover .btn-style--red--inner:before {
          content: "";
          border-top: 10px solid transparent;
          border-right: 10px solid transparent;
          border-bottom: 10px solid #ffffff;
          border-left: 10px solid #ffffff;
          display: block;
          position: absolute;
          bottom: 3px;
          left: 3px; }

@media screen and (max-width: 639px) {
  #fNav ul {
    display: flex;
    flex-wrap: wrap;
    border-left: none; }
    #fNav ul li {
      display: flex;
      width: 50%; }
      #fNav ul li p span {
        padding: 0; }
      #fNav ul li:nth-child(odd) p {
        border-left: none; }

  .cvArea_txt h4 {
    font-size: 20px; }
  .cvArea_txt p {
    font-size: 12px; }

  .cvArea {
    margin-bottom: 10px !important;
    margin-top: 10px !important; }
    .cvArea .cv {
      margin: 0 auto 5px 0 !important; }
      .cvArea .cv .btn-style--blue .txt {
        font-size: 12px; }
      .cvArea .cv .btn {
        font-size: 20px; } }
html, body {
  width: 100%;
  height: 100%; }

/* ==========================================================================
   top
   ========================================================================== */
.main .slider {
  max-width: 100%; }
.main .flex-control-nav {
  display: none; }

#top .l-top-line-bg-01 {
  background: url("../imgs/top/line-top-left-01-blue.png");
  background-position: top left;
  background-size: cover;
  width: 468px;
  height: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }
  @media screen and (max-width: 767px) {
    #top .l-top-line-bg-01 {
      background-size: 100% auto;
      width: 100%; } }
#top .l-top-line-bg-02 {
  background: url("../imgs/top/line-top-left-02-blue.png");
  background-position: top left;
  background-size: cover;
  height: 617px;
  width: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }
  @media screen and (max-width: 767px) {
    #top .l-top-line-bg-02 {
      background-size: 100% auto;
      height: 30vw; } }
#top .r-top-line-bg-01 {
  background: url("../imgs/top/line-top-right-01-blue.png");
  background-position: center;
  background-size: bottom right;
  width: 471px;
  height: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }
  @media screen and (max-width: 767px) {
    #top .r-top-line-bg-01 {
      background-size: 100% auto;
      width: 100%; } }
#top .r-top-line-bg-02 {
  background: url("../imgs/top/line-top-right-02-blue.png");
  background-position: center;
  background-size: bottom right;
  height: 613px;
  width: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }
  @media screen and (max-width: 767px) {
    #top .r-top-line-bg-02 {
      background-size: 100% auto;
      height: 30vw; } }
#top .pointArea {
  border-top: 1px solid #c0c4c3;
  border-bottom: 1px solid #c0c4c3; }
  #top .pointArea p {
    max-width: 1110px;
    margin: 0 auto; }
    #top .pointArea p img {
      width: 100%; }
#top .column-2-full {
  margin-top: 100px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1; }
  #top .column-2-full:first-child {
    margin-top: 150px; }
    @media screen and (max-width: 639px) {
      #top .column-2-full:first-child {
        margin-top: 20px; } }
  #top .column-2-full:last-child {
    margin-bottom: 150px; }
    @media screen and (max-width: 1100px) {
      #top .column-2-full:last-child {
        margin-bottom: 32vw; } }
    @media screen and (max-width: 639px) {
      #top .column-2-full:last-child {
        margin-bottom: 0px; } }
  @media screen and (max-width: 1100px) {
    #top .column-2-full {
      margin-top: 28vw; } }
  @media screen and (max-width: 639px) {
    #top .column-2-full {
      margin-top: 0px; } }
  #top .column-2-full .column-2-full--inner {
    overflow: visible; }
    @media screen and (max-width: 639px) {
      #top .column-2-full .column-2-full--inner .caption-text {
        bottom: 35px; } }
    #top .column-2-full .column-2-full--inner:first-child {
      right: -100px;
      width: 55%; }
      #top .column-2-full .column-2-full--inner:first-child:after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        border: 1px solid #c0c4c3;
        top: -15px;
        left: -15px;
        position: absolute;
        z-index: -1; }
      @media screen and (max-width: 639px) {
        #top .column-2-full .column-2-full--inner:first-child {
          right: 0px;
          left: 0px;
          width: 90%;
          margin-top: 30px; } }
    @media screen and (max-width: 639px) {
      #top .column-2-full .column-2-full--inner:last-child {
        margin-top: -52px; } }
    #top .column-2-full .column-2-full--inner .column-2-full--textbox {
      max-width: 550px;
      position: relative; }
      #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax {
        border: 1px solid #c0c4c3;
        background: #ffffff; }
        #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax:before {
          content: "";
          top: -40px;
          left: -1px;
          width: 1px;
          height: 40px;
          display: block;
          position: absolute;
          background: #c0c4c3; }
        #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax:after {
          content: "";
          top: -1px;
          left: -40px;
          width: 40px;
          height: 1px;
          display: block;
          position: absolute;
          background: #c0c4c3; }
        #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner {
          padding: 30px; }
          #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner:before {
            content: "";
            bottom: -40px;
            right: -1px;
            width: 1px;
            height: 40px;
            display: block;
            position: absolute;
            background: #c0c4c3; }
          #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner:after {
            content: "";
            bottom: -1px;
            right: -40px;
            width: 40px;
            height: 1px;
            display: block;
            position: absolute;
            background: #c0c4c3; }
      #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-title {
        width: 90%; }
        @media screen and (max-width: 639px) {
          #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-title {
            width: 100%; } }
      @media screen and (max-width: 1100px) {
        #top .column-2-full .column-2-full--inner .column-2-full--textbox {
          transform: scale(0.8, 0.8);
          padding: 0;
          max-width: 100%;
          width: 104%; } }
    #top .column-2-full .column-2-full--inner .caption-text {
      bottom: 15px;
      right: auto;
      left: 20px; }
  #top .column-2-full .button-style--neutral {
    margin-top: 30px; }
#top .column-2-full--reverse .column-2-full--inner:first-child {
  left: -100px;
  right: auto; }
  @media screen and (max-width: 639px) {
    #top .column-2-full--reverse .column-2-full--inner:first-child {
      right: 0px;
      left: 0px; } }
#top .column-2-full--reverse .column-2-full--inner .caption-text {
  bottom: 15px;
  right: 20px;
  left: auto; }
  @media screen and (max-width: 639px) {
    #top .column-2-full--reverse .column-2-full--inner .caption-text {
      bottom: 35px; } }
#top .bt-request-foot .button-style--rich {
  margin: auto;
  width: -webkit-fill-available;
  max-width: 440px; }
  #top .bt-request-foot .button-style--rich .btn-style--blue, #top .bt-request-foot .button-style--rich .btn-style--red {
    padding: 25px 25px; }
@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner .column-text {
    font-size: 16px; }
    #top .column-2-full .column-2-full--inner .column-text br {
      display: none; } }

#info {
  background-color: #ffffff;
  display: block; }
  #info .infotxtInner {
    margin-top: 30px;
    height: auto !important;
    font-size: 16px; }
    #info .infotxtInner ul {
      display: flex;
      justify-content: center; }
      @media screen and (max-width: 639px) {
        #info .infotxtInner ul li {
          font-size: 4vw; } }
      #info .infotxtInner ul li dl {
        display: flex; }
        #info .infotxtInner ul li dl a {
          text-decoration: underline; }
          #info .infotxtInner ul li dl a:hover {
            opacity: 0.7; }
        #info .infotxtInner ul li dl dt {
          text-align: left;
          color: #004165; }
        #info .infotxtInner ul li dl dd {
          text-align: left;
          padding-left: 15px; }

.obiArea {
  background: #f8f8f8;
  border-bottom: 1px solid #c0c4c3;
  margin-bottom: 0;
  padding-top: 0px; }
  .obiArea .ob-title {
    margin-top: 0px !important; }
    .obiArea .ob-title img {
      background: #f8f8f8; }
  .obiArea .ob-text {
    color: #004165;
    font-size: 18px;
    font-weight: bold; }
  .obiArea .oob-text2 {
    z-index: 30;
    position: relative;
    width: 100%;
    font-size: 30px;
    color: #fff; }
    .obiArea .oob-text2 span {
      font-size: 40px;
      font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important; }
      
      @media screen and (max-width: 798px) {
        .obiArea .oob-text2 span {
          font-size: 5vw; } }
      
      /*@media screen and (max-width: 639px) {
        .obiArea .oob-text2 span {
          font-size: 5.1vw; } }*/
    .obiArea .oob-text2 a {
      color: #fff;
      padding: 5px 21px;
      display: block;
      background-color: #7E1E44; }
      @media screen and (max-width: 639px) {
        .obiArea .oob-text2 a {
          padding: 5px 1vw; } }
      .obiArea .oob-text2 a:hover {
        opacity: 0.7; }
    @media screen and (max-width: 639px) {
      .obiArea .oob-text2 {
        font-size: 4.6vw;
        margin-bottom: -31px; } }
  .obiArea .bt-request-foot {
    margin: 50px 0; }
  .obiArea .ob-step {
    margin: 50px 0; }
    .obiArea .ob-step ul {
      display: flex;
      justify-content: space-between; }
      .obiArea .ob-step ul li {
        width: 31%;
        max-width: 343px; }
        .obiArea .ob-step ul li img {
          width: 100%; }

@media screen and (max-width: 639px) {
  .obiArea .ob-title {
    margin-top: 0px; }
  .obiArea .altText {
    color: #004165;
    font-weight: bold;
    font-size: 5vw; } }
  @media screen and (max-width: 639px) and (max-width: 349px) {
    .obiArea .altText {
      font-size: 4.5vw; } }
@media screen and (max-width: 639px) {
  .obiArea .bt-request-foot {
    margin: 25px 0; }
  .obiArea .ob-text {
    font-size: 3vw;
    padding: 10px 0 !important;
    width: 100%;
    line-height: 2; }
  .obiArea .ob-step {
    margin: 30px 0 0px; }
    .obiArea .ob-step ul {
      flex-wrap: wrap;
      justify-content: center; }
      .obiArea .ob-step ul li {
        max-width: 100%;
        width: 90%;
        margin-bottom: 20px; }
        .obiArea .ob-step ul li:last-child {
          margin-bottom: 0px; }

  #top .bt-request-foot .button-style--rich {
    margin: auto;
    width: -webkit-fill-available;
    max-width: 85%; }
    #top .bt-request-foot .button-style--rich .btn-style--blue, #top .bt-request-foot .button-style--rich .btn-style--red {
      padding: 15px 15px; } }
.load-top {
  overflow: hidden;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  top: 0;
  background: #fff;
  z-index: 99999; }
  .load-top .load-top--inner {
    max-width: 80%;
    margin-top: -50px;
    background: #fff;
    position: relative;
    z-index: 10;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  .load-top .skip {
    z-index: 9999;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
    background-color: #004165;
    display: inline-block;
    padding: 8px 40px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    opacity: 0; }

.sp-raijobtn {
  text-align: center; }

#LINE {
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    #LINE {
      width: 100%;
      padding-bottom: 0 !important; } }
  #LINE:after {
    content: "";
    background: url("../imgs/top/line-left.png");
    background-position: center;
    background-size: cover;
    width: 468px;
    height: 617px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0; }
    @media screen and (max-width: 767px) {
      #LINE:after {
        background: url("../imgs/top/line-left--sp.png");
        background-position: center;
        background-size: auto 100%;
        background-repeat: no-repeat;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        height: 100%;
        opacity: 1; } }
  #LINE .l-line-bg-01 {
    background: url("../imgs/top/line-left-01-blue.png");
    background-position: top left;
    background-size: cover;
    width: 468px;
    height: 0px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1; }
    @media screen and (max-width: 767px) {
      #LINE .l-line-bg-01 {
        display: none; } }
  #LINE .l-line-bg-01-gray {
    background: url("../imgs/top/line-left-01-gray.png");
    background-position: top left;
    background-size: cover; }
  #LINE .l-line-bg-02 {
    background: url("../imgs/top/line-left-02-blue.png");
    background-position: top left;
    background-size: cover;
    height: 617px;
    width: 0px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1; }
    @media screen and (max-width: 767px) {
      #LINE .l-line-bg-02 {
        display: none; } }
  #LINE .l-line-bg-02-gray {
    background: url("../imgs/top/line-left-02-gray.png");
    background-position: top left;
    background-size: cover; }
  #LINE .r-line-bg-01 {
    background: url("../imgs/top/line-right-01-blue.png");
    background-position: center;
    background-size: bottom right;
    width: 471px;
    height: 0px;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 1; }
    @media screen and (max-width: 767px) {
      #LINE .r-line-bg-01 {
        display: none; } }
  #LINE .r-line-bg-01-gray {
    background: url("../imgs/top/line-right-01-gray.png");
    background-position: center;
    background-size: bottom right; }
  #LINE .r-line-bg-02 {
    background: url("../imgs/top/line-right-02-blue.png");
    background-position: center;
    background-size: bottom right;
    height: 613px;
    width: 0px;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 1; }
    @media screen and (max-width: 767px) {
      #LINE .r-line-bg-02 {
        display: none; } }
  #LINE .r-line-bg-02-gray {
    background: url("../imgs/top/line-right-02-gray.png");
    background-position: center;
    background-size: bottom right; }
  #LINE .line-animation-box .l-bg {
    background: #f8f8f8;
    background-position: center;
    background-size: cover;
    width: 0px;
    height: 617px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 15; }
    @media screen and (max-width: 767px) {
      #LINE .line-animation-box .l-bg {
        width: 100%;
        height: 100%; } }
  #LINE .line-animation-box .r-bg {
    background: #f8f8f8;
    background-position: center;
    background-size: cover;
    width: 0px;
    height: 613px;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 5; }
    @media screen and (max-width: 767px) {
      #LINE .line-animation-box .r-bg {
        display: none; } }
  #LINE .line-animation {
    display: block;
    margin: 50px auto;
    height: 1px;
    width: 0;
    background: #c0c4c3;
    max-width: 250px; }
    @media screen and (max-width: 767px) {
      #LINE .line-animation {
        display: none; } }
  #LINE .wrap {
    position: relative;
    z-index: 50; }
@keyframes electronic2 {
  0%,100% {
    background-position: -100px -20px; }
  25% {
    background-position: 160px -20px; }
  50% {
    background-position: 160px 100px; }
  75% {
    background-position: -100px 100px; } }
  #LINE .biliboard.electronic:before {
    background: radial-gradient(#004165, #004165, #004165, #004165, #fafafa, #fafafa, #fafafa) no-repeat;
    background-size: 250px 100px;
    animation: electronic2 5s infinite linear; }
  #LINE .biliboard {
    position: relative;
    display: block;
    overflow: hidden;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    #LINE .biliboard:hover {
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
      opacity: 0.7; }
    #LINE .biliboard img {
      border: solid 1px #fff;
      margin: 2px auto;
      max-width: 340px; }
      @media screen and (max-width: 639px) {
        #LINE .biliboard img {
          max-width: 100%; } }

.parallax-pin01 {
  opacity: 1.0;
  position: relative; }
  @media screen and (max-width: 639px) {
    .parallax-pin01 {
      top: 0px !important;
      transform: translate3d(0px, 0px, 0px) !important; } }

.parallax-pin02 {
  opacity: 1.0;
  position: relative; }
  @media screen and (max-width: 639px) {
    .parallax-pin02 {
      top: 0px !important;
      transform: translate3d(0px, 0px, 0px) !important; } }

.parallax-pin03 {
  opacity: 1.0;
  position: relative; }
  @media screen and (max-width: 639px) {
    .parallax-pin03 {
      top: 0px !important;
      transform: translate3d(0px, 0px, 0px) !important; } }

.parallax-pin04 {
  opacity: 1.0;
  position: relative; }
  @media screen and (max-width: 639px) {
    .parallax-pin04 {
      top: 0px !important;
      transform: translate3d(0px, 0px, 0px) !important; } }

.parallax-pin05 {
  opacity: 1.0;
  position: relative; }
  @media screen and (max-width: 639px) {
    .parallax-pin05 {
      top: 0px !important;
      transform: translate3d(0px, 0px, 0px) !important; } }

.parallax-pin06 {
  opacity: 1.0;
  position: relative; }
  @media screen and (max-width: 639px) {
    .parallax-pin06 {
      top: 0px !important;
      transform: translate3d(0px, 0px, 0px) !important; } }

.parallax-box01, .parallax-box02, .parallax-box03 {
  opacity: 0.0; }

#icon {
  z-index: 30;
  width: 200%;
  height: 2000px;
  opacity: 0.0;
  position: absolute;
  background: url("../imgs/top/bg.png");
  background-position: center;
  display: none; }
  @media screen and (max-width: 639px) {
    #icon {
      display: none; } }

.fade-anime01, .fade-anime02, .fade-anime03, .fade-anime04, .fade-anime05, .fade-anime06, .fade-anime07 {
  opacity: 0.0; }

.fade-anime04, .fade-anime05, .fade-anime06 {
  position: relative;
  top: 10px; }

.top-content--inner {
  overflow: hidden;
  position: relative; }
  .top-content--inner:before {
    content: "";
    background: url("../imgs/top/line-left-gray.png");
    position: absolute;
    width: 468px;
    height: 617px;
    top: 0;
    left: 0; }
    @media screen and (max-width: 639px) {
      .top-content--inner:before {
        display: none; } }
  .top-content--inner:after {
    content: "";
    background: url("../imgs/top/line-right-gray.png");
    position: absolute;
    width: 471px;
    height: 613px;
    right: 0;
    bottom: 0; }
    @media screen and (max-width: 639px) {
      .top-content--inner:after {
        display: none; } }

@media screen and (max-width: 639px) {
  .flexbox {
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

  .flexbox-box1 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1; }

  .flexbox-box2 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2; }

  .flexbox-box3 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3; }

  .flexbox-box4 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4; } }
.sp-merit_bnr {
  border-top: solid 1px #ccc; }
  .sp-merit_bnr p {
    text-align: center;
    padding-bottom: 15px;
    border-top: solid 1px #ccc;
    padding-top: 20px; }

#pc-info {
  background-color: #fff;
  position: relative;
  border-bottom: solid 1px #ccc;
  z-index: 55;
  padding: 2px; }
  #pc-info .sectionTtl {
    margin-top: 51px; }

@media screen and (max-width: 639px) {
  #sNav li.sNav_logo {
    background: #fff;
    width: 80vw;
    text-align: left;
    vertical-align: middle;
    padding-top: 2vw;
    padding-left: 5px; } }
#sNav li.sNav_logo img {
  width: 39vw; }

.pc-life_bnr {
  text-align: center;
  display: -webkit-flex;
  display: flex;
  justify-content: center; }
  .pc-life_bnr a:hover {
    opacity: 0.7; }
  .pc-life_bnr div {
    margin: 0 8px; }

.floatbnr_sp .new {
  position: relative; }

.floatbnr_sp .new:after {
  content: "NEW";
  position: absolute;
  top: -11px;
  left: -4px;
  color: #fff;
  background-color: #ab4c67;
  font-size: 10px;
  padding: 5px 8px;
  z-index: 5;
  border: solid 1px #fff; }

/* ==========================================================================
   Access
   ========================================================================== */
.article .sub-page--visual {
  background: url("../imgs/access/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 639px) {
    .article .sub-page--visual {
      background: url("../imgs/access/MV-bg_sp.jpg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center; } }
.article .root-search {
  background: #f4f8f9;
  padding-bottom: 100px; }
  @media screen and (max-width: 639px) {
    .article .root-search {
      padding-bottom: 40px; } }
  .article .root-search .root-search--text {
    text-align: center;
    font-size: 18px; }
.article .simulation-box h4 {
  margin-top: 70px; }
.article .simulation-box .simulation-text {
  margin-top: 40px; }
.article .simulation-box .caution-style {
  margin-top: 20px; }
.article .car-access--box {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
  align-items: center; }
  @media screen and (max-width: 639px) {
    .article .car-access--box {
      margin-top: 20px; } }
  .article .car-access--box .car-access--inner:first-child {
    padding: 10px 15px 10px 0; }
  .article .car-access--box .car-access--inner:last-child {
    max-width: 806px; }
.article .bas-access--box {
  display: flex;
  justify-content: space-between;
  margin-top: 70px; }
  @media screen and (max-width: 639px) {
    .article .bas-access--box {
      margin-top: 20px; } }
  .article .bas-access--box .bas-access--inner h4 {
    margin-bottom: 25px; }
  .article .bas-access--box .bas-access--inner .caution-style {
    margin-top: 20px; }
  .article .bas-access--box .bas-access--inner:first-child {
    padding-right: 20px; }
  .article .bas-access--box .bas-access--inner:last-child {
    padding-left: 20px; }

.station-access-rute-inner {
  margin-top: 25px;
  text-align: center; }
  .station-access-rute-inner .button-style--neutral {
    margin: 25px auto 15px;
    font-size: 16px;
    width: 100%;
    max-width: 300px; }
    .station-access-rute-inner .button-style--neutral button {
      width: 100%;
      font-size: 16px; }

.station-access-rute-inner-form {
  margin: 0 auto;
  position: relative;
  background: url(../imgs/access/img03.png) 50% 50% no-repeat; }
  @media screen and (max-width: 1100px) {
    .station-access-rute-inner-form {
      background-size: 10vw; } }

.station-access-rute-inner-left {
  float: left;
  width: 45%; }
  .station-access-rute-inner-left .circle {
    display: inline-block;
    background: #004165;
    width: 90px;
    height: 90px;
    line-height: 90px;
    font-size: 1.25em;
    color: #fff;
    border-radius: 50%;
    vertical-align: middle; }
    @media screen and (max-width: 639px) {
      .station-access-rute-inner-left .circle {
        margin-bottom: 10px; } }
    .station-access-rute-inner-left .circle span {
      line-height: 1.2;
      display: inline-block;
      margin-top: 24px; }
  .station-access-rute-inner-left input {
    border: 1px solid #c0c4c3;
    padding: 12px 10px 12px 20px;
    border-radius: 0px;
    width: 50%;
    display: inline-block;
    margin-left: 12px;
    cursor: pointer;
    background: #fff;
    font-size: 16px; }
    @media screen and (max-width: 979px) {
      .station-access-rute-inner-left input {
        width: 30%; } }
    @media screen and (max-width: 639px) {
      .station-access-rute-inner-left input {
        width: 48%;
        margin-right: 12px;
        margin-left: 0; } }
  .station-access-rute-inner-left .text {
    display: inline-block;
    font-size: 1.25em;
    margin-left: 12px; }
    @media screen and (max-width: 639px) {
      .station-access-rute-inner-left .text {
        margin-left: 0px;
        margin: 10px 0; } }

.station-access-rute-inner-right {
  float: right;
  width: 45%; }
  .station-access-rute-inner-right .circle {
    display: inline-block;
    background: #004165;
    width: 90px;
    height: 90px;
    line-height: 90px;
    font-size: 1.25em;
    color: #fff;
    border-radius: 50%;
    vertical-align: middle; }
    @media screen and (max-width: 639px) {
      .station-access-rute-inner-right .circle {
        margin-bottom: 10px; } }
  .station-access-rute-inner-right input {
    border: 1px solid #c0c4c3;
    padding: 12px 10px 12px 20px;
    background: #fff;
    border-radius: 0px;
    width: 50%;
    display: inline-block;
    margin-left: 12px;
    background: #fff;
    font-size: 16px; }
    @media screen and (max-width: 979px) {
      .station-access-rute-inner-right input {
        width: 30%; } }
    @media screen and (max-width: 639px) {
      .station-access-rute-inner-right input {
        width: 48%;
        margin-right: 12px;
        margin-left: 0; } }
  .station-access-rute-inner-right .text {
    display: inline-block;
    font-size: 1.25em;
    margin-left: 12px; }
    @media screen and (max-width: 639px) {
      .station-access-rute-inner-right .text {
        margin-left: 0px;
        margin: 10px 0; } }

@media screen and (max-width: 767px) {
  .article .bas-access--box {
    display: flex;
    flex-wrap: wrap; }
    .article .bas-access--box .bas-access--inner {
      width: 100%; }
      .article .bas-access--box .bas-access--inner:first-child {
        padding-right: 0px; }
      .article .bas-access--box .bas-access--inner:last-child {
        padding-left: 0px;
        margin-top: 40px; }
      .article .bas-access--box .bas-access--inner img {
        width: 100%; } }
.access-town {
  margin: 40px auto;
  text-align: center; }
  .access-town img {
    max-width: 1000%;
    width: 100%; }

/* ==========================================================================
   Location
   ========================================================================== */
.location .sub-page--visual {
  background: url("../imgs/location/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }
.location .location-map {
  text-align: center; }
  .location .location-map .location-map--inner {
    display: inline-block; }
.location .column-2-full {
  margin-top: 60px; }
  @media screen and (max-width: 639px) {
    .location .column-2-full {
      margin-top: 40px; }
      .location .column-2-full .column-2-full--inner .column-text {
        margin-top: 20px; } }
.location #container {
  padding-top: 0px; }
.location .mapContainer {
  overflow: hidden;
  margin-top: 80px; }

.w50 {
  width: 49% !important; }
  @media screen and (max-width: 767px) {
    .w50 {
      width: 100% !important; } }

.w33 {
  width: 32.5% !important; }
  @media screen and (max-width: 767px) {
    .w33 {
      width: 100% !important; } }

.w66 {
  width: 66% !important; }
  @media screen and (max-width: 767px) {
    .w66 {
      width: 100% !important; } }

.cap {
  background: none;
  color: #999;
  font-size: 10.5px;
  line-height: 1.5;
  padding-top: 5px;
  letter-spacing: 0; }

.mb3 {
  margin-bottom: 30px !important; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .flex {
      display: block; } }

.between {
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }

.adminArea {
  background: #f4f8f9;
  padding: 60px 0 30px;
  margin-top: 80px;
  border-top: solid 1px #004165;
  border-bottom: solid 1px #004165; }
  @media screen and (max-width: 639px) {
    .adminArea {
      margin-top: 30px; } }
  .adminArea h3 {
    position: relative; }
    .adminArea h3:after {
      content: "";
      border-bottom: 2px solid #004165;
      position: absolute;
      width: 40px;
      bottom: -28px;
      left: 48%; }
    @media screen and (max-width: 767px) {
      .adminArea h3 img {
        display: none; } }
    @media screen and (max-width: 767px) {
      .adminArea h3 {
        margin-bottom: 30px;
        max-width: 100%;
        font-size: 19px;
        letter-spacing: -0.02em; } }
    .adminArea h3 .blue {
      color: #004165; }
  .adminArea .adMain {
    margin-bottom: 20px; }
    .adminArea .adMain li {
      background: #FFF;
      margin-bottom: 20px;
      border: solid 1px #004165; }
      .adminArea .adMain li dt {
        background: #004165;
        color: #FFF;
        padding: 5px;
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        letter-spacing: 0; }
      .adminArea .adMain li dd {
        padding: 15px;
        line-height: 1.7; }
  .adminArea .adSub li {
    margin-bottom: 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px #004165;
    padding: 10px; }
    .adminArea .adSub li dt {
      color: #004165;
      font-size: 16px;
      font-weight: bold;
      position: relative;
      margin-bottom: 7px;
      text-align: left;
      padding-bottom: 1px;
      border-bottom: 1px solid #CCC;
      letter-spacing: 0; }
    .adminArea .adSub li dd {
      line-height: 1.7; }

h3.h3-05 {
  margin-bottom: 57px;
  max-width: 396px;
  text-align: left; }

.hospital-box {
  margin-top: 70px;
  background: #f4f8f9;
  border: solid 1px #004165;
  padding: 40px; }
  @media screen and (max-width: 639px) {
    .hospital-box {
      padding: 25px;
      margin-top: 20px; } }
  .hospital-box h5 {
    text-align: center;
    font-size: 25px; }
    @media screen and (max-width: 639px) {
      .hospital-box h5 {
        font-size: 3.5vw; } }
    .hospital-box h5 strong {
      font-size: 42px; }
      @media screen and (max-width: 639px) {
        .hospital-box h5 strong {
          font-size: 9vw; } }
  .hospital-box .pick-up {
    margin: 30px auto;
    background: #ffffff;
    border: solid 1px #004165;
    color: #004165;
    text-align: center;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
    max-width: 190px; }

.hospital-list {
  display: flex;
  justify-content: space-around; }
  @media screen and (max-width: 639px) {
    .hospital-list {
      flex-wrap: wrap; } }
  .hospital-list > li {
    font-size: 16px;
    max-width: 31%; }
    @media screen and (max-width: 639px) {
      .hospital-list > li {
        width: 100%;
        max-width: 100%; } }
    .hospital-list > li ul li {
      padding-bottom: 30px; }
      .hospital-list > li ul li span {
        display: block;
        font-size: 13px;
        padding-left: 30px; }
      @media screen and (max-width: 639px) {
        .hospital-list > li ul li {
          padding-bottom: 10px; } }

/* --------------------------------------------------
MAP
-------------------------------------------------- */
.info-location__box {
  margin-top: 70px; }

.info-location__map {
  border: 1px solid #004165; }

.info-location__box-tab {
  border-top: 1px solid #004165;
  display: table;
  table-layout: fixed;
  width: 100%; }

.info-location__box-tab li {
  display: table-cell;
  width: calc(100% / 7);
  border-right: 1px solid #004165;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  height: 50px;
  line-height: 1.1;
  cursor: pointer;
  transition: 0.3s; }

.info-location__box-tab li.active {
  cursor: default; }

.info-location__box-tab li:first-child {
  border-left: 1px solid #004165; }

.info-location__box-tab li.list01:hover,
.info-location__box-tab li.list01.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list02:hover,
.info-location__box-tab li.list02.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list03:hover,
.info-location__box-tab li.list03.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list04:hover,
.info-location__box-tab li.list04.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list05:hover,
.info-location__box-tab li.list05.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list06:hover,
.info-location__box-tab li.list06.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list07:hover,
.info-location__box-tab li.list07.active {
  background: #004165;
  color: #ffffff; }

.info-location__map-slide {
  display: none; }

.info-location__map-slide.active {
  display: block; }

.info-location__map-slide-title {
  display: none; }

.info-location__map-list ol:nth-child(2n-1) {
  float: left;
  width: 49%; }

.info-location__map-list ol:nth-child(2n) {
  float: right;
  width: 49%; }

.info-location__map-list ol li {
  background: url("../../location/img/bg_dot.gif") 0 50% repeat-x; }

.info-location__map-list ol li p {
  display: inline-block;
  background: #fff; }

.info-location__map-list ol li p:nth-child(2n) {
  float: right;
  font-size: .87em;
  text-align: right; }

.info-location__map-list ol li p .num {
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  color: #fff;
  background: #cb5d7d;
  border-radius: 50%;
  text-align: center;
  font-size: .67em;
  vertical-align: baseline; }

[data-map="list01"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list02"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list03"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list04"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list05"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list06"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list07"] .info-location__map-list ol li p .num {
  background: #004165; }

.info-location__map-list ol li p .text {
  display: inline-block;
  line-height: 20px;
  vertical-align: baseline;
  margin-left: 8px;
  font-size: .87em; }

.info-location__map-list ol li p .note {
  font-size: .75em; }

.info-location__map-list ol li p .min {
  display: inline-block;
  min-width: 2.5em;
  vertical-align: baseline; }

.info-location__map-list ol li p .rute {
  display: inline-block;
  min-width: 4em;
  vertical-align: baseline; }

@media only screen and (max-width: 890px) {
  .info-location__map-list ol li p:nth-child(2n) {
    font-size: .75em; }

  .info-location__map-list ol li p .num {
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: .67em; }

  .info-location__map-list ol li p .text {
    font-size: .75em; }

  .info-location__map-list ol li p .note {
    font-size: .67em; } }
.info-location__map .map {
  width: 100%;
  height: 600px; }

@media only screen and (max-width: 767px) {
  .info-location__box {
    border: 2px solid #004165;
    border-bottom: 0;
    margin-top: 30px; }

  .info-location__box-tab {
    display: none; }

  .info-location__map {
    margin-top: 0px;
    border: none; }

  .info-location__map-slide {
    display: block; }

  .info-location__map-slide.active {
    display: block; }
    .info-location__map-slide.active .info-location__map-slide-title a:before {
      margin-top: -3px; }

  .info-location__map-slide-item {
    padding-bottom: 0px; }

  .info-location__map .info-location__map-slide-item {
    display: block;
    overflow: hidden;
    height: 0;
    max-height: 0;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease; }

  .info-location__map-slide.active .info-location__map-slide-item {
    display: block;
    height: auto;
    border-bottom: 2px solid #004165;
    height: auto;
    max-height: 100%;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease; }

  .info-location__map-slide-title {
    display: block; }

  .info-location__map-slide-title a {
    display: block;
    margin: 0 0px;
    padding: 10px 20px;
    position: relative;
    text-decoration: none;
    font-size: 1.4rem; }

  .info-location__map-slide-title a:before {
    display: block;
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -3px;
    width: 10px;
    height: 10px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transform-origin: 50% 50%;
    transition: 0.3s; }

  .info-location__map-slide.active a:before {
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg); }

  .info-location__map-slide-title a.slide01 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide01:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide02 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide02:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide03 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide03:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide04 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide04:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide05 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide05:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide06 {
    background: #004165;
    border-bottom: 4px solid #004165; }

  .info-location__map-slide-title a.slide06:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165; }

  .info-location__map-slide-title a.slide07 {
    background: #004165;
    border-bottom: 4px solid #004165; }

  .info-location__map-slide-title a.slide07:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165; }

  .info-location__map-list {
    margin-top: 20px; }

  .info-location__map-list ol:nth-child(2n-1) {
    float: none;
    width: 100%; }

  .info-location__map-list ol:nth-child(2n) {
    float: none;
    width: 100%; }

  .info-location__map-list ol li {
    background-size: 3.5px auto; }

  .info-location__map-list ol li p:nth-child(2n) {
    line-height: 2.4rem;
    font-size: .85rem;
    vertical-align: baseline; }

  .info-location__map-list ol li p .num {
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    font-size: .85rem;
    vertical-align: middle; }

  .info-location__map-list ol li p .text {
    line-height: 1.5rem;
    margin-left: 3px;
    font-size: .85rem;
    vertical-align: middle; }

  .info-location__map .map {
    width: 100%;
    height: 350px; } }
.icon-24 {
  position: relative; }
  .icon-24:after {
    content: "";
    position: absolute;
    background: url("../imgs/location/24h.png");
    background-position: center;
    background-size: cover;
    display: block;
    width: 131px;
    height: 36px;
    top: -20px;
    left: -9px; }
    @media screen and (max-width: 639px) {
      .icon-24:after {
        left: -10px; } }

/* ==========================================================================
   plan
   ========================================================================== */
.plan .sub-page--visual {
  background: url("../imgs/plan/mainvisual.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }
.plan .button-style--rich {
  display: inline-block; }
  .plan .button-style--rich .btn-style--blue {
    padding: 25px 25px; }
    @media screen and (max-width: 639px) {
      .plan .button-style--rich .btn-style--blue {
        padding: 15px 15px; } }

#point4 {
  margin-top: 70px;
  background: #f8f8f8;
  border-top: solid #004165 1px;
  border-bottom: solid #004165 1px;
  padding: 70px 20px; }
  @media screen and (max-width: 639px) {
    #point4 {
      margin-top: 40px;
      padding: 40px 20px; } }

.point-column--box {
  max-width: 1100px;
  margin: 70px auto 0;
  padding: 0 0px;
  display: flex;
  /* box-shadow */
  box-shadow: 0px 0px 1px 0px #e4eaec; }
  @media screen and (max-width: 639px) {
    .point-column--box {
      margin: 40px auto 0;
      flex-wrap: wrap; } }
  .point-column--box .point-column--inner {
    width: 50%;
    display: flex;
    padding: 20px; }
    .point-column--box .point-column--inner h4 {
      max-width: 510px; }
      @media screen and (max-width: 639px) {
        .point-column--box .point-column--inner h4 {
          max-width: 100%; } }
    .point-column--box .point-column--inner img {
      max-width: 510px;
      flex-shrink: 0; }
      @media screen and (max-width: 639px) {
        .point-column--box .point-column--inner img {
          max-width: 100%; } }
    @media screen and (max-width: 639px) {
      .point-column--box .point-column--inner {
        width: 100%; } }
    .point-column--box .point-column--inner:first-child {
      background: #f5f7f9; }
    .point-column--box .point-column--inner:last-child {
      background: #fff; }
    .point-column--box .point-column--inner .point-column-list {
      display: flex;
      flex-direction: column;
      justify-content: space-around;
      width: 100%;
      max-width: 510px; }
      @media screen and (max-width: 639px) {
        .point-column--box .point-column--inner .point-column-list {
          max-width: 100%; } }
    .point-column--box .point-column--inner .point-img {
      text-align: center; }
    .point-column--box .point-column--inner .point-img-inner {
      display: inline-block; }
    .point-column--box .point-column--inner .point-01--img {
      text-align: center; }
      .point-column--box .point-column--inner .point-01--img img {
        max-width: 258px;
        width: 100%; }
      @media screen and (max-width: 767px) {
        .point-column--box .point-column--inner .point-01--img img {
          max-width: 100%; } }
    .point-column--box .point-column--inner .point-02--img {
      text-align: center; }
      .point-column--box .point-column--inner .point-02--img img {
        max-width: 443px;
        width: 100%; }
      @media screen and (max-width: 767px) {
        .point-column--box .point-column--inner .point-02--img img {
          max-width: 100%; } }
    .point-column--box .point-column--inner .point-03--img {
      text-align: center; }
      .point-column--box .point-column--inner .point-03--img img {
        max-width: 447px;
        width: 100%; }
      @media screen and (max-width: 767px) {
        .point-column--box .point-column--inner .point-03--img img {
          max-width: 100%; } }
    @media screen and (max-width: 767px) {
      .point-column--box .point-column--inner .point-column--content {
        margin-top: 30px; }
        .point-column--box .point-column--inner .point-column--content:first-child {
          margin-top: 0px; } }
    .point-column--box .point-column--inner .point-column--content .point-title {
      max-width: 510px; }
      @media screen and (max-width: 639px) {
        .point-column--box .point-column--inner .point-column--content .point-title {
          max-width: 100%; } }
    .point-column--box .point-column--inner .point-column--content .point-text {
      text-align: center;
      padding: 20px; }
    .point-column--box .point-column--inner .point-column--img {
      max-width: 510px; }
      @media screen and (max-width: 639px) {
        .point-column--box .point-column--inner .point-column--img {
          max-width: 100%; } }

.type-box {
  padding: 80px 20px;
  text-align: center; }
  .type-box .type-box--inner {
    max-width: 272px;
    text-align: center;
    margin: 0 auto;
    padding: 50px 70px;
    border: solid #004165 1px;
    background: #f8f8f8; }
    @media screen and (max-width: 767px) {
      .type-box .type-box--inner {
        padding: 20px 15px; } }
    .type-box .type-box--inner .type-box--text {
      padding: 60px 0;
      background: #f8f8f8; }
      @media screen and (max-width: 767px) {
        .type-box .type-box--inner .type-box--text {
          padding: 10px 0 30px; } }
    .type-box .type-box--inner .button-style--neutral button {
      width: 100%;
      font-size: 16px;
      font-family: 'Sawarabi Mincho', sans-serif; }
  .type-box .type-box--link {
    display: inline-block;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .type-box .type-box--link:hover {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
      opacity: 0.9; }
      .type-box .type-box--link:hover .button-style--neutral a, .type-box .type-box--link:hover .button-style--neutral button {
        color: #ffffff;
        background: #004165; }
        .type-box .type-box--link:hover .button-style--neutral a:after, .type-box .type-box--link:hover .button-style--neutral button:after {
          background: #ffffff;
          right: 25px;
          width: 35px; }
        .type-box .type-box--link:hover .button-style--neutral a:before, .type-box .type-box--link:hover .button-style--neutral button:before {
          background: #ffffff;
          right: 25px; }

#type-e {
  background: #f8f8f8;
  border-top: solid 1px #004165;
  border-bottom: solid 1px #004165; }
  #type-e .column-2-full .column-2-full--inner .column-2-full--textbox {
    max-width: 500px; }
  #type-e .btn-style--blue {
    background: #ffffff; }
  #type-e .column-title, #type-e .column-text {
    text-align: center; }
    #type-e .column-title img, #type-e .column-text img {
      max-width: 270px; }
  #type-e .button-style--rich {
    margin-top: 30px; }
    #type-e .button-style--rich .btn-style--blue {
      text-align: center;
      padding: 15px 20px;
      border: solid 1px #004165; }
      #type-e .button-style--rich .btn-style--blue:hover {
        background: #004165; }
      #type-e .button-style--rich .btn-style--blue .btn-style--blue--inner .btn {
        font-size: 16px; }
  #type-e button {
    width: 100%;
    font-family: 'Sawarabi Mincho', sans-serif;
    font-weight: normal; }
    #type-e button p {
      font-weight: normal; }
  @media screen and (max-width: 767px) {
    #type-e .column-2-full .column-2-full--inner .column-2-full--textbox {
      width: calc(100% - 40px);
      text-align: center; } }

#plan-box ul {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 639px) {
    #plan-box ul {
      flex-wrap: wrap; }
      #plan-box ul .type-a {
        padding: 40px 20px 10px 20px; }
      #plan-box ul .type-c {
        padding: 10px 20px 40px 20px; } }

@media screen and (max-width: 639px) {
  .sp-padding {
    padding: 20px 20px !important; } }

.plan-type-copy {
  text-align: center;
  font-size: 14px;
  padding: 50px 0; }

.col_red {
  color: #601028; }

/* ==========================================================================
   outline
   ========================================================================== */
.outline td {
  text-align: unset; }
.outline b {
  font-weight: bold; }
.outline .right {
  text-align: right; }
.outline table[Attributes Style] {
  width: 600px;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  background-color: #969696; }
.outline table {
  border-spacing: 0px; }
  .outline table table {
    display: table;
    border-collapse: separate;
    border-spacing: 1px;
    border-color: grey; }
    .outline table table td {
      padding: 5px; }
    .outline table table tr td:first-child {
      background-color: #f5f8f9; }
    .outline table table tr td:last-child {
      background-color: #fff; }

.bnrArea a {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  .bnrArea a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7; }

/* ==========================================================================
   map
   ========================================================================== */
.map .map-block .map-img {
  text-align: center;
  margin-bottom: 65px; }
  .map .map-block .map-img img {
    max-width: 798px;
    width: 100%; }

@media screen and (max-width: 767px) {
  .map .btn-column {
    flex-wrap: wrap; }
    .map .btn-column li {
      width: 100%; }
      .map .btn-column li:first-child {
        margin-bottom: 15px; }
    .map .btn-column .button-style--inline-large a {
      display: block; } }
/* ==========================================================================
   member
   ========================================================================== */
#mem .sub-page--visual3 {
  background: url("../imgs/member/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  text-align: center; }
#mem .member-login--block {
  margin: 0 auto;
  max-width: 1100px;
  background: #f8f8f8;
  text-align: center;
  margin-top: 70px;
  position: relative; }
  #mem .member-login--block .loginBg {
    padding: 60px; }
    @media screen and (max-width: 639px) {
      #mem .member-login--block .loginBg {
        padding: 30px 0; } }
    #mem .member-login--block .loginBg #loginForm .loginForm-text {
      text-align: center;
      font-size: 19px;
      color: #004165;
      line-height: 2;
      margin-bottom: 35px;
      font-weight: bold; }
      @media screen and (max-width: 639px) {
        #mem .member-login--block .loginBg #loginForm .loginForm-text {
          font-size: 3vw;
          margin-bottom: 10px; } }
    #mem .member-login--block .loginBg #loginForm input {
      border: solid #c0c4c3 1px;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 100%;
      max-width: 550px;
      margin: 0 auto 20px;
      padding: 10px 15px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 15px;
      text-align: center; }
#mem .button-style--neutral {
  margin-top: 0px; }
  #mem .button-style--neutral button {
    padding: 10px 100px;
    margin: 0 auto; }

.login-step .obiArea {
  background: #ffffff;
  text-align: center;
  border: none; }
  .login-step .obiArea .ob-title {
    margin-top: 60px;
    text-align: center;
    font-size: 28px;
    background-color: #fff; }
    .login-step .obiArea .ob-title .ob-title--logo img {
      background-color: #fff; }
    @media screen and (max-width: 639px) {
      .login-step .obiArea .ob-title {
        font-size: 5vw !important; } }
  .login-step .obiArea .button-style--rich {
    margin: 0 auto; }
    .login-step .obiArea .button-style--rich a {
      margin: auto;
      padding: 25px; }
  .login-step .obiArea .ob-step ul li {
    position: relative; }
    .login-step .obiArea .ob-step ul li:after {
      content: "";
      position: absolute;
      display: block;
      background: url(../imgs/member/step-arrow.png);
      background-repeat: no-repeat;
      background-position: center;
      width: 11px;
      top: 0;
      right: -7.5%;
      bottom: 0;
      height: 100%; }
      @media screen and (max-width: 639px) {
        .login-step .obiArea .ob-step ul li:after {
          transform: rotate(90deg) !important;
          top: auto !important;
          right: 0 !important;
          left: 0 !important;
          height: 35px !important;
          width: 100% !important;
          bottom: -12px !important; } }
    .login-step .obiArea .ob-step ul li:last-child:after {
      display: none; }

/* ==========================================================================
   member-e
   ========================================================================== */
#mem-e .sub-page--visual3 {
  background: url("../imgs/member_login/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  text-align: center; }
  @media screen and (max-width: 639px) {
    #mem-e .sub-page--visual3 {
      background: url("../imgs/member_login/MV-bg_sp.jpg"); } }
#mem-e .member-login--block {
  margin: 0 auto;
  max-width: 1100px;
  background: #f8f8f8;
  text-align: center;
  margin-top: 70px;
  position: relative; }
  #mem-e .member-login--block .loginBg {
    padding: 60px; }
    #mem-e .member-login--block .loginBg #loginForm .loginForm-text {
      text-align: center;
      font-size: 19px;
      color: #004165;
      line-height: 2;
      margin-bottom: 35px;
      font-weight: bold; }
    #mem-e .member-login--block .loginBg #loginForm input {
      border: solid #c0c4c3 1px;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 100%;
      max-width: 550px;
      margin: 0 auto 20px;
      padding: 10px 15px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 15px;
      text-align: center; }
#mem-e .button-style--neutral {
  margin-top: 0px; }
  #mem-e .button-style--neutral button {
    padding: 10px 100px;
    margin: 0 auto; }
#mem-e .copy-style--clear {
  color: #4c483b; }
#mem-e #point4 {
  margin-top: 0px;
  border: none;
  background: #fff; }
  #mem-e #point4 h3 {
    text-align: center; }
  #mem-e #point4 .point-column--box {
    box-shadow: none; }
    #mem-e #point4 .point-column--box .point-column--inner {
      background: #ffffff; }
  #mem-e #point4 .point-large {
    font-size: 14px;
    line-height: 2.3; }
    @media screen and (max-width: 767px) {
      #mem-e #point4 .point-large {
        font-size: 13px; }
        #mem-e #point4 .point-large br {
          line-height: 2;
          display: none; } }
  @media screen and (max-width: 767px) {
    #mem-e #point4 .point-text br {
      display: none; } }

.panorama-box {
  height: 350px;
  background: url("../imgs/member_login/slide-img01.jpg");
  background-position: center bottom;
  background-size: cover;
  margin-top: 50px; }

.login-step .obiArea {
  background: #ffffff;
  text-align: center;
  border: none; }
  .login-step .obiArea .ob-title {
    margin-top: 60px;
    text-align: center;
    font-size: 28px; }
  .login-step .obiArea .button-style--rich {
    margin: 0 auto; }
    .login-step .obiArea .button-style--rich a {
      margin: auto;
      padding: 25px; }
  .login-step .obiArea .ob-step ul li {
    position: relative; }
    @media screen and (max-width: 639px) {
      .login-step .obiArea .ob-step ul li {
        margin-bottom: 40px;
        padding-bottom: 40px; } }
    .login-step .obiArea .ob-step ul li:after {
      content: "";
      position: absolute;
      display: block;
      background: url(../imgs/member/step-arrow.png);
      background-repeat: no-repeat;
      background-position: center;
      width: 11px;
      top: 0;
      right: -7.5%;
      bottom: 0;
      height: 100%; }
    @media screen and (max-width: 639px) {
      .login-step .obiArea .ob-step ul li:last-child {
        margin-bottom: 0px;
        padding-bottom: 20px; } }
    .login-step .obiArea .ob-step ul li:last-child:after {
      display: none; }

.movie-box {
  margin-top: 70px; }
  @media screen and (max-width: 767px) {
    .movie-box {
      margin-top: 40px; } }
  .movie-box ul {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .movie-box ul {
        flex-wrap: wrap; } }
    .movie-box ul li {
      width: 48%; }
      @media screen and (max-width: 767px) {
        .movie-box ul li {
          width: 100%;
          margin-top: 30px; }
          .movie-box ul li:first-child {
            margin-top: 0px; } }
      .movie-box ul li .youtube-text {
        text-align: center;
        margin-top: 20px;
        font-size: 18px; }
        @media screen and (max-width: 767px) {
          .movie-box ul li .youtube-text {
            margin-top: 10px;
            font-size: 16px; } }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

/*パノラマ*/
#view {
  padding: 0;
  margin: 50px auto 0;
  text-align: center; }
  #view .guide {
    padding: 0; }
    #view .guide li {
      padding: 0; }
  #view .box_view {
    position: relative;
    width: 100%;
    max-width: 960px;
    height: 450px;
    margin: 0 auto;
    text-align: left; }
  #view .viewArea {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden; }
  #view .slider {
    position: absolute;
    left: -299px; }
    #view .slider li {
      width: 1558px; }
      #view .slider li img {
        width: 110%;
        left: 0;
        right: 0;
        position: relative; }
  #view .prev, #view .next {
    padding: 0;
    font-size: 2.4rem;
    line-height: 2.0;
    position: absolute;
    font-family: 'arrow';
    height: 50px;
    width: 50px;
    text-align: center;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #fff; }
  #view .prev {
    left: 20px; }
  #view .next {
    right: 20px; }
  #view .visible {
    display: block; }
  #view .hidden {
    display: none; }

@media only screen and (max-width: 639px) {
  #view {
    padding: 5% 0; }
    #view .guide {
      width: 93.75%;
      margin: 0 auto;
      padding: 0 0 3%; }
    #view .slider {
      left: -380px; }
      #view .slider li {
        width: 1558px; }
    #view .box_view {
      position: relative;
      width: 100%;
      height: 450px;
      margin: 0 auto; }
    #view .prev, #view .next {
      background: transparent;
      padding: 0px;
      font-size: 0;
      line-height: 1;
      position: absolute;
      font-family: 'arrow';
      width: 10%;
      text-align: center;
      top: 0;
      bottom: 0;
      margin: auto;
      color: #fff;
      text-shadow: 0px 0px 5px #000; } }
.merit_bnr_wp {
  text-align: center;
  padding: 40px 0 0 0; }
  .merit_bnr_wp .merit_bnr span {
    background-color: #9D927C;
    color: #fff;
    font-size: 32px;
    width: 100%;
    max-width: 750px;
    display: block;
    margin: 0 auto;
    padding: 7px 0; }
    @media screen and (max-width: 767px) {
      .merit_bnr_wp .merit_bnr span {
        font-size: 5vw; } }
  @media screen and (max-width: 767px) {
    .merit_bnr_wp .merit_bnr {
      width: 95%;
      margin: 0 auto; } }
  .merit_bnr_wp img {
    margin-bottom: 30px; }
  .merit_bnr_wp .bt-request-foot .button-style--rich {
    margin: auto;
    width: -webkit-fill-available;
    max-width: 40%; }
    @media screen and (max-width: 767px) {
      .merit_bnr_wp .bt-request-foot .button-style--rich {
        max-width: 85%; } }
    .merit_bnr_wp .bt-request-foot .button-style--rich .btn-style--blue, .merit_bnr_wp .bt-request-foot .button-style--rich .btn-style--red {
      padding: 15px 15px; }
      @media screen and (max-width: 767px) {
        .merit_bnr_wp .bt-request-foot .button-style--rich .btn-style--blue, .merit_bnr_wp .bt-request-foot .button-style--rich .btn-style--red {
          max-width: 95%;
          display: block;
          margin: 0 auto; } }

/* ==========================================================================
   concept
   ========================================================================== */
.concept .breadcrumb {
  margin-bottom: 10px; }
.concept section {
  position: relative; }
  .concept section:after {
    content: "image";
    color: #ffffff;
    text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
    position: absolute;
    right: 15px;
    bottom: 10px;
    font-size: 13px;
    font-weight: bold; }
.concept .concept-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 150px 30px;
  max-width: 1100px;
  margin: auto; }
  @media screen and (max-width: 639px) {
    .concept .concept-inner {
      padding: 25px 20px 40px; } }
  .concept .concept-inner h2 {
    margin-bottom: 40px; }
    @media screen and (max-width: 639px) {
      .concept .concept-inner h2 {
        margin-bottom: 10px; } }
  .concept .concept-inner .concept-point-text {
    margin-bottom: 40px; }
  .concept .concept-inner .concept-point-box .concept-point-inner {
    text-align: center;
    padding: 50px 40px;
    background-color: rgba(255, 255, 255, 0.95); }
    @media screen and (max-width: 639px) {
      .concept .concept-inner .concept-point-box .concept-point-inner {
        padding: 20px; } }
  .concept .concept-inner .concept-point-box .concept-point-img {
    display: inline-block; }
    .concept .concept-inner .concept-point-box .concept-point-img .photo-caution {
      margin-top: 10px; }
  .concept .concept-inner .button-box {
    max-width: 400px;
    margin: 30px auto 0; }
  .concept .concept-inner .btn-list {
    display: flex; }
    @media screen and (max-width: 639px) {
      .concept .concept-inner .btn-list {
        flex-wrap: wrap; } }
    .concept .concept-inner .btn-list li {
      width: 50%;
      margin-left: -1px; }
      @media screen and (max-width: 639px) {
        .concept .concept-inner .btn-list li {
          width: 100%;
          margin-left: 0px;
          margin-top: -1px; } }
  .concept .concept-inner .cooming_soon {
    pointer-events: none; }
    .concept .concept-inner .cooming_soon a {
      color: #c0c4c3;
      border-color: #c0c4c3; }
      .concept .concept-inner .cooming_soon a:before {
        background: #c0c4c3; }
      .concept .concept-inner .cooming_soon a:after {
        background: #c0c4c3; }
.concept #main {
  background: url("../imgs/concept/mainvisual-bg.png") #f7f6f4;
  background-position: center;
  background-size: cover; }
  @media screen and (max-width: 639px) {
    .concept #main {
      background: url("../imgs/concept/mainvisual-bg_sp.jpg") #f7f6f4;
      background-position: center;
      background-size: cover; }
      .concept #main .concept-inner {
        padding: 0; } }
.concept #point01 {
  background: url("../imgs/concept/point1-bg.jpg");
  background-position: center;
  background-size: cover; }
.concept #point02 {
  background: url("../imgs/concept/point2-bg.jpg");
  background-position: center;
  background-size: cover; }
  .concept #point02 .concept-inner {
    justify-content: flex-end; }
.concept #point03 {
  background: url("../imgs/concept/point3-bg.jpg");
  background-position: center;
  background-size: cover; }
.concept #point04 {
  background: url("../imgs/concept/point4-bg.jpg");
  background-position: center;
  background-size: cover; }
  .concept #point04 .concept-inner {
    justify-content: flex-start; }
.concept #conceptvisual {
  padding: 0px 0px; }
  .concept #conceptvisual:after {
    content: "外観完成予想CG";
    color: #ffffff;
    text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
    position: absolute;
    right: 15px;
    bottom: 10px;
    font-size: 13px;
    font-weight: bold; }
  .concept #conceptvisual .concept-inner {
    padding: 0px 0px;
    margin: 0;
    max-width: 100%; }

/* ==========================================================================
   bloomoi
   ========================================================================== */
.bloomoi-content .blm_logo01 {
  text-align: center; }
  .bloomoi-content .blm_logo01 img {
    max-width: 276px; }
  @media screen and (max-width: 639px) {
    .bloomoi-content .blm_logo01 img {
      width: 40vw; } }
.bloomoi-content .blm_heading01a, .bloomoi-content .blm_heading01b, .bloomoi-content .blm_heading01c {
  text-align: center;
  margin-top: 80px;
  margin-bottom: 40px;
  padding-bottom: 40px;
  position: relative; }
  @media screen and (max-width: 639px) {
    .bloomoi-content .blm_heading01a, .bloomoi-content .blm_heading01b, .bloomoi-content .blm_heading01c {
      margin-top: 60px; } }
  .bloomoi-content .blm_heading01a img, .bloomoi-content .blm_heading01b img, .bloomoi-content .blm_heading01c img {
    max-width: 560px; }
  .bloomoi-content .blm_heading01a:after, .bloomoi-content .blm_heading01b:after, .bloomoi-content .blm_heading01c:after {
    content: "";
    background-color: #000;
    display: block;
    width: 72px;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -36px; }
.bloomoi-content .blm_text {
  max-width: 560px;
  margin: 0 auto 80px;
  line-height: 2;
  letter-spacing: 1px; }
  @media screen and (max-width: 639px) {
    .bloomoi-content .blm_text {
      margin-bottom: 40px; } }
.bloomoi-content .blm_text-mb-min {
  margin-bottom: 40px; }
.bloomoi-content .blm_blueConcept {
  background: #7dcaca;
  text-align: center;
  padding: 0 20px; }
  .bloomoi-content .blm_blueConcept .blm_heading02 {
    padding: 24px 0 40px 0; }
    .bloomoi-content .blm_blueConcept .blm_heading02 img {
      max-width: 560px; }
  .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 {
    max-width: 960px;
    margin: 0 auto 0;
    padding-bottom: 75px; }
    @media screen and (max-width: 639px) {
      .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 {
        padding-bottom: 40px; } }
    .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 639px) {
        .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul {
          flex-wrap: wrap;
          justify-content: center; } }
      .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul li {
        max-width: 300px;
        width: 32%; }
        @media screen and (max-width: 639px) {
          .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul li {
            width: 80%;
            margin-bottom: 30px;
            max-width: 100%; }
            .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul li:last-child {
              margin-bottom: 0px; } }
.bloomoi-content .blm_more--box {
  padding: 0 20px;
  max-width: 700px;
  margin: 0 auto 80px; }
  @media screen and (max-width: 639px) {
    .bloomoi-content .blm_more--box {
      margin-bottom: 40px; } }
  .bloomoi-content .blm_more--box .blm_more--box--inner {
    position: relative; }
    .bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--bg {
      background: #000000;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
      opacity: 0;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--bg.blm_more--bg--on {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
      opacity: 0.3;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--btn {
      position: absolute;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
      opacity: 0.5;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      top: 50%;
      left: 50px;
      margin-top: 40px; }
      @media screen and (max-width: 639px) {
        .bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--btn {
          top: 50%;
          left: 4vw;
          margin-top: 6vw;
          width: 20vw; } }
      .bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--btn img {
        max-width: 110px; }
      .bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--btn:hover {
        filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
        opacity: 1; }
.bloomoi-content .blm_sns_list {
  padding: 0 20px;
  max-width: 560px;
  margin: 0 auto 80px; }
  @media screen and (max-width: 639px) {
    .bloomoi-content .blm_sns_list {
      margin-bottom: 40px; } }
  .bloomoi-content .blm_sns_list ul {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 639px) {
      .bloomoi-content .blm_sns_list ul {
        flex-wrap: wrap;
        justify-content: center; } }
    .bloomoi-content .blm_sns_list ul li {
      max-width: 180px;
      width: 32.5%; }
      @media screen and (max-width: 639px) {
        .bloomoi-content .blm_sns_list ul li {
          width: 60%;
          margin-bottom: 20px;
          max-width: 100%; }
          .bloomoi-content .blm_sns_list ul li:last-child {
            margin-bottom: 0px; } }
      .bloomoi-content .blm_sns_list ul li a {
        display: block;
        background: #666666;
        position: relative;
        padding-bottom: 4px; }
        .bloomoi-content .blm_sns_list ul li a:after {
          content: '';
          display: block;
          position: absolute;
          z-index: 1;
          height: 4px;
          width: 100%;
          bottom: 0;
          background: #72c4ce;
          -moz-transition: all 0.5s ease;
          -o-transition: all 0.5s ease;
          -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease; }
        .bloomoi-content .blm_sns_list ul li a:hover:after {
          content: '';
          display: block;
          position: absolute;
          z-index: 1;
          height: 100%;
          width: 100%;
          bottom: 0;
          background: #72c4ce;
          -moz-transition: all 0.5s ease;
          -o-transition: all 0.5s ease;
          -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease; }
        .bloomoi-content .blm_sns_list ul li a img {
          position: relative;
          z-index: 10; }
.bloomoi-content .blm_archive .blm_archive--inner {
  margin-bottom: 40px; }
.bloomoi-content .blm_archive .cap-list {
  margin-bottom: 0; }
  .bloomoi-content .blm_archive .cap-list li {
    color: #000 !important;
    font-size: 12px; }

#ourhome_wp {
  text-align: center;
  margin-bottom: 50px; }
  #ourhome_wp .blm_line {
    display: flex;
    text-align: center;
    background-image: url("../imgs/bloomoi/line.png"), url("../imgs/bloomoi/line.png");
    background-repeat: repeat-x, repeat-x;
    background-position: bottom, top;
    padding: 30px 0 40px 0;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px; }
    @media screen and (max-width: 639px) {
      #ourhome_wp .blm_line {
        display: block; } }
    #ourhome_wp .blm_line p {
      text-align: left;
      width: 60%;
      line-height: 180%;
      text-align: justify;
      text-justify: inter-ideograph; }
      @media screen and (max-width: 639px) {
        #ourhome_wp .blm_line p {
          margin: 0 auto 0 auto;
          margin: 20px auto 0 auto;
          width: 90%; } }
  @media screen and (max-width: 639px) {
    #ourhome_wp .ourhome-link {
      margin: 0 10px; } }
  #ourhome_wp .ourhome-link {
    margin-bottom: 30px; }
  #ourhome_wp .ourhome-link a {
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    #ourhome_wp .ourhome-link a:hover {
      opacity: 0.7; }
  @media screen and (max-width: 639px) {
    #ourhome_wp .ourhome-link img {
      width: 100%;
      margin: 0 auto;
      display: block; } }
  #ourhome_wp .blm_our_logo {
    width: 30%;
    max-width: 234px;
    margin: 0 30px 0 0; }
    @media screen and (max-width: 639px) {
      #ourhome_wp .blm_our_logo {
        margin: 0 auto 0 auto;
        width: 50%; } }
    #ourhome_wp .blm_our_logo img {
      width: 100%;
      max-width: 234px; }
  #ourhome_wp .plan_txt2 {
    font-size: 200%;
    margin: 30px 0;
    color: #4c483b; }
    @media screen and (max-width: 639px) {
      #ourhome_wp .plan_txt2 {
        font-size: 5.6vw; } }
  #ourhome_wp .point_txt {
    padding: 0 0 0 40px;
    text-align: left;
    color: #4c483b;
    font-size: 18px;
    position: relative; }
    @media screen and (max-width: 639px) {
      #ourhome_wp .point_txt {
        width: auto;
        margin: 0 auto;
        display: inline-block;
        font-size: 4.5vw;
        padding: 0 0 0 7.7vw; } }
    #ourhome_wp .point_txt li {
      margin-bottom: 15px;
      margin-top: 15px; }
    #ourhome_wp .point_txt img {
      width: 35px;
      vertical-align: middle;
      position: absolute;
      left: 0px; }
      @media screen and (max-width: 639px) {
        #ourhome_wp .point_txt img {
          width: 7vw; } }
  #ourhome_wp .plan_txt {
    border: solid 1px #70c7d1;
    text-align: left;
    padding: 20px 30px;
    display: inline-block; }
    @media screen and (max-width: 639px) {
      #ourhome_wp .plan_txt {
        display: block;
        margin: 0 10px;
        padding: 10px 10px;
        font-size: 3.4vw; } }
    #ourhome_wp .plan_txt .size1 {
      font-size: 300%; }
    #ourhome_wp .plan_txt .size2 {
      font-size: 250%; }
    #ourhome_wp .plan_txt .size3 {
      font-size: 200%; }
    #ourhome_wp .plan_txt .size4 {
      font-size: 150%; }
  #ourhome_wp .plan_flex {
    display: flex;
    justify-content: center;
    margin-top: 45px; }
    @media screen and (max-width: 639px) {
      #ourhome_wp .plan_flex {
        display: block; } }
  #ourhome_wp .ourhome-pops_wp {
    position: relative; }
    #ourhome_wp .ourhome-pops_wp ul {
      position: absolute;
      z-index: 50;
/*      top: 24px;*/
      top:-56px;
      left: -509px;
      width: 621px;
      background-color: #fff; }
      #ourhome_wp .ourhome-pops_wp ul li {
        box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.16);
        display: none; }
  #ourhome_wp .ourhome-wrap {
    position: relative;
    width: 100%;
    height: auto; }
    #ourhome_wp .ourhome-wrap .ourhome {
      margin: 0 auto; }
  #ourhome_wp .ourhome-pops2 {
    display: none; }
  #ourhome_wp .ourhome-pops2 a {
    display: none; }
  #ourhome_wp .ourhome-wrap .ourhome-hits,
  #ourhome_wp .ourhome-wrap .ourhome-pops {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: 985px; }
  #ourhome_wp .ourhome-wrap .ourhome-hits a {
    display: block;
    position: absolute;
    width: 27px;
    z-index: 10; }
  #ourhome_wp .ourhome-wrap .ourhome-hits a img {
    width: 100%; }
  #ourhome_wp .ourhome-wrap .ourhome-hits a.a {
    left: 31.5%;
    top: 47.4%; }
  #ourhome_wp .ourhome-wrap .ourhome-hits a.b {
    left: 26.5%;
    top: 68.2%; }
  #ourhome_wp .ourhome-wrap .ourhome-hits a.c {
    left: 51.7%;
    top: 21.1%; }
  #ourhome_wp .ourhome-wrap .ourhome-hits a.d {
    left: 45.2%;
    top: 61%; }
  #ourhome_wp .ourhome-wrap .ourhome-pops li {
    display: none;
    max-width: 416px;
    position: absolute;
    left: 595px;
    top: 240px;
    z-index: 5; }
  #ourhome_wp .ourhome-wrap .ourhome-pops li img {
    width: 100%; }
  #ourhome_wp .popbg {
    display: none; }
  @media only screen and (max-width: 960px) {
    #ourhome_wp .ourhome-block ul.ourhome-info li .title span br {
      display: none; }
    #ourhome_wp .ourhome-wrap .ourhome-pops li {
      max-width: 44.6%;
      left: 2%;
      top: 9%; } }
  @media only screen and (max-width: 640px) {
    #ourhome_wp .ourhome-block {
      padding-top: 40px; }
    #ourhome_wp .ourhome-block ul.ourhome-info li .title span {
      font-size: 16px; }
    #ourhome_wp .ourhome-block ul.ourhome-info li .title span br {
      display: inline-block; }
    #ourhome_wp .ourhome-block ul.ourhome-info {
      margin-top: 20px;
      overflow: hidden; }
    #ourhome_wp .ourhome-block ul.ourhome-info li {
      width: 100%;
      margin-left: 0;
      margin-bottom: 20px;
      float: left; }
    #ourhome_wp .popbg {
      display: block;
      background: rgba(0, 0, 0, 0.7);
      width: 100%;
      height: 100%;
      position: fixed;
      left: 0;
      top: 0;
      z-index: 9800; }
    #ourhome_wp .ourhome-wrap .ourhome-hits a {
      width: 6.6%; }
    #ourhome_wp .ourhome-wrap .ourhome-hits a.a {
      left: 33.4%;
      top: 45.4%; }
    #ourhome_wp .ourhome-wrap .ourhome-hits a.b {
      left: 25.5%;
      top: 66.5%; }
    #ourhome_wp .ourhome-wrap .ourhome-hits a.c {
      left: 47%;
      top: 20.1%; }
    #ourhome_wp .ourhome-wrap .ourhome-hits a.d {
      left: 42.2%;
      top: 59.5%; }
    #ourhome_wp .ourhome-pops2 {
      display: none;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 990000;
      top: 140vw; }
      #ourhome_wp .ourhome-pops2.cltxt {
        top: 303vw; }
    #ourhome_wp .ourhome-pops2 .pop-in {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      width: 100%;
      height: 100%;
      overflow: scroll; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups {
      max-width: 83%;
      margin-bottom: 0px;
      position: relative;
      z-index: 9910; }
    #ourhome_wp .ourhome-pops2 .pop-in .pop {
      display: none; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups .btn-close {
      position: absolute;
      right: 0;
      top: -30px; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups .btn-close img {
      max-width: 22px; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups .btn-close span:before {
      display: block;
      content: "";
      position: absolute;
      top: 50%;
      left: -19px;
      width: 40px;
      height: 1px;
      margin-top: -1px;
      background: #fff; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups .nav-popup {
      margin-top: 10px;
      width: 100%;
      overflow: hidden; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups .nav-popup li.btn-back {
      float: left; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups .nav-popup li.btn-next {
      float: right; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups .nav-popup li.btn-back img {
      max-width: 74px; }
    #ourhome_wp .ourhome-pops2 .pop-in .popups .nav-popup li.btn-next img {
      max-width: 77px; }
    #ourhome_wp .ourhome-block ul.ourhome-info li .title,
    #ourhome_wp .ourhome-block ul.ourhome-info li .text {
      min-height: auto !important; } }
  #ourhome_wp p.hanrei small {
    font-size: 11px;
    padding: 15px 0 0 0;
    display: block; }

#container.design .sub-page--visual {
  background: url(../imgs/design/MV-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }
  #container.design .sub-page--visual .sub-page--visual--inner h1 {
    padding: 20px 20px 20px 0; }
#container.design .section_09 .column-2-custom-rich,
#container.design .section_07 .column-2-custom-rich,
#container.design .section_08 .column-2-custom-rich,
#container.design .section_02 .column-2-custom-rich {
  align-items: center; }
  #container.design .section_09 .column-2-custom-rich .column-2-full--inner,
  #container.design .section_07 .column-2-custom-rich .column-2-full--inner,
  #container.design .section_08 .column-2-custom-rich .column-2-full--inner,
  #container.design .section_02 .column-2-custom-rich .column-2-full--inner {
    margin: 20px 0; }
#container.design .section_03 {
  margin: 50px auto; }
#container.design .section_04,
#container.design .section_06 {
  min-width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center; }
  #container.design .section_04 .visual-block,
  #container.design .section_06 .visual-block {
    margin: 0 auto;
    max-width: 1440px; }
  #container.design .section_04 img,
  #container.design .section_06 img {
    margin: 0 auto; }
#container.design .section_05 {
  margin: 50px auto; }
#container.design .section_07 {
  margin: 120px auto; }
  @media screen and (max-width: 767px) {
    #container.design .section_07 {
      padding: 20px 0 30px 0;
      margin: 0 auto; } }
  #container.design .section_07 .column-full--img {
    margin-bottom: 20px; }
@media screen and (max-width: 639px) {
  #container.design .section_08 .column-2-full--textbox {
    padding-right: 0; } }
#container.design .section_09 {
  margin: 120px auto; }
  @media screen and (max-width: 767px) {
    #container.design .section_09 {
      padding: 20px 0 30px 0;
      margin: 0 auto; } }
  #container.design .section_09 h2 {
    margin-top: 60px; }
    @media screen and (max-width: 767px) {
      #container.design .section_09 h2 {
        margin-top: 20px; } }
#container.design .shikichi-wrap {
  position: relative;
  width: 100%;
  height: auto; }
  #container.design .shikichi-wrap .shikichi {
    margin: 0 auto; }
#container.design .shikichi-pops2 {
  display: none; }
#container.design .shikichi-pops2 a {
  display: none; }
#container.design .shikichi-wrap .shikichi-hits,
#container.design .shikichi-wrap .shikichi-pops {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 985px; }
#container.design .shikichi-wrap .shikichi-hits a {
  display: block;
  position: absolute;
  width: 4.125%;
  z-index: 10; }
#container.design .shikichi-wrap .shikichi-hits a img {
  width: 100%; }
#container.design .shikichi-wrap .shikichi-hits a.a {
  left: 44.5%;
  top: 27.4%; }
#container.design .shikichi-wrap .shikichi-hits a.b {
  left: 48.5%;
  top: 35.2%; }
#container.design .shikichi-wrap .shikichi-hits a.c {
  left: 72.7%;
  top: 55.1%; }
#container.design .shikichi-wrap .shikichi-hits a.d {
  left: 55.2%;
  top: 56.8%; }
#container.design .shikichi-wrap .shikichi-hits a.e {
  left: 55.1%;
  top: 64.4%; }
#container.design .shikichi-wrap .shikichi-pops li {
  display: none;
  max-width: 416px;
  position: absolute;
  left: 595px;
  top: 240px;
  z-index: 5; }
#container.design .shikichi-wrap .shikichi-pops li img {
  width: 100%; }
#container.design .popbg {
  display: none; }
@media only screen and (max-width: 960px) {
  #container.design .shikichi-block ul.shikichi-info li .title span br {
    display: none; }
  #container.design .shikichi-wrap .shikichi-pops li {
    max-width: 44.6%;
    left: 2%;
    top: 9%; } }
@media only screen and (max-width: 640px) {
  #container.design {
    /*.shikichi-pops2 .pop-in .popups .btn-close span {
    	display: inline-block;
    	position: relative;
    	padding: 0;
    	width: 1px;
    	height: 40px;
    	background: #fff;
    	transform: rotate(45deg);
    }*/
    /*.shikichi-pops2 .pop-in .popups .nav-popup li {
    	width: 60px;
    	height: 30px;
    	border: 1px solid #fff;
    	position: relative;
    }*/
    /*.shikichi-pops2 .pop-in .popups .nav-popup li.left:before,
    .shikichi-pops2 .pop-in .popups .nav-popup li.right:before {
    	content: "";
    	width: 10px;
    	height: 10px;
    	position: absolute;
    	top: 50%;
    	margin-top: -6px;
    }*/
    /*.shikichi-pops2 .pop-in .popups .nav-popup li.left:before {
    	border-left: 1px solid #fff;
    	border-top: 1px solid #fff;
    	left: 45%;
    	transform: rotate(-45deg);
    }
    .shikichi-pops2 .pop-in .popups .nav-popup li.right:before {
    	border-right: 1px solid #fff;
    	border-top: 1px solid #fff;
    	right: 45%;
    	transform: rotate(45deg);
    }*/
    /*.shikichi-pops2 img {
    	display: none;
    	width: 90%;
    	position: fixed;
    	left: 5%;
    	top: 5%;
    	-moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    	z-index: 9900;
    }*/ }
    #container.design .shikichi-block {
      padding-top: 40px; }
    #container.design .shikichi-block ul.shikichi-info li .title span {
      font-size: 16px; }
    #container.design .shikichi-block ul.shikichi-info li .title span br {
      display: inline-block; }
    #container.design .shikichi-block ul.shikichi-info {
      margin-top: 20px;
      overflow: hidden; }
    #container.design .shikichi-block ul.shikichi-info li {
      width: 100%;
      margin-left: 0;
      margin-bottom: 20px;
      float: left; }
    #container.design .popbg {
      display: block;
      background: rgba(0, 0, 0, 0.7);
      width: 100%;
      height: 100%;
      position: fixed;
      left: 0;
      top: 0;
      z-index: 9800; }
    #container.design .shikichi-wrap .shikichi-hits a {
      width: 8.125%; }
    #container.design .shikichi-wrap .shikichi-hits a.a {
      left: 40.5%;
      top: 25.4%; }
    #container.design .shikichi-wrap .shikichi-hits a.b {
      left: 44.5%;
      top: 35.2%; }
    #container.design .shikichi-wrap .shikichi-hits a.c {
      left: 76.4%;
      top: 53.1%; }
    #container.design .shikichi-wrap .shikichi-hits a.d {
      left: 53.2%;
      top: 54.8%; }
    #container.design .shikichi-wrap .shikichi-hits a.e {
      left: 52.1%;
      top: 64.4%; }
    #container.design .shikichi-pops2 {
      display: none;
      width: 100%;
      height: 100%;
      position: fixed;
      left: 0;
      top: 0;
      z-index: 9900; }
    #container.design .shikichi-pops2 .pop-in {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      width: 100%;
      height: 100%; }
    #container.design .shikichi-pops2 .pop-in .popups {
      max-width: 90%;
      margin-bottom: 30px;
      position: relative;
      z-index: 9910; }
    #container.design .shikichi-pops2 .pop-in .pop {
      display: none; }
    #container.design .shikichi-pops2 .pop-in .popups .btn-close {
      position: absolute;
      right: 0;
      top: -30px; }
    #container.design .shikichi-pops2 .pop-in .popups .btn-close img {
      max-width: 22px; }
    #container.design .shikichi-pops2 .pop-in .popups .btn-close span:before {
      display: block;
      content: "";
      position: absolute;
      top: 50%;
      left: -19px;
      width: 40px;
      height: 1px;
      margin-top: -1px;
      background: #fff; }
    #container.design .shikichi-pops2 .pop-in .popups .nav-popup {
      margin-top: 10px;
      width: 100%;
      overflow: hidden; }
    #container.design .shikichi-pops2 .pop-in .popups .nav-popup li.btn-back {
      float: left; }
    #container.design .shikichi-pops2 .pop-in .popups .nav-popup li.btn-next {
      float: right; }
    #container.design .shikichi-pops2 .pop-in .popups .nav-popup li.btn-back img {
      max-width: 74px; }
    #container.design .shikichi-pops2 .pop-in .popups .nav-popup li.btn-next img {
      max-width: 77px; }
    #container.design .shikichi-block ul.shikichi-info li .title,
    #container.design .shikichi-block ul.shikichi-info li .text {
      min-height: auto !important; } }

@media screen and (max-width: 767px) {
  .section_08 .wrap-mini--1100,
  .section_02 .wrap-mini--1100 {
    padding-left: 0px;
    padding-right: 0px; } }

@media screen and (max-width: 767px) {
  .column-2-custom-rich .column-2-full--inner .column-2-full--textbox {
    padding: 0px 0px 0 0 !important; } }

.section_07 .column-2-full {
  flex-wrap: wrap; }
  .section_07 .column-2-full h2 {
    width: 100%;
    display: block;
    margin-bottom: 20px; }

.main-visual-caution.nowrap {
  white-space: nowrap;
  display: block;
  width: auto;
  width: 100%;
  text-align: right; }

html {
  font-size: 100%;
  font-family: 'Sawarabi Mincho',"游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
  @media screen and (max-width: 639px) {
    html {
      min-height: 0; } }

* {
  font-family: 'Sawarabi Mincho',"游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important; }

sup {
  font-size: 10px;
  vertical-align: text-top; }

/* ==========================================================================
   mar/pad
   ========================================================================== */
.mt--0 {
  margin-top: 0px !important; }

.mt--5 {
  margin-top: 5px !important; }

.mt--10 {
  margin-top: 10px !important; }

.mt--20 {
  margin-top: 20px !important; }

.mt--30 {
  margin-top: 30px !important; }

.mt--40 {
  margin-top: 40px !important; }

.mt--50 {
  margin-top: 50px !important; }

.mt--60 {
  margin-top: 60px !important; }

.mt--70 {
  margin-top: 70px !important; }

.mt--80 {
  margin-top: 80px !important; }

.mt--90 {
  margin-top: 90px !important; }

.mt--100 {
  margin-top: 100px !important; }

.mb--0 {
  margin-bottom: 0px !important; }

.mb--5 {
  margin-bottom: 5px !important; }

.mb--10 {
  margin-bottom: 10px !important; }

.mb--20 {
  margin-bottom: 20px !important; }

.mb--30 {
  margin-bottom: 30px !important; }

.mb--40 {
  margin-bottom: 40px !important; }

.mb--50 {
  margin-bottom: 50px !important; }

.mb--60 {
  margin-bottom: 60px !important; }

.mb--70 {
  margin-bottom: 70px !important; }

.mb--80 {
  margin-bottom: 80px !important; }

.mb--90 {
  margin-bottom: 90px !important; }

.mb--100 {
  margin-bottom: 100px !important; }

.mr--0 {
  margin-right: 0px !important; }

.mr--5 {
  margin-right: 5px !important; }

.mr--10 {
  margin-right: 10px !important; }

.mr--20 {
  margin-right: 20px !important; }

.mr--30 {
  margin-right: 30px !important; }

.mr--40 {
  margin-right: 40px !important; }

.mr--50 {
  margin-right: 50px !important; }

.mr--60 {
  margin-right: 60px !important; }

.mr--70 {
  margin-right: 70px !important; }

.mr--80 {
  margin-right: 80px !important; }

.mr--90 {
  margin-right: 90px !important; }

.mr--100 {
  margin-right: 100px !important; }

.ml--0 {
  margin-left: 0px !important; }

.ml--5 {
  margin-left: 5px !important; }

.ml--10 {
  margin-left: 10px !important; }

.ml--20 {
  margin-left: 20px !important; }

.ml--30 {
  margin-left: 30px !important; }

.ml--40 {
  margin-left: 40px !important; }

.ml--50 {
  margin-left: 50px !important; }

.ml--60 {
  margin-left: 60px !important; }

.ml--70 {
  margin-left: 70px !important; }

.ml--80 {
  margin-left: 80px !important; }

.ml--90 {
  margin-left: 90px !important; }

.ml--100 {
  margin-left: 100px !important; }

.pt--0 {
  padding-top: 0px !important; }

.pt--5 {
  padding-top: 5px !important; }

.pt--10 {
  padding-top: 10px !important; }

.pt--15 {
  padding-top: 15px !important; }

.pt--20 {
  padding-top: 20px !important; }

.pt--30 {
  padding-top: 30px !important; }

.pt--40 {
  padding-top: 40px !important; }

.pt--50 {
  padding-top: 50px !important; }

.pt--60 {
  padding-top: 60px !important; }

.pt--70 {
  padding-top: 70px !important; }

.pt--80 {
  padding-top: 80px !important; }

.pt--90 {
  padding-top: 90px !important; }

.pt--100 {
  padding-top: 100px !important; }

.pb--0 {
  padding-bottom: 0px !important; }

.pb--5 {
  padding-bottom: 5px !important; }

.pb--10 {
  padding-bottom: 10px !important; }

.pb--20 {
  padding-bottom: 20px !important; }

.pb--30 {
  padding-bottom: 30px !important; }

.pb--40 {
  padding-bottom: 40px !important; }

.pb--50 {
  padding-bottom: 50px !important; }

.pb--60 {
  padding-bottom: 60px !important; }

.pb--70 {
  padding-bottom: 70px !important; }

.pb--80 {
  padding-bottom: 80px !important; }

.pb--90 {
  padding-bottom: 90px !important; }

.pb--100 {
  padding-bottom: 100px !important; }

.pr--0 {
  padding-right: 0px !important; }

.pr--5 {
  padding-right: 5px !important; }

.pr--10 {
  padding-right: 10px !important; }

.pr--20 {
  padding-right: 20px !important; }

.pr--30 {
  padding-right: 30px !important; }

.pr--40 {
  padding-right: 40px !important; }

.pr--50 {
  padding-right: 50px !important; }

.pr--60 {
  padding-right: 60px !important; }

.pr--70 {
  padding-right: 70px !important; }

.pr--80 {
  padding-right: 80px !important; }

.pr--90 {
  padding-right: 90px !important; }

.pr--100 {
  padding-right: 100px !important; }

.pl--0 {
  padding-left: 0px !important; }

.pl--5 {
  padding-left: 5px !important; }

.pl--10 {
  padding-left: 10px !important; }

.pl--20 {
  padding-left: 20px !important; }

.pl--30 {
  padding-left: 30px !important; }

.pl--40 {
  padding-left: 40px !important; }

.pl--50 {
  padding-left: 50px !important; }

.pl--60 {
  padding-left: 60px !important; }

.pl--70 {
  padding-left: 70px !important; }

.pl--80 {
  padding-left: 80px !important; }

.pl--90 {
  padding-left: 90px !important; }

.pl--100 {
  padding-left: 100px !important; }

/* ==========================================================================
   common
   ========================================================================== */
.wrap-mini {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center; }

.cap-list {
  margin-bottom: 80px; }
  @media screen and (max-width: 639px) {
    .cap-list {
      margin-bottom: 40px;
      padding: 0 20px; } }
  .cap-list li {
    font-size: 12px;
    color: #777777;
    text-indent: -12px;
    padding-left: 12px; }

.cap {
  font-size: 12px;
  color: #777777;
  text-indent: -12px;
  padding-left: 12px;
  font-family: 'Sawarabi Mincho', sans-serif; }

img {
  max-width: 100%; }

.wrap {
  max-width: 1110px; }

.wrap-mini--1100 {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px; }

.wrap-mini--1000 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px; }

.sp {
  display: none; }

@media screen and (max-width: 639px) {
  .pc {
    display: none !important; }

  .sp {
    display: block; } }
.align-left {
  text-align: left !important; }

.align-center {
  text-align: center !important; }

.align-right {
  text-align: right !important; }

.align-right--pc {
  text-align: right; }
  @media screen and (max-width: 767px) {
    .align-right--pc {
      text-align: left; } }

/* ==========================================================================
   title
   ========================================================================== */
.sectionTtl {
  text-align: center;
  margin-top: 100px;
  position: relative; }
  @media screen and (max-width: 639px) {
    .sectionTtl {
      margin-top: 50px; } }
  .sectionTtl h3 {
    display: inline-block;
    color: #004165;
    font-size: 30px;
    line-height: 1.2;
    background: #ffffff;
    position: relative;
    z-index: 1;
    padding: 0 30px; }
    @media screen and (max-width: 639px) {
      .sectionTtl h3 {
        font-size: 24px;
        line-height: 1.5; } }
    .sectionTtl h3 span {
      color: #919fa7;
      display: block;
      font-size: 14px; }
  .sectionTtl .black {
    color: #4c483b !important; }
  .sectionTtl:before {
    content: "";
    display: block;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background: #c0c4c3;
    position: absolute; }
  .sectionTtl strong {
    font-size: 40px; }
    @media screen and (max-width: 639px) {
      .sectionTtl strong {
        font-size: 30px; } }

/* ==========================================================================
   文字 装飾
   ========================================================================== */
.dl-style01 {
  text-align: center;
  margin-top: 15px; }
  .dl-style01 dt {
    font-size: 15px; }
  .dl-style01 dd {
    font-size: 16px; }
    .dl-style01 dd span {
      font-size: 25px; }
      .dl-style01 dd span strong {
        font-size: 36px; }
    .dl-style01 dd .strong-light {
      font-size: 25px; }

.dl-style02 {
  text-align: center;
  margin-top: 15px; }
  .dl-style02 dt {
    font-size: 18px; }
  .dl-style02 dd {
    font-size: 14px; }
    .dl-style02 dd span {
      font-size: 14px; }
      .dl-style02 dd span strong {
        font-size: 16px; }
    .dl-style02 dd .strong-light {
      font-size: 16px; }

.copyTtl-style01 {
  margin-top: 50px; }

.copy-style--clear {
  margin-top: 60px;
  text-align: center;
  color: #898989;
  font-size: 30px; }
  @media screen and (max-width: 639px) {
    .copy-style--clear {
      font-size: 5.5vw; } }

/* ==========================================================================
   レイアウト系
   ========================================================================== */
.column-2-full {
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 639px) {
    .column-2-full {
      flex-wrap: wrap; } }
  .column-2-full .column-2-full--inner {
    width: 50%;
    position: relative;
    overflow: hidden; }
    @media screen and (max-width: 639px) {
      .column-2-full .column-2-full--inner {
        width: 100%; } }
    .column-2-full .column-2-full--inner .caption-text {
      color: #ffffff;
      text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73);
      position: absolute;
      right: 15px;
      bottom: 10px;
      font-size: 13px;
      font-weight: bold; }
      @media screen and (max-width: 639px) {
        .column-2-full .column-2-full--inner .caption-text {
          font-size: 10px; } }
    .column-2-full .column-2-full--inner .column-2-full--textbox {
      max-width: 450px;
      display: inline-block;
      text-align: left;
      padding: 20px 50px; }
      @media screen and (max-width: 639px) {
        .column-2-full .column-2-full--inner .column-2-full--textbox {
          padding: 20px;
          max-width: 100%; } }
    .column-2-full .column-2-full--inner .column-text {
      margin-top: 30px;
      line-height: 2; }
    @media screen and (max-width: 639px) {
      .column-2-full .column-2-full--inner .column-full--img img {
        width: 100%; } }

.column-2-full--reverse {
  flex-direction: row-reverse; }
  .column-2-full--reverse .column-2-full--inner {
    text-align: right; }

.column-2-custom-rich--wrap {
  position: relative; }
  .column-2-custom-rich--wrap:before {
    content: "";
    width: 1px;
    height: 100px;
    background: #004165;
    display: block;
    position: absolute;
    top: -40px;
    left: -40px; }
    @media screen and (max-width: 639px) {
      .column-2-custom-rich--wrap:before {
        left: -10px;
        top: -20px; } }
  .column-2-custom-rich--wrap:after {
    content: "";
    width: 1px;
    height: 100px;
    background: #004165;
    display: block;
    position: absolute;
    bottom: -40px;
    right: -40px; }
    @media screen and (max-width: 639px) {
      .column-2-custom-rich--wrap:after {
        right: -10px;
        bottom: -20px; } }

.column-2-custom-rich {
  align-items: stretch;
  position: relative;
  padding: 30px 0; }
  @media screen and (max-width: 639px) {
    .column-2-custom-rich {
      margin-top: 70px !important;
      padding: 20px 0; } }
  .column-2-custom-rich:before {
    content: "";
    width: 200px;
    height: 1px;
    background: #004165;
    display: block;
    position: absolute;
    top: 0;
    left: -80px; }
    @media screen and (max-width: 639px) {
      .column-2-custom-rich:before {
        left: -20px; } }
  .column-2-custom-rich:after {
    content: "";
    width: 200px;
    height: 1px;
    background: #004165;
    display: block;
    position: absolute;
    bottom: 0;
    right: -80px; }
    @media screen and (max-width: 639px) {
      .column-2-custom-rich:after {
        right: -20px; } }
  .column-2-custom-rich .column-2-full--inner .column-2-full--textbox {
    padding: 0px 50px 0 0;
    max-width: 500px; }

.column-3-full {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px -1.5% 0; }
  @media screen and (max-width: 767px) {
    .column-3-full {
      margin: 20px 0 0; } }
  .column-3-full .column-3-full--inner {
    width: 31%;
    padding: 0 1% 2%; }
    @media screen and (max-width: 767px) {
      .column-3-full .column-3-full--inner {
        width: 100%;
        padding: 0 0 2%; } }
    .column-3-full .column-3-full--inner img {
      width: 100%; }

.column-2-gallery {
  margin-top: 40px; }
  .column-2-gallery ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .column-2-gallery ul li {
      width: 48%;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .column-2-gallery ul li {
          width: 100%; } }
      .column-2-gallery ul li .column-full--img img {
        width: 100%; }

.column-2-neutral {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 639px) {
    .column-2-neutral {
      display: block; } }
  .column-2-neutral .column-2-neutral-inner {
    max-width: 50%; }
    @media screen and (max-width: 639px) {
      .column-2-neutral .column-2-neutral-inner {
        max-width: 100%; } }
    .column-2-neutral .column-2-neutral-inner:first-child {
      padding-right: 20px; }
      @media screen and (max-width: 639px) {
        .column-2-neutral .column-2-neutral-inner:first-child {
          padding-right: 0px; } }

/* ==========================================================================
   ボタン系
   ========================================================================== */
.btn-column {
  display: flex;
  justify-content: center; }
  .btn-column li {
    margin: 0 10px; }

.button-style--neutral {
  font-size: 16px; }
  .button-style--neutral a, .button-style--neutral button {
    position: relative;
    display: block;
    text-align: center;
    border: 1px solid #004165;
    padding: 5px 60px;
    background: #ffffff;
    color: #004165;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    @media screen and (max-width: 639px) {
      .button-style--neutral a, .button-style--neutral button {
        padding: 15px 60px; } }
    .button-style--neutral a:after, .button-style--neutral button:after {
      content: "";
      right: 30px;
      bottom: 10px;
      width: 30px;
      height: 1px;
      background: #004165;
      position: absolute;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media screen and (max-width: 639px) {
        .button-style--neutral a:after, .button-style--neutral button:after {
          bottom: 15px; } }
    .button-style--neutral a:before, .button-style--neutral button:before {
      content: "";
      right: 30px;
      bottom: 14px;
      width: 15px;
      height: 1px;
      background: #004165;
      position: absolute;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      transform: rotate(30deg); }
      @media screen and (max-width: 639px) {
        .button-style--neutral a:before, .button-style--neutral button:before {
          bottom: 19px; } }
    .button-style--neutral a:hover, .button-style--neutral button:hover {
      color: #ffffff;
      background: #004165; }
      .button-style--neutral a:hover:after, .button-style--neutral button:hover:after {
        background: #ffffff;
        right: 25px;
        width: 35px; }
      .button-style--neutral a:hover:before, .button-style--neutral button:hover:before {
        background: #ffffff;
        right: 25px; }

.button-style--neutral.hover-reverse {
  font-size: 16px; }
  .button-style--neutral.hover-reverse a, .button-style--neutral.hover-reverse button {
    position: relative;
    display: block;
    text-align: center;
    border: 1px solid #004165;
    padding: 5px 60px;
    background: #004165;
    color: #ffffff;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    @media screen and (max-width: 639px) {
      .button-style--neutral.hover-reverse a, .button-style--neutral.hover-reverse button {
        padding: 15px 60px; } }
    .button-style--neutral.hover-reverse a:after, .button-style--neutral.hover-reverse button:after {
      content: "";
      right: 30px;
      bottom: 10px;
      width: 30px;
      height: 1px;
      background: #ffffff;
      position: absolute;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media screen and (max-width: 639px) {
        .button-style--neutral.hover-reverse a:after, .button-style--neutral.hover-reverse button:after {
          bottom: 15px; } }
    .button-style--neutral.hover-reverse a:before, .button-style--neutral.hover-reverse button:before {
      content: "";
      right: 30px;
      bottom: 14px;
      width: 15px;
      height: 1px;
      background: #ffffff;
      position: absolute;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      transform: rotate(30deg); }
      @media screen and (max-width: 639px) {
        .button-style--neutral.hover-reverse a:before, .button-style--neutral.hover-reverse button:before {
          bottom: 19px; } }
    .button-style--neutral.hover-reverse a:hover, .button-style--neutral.hover-reverse button:hover {
      color: #004165;
      background: #ffffff; }
      .button-style--neutral.hover-reverse a:hover:after, .button-style--neutral.hover-reverse button:hover:after {
        background: #004165;
        right: 25px;
        width: 35px; }
      .button-style--neutral.hover-reverse a:hover:before, .button-style--neutral.hover-reverse button:hover:before {
        background: #004165;
        right: 25px; }

.button-style--inline-large {
  text-align: center; }
  .button-style--inline-large a {
    display: inline-block;
    padding: 10px 100px; }

.button-style--rich {
  padding: 0;
  background-color: #ffffff;
  color: #004165;
  max-width: 346px;
  width: 100%; }
  .button-style--rich .txt {
    color: #004165;
    font-size: 14px;
    font-weight: bold;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .button-style--rich .btn {
    background: none;
    line-height: 1;
    color: #004165;
    font-size: 26px;
    width: auto;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    @media screen and (max-width: 639px) {
      .button-style--rich .btn {
        font-size: 4vw; } }
  .button-style--rich .btn-style--blue {
    position: relative;
    border: solid 2px #004165;
    padding: 15px 20px;
    display: block; }
    .button-style--rich .btn-style--blue:after {
      content: "";
      border-top: 10px solid #004165;
      border-right: 10px solid #004165;
      border-bottom: 10px solid transparent;
      border-left: 10px solid transparent;
      display: block;
      position: absolute;
      top: 3px;
      right: 3px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media screen and (max-width: 639px) {
        .button-style--rich .btn-style--blue:after {
          border-top: 6px solid #004165;
          border-right: 6px solid #004165;
          border-bottom: 6px solid transparent;
          border-left: 6px solid transparent; } }
    .button-style--rich .btn-style--blue:before {
      content: "";
      border-top: 10px solid #004165;
      border-right: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 10px solid #004165;
      display: block;
      position: absolute;
      top: 3px;
      left: 3px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media screen and (max-width: 639px) {
        .button-style--rich .btn-style--blue:before {
          border-top: 6px solid #004165;
          border-right: 6px solid transparent;
          border-bottom: 6px solid transparent;
          border-left: 6px solid #004165; } }
    .button-style--rich .btn-style--blue .btn-style--blue--inner {
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      .button-style--rich .btn-style--blue .btn-style--blue--inner:after {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid #004165;
        border-bottom: 10px solid #004165;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--blue .btn-style--blue--inner:after {
            border-top: 6px solid transparent;
            border-right: 6px solid #004165;
            border-bottom: 6px solid #004165;
            border-left: 6px solid transparent; } }
      .button-style--rich .btn-style--blue .btn-style--blue--inner:before {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #004165;
        border-left: 10px solid #004165;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--blue .btn-style--blue--inner:before {
            border-top: 6px solid transparent;
            border-right: 6px solid transparent;
            border-bottom: 6px solid #004165;
            border-left: 6px solid #004165; } }
    .button-style--rich .btn-style--blue:hover {
      opacity: 1;
      background: #004165; }
      .button-style--rich .btn-style--blue:hover .txt {
        color: #ffffff; }
      .button-style--rich .btn-style--blue:hover .btn {
        color: #ffffff; }
      .button-style--rich .btn-style--blue:hover:after {
        content: "";
        border-top: 10px solid #ffffff;
        border-right: 10px solid #ffffff;
        border-bottom: 10px solid transparent;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        top: 3px;
        right: 3px; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--blue:hover:after {
            border-top: 6px solid #ffffff;
            border-right: 6px solid #ffffff;
            border-bottom: 6px solid transparent;
            border-left: 6px solid transparent; } }
      .button-style--rich .btn-style--blue:hover:before {
        content: "";
        border-top: 10px solid #ffffff;
        border-right: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 10px solid #ffffff;
        display: block;
        position: absolute;
        top: 3px;
        left: 3px; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--blue:hover:before {
            border-top: 6px solid #ffffff;
            border-right: 6px solid transparent;
            border-bottom: 6px solid transparent;
            border-left: 6px solid #ffffff; } }
      .button-style--rich .btn-style--blue:hover .btn-style--blue--inner:after {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid #ffffff;
        border-bottom: 10px solid #ffffff;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--blue:hover .btn-style--blue--inner:after {
            border-top: 6px solid transparent;
            border-right: 6px solid #ffffff;
            border-bottom: 6px solid #ffffff;
            border-left: 6px solid transparent; } }
      .button-style--rich .btn-style--blue:hover .btn-style--blue--inner:before {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #ffffff;
        border-left: 10px solid #ffffff;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--blue:hover .btn-style--blue--inner:before {
            border-top: 6px solid transparent;
            border-right: 6px solid transparent;
            border-bottom: 6px solid #ffffff;
            border-left: 6px solid #ffffff; } }
  .button-style--rich .btn-style--blue-mini {
    position: relative;
    border: solid 2px #004165;
    padding: 15px 20px;
    display: block; }
    .button-style--rich .btn-style--blue-mini:after {
      content: "";
      border-top: 7px solid #004165;
      border-right: 7px solid #004165;
      border-bottom: 7px solid transparent;
      border-left: 7px solid transparent;
      display: block;
      position: absolute;
      top: 3px;
      right: 3px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .button-style--rich .btn-style--blue-mini:before {
      content: "";
      border-top: 7px solid #004165;
      border-right: 7px solid transparent;
      border-bottom: 7px solid transparent;
      border-left: 7px solid #004165;
      display: block;
      position: absolute;
      top: 3px;
      left: 3px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .button-style--rich .btn-style--blue-mini .btn-style--blue--inner {
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      .button-style--rich .btn-style--blue-mini .btn-style--blue--inner:after {
        content: "";
        border-top: 7px solid transparent;
        border-right: 7px solid #004165;
        border-bottom: 7px solid #004165;
        border-left: 7px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .button-style--rich .btn-style--blue-mini .btn-style--blue--inner:before {
        content: "";
        border-top: 7px solid transparent;
        border-right: 7px solid transparent;
        border-bottom: 7px solid #004165;
        border-left: 7px solid #004165;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
    .button-style--rich .btn-style--blue-mini:hover {
      opacity: 1;
      background: #004165; }
      .button-style--rich .btn-style--blue-mini:hover .txt {
        color: #ffffff; }
      .button-style--rich .btn-style--blue-mini:hover .btn {
        color: #ffffff; }
      .button-style--rich .btn-style--blue-mini:hover:after {
        content: "";
        border-top: 7px solid #ffffff;
        border-right: 7px solid #ffffff;
        border-bottom: 7px solid transparent;
        border-left: 7px solid transparent;
        display: block;
        position: absolute;
        top: 3px;
        right: 3px; }
      .button-style--rich .btn-style--blue-mini:hover:before {
        content: "";
        border-top: 7px solid #ffffff;
        border-right: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 7px solid #ffffff;
        display: block;
        position: absolute;
        top: 3px;
        left: 3px; }
      .button-style--rich .btn-style--blue-mini:hover .btn-style--blue--inner:after {
        content: "";
        border-top: 7px solid transparent;
        border-right: 7px solid #ffffff;
        border-bottom: 7px solid #ffffff;
        border-left: 7px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px; }
      .button-style--rich .btn-style--blue-mini:hover .btn-style--blue--inner:before {
        content: "";
        border-top: 7px solid transparent;
        border-right: 7px solid transparent;
        border-bottom: 7px solid #ffffff;
        border-left: 7px solid #ffffff;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px; }
  .button-style--rich .btn-style--red {
    position: relative;
    border: solid 2px #7F1F44;
    padding: 15px 20px;
    display: block; }
    .button-style--rich .btn-style--red:after {
      content: "";
      border-top: 10px solid #7F1F44;
      border-right: 10px solid #7F1F44;
      border-bottom: 10px solid transparent;
      border-left: 10px solid transparent;
      display: block;
      position: absolute;
      top: 3px;
      right: 3px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media screen and (max-width: 639px) {
        .button-style--rich .btn-style--red:after {
          border-top: 6px solid #7F1F44;
          border-right: 6px solid #7F1F44;
          border-bottom: 6px solid transparent;
          border-left: 6px solid transparent; } }
    .button-style--rich .btn-style--red:before {
      content: "";
      border-top: 10px solid #7F1F44;
      border-right: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 10px solid #7F1F44;
      display: block;
      position: absolute;
      top: 3px;
      left: 3px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media screen and (max-width: 639px) {
        .button-style--rich .btn-style--red:before {
          border-top: 6px solid #7F1F44;
          border-right: 6px solid transparent;
          border-bottom: 6px solid transparent;
          border-left: 6px solid #7F1F44; } }
    .button-style--rich .btn-style--red .btn-style--red--inner {
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      .button-style--rich .btn-style--red .btn-style--red--inner .btn {
        color: #7F1F44; }
      .button-style--rich .btn-style--red .btn-style--red--inner:after {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid #7F1F44;
        border-bottom: 10px solid #7F1F44;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--red .btn-style--red--inner:after {
            border-top: 6px solid transparent;
            border-right: 6px solid #7F1F44;
            border-bottom: 6px solid #7F1F44;
            border-left: 6px solid transparent; } }
      .button-style--rich .btn-style--red .btn-style--red--inner:before {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #7F1F44;
        border-left: 10px solid #7F1F44;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--red .btn-style--red--inner:before {
            border-top: 6px solid transparent;
            border-right: 6px solid transparent;
            border-bottom: 6px solid #7F1F44;
            border-left: 6px solid #7F1F44; } }
    .button-style--rich .btn-style--red:hover {
      opacity: 1;
      background: #7F1F44; }
      .button-style--rich .btn-style--red:hover .txt {
        color: #ffffff; }
      .button-style--rich .btn-style--red:hover .btn {
        color: #ffffff; }
      .button-style--rich .btn-style--red:hover:after {
        content: "";
        border-top: 10px solid #ffffff;
        border-right: 10px solid #ffffff;
        border-bottom: 10px solid transparent;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        top: 3px;
        right: 3px; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--red:hover:after {
            border-top: 6px solid #ffffff;
            border-right: 6px solid #ffffff;
            border-bottom: 6px solid transparent;
            border-left: 6px solid transparent; } }
      .button-style--rich .btn-style--red:hover:before {
        content: "";
        border-top: 10px solid #ffffff;
        border-right: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 10px solid #ffffff;
        display: block;
        position: absolute;
        top: 3px;
        left: 3px; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--red:hover:before {
            border-top: 6px solid #ffffff;
            border-right: 6px solid transparent;
            border-bottom: 6px solid transparent;
            border-left: 6px solid #ffffff; } }
      .button-style--rich .btn-style--red:hover .btn-style--red--inner:after {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid #ffffff;
        border-bottom: 10px solid #ffffff;
        border-left: 10px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--red:hover .btn-style--red--inner:after {
            border-top: 6px solid transparent;
            border-right: 6px solid #ffffff;
            border-bottom: 6px solid #ffffff;
            border-left: 6px solid transparent; } }
      .button-style--rich .btn-style--red:hover .btn-style--red--inner:before {
        content: "";
        border-top: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #ffffff;
        border-left: 10px solid #ffffff;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px; }
        @media screen and (max-width: 639px) {
          .button-style--rich .btn-style--red:hover .btn-style--red--inner:before {
            border-top: 6px solid transparent;
            border-right: 6px solid transparent;
            border-bottom: 6px solid #ffffff;
            border-left: 6px solid #ffffff; } }
  .button-style--rich .btn-style--red-mini {
    position: relative;
    border: solid 2px #7F1F44;
    padding: 15px 20px;
    display: block; }
    .button-style--rich .btn-style--red-mini:after {
      content: "";
      border-top: 7px solid #7F1F44;
      border-right: 7px solid #7F1F44;
      border-bottom: 7px solid transparent;
      border-left: 7px solid transparent;
      display: block;
      position: absolute;
      top: 3px;
      right: 3px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .button-style--rich .btn-style--red-mini:before {
      content: "";
      border-top: 7px solid #7F1F44;
      border-right: 7px solid transparent;
      border-bottom: 7px solid transparent;
      border-left: 7px solid #7F1F44;
      display: block;
      position: absolute;
      top: 3px;
      left: 3px;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .button-style--rich .btn-style--red-mini .btn-style--red--inner {
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      .button-style--rich .btn-style--red-mini .btn-style--red--inner:after {
        content: "";
        border-top: 7px solid transparent;
        border-right: 7px solid #7F1F44;
        border-bottom: 7px solid #7F1F44;
        border-left: 7px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .button-style--rich .btn-style--red-mini .btn-style--red--inner:before {
        content: "";
        border-top: 7px solid transparent;
        border-right: 7px solid transparent;
        border-bottom: 7px solid #7F1F44;
        border-left: 7px solid #7F1F44;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
    .button-style--rich .btn-style--red-mini:hover {
      opacity: 1;
      background: #7F1F44; }
      .button-style--rich .btn-style--red-mini:hover .txt {
        color: #ffffff; }
      .button-style--rich .btn-style--red-mini:hover .btn {
        color: #ffffff; }
      .button-style--rich .btn-style--red-mini:hover:after {
        content: "";
        border-top: 7px solid #ffffff;
        border-right: 7px solid #ffffff;
        border-bottom: 7px solid transparent;
        border-left: 7px solid transparent;
        display: block;
        position: absolute;
        top: 3px;
        right: 3px; }
      .button-style--rich .btn-style--red-mini:hover:before {
        content: "";
        border-top: 7px solid #ffffff;
        border-right: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 7px solid #ffffff;
        display: block;
        position: absolute;
        top: 3px;
        left: 3px; }
      .button-style--rich .btn-style--red-mini:hover .btn-style--red--inner:after {
        content: "";
        border-top: 7px solid transparent;
        border-right: 7px solid #ffffff;
        border-bottom: 7px solid #ffffff;
        border-left: 7px solid transparent;
        display: block;
        position: absolute;
        bottom: 3px;
        right: 3px; }
      .button-style--rich .btn-style--red-mini:hover .btn-style--red--inner:before {
        content: "";
        border-top: 7px solid transparent;
        border-right: 7px solid transparent;
        border-bottom: 7px solid #ffffff;
        border-left: 7px solid #ffffff;
        display: block;
        position: absolute;
        bottom: 3px;
        left: 3px; }

@keyframes linear {
  from {
    background-position: 0 0; }
  to {
    background-position: 200px 0; } }
@keyframes radial {
  from {
    background-position: 0 0; }
  to {
    background-position: 0 60px; } }
@keyframes repeating {
  from {
    background-position: 0 0; }
  to {
    background-position: 0 85px; } }
@keyframes electronic {
  0%, 100% {
    background-position: 10px -30px; }
  25% {
    background-position: 120px -5px; }
  50% {
    background-position: 10px 20px; }
  75% {
    background-position: -130px -5px; } }
@font-face {
  font-family: "open";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTZ1r3JsPcQLi8jytr04NNhU.woff) format("woff"); }
.biliboard {
  position: relative; }
  .biliboard *, .biliboard *:before, .biliboard *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

.biliboard:before {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  border-radius: 3px;
  transform: scale(1, 1.08);
  position: absolute;
  background: #f00;
  background: linear-gradient(90deg, #fafafa, #fafafa, #004165, #fafafa, #fafafa);
  background-position: 55px 0;
  animation: linear 1s infinite linear;
  z-index: -1; }

.biliboard.radial:before {
  background: radial-gradient(#fafafa, #fafafa, #004165, #fafafa, #fafafa);
  animation: radial 1s infinite linear; }

.biliboard.repeating:before {
  background: repeating-linear-gradient(-45deg, #fafafa, #fafafa 30px, #004165 30px, #004165 60px) fixed;
  animation: repeating 1s infinite linear; }

.biliboard.electronic:before {
  background: radial-gradient(#004165, #004165, #004165, #004165, #fafafa, #fafafa, #fafafa) no-repeat;
  background-size: 150px 40px;
  animation: electronic 5s infinite linear; }

/* ==========================================================================
   中ページ
   ========================================================================== */
.sub-page--visual {
  height: 460px;
  overflow: hidden; }
  .sub-page--visual:before {
    content: ""; }
  .sub-page--visual .sub-page--visual--inner {
    max-width: 1140px;
    margin: 0 auto;
    width: 100%;
    padding: 0 20px; }
    .sub-page--visual .sub-page--visual--inner h1 {
      display: inline-block;
      padding: 40px 40px 40px 0;
      position: relative; }
      .sub-page--visual .sub-page--visual--inner h1 img {
        position: relative;
        z-index: 1; }
      .sub-page--visual .sub-page--visual--inner h1:before {
        content: "";
        position: absolute;
        display: block;
        height: 100%;
        background: #ffffff;
        width: 100vw;
        top: 0;
        right: 0;
        opacity: 0.8; }
    @media screen and (max-width: 639px) {
      .sub-page--visual .sub-page--visual--inner.sub-page--visual--inner--mini h1 {
        display: inline-block;
        padding: 3vw 3vw 3vw 0; }
        .sub-page--visual .sub-page--visual--inner.sub-page--visual--inner--mini h1 img {
          width: 56vw; } }

.sub-page--visual2 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 0 50px; }

.sub-page--visual3 {
  height: 420px; }
  .sub-page--visual3 .sub-page--visual3--inner {
    max-width: 1000px;
    margin: 0 auto; }

.copy-title {
  text-align: center;
  margin-bottom: 60px; }
  @media screen and (max-width: 639px) {
    .copy-title {
      margin-bottom: 30px; } }

.caution-style {
  font-size: 12px;
  padding-left: 13px;
  text-indent: -13px; }

.photo-caution {
  font-size: 12px;
  text-align: right;
  margin-top: 20px; }
  @media screen and (max-width: 639px) {
    .photo-caution {
      font-size: 10px; } }

#bloomoi {
  /*.expand{
      @media screen and (max-width: 667px) {
          background: url(../imgs/common/expand@2x.png) no-repeat center top;
          padding-top: 57px;
          background-size: 262px 47px;
      }
  }*/ }
  @media screen and (min-width: 667px) {
    #bloomoi .sp {
      display: none !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pc {
      display: none !important; } }
  #bloomoi .center {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  @media screen and (max-width: 667px) {
    #bloomoi .center_sp {
      text-align: center !important;
      margin-left: auto !important;
      margin-right: auto !important; } }
  #bloomoi .tal {
    text-align: left !important; }
  @media screen and (max-width: 667px) {
    #bloomoi .tal_sp {
      text-align: left !important; } }
  #bloomoi .fl {
    float: left; }
  #bloomoi .fr {
    float: right; }
  #bloomoi .fl_sp {
    float: left; }
    @media screen and (max-width: 667px) {
      #bloomoi .fl_sp {
        float: none; } }
  #bloomoi .fr_sp {
    float: right; }
    @media screen and (max-width: 667px) {
      #bloomoi .fr_sp {
        float: none; } }
  #bloomoi .clear {
    clear: both;
    *zoom: 1; }
    #bloomoi .clear:before, #bloomoi .clear:after {
      content: "";
      display: table; }
    #bloomoi .clear:after {
      clear: both; }
  #bloomoi .cf {
    *zoom: 1; }
    #bloomoi .cf:before, #bloomoi .cf:after {
      content: "";
      display: table; }
    #bloomoi .cf:after {
      clear: both; }
  #bloomoi .mb0 {
    margin-bottom: 0px !important; }
  #bloomoi .mb1 {
    margin-bottom: 10px !important; }
  #bloomoi .mb2 {
    margin-bottom: 20px !important; }
  #bloomoi .mb3 {
    margin-bottom: 30px !important; }
  #bloomoi .mb4 {
    margin-bottom: 40px !important; }
  #bloomoi .mb5 {
    margin-bottom: 50px !important; }
  #bloomoi .mb6 {
    margin-bottom: 60px !important; }
  #bloomoi .mb7 {
    margin-bottom: 70px !important; }
  #bloomoi .mb8 {
    margin-bottom: 80px !important; }
  #bloomoi .mb9 {
    margin-bottom: 90px !important; }
  #bloomoi .mb10 {
    margin-bottom: 100px !important; }
  @media screen and (max-width: 667px) {
    #bloomoi .mb0_sp {
      margin-bottom: 0px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb1_sp {
      margin-bottom: 10px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb2_sp {
      margin-bottom: 20px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb3_sp {
      margin-bottom: 30px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb4_sp {
      margin-bottom: 40px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb5_sp {
      margin-bottom: 50px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb6_sp {
      margin-bottom: 60px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb7_sp {
      margin-bottom: 70px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb8_sp {
      margin-bottom: 80px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb9_sp {
      margin-bottom: 90px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mb10_sp {
      margin-bottom: 100px !important; } }
  #bloomoi .mt0 {
    margin-top: 0px !important; }
  #bloomoi .mt1 {
    margin-top: 10px !important; }
  #bloomoi .mt2 {
    margin-top: 20px !important; }
  #bloomoi .mt3 {
    margin-top: 30px !important; }
  #bloomoi .mt4 {
    margin-top: 40px !important; }
  #bloomoi .mt5 {
    margin-top: 50px !important; }
  #bloomoi .mt6 {
    margin-top: 60px !important; }
  #bloomoi .mt7 {
    margin-top: 70px !important; }
  #bloomoi .mt8 {
    margin-top: 80px !important; }
  #bloomoi .mt9 {
    margin-top: 90px !important; }
  #bloomoi .mt10 {
    margin-top: 100px !important; }
  @media screen and (max-width: 667px) {
    #bloomoi .mt0_sp {
      margin-top: 0px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt1_sp {
      margin-top: 10px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt2_sp {
      margin-top: 20px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt3_sp {
      margin-top: 30px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt4_sp {
      margin-top: 40px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt5_sp {
      margin-top: 50px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt6_sp {
      margin-top: 60px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt7_sp {
      margin-top: 70px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt8_sp {
      margin-top: 80px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt9_sp {
      margin-top: 90px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mt10_sp {
      margin-top: 100px !important; } }
  #bloomoi .mr0 {
    margin-right: 0px !important; }
  #bloomoi .mr1 {
    margin-right: 10px !important; }
  #bloomoi .mr2 {
    margin-right: 20px !important; }
  #bloomoi .mr3 {
    margin-right: 30px !important; }
  #bloomoi .mr4 {
    margin-right: 40px !important; }
  #bloomoi .mr5 {
    margin-right: 50px !important; }
  #bloomoi .mr6 {
    margin-right: 60px !important; }
  #bloomoi .mr7 {
    margin-right: 70px !important; }
  #bloomoi .mr8 {
    margin-right: 80px !important; }
  #bloomoi .mr9 {
    margin-right: 90px !important; }
  #bloomoi .mr10 {
    margin-right: 100px !important; }
  @media screen and (max-width: 667px) {
    #bloomoi .mr0_sp {
      margin-right: 0px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr1_sp {
      margin-right: 10px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr2_sp {
      margin-right: 20px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr3_sp {
      margin-right: 30px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr4_sp {
      margin-right: 40px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr5_sp {
      margin-right: 50px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr6_sp {
      margin-right: 60px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr7_sp {
      margin-right: 70px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr8_sp {
      margin-right: 80px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr9_sp {
      margin-right: 90px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .mr10_sp {
      margin-right: 100px !important; } }
  #bloomoi .ml0 {
    margin-left: 0px !important; }
  #bloomoi .ml1 {
    margin-left: 10px !important; }
  #bloomoi .ml2 {
    margin-left: 20px !important; }
  #bloomoi .ml3 {
    margin-left: 30px !important; }
  #bloomoi .ml4 {
    margin-left: 40px !important; }
  #bloomoi .ml5 {
    margin-left: 50px !important; }
  #bloomoi .ml6 {
    margin-left: 60px !important; }
  #bloomoi .ml7 {
    margin-left: 70px !important; }
  #bloomoi .ml8 {
    margin-left: 80px !important; }
  #bloomoi .ml9 {
    margin-left: 90px !important; }
  #bloomoi .ml10 {
    margin-left: 100px !important; }
  @media screen and (max-width: 667px) {
    #bloomoi .ml0_sp {
      margin-left: 0px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml1_sp {
      margin-left: 10px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml2_sp {
      margin-left: 20px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml3_sp {
      margin-left: 30px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml4_sp {
      margin-left: 40px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml5_sp {
      margin-left: 50px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml6_sp {
      margin-left: 60px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml7_sp {
      margin-left: 70px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml8_sp {
      margin-left: 80px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml9_sp {
      margin-left: 90px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .ml10_sp {
      margin-left: 100px !important; } }
  #bloomoi .pt0 {
    padding-top: 0px !important; }
  #bloomoi .pt1 {
    padding-top: 10px !important; }
  #bloomoi .pt2 {
    padding-top: 20px !important; }
  #bloomoi .pt3 {
    padding-top: 30px !important; }
  #bloomoi .pt4 {
    padding-top: 40px !important; }
  #bloomoi .pt5 {
    padding-top: 50px !important; }
  #bloomoi .pt6 {
    padding-top: 60px !important; }
  #bloomoi .pt7 {
    padding-top: 70px !important; }
  #bloomoi .pt8 {
    padding-top: 80px !important; }
  #bloomoi .pt9 {
    padding-top: 90px !important; }
  #bloomoi .pt10 {
    padding-top: 100px !important; }
  @media screen and (max-width: 667px) {
    #bloomoi .pt0_sp {
      padding-top: 0px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt1_sp {
      padding-top: 10px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt2_sp {
      padding-top: 20px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt3_sp {
      padding-top: 30px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt4_sp {
      padding-top: 40px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt5_sp {
      padding-top: 50px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt6_sp {
      padding-top: 60px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt7_sp {
      padding-top: 70px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt8_sp {
      padding-top: 80px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt9_sp {
      padding-top: 90px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pt10_sp {
      padding-top: 100px !important; } }
  #bloomoi .pb0 {
    padding-bottom: 0px !important; }
  #bloomoi .pb1 {
    padding-bottom: 10px !important; }
  #bloomoi .pb2 {
    padding-bottom: 20px !important; }
  #bloomoi .pb3 {
    padding-bottom: 30px !important; }
  #bloomoi .pb4 {
    padding-bottom: 40px !important; }
  #bloomoi .pb5 {
    padding-bottom: 50px !important; }
  #bloomoi .pb6 {
    padding-bottom: 60px !important; }
  #bloomoi .pb7 {
    padding-bottom: 70px !important; }
  #bloomoi .pb8 {
    padding-bottom: 80px !important; }
  #bloomoi .pb9 {
    padding-bottom: 90px !important; }
  #bloomoi .pb10 {
    padding-bottom: 100px !important; }
  @media screen and (max-width: 667px) {
    #bloomoi .pb0_sp {
      padding-bottom: 0px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb1_sp {
      padding-bottom: 10px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb2_sp {
      padding-bottom: 20px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb3_sp {
      padding-bottom: 30px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb4_sp {
      padding-bottom: 40px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb5_sp {
      padding-bottom: 50px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb6_sp {
      padding-bottom: 60px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb7_sp {
      padding-bottom: 70px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb8_sp {
      padding-bottom: 80px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb9_sp {
      padding-bottom: 90px !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .pb10_sp {
      padding-bottom: 100px !important; } }
  #bloomoi .w05 {
    width: 4% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w05 {
        width: 100% !important; } }
  #bloomoi .w10 {
    width: 9% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w10 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w10_sp {
      width: 9% !important; } }
  #bloomoi .w15 {
    width: 14% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w15 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w15_sp {
      width: 14% !important; } }
  #bloomoi .w20 {
    width: 19% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w20 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w20_sp {
      width: 19% !important; } }
  #bloomoi .w25 {
    width: 24% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w25 {
        width: 100% !important; } }
  #bloomoi .w30 {
    width: 29% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w30 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w30_sp {
      width: 29% !important; } }
  #bloomoi .w33 {
    width: 32% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w33 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w33_sp {
      width: 32% !important; } }
  #bloomoi .w35 {
    width: 34% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w35 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w35_sp {
      width: 34% !important; } }
  #bloomoi .w40 {
    width: 39% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w40 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w40_sp {
      width: 39% !important; } }
  #bloomoi .w45 {
    width: 44% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w45 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w45_sp {
      width: 44% !important; } }
  #bloomoi .w49 {
    width: 48% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w49 {
        width: 100% !important; } }
  #bloomoi .w50 {
    width: 49% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w50 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w50_sp {
      width: 49% !important; } }
  #bloomoi .w53 {
    width: 52% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w53 {
        width: 100% !important; } }
  #bloomoi .w55 {
    width: 54% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w55 {
        width: 100% !important; } }
  #bloomoi .w60 {
    width: 59% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w60 {
        width: 100% !important; } }
  #bloomoi .w65 {
    width: 64% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w65 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w60_sp {
      width: 59% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w65_sp {
      width: 64% !important; } }
  #bloomoi .w66 {
    width: 66% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w66 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w66_sp {
      width: 66% !important; } }
  #bloomoi .w70 {
    width: 69% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w70 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w70_sp {
      width: 69% !important; } }
  #bloomoi .w75 {
    width: 74% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w75 {
        width: 100% !important; } }
  #bloomoi .w80 {
    width: 79% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w80 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w80_sp {
      width: 79% !important; } }
  #bloomoi .w83 {
    width: 82% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w83 {
        width: 100% !important; } }
  #bloomoi .w85 {
    width: 84% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w85 {
        width: 100% !important; } }
  #bloomoi .w88 {
    width: 88% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w88 {
        width: 100% !important; } }
  #bloomoi .w90 {
    width: 89% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w90 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w85_sp {
      width: 84% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w90_sp {
      width: 89% !important; } }
  #bloomoi .w95 {
    width: 94% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w95 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w95_sp {
      width: 94% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w25_sp {
      width: 24% !important; } }
  #bloomoi .w75 {
    width: 74% !important; }
    @media screen and (max-width: 667px) {
      #bloomoi .w75 {
        width: 100% !important; } }
  @media screen and (max-width: 667px) {
    #bloomoi .w75_sp {
      width: 74% !important; } }
  #bloomoi img.w100 {
    max-width: 100% !important; }
  #bloomoi .flex {
    display: flex;
    flex-wrap: wrap; }
    #bloomoi .flex img {
      max-width: 100%; }
    @media screen and (max-width: 667px) {
      #bloomoi .flex {
        display: block; }
        #bloomoi .flex.sp-flex {
          display: flex;
          flex-wrap: wrap; } }
  @media screen and (max-width: 667px) {
    #bloomoi .sp-flex {
      display: flex;
      display: -webkit-box;
      display: -webkit-flex;
      flex-wrap: wrap; } }
  #bloomoi .between {
    justify-content: space-between;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between; }
  #bloomoi .a-center {
    align-items: center; }
  #bloomoi .bold {
    font-weight: bold; }
  @media screen and (max-width: 667px) {
    #bloomoi img {
      max-width: 100%; } }
  #bloomoi a {
    outline: none; }
  #bloomoi a:focus {
    outline: none; }
  #bloomoi a.fade:hover {
    opacity: 0.7;
    transition: .3s; }

.main-visual-caution {
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }
  @media screen and (max-width: 639px) {
    .main-visual-caution {
      font-size: 10px; } }

/* ==========================================================================
   アニメーション
   ========================================================================== */
.fade-anime {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  position: relative;
  top: 2px; }

.ef-fade01 {
  opacity: 0;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5; }

.fade01 {
  opacity: 1.0;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5; }

.flex-direction-nav .flex-prev {
  transform: scale(0.5, 0.5); }

.flex-direction-nav .flex-next {
  transform: scale(0.5, 0.5); }

.style-block {
  display: block !important; }

#ptop_btn {
  position: fixed;
  right: 10px;
  bottom: 10px;
  padding: 10px;
  background-color: #fff;
  border: solid 1px #777777;
  display: block;
  cursor: pointer; }
  #ptop_btn a {
    color: #777777;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    #ptop_btn a:hover {
      opacity: 0.7; }

/* ==========================================================================
   client maint
   ========================================================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/* ==========================================================================
   header
   ========================================================================== */
.header .headerInner {
  background: #ffffff;
  padding: 15px 0;
  border-top: 3px solid #004165; }

#pNav {
  position: absolute;
  top: -5px;
  right: 0; }

#pNav li {
  vertical-align: middle;
  padding-top: 5px; }

#pNav li.req a, #pNav li.res a {
  font-size: 13px;
  line-height: 30px;
  color: #ffffff;
  background: #fff !important;
  font-family: 'Sawarabi Mincho', sans-serif;
  position: relative;
  z-index: 1;
  overflow: hidden; }

#pNav li.req a:after, #pNav li.res a:after {
  content: "";
  background: #004165 !important;
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  z-index: -1;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border: solid 1px #ffffff; }

#pNav li.req a:hover, #pNav li.res a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  color: #004165; }

#pNav li.req a:hover:after, #pNav li.res a:hover:after {
  background: #ffffff !important;
  border: solid 1px #ffffff; }

#pNav li.res a {
  background: #fff !important; }

#pNav li.res a:after {
  background: #7E1E44 !important; }

#pNav li.res a:hover {
  color: #7E1E44 !important; }

#gNav {
  background: #ffffff;
  border-top: 1px solid #c0c4c3;
  border-bottom: 1px solid #c0c4c3; }

#gNav ul {
  display: table;
  width: 100%; }

#gNav ul li {
  display: table-cell;
  text-align: center;
  position: relative;
  /* ==========================================================================
     footer
     ========================================================================== */ }
  #gNav ul li.new:after {
    content: "NEW";
    position: absolute;
    top: -12px;
    right: 50%;
    margin-right: -26px;
    color: #fff;
    background-color: #ab4c67;
    font-size: 10px;
    padding: 2px 8px;
    z-index: 5;
    border: solid 1px #fff; }
    @media screen and (max-width: 767px) {
      #gNav ul li.new:after {
        top: 2px;
        right: 6px;
        margin-right: 0; } }
  #gNav ul li #gNav ul li a {
    padding: 0px 0px;
    font-size: 12px;
    display: block;
    overflow: hidden;
    position: relative;
    font-family: 'Sawarabi Mincho', sans-serif; }
  #gNav ul li #gNav ul li a:hover {
    background: #004165;
    color: #ffffff !important; }
  #gNav ul li #gNav ul li a:hover .nav-ruby {
    color: #ffffff !important; }
  #gNav ul li #gNav ul li a:before {
    content: "";
    width: 1px;
    background: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0; }
  #gNav ul li #gNav ul li a p {
    border-left: 1px solid #c0c4c3;
    margin: 10px 0;
    position: relative;
    z-index: 1; }
  @media screen and (max-width: 767px) {
    #gNav ul li #gNav ul li a p {
      letter-spacing: normal; } }
  #gNav ul li #gNav ul li a .nav-ruby {
    color: #004165;
    font-size: 10px; }
  #gNav ul li #gNav ul li:last-child a p {
    border-right: 1px solid #c0c4c3; }
  #gNav ul li #gNav ul .on a {
    background: #004165;
    color: #ffffff !important; }
  #gNav ul li #gNav ul .on a .nav-ruby {
    color: #ffffff !important; }
  #gNav ul li #gNav ul .off a {
    opacity: 1.0;
    color: #bbbbbb; }
  #gNav ul li #gNav ul .off a .nav-ruby {
    color: #bbbbbb; }
  @media screen and (max-width: 639px) {
    #gNav ul li .header .headerInner {
      padding: 0px 0 0; }
    #gNav ul li #sNav li {
      width: 25%; }
      #gNav ul li #sNav li.sNav_logo {
        background: #fff;
        width: 80vw;
        text-align: left;
        vertical-align: middle;
        padding-top: 2vw;
        padding-left: 5px; }
        #gNav ul li #sNav li.sNav_logo img {
          width: 39vw; }
    #gNav ul li #sNav li a {
      background-color: #ffffff;
      color: #004165; }
    #gNav ul li #gNav ul {
      display: flex;
      flex-wrap: wrap; }
    #gNav ul li #gNav ul li {
      display: flex;
      width: 50% !important; }
    #gNav ul li #gNav ul li:nth-child(odd) p {
      border-left: none; } }
  #gNav ul li #contactArea {
    background-color: #f5f8f9; }
  #gNav ul li #contactArea .txt02 {
    line-height: 140%; }
  #gNav ul li #fNav {
    background: #ffffff;
    border-top: 1px solid #c0c4c3;
    border-bottom: 1px solid #c0c4c3;
    margin-bottom: 0; }
  #gNav ul li #fNav ul {
    display: table;
    width: 100%; }
  #gNav ul li #fNav ul li {
    display: table-cell;
    text-align: center;
    border: none;
    padding: 0; }
    #gNav ul li #fNav ul li.new:after {
      position: absolute; }
  #gNav ul li #fNav ul li a {
    padding: 0px 0px;
    font-size: 12px;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    display: block;
    overflow: hidden;
    letter-spacing: normal;
    font-family: 'Sawarabi Mincho', sans-serif;
    position: relative; }
  #gNav ul li #fNav ul li a:hover {
    background: #004165;
    color: #ffffff !important;
    text-decoration: none; }
  #gNav ul li #fNav ul li a:hover .nav-ruby {
    color: #ffffff !important; }
  #gNav ul li #fNav ul li a:before {
    content: "";
    width: 1px;
    background: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0; }
  #gNav ul li #fNav ul li a p {
    border-left: 1px solid #c0c4c3;
    margin: 16px 0;
    position: relative;
    z-index: 1; }
  #gNav ul li #fNav ul li a .nav-ruby {
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    color: #004165;
    font-size: 10px;
    letter-spacing: normal; }
  #gNav ul li #fNav ul li:last-child a p {
    border-right: 1px solid #c0c4c3; }
  @media screen and (max-width: 767px) {
    #gNav ul li #fNav ul li:last-child a p {
      border-right: none; } }
  #gNav ul li #fNav ul .sp {
    display: none; }
  @media screen and (max-width: 639px) {
    #gNav ul li #fNav ul .pc {
      display: none !important; }
    #gNav ul li #fNav ul .sp {
      display: block; } }
  #gNav ul li #fNav ul .on {
    font-weight: normal; }
  #gNav ul li #fNav ul .on a {
    background: #004165;
    color: #ffffff; }
  #gNav ul li #fNav ul .on a .nav-ruby {
    color: #ffffff; }
  #gNav ul li #fNav ul .off a {
    opacity: 1.0;
    color: #bbbbbb; }
  #gNav ul li #fNav ul .off a .nav-ruby {
    color: #bbbbbb; }
  #gNav ul li .contactInner {
    justify-content: center; }
  #gNav ul li .cvArea {
    margin-bottom: 60px;
    margin-top: 60px; }
  #gNav ul li .cvArea .cv {
    padding: 0;
    text-align: center;
    background-color: #ffffff;
    color: #004165;
    max-width: 346px; }
  #gNav ul li .cvArea .cv .txt {
    color: #004165;
    font-size: 14px;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  #gNav ul li .cvArea .cv .btn {
    background: none;
    line-height: 1;
    color: #004165;
    font-size: 26px;
    width: auto;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  #gNav ul li .cvArea .cv .btn-style--blue {
    position: relative;
    border: solid 2px #004165;
    padding: 15px 20px; }
  #gNav ul li .cvArea .cv .btn-style--blue:after {
    content: "";
    border-top: 10px solid #004165;
    border-right: 10px solid #004165;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
    display: block;
    position: absolute;
    top: 3px;
    right: 3px;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  #gNav ul li .cvArea .cv .btn-style--blue:before {
    content: "";
    border-top: 10px solid #004165;
    border-right: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #004165;
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  #gNav ul li .cvArea .cv .btn-style--blue .btn-style--blue--inner:after {
    content: "";
    border-top: 10px solid transparent;
    border-right: 10px solid #004165;
    border-bottom: 10px solid #004165;
    border-left: 10px solid transparent;
    display: block;
    position: absolute;
    bottom: 3px;
    right: 3px;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  #gNav ul li .cvArea .cv .btn-style--blue .btn-style--blue--inner:before {
    content: "";
    border-top: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #004165;
    border-left: 10px solid #004165;
    display: block;
    position: absolute;
    bottom: 3px;
    left: 3px;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  #gNav ul li .cvArea .cv .btn-style--blue:hover {
    opacity: 1;
    background: #004165; }
  #gNav ul li .cvArea .cv .btn-style--blue:hover .txt {
    color: #ffffff; }
  #gNav ul li .cvArea .cv .btn-style--blue:hover .btn {
    color: #ffffff; }
  #gNav ul li .cvArea .cv .btn-style--blue:hover:after {
    content: "";
    border-top: 10px solid #ffffff;
    border-right: 10px solid #ffffff;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
    display: block;
    position: absolute;
    top: 3px;
    right: 3px; }
  #gNav ul li .cvArea .cv .btn-style--blue:hover:before {
    content: "";
    border-top: 10px solid #ffffff;
    border-right: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #ffffff;
    display: block;
    position: absolute;
    top: 3px;
    left: 3px; }
  #gNav ul li .cvArea .cv .btn-style--blue:hover .btn-style--blue--inner:after {
    content: "";
    border-top: 10px solid transparent;
    border-right: 10px solid #ffffff;
    border-bottom: 10px solid #ffffff;
    border-left: 10px solid transparent;
    display: block;
    position: absolute;
    bottom: 3px;
    right: 3px; }
  #gNav ul li .cvArea .cv .btn-style--blue:hover .btn-style--blue--inner:before {
    content: "";
    border-top: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #ffffff;
    border-left: 10px solid #ffffff;
    display: block;
    position: absolute;
    bottom: 3px;
    left: 3px; }
  @media screen and (max-width: 639px) {
    #gNav ul li #fNav ul {
      display: flex;
      flex-wrap: wrap;
      border-left: none; }
    #gNav ul li #fNav ul li {
      display: flex;
      width: 50%; }
    #gNav ul li #fNav ul li p span {
      padding: 0; }
    #gNav ul li #fNav ul li:nth-child(odd) p {
      border-left: none; }
    #gNav ul li .cvArea {
      margin-bottom: 40px;
      margin-top: 40px; }
    #gNav ul li .cvArea .cv {
      margin: 0 auto 5px auto !important; } }
  #gNav ul li .cvArea .cv .btn-style--blue .txt {
    font-size: 12px; }
  #gNav ul li .cvArea .cv .btn {
    font-size: 20px; }

html, body {
  width: 100%;
  height: 100%; }

/* ==========================================================================
   top
   ========================================================================== */
.main .slider {
  max-width: 100%; }

.main .flex-control-nav {
  display: none; }

#top .l-top-line-bg-01 {
  background: url("../imgs/top/line-top-left-01-blue.png");
  background-position: top left;
  background-size: cover;
  width: 468px;
  height: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #top .l-top-line-bg-01 {
    background-size: 100% auto;
    width: 100%; } }
#top .l-top-line-bg-02 {
  background: url("../imgs/top/line-top-left-02-blue.png");
  background-position: top left;
  background-size: cover;
  height: 617px;
  width: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #top .l-top-line-bg-02 {
    background-size: 100% auto;
    height: 30vw; } }
#top .r-top-line-bg-01 {
  background: url("../imgs/top/line-top-right-01-blue.png");
  background-position: center;
  background-size: bottom right;
  width: 471px;
  height: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #top .r-top-line-bg-01 {
    background-size: 100% auto;
    width: 100%; } }
#top .r-top-line-bg-02 {
  background: url("../imgs/top/line-top-right-02-blue.png");
  background-position: center;
  background-size: bottom right;
  height: 613px;
  width: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #top .r-top-line-bg-02 {
    background-size: 100% auto;
    height: 30vw; } }
#top .pointArea {
  border-top: 1px solid #c0c4c3;
  border-bottom: 1px solid #c0c4c3; }

#top .pointArea p {
  max-width: 1110px;
  margin: 0 auto; }

#top .pointArea p img {
  width: 100%; }

#top .column-2-full {
  margin-top: 100px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1; }

#top .column-2-full:first-child {
  margin-top: 150px; }

@media screen and (max-width: 639px) {
  #top .column-2-full:first-child {
    margin-top: 20px; } }
#top .column-2-full:last-child {
  margin-bottom: 150px; }

@media screen and (max-width: 1100px) {
  #top .column-2-full:last-child {
    margin-bottom: 32vw; } }
@media screen and (max-width: 639px) {
  #top .column-2-full:last-child {
    margin-bottom: 0px; } }
@media screen and (max-width: 1100px) {
  #top .column-2-full {
    margin-top: 28vw; } }
@media screen and (max-width: 639px) {
  #top .column-2-full {
    margin-top: 0px; } }
#top .column-2-full .column-2-full--inner {
  overflow: visible; }

@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner .caption-text {
    bottom: 35px; } }
#top .column-2-full .column-2-full--inner:first-child {
  right: -100px;
  width: 55%; }

#top .column-2-full .column-2-full--inner:first-child:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #c0c4c3;
  top: -15px;
  left: -15px;
  position: absolute;
  z-index: -1; }

@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner:first-child {
    right: 0px;
    left: 0px;
    width: 90%;
    margin-top: 30px; } }
@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner:last-child {
    margin-top: -52px; } }
#top .column-2-full .column-2-full--inner .column-2-full--textbox {
  max-width: 550px;
  position: relative; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax {
  border: 1px solid #c0c4c3;
  background: #ffffff; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax:before {
  content: "";
  top: -40px;
  left: -1px;
  width: 1px;
  height: 40px;
  display: block;
  position: absolute;
  background: #c0c4c3; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax:after {
  content: "";
  top: -1px;
  left: -40px;
  width: 40px;
  height: 1px;
  display: block;
  position: absolute;
  background: #c0c4c3; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner {
  padding: 30px; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner:before {
  content: "";
  bottom: -40px;
  right: -1px;
  width: 1px;
  height: 40px;
  display: block;
  position: absolute;
  background: #c0c4c3; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner:after {
  content: "";
  bottom: -1px;
  right: -40px;
  width: 40px;
  height: 1px;
  display: block;
  position: absolute;
  background: #c0c4c3; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-title {
  width: 90%; }

@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-title {
    width: 100%; } }
@media screen and (max-width: 1100px) {
  #top .column-2-full .column-2-full--inner .column-2-full--textbox {
    transform: scale(0.8, 0.8);
    padding: 0;
    max-width: 100%;
    width: 104%; } }
#top .column-2-full .column-2-full--inner .caption-text {
  bottom: 15px;
  right: auto;
  left: 20px; }

#top .column-2-full .button-style--neutral {
  margin-top: 30px; }

#top .column-2-full--reverse .column-2-full--inner:first-child {
  left: -100px;
  right: auto; }

@media screen and (max-width: 639px) {
  #top .column-2-full--reverse .column-2-full--inner:first-child {
    right: 0px;
    left: 0px; } }
#top .column-2-full--reverse .column-2-full--inner .caption-text {
  bottom: 15px;
  right: 20px;
  left: auto; }

@media screen and (max-width: 639px) {
  #top .column-2-full--reverse .column-2-full--inner .caption-text {
    bottom: 35px; } }
#top .bt-request-foot .button-style--rich {
  margin: auto;
  width: -webkit-fill-available;
  max-width: 440px; }

#top .bt-request-foot .button-style--rich .btn-style--blue {
  padding: 25px 25px; }

@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner .column-text {
    font-size: 16px; }

  #top .column-2-full .column-2-full--inner .column-text br {
    display: none; } }
#info {
  background-color: #ffffff;
  display: block; }

#info .infotxtInner {
  margin-top: 30px;
  height: auto !important;
  font-size: 16px; }

#info .infotxtInner ul {
  display: flex;
  justify-content: center; }

#info .infotxtInner ul li dl {
  display: flex; 
  margin-left: 5%;
  margin-right: 5%;}

#info .infotxtInner ul li dl dt {
  color: #004165; }

#info .infotxtInner ul li dl dd {
  padding-left: 15px; }

.obiArea {
  background: #f8f8f8;
  border-bottom: 1px solid #c0c4c3;
  margin-bottom: 0; }

.obiArea .ob-title {
  margin-top: 0px; }

.obiArea .ob-title img {
  background: #f8f8f8; }

.obiArea .ob-text {
  color: #004165;
  font-size: 18px;
  font-weight: bold; }

.obiArea .bt-request-foot {
  margin: 50px 0; }

.obiArea .ob-step {
  margin: 50px 0; }

.obiArea .ob-step ul {
  display: flex;
  justify-content: space-between; }

.obiArea .ob-step ul li {
  width: 31%;
  max-width: 343px; }

.obiArea .ob-step ul li img {
  width: 100%; }

@media screen and (max-width: 639px) {
  .obiArea .ob-title {
    margin-top: 0px; }

  .obiArea .altText {
    color: #004165;
    font-weight: bold;
    font-size: 5vw; } }
@media screen and (max-width: 639px) and (max-width: 349px) {
  .obiArea .altText {
    font-size: 4.5vw; } }
@media screen and (max-width: 639px) {
  .obiArea .bt-request-foot {
    margin: 25px 0; }

  .obiArea .ob-text {
    font-size: 3vw;
    padding: 10px 0 !important;
    width: 100%;
    line-height: 2; }

  .obiArea .ob-step {
    margin: 30px 0 0px; }

  .obiArea .ob-step ul {
    flex-wrap: wrap;
    justify-content: center; }

  .obiArea .ob-step ul li {
    max-width: 100%;
    width: 90%;
    margin-bottom: 20px; }

  .obiArea .ob-step ul li:last-child {
    margin-bottom: 0px; }

  #top .bt-request-foot .button-style--rich {
    margin: auto;
    width: -webkit-fill-available;
    max-width: 85%; }

  #top .bt-request-foot .button-style--rich .btn-style--blue {
    padding: 15px 15px; } }
.load-top {
  overflow: hidden;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  top: 0;
  background: #fff;
  z-index: 99999; }

.load-top .load-top--inner {
  max-width: 80%;
  margin-top: -50px;
  background: #fff;
  position: relative;
  z-index: 10;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0; }

#LINE {
  position: relative;
  overflow: hidden; }

#LINE:after {
  content: "";
  background: url("../imgs/top/line-left.png");
  background-position: center;
  background-size: cover;
  width: 468px;
  height: 617px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0; }

@media screen and (max-width: 767px) {
  #LINE:after {
    background: url("../imgs/top/line-left--sp.png");
    background-position: center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    opacity: 1; } }
#LINE .l-line-bg-01 {
  background: url("../imgs/top/line-left-01-blue.png");
  background-position: top left;
  background-size: cover;
  width: 468px;
  height: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #LINE .l-line-bg-01 {
    display: none; } }
#LINE .l-line-bg-01-gray {
  background: url("../imgs/top/line-left-01-gray.png");
  background-position: top left;
  background-size: cover; }

#LINE .l-line-bg-02 {
  background: url("../imgs/top/line-left-02-blue.png");
  background-position: top left;
  background-size: cover;
  height: 617px;
  width: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #LINE .l-line-bg-02 {
    display: none; } }
#LINE .l-line-bg-02-gray {
  background: url("../imgs/top/line-left-02-gray.png");
  background-position: top left;
  background-size: cover; }

#LINE .r-line-bg-01 {
  background: url("../imgs/top/line-right-01-blue.png");
  background-position: center;
  background-size: bottom right;
  width: 471px;
  height: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #LINE .r-line-bg-01 {
    display: none; } }
#LINE .r-line-bg-01-gray {
  background: url("../imgs/top/line-right-01-gray.png");
  background-position: center;
  background-size: bottom right; }

#LINE .r-line-bg-02 {
  background: url("../imgs/top/line-right-02-blue.png");
  background-position: center;
  background-size: bottom right;
  height: 613px;
  width: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #LINE .r-line-bg-02 {
    display: none; } }
#LINE .r-line-bg-02-gray {
  background: url("../imgs/top/line-right-02-gray.png");
  background-position: center;
  background-size: bottom right; }

#LINE .line-animation-box .l-bg {
  background: #f8f8f8;
  background-position: center;
  background-size: cover;
  width: 0px;
  height: 617px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 15; }

@media screen and (max-width: 767px) {
  #LINE .line-animation-box .l-bg {
    width: 100%;
    height: 100%; } }
#LINE .line-animation-box .r-bg {
  background: #f8f8f8;
  background-position: center;
  background-size: cover;
  width: 0px;
  height: 613px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 5; }

@media screen and (max-width: 767px) {
  #LINE .line-animation-box .r-bg {
    display: none; } }
#LINE .line-animation {
  display: block;
  margin: 50px auto;
  height: 1px;
  width: 0;
  background: #c0c4c3;
  max-width: 250px; }

@media screen and (max-width: 767px) {
  #LINE .line-animation {
    display: none; } }
#LINE .wrap {
  position: relative;
  z-index: 50; }

@keyframes electronic2 {
  0%,100% {
    background-position: -100px -20px; }
  25% {
    background-position: 160px -20px; }
  50% {
    background-position: 160px 100px; }
  75% {
    background-position: -100px 100px; } }
#LINE .biliboard.electronic:before {
  background: radial-gradient(#004165, #004165, #004165, #004165, #fafafa, #fafafa, #fafafa) no-repeat;
  background-size: 250px 100px;
  animation: electronic2 5s infinite linear; }

#LINE .biliboard2:before {
  background: radial-gradient(#79004a, #79004a, #79004a, #79004a, #fafafa, #fafafa, #fafafa) no-repeat !important; }

#LINE .biliboard {
  position: relative;
  display: block;
  overflow: hidden;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

#LINE .biliboard:hover {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7; }

#LINE .biliboard img {
  border: solid 1px #fff;
  margin: 2px auto;
  max-width: 340px; }

@media screen and (max-width: 639px) {
  #LINE .biliboard img {
    max-width: 100%; } }
.parallax-pin01 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin01 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin02 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin02 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin03 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin03 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin04 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin04 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin05 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin05 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin06 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin06 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-box01, .parallax-box02, .parallax-box03 {
  opacity: 0.0; }

#icon {
  z-index: 30;
  width: 200%;
  height: 2000px;
  opacity: 0.0;
  position: absolute;
  background: url("../imgs/top/bg.png");
  background-position: center;
  display: none; }

@media screen and (max-width: 639px) {
  #icon {
    display: none; } }
.fade-anime01, .fade-anime02, .fade-anime03, .fade-anime04, .fade-anime05, .fade-anime06, .fade-anime07 {
  opacity: 0.0; }

.fade-anime04, .fade-anime05, .fade-anime06 {
  position: relative;
  top: 10px; }

.top-content--inner {
  overflow: hidden;
  position: relative; }

.top-content--inner:before {
  content: "";
  background: url("../imgs/top/line-left-gray.png");
  position: absolute;
  width: 468px;
  height: 617px;
  top: 0;
  left: 0; }

@media screen and (max-width: 639px) {
  .top-content--inner:before {
    display: none; } }
.top-content--inner:after {
  content: "";
  background: url("../imgs/top/line-right-gray.png");
  position: absolute;
  width: 471px;
  height: 613px;
  right: 0;
  bottom: 0; }

@media screen and (max-width: 639px) {
  .top-content--inner:after {
    display: none; } }

.floatbnr_sp .new {
  position: relative; }

.floatbnr_sp .new:after {
  content: "NEW";
  position: absolute;
  top: -11px;
  left: -4px;
  color: #fff;
  background-color: #ab4c67;
  font-size: 10px;
  padding: 5px 8px;
  z-index: 5;
  border: solid 1px #fff; }

.floatbnr_sp .new {
  position: relative; }

.floatbnr_sp .new:after {
  content: "NEW";
  position: absolute;
  top: -11px;
  left: -4px;
  color: #fff;
  background-color: #ab4c67;
  font-size: 10px;
  padding: 5px 8px;
  z-index: 5;
  border: solid 1px #fff; }

/*フロートバナー*/
.floatbnr_sp {
  display: none; }

.main {
  position: relative; }

.floatbnr.mov {
  /* top: 75%; */
  top: auto;
  bottom: 10px; }

.floatbnr.mov img {
  margin-bottom: 10px; }

.floatbnr {
  display: block;
  position: fixed;
  width: 18%;
  right: 10px;
  z-index: 300; }

.floatbnr a:hover {
  opacity: 0.7; }

.floatbnr span.new {
  position: relative;
  display: block; }

.floatbnr span.new:after {
  content: "NEW";
  position: absolute;
  top: -11px;
  left: -4px;
  color: #fff;
  background-color: #ab4c67;
  font-size: 10px;
  padding: 5px 8px;
  z-index: 5;
  border: solid 1px #fff; }

.floatbnr .btn_close_mov {
  display: block;
  border-radius: 50%;
  position: absolute;
  top: -31px;
  right: 3px;
  z-index: 301;
  width: 30px;
  height: 30px;
  line-height: 1;
  color: #fff;
  font-size: 14px;
  background: #000;
  margin-top: -1px;
  cursor: pointer;
  opacity: 1;
  -webkit-transition: opacity 0.45s;
  transition: opacity 0.45s; }

.floatbnr .btn_close_mov::before {
  display: inline;
  content: "×";
  position: absolute;
  top: calc(50% - 2px);
  left: 50%;
  z-index: 301;
  transform: translate(-50%, -50%);
  font-size: 24px; }

.floatbnr > div > a:hover {
  opacity: .6; }

.CP_Bnr {
  text-align: center;
  margin: 50px 0;
  max-width: 100%; }

@media only screen and (max-width: 640px) {
  .floatbnr_sp {
    display: block;
    margin: 20px auto;
    text-align: center;
    width: calc(100% - 2rem); }

  .floatbnr .btn_close_mov {
    margin-right: 35%; }

  .floatbnr_sp .new {
    position: relative;
    display: block; }

  .floatbnr_sp .new:after {
    content: "NEW";
    position: absolute;
    top: -11px;
    left: -4px;
    color: #fff;
    background-color: #ab4c67;
    font-size: 10px;
    padding: 5px 8px;
    z-index: 5;
    border: solid 1px #fff; }

  .floatbnr_sp img {
    margin-bottom: 10px; }

  .floatbnr.mov img {
    margin-bottom: 0; }

  .floatbnr {
    display: block;
    position: fixed;
    width: 40%;
    right: 10px;
    margin-right: -15%;
    z-index: 300; }

  /*.floatbnr {
      display: none;
  }
*/
  .merit_bnr {
    margin: 33px auto;
    width: 90%; }

  .CP_Bnr {
    text-align: center;
    margin: 50px auto 0;
    max-width: 375px; } }
.life_bnr {
  text-align: center;
  margin-bottom: 60px; }
/* ==========================================================================
   Access
   ========================================================================== */
.article .sub-page--visual {
  background: url("../imgs/access/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }

@media screen and (max-width: 639px) {
  .article .sub-page--visual {
    background: url("../imgs/access/MV-bg_sp.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; } }
.article .root-search {
  background: #f4f8f9;
  padding-bottom: 100px; }

@media screen and (max-width: 639px) {
  .article .root-search {
    padding-bottom: 40px; } }
.article .root-search .root-search--text {
  text-align: center;
  font-size: 18px; }

.article .simulation-box h4 {
  margin-top: 70px; }

.article .simulation-box .simulation-text {
  margin-top: 40px; }

.article .simulation-box .caution-style {
  margin-top: 20px; }

.article .car-access--box {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
  align-items: center; }

@media screen and (max-width: 639px) {
  .article .car-access--box {
    margin-top: 20px; } }
.article .car-access--box .car-access--inner:first-child {
  padding: 10px 15px 10px 0; }

.article .car-access--box .car-access--inner:last-child {
  max-width: 806px; }

.article .bas-access--box {
  display: flex;
  justify-content: space-between;
  margin-top: 70px; }

@media screen and (max-width: 639px) {
  .article .bas-access--box {
    margin-top: 20px; } }
.article .bas-access--box .bas-access--inner h4 {
  margin-bottom: 25px; }

.article .bas-access--box .bas-access--inner .caution-style {
  margin-top: 20px; }

.article .bas-access--box .bas-access--inner:first-child {
  padding-right: 20px; }

.article .bas-access--box .bas-access--inner:last-child {
  padding-left: 20px; }

.station-access-rute-inner {
  margin-top: 25px;
  text-align: center; }

.station-access-rute-inner .button-style--neutral {
  margin: 25px auto 15px;
  font-size: 16px;
  width: 100%;
  max-width: 300px; }

.station-access-rute-inner .button-style--neutral button {
  width: 100%;
  font-size: 16px; }

.station-access-rute-inner-form {
  margin: 0 auto;
  position: relative;
  background: url(../imgs/access/img03.png) 50% 50% no-repeat; }

@media screen and (max-width: 1100px) {
  .station-access-rute-inner-form {
    background-size: 10vw; } }
.station-access-rute-inner-left {
  float: left;
  width: 45%; }

.station-access-rute-inner-left .circle {
  display: inline-block;
  background: #004165;
  width: 90px;
  height: 90px;
  line-height: 90px;
  font-size: 1.25em;
  color: #fff;
  border-radius: 50%;
  vertical-align: middle; }

@media screen and (max-width: 639px) {
  .station-access-rute-inner-left .circle {
    margin-bottom: 10px; } }
.station-access-rute-inner-left .circle span {
  line-height: 1.2;
  display: inline-block;
  margin-top: 24px; }

.station-access-rute-inner-left input {
  border: 1px solid #c0c4c3;
  padding: 12px 10px 12px 20px;
  border-radius: 0px;
  width: 50%;
  display: inline-block;
  margin-left: 12px;
  cursor: pointer;
  background: #fff;
  font-size: 16px; }

@media screen and (max-width: 979px) {
  .station-access-rute-inner-left input {
    width: 30%; } }
@media screen and (max-width: 639px) {
  .station-access-rute-inner-left input {
    width: 48%;
    margin-right: 12px;
    margin-left: 0; } }
.station-access-rute-inner-left .text {
  display: inline-block;
  font-size: 1.25em;
  margin-left: 12px; }

@media screen and (max-width: 639px) {
  .station-access-rute-inner-left .text {
    margin-left: 0px;
    margin: 10px 0; } }
.station-access-rute-inner-right {
  float: right;
  width: 45%; }

.station-access-rute-inner-right .circle {
  display: inline-block;
  background: #004165;
  width: 90px;
  height: 90px;
  line-height: 90px;
  font-size: 1.25em;
  color: #fff;
  border-radius: 50%;
  vertical-align: middle; }

@media screen and (max-width: 639px) {
  .station-access-rute-inner-right .circle {
    margin-bottom: 10px; } }
.station-access-rute-inner-right input {
  border: 1px solid #c0c4c3;
  padding: 12px 10px 12px 20px;
  background: #fff;
  border-radius: 0px;
  width: 50%;
  display: inline-block;
  margin-left: 12px;
  background: #fff;
  font-size: 16px; }

@media screen and (max-width: 979px) {
  .station-access-rute-inner-right input {
    width: 30%; } }
@media screen and (max-width: 639px) {
  .station-access-rute-inner-right input {
    width: 48%;
    margin-right: 12px;
    margin-left: 0; } }
.station-access-rute-inner-right .text {
  display: inline-block;
  font-size: 1.25em;
  margin-left: 12px; }

@media screen and (max-width: 639px) {
  .station-access-rute-inner-right .text {
    margin-left: 0px;
    margin: 10px 0; } }
@media screen and (max-width: 767px) {
  .article .bas-access--box {
    display: flex;
    flex-wrap: wrap; }

  .article .bas-access--box .bas-access--inner {
    width: 100%; }

  .article .bas-access--box .bas-access--inner:first-child {
    padding-right: 0px; }

  .article .bas-access--box .bas-access--inner:last-child {
    padding-left: 0px;
    margin-top: 40px; }

  .article .bas-access--box .bas-access--inner img {
    width: 100%; } }
.access-town {
  margin: 40px auto;
  text-align: center; }

.access-town img {
  max-width: 1000%;
  width: 100%; }

/* ==========================================================================
   Location
   ========================================================================== */
.location .sub-page--visual {
  background: url("../imgs/location/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }

.location .location-map {
  text-align: center; }

.location .location-map .location-map--inner {
  display: inline-block; }

.location .column-2-full {
  margin-top: 60px; }

@media screen and (max-width: 639px) {
  .location .column-2-full {
    margin-top: 40px; }

  .location .column-2-full .column-2-full--inner .column-text {
    margin-top: 20px; } }
.location #container {
  padding-top: 0px; }

.location .mapContainer {
  overflow: hidden;
  margin-top: 80px; }

.w50 {
  width: 49% !important; }

@media screen and (max-width: 767px) {
  .w50 {
    width: 100% !important; } }
.w33 {
  width: 32.5% !important; }

@media screen and (max-width: 767px) {
  .w33 {
    width: 100% !important; } }
.w66 {
  width: 66% !important; }

@media screen and (max-width: 767px) {
  .w66 {
    width: 100% !important; } }
.cap {
  background: none;
  color: #999;
  font-size: 10.5px;
  line-height: 1.5;
  padding-top: 5px;
  letter-spacing: 0; }

.mb3 {
  margin-bottom: 30px !important; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

@media screen and (max-width: 767px) {
  .flex {
    display: block; } }
.between {
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }

.adminArea {
  background: #f4f8f9;
  padding: 60px 0 30px;
  margin-top: 80px;
  border-top: solid 1px #004165;
  border-bottom: solid 1px #004165; }

@media screen and (max-width: 639px) {
  .adminArea {
    margin-top: 30px; } }
.adminArea h3 {
  position: relative; }

.adminArea h3:after {
  content: "";
  border-bottom: 2px solid #004165;
  position: absolute;
  width: 40px;
  bottom: -28px;
  left: 48%; }

@media screen and (max-width: 767px) {
  .adminArea h3 img {
    display: none; } }
@media screen and (max-width: 767px) {
  .adminArea h3 {
    margin-bottom: 30px;
    max-width: 100%;
    font-size: 19px;
    letter-spacing: -0.02em; } }
.adminArea h3 .blue {
  color: #004165; }

.adminArea .adMain {
  margin-bottom: 20px; }

.adminArea .adMain li {
  background: #FFF;
  margin-bottom: 20px;
  border: solid 1px #004165; }

.adminArea .adMain li dt {
  background: #004165;
  color: #FFF;
  padding: 5px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0; }

.adminArea .adMain li dd {
  padding: 15px;
  line-height: 1.7; }

.adminArea .adSub li {
  margin-bottom: 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 1px #004165;
  padding: 10px; }

.adminArea .adSub li dt {
  color: #004165;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  margin-bottom: 7px;
  text-align: left;
  padding-bottom: 1px;
  border-bottom: 1px solid #CCC;
  letter-spacing: 0; }

.adminArea .adSub li dd {
  line-height: 1.7; }

h3.h3-05 {
  margin-bottom: 57px;
  max-width: 396px;
  text-align: left; }

.hospital-box {
  margin-top: 70px;
  background: #f4f8f9;
  border: solid 1px #004165;
  padding: 40px; }

@media screen and (max-width: 639px) {
  .hospital-box {
    padding: 25px;
    margin-top: 20px; } }
.hospital-box h5 {
  text-align: center;
  font-size: 25px; }

@media screen and (max-width: 639px) {
  .hospital-box h5 {
    font-size: 3.5vw; } }
.hospital-box h5 strong {
  font-size: 42px; }

@media screen and (max-width: 639px) {
  .hospital-box h5 strong {
    font-size: 9vw; } }
.hospital-box .pick-up {
  margin: 30px auto;
  background: #ffffff;
  border: solid 1px #004165;
  color: #004165;
  text-align: center;
  padding: 10px;
  font-size: 16px;
  font-weight: bold;
  max-width: 190px; }

.hospital-list {
  display: flex;
  justify-content: space-around; }

@media screen and (max-width: 639px) {
  .hospital-list {
    flex-wrap: wrap; } }
.hospital-list > li {
  font-size: 16px;
  max-width: 31%; }

@media screen and (max-width: 639px) {
  .hospital-list > li {
    width: 100%;
    max-width: 100%; } }
.hospital-list > li ul li {
  padding-bottom: 30px; }

.hospital-list > li ul li span {
  display: block;
  font-size: 13px;
  padding-left: 30px; }

@media screen and (max-width: 639px) {
  .hospital-list > li ul li {
    padding-bottom: 10px; } }
/* --------------------------------------------------
MAP
-------------------------------------------------- */
.info-location__box {
  margin-top: 70px; }

.info-location__map {
  border: 1px solid #004165; }

.info-location__box-tab {
  border-top: 1px solid #004165;
  display: table;
  table-layout: fixed;
  width: 100%; }

.info-location__box-tab li {
  display: table-cell;
  width: calc(100% / 7);
  border-right: 1px solid #004165;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  height: 50px;
  line-height: 1.1;
  cursor: pointer;
  transition: 0.3s; }

.info-location__box-tab li.active {
  cursor: default; }

.info-location__box-tab li:first-child {
  border-left: 1px solid #004165; }

.info-location__box-tab li.list01:hover,
.info-location__box-tab li.list01.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list02:hover,
.info-location__box-tab li.list02.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list03:hover,
.info-location__box-tab li.list03.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list04:hover,
.info-location__box-tab li.list04.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list05:hover,
.info-location__box-tab li.list05.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list06:hover,
.info-location__box-tab li.list06.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list07:hover,
.info-location__box-tab li.list07.active {
  background: #004165;
  color: #ffffff; }

.info-location__map-slide {
  display: none; }

.info-location__map-slide.active {
  display: block; }

.info-location__map-slide-title {
  display: none; }

.info-location__map-list ol:nth-child(2n-1) {
  float: left;
  width: 49%; }

.info-location__map-list ol:nth-child(2n) {
  float: right;
  width: 49%; }

.info-location__map-list ol li {
  background: url("../../location/img/bg_dot.gif") 0 50% repeat-x; }

.info-location__map-list ol li p {
  display: inline-block;
  background: #fff; }

.info-location__map-list ol li p:nth-child(2n) {
  float: right;
  font-size: .87em;
  text-align: right; }

.info-location__map-list ol li p .num {
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  color: #fff;
  background: #cb5d7d;
  border-radius: 50%;
  text-align: center;
  font-size: .67em;
  vertical-align: baseline; }

[data-map="list01"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list02"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list03"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list04"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list05"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list06"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list07"] .info-location__map-list ol li p .num {
  background: #004165; }

.info-location__map-list ol li p .text {
  display: inline-block;
  line-height: 20px;
  vertical-align: baseline;
  margin-left: 8px;
  font-size: .87em; }

.info-location__map-list ol li p .note {
  font-size: .75em; }

.info-location__map-list ol li p .min {
  display: inline-block;
  min-width: 2.5em;
  vertical-align: baseline; }

.info-location__map-list ol li p .rute {
  display: inline-block;
  min-width: 4em;
  vertical-align: baseline; }

@media only screen and (max-width: 890px) {
  .info-location__map-list ol li p:nth-child(2n) {
    font-size: .75em; }

  .info-location__map-list ol li p .num {
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: .67em; }

  .info-location__map-list ol li p .text {
    font-size: .75em; }

  .info-location__map-list ol li p .note {
    font-size: .67em; } }
.info-location__map .map {
  width: 100%;
  height: 600px; }

@media only screen and (max-width: 767px) {
  .info-location__box {
    border: 2px solid #004165;
    border-bottom: 0;
    margin-top: 30px; }

  .info-location__box-tab {
    display: none; }

  .info-location__map {
    margin-top: 0px;
    border: none; }

  .info-location__map-slide {
    display: block; }

  .info-location__map-slide.active {
    display: block; }

  .info-location__map-slide.active .info-location__map-slide-title a:before {
    margin-top: -3px; }

  .info-location__map-slide-item {
    padding-bottom: 0px; }

  .info-location__map .info-location__map-slide-item {
    display: block;
    overflow: hidden;
    height: 0;
    max-height: 0;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease; }

  .info-location__map-slide.active .info-location__map-slide-item {
    display: block;
    height: auto;
    border-bottom: 2px solid #004165;
    height: auto;
    max-height: 100%;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease; }

  .info-location__map-slide-title {
    display: block; }

  .info-location__map-slide-title a {
    display: block;
    margin: 0 0px;
    padding: 10px 20px;
    position: relative;
    text-decoration: none;
    font-size: 1.4rem; }

  .info-location__map-slide-title a:before {
    display: block;
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -3px;
    width: 10px;
    height: 10px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transform-origin: 50% 50%;
    transition: 0.3s; }

  .info-location__map-slide.active a:before {
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg); }

  .info-location__map-slide-title a.slide01 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide01:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide02 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide02:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide03 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide03:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide04 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide04:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide05 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide05:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide06 {
    background: #004165;
    border-bottom: 4px solid #004165; }

  .info-location__map-slide-title a.slide06:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165; }

  .info-location__map-slide-title a.slide07 {
    background: #004165;
    border-bottom: 4px solid #004165; }

  .info-location__map-slide-title a.slide07:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165; }

  .info-location__map-list {
    margin-top: 20px; }

  .info-location__map-list ol:nth-child(2n-1) {
    float: none;
    width: 100%; }

  .info-location__map-list ol:nth-child(2n) {
    float: none;
    width: 100%; }

  .info-location__map-list ol li {
    background-size: 3.5px auto; }

  .info-location__map-list ol li p:nth-child(2n) {
    line-height: 2.4rem;
    font-size: .85rem;
    vertical-align: baseline; }

  .info-location__map-list ol li p .num {
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    font-size: .85rem;
    vertical-align: middle; }

  .info-location__map-list ol li p .text {
    line-height: 1.5rem;
    margin-left: 3px;
    font-size: .85rem;
    vertical-align: middle; }

  .info-location__map .map {
    width: 100%;
    height: 350px; } }
.icon-24 {
  position: relative; }

.icon-24:after {
  content: "";
  position: absolute;
  background: url("../imgs/location/24h.png");
  background-position: center;
  background-size: cover;
  display: block;
  width: 131px;
  height: 36px;
  top: -20px;
  left: -9px; }

@media screen and (max-width: 639px) {
  .icon-24:after {
    left: -10px; } }
/* ==========================================================================
   plan
   ========================================================================== */
.plan .sub-page--visual {
  background: url("../imgs/plan/mainvisual.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }

.plan .button-style--rich {
  display: inline-block; }

.plan .button-style--rich .btn-style--blue {
  padding: 25px 25px; }

@media screen and (max-width: 639px) {
  .plan .button-style--rich .btn-style--blue {
    padding: 15px 15px; } }
#point4 {
  margin-top: 70px;
  background: #f8f8f8;
  border-top: solid #004165 1px;
  border-bottom: solid #004165 1px;
  padding: 70px 20px; }

@media screen and (max-width: 639px) {
  #point4 {
    margin-top: 40px;
    padding: 40px 20px; } }
.point-column--box {
  max-width: 1100px;
  margin: 70px auto 0;
  padding: 0 0px;
  display: flex;
  /* box-shadow */
  box-shadow: 0px 0px 1px 0px #e4eaec; }

@media screen and (max-width: 639px) {
  .point-column--box {
    margin: 40px auto 0;
    flex-wrap: wrap; } }
.point-column--box .point-column--inner {
  width: 50%;
  display: flex;
  padding: 20px; }

.point-column--box .point-column--inner h4 {
  max-width: 510px; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner h4 {
    max-width: 100%; } }
.point-column--box .point-column--inner img {
  max-width: 510px;
  flex-shrink: 0; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner img {
    max-width: 100%; } }
@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner {
    width: 100%; } }
.point-column--box .point-column--inner:first-child {
  background: #f5f7f9; }

.point-column--box .point-column--inner:last-child {
  background: #fff; }

.point-column--box .point-column--inner .point-column-list {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 100%;
  max-width: 510px; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner .point-column-list {
    max-width: 100%; } }
.point-column--box .point-column--inner .point-img {
  text-align: center; }

.point-column--box .point-column--inner .point-img-inner {
  display: inline-block; }

.point-column--box .point-column--inner .point-01--img {
  text-align: center; }

.point-column--box .point-column--inner .point-01--img img {
  max-width: 258px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .point-column--box .point-column--inner .point-01--img img {
    max-width: 100%; } }
.point-column--box .point-column--inner .point-02--img {
  text-align: center; }

.point-column--box .point-column--inner .point-02--img img {
  max-width: 443px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .point-column--box .point-column--inner .point-02--img img {
    max-width: 100%; } }
.point-column--box .point-column--inner .point-03--img {
  text-align: center; }

.point-column--box .point-column--inner .point-03--img img {
  max-width: 447px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .point-column--box .point-column--inner .point-03--img img {
    max-width: 100%; } }
@media screen and (max-width: 767px) {
  .point-column--box .point-column--inner .point-column--content {
    margin-top: 30px; }

  .point-column--box .point-column--inner .point-column--content:first-child {
    margin-top: 0px; } }
.point-column--box .point-column--inner .point-column--content .point-title {
  max-width: 510px; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner .point-column--content .point-title {
    max-width: 100%; } }
.point-column--box .point-column--inner .point-column--content .point-text {
  text-align: center;
  padding: 20px; }

.point-column--box .point-column--inner .point-column--img {
  max-width: 510px; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner .point-column--img {
    max-width: 100%; } }
.type-box {
  padding: 80px 20px;
  text-align: center; }

.type-box .type-box--inner {
  max-width: 272px;
  text-align: center;
  margin: 0 auto;
  padding: 50px 70px;
  border: solid #004165 1px;
  background: #f8f8f8; }

@media screen and (max-width: 767px) {
  .type-box .type-box--inner {
    padding: 20px 15px; } }
.type-box .type-box--inner .type-box--text {
  padding: 60px 0;
  background: #f8f8f8; }

@media screen and (max-width: 767px) {
  .type-box .type-box--inner .type-box--text {
    padding: 10px 0 30px; } }
.type-box .type-box--inner .button-style--neutral button {
  width: 100%;
  font-size: 16px;
  font-family: 'Sawarabi Mincho', sans-serif; }

.type-box .type-box--link {
  display: inline-block;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.type-box .type-box--link:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
  opacity: 0.9; }

.type-box .type-box--link:hover .button-style--neutral a, .type-box .type-box--link:hover .button-style--neutral button {
  color: #ffffff;
  background: #004165; }

.type-box .type-box--link:hover .button-style--neutral a:after, .type-box .type-box--link:hover .button-style--neutral button:after {
  background: #ffffff;
  right: 25px;
  width: 35px; }

.type-box .type-box--link:hover .button-style--neutral a:before, .type-box .type-box--link:hover .button-style--neutral button:before {
  background: #ffffff;
  right: 25px; }

#type-e {
  background: #f8f8f8;
  border-top: solid 1px #004165;
  border-bottom: solid 1px #004165; }

#type-e .column-2-full .column-2-full--inner .column-2-full--textbox {
  max-width: 500px; }

#type-e .btn-style--blue {
  background: #ffffff; }

#type-e .column-title, #type-e .column-text {
  text-align: center; }

#type-e .column-title img, #type-e .column-text img {
  max-width: 270px; }

#type-e .button-style--rich {
  margin-top: 30px; }

#type-e .button-style--rich .btn-style--blue {
  text-align: center;
  padding: 15px 20px;
  border: solid 1px #004165; }

#type-e .button-style--rich .btn-style--blue:hover {
  background: #004165; }

#type-e .button-style--rich .btn-style--blue .btn-style--blue--inner .btn {
  font-size: 16px; }

#type-e button {
  width: 100%;
  font-family: 'Sawarabi Mincho', sans-serif;
  font-weight: normal; }

#type-e button p {
  font-weight: normal; }

@media screen and (max-width: 767px) {
  #type-e .column-2-full .column-2-full--inner .column-2-full--textbox {
    width: calc(100% - 40px);
    text-align: center; } }
#plan-box ul {
  display: flex;
  justify-content: center; }

@media screen and (max-width: 639px) {
  #plan-box ul {
    flex-wrap: wrap; }

  #plan-box ul .type-a {
    padding: 40px 20px 10px 20px; }

  #plan-box ul .type-c {
    padding: 10px 20px 40px 20px; } }
@media screen and (max-width: 639px) {
  .sp-padding {
    padding: 20px 20px !important; } }
.plan-type-copy {
  text-align: center;
  font-size: 14px;
  padding: 50px 0; }

/* ==========================================================================
   outline
   ========================================================================== */
.outline td {
  text-align: unset; }

.outline b {
  font-weight: bold; }

.outline .right {
  text-align: right; }

.outline table[Attributes Style] {
  width: 600px;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  background-color: #969696; }

.outline table {
  border-spacing: 0px; }

.outline table table {
  display: table;
  border-collapse: separate;
  border-spacing: 1px;
  border-color: grey; }

.outline table table td {
  padding: 5px; }

.outline table table tr td:first-child {
  background-color: #f5f8f9; }

.outline table table tr td:last-child {
  background-color: #fff; }

.bnrArea a {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.bnrArea a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7; }

/* ==========================================================================
   map
   ========================================================================== */
.map .map-block .map-img {
  text-align: center;
  margin-bottom: 65px; }

.map .map-block .map-img img {
  max-width: 798px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .map .btn-column {
    flex-wrap: wrap; }

  .map .btn-column li {
    width: 100%; }

  .map .btn-column li:first-child {
    margin-bottom: 15px; }

  .map .btn-column .button-style--inline-large a {
    display: block; } }
/* ==========================================================================
   member
   ========================================================================== */
#mem .sub-page--visual3 {
  background: url("../imgs/member/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  text-align: center; }

#mem .member-login--block {
  margin: 0 auto;
  max-width: 1100px;
  background: #f8f8f8;
  text-align: center;
  margin-top: 70px;
  position: relative; }

#mem .member-login--block .loginBg {
  padding: 60px; }

@media screen and (max-width: 639px) {
  #mem .member-login--block .loginBg {
    padding: 30px 0; } }
#mem .member-login--block .loginBg #loginForm .loginForm-text {
  text-align: center;
  font-size: 19px;
  color: #004165;
  line-height: 2;
  margin-bottom: 35px;
  font-weight: bold; }

@media screen and (max-width: 639px) {
  #mem .member-login--block .loginBg #loginForm .loginForm-text {
    font-size: 3vw;
    margin-bottom: 10px; } }
#mem .member-login--block .loginBg #loginForm input {
  border: solid #c0c4c3 1px;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 550px;
  margin: 0 auto 20px;
  padding: 10px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  text-align: center; }

#mem .button-style--neutral {
  margin-top: 0px; }

#mem .button-style--neutral button {
  padding: 10px 100px;
  margin: 0 auto; }

.login-step .obiArea {
  background: #ffffff;
  text-align: center;
  border: none; }

.login-step .obiArea .ob-title {
  margin-top: 60px;
  text-align: center;
  font-size: 28px;
  background-color: #fff; }

.login-step .obiArea .ob-title .ob-title--logo img {
  background-color: #fff; }

@media screen and (max-width: 639px) {
  .login-step .obiArea .ob-title {
    font-size: 5vw !important; } }
.login-step .obiArea .button-style--rich {
  margin: 0 auto; }

.login-step .obiArea .button-style--rich a {
  margin: auto;
  padding: 25px; }

.login-step .obiArea .ob-step ul li {
  position: relative; }

.login-step .obiArea .ob-step ul li:after {
  content: "";
  position: absolute;
  display: block;
  background: url(../imgs/member/step-arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  width: 11px;
  top: 0;
  right: -7.5%;
  bottom: 0;
  height: 100%; }

@media screen and (max-width: 639px) {
  .login-step .obiArea .ob-step ul li:after {
    transform: rotate(90deg) !important;
    top: auto !important;
    right: 0 !important;
    left: 0 !important;
    height: 35px !important;
    width: 100% !important;
    bottom: -12px !important; } }
.login-step .obiArea .ob-step ul li:last-child:after {
  display: none; }

/* ==========================================================================
   member-e
   ========================================================================== */
#mem-e .sub-page--visual3 {
  background: url("../imgs/member_login/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  text-align: center; }

@media screen and (max-width: 639px) {
  #mem-e .sub-page--visual3 {
    background: url("../imgs/member_login/MV-bg_sp.jpg"); } }
#mem-e .member-login--block {
  margin: 0 auto;
  max-width: 1100px;
  background: #f8f8f8;
  text-align: center;
  margin-top: 70px;
  position: relative; }

#mem-e .member-login--block .loginBg {
  padding: 60px; }

#mem-e .member-login--block .loginBg #loginForm .loginForm-text {
  text-align: center;
  font-size: 19px;
  color: #004165;
  line-height: 2;
  margin-bottom: 35px;
  font-weight: bold; }

#mem-e .member-login--block .loginBg #loginForm input {
  border: solid #c0c4c3 1px;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 550px;
  margin: 0 auto 20px;
  padding: 10px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  text-align: center; }

#mem-e .button-style--neutral {
  margin-top: 0px; }

#mem-e .button-style--neutral button {
  padding: 10px 100px;
  margin: 0 auto; }

#mem-e .copy-style--clear {
  color: #4c483b; }

#mem-e #point4 {
  margin-top: 0px;
  border: none;
  background: #fff; }

#mem-e #point4 h3 {
  text-align: center; }

#mem-e #point4 .point-column--box {
  box-shadow: none; }

#mem-e #point4 .point-column--box .point-column--inner {
  background: #ffffff; }

#mem-e #point4 .point-large {
  font-size: 14px;
  line-height: 2.3; }

@media screen and (max-width: 767px) {
  #mem-e #point4 .point-large {
    font-size: 13px; }

  #mem-e #point4 .point-large br {
    line-height: 2;
    display: none; } }
@media screen and (max-width: 767px) {
  #mem-e #point4 .point-text br {
    display: none; } }
.panorama-box {
  height: 350px;
  background: url("../imgs/member_login/slide-img01.jpg");
  background-position: center bottom;
  background-size: cover;
  margin-top: 50px; }

.login-step .obiArea {
  background: #ffffff;
  text-align: center;
  border: none; }

.login-step .obiArea .ob-title {
  margin-top: 60px;
  text-align: center;
  font-size: 28px; }

.login-step .obiArea .button-style--rich {
  margin: 0 auto; }

.login-step .obiArea .button-style--rich a {
  margin: auto;
  padding: 25px; }

.login-step .obiArea .ob-step ul li {
  position: relative; }

@media screen and (max-width: 639px) {
  .login-step .obiArea .ob-step ul li {
    margin-bottom: 40px;
    padding-bottom: 40px; } }
.login-step .obiArea .ob-step ul li:after {
  content: "";
  position: absolute;
  display: block;
  background: url(../imgs/member/step-arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  width: 11px;
  top: 0;
  right: -7.5%;
  bottom: 0;
  height: 100%; }

@media screen and (max-width: 639px) {
  .login-step .obiArea .ob-step ul li:last-child {
    margin-bottom: 0px;
    padding-bottom: 20px; } }
.login-step .obiArea .ob-step ul li:last-child:after {
  display: none; }

.movie-box {
  margin-top: 70px; }

@media screen and (max-width: 767px) {
  .movie-box {
    margin-top: 40px; } }
.movie-box ul {
  display: flex;
  justify-content: space-between; }

@media screen and (max-width: 767px) {
  .movie-box ul {
    flex-wrap: wrap; } }
.movie-box ul li {
  width: 48%; }

@media screen and (max-width: 767px) {
  .movie-box ul li {
    width: 100%;
    margin-top: 30px; }

  .movie-box ul li:first-child {
    margin-top: 0px; } }
.movie-box ul li .youtube-text {
  text-align: center;
  margin-top: 20px;
  font-size: 18px; }

@media screen and (max-width: 767px) {
  .movie-box ul li .youtube-text {
    margin-top: 10px;
    font-size: 16px; } }
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

/*パノラマ*/
#view {
  padding: 0;
  margin: 50px auto 0;
  text-align: center; }

#view .guide {
  padding: 0; }

#view .guide li {
  padding: 0; }

#view .box_view {
  position: relative;
  width: 100%;
  max-width: 960px;
  height: 450px;
  margin: 0 auto;
  text-align: left; }

#view .viewArea {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden; }

#view .slider {
  position: absolute;
  left: -299px; }

#view .slider li {
  width: 1558px; }

#view .slider li img {
  width: 110%;
  left: 0;
  right: 0;
  position: relative; }

#view .prev, #view .next {
  padding: 0;
  font-size: 2.4rem;
  line-height: 2.0;
  position: absolute;
  font-family: 'arrow';
  height: 50px;
  width: 50px;
  text-align: center;
  top: 0;
  bottom: 0;
  margin: auto;
  color: #fff; }

#view .prev {
  left: 20px; }

#view .next {
  right: 20px; }

#view .visible {
  display: block; }

#view .hidden {
  display: none; }

@media only screen and (max-width: 639px) {
  #view {
    padding: 5% 0; }

  #view .guide {
    width: 93.75%;
    margin: 0 auto;
    padding: 0 0 3%; }

  #view .slider {
    left: -380px; }

  #view .slider li {
    width: 1558px; }

  #view .box_view {
    position: relative;
    width: 100%;
    height: 450px;
    margin: 0 auto; }

  #view .prev, #view .next {
    background: transparent;
    padding: 0px;
    font-size: 0;
    line-height: 1;
    position: absolute;
    font-family: 'arrow';
    width: 10%;
    text-align: center;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    text-shadow: 0px 0px 5px #000; } }
/* ==========================================================================
   concept
   ========================================================================== */
.concept .breadcrumb {
  margin-bottom: 10px; }

.concept section {
  position: relative; }

.concept section:after {
  content: "image";
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }

.concept .concept-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 150px 30px;
  max-width: 1100px;
  margin: auto; }

@media screen and (max-width: 639px) {
  .concept .concept-inner {
    padding: 25px 20px 40px; } }
.concept .concept-inner h2 {
  margin-bottom: 40px; }

@media screen and (max-width: 639px) {
  .concept .concept-inner h2 {
    margin-bottom: 10px; } }
.concept .concept-inner .concept-point-text {
  margin-bottom: 40px; }

.concept .concept-inner .concept-point-box .concept-point-inner {
  text-align: center;
  padding: 50px 40px;
  background-color: rgba(255, 255, 255, 0.95); }

@media screen and (max-width: 639px) {
  .concept .concept-inner .concept-point-box .concept-point-inner {
    padding: 20px; } }
.concept .concept-inner .concept-point-box .concept-point-img {
  display: inline-block; }

.concept .concept-inner .concept-point-box .concept-point-img .photo-caution {
  margin-top: 10px; }

.concept .concept-inner .button-box {
  max-width: 400px;
  margin: 30px auto 0; }

.concept .concept-inner .btn-list {
  display: flex; }

@media screen and (max-width: 639px) {
  .concept .concept-inner .btn-list {
    flex-wrap: wrap; } }
.concept .concept-inner .btn-list li {
  width: 50%;
  margin-left: -1px; }

@media screen and (max-width: 639px) {
  .concept .concept-inner .btn-list li {
    width: 100%;
    margin-left: 0px;
    margin-top: -1px; } }
.concept .concept-inner .cooming_soon {
  pointer-events: none; }

.concept .concept-inner .cooming_soon a {
  color: #c0c4c3;
  border-color: #c0c4c3; }

.concept .concept-inner .cooming_soon a:before {
  background: #c0c4c3; }

.concept .concept-inner .cooming_soon a:after {
  background: #c0c4c3; }

.concept #main {
  background: url("../imgs/concept/mainvisual-bg.png") #f7f6f4;
  background-position: center;
  background-size: cover; }

@media screen and (max-width: 639px) {
  .concept #main {
    background: url("../imgs/concept/mainvisual-bg_sp.jpg") #f7f6f4;
    background-position: center;
    background-size: cover; }

  .concept #main .concept-inner {
    padding: 0; } }
.concept #point01 {
  background: url("../imgs/concept/point1-bg.jpg");
  background-position: center;
  background-size: cover; }

.concept #point02 {
  background: url("../imgs/concept/point2-bg.jpg");
  background-position: center;
  background-size: cover; }

.concept #point02 .concept-inner {
  justify-content: flex-end; }

.concept #point03 {
  background: url("../imgs/concept/point3-bg.jpg");
  background-position: center;
  background-size: cover; }

.concept #point04 {
  background: url("../imgs/concept/point4-bg.jpg");
  background-position: center;
  background-size: cover; }

.concept #point04 .concept-inner {
  justify-content: flex-start; }

.concept #conceptvisual {
  padding: 0px 0px; }

.concept #conceptvisual:after {
  content: "外観完成予想CG";
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }

.concept #conceptvisual .concept-inner {
  padding: 0px 0px;
  margin: 0;
  max-width: 100%; }

/* ==========================================================================
   bloomoi
   ========================================================================== */
.bloomoi-content .blm_logo01 {
  text-align: center; }

.bloomoi-content .blm_logo01 img {
  max-width: 276px; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_logo01 img {
    width: 40vw; } }
.bloomoi-content .blm_heading01a, .bloomoi-content .blm_heading01b, .bloomoi-content .blm_heading01c {
  text-align: center;
  margin-top: 80px;
  margin-bottom: 40px;
  padding-bottom: 40px;
  position: relative; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_heading01a, .bloomoi-content .blm_heading01b, .bloomoi-content .blm_heading01c {
    margin-top: 60px; } }
.bloomoi-content .blm_heading01a img, .bloomoi-content .blm_heading01b img, .bloomoi-content .blm_heading01c img {
  max-width: 560px; }

.bloomoi-content .blm_heading01a:after, .bloomoi-content .blm_heading01b:after, .bloomoi-content .blm_heading01c:after {
  content: "";
  background-color: #000;
  display: block;
  width: 72px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -36px; }

.bloomoi-content .blm_text {
  max-width: 560px;
  margin: 0 auto 80px;
  line-height: 2;
  letter-spacing: 1px; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_text {
    margin-bottom: 40px; } }
.bloomoi-content .blm_text-mb-min {
  margin-bottom: 40px; }

.bloomoi-content .blm_blueConcept {
  background: #7dcaca;
  text-align: center;
  padding: 0 20px; }

.bloomoi-content .blm_blueConcept .blm_heading02 {
  padding: 24px 0 40px 0; }

.bloomoi-content .blm_blueConcept .blm_heading02 img {
  max-width: 560px; }

.bloomoi-content .blm_blueConcept .blm_blueConcept--list3 {
  max-width: 960px;
  margin: 0 auto 0;
  padding-bottom: 75px; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 {
    padding-bottom: 40px; } }
.bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul {
  display: flex;
  justify-content: space-between; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul {
    flex-wrap: wrap;
    justify-content: center; } }
.bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul li {
  max-width: 300px;
  width: 32%; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul li {
    width: 80%;
    margin-bottom: 30px;
    max-width: 100%; }

  .bloomoi-content .blm_blueConcept .blm_blueConcept--list3 ul li:last-child {
    margin-bottom: 0px; } }
.bloomoi-content .blm_more--box {
  padding: 0 20px;
  max-width: 700px;
  margin: 0 auto 80px; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_more--box {
    margin-bottom: 40px; } }
.bloomoi-content .blm_more--box .blm_more--box--inner {
  position: relative; }

.bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--bg {
  background: #000000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--bg.blm_more--bg--on {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
  opacity: 0.3;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--btn {
  position: absolute;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  top: 50%;
  left: 50px;
  margin-top: 40px; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--btn {
    top: 50%;
    left: 4vw;
    margin-top: 6vw;
    width: 20vw; } }
.bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--btn img {
  max-width: 110px; }

.bloomoi-content .blm_more--box .blm_more--box--inner .blm_more--btn:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1; }

.bloomoi-content .blm_sns_list {
  padding: 0 20px;
  max-width: 560px;
  margin: 0 auto 80px; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_sns_list {
    margin-bottom: 40px; } }
.bloomoi-content .blm_sns_list ul {
  display: flex;
  justify-content: space-between; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_sns_list ul {
    flex-wrap: wrap;
    justify-content: center; } }
.bloomoi-content .blm_sns_list ul li {
  max-width: 180px;
  width: 32.5%; }

@media screen and (max-width: 639px) {
  .bloomoi-content .blm_sns_list ul li {
    width: 60%;
    margin-bottom: 20px;
    max-width: 100%; }

  .bloomoi-content .blm_sns_list ul li:last-child {
    margin-bottom: 0px; } }
.bloomoi-content .blm_sns_list ul li a {
  display: block;
  background: #666666;
  position: relative;
  padding-bottom: 4px; }

.bloomoi-content .blm_sns_list ul li a:after {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  height: 4px;
  width: 100%;
  bottom: 0;
  background: #72c4ce;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.bloomoi-content .blm_sns_list ul li a:hover:after {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  bottom: 0;
  background: #72c4ce;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.bloomoi-content .blm_sns_list ul li a img {
  position: relative;
  z-index: 10; }

.bloomoi-content .blm_archive .blm_archive--inner {
  margin-bottom: 40px; }

.bloomoi-content .blm_archive .cap-list {
  margin-bottom: 0; }

.bloomoi-content .blm_archive .cap-list li {
  color: #000 !important;
  font-size: 12px; }

html {
  font-size: 100%;
  font-family: 'Sawarabi Mincho',"游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

@media screen and (max-width: 639px) {
  html {
    min-height: 0; } }
* {
  font-family: 'Sawarabi Mincho',"游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important; }

sup {
  font-size: 10px;
  vertical-align: text-top; }

/* ==========================================================================
   mar/pad
   ========================================================================== */
.mt--0 {
  margin-top: 0px !important; }

.mt--5 {
  margin-top: 5px !important; }

.mt--10 {
  margin-top: 10px !important; }

.mt--20 {
  margin-top: 20px !important; }

.mt--30 {
  margin-top: 30px !important; }

.mt--40 {
  margin-top: 40px !important; }

.mt--50 {
  margin-top: 50px !important; }

.mt--60 {
  margin-top: 60px !important; }

.mt--70 {
  margin-top: 70px !important; }

.mt--80 {
  margin-top: 80px !important; }

.mt--90 {
  margin-top: 90px !important; }

.mt--100 {
  margin-top: 100px !important; }

.mb--0 {
  margin-bottom: 0px !important; }

.mb--5 {
  margin-bottom: 5px !important; }

.mb--10 {
  margin-bottom: 10px !important; }

.mb--20 {
  margin-bottom: 20px !important; }

.mb--30 {
  margin-bottom: 30px !important; }

.mb--40 {
  margin-bottom: 40px !important; }

.mb--50 {
  margin-bottom: 50px !important; }

.mb--60 {
  margin-bottom: 60px !important; }

.mb--70 {
  margin-bottom: 70px !important; }

.mb--80 {
  margin-bottom: 80px !important; }

.mb--90 {
  margin-bottom: 90px !important; }

.mb--100 {
  margin-bottom: 100px !important; }

.mr--0 {
  margin-right: 0px !important; }

.mr--5 {
  margin-right: 5px !important; }

.mr--10 {
  margin-right: 10px !important; }

.mr--20 {
  margin-right: 20px !important; }

.mr--30 {
  margin-right: 30px !important; }

.mr--40 {
  margin-right: 40px !important; }

.mr--50 {
  margin-right: 50px !important; }

.mr--60 {
  margin-right: 60px !important; }

.mr--70 {
  margin-right: 70px !important; }

.mr--80 {
  margin-right: 80px !important; }

.mr--90 {
  margin-right: 90px !important; }

.mr--100 {
  margin-right: 100px !important; }

.ml--0 {
  margin-left: 0px !important; }

.ml--5 {
  margin-left: 5px !important; }

.ml--10 {
  margin-left: 10px !important; }

.ml--20 {
  margin-left: 20px !important; }

.ml--30 {
  margin-left: 30px !important; }

.ml--40 {
  margin-left: 40px !important; }

.ml--50 {
  margin-left: 50px !important; }

.ml--60 {
  margin-left: 60px !important; }

.ml--70 {
  margin-left: 70px !important; }

.ml--80 {
  margin-left: 80px !important; }

.ml--90 {
  margin-left: 90px !important; }

.ml--100 {
  margin-left: 100px !important; }

.pt--0 {
  padding-top: 0px !important; }

.pt--5 {
  padding-top: 5px !important; }

.pt--10 {
  padding-top: 10px !important; }

.pt--15 {
  padding-top: 15px !important; }

.pt--20 {
  padding-top: 20px !important; }

.pt--30 {
  padding-top: 30px !important; }

.pt--40 {
  padding-top: 40px !important; }

.pt--50 {
  padding-top: 50px !important; }

.pt--60 {
  padding-top: 60px !important; }

.pt--70 {
  padding-top: 70px !important; }

.pt--80 {
  padding-top: 80px !important; }

.pt--90 {
  padding-top: 90px !important; }

.pt--100 {
  padding-top: 100px !important; }

.pb--0 {
  padding-bottom: 0px !important; }

.pb--5 {
  padding-bottom: 5px !important; }

.pb--10 {
  padding-bottom: 10px !important; }

.pb--20 {
  padding-bottom: 20px !important; }

.pb--30 {
  padding-bottom: 30px !important; }

.pb--40 {
  padding-bottom: 40px !important; }

.pb--50 {
  padding-bottom: 50px !important; }

.pb--60 {
  padding-bottom: 60px !important; }

.pb--70 {
  padding-bottom: 70px !important; }

.pb--80 {
  padding-bottom: 80px !important; }

.pb--90 {
  padding-bottom: 90px !important; }

.pb--100 {
  padding-bottom: 100px !important; }

.pr--0 {
  padding-right: 0px !important; }

.pr--5 {
  padding-right: 5px !important; }

.pr--10 {
  padding-right: 10px !important; }

.pr--20 {
  padding-right: 20px !important; }

.pr--30 {
  padding-right: 30px !important; }

.pr--40 {
  padding-right: 40px !important; }

.pr--50 {
  padding-right: 50px !important; }

.pr--60 {
  padding-right: 60px !important; }

.pr--70 {
  padding-right: 70px !important; }

.pr--80 {
  padding-right: 80px !important; }

.pr--90 {
  padding-right: 90px !important; }

.pr--100 {
  padding-right: 100px !important; }

.pl--0 {
  padding-left: 0px !important; }

.pl--5 {
  padding-left: 5px !important; }

.pl--10 {
  padding-left: 10px !important; }

.pl--20 {
  padding-left: 20px !important; }

.pl--30 {
  padding-left: 30px !important; }

.pl--40 {
  padding-left: 40px !important; }

.pl--50 {
  padding-left: 50px !important; }

.pl--60 {
  padding-left: 60px !important; }

.pl--70 {
  padding-left: 70px !important; }

.pl--80 {
  padding-left: 80px !important; }

.pl--90 {
  padding-left: 90px !important; }

.pl--100 {
  padding-left: 100px !important; }

/* ==========================================================================
   common
   ========================================================================== */
.wrap-mini {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center; }

.cap-list {
  margin-bottom: 80px; }

@media screen and (max-width: 639px) {
  .cap-list {
    margin-bottom: 40px;
    padding: 0 20px; } }
.cap-list li {
  font-size: 12px;
  color: #777777;
  text-indent: -12px;
  padding-left: 12px; }

.cap {
  font-size: 12px;
  color: #777777;
  text-indent: -12px;
  padding-left: 12px;
  font-family: 'Sawarabi Mincho', sans-serif; }

img {
  max-width: 100%; }

.wrap {
  max-width: 1110px; }

.wrap-mini--1100 {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px; }

.wrap-mini--1000 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px; }

.sp {
  display: none; }

@media screen and (max-width: 639px) {
  .pc {
    display: none !important; }

  .sp {
    display: block; } }
.align-left {
  text-align: left !important; }

.align-center {
  text-align: center !important; }

.align-right {
  text-align: right !important; }

.align-right--pc {
  text-align: right; }

@media screen and (max-width: 767px) {
  .align-right--pc {
    text-align: left; } }
/* ==========================================================================
   title
   ========================================================================== */
.sectionTtl {
  text-align: center;
  margin-top: 100px;
  position: relative; }

@media screen and (max-width: 639px) {
  .sectionTtl {
    margin-top: 50px; } }
.sectionTtl h3 {
  display: inline-block;
  color: #004165;
  font-size: 30px;
  line-height: 1.2;
  background: #ffffff;
  position: relative;
  z-index: 1;
  padding: 0 30px; }

@media screen and (max-width: 639px) {
  .sectionTtl h3 {
    font-size: 24px;
    line-height: 1.5; } }
.sectionTtl h3 span {
  color: #919fa7;
  display: block;
  font-size: 14px; }

.sectionTtl .black {
  color: #4c483b !important; }

.sectionTtl:before {
  content: "";
  display: block;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: #c0c4c3;
  position: absolute; }

.sectionTtl strong {
  font-size: 40px; }

@media screen and (max-width: 639px) {
  .sectionTtl strong {
    font-size: 30px; } }
/* ==========================================================================
   文字 装飾
   ========================================================================== */
.dl-style01 {
  text-align: center;
  margin-top: 15px; }

.dl-style01 dt {
  font-size: 15px; }

.dl-style01 dd {
  font-size: 16px; }

.dl-style01 dd span {
  font-size: 25px; }

.dl-style01 dd span strong {
  font-size: 36px; }

.dl-style01 dd .strong-light {
  font-size: 25px; }

.dl-style02 {
  text-align: center;
  margin-top: 15px; }

.dl-style02 dt {
  font-size: 18px; }

.dl-style02 dd {
  font-size: 14px; }

.dl-style02 dd span {
  font-size: 14px; }

.dl-style02 dd span strong {
  font-size: 16px; }

.dl-style02 dd .strong-light {
  font-size: 16px; }

.copyTtl-style01 {
  margin-top: 50px; }

.copy-style--clear {
  margin-top: 60px;
  text-align: center;
  color: #898989;
  font-size: 30px; }

@media screen and (max-width: 639px) {
  .copy-style--clear {
    font-size: 5.5vw; } }
/* ==========================================================================
   レイアウト系
   ========================================================================== */
.column-2-full {
  display: flex;
  align-items: center;
  justify-content: center; }

@media screen and (max-width: 639px) {
  .column-2-full {
    flex-wrap: wrap; } }
.column-2-full .column-2-full--inner {
  width: 50%;
  position: relative;
  overflow: hidden; }

@media screen and (max-width: 639px) {
  .column-2-full .column-2-full--inner {
    width: 100%; } }
.column-2-full .column-2-full--inner .caption-text {
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }

@media screen and (max-width: 639px) {
  .column-2-full .column-2-full--inner .caption-text {
    font-size: 10px; } }
.column-2-full .column-2-full--inner .column-2-full--textbox {
  max-width: 450px;
  display: inline-block;
  text-align: left;
  padding: 20px 50px; }

@media screen and (max-width: 639px) {
  .column-2-full .column-2-full--inner .column-2-full--textbox {
    padding: 20px;
    max-width: 100%; } }
.column-2-full .column-2-full--inner .column-text {
  margin-top: 30px;
  line-height: 2; }

@media screen and (max-width: 639px) {
  .column-2-full .column-2-full--inner .column-full--img img {
    width: 100%; } }
.column-2-full--reverse {
  flex-direction: row-reverse; }

.column-2-full--reverse .column-2-full--inner {
  text-align: right; }

.column-2-custom-rich--wrap {
  position: relative; }

.column-2-custom-rich--wrap:before {
  content: "";
  width: 1px;
  height: 100px;
  background: #004165;
  display: block;
  position: absolute;
  top: -40px;
  left: -40px; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich--wrap:before {
    left: -10px;
    top: -20px; } }
.column-2-custom-rich--wrap:after {
  content: "";
  width: 1px;
  height: 100px;
  background: #004165;
  display: block;
  position: absolute;
  bottom: -40px;
  right: -40px; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich--wrap:after {
    right: -10px;
    bottom: -20px; } }
.column-2-custom-rich {
  align-items: stretch;
  position: relative;
  padding: 30px 0; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich {
    margin-top: 70px !important;
    padding: 20px 0; } }
.column-2-custom-rich:before {
  content: "";
  width: 200px;
  height: 1px;
  background: #004165;
  display: block;
  position: absolute;
  top: 0;
  left: -80px; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich:before {
    left: -20px; } }
.column-2-custom-rich:after {
  content: "";
  width: 200px;
  height: 1px;
  background: #004165;
  display: block;
  position: absolute;
  bottom: 0;
  right: -80px; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich:after {
    right: -20px; } }
.column-2-custom-rich .column-2-full--inner .column-2-full--textbox {
  padding: 0px 50px 0 0;
  max-width: 500px; }

.column-3-full {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px -1.5% 0; }

@media screen and (max-width: 767px) {
  .column-3-full {
    margin: 20px 0 0; } }
.column-3-full .column-3-full--inner {
  width: 31%;
  padding: 0 1% 2%; }

@media screen and (max-width: 767px) {
  .column-3-full .column-3-full--inner {
    width: 100%;
    padding: 0 0 2%; } }
.column-3-full .column-3-full--inner img {
  width: 100%; }

.column-2-gallery {
  margin-top: 40px; }

.column-2-gallery ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.column-2-gallery ul li {
  width: 48%;
  margin-bottom: 30px; }

@media screen and (max-width: 767px) {
  .column-2-gallery ul li {
    width: 100%; } }
.column-2-gallery ul li .column-full--img img {
  width: 100%; }

.column-2-neutral {
  display: flex;
  align-items: center; }

@media screen and (max-width: 639px) {
  .column-2-neutral {
    display: block; } }
.column-2-neutral .column-2-neutral-inner {
  max-width: 50%; }

@media screen and (max-width: 639px) {
  .column-2-neutral .column-2-neutral-inner {
    max-width: 100%; } }
.column-2-neutral .column-2-neutral-inner:first-child {
  padding-right: 20px; }

@media screen and (max-width: 639px) {
  .column-2-neutral .column-2-neutral-inner:first-child {
    padding-right: 0px; } }
/* ==========================================================================
   ボタン系
   ========================================================================== */
.btn-column {
  display: flex;
  justify-content: center; }

.btn-column li {
  margin: 0 10px; }

.button-style--neutral {
  font-size: 16px; }

.button-style--neutral a, .button-style--neutral button {
  position: relative;
  display: block;
  text-align: center;
  border: 1px solid #004165;
  padding: 5px 60px;
  background: #ffffff;
  color: #004165;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--neutral a, .button-style--neutral button {
    padding: 15px 60px; } }
.button-style--neutral a:after, .button-style--neutral button:after {
  content: "";
  right: 30px;
  bottom: 10px;
  width: 30px;
  height: 1px;
  background: #004165;
  position: absolute;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--neutral a:after, .button-style--neutral button:after {
    bottom: 15px; } }
.button-style--neutral a:before, .button-style--neutral button:before {
  content: "";
  right: 30px;
  bottom: 14px;
  width: 15px;
  height: 1px;
  background: #004165;
  position: absolute;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transform: rotate(30deg); }

@media screen and (max-width: 639px) {
  .button-style--neutral a:before, .button-style--neutral button:before {
    bottom: 19px; } }
.button-style--neutral a:hover, .button-style--neutral button:hover {
  color: #ffffff;
  background: #004165; }

.button-style--neutral a:hover:after, .button-style--neutral button:hover:after {
  background: #ffffff;
  right: 25px;
  width: 35px; }

.button-style--neutral a:hover:before, .button-style--neutral button:hover:before {
  background: #ffffff;
  right: 25px; }

.button-style--neutral.hover-reverse {
  font-size: 16px; }

.button-style--neutral.hover-reverse a, .button-style--neutral.hover-reverse button {
  position: relative;
  display: block;
  text-align: center;
  border: 1px solid #004165;
  padding: 5px 60px;
  background: #004165;
  color: #ffffff;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--neutral.hover-reverse a, .button-style--neutral.hover-reverse button {
    padding: 15px 60px; } }
.button-style--neutral.hover-reverse a:after, .button-style--neutral.hover-reverse button:after {
  content: "";
  right: 30px;
  bottom: 10px;
  width: 30px;
  height: 1px;
  background: #ffffff;
  position: absolute;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--neutral.hover-reverse a:after, .button-style--neutral.hover-reverse button:after {
    bottom: 15px; } }
.button-style--neutral.hover-reverse a:before, .button-style--neutral.hover-reverse button:before {
  content: "";
  right: 30px;
  bottom: 14px;
  width: 15px;
  height: 1px;
  background: #ffffff;
  position: absolute;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transform: rotate(30deg); }

@media screen and (max-width: 639px) {
  .button-style--neutral.hover-reverse a:before, .button-style--neutral.hover-reverse button:before {
    bottom: 19px; } }
.button-style--neutral.hover-reverse a:hover, .button-style--neutral.hover-reverse button:hover {
  color: #004165;
  background: #ffffff; }

.button-style--neutral.hover-reverse a:hover:after, .button-style--neutral.hover-reverse button:hover:after {
  background: #004165;
  right: 25px;
  width: 35px; }

.button-style--neutral.hover-reverse a:hover:before, .button-style--neutral.hover-reverse button:hover:before {
  background: #004165;
  right: 25px; }

.button-style--inline-large {
  text-align: center; }

.button-style--inline-large a {
  display: inline-block;
  padding: 10px 100px; }

.button-style--rich {
  padding: 0;
  background-color: #ffffff;
  color: #004165;
  max-width: 346px;
  width: 100%; }

.button-style--rich .txt {
  color: #004165;
  font-size: 14px;
  font-weight: bold;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn {
  background: none;
  line-height: 1;
  color: #004165;
  font-size: 26px;
  width: auto;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn {
    font-size: 4vw; } }
.button-style--rich .btn-style--blue {
  position: relative;
  border: solid 2px #004165;
  padding: 15px 20px;
  display: block; }

.button-style--rich .btn-style--blue:after {
  content: "";
  border-top: 10px solid #004165;
  border-right: 10px solid #004165;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:after {
    border-top: 6px solid #004165;
    border-right: 6px solid #004165;
    border-bottom: 6px solid transparent;
    border-left: 6px solid transparent; } }
.button-style--rich .btn-style--blue:before {
  content: "";
  border-top: 10px solid #004165;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #004165;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:before {
    border-top: 6px solid #004165;
    border-right: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #004165; } }
.button-style--rich .btn-style--blue .btn-style--blue--inner {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue .btn-style--blue--inner:after {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid #004165;
  border-bottom: 10px solid #004165;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue .btn-style--blue--inner:after {
    border-top: 6px solid transparent;
    border-right: 6px solid #004165;
    border-bottom: 6px solid #004165;
    border-left: 6px solid transparent; } }
.button-style--rich .btn-style--blue .btn-style--blue--inner:before {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #004165;
  border-left: 10px solid #004165;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue .btn-style--blue--inner:before {
    border-top: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #004165;
    border-left: 6px solid #004165; } }
.button-style--rich .btn-style--blue:hover {
  opacity: 1;
  background: #004165; }

.button-style--rich .btn-style--blue:hover .txt {
  color: #ffffff; }

.button-style--rich .btn-style--blue:hover .btn {
  color: #ffffff; }

.button-style--rich .btn-style--blue:hover:after {
  content: "";
  border-top: 10px solid #ffffff;
  border-right: 10px solid #ffffff;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:hover:after {
    border-top: 6px solid #ffffff;
    border-right: 6px solid #ffffff;
    border-bottom: 6px solid transparent;
    border-left: 6px solid transparent; } }
.button-style--rich .btn-style--blue:hover:before {
  content: "";
  border-top: 10px solid #ffffff;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #ffffff;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:hover:before {
    border-top: 6px solid #ffffff;
    border-right: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #ffffff; } }
.button-style--rich .btn-style--blue:hover .btn-style--blue--inner:after {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid #ffffff;
  border-bottom: 10px solid #ffffff;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:hover .btn-style--blue--inner:after {
    border-top: 6px solid transparent;
    border-right: 6px solid #ffffff;
    border-bottom: 6px solid #ffffff;
    border-left: 6px solid transparent; } }
.button-style--rich .btn-style--blue:hover .btn-style--blue--inner:before {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #ffffff;
  border-left: 10px solid #ffffff;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:hover .btn-style--blue--inner:before {
    border-top: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #ffffff;
    border-left: 6px solid #ffffff; } }
.button-style--rich .btn-style--blue-mini {
  position: relative;
  border: solid 2px #004165;
  padding: 15px 20px;
  display: block; }

.button-style--rich .btn-style--blue-mini:after {
  content: "";
  border-top: 7px solid #004165;
  border-right: 7px solid #004165;
  border-bottom: 7px solid transparent;
  border-left: 7px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini:before {
  content: "";
  border-top: 7px solid #004165;
  border-right: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid #004165;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini .btn-style--blue--inner {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini .btn-style--blue--inner:after {
  content: "";
  border-top: 7px solid transparent;
  border-right: 7px solid #004165;
  border-bottom: 7px solid #004165;
  border-left: 7px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini .btn-style--blue--inner:before {
  content: "";
  border-top: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #004165;
  border-left: 7px solid #004165;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini:hover {
  opacity: 1;
  background: #004165; }

.button-style--rich .btn-style--blue-mini:hover .txt {
  color: #ffffff; }

.button-style--rich .btn-style--blue-mini:hover .btn {
  color: #ffffff; }

.button-style--rich .btn-style--blue-mini:hover:after {
  content: "";
  border-top: 7px solid #ffffff;
  border-right: 7px solid #ffffff;
  border-bottom: 7px solid transparent;
  border-left: 7px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px; }

.button-style--rich .btn-style--blue-mini:hover:before {
  content: "";
  border-top: 7px solid #ffffff;
  border-right: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid #ffffff;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px; }

.button-style--rich .btn-style--blue-mini:hover .btn-style--blue--inner:after {
  content: "";
  border-top: 7px solid transparent;
  border-right: 7px solid #ffffff;
  border-bottom: 7px solid #ffffff;
  border-left: 7px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px; }

.button-style--rich .btn-style--blue-mini:hover .btn-style--blue--inner:before {
  content: "";
  border-top: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ffffff;
  border-left: 7px solid #ffffff;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px; }

@keyframes linear {
  from {
    background-position: 0 0; }
  to {
    background-position: 200px 0; } }
@keyframes radial {
  from {
    background-position: 0 0; }
  to {
    background-position: 0 60px; } }
@keyframes repeating {
  from {
    background-position: 0 0; }
  to {
    background-position: 0 85px; } }
@keyframes electronic {
  0%, 100% {
    background-position: 10px -30px; }
  25% {
    background-position: 120px -5px; }
  50% {
    background-position: 10px 20px; }
  75% {
    background-position: -130px -5px; } }
@font-face {
  font-family: "open";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTZ1r3JsPcQLi8jytr04NNhU.woff) format("woff"); }
.biliboard {
  position: relative; }

.biliboard *, .biliboard *:before, .biliboard *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.biliboard:before {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  border-radius: 3px;
  transform: scale(1, 1.08);
  position: absolute;
  background: #f00;
  background: linear-gradient(90deg, #fafafa, #fafafa, #004165, #fafafa, #fafafa);
  background-position: 55px 0;
  animation: linear 1s infinite linear;
  z-index: -1; }

.biliboard.radial:before {
  background: radial-gradient(#fafafa, #fafafa, #004165, #fafafa, #fafafa);
  animation: radial 1s infinite linear; }

.biliboard.repeating:before {
  background: repeating-linear-gradient(-45deg, #fafafa, #fafafa 30px, #004165 30px, #004165 60px) fixed;
  animation: repeating 1s infinite linear; }

.biliboard.electronic:before {
  background: radial-gradient(#004165, #004165, #004165, #004165, #fafafa, #fafafa, #fafafa) no-repeat;
  background-size: 150px 40px;
  animation: electronic 5s infinite linear; }

/* ==========================================================================
   中ページ
   ========================================================================== */
.sub-page--visual {
  height: 460px;
  overflow: hidden; }

.sub-page--visual:before {
  content: ""; }

.sub-page--visual .sub-page--visual--inner {
  max-width: 1140px;
  margin: 0 auto;
  width: 100%;
  padding: 0 20px; }

.sub-page--visual .sub-page--visual--inner h1 {
  display: inline-block;
  padding: 40px 40px 40px 0;
  position: relative; }

.sub-page--visual .sub-page--visual--inner h1 img {
  position: relative;
  z-index: 1; }

.sub-page--visual .sub-page--visual--inner h1:before {
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  background: #ffffff;
  width: 100vw;
  top: 0;
  right: 0;
  opacity: 0.8; }

@media screen and (max-width: 639px) {
  .sub-page--visual .sub-page--visual--inner.sub-page--visual--inner--mini h1 {
    display: inline-block;
    padding: 3vw 3vw 3vw 0; }

  .sub-page--visual .sub-page--visual--inner.sub-page--visual--inner--mini h1 img {
    width: 56vw; } }
.sub-page--visual2 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 0 50px; }

.sub-page--visual3 {
  height: 420px; }

.sub-page--visual3 .sub-page--visual3--inner {
  max-width: 1000px;
  margin: 0 auto; }

.copy-title {
  text-align: center;
  margin-bottom: 60px; }

@media screen and (max-width: 639px) {
  .copy-title {
    margin-bottom: 30px; } }
.caution-style {
  font-size: 12px;
  padding-left: 13px;
  text-indent: -13px; }

.photo-caution {
  font-size: 12px;
  text-align: right;
  margin-top: 20px; }

@media screen and (max-width: 639px) {
  .photo-caution {
    font-size: 10px; } }
#bloomoi {
  /*.expand{
      @media screen and (max-width: 667px) {
          background: url(../imgs/common/expand@2x.png) no-repeat center top;
          padding-top: 57px;
          background-size: 262px 47px;
      }
  }*/ }

@media screen and (min-width: 667px) {
  #bloomoi .sp {
    display: none !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pc {
    display: none !important; } }
#bloomoi .center {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important; }

@media screen and (max-width: 667px) {
  #bloomoi .center_sp {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important; } }
#bloomoi .tal {
  text-align: left !important; }

@media screen and (max-width: 667px) {
  #bloomoi .tal_sp {
    text-align: left !important; } }
#bloomoi .fl {
  float: left; }

#bloomoi .fr {
  float: right; }

#bloomoi .fl_sp {
  float: left; }

@media screen and (max-width: 667px) {
  #bloomoi .fl_sp {
    float: none; } }
#bloomoi .fr_sp {
  float: right; }

@media screen and (max-width: 667px) {
  #bloomoi .fr_sp {
    float: none; } }
#bloomoi .clear {
  clear: both;
  *zoom: 1; }

#bloomoi .clear:before, #bloomoi .clear:after {
  content: "";
  display: table; }

#bloomoi .clear:after {
  clear: both; }

#bloomoi .cf {
  *zoom: 1; }

#bloomoi .cf:before, #bloomoi .cf:after {
  content: "";
  display: table; }

#bloomoi .cf:after {
  clear: both; }

#bloomoi .mb0 {
  margin-bottom: 0px !important; }

#bloomoi .mb1 {
  margin-bottom: 10px !important; }

#bloomoi .mb2 {
  margin-bottom: 20px !important; }

#bloomoi .mb3 {
  margin-bottom: 30px !important; }

#bloomoi .mb4 {
  margin-bottom: 40px !important; }

#bloomoi .mb5 {
  margin-bottom: 50px !important; }

#bloomoi .mb6 {
  margin-bottom: 60px !important; }

#bloomoi .mb7 {
  margin-bottom: 70px !important; }

#bloomoi .mb8 {
  margin-bottom: 80px !important; }

#bloomoi .mb9 {
  margin-bottom: 90px !important; }

#bloomoi .mb10 {
  margin-bottom: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .mb0_sp {
    margin-bottom: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb1_sp {
    margin-bottom: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb2_sp {
    margin-bottom: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb3_sp {
    margin-bottom: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb4_sp {
    margin-bottom: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb5_sp {
    margin-bottom: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb6_sp {
    margin-bottom: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb7_sp {
    margin-bottom: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb8_sp {
    margin-bottom: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb9_sp {
    margin-bottom: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb10_sp {
    margin-bottom: 100px !important; } }
#bloomoi .mt0 {
  margin-top: 0px !important; }

#bloomoi .mt1 {
  margin-top: 10px !important; }

#bloomoi .mt2 {
  margin-top: 20px !important; }

#bloomoi .mt3 {
  margin-top: 30px !important; }

#bloomoi .mt4 {
  margin-top: 40px !important; }

#bloomoi .mt5 {
  margin-top: 50px !important; }

#bloomoi .mt6 {
  margin-top: 60px !important; }

#bloomoi .mt7 {
  margin-top: 70px !important; }

#bloomoi .mt8 {
  margin-top: 80px !important; }

#bloomoi .mt9 {
  margin-top: 90px !important; }

#bloomoi .mt10 {
  margin-top: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .mt0_sp {
    margin-top: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt1_sp {
    margin-top: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt2_sp {
    margin-top: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt3_sp {
    margin-top: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt4_sp {
    margin-top: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt5_sp {
    margin-top: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt6_sp {
    margin-top: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt7_sp {
    margin-top: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt8_sp {
    margin-top: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt9_sp {
    margin-top: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt10_sp {
    margin-top: 100px !important; } }
#bloomoi .mr0 {
  margin-right: 0px !important; }

#bloomoi .mr1 {
  margin-right: 10px !important; }

#bloomoi .mr2 {
  margin-right: 20px !important; }

#bloomoi .mr3 {
  margin-right: 30px !important; }

#bloomoi .mr4 {
  margin-right: 40px !important; }

#bloomoi .mr5 {
  margin-right: 50px !important; }

#bloomoi .mr6 {
  margin-right: 60px !important; }

#bloomoi .mr7 {
  margin-right: 70px !important; }

#bloomoi .mr8 {
  margin-right: 80px !important; }

#bloomoi .mr9 {
  margin-right: 90px !important; }

#bloomoi .mr10 {
  margin-right: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .mr0_sp {
    margin-right: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr1_sp {
    margin-right: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr2_sp {
    margin-right: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr3_sp {
    margin-right: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr4_sp {
    margin-right: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr5_sp {
    margin-right: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr6_sp {
    margin-right: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr7_sp {
    margin-right: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr8_sp {
    margin-right: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr9_sp {
    margin-right: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr10_sp {
    margin-right: 100px !important; } }
#bloomoi .ml0 {
  margin-left: 0px !important; }

#bloomoi .ml1 {
  margin-left: 10px !important; }

#bloomoi .ml2 {
  margin-left: 20px !important; }

#bloomoi .ml3 {
  margin-left: 30px !important; }

#bloomoi .ml4 {
  margin-left: 40px !important; }

#bloomoi .ml5 {
  margin-left: 50px !important; }

#bloomoi .ml6 {
  margin-left: 60px !important; }

#bloomoi .ml7 {
  margin-left: 70px !important; }

#bloomoi .ml8 {
  margin-left: 80px !important; }

#bloomoi .ml9 {
  margin-left: 90px !important; }

#bloomoi .ml10 {
  margin-left: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .ml0_sp {
    margin-left: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml1_sp {
    margin-left: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml2_sp {
    margin-left: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml3_sp {
    margin-left: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml4_sp {
    margin-left: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml5_sp {
    margin-left: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml6_sp {
    margin-left: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml7_sp {
    margin-left: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml8_sp {
    margin-left: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml9_sp {
    margin-left: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml10_sp {
    margin-left: 100px !important; } }
#bloomoi .pt0 {
  padding-top: 0px !important; }

#bloomoi .pt1 {
  padding-top: 10px !important; }

#bloomoi .pt2 {
  padding-top: 20px !important; }

#bloomoi .pt3 {
  padding-top: 30px !important; }

#bloomoi .pt4 {
  padding-top: 40px !important; }

#bloomoi .pt5 {
  padding-top: 50px !important; }

#bloomoi .pt6 {
  padding-top: 60px !important; }

#bloomoi .pt7 {
  padding-top: 70px !important; }

#bloomoi .pt8 {
  padding-top: 80px !important; }

#bloomoi .pt9 {
  padding-top: 90px !important; }

#bloomoi .pt10 {
  padding-top: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .pt0_sp {
    padding-top: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt1_sp {
    padding-top: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt2_sp {
    padding-top: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt3_sp {
    padding-top: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt4_sp {
    padding-top: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt5_sp {
    padding-top: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt6_sp {
    padding-top: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt7_sp {
    padding-top: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt8_sp {
    padding-top: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt9_sp {
    padding-top: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt10_sp {
    padding-top: 100px !important; } }
#bloomoi .pb0 {
  padding-bottom: 0px !important; }

#bloomoi .pb1 {
  padding-bottom: 10px !important; }

#bloomoi .pb2 {
  padding-bottom: 20px !important; }

#bloomoi .pb3 {
  padding-bottom: 30px !important; }

#bloomoi .pb4 {
  padding-bottom: 40px !important; }

#bloomoi .pb5 {
  padding-bottom: 50px !important; }

#bloomoi .pb6 {
  padding-bottom: 60px !important; }

#bloomoi .pb7 {
  padding-bottom: 70px !important; }

#bloomoi .pb8 {
  padding-bottom: 80px !important; }

#bloomoi .pb9 {
  padding-bottom: 90px !important; }

#bloomoi .pb10 {
  padding-bottom: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .pb0_sp {
    padding-bottom: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb1_sp {
    padding-bottom: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb2_sp {
    padding-bottom: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb3_sp {
    padding-bottom: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb4_sp {
    padding-bottom: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb5_sp {
    padding-bottom: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb6_sp {
    padding-bottom: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb7_sp {
    padding-bottom: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb8_sp {
    padding-bottom: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb9_sp {
    padding-bottom: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb10_sp {
    padding-bottom: 100px !important; } }
#bloomoi .w05 {
  width: 4% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w05 {
    width: 100% !important; } }
#bloomoi .w10 {
  width: 9% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w10 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w10_sp {
    width: 9% !important; } }
#bloomoi .w15 {
  width: 14% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w15 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w15_sp {
    width: 14% !important; } }
#bloomoi .w20 {
  width: 19% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w20 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w20_sp {
    width: 19% !important; } }
#bloomoi .w25 {
  width: 24% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w25 {
    width: 100% !important; } }
#bloomoi .w30 {
  width: 29% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w30 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w30_sp {
    width: 29% !important; } }
#bloomoi .w33 {
  width: 32% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w33 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w33_sp {
    width: 32% !important; } }
#bloomoi .w35 {
  width: 34% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w35 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w35_sp {
    width: 34% !important; } }
#bloomoi .w40 {
  width: 39% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w40 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w40_sp {
    width: 39% !important; } }
#bloomoi .w45 {
  width: 44% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w45 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w45_sp {
    width: 44% !important; } }
#bloomoi .w49 {
  width: 48% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w49 {
    width: 100% !important; } }
#bloomoi .w50 {
  width: 49% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w50 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w50_sp {
    width: 49% !important; } }
#bloomoi .w53 {
  width: 52% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w53 {
    width: 100% !important; } }
#bloomoi .w55 {
  width: 54% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w55 {
    width: 100% !important; } }
#bloomoi .w60 {
  width: 59% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w60 {
    width: 100% !important; } }
#bloomoi .w65 {
  width: 64% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w65 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w60_sp {
    width: 59% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w65_sp {
    width: 64% !important; } }
#bloomoi .w66 {
  width: 66% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w66 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w66_sp {
    width: 66% !important; } }
#bloomoi .w70 {
  width: 69% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w70 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w70_sp {
    width: 69% !important; } }
#bloomoi .w75 {
  width: 74% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w75 {
    width: 100% !important; } }
#bloomoi .w80 {
  width: 79% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w80 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w80_sp {
    width: 79% !important; } }
#bloomoi .w83 {
  width: 82% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w83 {
    width: 100% !important; } }
#bloomoi .w85 {
  width: 84% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w85 {
    width: 100% !important; } }
#bloomoi .w88 {
  width: 88% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w88 {
    width: 100% !important; } }
#bloomoi .w90 {
  width: 89% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w90 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w85_sp {
    width: 84% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w90_sp {
    width: 89% !important; } }
#bloomoi .w95 {
  width: 94% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w95 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w95_sp {
    width: 94% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w25_sp {
    width: 24% !important; } }
#bloomoi .w75 {
  width: 74% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w75 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w75_sp {
    width: 74% !important; } }
#bloomoi img.w100 {
  max-width: 100% !important; }

#bloomoi .flex {
  display: flex;
  flex-wrap: wrap; }

#bloomoi .flex img {
  max-width: 100%; }

@media screen and (max-width: 667px) {
  #bloomoi .flex {
    display: block; }

  #bloomoi .flex.sp-flex {
    display: flex;
    flex-wrap: wrap; } }
@media screen and (max-width: 667px) {
  #bloomoi .sp-flex {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    flex-wrap: wrap; } }
#bloomoi .between {
  justify-content: space-between;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }

#bloomoi .a-center {
  align-items: center; }

#bloomoi .bold {
  font-weight: bold; }

@media screen and (max-width: 667px) {
  #bloomoi img {
    max-width: 100%; } }
#bloomoi a {
  outline: none; }

#bloomoi a:focus {
  outline: none; }

#bloomoi a.fade:hover {
  opacity: 0.7;
  transition: .3s; }

.main-visual-caution {
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }

@media screen and (max-width: 639px) {
  .main-visual-caution {
    font-size: 10px; } }
/* ==========================================================================
   アニメーション
   ========================================================================== */
.fade-anime {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  position: relative;
  top: 2px; }

.ef-fade01 {
  opacity: 0;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5; }

.fade01 {
  opacity: 1.0;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5; }

.flex-direction-nav .flex-prev {
  transform: scale(0.5, 0.5); }

.flex-direction-nav .flex-next {
  transform: scale(0.5, 0.5); }

.style-block {
  display: block !important; }

/* ==========================================================================
   client maint
   ========================================================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/* ==========================================================================
   header
   ========================================================================== */
.header .headerInner {
  background: #ffffff;
  padding: 15px 0;
  border-top: 3px solid #004165; }

#pNav {
  position: absolute;
  top: -5px;
  right: 0; }

#pNav li {
  vertical-align: middle;
  padding-top: 5px; }

/*
#pNav li.req a, #pNav li.res a {
  font-size: 13px;
  line-height: 30px;
  color: #004165;
  background: #fff !important;
  font-family: 'Sawarabi Mincho', sans-serif;
  position: relative;
  z-index: 1;
  overflow: hidden; }
*/
/*
#pNav li.req a:after, #pNav li.res a:after {
  content: "";
  background: #b2d6ec !important;
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  z-index: -1;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border: solid 1px #ffffff; }
*/
#pNav li.req a:hover, #pNav li.res a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  color: #004165; }

#pNav li.req a:hover:after, #pNav li.res a:hover:after {
  background: #ffffff !important;
  border: solid 1px #ffffff; }

#pNav li.res a {
  color: #ffffff !important; }

#gNav {
  background: #ffffff;
  border-top: 1px solid #c0c4c3;
  border-bottom: 1px solid #c0c4c3; }

#gNav ul {
  display: table;
  width: 100%; }

#gNav ul li {
  display: table-cell;
  text-align: center; }

#gNav ul li a {
  padding: 0px 0px;
  font-size: 12px;
  display: block;
  overflow: hidden;
  position: relative;
  font-family: 'Sawarabi Mincho', sans-serif; }

#gNav ul li a:hover {
  background: #004165;
  color: #ffffff !important; }

#gNav ul li a:hover .nav-ruby {
  color: #ffffff !important; }

#gNav ul li a:before {
  content: "";
  width: 1px;
  background: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0; }

#gNav ul li a p {
  border-left: 1px solid #c0c4c3;
  margin: 10px 0;
  position: relative;
  z-index: 1; }

@media screen and (max-width: 767px) {
  #gNav ul li a p {
    letter-spacing: normal; } }
#gNav ul li a .nav-ruby {
  color: #004165;
  font-size: 10px; }

#gNav ul li:last-child a p {
  border-right: 1px solid #c0c4c3; }

#gNav ul .on a {
  background: #004165;
  color: #ffffff !important; }

#gNav ul .on a .nav-ruby {
  color: #ffffff !important; }

#gNav ul .off a {
  opacity: 1.0;
  color: #bbbbbb; }

#gNav ul .off a .nav-ruby {
  color: #bbbbbb; }

@media screen and (max-width: 639px) {
  .header .headerInner {
    padding: 0px 0 0; }

  #sNav li {
    width: 25%; }

  #sNav li a {
    background-color: #ffffff;
    color: #004165; }

  #gNav ul {
    display: flex;
    flex-wrap: wrap; }

  #gNav ul li {
    display: flex;
    width: 50% !important; }

  #gNav ul li:nth-child(odd) p {
    border-left: none; } }
/* ==========================================================================
   footer
   ========================================================================== */
#contactArea {
  background-color: #f5f8f9; }

#contactArea .txt02 {
  line-height: 140%; }

#fNav {
  background: #ffffff;
  border-top: 1px solid #c0c4c3;
  border-bottom: 1px solid #c0c4c3;
  margin-bottom: 0; }

#fNav ul {
  display: table;
  width: 100%; }

#fNav ul li {
  display: table-cell;
  text-align: center;
  border: none;
  padding: 0; }

#fNav ul li a {
  padding: 0px 0px;
  font-size: 12px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  display: block;
  overflow: hidden;
  letter-spacing: normal;
  font-family: 'Sawarabi Mincho', sans-serif;
  position: relative; }

#fNav ul li a:hover {
  background: #004165;
  color: #ffffff !important;
  text-decoration: none; }

#fNav ul li a:hover .nav-ruby {
  color: #ffffff !important; }

#fNav ul li a:before {
  content: "";
  width: 1px;
  background: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0; }

#fNav ul li a p {
  border-left: 1px solid #c0c4c3;
  margin: 16px 0;
  position: relative;
  z-index: 1; }

#fNav ul li a .nav-ruby {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  color: #004165;
  font-size: 10px;
  letter-spacing: normal; }

#fNav ul li:last-child a p {
  border-right: 1px solid #c0c4c3; }

@media screen and (max-width: 767px) {
  #fNav ul li:last-child a p {
    border-right: none; } }
#fNav ul .sp {
  display: none; }

@media screen and (max-width: 639px) {
  #fNav ul .pc {
    display: none !important; }

  #fNav ul .sp {
    display: block; } }
#fNav ul .on {
  font-weight: normal; }

#fNav ul .on a {
  background: #004165;
  color: #ffffff; }

#fNav ul .on a .nav-ruby {
  color: #ffffff; }

#fNav ul .off a {
  opacity: 1.0;
  color: #bbbbbb; }

#fNav ul .off a .nav-ruby {
  color: #bbbbbb; }

.contactInner {
  justify-content: center; }

.cvArea {
  margin-bottom: 60px;
  margin-top: 60px; }

.cvArea .cv {
  padding: 0;
  background-color: #ffffff;
  color: #004165;
  max-width: 346px; }

.cvArea .cv .txt {
  color: #004165;
  font-size: 14px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.cvArea .cv .btn {
  background: none;
  line-height: 1;
  color: #004165;
  font-size: 26px;
  width: auto;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.cvArea .cv .btn-style--blue {
  position: relative;
  border: solid 2px #004165;
  padding: 15px 20px; }

.cvArea .cv .btn-style--blue:after {
  content: "";
  border-top: 10px solid #004165;
  border-right: 10px solid #004165;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.cvArea .cv .btn-style--blue:before {
  content: "";
  border-top: 10px solid #004165;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #004165;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.cvArea .cv .btn-style--blue .btn-style--blue--inner:after {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid #004165;
  border-bottom: 10px solid #004165;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.cvArea .cv .btn-style--blue .btn-style--blue--inner:before {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #004165;
  border-left: 10px solid #004165;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.cvArea .cv .btn-style--blue:hover {
  opacity: 1;
  background: #004165; }

.cvArea .cv .btn-style--blue:hover .txt {
  color: #ffffff; }

.cvArea .cv .btn-style--blue:hover .btn {
  color: #ffffff; }

.cvArea .cv .btn-style--blue:hover:after {
  content: "";
  border-top: 10px solid #ffffff;
  border-right: 10px solid #ffffff;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px; }

.cvArea .cv .btn-style--blue:hover:before {
  content: "";
  border-top: 10px solid #ffffff;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #ffffff;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px; }

.cvArea .cv .btn-style--blue:hover .btn-style--blue--inner:after {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid #ffffff;
  border-bottom: 10px solid #ffffff;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px; }

.cvArea .cv .btn-style--blue:hover .btn-style--blue--inner:before {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #ffffff;
  border-left: 10px solid #ffffff;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px; }

@media screen and (max-width: 639px) {
  #fNav ul {
    display: flex;
    flex-wrap: wrap;
    border-left: none; }

  #fNav ul li {
    display: flex;
    width: 50%; }

  #fNav ul li p span {
    padding: 0; }

  #fNav ul li:nth-child(odd) p {
    border-left: none; }

  .cvArea {
    margin-bottom: 40px;
    margin-top: 40px; }

  .cvArea .cv {
    margin: 0 auto 5px auto !important; }

  .cvArea .cv .btn-style--blue .txt {
    font-size: 12px; }

  .cvArea .cv .btn {
    font-size: 20px; } }
html, body {
  width: 100%;
  height: 100%; }

/* ==========================================================================
   top
   ========================================================================== */
.main .slider {
  max-width: 100%; }

.main .flex-control-nav {
  display: none; }

#top .l-top-line-bg-01 {
  background: url("../imgs/top/line-top-left-01-blue.png");
  background-position: top left;
  background-size: cover;
  width: 468px;
  height: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #top .l-top-line-bg-01 {
    background-size: 100% auto;
    width: 100%; } }
#top .l-top-line-bg-02 {
  background: url("../imgs/top/line-top-left-02-blue.png");
  background-position: top left;
  background-size: cover;
  height: 617px;
  width: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #top .l-top-line-bg-02 {
    background-size: 100% auto;
    height: 30vw; } }
#top .r-top-line-bg-01 {
  background: url("../imgs/top/line-top-right-01-blue.png");
  background-position: center;
  background-size: bottom right;
  width: 471px;
  height: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #top .r-top-line-bg-01 {
    background-size: 100% auto;
    width: 100%; } }
#top .r-top-line-bg-02 {
  background: url("../imgs/top/line-top-right-02-blue.png");
  background-position: center;
  background-size: bottom right;
  height: 613px;
  width: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #top .r-top-line-bg-02 {
    background-size: 100% auto;
    height: 30vw; } }
#top .pointArea {
  border-top: 1px solid #c0c4c3;
  border-bottom: 1px solid #c0c4c3; }

#top .pointArea p {
  max-width: 1110px;
  margin: 0 auto; }

#top .pointArea p img {
  width: 100%; }

#top .column-2-full {
  margin-top: 100px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1; }

#top .column-2-full:first-child {
  margin-top: 150px; }

@media screen and (max-width: 639px) {
  #top .column-2-full:first-child {
    margin-top: 20px; } }
#top .column-2-full:last-child {
  margin-bottom: 150px; }

@media screen and (max-width: 1100px) {
  #top .column-2-full:last-child {
    margin-bottom: 32vw; } }
@media screen and (max-width: 639px) {
  #top .column-2-full:last-child {
    margin-bottom: 0px; } }
@media screen and (max-width: 1100px) {
  #top .column-2-full {
    margin-top: 28vw; } }
@media screen and (max-width: 639px) {
  #top .column-2-full {
    margin-top: 0px; } }
#top .column-2-full .column-2-full--inner {
  overflow: visible; }

@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner .caption-text {
    bottom: 35px; } }
#top .column-2-full .column-2-full--inner:first-child {
  right: -100px;
  width: 55%; }

#top .column-2-full .column-2-full--inner:first-child:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #c0c4c3;
  top: -15px;
  left: -15px;
  position: absolute;
  z-index: -1; }

@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner:first-child {
    right: 0px;
    left: 0px;
    width: 90%;
    margin-top: 30px; } }
@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner:last-child {
    margin-top: -52px; } }
#top .column-2-full .column-2-full--inner .column-2-full--textbox {
  max-width: 550px;
  position: relative; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax {
  border: 1px solid #c0c4c3;
  background: #ffffff; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax:before {
  content: "";
  top: -40px;
  left: -1px;
  width: 1px;
  height: 40px;
  display: block;
  position: absolute;
  background: #c0c4c3; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax:after {
  content: "";
  top: -1px;
  left: -40px;
  width: 40px;
  height: 1px;
  display: block;
  position: absolute;
  background: #c0c4c3; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner {
  padding: 30px; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner:before {
  content: "";
  bottom: -40px;
  right: -1px;
  width: 1px;
  height: 40px;
  display: block;
  position: absolute;
  background: #c0c4c3; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-2-full--textbox-parallax .column-2-full--textbox-parallax--inner:after {
  content: "";
  bottom: -1px;
  right: -40px;
  width: 40px;
  height: 1px;
  display: block;
  position: absolute;
  background: #c0c4c3; }

#top .column-2-full .column-2-full--inner .column-2-full--textbox .column-title {
  width: 90%; }

@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner .column-2-full--textbox .column-title {
    width: 100%; } }
@media screen and (max-width: 1100px) {
  #top .column-2-full .column-2-full--inner .column-2-full--textbox {
    transform: scale(0.8, 0.8);
    padding: 0;
    max-width: 100%;
    width: 104%; } }
#top .column-2-full .column-2-full--inner .caption-text {
  bottom: 15px;
  right: auto;
  left: 20px; }

#top .column-2-full .button-style--neutral {
  margin-top: 30px; }

#top .column-2-full--reverse .column-2-full--inner:first-child {
  left: -100px;
  right: auto; }

@media screen and (max-width: 639px) {
  #top .column-2-full--reverse .column-2-full--inner:first-child {
    right: 0px;
    left: 0px; } }
#top .column-2-full--reverse .column-2-full--inner .caption-text {
  bottom: 15px;
  right: 20px;
  left: auto; }

@media screen and (max-width: 639px) {
  #top .column-2-full--reverse .column-2-full--inner .caption-text {
    bottom: 35px; } }
#top .bt-request-foot .button-style--rich {
  margin: auto;
  width: -webkit-fill-available;
  max-width: 440px; }

#top .bt-request-foot .button-style--rich .btn-style--blue {
  padding: 25px 25px; }

@media screen and (max-width: 639px) {
  #top .column-2-full .column-2-full--inner .column-text {
    font-size: 16px; }

  #top .column-2-full .column-2-full--inner .column-text br {
    display: none; } }
#info {
  background-color: #ffffff;
  display: block; }

#info .infotxtInner {
  margin-top: 30px !important;
  height: auto !important;
  font-size: 16px; }

#info .infotxtInner ul {
  display: flex;
  justify-content: center; }

#info .infotxtInner ul li dl {
  display: flex; }

#info .infotxtInner ul li dl dt {
  color: #004165; }

#info .infotxtInner ul li dl dd {
  padding-left: 15px; }

.obiArea {
  background: #f8f8f8;
  border-bottom: 1px solid #c0c4c3;
  margin-bottom: 0; }

.obiArea .ob-title {
  margin-top: 0px; }

.obiArea .ob-title img {
  background: #f8f8f8; }

.obiArea .ob-text {
  color: #004165;
  font-size: 18px;
  font-weight: bold; }

.obiArea .bt-request-foot {
  margin: 50px 0; }

.obiArea .ob-step {
  margin: 50px 0; }

.obiArea .ob-step ul {
  display: flex;
  justify-content: center; }

.obiArea .ob-step ul li {
  width: 31%;
  max-width: 343px;
margin-right: 20px;
}

.obiArea .ob-step ul li img {
  width: 100%; }

@media screen and (max-width: 639px) {
  .obiArea .ob-title {
    margin-top: 0px; }

  .obiArea .altText {
    color: #004165;
    font-weight: bold;
    font-size: 5vw; } }
@media screen and (max-width: 639px) and (max-width: 349px) {
  .obiArea .altText {
    font-size: 4.5vw; } }
@media screen and (max-width: 639px) {
  .obiArea .bt-request-foot {
    margin: 25px 0; }

  .obiArea .ob-text {
    font-size: 3vw;
    padding: 10px 0 !important;
    width: 100%;
    line-height: 2; }

  .obiArea .ob-step {
    margin: 30px 0 0px; }

  .obiArea .ob-step ul {
    flex-wrap: wrap;
    justify-content: center; }

  .obiArea .ob-step ul li {
    max-width: 100%;
    width: 90%;
    margin-bottom: 20px; }

  .obiArea .ob-step ul li:last-child {
    margin-bottom: 0px; }

  #top .bt-request-foot .button-style--rich {
    margin: auto;
    width: -webkit-fill-available;
    max-width: 85%; }

  #top .bt-request-foot .button-style--rich .btn-style--blue {
    padding: 15px 15px; } }
.load-top {
  overflow: hidden;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  top: 0;
  background: #fff;
  z-index: 99999; }

.load-top .load-top--inner {
  max-width: 80%;
  margin-top: -50px;
  background: #fff;
  position: relative;
  z-index: 10;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0; }

#LINE {
  position: relative;
  overflow: hidden; }

#LINE:after {
  content: "";
  background: url("../imgs/top/line-left.png");
  background-position: center;
  background-size: cover;
  width: 468px;
  height: 617px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0; }

@media screen and (max-width: 767px) {
  #LINE:after {
    background: url("../imgs/top/line-left--sp.png");
    background-position: center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    opacity: 1; } }
#LINE .l-line-bg-01 {
  background: url("../imgs/top/line-left-01-blue.png");
  background-position: top left;
  background-size: cover;
  width: 468px;
  height: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #LINE .l-line-bg-01 {
    display: none; } }
#LINE .l-line-bg-01-gray {
  background: url("../imgs/top/line-left-01-gray.png");
  background-position: top left;
  background-size: cover; }

#LINE .l-line-bg-02 {
  background: url("../imgs/top/line-left-02-blue.png");
  background-position: top left;
  background-size: cover;
  height: 617px;
  width: 0px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #LINE .l-line-bg-02 {
    display: none; } }
#LINE .l-line-bg-02-gray {
  background: url("../imgs/top/line-left-02-gray.png");
  background-position: top left;
  background-size: cover; }

#LINE .r-line-bg-01 {
  background: url("../imgs/top/line-right-01-blue.png");
  background-position: center;
  background-size: bottom right;
  width: 471px;
  height: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #LINE .r-line-bg-01 {
    display: none; } }
#LINE .r-line-bg-01-gray {
  background: url("../imgs/top/line-right-01-gray.png");
  background-position: center;
  background-size: bottom right; }

#LINE .r-line-bg-02 {
  background: url("../imgs/top/line-right-02-blue.png");
  background-position: center;
  background-size: bottom right;
  height: 613px;
  width: 0px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1; }

@media screen and (max-width: 767px) {
  #LINE .r-line-bg-02 {
    display: none; } }
#LINE .r-line-bg-02-gray {
  background: url("../imgs/top/line-right-02-gray.png");
  background-position: center;
  background-size: bottom right; }

#LINE .line-animation-box .l-bg {
  background: #f8f8f8;
  background-position: center;
  background-size: cover;
  width: 0px;
  height: 617px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 15; }

@media screen and (max-width: 767px) {
  #LINE .line-animation-box .l-bg {
    width: 100%;
    height: 100%; } }
#LINE .line-animation-box .r-bg {
  background: #f8f8f8;
  background-position: center;
  background-size: cover;
  width: 0px;
  height: 613px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 5; }

@media screen and (max-width: 767px) {
  #LINE .line-animation-box .r-bg {
    display: none; } }
#LINE .line-animation {
  display: block;
  margin: 50px auto;
  height: 1px;
  width: 0;
  background: #c0c4c3;
  max-width: 250px; }

@media screen and (max-width: 767px) {
  #LINE .line-animation {
    display: none; } }
#LINE .wrap {
  position: relative;
  z-index: 50; }

@keyframes electronic2 {
  0%,100% {
    background-position: -100px -20px; }
  25% {
    background-position: 160px -20px; }
  50% {
    background-position: 160px 100px; }
  75% {
    background-position: -100px 100px; } }
#LINE .biliboard.electronic:before {
  background: radial-gradient(#004165, #004165, #004165, #004165, #fafafa, #fafafa, #fafafa) no-repeat;
  background-size: 250px 100px;
  animation: electronic2 5s infinite linear; }

#LINE .biliboard2.electronic:before {
  background: radial-gradient(#7e1e44, #7e1e44, #7e1e44, #7e1e44, #fafafa, #fafafa, #fafafa) no-repeat !important; }

#LINE .biliboard {
  position: relative;
  display: block;
  overflow: hidden;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

#LINE .biliboard:hover {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7; }

#LINE .biliboard img {
  border: solid 1px #fff;
  margin: 2px auto;
  max-width: 340px; }

@media screen and (max-width: 639px) {
  #LINE .biliboard img {
    max-width: 100%; } }
.parallax-pin01 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin01 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin02 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin02 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin03 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin03 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin04 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin04 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin05 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin05 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-pin06 {
  opacity: 1.0;
  position: relative; }

@media screen and (max-width: 639px) {
  .parallax-pin06 {
    top: 0px !important;
    transform: translate3d(0px, 0px, 0px) !important; } }
.parallax-box01, .parallax-box02, .parallax-box03 {
  opacity: 0.0; }

#icon {
  z-index: 30;
  width: 200%;
  height: 2000px;
  opacity: 0.0;
  position: absolute;
  background: url("../imgs/top/bg.png");
  background-position: center;
  display: none; }

@media screen and (max-width: 639px) {
  #icon {
    display: none; } }
.fade-anime01, .fade-anime02, .fade-anime03, .fade-anime04, .fade-anime05, .fade-anime06, .fade-anime07 {
  opacity: 0.0; }

.fade-anime04, .fade-anime05, .fade-anime06 {
  position: relative;
  top: 10px; }

.top-content--inner {
  overflow: hidden;
  position: relative; }

.top-content--inner:before {
  content: "";
  background: url("../imgs/top/line-left-gray.png");
  position: absolute;
  width: 468px;
  height: 617px;
  top: 0;
  left: 0; }

@media screen and (max-width: 639px) {
  .top-content--inner:before {
    display: none; } }
.top-content--inner:after {
  content: "";
  background: url("../imgs/top/line-right-gray.png");
  position: absolute;
  width: 471px;
  height: 613px;
  right: 0;
  bottom: 0; }

@media screen and (max-width: 639px) {
  .top-content--inner:after {
    display: none; } }
/* ==========================================================================
   Access
   ========================================================================== */
.article .sub-page--visual {
  background: url("../imgs/access/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }

.article .root-search {
  background: #f4f8f9;
  padding-bottom: 100px; }

@media screen and (max-width: 639px) {
  .article .root-search {
    padding-bottom: 40px; } }
.article .root-search .root-search--text {
  text-align: center;
  font-size: 18px; }

.article .simulation-box h4 {
  margin-top: 70px; }

.article .simulation-box .simulation-text {
  margin-top: 40px; }

.article .simulation-box .caution-style {
  margin-top: 20px; }

.article .car-access--box {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
  align-items: center; }

@media screen and (max-width: 639px) {
  .article .car-access--box {
    margin-top: 20px; } }
.article .car-access--box .car-access--inner:first-child {
  padding: 10px 15px 10px 0; }

.article .car-access--box .car-access--inner:last-child {
  max-width: 806px; }

.article .bas-access--box {
  display: flex;
  justify-content: space-between;
  margin-top: 70px; }

@media screen and (max-width: 639px) {
  .article .bas-access--box {
    margin-top: 20px; } }
.article .bas-access--box .bas-access--inner h4 {
  margin-bottom: 25px; }

.article .bas-access--box .bas-access--inner .caution-style {
  margin-top: 20px; }

.article .bas-access--box .bas-access--inner:first-child {
  padding-right: 20px; }

.article .bas-access--box .bas-access--inner:last-child {
  padding-left: 20px; }

.station-access-rute-inner {
  margin-top: 25px;
  text-align: center; }

.station-access-rute-inner .button-style--neutral {
  margin: 25px auto 15px;
  font-size: 16px;
  width: 100%;
  max-width: 300px; }

.station-access-rute-inner .button-style--neutral button {
  width: 100%;
  font-size: 16px; }

.station-access-rute-inner-form {
  margin: 0 auto;
  position: relative;
  background: url(../imgs/access/img03.png) 50% 50% no-repeat; }

@media screen and (max-width: 1100px) {
  .station-access-rute-inner-form {
    background-size: 10vw; } }
.station-access-rute-inner-left {
  float: left;
  width: 45%; }

.station-access-rute-inner-left .circle {
  display: inline-block;
  background: #004165;
  width: 90px;
  height: 90px;
  line-height: 90px;
  font-size: 1.25em;
  color: #fff;
  border-radius: 50%;
  vertical-align: middle; }

@media screen and (max-width: 639px) {
  .station-access-rute-inner-left .circle {
    margin-bottom: 10px; } }
.station-access-rute-inner-left .circle span {
  line-height: 1.2;
  display: inline-block;
  margin-top: 24px; }

.station-access-rute-inner-left input {
  border: 1px solid #c0c4c3;
  padding: 12px 10px 12px 20px;
  border-radius: 0px;
  width: 50%;
  display: inline-block;
  margin-left: 12px;
  cursor: pointer;
  background: #fff;
  font-size: 16px; }

@media screen and (max-width: 979px) {
  .station-access-rute-inner-left input {
    width: 30%; } }
@media screen and (max-width: 639px) {
  .station-access-rute-inner-left input {
    width: 48%;
    margin-right: 12px;
    margin-left: 0; } }
.station-access-rute-inner-left .text {
  display: inline-block;
  font-size: 1.25em;
  margin-left: 12px; }

@media screen and (max-width: 639px) {
  .station-access-rute-inner-left .text {
    margin-left: 0px;
    margin: 10px 0; } }
.station-access-rute-inner-right {
  float: right;
  width: 45%; }

.station-access-rute-inner-right .circle {
  display: inline-block;
  background: #004165;
  width: 90px;
  height: 90px;
  line-height: 90px;
  font-size: 1.25em;
  color: #fff;
  border-radius: 50%;
  vertical-align: middle; }

@media screen and (max-width: 639px) {
  .station-access-rute-inner-right .circle {
    margin-bottom: 10px; } }
.station-access-rute-inner-right input {
  border: 1px solid #c0c4c3;
  padding: 12px 10px 12px 20px;
  background: #fff;
  border-radius: 0px;
  width: 50%;
  display: inline-block;
  margin-left: 12px;
  background: #fff;
  font-size: 16px; }

@media screen and (max-width: 979px) {
  .station-access-rute-inner-right input {
    width: 30%; } }
@media screen and (max-width: 639px) {
  .station-access-rute-inner-right input {
    width: 48%;
    margin-right: 12px;
    margin-left: 0; } }
.station-access-rute-inner-right .text {
  display: inline-block;
  font-size: 1.25em;
  margin-left: 12px; }

@media screen and (max-width: 639px) {
  .station-access-rute-inner-right .text {
    margin-left: 0px;
    margin: 10px 0; } }
@media screen and (max-width: 767px) {
  .article .bas-access--box {
    display: flex;
    flex-wrap: wrap; }

  .article .bas-access--box .bas-access--inner {
    width: 100%; }

  .article .bas-access--box .bas-access--inner:first-child {
    padding-right: 0px; }

  .article .bas-access--box .bas-access--inner:last-child {
    padding-left: 0px;
    margin-top: 40px; }

  .article .bas-access--box .bas-access--inner img {
    width: 100%; } }
.access-town {
  margin: 40px auto;
  text-align: center; }

.access-town img {
  max-width: 1000%;
  width: 100%; }

/* ==========================================================================
   Location
   ========================================================================== */
.location .sub-page--visual {
  background: url("../imgs/location/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }

.location .location-map {
  text-align: center; }

.location .location-map .location-map--inner {
  display: inline-block; }

.location .column-2-full {
  margin-top: 60px; }

@media screen and (max-width: 639px) {
  .location .column-2-full {
    margin-top: 40px; }

  .location .column-2-full .column-2-full--inner .column-text {
    margin-top: 20px; } }
.location #container {
  padding-top: 0px; }

.location .mapContainer {
  overflow: hidden;
  margin-top: 80px; }

.w50 {
  width: 49% !important; }

@media screen and (max-width: 767px) {
  .w50 {
    width: 100% !important; } }
.w33 {
  width: 32.5% !important; }

@media screen and (max-width: 767px) {
  .w33 {
    width: 100% !important; } }
.w66 {
  width: 66% !important; }

@media screen and (max-width: 767px) {
  .w66 {
    width: 100% !important; } }
.cap {
  background: none;
  color: #999;
  font-size: 10.5px;
  line-height: 1.5;
  padding-top: 5px;
  letter-spacing: 0; }

.mb3 {
  margin-bottom: 30px !important; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

@media screen and (max-width: 767px) {
  .flex {
    display: block; } }
.between {
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }

.adminArea {
  background: #f4f8f9;
  padding: 60px 0 30px;
  margin-top: 80px;
  border-top: solid 1px #004165;
  border-bottom: solid 1px #004165; }

@media screen and (max-width: 639px) {
  .adminArea {
    margin-top: 30px; } }
.adminArea h3 {
  position: relative; }

.adminArea h3:after {
  content: "";
  border-bottom: 2px solid #004165;
  position: absolute;
  width: 40px;
  bottom: -28px;
  left: 48%; }

@media screen and (max-width: 767px) {
  .adminArea h3 img {
    display: none; } }
@media screen and (max-width: 767px) {
  .adminArea h3 {
    margin-bottom: 30px;
    max-width: 100%;
    font-size: 19px;
    letter-spacing: -0.02em; } }
.adminArea h3 .blue {
  color: #004165; }

.adminArea .adMain {
  margin-bottom: 20px; }

.adminArea .adMain li {
  background: #FFF;
  margin-bottom: 20px;
  border: solid 1px #004165; }

.adminArea .adMain li dt {
  background: #004165;
  color: #FFF;
  padding: 5px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0; }

.adminArea .adMain li dd {
  padding: 15px;
  line-height: 1.7; }

.adminArea .adSub li {
  margin-bottom: 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 1px #004165;
  padding: 10px; }

.adminArea .adSub li dt {
  color: #004165;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  margin-bottom: 7px;
  text-align: left;
  padding-bottom: 1px;
  border-bottom: 1px solid #CCC;
  letter-spacing: 0; }

.adminArea .adSub li dd {
  line-height: 1.7; }

h3.h3-05 {
  margin-bottom: 57px;
  max-width: 396px;
  text-align: left; }

.hospital-box {
  margin-top: 70px;
  background: #f4f8f9;
  border: solid 1px #004165;
  padding: 40px; }

@media screen and (max-width: 639px) {
  .hospital-box {
    padding: 25px;
    margin-top: 20px; } }
.hospital-box h5 {
  text-align: center;
  font-size: 25px; }

@media screen and (max-width: 639px) {
  .hospital-box h5 {
    font-size: 3.5vw; } }
.hospital-box h5 strong {
  font-size: 42px; }

@media screen and (max-width: 639px) {
  .hospital-box h5 strong {
    font-size: 9vw; } }
.hospital-box .pick-up {
  margin: 30px auto;
  background: #ffffff;
  border: solid 1px #004165;
  color: #004165;
  text-align: center;
  padding: 10px;
  font-size: 16px;
  font-weight: bold;
  max-width: 190px; }

.hospital-list {
  display: flex;
  justify-content: space-around; }

@media screen and (max-width: 639px) {
  .hospital-list {
    flex-wrap: wrap; } }
.hospital-list > li {
  font-size: 16px;
  max-width: 31%; }

@media screen and (max-width: 639px) {
  .hospital-list > li {
    width: 100%;
    max-width: 100%; } }
.hospital-list > li ul li {
  padding-bottom: 30px; }

.hospital-list > li ul li span {
  display: block;
  font-size: 13px;
  padding-left: 30px; }

@media screen and (max-width: 639px) {
  .hospital-list > li ul li {
    padding-bottom: 10px; } }
/* --------------------------------------------------
MAP
-------------------------------------------------- */
.info-location__box {
  margin-top: 70px; }

.info-location__map {
  border: 1px solid #004165; }

.info-location__box-tab {
  border-top: 1px solid #004165;
  display: table;
  table-layout: fixed;
  width: 100%; }

.info-location__box-tab li {
  display: table-cell;
  width: calc(100% / 7);
  border-right: 1px solid #004165;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  height: 50px;
  line-height: 1.1;
  cursor: pointer;
  transition: 0.3s; }

.info-location__box-tab li.active {
  cursor: default; }

.info-location__box-tab li:first-child {
  border-left: 1px solid #004165; }

.info-location__box-tab li.list01:hover,
.info-location__box-tab li.list01.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list02:hover,
.info-location__box-tab li.list02.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list03:hover,
.info-location__box-tab li.list03.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list04:hover,
.info-location__box-tab li.list04.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list05:hover,
.info-location__box-tab li.list05.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list06:hover,
.info-location__box-tab li.list06.active {
  background: #004165;
  color: #ffffff; }

.info-location__box-tab li.list07:hover,
.info-location__box-tab li.list07.active {
  background: #004165;
  color: #ffffff; }

.info-location__map-slide {
  display: none; }

.info-location__map-slide.active {
  display: block; }

.info-location__map-slide-title {
  display: none; }

.info-location__map-list ol:nth-child(2n-1) {
  float: left;
  width: 49%; }

.info-location__map-list ol:nth-child(2n) {
  float: right;
  width: 49%; }

.info-location__map-list ol li {
  background: url("../../location/img/bg_dot.gif") 0 50% repeat-x; }

.info-location__map-list ol li p {
  display: inline-block;
  background: #fff; }

.info-location__map-list ol li p:nth-child(2n) {
  float: right;
  font-size: .87em;
  text-align: right; }

.info-location__map-list ol li p .num {
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  color: #fff;
  background: #cb5d7d;
  border-radius: 50%;
  text-align: center;
  font-size: .67em;
  vertical-align: baseline; }

[data-map="list01"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list02"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list03"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list04"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list05"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list06"] .info-location__map-list ol li p .num {
  background: #004165; }

[data-map="list07"] .info-location__map-list ol li p .num {
  background: #004165; }

.info-location__map-list ol li p .text {
  display: inline-block;
  line-height: 20px;
  vertical-align: baseline;
  margin-left: 8px;
  font-size: .87em; }

.info-location__map-list ol li p .note {
  font-size: .75em; }

.info-location__map-list ol li p .min {
  display: inline-block;
  min-width: 2.5em;
  vertical-align: baseline; }

.info-location__map-list ol li p .rute {
  display: inline-block;
  min-width: 4em;
  vertical-align: baseline; }

@media only screen and (max-width: 890px) {
  .info-location__map-list ol li p:nth-child(2n) {
    font-size: .75em; }

  .info-location__map-list ol li p .num {
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: .67em; }

  .info-location__map-list ol li p .text {
    font-size: .75em; }

  .info-location__map-list ol li p .note {
    font-size: .67em; } }
.info-location__map .map {
  width: 100%;
  height: 600px; }

@media only screen and (max-width: 767px) {
  .info-location__box {
    border: 2px solid #004165;
    border-bottom: 0;
    margin-top: 30px; }

  .info-location__box-tab {
    display: none; }

  .info-location__map {
    margin-top: 0px;
    border: none; }

  .info-location__map-slide {
    display: block; }

  .info-location__map-slide.active {
    display: block; }

  .info-location__map-slide.active .info-location__map-slide-title a:before {
    margin-top: -3px; }

  .info-location__map-slide-item {
    padding-bottom: 0px; }

  .info-location__map .info-location__map-slide-item {
    display: block;
    overflow: hidden;
    height: 0;
    max-height: 0;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease; }

  .info-location__map-slide.active .info-location__map-slide-item {
    display: block;
    height: auto;
    border-bottom: 2px solid #004165;
    height: auto;
    max-height: 100%;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease; }

  .info-location__map-slide-title {
    display: block; }

  .info-location__map-slide-title a {
    display: block;
    margin: 0 0px;
    padding: 10px 20px;
    position: relative;
    text-decoration: none;
    font-size: 1.4rem; }

  .info-location__map-slide-title a:before {
    display: block;
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -3px;
    width: 10px;
    height: 10px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transform-origin: 50% 50%;
    transition: 0.3s; }

  .info-location__map-slide.active a:before {
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg); }

  .info-location__map-slide-title a.slide01 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide01:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide02 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide02:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide03 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide03:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide04 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide04:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide05 {
    background: #ffffff;
    border-bottom: 2px solid #004165;
    font-size: 1rem;
    color: #004165;
    font-weight: bold; }

  .info-location__map-slide-title a.slide05:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165;
    margin-top: -9px; }

  .info-location__map-slide-title a.slide06 {
    background: #004165;
    border-bottom: 4px solid #004165; }

  .info-location__map-slide-title a.slide06:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165; }

  .info-location__map-slide-title a.slide07 {
    background: #004165;
    border-bottom: 4px solid #004165; }

  .info-location__map-slide-title a.slide07:before {
    border-top: 3px solid #004165;
    border-right: 3px solid #004165; }

  .info-location__map-list {
    margin-top: 20px; }

  .info-location__map-list ol:nth-child(2n-1) {
    float: none;
    width: 100%; }

  .info-location__map-list ol:nth-child(2n) {
    float: none;
    width: 100%; }

  .info-location__map-list ol li {
    background-size: 3.5px auto; }

  .info-location__map-list ol li p:nth-child(2n) {
    line-height: 2.4rem;
    font-size: .85rem;
    vertical-align: baseline; }

  .info-location__map-list ol li p .num {
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    font-size: .85rem;
    vertical-align: middle; }

  .info-location__map-list ol li p .text {
    line-height: 1.5rem;
    margin-left: 3px;
    font-size: .85rem;
    vertical-align: middle; }

  .info-location__map .map {
    width: 100%;
    height: 350px; } }
.icon-24 {
  position: relative; }

.icon-24:after {
  content: "";
  position: absolute;
  background: url("../imgs/location/24h.png");
  background-position: center;
  background-size: cover;
  display: block;
  width: 131px;
  height: 36px;
  top: -20px;
  left: -9px; }

@media screen and (max-width: 639px) {
  .icon-24:after {
    left: -10px; } }
/* ==========================================================================
   plan
   ========================================================================== */
.plan .sub-page--visual {
  background: url("../imgs/plan/mainvisual.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center; }

.plan .button-style--rich {
  display: inline-block; }

.plan .button-style--rich .btn-style--blue {
  padding: 25px 25px; }

.btn02{
  padding: 9px 25px; }

@media screen and (max-width: 639px) {
  .plan .button-style--rich .btn-style--blue {
    padding: 15px 15px; } }
#point4 {
  margin-top: 70px;
  background: #f8f8f8;
  border-top: solid #004165 1px;
  border-bottom: solid #004165 1px;
  padding: 70px 20px; }

@media screen and (max-width: 639px) {
  #point4 {
    margin-top: 40px;
    padding: 40px 20px; } }
.point-column--box {
  max-width: 1100px;
  margin: 70px auto 0;
  padding: 0 0px;
  display: flex;
  /* box-shadow */
  box-shadow: 0px 0px 1px 0px #e4eaec; }

@media screen and (max-width: 639px) {
  .point-column--box {
    margin: 40px auto 0;
    flex-wrap: wrap; } }
.point-column--box .point-column--inner {
  width: 50%;
  display: flex;
  padding: 20px; }

.point-column--box .point-column--inner h4 {
  max-width: 510px; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner h4 {
    max-width: 100%; } }
.point-column--box .point-column--inner img {
  max-width: 510px;
  flex-shrink: 0; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner img {
    max-width: 100%; } }
@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner {
    width: 100%; } }
.point-column--box .point-column--inner:first-child {
  background: #f5f7f9; }

.point-column--box .point-column--inner:last-child {
  background: #fff; }

.point-column--box .point-column--inner .point-column-list {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 100%;
  max-width: 510px; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner .point-column-list {
    max-width: 100%; } }
.point-column--box .point-column--inner .point-img {
  text-align: center; }

.point-column--box .point-column--inner .point-img-inner {
  display: inline-block; }

.point-column--box .point-column--inner .point-01--img {
  text-align: center; }

.point-column--box .point-column--inner .point-01--img img {
  max-width: 258px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .point-column--box .point-column--inner .point-01--img img {
    max-width: 100%; } }
.point-column--box .point-column--inner .point-02--img {
  text-align: center; }

.point-column--box .point-column--inner .point-02--img img {
  max-width: 443px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .point-column--box .point-column--inner .point-02--img img {
    max-width: 100%; } }
.point-column--box .point-column--inner .point-03--img {
  text-align: center; }

.point-column--box .point-column--inner .point-03--img img {
  max-width: 447px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .point-column--box .point-column--inner .point-03--img img {
    max-width: 100%; } }
@media screen and (max-width: 767px) {
  .point-column--box .point-column--inner .point-column--content {
    margin-top: 30px; }

  .point-column--box .point-column--inner .point-column--content:first-child {
    margin-top: 0px; } }
.point-column--box .point-column--inner .point-column--content .point-title {
  max-width: 510px; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner .point-column--content .point-title {
    max-width: 100%; } }
.point-column--box .point-column--inner .point-column--content .point-text {
  text-align: center;
  padding: 20px; }

.point-column--box .point-column--inner .point-column--img {
  max-width: 510px; }

@media screen and (max-width: 639px) {
  .point-column--box .point-column--inner .point-column--img {
    max-width: 100%; } }
.type-box {
  padding: 80px 20px;
  text-align: center; }

.type-box .type-box--inner {
  max-width: 272px;
  text-align: center;
  margin: 0 auto;
  padding: 50px 70px;
  border: solid #004165 1px;
  background: #f8f8f8; }

@media screen and (max-width: 767px) {
  .type-box .type-box--inner {
    padding: 20px 15px; } }
.type-box .type-box--inner .type-box--text {
  padding: 60px 0;
  background: #f8f8f8; }

@media screen and (max-width: 767px) {
  .type-box .type-box--inner .type-box--text {
    padding: 10px 0 30px; } }
.type-box .type-box--inner .button-style--neutral button {
  width: 100%;
  font-size: 16px;
  font-family: 'Sawarabi Mincho', sans-serif; }

.type-box .type-box--link {
  display: inline-block;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.type-box .type-box--link:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
  opacity: 0.9; }

.type-box .type-box--link:hover .button-style--neutral a, .type-box .type-box--link:hover .button-style--neutral button {
  color: #ffffff;
  background: #004165; }

.type-box .type-box--link:hover .button-style--neutral a:after, .type-box .type-box--link:hover .button-style--neutral button:after {
  background: #ffffff;
  right: 25px;
  width: 35px; }

.type-box .type-box--link:hover .button-style--neutral a:before, .type-box .type-box--link:hover .button-style--neutral button:before {
  background: #ffffff;
  right: 25px; }

#type-e {
  background: #f8f8f8;
  border-top: solid 1px #004165;
  border-bottom: solid 1px #004165; }

#type-e .column-2-full .column-2-full--inner .column-2-full--textbox {
  max-width: 500px; }

#type-e .btn-style--blue {
  background: #ffffff; }

#type-e .column-title, #type-e .column-text {
  text-align: center; }

#type-e .column-title img, #type-e .column-text img {
  max-width: 270px; }

#type-e .button-style--rich {
  margin-top: 30px; }

#type-e .button-style--rich .btn-style--blue {
  text-align: center;
  padding: 15px 20px;
  border: solid 1px #004165; }

#type-e .button-style--rich .btn-style--blue:hover {
  background: #004165; }

#type-e .button-style--rich .btn-style--blue .btn-style--blue--inner .btn {
  font-size: 16px; }

#type-e button {
  width: 100%;
  font-family: 'Sawarabi Mincho', sans-serif;
  font-weight: normal; }

#type-e button p {
  font-weight: normal; }

@media screen and (max-width: 767px) {
  #type-e .column-2-full .column-2-full--inner .column-2-full--textbox {
    width: calc(100% - 40px);
    text-align: center; } }
#plan-box ul {
  display: flex;
  justify-content: center; }

@media screen and (max-width: 639px) {
  #plan-box ul {
    flex-wrap: wrap; }

  #plan-box ul .type-a {
    padding: 40px 20px 10px 20px; }

  #plan-box ul .type-c {
    padding: 10px 20px 40px 20px; } }
@media screen and (max-width: 639px) {
  .sp-padding {
    padding: 20px 20px !important; } }
.plan-type-copy {
  text-align: center;
  font-size: 14px;
  padding: 50px 0; }

/* ==========================================================================
   outline
   ========================================================================== */
.outline td {
  text-align: unset; }

.outline b {
  font-weight: bold; }

.outline .right {
  text-align: right; }

.outline table[Attributes Style] {
  width: 600px;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  background-color: #969696; }

.outline table {
  border-spacing: 0px; }

.outline table table {
  display: table;
  border-collapse: separate;
  border-spacing: 1px;
  border-color: grey; }

.outline table table td {
  padding: 5px; }

.outline table table tr td:first-child {
  background-color: #f5f8f9; }

.outline table table tr td:last-child {
  background-color: #fff; }

.bnrArea a {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.bnrArea a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7; }

/* ==========================================================================
   map
   ========================================================================== */
.map .map-block .map-img {
  text-align: center;
  margin-bottom: 65px; }

.map .map-block .map-img img {
  max-width: 798px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .map .btn-column {
    flex-wrap: wrap; }

  .map .btn-column li {
    width: 100%; }

  .map .btn-column li:first-child {
    margin-bottom: 15px; }

  .map .btn-column .button-style--inline-large a {
    display: block; } }
/* ==========================================================================
   member
   ========================================================================== */
#mem .sub-page--visual3 {
  background: url("../imgs/member/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  text-align: center; }

#mem .member-login--block {
  margin: 0 auto;
  max-width: 1100px;
  background: #f8f8f8;
  text-align: center;
  margin-top: 70px;
  position: relative; }

#mem .member-login--block .loginBg {
  padding: 60px; }

@media screen and (max-width: 639px) {
  #mem .member-login--block .loginBg {
    padding: 30px 0; } }
#mem .member-login--block .loginBg #loginForm .loginForm-text {
  text-align: center;
  font-size: 19px;
  color: #004165;
  line-height: 2;
  margin-bottom: 35px;
  font-weight: bold; }

@media screen and (max-width: 639px) {
  #mem .member-login--block .loginBg #loginForm .loginForm-text {
    font-size: 3vw;
    margin-bottom: 10px; } }
#mem .member-login--block .loginBg #loginForm input {
  border: solid #c0c4c3 1px;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 550px;
  margin: 0 auto 20px;
  padding: 10px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  text-align: center; }

#mem .button-style--neutral {
  margin-top: 0px; }

#mem .button-style--neutral button {
  padding: 10px 100px;
  margin: 0 auto; }

.login-step .obiArea {
  background: #ffffff;
  text-align: center;
  border: none; }

.login-step .obiArea .ob-title {
  margin-top: 60px;
  text-align: center;
  font-size: 28px; }

@media screen and (max-width: 639px) {
  .login-step .obiArea .ob-title {
    font-size: 5vw !important; } }
.login-step .obiArea .button-style--rich {
  margin: 0 auto; }

.login-step .obiArea .button-style--rich a {
  margin: auto;
  padding: 25px; }

.login-step .obiArea .ob-step ul li {
  position: relative; }

.login-step .obiArea .ob-step ul li:after {
  content: "";
  position: absolute;
  display: block;
  background: url(../imgs/member/step-arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  width: 11px;
  top: 0;
  right: -7.5%;
  bottom: 0;
  height: 100%; }

@media screen and (max-width: 639px) {
  .login-step .obiArea .ob-step ul li:after {
    transform: rotate(90deg) !important;
    top: auto !important;
    right: 0 !important;
    left: 0 !important;
    height: 35px !important;
    width: 100% !important;
    bottom: -12px !important; } }
.login-step .obiArea .ob-step ul li:last-child:after {
  display: none; }

/* ==========================================================================
   member-e
   ========================================================================== */
#mem-e .sub-page--visual3 {
  background: url("../imgs/member_login/MV-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  text-align: center; }

@media screen and (max-width: 639px) {
  #mem-e .sub-page--visual3 {
    background: url("../imgs/member_login/MV-bg_sp.jpg"); } }
#mem-e .member-login--block {
  margin: 0 auto;
  max-width: 1100px;
  background: #f8f8f8;
  text-align: center;
  margin-top: 70px;
  position: relative; }

#mem-e .member-login--block .loginBg {
  padding: 60px; }

#mem-e .member-login--block .loginBg #loginForm .loginForm-text {
  text-align: center;
  font-size: 19px;
  color: #004165;
  line-height: 2;
  margin-bottom: 35px;
  font-weight: bold; }

#mem-e .member-login--block .loginBg #loginForm input {
  border: solid #c0c4c3 1px;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 550px;
  margin: 0 auto 20px;
  padding: 10px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  text-align: center; }

#mem-e .button-style--neutral {
  margin-top: 0px; }

#mem-e .button-style--neutral button {
  padding: 10px 100px;
  margin: 0 auto; }

#mem-e .copy-style--clear {
  color: #4c483b; }

#mem-e #point4 {
  margin-top: 0px;
  border: none;
  background: #fff; }

#mem-e #point4 h3 {
  text-align: center; }

#mem-e #point4 .point-column--box {
  box-shadow: none; }

#mem-e #point4 .point-column--box .point-column--inner {
  background: #ffffff; }

#mem-e #point4 .point-large {
  font-size: 14px;
  line-height: 2.3; }

@media screen and (max-width: 767px) {
  #mem-e #point4 .point-large {
    font-size: 13px; }

  #mem-e #point4 .point-large br {
    line-height: 2;
    display: none; } }
@media screen and (max-width: 767px) {
  #mem-e #point4 .point-text br {
    display: none; } }
.panorama-box {
  height: 350px;
  background: url("../imgs/member_login/slide-img01.jpg");
  background-position: center bottom;
  background-size: cover;
  margin-top: 50px; }

.login-step .obiArea {
  background: #ffffff;
  text-align: center;
  border: none; }

.login-step .obiArea .ob-title {
  margin-top: 60px;
  text-align: center;
  font-size: 28px; }

.login-step .obiArea .button-style--rich {
  margin: 0 auto; }

.login-step .obiArea .button-style--rich a {
  margin: auto;
  padding: 25px; }

.login-step .obiArea .ob-step ul li {
  position: relative; }

@media screen and (max-width: 639px) {
  .login-step .obiArea .ob-step ul li {
    margin-bottom: 40px;
    padding-bottom: 40px; } }
.login-step .obiArea .ob-step ul li:after {
  content: "";
  position: absolute;
  display: block;
  background: url(../imgs/member/step-arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  width: 11px;
  top: 0;
  right: -7.5%;
  bottom: 0;
  height: 100%; }

@media screen and (max-width: 639px) {
  .login-step .obiArea .ob-step ul li:last-child {
    margin-bottom: 0px;
    padding-bottom: 20px; } }
.login-step .obiArea .ob-step ul li:last-child:after {
  display: none; }

.movie-box {
  margin-top: 70px; }

@media screen and (max-width: 767px) {
  .movie-box {
    margin-top: 40px; } }
.movie-box ul {
  display: flex;
  justify-content: space-between; }

@media screen and (max-width: 767px) {
  .movie-box ul {
    flex-wrap: wrap; } }
.movie-box ul li {
  width: 48%; }

@media screen and (max-width: 767px) {
  .movie-box ul li {
    width: 100%;
    margin-top: 30px; }

  .movie-box ul li:first-child {
    margin-top: 0px; } }
.movie-box ul li .youtube-text {
  text-align: center;
  margin-top: 20px;
  font-size: 18px; }

@media screen and (max-width: 767px) {
  .movie-box ul li .youtube-text {
    margin-top: 10px;
    font-size: 16px; } }
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

/*パノラマ*/
#view {
  padding: 0;
  margin: 50px auto 0;
  text-align: center; }

#view .guide {
  padding: 0; }

#view .guide li {
  padding: 0; }

#view .box_view {
  position: relative;
  width: 100%;
  max-width: 960px;
  height: 450px;
  margin: 0 auto;
  text-align: left; }

#view .viewArea {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden; }

#view .slider {
  position: absolute;
  left: -299px; }

#view .slider li {
  width: 1558px; }

#view .slider li img {
  width: 110%;
  left: 0;
  right: 0;
  position: relative; }

#view .prev, #view .next {
  padding: 0;
  font-size: 2.4rem;
  line-height: 2.0;
  position: absolute;
  font-family: 'arrow';
  height: 50px;
  width: 50px;
  text-align: center;
  top: 0;
  bottom: 0;
  margin: auto;
  color: #fff; }

#view .prev {
  left: 20px; }

#view .next {
  right: 20px; }

#view .visible {
  display: block; }

#view .hidden {
  display: none; }

@media only screen and (max-width: 639px) {
  #view {
    padding: 5% 0; }

  #view .guide {
    width: 93.75%;
    margin: 0 auto;
    padding: 0 0 3%; }

  #view .slider {
    left: -380px; }

  #view .slider li {
    width: 1558px; }

  #view .box_view {
    position: relative;
    width: 100%;
    height: 450px;
    margin: 0 auto; }

  #view .prev, #view .next {
    background: transparent;
    padding: 0px;
    font-size: 0;
    line-height: 1;
    position: absolute;
    font-family: 'arrow';
    width: 10%;
    text-align: center;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    text-shadow: 0px 0px 5px #000; } }
/* ==========================================================================
   concept
   ========================================================================== */
.concept .breadcrumb {
  margin-bottom: 10px; }

.concept section {
  position: relative; }

.concept section:after {
  content: "image";
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }

.concept .concept-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 150px 30px;
  max-width: 1100px;
  margin: auto; }

@media screen and (max-width: 639px) {
  .concept .concept-inner {
    padding: 25px 20px 40px; } }
.concept .concept-inner h2 {
  margin-bottom: 40px; }

@media screen and (max-width: 639px) {
  .concept .concept-inner h2 {
    margin-bottom: 10px; } }
.concept .concept-inner .concept-point-text {
  margin-bottom: 40px; }

.concept .concept-inner .concept-point-box .concept-point-inner {
  text-align: center;
  padding: 50px 40px;
  background-color: rgba(255, 255, 255, 0.95); }

@media screen and (max-width: 639px) {
  .concept .concept-inner .concept-point-box .concept-point-inner {
    padding: 20px; } }
.concept .concept-inner .concept-point-box .concept-point-img {
  display: inline-block; }

.concept .concept-inner .concept-point-box .concept-point-img .photo-caution {
  margin-top: 10px; }

.concept .concept-inner .button-box {
  max-width: 400px;
  margin: 30px auto 0; }

.concept .concept-inner .btn-list {
  display: flex; }

@media screen and (max-width: 639px) {
  .concept .concept-inner .btn-list {
    flex-wrap: wrap; } }
.concept .concept-inner .btn-list li {
  width: 50%;
  margin-left: -1px; }

@media screen and (max-width: 639px) {
  .concept .concept-inner .btn-list li {
    width: 100%;
    margin-left: 0px;
    margin-top: -1px; } }
.concept .concept-inner .cooming_soon {
  pointer-events: none; }

.concept .concept-inner .cooming_soon a {
  color: #c0c4c3;
  border-color: #c0c4c3; }

.concept .concept-inner .cooming_soon a:before {
  background: #c0c4c3; }

.concept .concept-inner .cooming_soon a:after {
  background: #c0c4c3; }

.concept #main {
  background: url("../imgs/concept/mainvisual-bg.png") #f7f6f4;
  background-position: center;
  background-size: cover; }

@media screen and (max-width: 639px) {
  .concept #main {
    background: url("../imgs/concept/mainvisual-bg_sp.jpg") #f7f6f4;
    background-position: center;
    background-size: cover; }

  .concept #main .concept-inner {
    padding: 0; } }
.concept #point01 {
  background: url("../imgs/concept/point1-bg.jpg");
  background-position: center;
  background-size: cover; }

.concept #point02 {
  background: url("../imgs/concept/point2-bg.jpg");
  background-position: center;
  background-size: cover; }

.concept #point02 .concept-inner {
  justify-content: flex-end; }

.concept #point03 {
  background: url("../imgs/concept/point3-bg.jpg");
  background-position: center;
  background-size: cover; }

.concept #point04 {
  background: url("../imgs/concept/point4-bg.jpg");
  background-position: center;
  background-size: cover; }

.concept #point04 .concept-inner {
  justify-content: flex-start; }

.concept #conceptvisual {
  padding: 0px 0px; }

.concept #conceptvisual:after {
  content: "外観完成予想CG";
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }

.concept #conceptvisual .concept-inner {
  padding: 0px 0px;
  margin: 0;
  max-width: 100%; }

html {
  font-size: 100%;
  font-family: 'Sawarabi Mincho',"游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

@media screen and (max-width: 639px) {
  html {
    min-height: 0; } }
* {
  font-family: 'Sawarabi Mincho',"游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important; }

sup {
  font-size: 10px;
  vertical-align: text-top; }

/* ==========================================================================
   mar/pad
   ========================================================================== */
.mt--0 {
  margin-top: 0px !important; }

.mt--5 {
  margin-top: 5px !important; }

.mt--10 {
  margin-top: 10px !important; }

.mt--20 {
  margin-top: 20px !important; }

.mt--30 {
  margin-top: 30px !important; }

.mt--40 {
  margin-top: 40px !important; }

.mt--50 {
  margin-top: 50px !important; }

.mt--60 {
  margin-top: 60px !important; }

.mt--70 {
  margin-top: 70px !important; }

.mt--80 {
  margin-top: 80px !important; }

.mt--90 {
  margin-top: 90px !important; }

.mt--100 {
  margin-top: 100px !important; }

.mb--0 {
  margin-bottom: 0px !important; }

.mb--5 {
  margin-bottom: 5px !important; }

.mb--10 {
  margin-bottom: 10px !important; }

.mb--20 {
  margin-bottom: 20px !important; }

.mb--30 {
  margin-bottom: 30px !important; }

.mb--40 {
  margin-bottom: 40px !important; }

.mb--50 {
  margin-bottom: 50px !important; }

.mb--60 {
  margin-bottom: 60px !important; }

.mb--70 {
  margin-bottom: 70px !important; }

.mb--80 {
  margin-bottom: 80px !important; }

.mb--90 {
  margin-bottom: 90px !important; }

.mb--100 {
  margin-bottom: 100px !important; }

.mr--0 {
  margin-right: 0px !important; }

.mr--5 {
  margin-right: 5px !important; }

.mr--10 {
  margin-right: 10px !important; }

.mr--20 {
  margin-right: 20px !important; }

.mr--30 {
  margin-right: 30px !important; }

.mr--40 {
  margin-right: 40px !important; }

.mr--50 {
  margin-right: 50px !important; }

.mr--60 {
  margin-right: 60px !important; }

.mr--70 {
  margin-right: 70px !important; }

.mr--80 {
  margin-right: 80px !important; }

.mr--90 {
  margin-right: 90px !important; }

.mr--100 {
  margin-right: 100px !important; }

.ml--0 {
  margin-left: 0px !important; }

.ml--5 {
  margin-left: 5px !important; }

.ml--10 {
  margin-left: 10px !important; }

.ml--20 {
  margin-left: 20px !important; }

.ml--30 {
  margin-left: 30px !important; }

.ml--40 {
  margin-left: 40px !important; }

.ml--50 {
  margin-left: 50px !important; }

.ml--60 {
  margin-left: 60px !important; }

.ml--70 {
  margin-left: 70px !important; }

.ml--80 {
  margin-left: 80px !important; }

.ml--90 {
  margin-left: 90px !important; }

.ml--100 {
  margin-left: 100px !important; }

.pt--0 {
  padding-top: 0px !important; }

.pt--5 {
  padding-top: 5px !important; }

.pt--10 {
  padding-top: 10px !important; }

.pt--15 {
  padding-top: 15px !important; }

.pt--20 {
  padding-top: 20px !important; }

.pt--30 {
  padding-top: 30px !important; }

.pt--40 {
  padding-top: 40px !important; }

.pt--50 {
  padding-top: 50px !important; }

.pt--60 {
  padding-top: 60px !important; }

.pt--70 {
  padding-top: 70px !important; }

.pt--80 {
  padding-top: 80px !important; }

.pt--90 {
  padding-top: 90px !important; }

.pt--100 {
  padding-top: 100px !important; }

.pb--0 {
  padding-bottom: 0px !important; }

.pb--5 {
  padding-bottom: 5px !important; }

.pb--10 {
  padding-bottom: 10px !important; }

.pb--20 {
  padding-bottom: 20px !important; }

.pb--30 {
  padding-bottom: 30px !important; }

.pb--40 {
  padding-bottom: 40px !important; }

.pb--50 {
  padding-bottom: 50px !important; }

.pb--60 {
  padding-bottom: 60px !important; }

.pb--70 {
  padding-bottom: 70px !important; }

.pb--80 {
  padding-bottom: 80px !important; }

.pb--90 {
  padding-bottom: 90px !important; }

.pb--100 {
  padding-bottom: 100px !important; }

.pr--0 {
  padding-right: 0px !important; }

.pr--5 {
  padding-right: 5px !important; }

.pr--10 {
  padding-right: 10px !important; }

.pr--20 {
  padding-right: 20px !important; }

.pr--30 {
  padding-right: 30px !important; }

.pr--40 {
  padding-right: 40px !important; }

.pr--50 {
  padding-right: 50px !important; }

.pr--60 {
  padding-right: 60px !important; }

.pr--70 {
  padding-right: 70px !important; }

.pr--80 {
  padding-right: 80px !important; }

.pr--90 {
  padding-right: 90px !important; }

.pr--100 {
  padding-right: 100px !important; }

.pl--0 {
  padding-left: 0px !important; }

.pl--5 {
  padding-left: 5px !important; }

.pl--10 {
  padding-left: 10px !important; }

.pl--20 {
  padding-left: 20px !important; }

.pl--30 {
  padding-left: 30px !important; }

.pl--40 {
  padding-left: 40px !important; }

.pl--50 {
  padding-left: 50px !important; }

.pl--60 {
  padding-left: 60px !important; }

.pl--70 {
  padding-left: 70px !important; }

.pl--80 {
  padding-left: 80px !important; }

.pl--90 {
  padding-left: 90px !important; }

.pl--100 {
  padding-left: 100px !important; }

/* ==========================================================================
   common
   ========================================================================== */
.wrap-mini {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center; }

.cap-list {
  margin-bottom: 80px; }

@media screen and (max-width: 639px) {
  .cap-list {
    margin-bottom: 40px;
    padding: 0 20px; } }
.cap-list li {
  font-size: 12px;
  color: #777777;
  text-indent: -12px;
  padding-left: 12px; }

.cap {
  font-size: 12px;
  color: #777777;
  text-indent: -12px;
  padding-left: 12px;
  font-family: 'Sawarabi Mincho', sans-serif; }

img {
  max-width: 100%; }

.wrap {
  max-width: 1300px;
  }

.wrap-mini--1100 {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px; }

.wrap-mini--1000 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px; }

.sp {
  display: none; }

@media screen and (max-width: 639px) {
  .pc {
    display: none !important; }

  .sp {
    display: block; }
	
  }
.align-left {
  text-align: left !important; }

.align-center {
  text-align: center !important; }

.align-right {
  text-align: right !important; }

.align-right--pc {
  text-align: right; }

@media screen and (max-width: 767px) {
  .align-right--pc {
    text-align: left; } }
/* ==========================================================================
   title
   ========================================================================== */
.sectionTtl {
  text-align: center;
  margin-top: 100px;
  position: relative; }

@media screen and (max-width: 639px) {
  .sectionTtl {
    margin-top: 50px; } }
.sectionTtl h3 {
  display: inline-block;
  color: #004165;
  font-size: 30px;
  line-height: 1.2;
  background: #ffffff;
  position: relative;
  z-index: 1;
  padding: 0 30px; }

@media screen and (max-width: 639px) {
  .sectionTtl h3 {
    font-size: 24px;
    line-height: 1.5; } }
.sectionTtl h3 span {
  color: #919fa7;
  display: block;
  font-size: 14px; }

.sectionTtl .black {
  color: #4c483b !important; }

.sectionTtl:before {
  content: "";
  display: block;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: #c0c4c3;
  position: absolute; }

.sectionTtl strong {
  font-size: 40px; }

@media screen and (max-width: 639px) {
  .sectionTtl strong {
    font-size: 30px; } }
/* ==========================================================================
   文字 装飾
   ========================================================================== */
.dl-style01 {
  text-align: center;
  margin-top: 15px; }

.dl-style01 dt {
  font-size: 15px; }

.dl-style01 dd {
  font-size: 16px; }

.dl-style01 dd span {
  font-size: 25px; }

.dl-style01 dd span strong {
  font-size: 36px; }

.dl-style01 dd .strong-light {
  font-size: 25px; }

.dl-style02 {
  text-align: center;
  margin-top: 15px; }

.dl-style02 dt {
  font-size: 18px; }

.dl-style02 dd {
  font-size: 14px; }

.dl-style02 dd span {
  font-size: 14px; }

.dl-style02 dd span strong {
  font-size: 16px; }

.dl-style02 dd .strong-light {
  font-size: 16px; }

.copyTtl-style01 {
  margin-top: 50px; }

.copy-style--clear {
  margin-top: 60px;
  text-align: center;
  color: #898989;
  font-size: 30px; }

@media screen and (max-width: 639px) {
  .copy-style--clear {
    font-size: 5.5vw; } }
/* ==========================================================================
   レイアウト系
   ========================================================================== */
.column-2-full {
  display: flex;
  align-items: center;
  justify-content: center; }

@media screen and (max-width: 639px) {
  .column-2-full {
    flex-wrap: wrap; } }
.column-2-full .column-2-full--inner {
  width: 50%;
  position: relative;
  overflow: hidden; }

@media screen and (max-width: 639px) {
  .column-2-full .column-2-full--inner {
    width: 100%; } }
.column-2-full .column-2-full--inner .caption-text {
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }

@media screen and (max-width: 639px) {
  .column-2-full .column-2-full--inner .caption-text {
    font-size: 10px; } }
.column-2-full .column-2-full--inner .column-2-full--textbox {
  max-width: 450px;
  display: inline-block;
  text-align: left;
  padding: 20px 50px; }

@media screen and (max-width: 639px) {
  .column-2-full .column-2-full--inner .column-2-full--textbox {
    padding: 20px;
    max-width: 100%; } }
.column-2-full .column-2-full--inner .column-text {
  margin-top: 30px;
  line-height: 2; }

@media screen and (max-width: 639px) {
  .column-2-full .column-2-full--inner .column-full--img img {
    width: 100%; } }
.column-2-full--reverse {
  flex-direction: row-reverse; }

.column-2-full--reverse .column-2-full--inner {
  text-align: right; }

.column-2-custom-rich--wrap {
  position: relative; }

.column-2-custom-rich--wrap:before {
  content: "";
  width: 1px;
  height: 100px;
  background: #004165;
  display: block;
  position: absolute;
  top: -40px;
  left: -40px; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich--wrap:before {
    left: -10px;
    top: -20px; } }
.column-2-custom-rich--wrap:after {
  content: "";
  width: 1px;
  height: 100px;
  background: #004165;
  display: block;
  position: absolute;
  bottom: -40px;
  right: -40px; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich--wrap:after {
    right: -10px;
    bottom: -20px; } }
.column-2-custom-rich {
  align-items: stretch;
  position: relative;
  padding: 30px 0; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich {
    margin-top: 70px !important;
    padding: 20px 0; } }
.column-2-custom-rich:before {
  content: "";
  width: 200px;
  height: 1px;
  background: #004165;
  display: block;
  position: absolute;
  top: 0;
  left: -80px; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich:before {
    left: -20px; } }
.column-2-custom-rich:after {
  content: "";
  width: 200px;
  height: 1px;
  background: #004165;
  display: block;
  position: absolute;
  bottom: 0;
  right: -80px; }

@media screen and (max-width: 639px) {
  .column-2-custom-rich:after {
    right: -20px; } }
.column-2-custom-rich .column-2-full--inner .column-2-full--textbox {
  padding: 0px 50px 0 0;
  max-width: 500px; }

.column-3-full {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px -1.5% 0; }

@media screen and (max-width: 767px) {
  .column-3-full {
    margin: 20px 0 0; } }
.column-3-full .column-3-full--inner {
  width: 31%;
  padding: 0 1% 2%; }

@media screen and (max-width: 767px) {
  .column-3-full .column-3-full--inner {
    width: 100%;
    padding: 0 0 2%; } }
.column-3-full .column-3-full--inner img {
  width: 100%; }

.column-2-gallery {
  margin-top: 40px; }

.column-2-gallery ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.column-2-gallery ul li {
  width: 48%;
  margin-bottom: 30px; }

@media screen and (max-width: 767px) {
  .column-2-gallery ul li {
    width: 100%; } }
.column-2-gallery ul li .column-full--img img {
  width: 100%; }

.column-2-neutral {
  display: flex;
  align-items: center; }

@media screen and (max-width: 639px) {
  .column-2-neutral {
    display: block; } }
.column-2-neutral .column-2-neutral-inner {
  max-width: 50%; }

@media screen and (max-width: 639px) {
  .column-2-neutral .column-2-neutral-inner {
    max-width: 100%; } }
.column-2-neutral .column-2-neutral-inner:first-child {
  padding-right: 20px; }

@media screen and (max-width: 639px) {
  .column-2-neutral .column-2-neutral-inner:first-child {
    padding-right: 0px; } }
/* ==========================================================================
   ボタン系
   ========================================================================== */
.btn-column {
  display: flex;
  justify-content: center; }

.btn-column li {
  margin: 0 10px; }

.button-style--neutral {
  font-size: 16px; }

.button-style--neutral a, .button-style--neutral button {
  position: relative;
  display: block;
  text-align: center;
  border: 1px solid #004165;
  padding: 5px 60px;
  background: #ffffff;
  color: #004165;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--neutral a, .button-style--neutral button {
    padding: 15px 60px; }
	.btn_pdf{
	width: 50%;
}
}
.button-style--neutral a:after, .button-style--neutral button:after {
  content: "";
  right: 30px;
  bottom: 10px;
  width: 30px;
  height: 1px;
  background: #004165;
  position: absolute;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--neutral a:after, .button-style--neutral button:after {
    bottom: 15px; } }
.button-style--neutral a:before, .button-style--neutral button:before {
  content: "";
  right: 30px;
  bottom: 14px;
  width: 15px;
  height: 1px;
  background: #004165;
  position: absolute;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transform: rotate(30deg); }

@media screen and (max-width: 639px) {
  .button-style--neutral a:before, .button-style--neutral button:before {
    bottom: 19px; } }
.button-style--neutral a:hover, .button-style--neutral button:hover {
  color: #ffffff;
  background: #004165; }

.button-style--neutral a:hover:after, .button-style--neutral button:hover:after {
  background: #ffffff;
  right: 25px;
  width: 35px; }

.button-style--neutral a:hover:before, .button-style--neutral button:hover:before {
  background: #ffffff;
  right: 25px; }

.button-style--neutral.hover-reverse {
  font-size: 16px; }

.button-style--neutral.hover-reverse a, .button-style--neutral.hover-reverse button {
  position: relative;
  display: block;
  text-align: center;
  border: 1px solid #004165;
  padding: 5px 60px;
  background: #004165;
  color: #ffffff;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--neutral.hover-reverse a, .button-style--neutral.hover-reverse button {
    padding: 15px 60px; } }
.button-style--neutral.hover-reverse a:after, .button-style--neutral.hover-reverse button:after {
  content: "";
  right: 30px;
  bottom: 10px;
  width: 30px;
  height: 1px;
  background: #ffffff;
  position: absolute;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--neutral.hover-reverse a:after, .button-style--neutral.hover-reverse button:after {
    bottom: 15px; } }
.button-style--neutral.hover-reverse a:before, .button-style--neutral.hover-reverse button:before {
  content: "";
  right: 30px;
  bottom: 14px;
  width: 15px;
  height: 1px;
  background: #ffffff;
  position: absolute;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transform: rotate(30deg); }

@media screen and (max-width: 639px) {
  .button-style--neutral.hover-reverse a:before, .button-style--neutral.hover-reverse button:before {
    bottom: 19px; } }
.button-style--neutral.hover-reverse a:hover, .button-style--neutral.hover-reverse button:hover {
  color: #004165;
  background: #ffffff; }

.button-style--neutral.hover-reverse a:hover:after, .button-style--neutral.hover-reverse button:hover:after {
  background: #004165;
  right: 25px;
  width: 35px; }

.button-style--neutral.hover-reverse a:hover:before, .button-style--neutral.hover-reverse button:hover:before {
  background: #004165;
  right: 25px; }

.button-style--inline-large {
  text-align: center; }

.button-style--inline-large a {
  display: inline-block;
  padding: 10px 100px; }

.button-style--rich {
  padding: 0;
  background-color: #ffffff;
  color: #004165;
  max-width: 346px;
  width: 100%; }

.button-style--rich .btn .fontS{
  font-size: 60%; color: #7E1E44; line-height: 2rem;}

.button-style--rich .txt {
  color: #004165;
  font-size: 14px;
  font-weight: bold;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn {
  background: none;
  line-height: 1;
  color: #004165;
  font-size: 26px;
  width: auto;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn {
    font-size: 4vw; } }
.button-style--rich .btn-style--blue {
  position: relative;
  border: solid 2px #004165;
  padding: 15px 20px;
  display: block; }

.button-style--rich .btn-style--blue:after {
  content: "";
  border-top: 10px solid #004165;
  border-right: 10px solid #004165;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:after {
    border-top: 6px solid #004165;
    border-right: 6px solid #004165;
    border-bottom: 6px solid transparent;
    border-left: 6px solid transparent; } }
.button-style--rich .btn-style--blue:before {
  content: "";
  border-top: 10px solid #004165;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #004165;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:before {
    border-top: 6px solid #004165;
    border-right: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #004165; } }
.button-style--rich .btn-style--blue .btn-style--blue--inner {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue .btn-style--blue--inner:after {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid #004165;
  border-bottom: 10px solid #004165;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue .btn-style--blue--inner:after {
    border-top: 6px solid transparent;
    border-right: 6px solid #004165;
    border-bottom: 6px solid #004165;
    border-left: 6px solid transparent; } }
.button-style--rich .btn-style--blue .btn-style--blue--inner:before {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #004165;
  border-left: 10px solid #004165;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue .btn-style--blue--inner:before {
    border-top: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #004165;
    border-left: 6px solid #004165; } }
.button-style--rich .btn-style--blue:hover {
  opacity: 1;
  background: #004165; }

.button-style--rich .btn-style--blue:hover .txt {
  color: #ffffff; }

.button-style--rich .btn-style--blue:hover .btn {
  color: #ffffff; }

.button-style--rich .btn-style--blue:hover .fontS {
  color: #ffffff; }

.button-style--rich .btn-style--blue:hover:after {
  content: "";
  border-top: 10px solid #ffffff;
  border-right: 10px solid #ffffff;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:hover:after {
    border-top: 6px solid #ffffff;
    border-right: 6px solid #ffffff;
    border-bottom: 6px solid transparent;
    border-left: 6px solid transparent; } }
.button-style--rich .btn-style--blue:hover:before {
  content: "";
  border-top: 10px solid #ffffff;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #ffffff;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:hover:before {
    border-top: 6px solid #ffffff;
    border-right: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #ffffff; } }
.button-style--rich .btn-style--blue:hover .btn-style--blue--inner:after {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid #ffffff;
  border-bottom: 10px solid #ffffff;
  border-left: 10px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:hover .btn-style--blue--inner:after {
    border-top: 6px solid transparent;
    border-right: 6px solid #ffffff;
    border-bottom: 6px solid #ffffff;
    border-left: 6px solid transparent; } }
.button-style--rich .btn-style--blue:hover .btn-style--blue--inner:before {
  content: "";
  border-top: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #ffffff;
  border-left: 10px solid #ffffff;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px; }

@media screen and (max-width: 639px) {
  .button-style--rich .btn-style--blue:hover .btn-style--blue--inner:before {
    border-top: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #ffffff;
    border-left: 6px solid #ffffff; } }
.button-style--rich .btn-style--blue-mini {
  position: relative;
  border: solid 2px #004165;
  padding: 15px 20px;
  display: block; }

.button-style--rich .btn-style--blue-mini:after {
  content: "";
  border-top: 7px solid #004165;
  border-right: 7px solid #004165;
  border-bottom: 7px solid transparent;
  border-left: 7px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini:before {
  content: "";
  border-top: 7px solid #004165;
  border-right: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid #004165;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini .btn-style--blue--inner {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini .btn-style--blue--inner:after {
  content: "";
  border-top: 7px solid transparent;
  border-right: 7px solid #004165;
  border-bottom: 7px solid #004165;
  border-left: 7px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini .btn-style--blue--inner:before {
  content: "";
  border-top: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #004165;
  border-left: 7px solid #004165;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.button-style--rich .btn-style--blue-mini:hover {
  opacity: 1;
  background: #004165; }

.button-style--rich .btn-style--blue-mini:hover .txt {
  color: #ffffff; }

.button-style--rich .btn-style--blue-mini:hover .btn {
  color: #ffffff; }

.button-style--rich .btn-style--blue-mini:hover:after {
  content: "";
  border-top: 7px solid #ffffff;
  border-right: 7px solid #ffffff;
  border-bottom: 7px solid transparent;
  border-left: 7px solid transparent;
  display: block;
  position: absolute;
  top: 3px;
  right: 3px; }

.button-style--rich .btn-style--blue-mini:hover:before {
  content: "";
  border-top: 7px solid #ffffff;
  border-right: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid #ffffff;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px; }

.button-style--rich .btn-style--blue-mini:hover .btn-style--blue--inner:after {
  content: "";
  border-top: 7px solid transparent;
  border-right: 7px solid #ffffff;
  border-bottom: 7px solid #ffffff;
  border-left: 7px solid transparent;
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px; }

.button-style--rich .btn-style--blue-mini:hover .btn-style--blue--inner:before {
  content: "";
  border-top: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ffffff;
  border-left: 7px solid #ffffff;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 3px; }

@keyframes linear {
  from {
    background-position: 0 0; }
  to {
    background-position: 200px 0; } }
@keyframes radial {
  from {
    background-position: 0 0; }
  to {
    background-position: 0 60px; } }
@keyframes repeating {
  from {
    background-position: 0 0; }
  to {
    background-position: 0 85px; } }
@keyframes electronic {
  0%, 100% {
    background-position: 10px -30px; }
  25% {
    background-position: 120px -5px; }
  50% {
    background-position: 10px 20px; }
  75% {
    background-position: -130px -5px; } }
@font-face {
  font-family: "open";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTZ1r3JsPcQLi8jytr04NNhU.woff) format("woff"); }
.biliboard {
  position: relative; }

.biliboard *, .biliboard *:before, .biliboard *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.biliboard:before {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  border-radius: 3px;
  transform: scale(1, 1.08);
  position: absolute;
  background: #f00;
  background: linear-gradient(90deg, #fafafa, #fafafa, #004165, #fafafa, #fafafa);
  background-position: 55px 0;
  animation: linear 1s infinite linear;
  z-index: -1; }

.biliboard.radial:before {
  background: radial-gradient(#fafafa, #fafafa, #004165, #fafafa, #fafafa);
  animation: radial 1s infinite linear; }

.biliboard.repeating:before {
  background: repeating-linear-gradient(-45deg, #fafafa, #fafafa 30px, #004165 30px, #004165 60px) fixed;
  animation: repeating 1s infinite linear; }

.biliboard.electronic:before {
  background: radial-gradient(#004165, #004165, #004165, #004165, #fafafa, #fafafa, #fafafa) no-repeat;
/*  background-size: 150px 40px;*/
  background-size: auto;  
  animation: electronic 5s infinite linear; }

.biliboard2:before {
  background: linear-gradient(90deg, #fafafa, #fafafa, #7e1e44, #fafafa, #fafafa); }

.biliboard2.radial:before {
  background: radial-gradient(#fafafa, #fafafa, #7e1e44, #fafafa, #fafafa); }

.biliboard2.repeating:before {
  background: repeating-linear-gradient(-45deg, #fafafa, #fafafa 30px, #7E1E44 30px, #7E1E44 60px) fixed; }

.biliboard2.electronic:before {
  background: radial-gradient(#7e1e44, #7e1e44, #7e1e44, #7e1e44, #fafafa, #fafafa, #fafafa) no-repeat; }

/* ==========================================================================
   中ページ
   ========================================================================== */
.sub-page--visual {
  height: 460px;
  overflow: hidden; }

.sub-page--visual:before {
  content: ""; }

.sub-page--visual .sub-page--visual--inner {
  max-width: 1140px;
  margin: 0 auto;
  width: 100%;
  padding: 0 20px; }

.sub-page--visual .sub-page--visual--inner h1 {
  display: inline-block;
  padding: 40px 40px 40px 0;
  position: relative; }

.sub-page--visual .sub-page--visual--inner h1 img {
  position: relative;
  z-index: 1; }

.sub-page--visual .sub-page--visual--inner h1:before {
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  background: #ffffff;
  width: 100vw;
  top: 0;
  right: 0;
  opacity: 0.8; }

@media screen and (max-width: 639px) {
  .sub-page--visual .sub-page--visual--inner.sub-page--visual--inner--mini h1 {
    display: inline-block;
    padding: 3vw 3vw 3vw 0; }

  .sub-page--visual .sub-page--visual--inner.sub-page--visual--inner--mini h1 img {
    width: 56vw; } }
.sub-page--visual2 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 0 50px; }

.sub-page--visual3 {
  height: 420px; }

.sub-page--visual3 .sub-page--visual3--inner {
  max-width: 1000px;
  margin: 0 auto; }

.copy-title {
  text-align: center;
  margin-bottom: 60px; }

@media screen and (max-width: 639px) {
  .copy-title {
    margin-bottom: 30px; } }
.caution-style {
  font-size: 12px;
  padding-left: 13px;
  text-indent: -13px; }

.photo-caution {
  font-size: 12px;
  text-align: right;
  margin-top: 20px; }

@media screen and (max-width: 639px) {
  .photo-caution {
    font-size: 10px; } }
#bloomoi {
  /*.expand{
      @media screen and (max-width: 667px) {
          background: url(../imgs/common/expand@2x.png) no-repeat center top;
          padding-top: 57px;
          background-size: 262px 47px;
      }
  }*/ }

@media screen and (min-width: 667px) {
  #bloomoi .sp {
    display: none !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pc {
    display: none !important; } }
#bloomoi .center {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important; }

@media screen and (max-width: 667px) {
  #bloomoi .center_sp {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important; } }
#bloomoi .tal {
  text-align: left !important; }

@media screen and (max-width: 667px) {
  #bloomoi .tal_sp {
    text-align: left !important; } }
#bloomoi .fl {
  float: left; }

#bloomoi .fr {
  float: right; }

#bloomoi .fl_sp {
  float: left; }

@media screen and (max-width: 667px) {
  #bloomoi .fl_sp {
    float: none; } }
#bloomoi .fr_sp {
  float: right; }

@media screen and (max-width: 667px) {
  #bloomoi .fr_sp {
    float: none; } }
#bloomoi .clear {
  clear: both;
  *zoom: 1; }

#bloomoi .clear:before, #bloomoi .clear:after {
  content: "";
  display: table; }

#bloomoi .clear:after {
  clear: both; }

#bloomoi .cf {
  *zoom: 1; }

#bloomoi .cf:before, #bloomoi .cf:after {
  content: "";
  display: table; }

#bloomoi .cf:after {
  clear: both; }

#bloomoi .mb0 {
  margin-bottom: 0px !important; }

#bloomoi .mb1 {
  margin-bottom: 10px !important; }

#bloomoi .mb2 {
  margin-bottom: 20px !important; }

#bloomoi .mb3 {
  margin-bottom: 30px !important; }

#bloomoi .mb4 {
  margin-bottom: 40px !important; }

#bloomoi .mb5 {
  margin-bottom: 50px !important; }

#bloomoi .mb6 {
  margin-bottom: 60px !important; }

#bloomoi .mb7 {
  margin-bottom: 70px !important; }

#bloomoi .mb8 {
  margin-bottom: 80px !important; }

#bloomoi .mb9 {
  margin-bottom: 90px !important; }

#bloomoi .mb10 {
  margin-bottom: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .mb0_sp {
    margin-bottom: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb1_sp {
    margin-bottom: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb2_sp {
    margin-bottom: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb3_sp {
    margin-bottom: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb4_sp {
    margin-bottom: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb5_sp {
    margin-bottom: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb6_sp {
    margin-bottom: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb7_sp {
    margin-bottom: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb8_sp {
    margin-bottom: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb9_sp {
    margin-bottom: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mb10_sp {
    margin-bottom: 100px !important; } }
#bloomoi .mt0 {
  margin-top: 0px !important; }

#bloomoi .mt1 {
  margin-top: 10px !important; }

#bloomoi .mt2 {
  margin-top: 20px !important; }

#bloomoi .mt3 {
  margin-top: 30px !important; }

#bloomoi .mt4 {
  margin-top: 40px !important; }

#bloomoi .mt5 {
  margin-top: 50px !important; }

#bloomoi .mt6 {
  margin-top: 60px !important; }

#bloomoi .mt7 {
  margin-top: 70px !important; }

#bloomoi .mt8 {
  margin-top: 80px !important; }

#bloomoi .mt9 {
  margin-top: 90px !important; }

#bloomoi .mt10 {
  margin-top: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .mt0_sp {
    margin-top: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt1_sp {
    margin-top: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt2_sp {
    margin-top: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt3_sp {
    margin-top: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt4_sp {
    margin-top: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt5_sp {
    margin-top: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt6_sp {
    margin-top: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt7_sp {
    margin-top: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt8_sp {
    margin-top: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt9_sp {
    margin-top: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mt10_sp {
    margin-top: 100px !important; } }
#bloomoi .mr0 {
  margin-right: 0px !important; }

#bloomoi .mr1 {
  margin-right: 10px !important; }

#bloomoi .mr2 {
  margin-right: 20px !important; }

#bloomoi .mr3 {
  margin-right: 30px !important; }

#bloomoi .mr4 {
  margin-right: 40px !important; }

#bloomoi .mr5 {
  margin-right: 50px !important; }

#bloomoi .mr6 {
  margin-right: 60px !important; }

#bloomoi .mr7 {
  margin-right: 70px !important; }

#bloomoi .mr8 {
  margin-right: 80px !important; }

#bloomoi .mr9 {
  margin-right: 90px !important; }

#bloomoi .mr10 {
  margin-right: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .mr0_sp {
    margin-right: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr1_sp {
    margin-right: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr2_sp {
    margin-right: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr3_sp {
    margin-right: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr4_sp {
    margin-right: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr5_sp {
    margin-right: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr6_sp {
    margin-right: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr7_sp {
    margin-right: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr8_sp {
    margin-right: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr9_sp {
    margin-right: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .mr10_sp {
    margin-right: 100px !important; } }
#bloomoi .ml0 {
  margin-left: 0px !important; }

#bloomoi .ml1 {
  margin-left: 10px !important; }

#bloomoi .ml2 {
  margin-left: 20px !important; }

#bloomoi .ml3 {
  margin-left: 30px !important; }

#bloomoi .ml4 {
  margin-left: 40px !important; }

#bloomoi .ml5 {
  margin-left: 50px !important; }

#bloomoi .ml6 {
  margin-left: 60px !important; }

#bloomoi .ml7 {
  margin-left: 70px !important; }

#bloomoi .ml8 {
  margin-left: 80px !important; }

#bloomoi .ml9 {
  margin-left: 90px !important; }

#bloomoi .ml10 {
  margin-left: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .ml0_sp {
    margin-left: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml1_sp {
    margin-left: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml2_sp {
    margin-left: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml3_sp {
    margin-left: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml4_sp {
    margin-left: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml5_sp {
    margin-left: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml6_sp {
    margin-left: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml7_sp {
    margin-left: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml8_sp {
    margin-left: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml9_sp {
    margin-left: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .ml10_sp {
    margin-left: 100px !important; } }
#bloomoi .pt0 {
  padding-top: 0px !important; }

#bloomoi .pt1 {
  padding-top: 10px !important; }

#bloomoi .pt2 {
  padding-top: 20px !important; }

#bloomoi .pt3 {
  padding-top: 30px !important; }

#bloomoi .pt4 {
  padding-top: 40px !important; }

#bloomoi .pt5 {
  padding-top: 50px !important; }

#bloomoi .pt6 {
  padding-top: 60px !important; }

#bloomoi .pt7 {
  padding-top: 70px !important; }

#bloomoi .pt8 {
  padding-top: 80px !important; }

#bloomoi .pt9 {
  padding-top: 90px !important; }

#bloomoi .pt10 {
  padding-top: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .pt0_sp {
    padding-top: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt1_sp {
    padding-top: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt2_sp {
    padding-top: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt3_sp {
    padding-top: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt4_sp {
    padding-top: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt5_sp {
    padding-top: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt6_sp {
    padding-top: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt7_sp {
    padding-top: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt8_sp {
    padding-top: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt9_sp {
    padding-top: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pt10_sp {
    padding-top: 100px !important; } }
#bloomoi .pb0 {
  padding-bottom: 0px !important; }

#bloomoi .pb1 {
  padding-bottom: 10px !important; }

#bloomoi .pb2 {
  padding-bottom: 20px !important; }

#bloomoi .pb3 {
  padding-bottom: 30px !important; }

#bloomoi .pb4 {
  padding-bottom: 40px !important; }

#bloomoi .pb5 {
  padding-bottom: 50px !important; }

#bloomoi .pb6 {
  padding-bottom: 60px !important; }

#bloomoi .pb7 {
  padding-bottom: 70px !important; }

#bloomoi .pb8 {
  padding-bottom: 80px !important; }

#bloomoi .pb9 {
  padding-bottom: 90px !important; }

#bloomoi .pb10 {
  padding-bottom: 100px !important; }

@media screen and (max-width: 667px) {
  #bloomoi .pb0_sp {
    padding-bottom: 0px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb1_sp {
    padding-bottom: 10px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb2_sp {
    padding-bottom: 20px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb3_sp {
    padding-bottom: 30px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb4_sp {
    padding-bottom: 40px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb5_sp {
    padding-bottom: 50px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb6_sp {
    padding-bottom: 60px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb7_sp {
    padding-bottom: 70px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb8_sp {
    padding-bottom: 80px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb9_sp {
    padding-bottom: 90px !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .pb10_sp {
    padding-bottom: 100px !important; } }
#bloomoi .w05 {
  width: 4% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w05 {
    width: 100% !important; } }
#bloomoi .w10 {
  width: 9% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w10 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w10_sp {
    width: 9% !important; } }
#bloomoi .w15 {
  width: 14% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w15 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w15_sp {
    width: 14% !important; } }
#bloomoi .w20 {
  width: 19% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w20 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w20_sp {
    width: 19% !important; } }
#bloomoi .w25 {
  width: 24% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w25 {
    width: 100% !important; } }
#bloomoi .w30 {
  width: 29% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w30 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w30_sp {
    width: 29% !important; } }
#bloomoi .w33 {
  width: 32% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w33 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w33_sp {
    width: 32% !important; } }
#bloomoi .w35 {
  width: 34% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w35 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w35_sp {
    width: 34% !important; } }
#bloomoi .w40 {
  width: 39% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w40 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w40_sp {
    width: 39% !important; } }
#bloomoi .w45 {
  width: 44% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w45 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w45_sp {
    width: 44% !important; } }
#bloomoi .w49 {
  width: 48% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w49 {
    width: 100% !important; } }
#bloomoi .w50 {
  width: 49% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w50 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w50_sp {
    width: 49% !important; } }
#bloomoi .w53 {
  width: 52% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w53 {
    width: 100% !important; } }
#bloomoi .w55 {
  width: 54% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w55 {
    width: 100% !important; } }
#bloomoi .w60 {
  width: 59% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w60 {
    width: 100% !important; } }
#bloomoi .w65 {
  width: 64% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w65 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w60_sp {
    width: 59% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w65_sp {
    width: 64% !important; } }
#bloomoi .w66 {
  width: 66% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w66 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w66_sp {
    width: 66% !important; } }
#bloomoi .w70 {
  width: 69% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w70 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w70_sp {
    width: 69% !important; } }
#bloomoi .w75 {
  width: 74% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w75 {
    width: 100% !important; } }
#bloomoi .w80 {
  width: 79% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w80 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w80_sp {
    width: 79% !important; } }
#bloomoi .w83 {
  width: 82% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w83 {
    width: 100% !important; } }
#bloomoi .w85 {
  width: 84% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w85 {
    width: 100% !important; } }
#bloomoi .w88 {
  width: 88% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w88 {
    width: 100% !important; } }
#bloomoi .w90 {
  width: 89% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w90 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w85_sp {
    width: 84% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w90_sp {
    width: 89% !important; } }
#bloomoi .w95 {
  width: 94% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w95 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w95_sp {
    width: 94% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w25_sp {
    width: 24% !important; } }
#bloomoi .w75 {
  width: 74% !important; }

@media screen and (max-width: 667px) {
  #bloomoi .w75 {
    width: 100% !important; } }
@media screen and (max-width: 667px) {
  #bloomoi .w75_sp {
    width: 74% !important; } }
#bloomoi img.w100 {
  max-width: 100% !important; }

#bloomoi .flex {
  display: flex;
  flex-wrap: wrap; }

#bloomoi .flex img {
  max-width: 100%; }

@media screen and (max-width: 667px) {
  #bloomoi .flex {
    display: block; }

  #bloomoi .flex.sp-flex {
    display: flex;
    flex-wrap: wrap; } }
@media screen and (max-width: 667px) {
  #bloomoi .sp-flex {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    flex-wrap: wrap; } }
#bloomoi .between {
  justify-content: space-between;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }

#bloomoi .a-center {
  align-items: center; }

#bloomoi .bold {
  font-weight: bold; }

@media screen and (max-width: 667px) {
  #bloomoi img {
    max-width: 100%; } }
#bloomoi a {
  outline: none; }

#bloomoi a:focus {
  outline: none; }

#bloomoi a.fade:hover {
  opacity: 0.7;
  transition: .3s; }

.main-visual-caution {
  color: #ffffff;
  text-shadow: 0px 0px 14px rgba(118, 118, 118, 0.89), 0px 0px 13px rgba(128, 131, 128, 0.73), 0px 0px 13px rgba(128, 131, 128, 0.73);
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 13px;
  font-weight: bold; }

@media screen and (max-width: 639px) {
  .main-visual-caution {
    font-size: 10px; } }
/* ==========================================================================
   アニメーション
   ========================================================================== */
.fade-anime {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  position: relative;
  top: 2px; 
  margin: 0 auto 50px;
}


.ef-fade01 {
  opacity: 0;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5; }

.fade01 {
  opacity: 1.0;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5; }

.flex-direction-nav .flex-prev {
  transform: scale(0.5, 0.5); }

.flex-direction-nav .flex-next {
  transform: scale(0.5, 0.5); }

.style-block {
  display: block !important; }

/* ==========================================================================
   ボタン
   ========================================================================== */
#pNav li.req a, #pNav li.res a {
  font-size: 13px;
  line-height: 30px;
  color: #000;
  background: #fff !important;
  font-family: 'Sawarabi Mincho', sans-serif;
  position: relative;
  z-index: 1;
  overflow: hidden; }

#pNav li.req a:after {
  content: "";
  background: #b2d6ec !important;
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  z-index: -1;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border: solid 1px #ffffff; }

#pNav li.res a:after {
  content: "";
  background: #7E1E44 !important;
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  z-index: -1;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border: solid 1px #ffffff; }

/*フロートバナー*/

.floatbnr_sp {
    display: none;
}

.main {
    position: relative;
}

.floatbnr.mov {
    /* top: 75%; */
    top: auto;
    bottom: 50px;

}
.floatbnr.mov img{
    margin-bottom: 10px;
}

.floatbnr {
    display: block;
    position: fixed;
    width: 18%;
    right: 10px;
    z-index: 300;
}

.floatbnr a:hover{
    opacity: 0.7;
}

.floatbnr span.new{
    position: relative;
    display: block;
}
.floatbnr span.new:after{
    content: "NEW";
    position: absolute;
    top:-11px;
    left: -4px;
    color: #fff;
    background-color: #ab4c67;
    font-size: 10px;
    padding: 5px 8px;
    z-index: 5;
    border: solid 1px #fff;
}
.floatbnr .btn_close_mov {
    display: block;
    border-radius: 50%;
    position: absolute;
    top: -31px;
    right: 3px;
    z-index: 301;
    width: 30px;
    height: 30px;
    line-height: 1;
    color: #fff;
    font-size: 14px;
    background: #000;
    margin-top: -1px;
    cursor: pointer;
    opacity: 1;
    -webkit-transition: opacity 0.45s;
    transition: opacity 0.45s;
}

.floatbnr .btn_close_mov::before {
    display: inline;
    content: "×";
    position: absolute;
    top: calc(50% - 2px);
    left: 50%;
    z-index: 301;
    transform: translate(-50%, -50%);
    font-size: 24px;
}

.floatbnr > div > a:hover {
    opacity: .6;
}

.CP_Bnr {
	text-align: center;
	margin: 50px 0;
	max-width: 100%;
}

    .map_ttl {
	text-align: center;
    font-size: 120%;
	color: #014165;
	margin-bottom: 20px;
}


@media only screen and (max-width:640px) {
    .floatbnr_sp {
        display: block;
        margin: 20px auto;
        text-align: center;
        width: calc(100% - 2rem);
    }
    .floatbnr .btn_close_mov {
	margin-right: 35%;
}

    .floatbnr_sp .new{
        position: relative;
        display: block;
      }
      .floatbnr_sp .new:after{
        content: "NEW";
        position: absolute;
        top: -11px;
        left: -4px;
        color: #fff;
        background-color: #ab4c67;
        font-size: 10px;
        padding: 5px 8px;
        z-index: 5;
        border: solid 1px #fff;
      }
    .floatbnr_sp img{
        margin-bottom:10px;
    }
	.floatbnr.mov img{
    margin-bottom: 0;
}
    
	.floatbnr {
    display: block;
    position: fixed;
    width: 40%;
    right: 10px;
	margin-right: -15%;
    z-index: 300;
}

    /*.floatbnr {
        display: none;
    }
*/
    .merit_bnr {
        margin: 33px auto;
        width: 90%;

    }
	.CP_Bnr {
	text-align: center;
	margin: 50px auto 60px;
	max-width: 375px;
}


}
    .life_bnr {
	text-align: center;
    margin-bottom: 60px;
}
    .infottl {
	margin-bottom: 0px;
}
.map2{
	margin-top: 65px;
}

.select > p{
	color: #004165;
    font-size: 18px;
    margin:30px 0 15px 0;
}

/* ==========================================================================
   digitalpamphlet
   ========================================================================== */


#section03 > a > div.pamphlet_con{
    position: relative;
    max-width: 960px;
    margin: 60px auto 0 auto;
}

#section03 > a > div.pamphlet_con > p.pamphlet_con_btn{
    position: absolute;
    bottom: 5%;
    left: 10%;
}

div.pamphlet_con >img.sp-none{
    display: block;
}

div.pamphlet_con >img.pc-none{
    display: none;
}

@media screen and (max-width: 639px) {
    
div.pamphlet_con >img.sp-none{
    display: none;
}
    
div.pamphlet_con >img.pc-none{
    display: block;
}

#section03 > a > div.pamphlet_con > p.pamphlet_con_btn{
    bottom: 8%;
    left: 0;
    right: 0;
    margin: auto;
}

p.pamphlet_con_btn >  button{
        padding: 10px 80px !important;
        
}
    
    
}

.top_price {
	text-align: left;
    padding-left: .7rem;
}
.mt_70{
	margin-top: 70px;
}
@media screen and (max-width: 639px) {
	.mt_70{
		margin-top: 0;
	}
}