@charset "UTF-8";
html, body {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 300;
  font-style: normal;
  overflow-x: hidden; }

.pt1rem {
  padding-top: 1rem; }

.pt2rem {
  padding-top: 2rem; }

.pt3rem {
  padding-top: 3rem; }
  @media screen and (max-width: 767px) {
    .pt3rem {
      padding-top: 1.5rem; } }

.pb5rem {
  padding-top: 5rem; }

.pb1rem {
  padding-bottom: 1rem; }

.pb2rem {
  padding-bottom: 2rem; }

.pb3rem {
  padding-bottom: 3rem; }
  @media screen and (max-width: 767px) {
    .pb3rem {
      padding-bottom: 1.5rem; } }

.pb5rem {
  padding-bottom: 5rem; }

.mt1rem {
  margin-top: 1rem; }

.mt2rem {
  margin-top: 2rem; }

.mt3rem {
  margin-top: 3rem; }

.mb5rem {
  margin-top: 5rem; }

.mb1rem {
  margin-bottom: 1rem; }

.mb2rem {
  margin-bottom: 2rem; }

.mb3rem {
  margin-bottom: 3rem; }

.mb5rem {
  margin-bottom: 5rem; }

.text_red {
  color: #E25050; }

#chat_btn {
  position: fixed;
  top: 0;
  right: -9em;
  bottom: 0;
  background-color: #037CBF;
  height: 4rem;
  width: 14em;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem 1rem;
  border-radius: 3rem 0 0 3rem;
  font-size: 1.1rem;
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;
  padding-left: 1.5rem;
  z-index: 2;
  cursor: pointer;
  border: 2px solid #037CBF;
  border-right: none; }
  #chat_btn.close {
    right: -15em; }
  @media screen and (max-width: 767px) {
    #chat_btn {
      bottom: 15%;
      top: auto; } }
  #chat_btn div {
    width: 3rem;
    height: 3rem;
    margin-right: 1rem;
    background-image: url(../svg/chat.svg);
    background-size: cover;
    background-position: center;
    -webkit-transition: all ease-in-out 0.5s;
    transition: all ease-in-out 0.5s; }
  #chat_btn span {
    color: #037CBF;
    font-weight: 500; }
  #chat_btn:hover {
    right: 0em;
    background: white;
    color: #037CBF; }
    #chat_btn:hover div {
      background-image: url(../svg/chat_blue.svg); }

.word_icon:after {
  content: "";
  background-image: url(/assets/word.svg);
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  position: relative;
  top: 6px;
  background-size: contain;
  margin-left: 0.5rem; }

.excel_icon:after {
  content: "";
  background-image: url(/assets/excel.svg);
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  position: relative;
  top: 6px;
  background-size: contain;
  margin-left: 0.5rem; }

.arrow_icon:before {
  content: "";
  background-image: url(/assets/right-arrow.svg);
  width: 1.5em;
  height: 1.5em;
  display: inline-block;
  position: relative;
  top: 6px;
  background-size: contain;
  margin-right: 0.25em; }

.new_icon:before {
  content: "";
  background-image: url(/assets/new_1.svg);
  width: 1.85em;
  height: 1.75em;
  display: inline-block;
  position: relative;
  top: 6px;
  background-size: cover;
  margin-right: 0.25em; }

a.pdf:after {
  content: "";
  background-image: url(/asset/svg/pdf.svg);
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  position: relative;
  top: 6px;
  background-size: contain;
  margin-left: 0.5rem; }

a.external:after {
  content: "";
  background-image: url(/asset/svg/external.svg);
  width: 1rem;
  height: 1rem;
  display: inline-block;
  position: relative;
  top: 2px;
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0.25rem; }

header {
  position: relative;
  z-index: 1; }
  @media print {
    header #news_mySwiper {
      display: none; } }
  header #news_mySwiper .floatlink {
    opacity: 0;
    -webkit-transition: all ease 0.5s;
    transition: all ease 0.5s;
    position: absolute;
    right: 0;
    top: 0;
    margin: auto;
    display: inline-block;
    height: 2em;
    z-index: 11;
    border: 1px solid #037CBF;
    background-color: #037CBF;
    color: white;
    font-size: 11px;
    padding: 0.25rem 1rem;
    border-radius: 5rem; }
    @media screen and (max-width: 767px) {
      header #news_mySwiper .floatlink {
        display: none; } }
    header #news_mySwiper .floatlink:hover {
      border: 1px solid #037CBF;
      background-color: white;
      color: #037CBF; }
  header #news_mySwiper .swiper-slide dl {
    max-width: 74rem;
    width: 100%;
    padding: 1rem;
    padding-top: 0;
    margin: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 9rem; }
    @media screen and (max-width: 767px) {
      header #news_mySwiper .swiper-slide dl {
        display: block;
        padding-right: 1rem; } }
    header #news_mySwiper .swiper-slide dl dt {
      margin-right: 1rem;
      line-height: 1.65; }
      @media screen and (max-width: 767px) {
        header #news_mySwiper .swiper-slide dl dt {
          margin-bottom: 0.5rem;
          font-size: 10px; } }
    header #news_mySwiper .swiper-slide dl dd a {
      line-height: 1.65;
      color: #037CBF; }
      @media screen and (max-width: 767px) {
        header #news_mySwiper .swiper-slide dl dd a {
          line-height: 1.6;
          font-size: 10px; } }
  header .header_inner {
    max-width: 80rem;
    width: 100%;
    padding: 1rem;
    padding-top: 0;
    margin: auto; }
    @media screen and (max-width: 767px) {
      header .header_inner {
        padding-top: 1rem; } }
    header .header_inner #smartphone.kind_jp {
      display: block;
      position: relative; }
      @media screen and (min-width: 768px) {
        header .header_inner #smartphone.kind_jp {
          display: none; } }
      header .header_inner #smartphone.kind_jp ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        padding-top: 1rem; }
        header .header_inner #smartphone.kind_jp ul li {
          width: 48%;
          border: 2px solid #646464;
          border-radius: 4rem;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          padding: .5rem 1rem;
          margin: 0.25rem auto;
          background-color: white;
          cursor: pointer; }
          header .header_inner #smartphone.kind_jp ul li:hover {
            border-color: #037CBF; }
          header .header_inner #smartphone.kind_jp ul li img {
            display: inline;
            margin-right: 0.5rem;
            width: 1rem;
            height: 1rem; }
          header .header_inner #smartphone.kind_jp ul li div, header .header_inner #smartphone.kind_jp ul li a {
            display: inline;
            font-size: 1rem;
            font-weight: 500;
            color: #111111; }
    header .header_inner .logo {
      width: 14rem; }
      @media screen and (max-width: 767px) {
        header .header_inner .logo {
          width: 10rem; } }
      header .header_inner .logo:hover img {
        opacity: 0.75; }
      header .header_inner .logo img {
        width: 100%;
        height: auto; }
    header .header_inner .menu_trigger {
      display: none;
      background-color: #f0f0f0; }
      @media screen and (max-width: 767px) {
        header .header_inner .menu_trigger {
          display: block;
          position: relative;
          /* bodyに対しての絶対位置指定 */
          width: 42px;
          height: 42px;
          cursor: pointer;
          z-index: 3; }
          header .header_inner .menu_trigger.active {
            /* 2番目と3番目のspanを45度に */ }
            header .header_inner .menu_trigger.active span:nth-child(1) {
              top: 18px;
              left: 6px;
              -webkit-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
            header .header_inner .menu_trigger.active span:nth-child(2),
            header .header_inner .menu_trigger.active span:nth-child(3) {
              top: 18px;
              -webkit-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
                  transform: rotate(45deg); }
          header .header_inner .menu_trigger span {
            display: block;
            position: absolute;
            width: 30px;
            border-bottom: solid 3px #000;
            -webkit-transition: .35s ease-in-out;
            /*変化の速度を指定*/
            /*変化の速度を指定*/
            transition: .35s ease-in-out;
            /*変化の速度を指定*/
            left: 6px; }
            header .header_inner .menu_trigger span:nth-child(1) {
              top: 9px; }
            header .header_inner .menu_trigger span:nth-child(2) {
              top: 19px; }
            header .header_inner .menu_trigger span:nth-child(3) {
              top: 30px; } }
    header .header_inner .header_top {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
      padding-bottom: 1rem; }
      @media screen and (max-width: 767px) {
        header .header_inner .header_top {
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          padding-bottom: 0; } }
      header .header_inner .header_top .chord_logo {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 1rem; }
        @media screen and (max-width: 767px) {
          header .header_inner .header_top .chord_logo {
            width: 12.5rem;
            margin-bottom: 0; } }
        header .header_inner .header_top .chord_logo a {
          display: inline-block;
          box-shadow: 0 0 6px #000;
          border-radius: 0 0 1rem 1rem;
          padding: 0.5rem 1rem;
          margin-left: auto;}
          @media screen and (max-width: 767px) {
            header .header_inner .header_top .chord_logo a {
              box-shadow: none;
			  padding: 0.5rem 1rem;
			  width: 12.5rem;} }
          header .header_inner .header_top .chord_logo a:hover img {
            opacity: 0.75; }
          header .header_inner .header_top .chord_logo a img {
            width: 22.5rem; }
            @media screen and (max-width: 767px) {
              header .header_inner .header_top .chord_logo a img.pc {
                display: none; } }
            header .header_inner .header_top .chord_logo a img.sp {
              display: none; }
              @media screen and (max-width: 767px) {
                header .header_inner .header_top .chord_logo a img.sp {
                  display: block; } }
            @media screen and (max-width: 767px) {
              header .header_inner .header_top .chord_logo a img {
                width: 100%; } }
      header .header_inner .header_top .kind_jp ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        @media screen and (max-width: 767px) {
          header .header_inner .header_top .kind_jp ul {
            -webkit-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
            display: none;
            position: fixed;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0; } }
        header .header_inner .header_top .kind_jp ul li {
          border: 2px solid #646464;
          border-radius: 4rem;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          padding: .5rem 1rem;
          margin-left: 1rem;
          background-color: white;
          cursor: pointer; }
          header .header_inner .header_top .kind_jp ul li:hover {
            border-color: #037CBF;
            color: #037CBF; }
          header .header_inner .header_top .kind_jp ul li img {
            display: inline;
            margin-right: 0.5rem;
            width: 1rem;
            height: 1rem; }
          header .header_inner .header_top .kind_jp ul li div {
            display: inline;
            font-size: 0.8rem;
            font-weight: 500; }
    header .header_inner .under_menu {
      position: relative;
      background-color: #F0F0F0;
      border-radius: 0 0 1rem 1rem; }
      @media screen and (max-width: 767px) {
        header .header_inner .under_menu {
          overflow: hidden;
          border-radius: 1rem;
          margin-top: 1rem; } }
      header .header_inner .under_menu:before {
        content: "";
        display: block;
        width: 100%;
        height: 3rem;
        top: -2.5rem;
        position: absolute;
        background-color: #F0F0F0; }
      header .header_inner .under_menu ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 1rem 2rem; }
        @media screen and (max-width: 768px) {
          header .header_inner .under_menu ul {
            overflow-x: auto;
            white-space: nowrap;
            padding: 1rem; } }
        header .header_inner .under_menu ul li {
          margin-right: 1em; }
          @media screen and (max-width: 768px) {
            header .header_inner .under_menu ul li {
              margin-right: 0.5em; } }
          @media screen and (max-width: 768px) {
            header .header_inner .under_menu ul li {
              margin-right: 1em; } }
          @media screen and (max-width: 767px) {
            header .header_inner .under_menu ul li {
              display: inline-block; } }
          @media screen and (max-width: 767px) {
            header .header_inner .under_menu ul li:last-of-type {
              padding-right: 3rem; } }
          header .header_inner .under_menu ul li.cat {
            font-weight: 500; }
            header .header_inner .under_menu ul li.cat:after {
              content: "："; }
          header .header_inner .under_menu ul li a {
            font-size: 1rem; }
            @media screen and (max-width: 768px) {
              header .header_inner .under_menu ul li a {
                font-size: 0.9rem; } }
            header .header_inner .under_menu ul li a:hover {
              text-decoration: underline;
              color: #037CBF; }
    header .header_inner .main_menu {
      background: #646464;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      border-radius: 6rem;
      padding: 0.75rem  0.75rem;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        header .header_inner .main_menu {
          display: none;
          border-radius: 5px;
          padding-bottom: 2rem;
          margin-top: 1rem; } }
      header .header_inner .main_menu .search_box {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        background-color: #fff;
        border-radius: 3rem;
        padding-right: 1.4rem;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        header .header_inner .main_menu .search_box input[type="text"] {
          border: none;
          overflow: hidden;
          font-size: 1.2rem;
          line-height: 1;
          outline: 0;
          padding: 0.75rem 1.4rem;
          padding-right: 0.75rem;
          border-radius: 3rem; }
          @media screen and (max-width: 825px) {
            header .header_inner .main_menu .search_box input[type="text"] {
              max-width: 9em; } }
          @media screen and (max-width: 767px) {
            header .header_inner .main_menu .search_box input[type="text"] {
              width: 100%;
              max-width: 100%;
              line-height: 1; } }
        header .header_inner .main_menu .search_box input:focus {
          outline: 0;
          box-shadow: 0 0 3px 0.2rem rgba(0, 149, 220, 0.5); }
        header .header_inner .main_menu .search_box input[type="image"] {
          width: 2rem;
          margin-left: 0.5rem;
          height: auto; }
      header .header_inner .main_menu ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        padding-right: 2rem; }
        @media screen and (max-width: 767px) {
          header .header_inner .main_menu ul {
            padding-right: 1rem;
            display: block; } }
        @media screen and (max-width: 767px) {
          header .header_inner .main_menu ul li {
            margin-top: 1.5rem; } }
        header .header_inner .main_menu ul li a {
          padding: 0.75rem 1rem;
          color: #fff;
          font-size: 1.2rem;
          border-radius: 5rem;
          -webkit-transition: all ease-in-out 0.25s;
          transition: all ease-in-out 0.25s; }
          @media screen and (max-width: 767px) {
            header .header_inner .main_menu ul li a {
              font-size: 1.2rem; }
              header .header_inner .main_menu ul li a:after {
                content: "〉";
                margin-left: 0.5rem; } }
          header .header_inner .main_menu ul li a:hover, header .header_inner .main_menu ul li a.active {
            background-color: #fff;
            color: #646464; }

footer {
  position: relative;
  z-index: 2; }
  footer .fotter_menu_wrap2 {
    background-color: #EFEFEF;
    padding: 1rem 1rem;
    margin-top: 2rem; }
    footer .fotter_menu_wrap2 .copyright {
      text-align: center;
      font-size: 0.75rem;
      color: #333;
      line-height: 1.8; }
      @media screen and (max-width: 768px) {
        footer .fotter_menu_wrap2 .copyright {
          text-align: left;
          padding-bottom: 1rem; } }
    footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner {
      padding: 2rem 0 1rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: auto;
      max-width: 80rem;
      width: 100%;
      align-items: flex-start; }
      @media screen and (max-width: 767px) {
        footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner {
          display: block; } }
      footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .logo {
        padding-right: 1em;
        max-width: 250px; }
        @media screen and (max-width: 767px) {
          footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .logo {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -webkit-align-items: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: justify;
            -webkit-justify-content: space-between;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            max-width: 100%;
            margin-bottom: 1rem; } }
        footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .logo a {
          display: block;
          -webkit-transition: all ease 0.5s;
          transition: all ease 0.5s; }
          footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .logo a:hover {
            opacity: 0.7; }
          footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .logo a:first-of-type {
            margin-bottom: 3rem; }
            @media screen and (max-width: 767px) {
              footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .logo a:first-of-type {
                margin-bottom: 0;
                margin-right: 1rem; } }
            footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .logo a:first-of-type img {
              width: 100%;
              height: auto; }
          footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .logo a img {
            width: 80%; }
      footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
        footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap .bread_wrap {
          width: 100%;
          margin-bottom: 1rem; }
          @media screen and (max-width: 767px) {
            footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap .bread_wrap {
              margin-bottom: 0;
              padding: 1rem 0; } }
        footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul {
          padding: 0 1rem;
          max-width: calc(100% / 3); }
          @media screen and (max-width: 767px) {
            footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul {
              max-width: 100%;
              padding: 0; } }
          footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul ul {
            padding-left: 1.5rem;
            max-width: 100%; }
            footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul ul li a {
              font-weight: 300;
              font-size: 0.8rem;
              padding: 0.25em 0; }
              footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul ul li a:before {
                content: "";
                display: none; }
          footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul li a, footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul li div {
            font-size: 1rem;
            line-height: 1.65;
            padding: 0.5em 0;
            font-weight: 500;
            display: inline-block; }
            footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul li a br, footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul li div br {
              display: none; }
            footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul li a:before, footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul li div:before {
              width: 1em;
              height: 1em;
              background-size: contain;
              background-position: center;
              background-repeat: no-repeat;
              background-image: url(../svg/arrow_right.svg);
              content: "";
              display: inline-block;
              margin-right: 0.5em;
              -webkit-transition: all ease 0.5s;
              transition: all ease 0.5s; }
          footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul li a:hover {
            color: #037CBF;
            text-decoration: underline; }
            footer .fotter_menu_wrap2 .fotter_menu_wrap2_inner .sitemap ul li a:hover:before {
              background-position: right center; }
  footer .footer_inner {
    max-width: 80rem;
    width: 100%;
    padding: 1rem 1rem;
    margin: auto; }
    footer .footer_inner .fotter_menu_wrap {
      padding-top: 2rem;
      padding-bottom: 1rem; }
      footer .footer_inner .fotter_menu_wrap ul {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (max-width: 768px) {
          footer .footer_inner .fotter_menu_wrap ul {
            -webkit-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap; } }
        footer .footer_inner .fotter_menu_wrap ul li {
          padding: .5em; }
          @media screen and (max-width: 768px) {
            footer .footer_inner .fotter_menu_wrap ul li {
              width: 50%; } }
          footer .footer_inner .fotter_menu_wrap ul li a {
            text-align: center;
            color: #037CBF;
            font-weight: 500; }
            footer .footer_inner .fotter_menu_wrap ul li a:before {
              content: "〉";
              margin-right: 0.5em; }
    footer .footer_inner .footer_banner {
      box-shadow: 0 0 3px #333;
      background: #037CBF;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 2rem 0;
      border-radius: 1rem;
      -webkit-transition: all ease-in-out 0.25s;
      transition: all ease-in-out 0.25s; }
      @media screen and (max-width: 767px) {
        footer .footer_inner .footer_banner {
          display: block; } }
      footer .footer_inner .footer_banner:hover {
        box-shadow: 0 0 6px #333;
        background: rgba(0, 149, 221, 0.9); }
      footer .footer_inner .footer_banner .left {
        width: 50%; }
        @media screen and (max-width: 1375px) and (min-width: 1200px) {
          footer .footer_inner .footer_banner .left {
            width: 45%; } }
        @media screen and (max-width: 1030px) {
          footer .footer_inner .footer_banner .left {
            width: 50%; }
            footer .footer_inner .footer_banner .left img {
              width: 50%; } }
        @media screen and (max-width: 767px) {
          footer .footer_inner .footer_banner .left {
            width: 100%; } }
        footer .footer_inner .footer_banner .left img {
          margin: auto;
          display: block;
          max-width: 80%; }
          @media screen and (max-width: 767px) {
            footer .footer_inner .footer_banner .left img {
              width: 40%; } }
      footer .footer_inner .footer_banner .right {
        width: 50%;
        color: white; }
        @media screen and (max-width: 767px) {
          footer .footer_inner .footer_banner .right {
            width: 100%; } }
        footer .footer_inner .footer_banner .right p {
          font-weight: 500; }
          @media screen and (max-width: 767px) {
            footer .footer_inner .footer_banner .right p {
              text-align: center; } }
          footer .footer_inner .footer_banner .right p b {
            font-family: hero-new, sans-serif;
            font-weight: 600;
            font-style: normal; }
        footer .footer_inner .footer_banner .right p.first {
          font-weight: 500;
          font-size: 4.5vw; }
          footer .footer_inner .footer_banner .right p.first img {
            display: inline-block;
            width: 5.5vw;
            margin-right: 0.25em; }
            @media screen and (max-width: 767px) {
              footer .footer_inner .footer_banner .right p.first img {
                width: 10.5vw; } }
            @media screen and (min-width: 1200px) {
              footer .footer_inner .footer_banner .right p.first img {
                font-size: 70px; } }
          @media screen and (max-width: 767px) {
            footer .footer_inner .footer_banner .right p.first {
              font-size: 8.5vw;
              margin-top: 1rem; } }
          @media screen and (min-width: 1200px) {
            footer .footer_inner .footer_banner .right p.first {
              font-size: 62px; } }
        footer .footer_inner .footer_banner .right p.second {
          margin-top: 0.5em;
          font-size: 1.3vw;
          line-height: 1.5; }
          @media screen and (max-width: 767px) {
            footer .footer_inner .footer_banner .right p.second {
              font-size: 2.7vw;
              margin-top: 1em; } }
          @media screen and (min-width: 1200px) {
            footer .footer_inner .footer_banner .right p.second {
              font-size: 18px; } }
        footer .footer_inner .footer_banner .right p.third {
          margin-top: 0.5em;
          font-size: 1.7vw;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (max-width: 767px) {
            footer .footer_inner .footer_banner .right p.third {
              -webkit-box-pack: center;
              -webkit-justify-content: center;
                  -ms-flex-pack: center;
                      justify-content: center;
              font-size: 3.5vw;
              display: block;
              padding-top: 0.5rem; } }
          @media screen and (min-width: 1200px) {
            footer .footer_inner .footer_banner .right p.third {
              font-size: 22px; } }
          footer .footer_inner .footer_banner .right p.third b {
            margin-left: 0.5rem;
            font-size: 3.3vw; }
            @media screen and (max-width: 767px) {
              footer .footer_inner .footer_banner .right p.third b {
                font-size: 6.5vw;
                display: block;
                padding-top: 0.75rem; } }
            @media screen and (min-width: 1200px) {
              footer .footer_inner .footer_banner .right p.third b {
                font-size: 44px; } }

.bread_wrap {
  max-width: calc(80rem - 5rem);
  padding: 1rem 1rem;
  padding-top: 1.5rem;
  margin: auto; }
  @media screen and (max-width: 767px) {
    .bread_wrap {
      padding-top: 0; } }
  .bread_wrap a {
    font-size: 0.83333333333rem; }
    .bread_wrap a:after {
      content: ">";
      margin-right: 0.25em;
      margin-left: 0.25em;
      display: inline-block; }
    .bread_wrap a:hover {
      color: #037CBF;
      text-decoration: underline; }
    .bread_wrap a:last-of-type:after {
      display: none; }

hr.dotted {
  border: none;
  border-bottom: 1px dotted #707070;
  margin: 2rem auto; }

.index_FV {
  background-image: url(../image/FV.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left bottom;
  min-height: 30vw;
  padding-bottom: 10vw; }
  @media screen and (max-width: 515px) {
    .index_FV {
      background-size: 150%; } }
  .index_FV .index_FV_copy {
    max-width: 80rem;
    margin: auto;
    padding: 5rem 1rem;
    padding-top: 0 !important; }
    @media screen and (max-width: 767px) {
      .index_FV .index_FV_copy {
        padding-top: 0rem;
        padding-bottom: 15vw; } }
    @media screen and (max-width: 515px) {
      .index_FV .index_FV_copy {
        padding-bottom: 30vw; } }
    .index_FV .index_FV_copy h2 {
      font-size: 2.25rem;
      line-height: 1.5;
      font-weight: 500;
      text-align: right;
      display: block; }
      @media screen and (max-width: 767px) {
        .index_FV .index_FV_copy h2 {
          font-size: 4.5vw;
          text-align: left; } }
      @media screen and (max-width: 515px) {
        .index_FV .index_FV_copy h2 {
          font-size: 5.5vw; } }

.title_block {
  max-width: calc(80rem - 5rem);
  padding: 1rem 1rem;
  padding-bottom: 4rem;
  margin: auto;
  position: relative;
  overflow-y: initial;
  overflow-x: visible; }
  @media screen and (max-width: 767px) {
    .title_block.none_image p {
      max-width: 100%; } }
  @media screen and (max-width: 767px) {
    .title_block {
      padding-bottom: 2rem; } }
  .title_block.narrow {
    padding: 1rem; }
  .title_block h1 {
    margin-top: 2rem;
    margin-bottom: 2.5rem;
    font-weight: 500; }
    @media screen and (max-width: 767px) {
      .title_block h1 {
        margin-top: 0rem;
        margin-bottom: 1rem; } }
  .title_block p {
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 767px) {
      .title_block p {
        line-height: 1.8;
        font-size: 0.9rem; } }
    .title_block p a {
      color: #037CBF; }
      .title_block p a:hover {
        text-decoration: underline; }
    @media screen and (max-width: 768px) {
      .title_block p {
        max-width: 55%;
        line-height: 2; } }
  .title_block img.floattitle {
    position: absolute;
    right: 0;
    top: -2rem;
    height: calc(90% + 2rem);
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .title_block img.floattitle {
        position: absolute;
        width: 50%;
        bottom: 0;
        top: auto;
        height: auto;
        right: -5%; } }

.h1 {
  font-size: 2.44rem;
  font-weight: 500;
  line-height: 1.5;
  color: #111111; }
  @media screen and (max-width: 767px) {
    .h1 {
      font-size: 2rem; } }
  .h1.center {
    text-align: center; }
  .h1.right {
    text-align: right; }

.h2 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #111111; }
  @media screen and (max-width: 767px) {
    .h2 {
      font-size: 1.5rem; } }
  .h2:after {
    background: #037CBF;
    width: 3rem;
    height: 0.3rem;
    display: block;
    content: "";
    margin-bottom: 1.5rem;
    margin-top: 1.5rem; }
    @media screen and (max-width: 767px) {
      .h2:after {
        margin-bottom: 1rem;
        margin-top: 1rem;
        height: 0.2rem; } }
  .h2.center {
    text-align: center; }
    .h2.center:after {
      margin-left: auto;
      margin-right: auto; }
  .h2.right {
    text-align: right; }
    .h2.right:after {
      margin-left: auto; }

.h3 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  color: #111111;
  padding-left: 1rem;
  border-left: 5px solid #037CBF;
  margin-bottom: 2rem; }
  @media screen and (max-width: 767px) {
    .h3 {
      font-size: 1.3rem; } }

.h4 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  color: #111111; }
  .h4.fs2rem {
    font-size: 1.8rem; }
    @media screen and (max-width: 767px) {
      .h4.fs2rem {
        font-size: 1.3rem; } }
  .h4.center {
    text-align: center; }
  .h4.right {
    text-align: right; }

.h5 {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #111111;
  border-radius: 0.6rem;
  background: #F0F0F0;
  padding: 0.8rem 1.5rem;
  margin-bottom: 1.5rem; }
  @media screen and (max-width: 767px) {
    .h5 {
      font-size: 1.15rem; } }
  .h5.center {
    text-align: center; }
  .h5.right {
    text-align: right; }

main {
  background-color: #EFEFEF;
  position: relative;
  z-index: 0; }
  main.home {
    background: none;
    margin-top: -5vw; }
    main.home:after {
      background-color: #EFEFEF;
      top: 4vw;
      height: calc(100% - 5vw); }
    main.home:before {
      display: none; }
  main.under_none:before {
    content: none; }
  main.top_none:after {
    content: none; }
  main:after {
    background-color: #fff;
    content: "";
    width: 100%;
    height: 10vw;
    display: block;
    position: absolute;
    top: 0; }
  main:before {
    background-color: #fff;
    content: "";
    width: 100%;
    height: 10vw;
    display: block;
    position: absolute;
    bottom: 0; }
  main .content .split_block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      main .content .split_block {
        display: block; } }
    main .content .split_block p.split {
      margin-bottom: 1rem; }
    main .content .split_block .split {
      width: 48%; }
      main .content .split_block .split object {
        width: 100%;
        height: auto; }
      @media screen and (max-width: 767px) {
        main .content .split_block .split {
          width: 100%;
          margin-bottom: 2rem; } }
  main .content figure {
    max-width: 55rem;
    margin: auto;
    margin-bottom: 2rem;
    padding-top: 2rem; }
    @media screen and (max-width: 767px) {
      main .content figure {
        margin-bottom: 1rem;
        padding-top: 1rem; } }
    main .content figure figcaption {
      padding: 1rem 0; }
    main .content figure.big {
      width: calc(100%);
      max-width: 100%;
      padding: 1rem 6.5rem;
      margin: auto; }
      @media screen and (max-width: 767px) {
        main .content figure.big {
          padding: 0 1rem; } }
    main .content figure img {
      width: 100%;
      height: auto; }
      main .content figure img.pc {
        display: block; }
        @media screen and (max-width: 767px) {
          main .content figure img.pc {
            display: none; } }
      main .content figure img.sp {
        display: none; }
        @media screen and (max-width: 767px) {
          main .content figure img.sp {
            display: block; } }
  main .content .table_wrap {
    overflow: scroll; }
    main .content .table_wrap table {
      width: 100%;
      text-align: center;
      border: 1px solid #707070;
      margin-bottom: 0.5rem; }
      main .content .table_wrap table tr {
        border-bottom: 1px solid #707070; }
        main .content .table_wrap table tr:last-of-type {
          border-bottom: none; }
        main .content .table_wrap table tr td {
          padding: 1rem;
          border-right: 1px solid #707070;
          font-size: 1rem;
          line-height: 2;
          letter-spacing: 0.05em;
          vertical-align: middle; }
          @media screen and (max-width: 767px) {
            main .content .table_wrap table tr td {
              line-height: 1.8;
              font-size: 0.9rem; } }
          main .content .table_wrap table tr td:last-of-type {
            border-right: none; }
        main .content .table_wrap table tr .blue {
          background: #E9F7FF; }
          @media screen and (max-width: 767px) {
            main .content .table_wrap table tr .blue {
              min-width: 6em; } }
        main .content .table_wrap table tr .mark {
          font-size: 180%;
          line-height: 1; }
      main .content .table_wrap table tr.head {
        background: #f0f0f0;
        font-size: 1rem;
        line-height: 2;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 767px) {
          main .content .table_wrap table tr.head {
            line-height: 1.8;
            font-size: 0.9rem; } }
  main .content picture {
    width: 100%;
    height: auto;
    margin: 2rem auto;
    display: block; }
    main .content picture img {
      max-width: 100%; }
  main .content h3.h4 {
    border: none; }
  main .content .content_list2 a {
    position: relative;
    display: block;
    border-top: dotted 1px #707070;
    padding: 1.5rem 1rem;
    -webkit-transition: all ease-in-out 0.25s;
    transition: all ease-in-out 0.25s;
    padding-right: 3rem;
    color: #037CBF;
    font-size: 1.45rem;
    line-height: 2;
    letter-spacing: 0.05em;
    line-height: 1.5;
    font-weight: 500; }
    main .content .content_list2 a strong {
      border-radius: 5rem;
      background-color: #037CBF;
      color: white;
      font-size: 80%;
      padding: 0 1rem; }
    main .content .content_list2 a small {
      display: block;
      font-size: 1rem;
      line-height: 2;
      font-weight: 300;
      letter-spacing: 0.05em;
      padding-top: 0.5rem;
      color: #111111;
      width: calc(100% - 2rem); }
      @media screen and (max-width: 767px) {
        main .content .content_list2 a small {
          font-size: 0.9rem;
          line-height: 1.8; } }
    @media screen and (max-width: 767px) {
      main .content .content_list2 a {
        font-size: 1.25rem; } }
    main .content .content_list2 a:last-of-type {
      border-bottom: dotted 1px #707070; }
    main .content .content_list2 a:hover {
      text-decoration: underline; }
      main .content .content_list2 a:hover small, main .content .content_list2 a:hover strong {
        text-decoration: none; }
      main .content .content_list2 a:hover:after {
        right: 2rem; }
    main .content .content_list2 a:after {
      content: "";
      width: 1rem;
      height: 2rem;
      position: absolute;
      right: 1rem;
      bottom: 0;
      top: 0;
      margin: auto;
      height: 2rem;
      background-size: contain;
      background-repeat: no-repeat;
      background-image: url(../svg/arrow_right.svg);
      -webkit-transition: all ease-in-out 0.25s;
      transition: all ease-in-out 0.25s; }
  main .content p {
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.05em;
    margin-bottom: 2rem; }
    @media screen and (max-width: 767px) {
      main .content p {
        line-height: 1.8;
        font-size: 0.9rem; } }
    main .content p a {
      text-decoration: underline;
      color: #037CBF; }
    main .content p span.undermarker, main .content p em {
      background: -webkit-linear-gradient(top, #fff 55%, yellow 35%) no-repeat left;
      background: linear-gradient(to bottom, #fff 55%, yellow 35%) no-repeat left;
      font-style: normal; }
  main .content p.caption {
    text-align: center;
    font-size: 2rem; }
  main .content h2 img, main .content h1 img, main .content h3 img, main .content h4 img {
    max-width: 100%; }
  main dl.table {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border: 1px solid #707070;
    border-bottom: none; }
    main dl.table.left dt {
      text-align: left;
      width: 30%; }
    main dl.table.left dd {
      width: 70%;
      text-align: left;
      vertical-align: middle; }
		@media screen and (max-width: 767px) {
			main dl.table.left dd {
				width: 100%;
			}
		}
    main dl.table:last-of-type {
      border-bottom: 1px solid #707070; }
    main dl.table dt, main dl.table dd {
      font-size: 1.1rem;
      text-align: center;
      padding: 1.4rem;
      line-height: 1.5; }
    main dl.table dt {
      width: 50%;
      background: #EBEBEB;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      border-right: 1px solid #707070; }
    main dl.table dd {
      width: 50%; }
  main .flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 2rem; }
    @media screen and (max-width: 767px) {
      main .flex {
        display: block; } }
    main .flex img {
      width: 100%;
      height: auto; }
    main .flex .width60\% {
      width: calc(60% - 0.5rem); }
      @media screen and (max-width: 767px) {
        main .flex .width60\% {
          width: 100%; } }
    main .flex .width40\% {
      width: calc(40% - 0.5rem); }
      @media screen and (max-width: 767px) {
        main .flex .width40\% {
          width: 100%; } }
  main .snsbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-bottom: 1rem; }
    main .snsbox a {
      margin-left: 0.5rem; }
      main .snsbox a:hover img {
        opacity: 0.7; }
      main .snsbox a img {
        -webkit-transition: all ease 0.25s;
        transition: all ease 0.25s;
        width: 2.5rem;
        height: auto; }
        @media screen and (max-width: 767px) {
          main .snsbox a img {
            width: 2rem; } }
  main .faq_tags {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 !important; }
    main .faq_tags li {
      margin-right: 0.5rem;
      margin-left: 0.5rem;
      margin-bottom: 0.25rem; }
      main .faq_tags li div {
        color: #111111;
        font-weight: 500;
        padding: 0.25rem 1rem;
        padding-bottom: 0.4rem;
        font-size: 0.8rem;
        display: block;
        background: #fff;
        border: 1px solid #111111;
        border-radius: 0.5em; }
      main .faq_tags li a {
        border: #037CBF 2px solid;
        color: #037CBF;
        font-weight: 500;
        padding: 0.25rem 1rem;
        font-size: 0.8rem;
        border-radius: 4rem;
        display: block;
        background: #fff; }
        main .faq_tags li a:hover {
          background-color: #037CBF;
          color: white; }
  main .faq_content article a {
    background-color: #E9F7FF;
    border-radius: 1rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2rem 2rem;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    main .faq_content article a:hover .detail h3 {
      text-decoration: underline; }
    main .faq_content article a .detail h3 {
      font-size: 1.2rem;
      margin-bottom: 1rem;
      font-weight: 500; }
    main .faq_content article a .detail p {
      margin-bottom: 0;
      font-size: 1rem; }
    main .faq_content article a .link {
      background-color: #037CBF;
      color: white;
      border-radius: 5rem;
      padding: 1rem 2rem; }
  main .search_result_container .search_result article {
    border-top: 1px dotted #707070;
    padding: 1.5rem 0;
    padding-bottom: 2rem; }
    main .search_result_container .search_result article:last-of-type {
      border-bottom: 1px dotted #707070; }
    main .search_result_container .search_result article a h3 {
      font-size: 1.2rem;
      line-height: 2;
      letter-spacing: 0.05em;
      color: #037CBF;
      font-weight: 500;
      margin-bottom: 0.5rem; }
      @media screen and (max-width: 767px) {
        main .search_result_container .search_result article a h3 {
          font-size: 1.1rem;
          line-height: 1.5; } }
    main .search_result_container .search_result article a .detail {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      @media screen and (max-width: 767px) {
        main .search_result_container .search_result article a .detail {
          -webkit-box-align: start;
          -webkit-align-items: flex-start;
              -ms-flex-align: start;
                  align-items: flex-start; } }
      main .search_result_container .search_result article a .detail .icon {
        margin-right: 0.75rem; }
        @media screen and (max-width: 767px) {
          main .search_result_container .search_result article a .detail .icon {
            width: 6.5rem; } }
        main .search_result_container .search_result article a .detail .icon img {
          width: 100%;
          height: auto; }
      main .search_result_container .search_result article a .detail p {
        margin-bottom: 0; }
        @media screen and (max-width: 767px) {
          main .search_result_container .search_result article a .detail p {
            font-size: 0.9rem;
            padding-top: 0.1rem; } }
  main .search_result_container .search_meta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2rem 0; }
    @media screen and (max-width: 767px) {
      main .search_result_container .search_meta {
        display: block; } }
    main .search_result_container .search_meta p {
      margin-bottom: 0;
      font-size: 0.9rem; }
      @media screen and (max-width: 767px) {
        main .search_result_container .search_meta p {
          text-align: center;
          margin-bottom: 0.5rem; } }
    main .search_result_container .search_meta .pagination {
      margin: 0; }
  main .pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    margin-top: 3rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    main .pagination a {
      border: 1px solid #037CBF;
      border-radius: 3rem;
      width: 2.2rem;
      height: 2.2rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 0.5rem;
      line-height: 1;
      font-weight: 500;
      color: #037CBF; }
      @media screen and (max-width: 767px) {
        main .pagination a {
          font-size: 0.8rem;
          width: 2rem;
          height: 2rem; } }
      main .pagination a.current {
        background-color: #037CBF;
        color: white; }
    main .pagination .next {
      width: 5rem;
      padding-right: 1.5rem;
      padding-left: .5rem;
      background-repeat: no-repeat;
      background-position: 90% center;
      background-size: auto 60%;
      background-image: url("../svg/arrow_right.svg"); }
      @media screen and (max-width: 767px) {
        main .pagination .next {
          width: 4rem; } }
    main .pagination .prev {
      width: 5rem;
      background-image: url("../svg/arrow_left.svg");
      padding-left: 1.5rem;
      padding-right: .5rem;
      background-repeat: no-repeat;
      background-position: 10% center;
      background-size: auto 60%; }
      @media screen and (max-width: 767px) {
        main .pagination .prev {
          width: 4rem; } }
  main .case_question {
    border-radius: 5rem 0 0  5rem;
    background-color: #E9F7FF;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.5rem 1rem;
    margin: 1rem 0;
    margin-right: -6.5rem; }
    main .case_question div {
      margin-right: 0.5rem; }
      main .case_question div img {
        width: 2.5rem;
        height: auto; }
    main .case_question span {
      font-size: 1.2rem;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 500; }
      @media screen and (max-width: 767px) {
        main .case_question span {
          font-size: 1.1rem;
          line-height: 1.5; } }
  main .case_answer {
    border-radius: 5rem 0 0  5rem;
    background-color: #FEEFF2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.5rem 1rem;
    margin: 1rem 0;
    margin-right: -6.5rem; }
    @media screen and (max-width: 767px) {
      main .case_answer {
        margin-right: -1.5rem; } }
    main .case_answer span {
      font-size: 1.2rem;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 500; }
      @media screen and (max-width: 767px) {
        main .case_answer span {
          font-size: 1.1rem;
          line-height: 1.5; } }
    main .case_answer div {
      margin-right: 0.5rem; }
      main .case_answer div img {
        width: 2.5rem;
        height: auto; }
  main .casestudy_container p {
    font-weight: 500; }
  main .casestudy_container .caseID {
    text-align: right;
    margin-bottom: 0; }
  main .faq_question div {
    margin-top: 1rem;
    box-sizing: border-box;
    padding: 1rem;
    padding-left: 2.5rem;
    background-color: #E9F7FF;
    margin-right: -6.5rem;
    border-radius: 5rem 0 0  5rem;
    padding-right: 6rem;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 500; }
    @media screen and (max-width: 767px) {
      main .faq_question div {
        font-size: 1.1rem;
        line-height: 1.5; } }
    @media screen and (max-width: 767px) {
      main .faq_question div {
        margin-right: -2rem;
        padding-right: 2rem; } }
  main .faq_answer {
    margin-top: 2rem;
    margin-bottom: 2rem; }
    main .faq_answer p {
      font-size: 1.2rem;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 500; }
      @media screen and (max-width: 767px) {
        main .faq_answer p {
          font-size: 1.1rem;
          line-height: 1.5; } }
  main .content_wrap {
    position: relative;
    z-index: 1;
    max-width: 80rem;
    width: 100%;
    padding: 0rem 1rem;
    padding-bottom: 1rem;
    margin: auto; }
    main .content_wrap .flow_block {
      padding: 0.5rem 2rem;
      margin-right: -2rem;
      margin-left: -2rem;
      background: #f5f5f5;
      border-radius: 1rem;
      margin-bottom: 1rem;
      position: relative;
      padding-bottom: 1rem; }
      @media screen and (max-width: 767px) {
        main .content_wrap .flow_block {
          border-radius: 0;
          padding: 1.5rem 2rem; } }
      main .content_wrap .flow_block.float_img img {
        position: absolute;
        right: 1rem;
        display: block;
        width: 10rem;
        top: 0;
        bottom: 0;
        margin: auto; }
      main .content_wrap .flow_block.float_img p {
        max-width: calc(100% - 10rem); }
      main .content_wrap .flow_block.arrow {
        margin-bottom: 3rem; }
        main .content_wrap .flow_block.arrow:after {
          position: absolute;
          left: 2rem;
          bottom: -2.5rem;
          content: "";
          background-image: url(../svg/arrow_down.svg);
          width: 2rem;
          height: 2rem;
          display: block; }
      main .content_wrap .flow_block h3 {
        border: none;
        padding-left: 0; }
      main .content_wrap .flow_block p {
        margin-bottom: 0;
        margin: 1rem 0; }
        main .content_wrap .flow_block p strong {
          padding-bottom: 1rem;
          display: inline-block; }
    main .content_wrap .banner_split {
      padding: 1rem 0; }
    main .content_wrap .link_wrap {
      margin-top: 1rem;
      margin-bottom: 2rem; }
    main .content_wrap p {
      margin-bottom: 1rem; }
      main .content_wrap p.center {
        text-align: center; }
      main .content_wrap p.right {
        text-align: right; }
      main .content_wrap p.full {
        text-align: justify; }
      main .content_wrap p img {
        max-width: 100%;
        height: auto; }
      main .content_wrap p .big {
        font-size: 130%;
        font-weight: 500; }
    main .content_wrap h1 {
      font-size: 2.44rem;
      font-weight: 500;
      line-height: 1.5;
      color: #111111; }
      @media screen and (max-width: 767px) {
        main .content_wrap h1 {
          font-size: 1.5rem; } }
      main .content_wrap h1.center {
        text-align: center; }
      main .content_wrap h1.right {
        text-align: right; }
    main .content_wrap h2 {
      font-size: 2rem;
      font-weight: 500;
      line-height: 1.5;
      color: #111111;
      margin-top: 3rem; }
      main .content_wrap h2:first-of-type {
        margin-top: 0; }
      @media screen and (max-width: 767px) {
        main .content_wrap h2 {
          font-size: 1.35rem; } }
      main .content_wrap h2:after {
        background: #037CBF;
        width: 3rem;
        height: 0.3rem;
        display: block;
        content: "";
        margin-bottom: 1.5rem;
        margin-top: 1.5rem; }
        @media screen and (max-width: 767px) {
          main .content_wrap h2:after {
            margin-bottom: 1rem;
            margin-top: 1rem;
            height: 0.2rem; } }
      main .content_wrap h2.naked {
        font-size: 1.8rem;
        text-align: center;
        font-weight: 300;
        margin-bottom: 1.5rem; }
        main .content_wrap h2.naked:after {
          display: none; }
      main .content_wrap h2.center {
        text-align: center; }
        main .content_wrap h2.center:after {
          margin-left: auto;
          margin-right: auto; }
      main .content_wrap h2.right {
        text-align: right; }
        main .content_wrap h2.right:after {
          margin-left: auto; }
    main .content_wrap h3 {
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 1.5;
      color: #111111;
      padding-left: 1rem;
      border-left: 5px solid #037CBF;
      margin-bottom: 2rem;
      margin-top: 2rem; }
      @media screen and (max-width: 767px) {
        main .content_wrap h3 {
          font-size: 1.3rem;
          border-left-width: 3px; } }
    main .content_wrap h4 {
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.5;
      color: #111111;
      margin-top: 1rem;
      margin-bottom: 1rem;
      font-size: 1.5rem; }
      @media screen and (max-width: 767px) {
        main .content_wrap h4 {
          font-size: 1.2rem; } }
      main .content_wrap h4.fs2rem {
        font-size: 1.8rem; }
        @media screen and (max-width: 767px) {
          main .content_wrap h4.fs2rem {
            font-size: 1.3rem; } }
      main .content_wrap h4.center {
        text-align: center; }
      main .content_wrap h4.right {
        text-align: right; }
    main .content_wrap h5 {
      font-size: 1.5rem;
      line-height: 1.5;
      color: #111111;
      border-radius: 0.6rem;
      background: #F0F0F0;
      padding: 0.8rem 1.5rem;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 767px) {
        main .content_wrap h5 {
          font-size: 1.15rem; } }
      main .content_wrap h5.center {
        text-align: center; }
      main .content_wrap h5.right {
        text-align: right; }
    main .content_wrap ul, main .content_wrap ol {
      margin-top: 1rem;
      margin-bottom: 1rem;
      padding-left: 1.5rem; }
      @media screen and (max-width: 767px) {
        main .content_wrap ul, main .content_wrap ol {
          padding-left: 1.5rem; } }
      main .content_wrap ul li, main .content_wrap ol li {
        font-size: 1rem;
        line-height: 2;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 767px) {
          main .content_wrap ul li, main .content_wrap ol li {
            line-height: 1.8;
            font-size: 0.9rem; } }
    main .content_wrap blockquote {
      display: block;
      background-color: #f0f0f0;
      box-shadow: 0 0 3px #ccc;
      padding: 2rem;
      padding-bottom: 1rem;
      border-top: 3px #d0d0d0 solid;
      margin: 2rem auto; }
      @media screen and (max-width: 767px) {
        main .content_wrap blockquote {
          padding: 1rem 1.5rem;
          padding-top: 2rem; } }
      main .content_wrap blockquote p {
        padding-bottom: 1rem;
        margin-bottom: 0; }
    main .content_wrap table {
      width: 100%; }
      main .content_wrap table.noneborder th, main .content_wrap table.noneborder th, main .content_wrap table.noneborder td {
        border: none; }
      main .content_wrap table.noneborder td {
        padding: 0.25rem 0.25rem; }
      main .content_wrap table td, main .content_wrap table th {
        line-height: 1.65; }
        main .content_wrap table td.center, main .content_wrap table th.center {
          text-align: center; }
        main .content_wrap table td.right, main .content_wrap table th.right {
          text-align: right; }
      main .content_wrap table th, main .content_wrap table .th {
        background-color: #e5e5e5;
        padding: 0.75rem 0.5rem;
        border: 1px solid #666;
        vertical-align: middle;
        min-width: 7em; }
        main .content_wrap table th a, main .content_wrap table .th a {
          word-break: break-all; }
      main .content_wrap table .thead {
        background: #f0f0f0; }
      main .content_wrap table td {
        border: 1px solid #666;
        padding: 0.75rem 0.5rem; }
        main .content_wrap table td.flex_td a {
          margin-right: 1rem;
          margin-bottom: 0.25rem;
          margin-top: 0.25rem;
          display: inline-block;
          text-decoration: underline; }
        main .content_wrap table td a {
          color: #037CBF; }
          main .content_wrap table td a:hover {
            text-decoration: underline; }
    main .content_wrap .en_quete_wrap {
      padding: 0 6.5rem;
      margin-top: 4rem;
      margin-bottom: 4rem; }
      @media screen and (max-width: 767px) {
        main .content_wrap .en_quete_wrap {
          margin: 2rem auto;
          padding: 0 0rem; } }
      main .content_wrap .en_quete_wrap .en_quete {
        padding: 2rem 2rem;
        background-color: #fff;
        box-shadow: 0 0 6px #888;
        border-radius: 1rem;
        padding-top: 3rem; }
        main .content_wrap .en_quete_wrap .en_quete p {
          text-align: center;
          font-size: 1.8rem;
          font-weight: 500;
          margin-bottom: 1rem; }
          @media screen and (max-width: 767px) {
            main .content_wrap .en_quete_wrap .en_quete p {
              font-size: 1.3rem; } }
        main .content_wrap .en_quete_wrap .en_quete .button_flex {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: space-around;
              -ms-flex-pack: distribute;
                  justify-content: space-around;
          padding: 1rem 0; }
        main .content_wrap .en_quete_wrap .en_quete button {
          border: 2px solid #037CBF;
          background-color: #fff;
          color: #037CBF;
          font-size: 1.45rem;
          line-height: 2;
          letter-spacing: 0.05em;
          outline: none;
          font-weight: 500;
          border-radius: 5rem;
          padding: .5rem 3rem;
          width: 300px;
          -webkit-transition: all ease 0.25s;
          transition: all ease 0.25s; }
          @media screen and (max-width: 767px) {
            main .content_wrap .en_quete_wrap .en_quete button {
              font-size: 1.25rem;
              line-height: 1.5; } }
          @media screen and (max-width: 767px) {
            main .content_wrap .en_quete_wrap .en_quete button {
              width: 45%;
              padding: 0.5rem 1rem;
              font-size: 1.25rem; } }
          main .content_wrap .en_quete_wrap .en_quete button.yes {
            background-color: #037CBF;
            color: white; }
            main .content_wrap .en_quete_wrap .en_quete button.yes:hover {
              background-color: white;
              color: #037CBF; }
          main .content_wrap .en_quete_wrap .en_quete button.no {
            border-color: #ccc;
            border-width: 3px;
            background-color: #fff;
            color: #888; }
            main .content_wrap .en_quete_wrap .en_quete button.no:hover {
              background-color: #888;
              border-color: #888;
              color: white; }
    main .content_wrap .content_list a {
      position: relative;
      display: block;
      border-top: dotted 1px  #707070;
      padding: 1rem 1rem;
      -webkit-transition: all ease-in-out 0.25s;
      transition: all ease-in-out 0.25s; }
      @media screen and (max-width: 767px) {
        main .content_wrap .content_list a {
          padding-right: 3rem;
          padding-left: 0; } }
      main .content_wrap .content_list a:hover:after {
        right: 2rem; }
      main .content_wrap .content_list a:hover dl dt {
        text-decoration: underline; }
      main .content_wrap .content_list a:last-of-type {
        border-bottom: dotted 1px  #707070; }
      main .content_wrap .content_list a:after {
        content: "";
        width: 1rem;
        height: 2rem;
        position: absolute;
        right: 1rem;
        bottom: 0;
        top: 0;
        margin: auto;
        height: 2rem;
        background-size: contain;
        background-repeat: no-repeat;
        background-image: url(../svg/arrow_right.svg);
        -webkit-transition: all ease-in-out 0.25s;
        transition: all ease-in-out 0.25s; }
      main .content_wrap .content_list a dl {
        display: block; }
        main .content_wrap .content_list a dl dt {
          color: #037CBF;
          font-size: 1.45rem;
          line-height: 2;
          letter-spacing: 0.05em;
          line-height: 1.5;
          font-weight: 500;
          padding-bottom: 0.5rem; }
          @media screen and (max-width: 767px) {
            main .content_wrap .content_list a dl dt {
              font-size: 1.25rem;
              line-height: 1.5; } }
        main .content_wrap .content_list a dl dd {
          width: 100%;
          font-size: 1rem;
          line-height: 2;
          letter-spacing: 0.05em;
          width: calc(100% - 2rem); }
          @media screen and (max-width: 767px) {
            main .content_wrap .content_list a dl dd {
              line-height: 1.8;
              font-size: 0.9rem; } }
    main .content_wrap .column1, main .content_wrap .column2, main .content_wrap .column3 {
      margin-bottom: 3rem; }
      main .content_wrap .column1 .column, main .content_wrap .column2 .column, main .content_wrap .column3 .column {
        background-color: #fff;
        box-shadow: 0 0 6px #888;
        border-radius: 1rem;
        overflow: hidden; }
        main .content_wrap .column1 .column div.text, main .content_wrap .column2 .column div.text, main .content_wrap .column3 .column div.text {
          padding: 0 1rem; }
          main .content_wrap .column1 .column div.text p, main .content_wrap .column2 .column div.text p, main .content_wrap .column3 .column div.text p {
            line-height: 1.65; }
        main .content_wrap .column1 .column ul.quickpanel, main .content_wrap .column2 .column ul.quickpanel, main .content_wrap .column3 .column ul.quickpanel {
          display: block; }
          main .content_wrap .column1 .column ul.quickpanel li a, main .content_wrap .column2 .column ul.quickpanel li a, main .content_wrap .column3 .column ul.quickpanel li a {
            display: inline-block; }
            @media print {
              main .content_wrap .column1 .column ul.quickpanel li a, main .content_wrap .column2 .column ul.quickpanel li a, main .content_wrap .column3 .column ul.quickpanel li a {
                font-size: 0.9rem; } }
            main .content_wrap .column1 .column ul.quickpanel li a.external, main .content_wrap .column2 .column ul.quickpanel li a.external, main .content_wrap .column3 .column ul.quickpanel li a.external {
              display: inline-block; }
              main .content_wrap .column1 .column ul.quickpanel li a.external:after, main .content_wrap .column2 .column ul.quickpanel li a.external:after, main .content_wrap .column3 .column ul.quickpanel li a.external:after {
                content: "";
                background-image: url(/asset/svg/external.svg);
                width: 1rem;
                height: 1rem;
                display: inline-block;
                position: relative;
                top: 2px;
                background-size: contain;
                background-repeat: no-repeat;
                margin-left: 0.25rem; }
            main .content_wrap .column1 .column ul.quickpanel li a:hover, main .content_wrap .column2 .column ul.quickpanel li a:hover, main .content_wrap .column3 .column ul.quickpanel li a:hover {
              color: #037CBF;
              text-decoration: underline; }
        main .content_wrap .column1 .column.link_panel2, main .content_wrap .column2 .column.link_panel2, main .content_wrap .column3 .column.link_panel2 {
          overflow: hidden;
          position: relative;
          -webkit-transition: all ease 0.25s;
          transition: all ease 0.25s; }
          @media screen and (max-width: 767px) {
            main .content_wrap .column1 .column.link_panel2, main .content_wrap .column2 .column.link_panel2, main .content_wrap .column3 .column.link_panel2 {
              display: -webkit-box;
              display: -webkit-flex;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-orient: vertical;
              -webkit-box-direction: reverse;
              -webkit-flex-direction: column-reverse;
                  -ms-flex-direction: column-reverse;
                      flex-direction: column-reverse; } }
          main .content_wrap .column1 .column.link_panel2:hover, main .content_wrap .column2 .column.link_panel2:hover, main .content_wrap .column3 .column.link_panel2:hover {
            box-shadow: 0 0 9px #037CBF; }
          main .content_wrap .column1 .column.link_panel2 figure, main .content_wrap .column2 .column.link_panel2 figure, main .content_wrap .column3 .column.link_panel2 figure {
            height: 100%;
            position: absolute;
            right: 0;
            bottom: 0; }
            @media screen and (max-width: 767px) {
              main .content_wrap .column1 .column.link_panel2 figure, main .content_wrap .column2 .column.link_panel2 figure, main .content_wrap .column3 .column.link_panel2 figure {
                position: relative;
                width: 100%;
                height: auto; } }
            main .content_wrap .column1 .column.link_panel2 figure img, main .content_wrap .column2 .column.link_panel2 figure img, main .content_wrap .column3 .column.link_panel2 figure img {
              width: auto;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main .content_wrap .column1 .column.link_panel2 figure img, main .content_wrap .column2 .column.link_panel2 figure img, main .content_wrap .column3 .column.link_panel2 figure img {
                  width: auto;
                  display: block;
                  margin: auto;
                  height: 8rem; } }
          main .content_wrap .column1 .column.link_panel2 .detail, main .content_wrap .column2 .column.link_panel2 .detail, main .content_wrap .column3 .column.link_panel2 .detail {
            position: relative;
            z-index: 1;
            padding: 3rem 2rem;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -webkit-flex-direction: column;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: end;
            -webkit-justify-content: flex-end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
            height: 100%; }
            @media screen and (max-width: 767px) {
              main .content_wrap .column1 .column.link_panel2 .detail, main .content_wrap .column2 .column.link_panel2 .detail, main .content_wrap .column3 .column.link_panel2 .detail {
                padding: 1rem;
                display: -webkit-box;
                display: -webkit-flex;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                -webkit-justify-content: center;
                    -ms-flex-pack: center;
                        justify-content: center; } }
            main .content_wrap .column1 .column.link_panel2 .detail h3, main .content_wrap .column2 .column.link_panel2 .detail h3, main .content_wrap .column3 .column.link_panel2 .detail h3 {
              line-height: 1.5;
              font-size: 1.8rem; }
              @media screen and (max-width: 767px) {
                main .content_wrap .column1 .column.link_panel2 .detail h3, main .content_wrap .column2 .column.link_panel2 .detail h3, main .content_wrap .column3 .column.link_panel2 .detail h3 {
                  font-size: 1.1rem;
                  text-align: center;
                  font-weight: 500; } }
            main .content_wrap .column1 .column.link_panel2 .detail .link_box, main .content_wrap .column2 .column.link_panel2 .detail .link_box, main .content_wrap .column3 .column.link_panel2 .detail .link_box {
              background-color: #037CBF;
              color: white;
              display: inline-block;
              padding: 0.25rem 1rem;
              border-radius: 3rem;
              margin-top: 1rem;
              font-size: 1.2rem;
              line-height: 2;
              letter-spacing: 0.05em;
              max-width: 20em;
              min-width: 13em;
              width: -webkit-fit-content;
              width: -moz-fit-content;
              width: fit-content;
              text-align: center; }
              @media screen and (max-width: 767px) {
                main .content_wrap .column1 .column.link_panel2 .detail .link_box, main .content_wrap .column2 .column.link_panel2 .detail .link_box, main .content_wrap .column3 .column.link_panel2 .detail .link_box {
                  font-size: 1.1rem;
                  line-height: 1.5; } }
              @media screen and (max-width: 767px) {
                main .content_wrap .column1 .column.link_panel2 .detail .link_box, main .content_wrap .column2 .column.link_panel2 .detail .link_box, main .content_wrap .column3 .column.link_panel2 .detail .link_box {
                  display: none; } }
        main .content_wrap .column1 .column.hover, main .content_wrap .column2 .column.hover, main .content_wrap .column3 .column.hover {
          -webkit-transition: all ease 0.5s;
          transition: all ease 0.5s; }
          main .content_wrap .column1 .column.hover figure img, main .content_wrap .column2 .column.hover figure img, main .content_wrap .column3 .column.hover figure img {
            display: block;
            margin: auto; }
          main .content_wrap .column1 .column.hover .text p, main .content_wrap .column2 .column.hover .text p, main .content_wrap .column3 .column.hover .text p {
            font-size: 1rem; }
            @media screen and (max-width: 767px) {
              main .content_wrap .column1 .column.hover .text p, main .content_wrap .column2 .column.hover .text p, main .content_wrap .column3 .column.hover .text p {
                font-size: 0.9rem; } }
            @media print {
              main .content_wrap .column1 .column.hover .text p, main .content_wrap .column2 .column.hover .text p, main .content_wrap .column3 .column.hover .text p {
                font-size: 0.9rem; } }
          main .content_wrap .column1 .column.hover:hover, main .content_wrap .column2 .column.hover:hover, main .content_wrap .column3 .column.hover:hover {
            -webkit-transform: scale(1.05);
                -ms-transform: scale(1.05);
                    transform: scale(1.05); }
        main .content_wrap .column1 .column.banner, main .content_wrap .column2 .column.banner, main .content_wrap .column3 .column.banner {
          -webkit-transition: all ease 0.5s;
          transition: all ease 0.5s; }
          main .content_wrap .column1 .column.banner:hover, main .content_wrap .column2 .column.banner:hover, main .content_wrap .column3 .column.banner:hover {
            -webkit-transform: scale(1.05);
                -ms-transform: scale(1.05);
                    transform: scale(1.05); }
          main .content_wrap .column1 .column.banner figure img, main .content_wrap .column2 .column.banner figure img, main .content_wrap .column3 .column.banner figure img {
            margin: auto;
            margin-bottom: 0;
            max-width: 90%;
            display: block; }
        main .content_wrap .column1 .column.link_panel, main .content_wrap .column2 .column.link_panel, main .content_wrap .column3 .column.link_panel {
          overflow: hidden;
          margin-bottom: 2%;
          padding: .5rem;
          cursor: pointer; }
          main .content_wrap .column1 .column.link_panel figure img, main .content_wrap .column2 .column.link_panel figure img, main .content_wrap .column3 .column.link_panel figure img {
            max-width: 80%;
            display: block;
            margin: auto; }
            @media screen and (max-width: 767px) {
              main .content_wrap .column1 .column.link_panel figure img, main .content_wrap .column2 .column.link_panel figure img, main .content_wrap .column3 .column.link_panel figure img {
                max-width: 100%; } }
          main .content_wrap .column1 .column.link_panel div, main .content_wrap .column2 .column.link_panel div, main .content_wrap .column3 .column.link_panel div {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
            -webkit-align-items: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap; }
            main .content_wrap .column1 .column.link_panel div.auto, main .content_wrap .column2 .column.link_panel div.auto, main .content_wrap .column3 .column.link_panel div.auto {
              font-size: 1.24rem;
              width: 100%;
              margin-top: 0.5rem;
              margin-bottom: 0;
              font-weight: 500; }
              main .content_wrap .column1 .column.link_panel div.auto div, main .content_wrap .column2 .column.link_panel div.auto div, main .content_wrap .column3 .column.link_panel div.auto div {
                line-height: 1.5;
                padding: 0 0.5rem;
                width: 90%; }
                main .content_wrap .column1 .column.link_panel div.auto div.short, main .content_wrap .column2 .column.link_panel div.auto div.short, main .content_wrap .column3 .column.link_panel div.auto div.short {
                  height: 3.5em;
                  margin: 0; }
                @media screen and (max-width: 767px) {
                  main .content_wrap .column1 .column.link_panel div.auto div, main .content_wrap .column2 .column.link_panel div.auto div, main .content_wrap .column3 .column.link_panel div.auto div {
                    font-size: 1.25rem;
                    width: 100%; } }
                @media screen and (max-width: 515px) {
                  main .content_wrap .column1 .column.link_panel div.auto div, main .content_wrap .column2 .column.link_panel div.auto div, main .content_wrap .column3 .column.link_panel div.auto div {
                    font-size: 3vw; } }
            @media screen and (max-width: 767px) {
              main .content_wrap .column1 .column.link_panel div, main .content_wrap .column2 .column.link_panel div, main .content_wrap .column3 .column.link_panel div {
                height: auto; } }
            main .content_wrap .column1 .column.link_panel div small, main .content_wrap .column2 .column.link_panel div small, main .content_wrap .column3 .column.link_panel div small {
              text-align: center;
              line-height: 1.8;
              margin-top: 0.5rem;
              padding-bottom: 1rem;
              width: 100%;
              font-size: 1rem; }
            main .content_wrap .column1 .column.link_panel div p, main .content_wrap .column2 .column.link_panel div p, main .content_wrap .column3 .column.link_panel div p {
              line-height: 1.35;
              font-size: 1.4rem;
              text-align: center;
              font-weight: 500; }
              @media screen and (max-width: 767px) {
                main .content_wrap .column1 .column.link_panel div p, main .content_wrap .column2 .column.link_panel div p, main .content_wrap .column3 .column.link_panel div p {
                  font-size: 1.1rem;
                  padding: 0.5rem 0; } }
        main .content_wrap .column1 .column .content.top2p, main .content_wrap .column2 .column .content.top2p, main .content_wrap .column3 .column .content.top2p {
          padding-top: 2rem;
          padding-bottom: 2rem; }
    main .content_wrap .column1 {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      main .content_wrap .column1 .column {
        width: 100%; }
        main .content_wrap .column1 .column .content {
          padding: 1rem 6.5rem; }
          @media screen and (max-width: 768px) {
            main .content_wrap .column1 .column .content {
              padding: 1rem 2rem; } }
          @media screen and (max-width: 767px) {
            main .content_wrap .column1 .column .content {
              padding: 1rem 1rem; } }
    main .content_wrap .column2 {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      main .content_wrap .column2 .column {
        width: 49%;
        background-color: #fff; }
    main .content_wrap .column3 {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      @media screen and (max-width: 767px) {
        main .content_wrap .column3.sp_column2 .column {
          width: 48%; } }
      main .content_wrap .column3 .column {
        width: 32%;
        background-color: #fff;
        margin-bottom: 1rem; }
        @media screen and (max-width: 767px) {
          main .content_wrap .column3 .column {
            width: 100%; } }

.one-third_link {
  margin-bottom: 3rem; }
  .one-third_link a {
    box-shadow: 0 0 6px #888;
    overflow: hidden;
    border-radius: 1rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
    position: relative;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    @media screen and (max-width: 767px) {
      .one-third_link a {
        display: block; } }
    .one-third_link a .picture {
      width: 32%;
      overflow: hidden;
      position: relative;
      background-position: center;
      background-size: auto 100%;
      position: absolute;
      left: 0;
      top: 0;
      height: 100%; }
      @media screen and (max-width: 767px) {
        .one-third_link a .picture {
          width: 100%;
          position: relative;
          height: 12rem; } }
    .one-third_link a .detail {
      width: 68%;
      padding: 3rem 2rem;
      padding-right: 6.5rem; }
      @media screen and (max-width: 767px) {
        .one-third_link a .detail {
          width: 100%;
          padding: 1.5rem; } }
      .one-third_link a .detail p {
        font-size: 1rem;
        line-height: 2;
        letter-spacing: 0.05em;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 767px) {
          .one-third_link a .detail p {
            line-height: 1.8;
            font-size: 0.9rem; } }
        @media screen and (max-width: 767px) {
          .one-third_link a .detail p {
            line-height: 1.8;
            margin-bottom: 1rem; } }

.half_link {
  margin-bottom: 3rem;
  box-shadow: 0 0 6px #888;
  background-color: #fff;
  border-radius: 1rem;
  overflow: hidden; }
  .half_link.reverse a {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .half_link.reverse a .picture {
      left: auto;
      right: 0; }
    .half_link.reverse a .detail {
      padding-right: 2rem;
      padding-left: 6.5rem; }
      @media screen and (max-width: 935px) {
        .half_link.reverse a .detail {
          padding-left: 2rem; } }
      @media screen and (max-width: 767px) {
        .half_link.reverse a .detail {
          padding: 1rem;
          width: 100%; } }
  .half_link a {
    overflow: hidden;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    @media screen and (max-width: 767px) {
      .half_link a {
        display: block; } }
    .half_link a .picture {
      width: 50%;
      overflow: hidden;
      position: relative;
      background-position: center;
      background-size: auto 100%;
      position: absolute;
      left: 0;
      top: 0;
      height: 100%; }
      @media screen and (max-width: 767px) {
        .half_link a .picture {
          width: 100%;
          position: relative;
          height: 18rem; } }
    .half_link a .detail {
      width: 50%;
      padding: 3rem 2rem;
      margin: 0rem;
      padding-right: 6.5rem; }
      @media screen and (max-width: 767px) {
        .half_link a .detail {
          padding: 1rem;
          width: 100%; } }
      .half_link a .detail p {
        font-size: 1rem;
        line-height: 2;
        letter-spacing: 0.05em;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 767px) {
          .half_link a .detail p {
            line-height: 1.8;
            font-size: 0.9rem; } }
        @media screen and (max-width: 767px) {
          .half_link a .detail p {
            line-height: 1.8; } }

.link_wrap.toppage {
  max-width: 80rem;
  width: 100%;
  padding: 0 1rem;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.link_wrap.small div, .link_wrap.small a {
  padding: 0.5rem 1rem; }

.link_wrap.auto div, .link_wrap.auto a {
  font-weight: 500; }

.link_wrap.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.link_wrap.flex2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .link_wrap.flex2 a, .link_wrap.flex2 div {
    margin: 0 1rem; }
  @media screen and (max-width: 767px) {
    .link_wrap.flex2 {
      display: block; }
      .link_wrap.flex2 a, .link_wrap.flex2 div {
        width: 100%;
        margin: 0.5rem auto; } }

.link_wrap.center div, .link_wrap.center a {
  margin: 1rem auto !important;
  margin-top: 2rem !important;
  display: block; }

.link_wrap.right {
  text-align: right; }
  .link_wrap.right div, .link_wrap.right a {
    margin-left: auto;
    display: block; }

.link_wrap.large div, .link_wrap.large a {
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: white;
  font-weight: 500; }
  @media screen and (max-width: 767px) {
    .link_wrap.large div, .link_wrap.large a {
      font-size: 1.1rem;
      line-height: 1.5; } }
  .link_wrap.large div:hover, .link_wrap.large a:hover {
    color: #037CBF; }

.link_wrap div, .link_wrap a {
  cursor: pointer;
  background-color: #037CBF;
  display: inline-block;
  border-radius: 4rem;
  margin: 0.25rem auto;
  padding: 0.7rem 2rem;
  text-align: center;
  border: 2px solid #037CBF;
  -webkit-transition: all ease-in-out 0.25s;
  transition: all ease-in-out 0.25s;
  max-width: 100%;
  color: white;
  margin-left: 1rem;
  line-height: 1.5; }
  .link_wrap div:nth-of-type(1), .link_wrap a:nth-of-type(1) {
    margin-left: 0rem; }
  @media screen and (max-width: 767px) {
    .link_wrap div, .link_wrap a {
      margin: 0;
      margin-bottom: 1rem; } }
  .link_wrap div:hover, .link_wrap a:hover {
    background-color: white;
    color: #037CBF; }
    .link_wrap div:hover span, .link_wrap a:hover span {
      color: #037CBF; }
    .link_wrap div:hover.external:after, .link_wrap a:hover.external:after {
      background-image: url(/asset/svg/external.svg); }
  .link_wrap div.external:after, .link_wrap a.external:after {
    background-image: url(/asset/svg/external_white.svg); }
  .link_wrap div.full, .link_wrap a.full {
    width: 100%; }
  .link_wrap div.middle, .link_wrap a.middle {
    width: 25rem; }
    @media screen and (max-width: 767px) {
      .link_wrap div.middle, .link_wrap a.middle {
        max-width: 100%;
        margin: auto; } }
  .link_wrap div.red, .link_wrap a.red {
    border-color: #E25050;
    background-color: white;
    color: #E25050; }
    .link_wrap div.red:hover, .link_wrap a.red:hover {
      background-color: #E25050;
      color: white; }
  .link_wrap div.negative, .link_wrap a.negative {
    border-color: #ccc;
    border-width: 3px;
    background-color: #fff;
    color: #888; }
    .link_wrap div.negative:hover, .link_wrap a.negative:hover {
      background-color: #888;
      border-color: #888;
      color: white; }
  .link_wrap div span, .link_wrap a span {
    font-size: 1.24rem;
    color: white; }

.info_wrap {
  padding: 2rem 6.5rem; }
  @media screen and (max-width: 767px) {
    .info_wrap {
      padding: 2rem 1rem; } }

.info_box {
  border: 4px solid #CCCCCC;
  border-radius: 1rem;
  width: 100%;
  padding: 2rem; }
  @media screen and (max-width: 767px) {
    .info_box {
      padding: 2rem 1rem; } }
  .info_box ul {
    list-style: disc;
    padding-left: 1.5rem; }
    .info_box ul li {
      font-size: 1rem;
      line-height: 2;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 767px) {
        .info_box ul li {
          line-height: 1.8;
          font-size: 0.9rem; } }

.casestudy_ranking article a {
  margin-bottom: 2%;
  width: 100%;
  background: #E9F7FF;
  border-radius: 1rem;
  padding: 0rem 2rem;
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 767px) {
    .casestudy_ranking article a {
      padding: 0 1.5rem; } }
  .casestudy_ranking article a:hover h3 {
    text-decoration: underline; }
  .casestudy_ranking article a h3 {
    font-size: 1.15rem;
    line-height: 1.5;
    text-align: justify;
    border: none;
    padding-left: 0; }
  .casestudy_ranking article a .rank {
    margin-right: 1rem;
    border-radius: 10rem;
    color: white;
    background-color: #037CBF;
    min-height: 3rem;
    min-width: 3rem;
    height: 3rem;
    width: 3rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 150%;
    font-family: initial sans-serif; }

.casestudy_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .casestudy_flex {
      display: block; } }
  .casestudy_flex.narrow article {
    width: 100%;
    margin-bottom: 2% !important; }
  .casestudy_flex article {
    margin-bottom: 2%;
    width: 48%;
    background: #E9F7FF;
    border-radius: 1rem;
    padding: 1.5rem 2rem;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      .casestudy_flex article {
        padding: 1.5rem;
        width: 100%;
        margin-bottom: 1rem !important; } }
    .casestudy_flex article:nth-of-type(3), .casestudy_flex article:nth-of-type(4) {
      margin-bottom: 0; }
    .casestudy_flex article .faq_tags {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-bottom: 0; }
      .casestudy_flex article .faq_tags li {
        margin-left: 0; }
    .casestudy_flex article h3 {
      font-size: 1.15rem;
      border: none;
      padding-left: 0;
      margin: 0; }
      .casestudy_flex article h3 a {
        position: relative;
        display: block;
        padding-right: 2rem;
        line-height: 1.5;
        margin-bottom: 0.75rem; }
        .casestudy_flex article h3 a:hover {
          text-decoration: underline; }
        .casestudy_flex article h3 a:after {
          content: "";
          width: 1rem;
          height: 2rem;
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0%;
          display: block;
          margin: auto;
          background-size: contain;
          background-repeat: no-repeat;
          background-image: url("../svg/arrow_right.svg"); }

.search_block .search_block_tags {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: auto;
  max-width: 50rem;
  margin-top: 1rem; }
  @media screen and (max-width: 767px) {
    .search_block .search_block_tags {
      display: block; } }
  .search_block .search_block_tags p {
    margin-right: 0.5rem;
    min-width: 10.5em;
    margin-top: 0.25rem; }
  .search_block .search_block_tags ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding-top: 0rem; }
    .search_block .search_block_tags ul li {
      display: block; }
      .search_block .search_block_tags ul li a {
        display: block;
        margin: 0.25rem;
        border: 2px solid #037CBF;
        color: #037CBF;
        padding: 0.5rem 1rem;
        border-radius: 4rem;
        font-weight: 500;
        -webkit-transition: all ease 0.25s;
        transition: all ease 0.25s; }
        @media screen and (max-width: 767px) {
          .search_block .search_block_tags ul li a {
            font-size: 0.8rem; } }
        .search_block .search_block_tags ul li a:hover {
          background-color: #037CBF;
          color: white; }

.search_block .search_block_input {
  display: block;
  margin: auto;
  max-width: 50rem;
  position: relative; }
  .search_block .search_block_input button {
    position: absolute;
    right: 0;
    height: 100%;
    border-radius: 3rem;
    font-size: 1.5rem;
    background-color: #037CBF;
    border: none;
    color: white;
    width: 8rem;
    outline: none;
    -webkit-transition: all ease 0.25s;
    transition: all ease 0.25s; }
    @media screen and (max-width: 767px) {
      .search_block .search_block_input button {
        font-size: 1.25rem; } }
    .search_block .search_block_input button:hover {
      text-decoration: underline; }
  .search_block .search_block_input input {
    font-size: 2rem;
    width: 100%;
    padding: 1rem;
    border-radius: 3rem;
    outline: none;
    border: 1px solid #707070;
    background-image: url(../svg/search.svg);
    background-position: 1.5rem center;
    background-repeat: no-repeat;
    background-size: 6%;
    padding-left: 5rem; }
    @media screen and (max-width: 767px) {
      .search_block .search_block_input input {
        font-size: 1.5rem; } }
    .search_block .search_block_input input:focus {
      border-color: #037CBF;
      border-width: 1px; }
    .search_block .search_block_input input::-webkit-input-placeholder {
      color: #888;
      font-size: 1.3rem;
      padding-bottom: 0rem;
      vertical-align: top;
      line-height: 2; }
    .search_block .search_block_input input::-moz-placeholder {
      color: #888;
      font-size: 1.3rem;
      padding-bottom: 0rem;
      vertical-align: top;
      line-height: 2; }
    .search_block .search_block_input input:-ms-input-placeholder {
      color: #888;
      font-size: 1.3rem;
      padding-bottom: 0rem;
      vertical-align: top;
      line-height: 2; }
    .search_block .search_block_input input::-ms-input-placeholder {
      color: #888;
      font-size: 1.3rem;
      padding-bottom: 0rem;
      vertical-align: top;
      line-height: 2; }
    .search_block .search_block_input input::placeholder {
      color: #888;
      font-size: 1.3rem;
      padding-bottom: 0rem;
      vertical-align: top;
      line-height: 2; }
      @media screen and (max-width: 767px) {
        .search_block .search_block_input input::-webkit-input-placeholder {
          font-size: 1rem; }
        .search_block .search_block_input input::-moz-placeholder {
          font-size: 1rem; }
        .search_block .search_block_input input:-ms-input-placeholder {
          font-size: 1rem; }
        .search_block .search_block_input input::-ms-input-placeholder {
          font-size: 1rem; }
        .search_block .search_block_input input::placeholder {
          font-size: 1rem; } }

main .form_container input[type="text"], main .form_container input[type="email"] {
  background-color: #fff;
  border: 0.25rem;
  font-size: 1.2rem;
  padding: 1rem;
  border-radius: 0.25rem;
  border: 1px solid #CCCCCC;
  width: 100%; }
  main .form_container input[type="text"].round, main .form_container input[type="email"].round {
    border-radius: 5rem;
    width: 100%; }

main .form_container textarea {
  background-color: #fff;
  border: 0.25rem;
  font-size: 1.2rem;
  padding: 1rem;
  border-radius: 0.25rem;
  border: 1px solid #CCCCCC;
  width: 100%;
  min-height: 8em; }

main .form_container.gray {
  background-color: #F5F5F5;
  border-radius: 1rem;
  padding: 2rem; }

main .form_container dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-bottom: 2rem; }
  @media screen and (max-width: 767px) {
    main .form_container dl {
      display: block; } }
  main .form_container dl dt {
    font-size: 1.1rem;
    min-width: 15rem;
    line-height: 1.5;
    margin-right: 1rem; }
    @media screen and (max-width: 767px) {
      main .form_container dl dt {
        margin-bottom: 0.5rem; } }
    main .form_container dl dt.dt2 {
      min-width: 25rem; }
  main .form_container dl dd {
    width: calc(100% - 15rem); }
    @media screen and (max-width: 767px) {
      main .form_container dl dd {
        width: 100%; } }
    main .form_container dl dd.dd2 {
      width: calc(100% - 25rem); }
      @media screen and (max-width: 767px) {
        main .form_container dl dd.dd2 {
          width: 100%; } }

main .form_container .search_btn {
  margin-top: 2rem; }
  main .form_container .search_btn button {
    border-radius: 4rem;
    background-color: #037CBF;
    color: white;
    margin: auto;
    border: none;
    outline: none;
    font-size: 1.5rem;
    font-weight: 500;
    padding: 1rem 8rem;
    display: block; }

main .form_container .h4 {
  font-size: 1.25rem;
  margin-top: 2rem; }

main .form_container p {
  margin-bottom: 1rem; }

main .form_container.toggle .form_item_wrap {
  display: block;
  border-bottom: #707070 dotted 1px;
  padding-bottom: 1rem; }
  main .form_container.toggle .form_item_wrap:first-of-type {
    border-top: #707070 dotted 1px; }
  main .form_container.toggle .form_item_wrap h3 {
    cursor: pointer;
    position: relative; }
    main .form_container.toggle .form_item_wrap h3:hover {
      text-decoration: underline; }
    main .form_container.toggle .form_item_wrap h3:after {
      content: "";
      background-image: url(../svg/blue-arrow.svg);
      position: absolute;
      right: 0;
      height: 1.5rem;
      width: 1.5rem;
      -webkit-transition: all ease 0.25s;
      transition: all ease 0.25s; }
  main .form_container.toggle .form_item_wrap .item.checkbox, main .form_container.toggle .form_item_wrap .item.radiobtn {
    display: none; }
  main .form_container.toggle .form_item_wrap .item.text {
    display: none;
    padding-top: 0.5rem; }
    main .form_container.toggle .form_item_wrap .item.text input {
      background-image: url(../svg/search.svg);
      background-position: 1.5rem center;
      background-size: 3%;
      background-repeat: no-repeat;
      padding-left: 5rem; }
  main .form_container.toggle .form_item_wrap.active h3:after {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  main .form_container.toggle .form_item_wrap.active .item.checkbox, main .form_container.toggle .form_item_wrap.active .item.radiobtn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  main .form_container.toggle .form_item_wrap.active .item.text {
    display: block; }
    main .form_container.toggle .form_item_wrap.active .item.text input {
      border-radius: 5rem; }

main .form_container .form_item_wrap {
  display: block;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: #707070 dotted 1px; }
  main .form_container .form_item_wrap:first-of-type {
    border-top: #707070 dotted 1px; }
  @media screen and (max-width: 767px) {
    main .form_container .form_item_wrap {
      display: block; } }
  main .form_container .form_item_wrap h3 {
    font-size: 1.35rem;
    font-weight: 500;
    min-width: 6em;
    margin: 0.75rem 0; }
    @media screen and (max-width: 767px) {
      main .form_container .form_item_wrap h3 {
        font-size: 1.25rem; } }
  main .form_container .form_item_wrap .item.radiobtn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    main .form_container .form_item_wrap .item.radiobtn div input {
      position: absolute;
      left: -9999px; }
    main .form_container .form_item_wrap .item.radiobtn div label {
      display: block;
      position: relative;
      margin: 0.5rem;
      padding: 0.5rem;
      padding-left: 2.5rem;
      padding-right: 1rem;
      border: 1px solid #fff;
      border-radius: 5rem;
      font-size: 1rem;
      color: #111111;
      background-color: white;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
      white-space: nowrap;
      cursor: pointer;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-transition: background-color .2s, box-shadow .2s;
      transition: background-color .2s, box-shadow .2s; }
    main .form_container .form_item_wrap .item.radiobtn div label::before {
      content: '';
      display: block;
      position: absolute;
      top: 0px;
      bottom: 00px;
      left: 10px;
      height: 16px;
      width: 16px;
      border: 3px solid #fff;
      border-radius: 4rem;
      -webkit-transition: background-color .2s;
      transition: background-color .2s;
      border: 1px solid #888;
      margin: auto; }
    main .form_container .form_item_wrap .item.radiobtn div label:hover, main .form_container .form_item_wrap .item.radiobtn div input:focus + label {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.6); }
    main .form_container .form_item_wrap .item.radiobtn div input:checked + label {
      background-color: #fff;
      border: 1px solid #037CBF;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); }
    main .form_container .form_item_wrap .item.radiobtn div input:checked + label::before {
      background-color: #037CBF;
      border-color: #037CBF; }
  main .form_container .form_item_wrap .item.checkbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    main .form_container .form_item_wrap .item.checkbox div input {
      position: absolute;
      left: -9999px; }
    main .form_container .form_item_wrap .item.checkbox div label {
      display: block;
      position: relative;
      margin: 0.5rem;
      padding: 0.5rem;
      padding-left: 2.5rem;
      padding-right: 1rem;
      border: 1px solid #fff;
      border-radius: 5rem;
      font-size: 1rem;
      color: #111111;
      background-color: white;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
      white-space: nowrap;
      cursor: pointer;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-transition: background-color .2s, box-shadow .2s;
      transition: background-color .2s, box-shadow .2s; }
    main .form_container .form_item_wrap .item.checkbox div label::before {
      content: '';
      display: block;
      position: absolute;
      top: 0px;
      bottom: 00px;
      left: 10px;
      height: 16px;
      width: 16px;
      border: 3px solid #fff;
      border-radius: 3px;
      -webkit-transition: background-color .2s;
      transition: background-color .2s;
      border: 1px solid #888;
      margin: auto; }
    main .form_container .form_item_wrap .item.checkbox div label:hover, main .form_container .form_item_wrap .item.checkbox div input:focus + label {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.6); }
    main .form_container .form_item_wrap .item.checkbox div input:checked + label {
      background-color: #fff;
      border: 1px solid #037CBF;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); }
    main .form_container .form_item_wrap .item.checkbox div input:checked + label::before {
      background-color: #037CBF;
      border-color: #037CBF; }
    main .form_container .form_item_wrap .item.checkbox div input:checked + label::after {
      content: "";
      position: absolute;
      top: 0px;
      bottom: 00px;
      left: 10px;
      height: 16px;
      width: 16px;
      background-image: url(../svg/checked.svg);
      background-position: center;
      background-repeat: no-repeat;
      margin: auto;
      background-size: 90%; }

#tabmenu {
  max-width: 80rem;
  margin: auto;
  padding: 3rem 1rem; }
  #tabmenu .tab_menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #tabmenu .tab_menu {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
    #tabmenu .tab_menu .tab-item {
      position: relative;
      font-size: 1.2rem;
      line-height: 2;
      letter-spacing: 0.05em;
      border-radius: 10px 10px 0 0;
      box-shadow: 0 0 6px #888;
      padding: 1rem;
      width: 24%;
      text-align: center;
      cursor: pointer;
      color: white;
      background-color: #707070; }
      @media screen and (max-width: 767px) {
        #tabmenu .tab_menu .tab-item {
          font-size: 1.1rem;
          line-height: 1.5; } }
      @media screen and (max-width: 767px) {
        #tabmenu .tab_menu .tab-item {
          width: 49%;
          margin-bottom: 1%;
          border-radius: 10px;
          font-size: 1rem; } }
      #tabmenu .tab_menu .tab-item:hover {
        text-decoration: underline; }
      #tabmenu .tab_menu .tab-item.active {
        color: #333;
        background-color: white; }
      #tabmenu .tab_menu .tab-item:after {
        position: absolute;
        content: "";
        display: block;
        width: 100%;
        height: 10px;
        background: white;
        bottom: -10px;
        left: 0; }
        @media screen and (max-width: 767px) {
          #tabmenu .tab_menu .tab-item:after {
            content: none; } }
  #tabmenu .tab_content_block {
    box-shadow: 0 0 6px #888;
    background-color: white;
    padding: 2rem 6.5rem; }
    @media screen and (max-width: 767px) {
      #tabmenu .tab_content_block {
        margin-top: 0.5rem;
        padding: 1rem; } }
    #tabmenu .tab_content_block .tab_content {
      display: none; }
      #tabmenu .tab_content_block .tab_content.active {
        display: block; }
      #tabmenu .tab_content_block .tab_content dl {
        padding: 0.5rem 1rem;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        @media screen and (max-width: 767px) {
          #tabmenu .tab_content_block .tab_content dl {
            display: block; } }
        #tabmenu .tab_content_block .tab_content dl dt {
          font-size: 1rem;
          line-height: 2;
          letter-spacing: 0.05em;
          font-weight: 300;
          margin-right: 1rem; }
          @media screen and (max-width: 767px) {
            #tabmenu .tab_content_block .tab_content dl dt {
              line-height: 1.8;
              font-size: 0.9rem; } }
        #tabmenu .tab_content_block .tab_content dl dd a {
          font-size: 1.15rem;
          color: #037CBF;
          line-height: 1.5; }
          #tabmenu .tab_content_block .tab_content dl dd a:hover {
            text-decoration: underline; }

#banner_split, .banner_split {
  max-width: 65rem;
  width: 100%;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0rem 1rem;
  padding-bottom: 3rem;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    #banner_split, .banner_split {
      padding-bottom: 1.5rem; } }
  #banner_split a, .banner_split a {
    width: 32%;
    display: block;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem; }
    @media screen and (max-width: 767px) {
      #banner_split a, .banner_split a {
        width: 48%; } }
    #banner_split a img, .banner_split a img {
      width: 100%;
      height: auto;
      box-shadow: 0 0 3px #ccc; }
  #banner_split.around, .banner_split.around {
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around; }
    #banner_split.around a, .banner_split.around a {
      width: 30%; }
      @media screen and (max-width: 767px) {
        #banner_split.around a, .banner_split.around a {
          width: 100%;
          margin-bottom: 1rem; } }

.image_float_right_top {
  position: relative;
  padding-top: 4rem; }
  @media screen and (max-width: 767px) {
    .image_float_right_top {
      padding-bottom: 0; } }
  @media screen and (max-width: 767px) {
    .image_float_right_top .float_item {
      position: relative; } }
  .image_float_right_top .float_item img {
    width: calc(100% - 20em);
    height: auto;
    position: absolute;
    right: 0;
    top: 0; }
    .image_float_right_top .float_item img.pc {
      display: block; }
      @media screen and (max-width: 767px) {
        .image_float_right_top .float_item img.pc {
          display: none; } }
    .image_float_right_top .float_item img.sp {
      display: none; }
      @media screen and (max-width: 767px) {
        .image_float_right_top .float_item img.sp {
          display: block; } }
    @media screen and (max-width: 767px) {
      .image_float_right_top .float_item img {
        position: relative;
        width: 100%; } }
  .image_float_right_top .float_item:after {
    content: "";
    padding-top: 2rem;
    display: block; }
    @media screen and (max-width: 767px) {
      .image_float_right_top .float_item:after {
        display: none; } }

.attention_block {
  border-width: 3px;
  border-radius: 1rem;
  border-color: #037CBF;
  border-style: solid;
  padding: 2.5rem 4rem;
  padding-top: 2.5rem;
  padding-bottom: 1.5rem;
  background-color: white;
  margin: 1.5rem auto; }
  @media screen and (max-width: 767px) {
    .attention_block {
      padding: 2rem 2rem;
      padding-bottom: 1rem; } }
  @media screen and (max-width: 767px) {
    .attention_block h3 {
      margin-bottom: 1rem !important; } }
  .attention_block p {
    margin-bottom: 1rem !important; }
  .attention_block.yellow {
    border-color: #FBD326; }
    .attention_block.yellow h3 {
      border-left: none !important;
      padding-left: 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .attention_block.yellow h3 svg {
        width: 2.25rem;
        height: auto;
        margin-right: 0.5rem;
        display: inline; }
  .attention_block.red {
    border-color: #E25050; }
    .attention_block.red h3 {
      border-left-color: #E25050; }
  .attention_block.gray {
    border-color: #707070; }

@media screen and (max-width: 767px) {
  .place_block {
    padding: 0; } }

.place_block dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #888;
  border-bottom: none; }
  @media screen and (max-width: 767px) {
    .place_block dl {
      display: block; } }
  .place_block dl:last-of-type {
    border-bottom: 1px solid #888; }
  .place_block dl dt, .place_block dl dd {
    padding: 0 1rem;
    line-height: 2; }
  .place_block dl dt {
    background: #f0f0f0;
    border-right: 1px solid #888;
    width: 30%;
    padding: 1rem 1rem; }
    @media screen and (max-width: 767px) {
      .place_block dl dt {
        border-bottom: 1px solid #888;
        border-right: none;
        width: 100%;
        font-size: 80%;
        padding: 0.5rem 1rem; } }
  .place_block dl dd {
    width: 70%; }
    @media screen and (max-width: 767px) {
      .place_block dl dd {
        width: 100%;
        padding: 0.5rem 1rem; } }
    .place_block dl dd p {
      margin: 1rem auto; }
    .place_block dl dd .iframe_wrap {
      margin: 0.5rem 0;
      margin-bottom: 1rem; }
      .place_block dl dd .iframe_wrap iframe {
        width: 100%;
        height: 17.5rem;
        border: none; }

.dl_wrap dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0.5rem auto;
  width: 100%;
  border: none;
  border-bottom: 1px solid #888;
  border-top: 1px solid #888;
  padding: 1rem; }
  .dl_wrap dl dt, .dl_wrap dl dd {
    padding: 0.5rem;
    border: none; }
  .dl_wrap dl dt {
    background: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 20%; }
  .dl_wrap dl dd {
    padding: 0.5rem; }

.dl_wrap2 {
  margin: 1rem auto; }
  .dl_wrap2 dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border: none;
    border: 1px solid #888;
    border-bottom: none; }
    @media screen and (max-width: 767px) {
      .dl_wrap2 dl {
        display: block; } }
    .dl_wrap2 dl:last-of-type {
      border-bottom: 1px solid #888; }
    .dl_wrap2 dl dt, .dl_wrap2 dl dd {
      padding: 1rem 1rem;
      border: none;
      line-height: 1.5; }
    .dl_wrap2 dl dt {
      background: #fff;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      width: 30%;
      border-right: 1px solid #888; }
      @media screen and (max-width: 767px) {
        .dl_wrap2 dl dt {
          border-right: none;
          border-bottom: 1px solid #888;
          width: 100%; } }
      .dl_wrap2 dl dt a {
        color: #037CBF; }
        .dl_wrap2 dl dt a:hover {
          text-decoration: underline; }
    .dl_wrap2 dl dd {
      width: 70%; }
      @media screen and (max-width: 767px) {
        .dl_wrap2 dl dd {
          width: 100%; } }
      .dl_wrap2 dl dd a {
        color: #037CBF; }
        .dl_wrap2 dl dd a:hover {
          text-decoration: underline; }

svg a:hover path {
  opacity: 0.8; }

.middle_banner_wrap {
  padding: 2rem 6.5rem; }
  @media screen and (max-width: 767px) {
    .middle_banner_wrap {
      padding: 2rem 1rem; } }

.middle_banner {
  background-color: #037CBF;
  box-shadow: 0 0 3px #333;
  border-radius: 1rem;
  padding: 2rem 1rem;
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }
  @media screen and (max-width: 767px) {
    .middle_banner {
      display: block; } }
  .middle_banner .left {
    width: 25%; }
    @media screen and (max-width: 1140px) {
      .middle_banner .left {
        min-width: 16em; } }
    @media screen and (max-width: 818px) {
      .middle_banner .left {
        width: 33%; } }
    @media screen and (max-width: 767px) {
      .middle_banner .left {
        width: 100%;
        margin: auto;
        margin-bottom: 1rem;
        max-width: 300px; } }
    .middle_banner .left img {
      width: 80%;
      height: auto;
      display: block;
      margin: auto; }
      @media screen and (max-width: 767px) {
        .middle_banner .left img {
          width: 60%;
          max-width: 200px;
          height: auto; } }
  .middle_banner .center, .middle_banner .right {
    color: white;
    max-width: 700px; }
    @media screen and (min-width: 1477px) {
      .middle_banner .center, .middle_banner .right {
        min-width: 750px; } }
    @media screen and (min-width: 1377px) {
      .middle_banner .center, .middle_banner .right {
        min-width: 750px; } }
    .middle_banner .center .top, .middle_banner .right .top {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-bottom: 1rem; }
      @media screen and (max-width: 1140px) {
        .middle_banner .center .top, .middle_banner .right .top {
          -webkit-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
                  flex-wrap: wrap;
          -webkit-box-pack: start;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      @media screen and (max-width: 767px) {
        .middle_banner .center .top, .middle_banner .right .top {
          display: block;
          text-align: center; } }
      .middle_banner .center .top small, .middle_banner .right .top small {
        font-weight: 500;
        font-size: 120%;
        margin-right: 1rem; }
        @media screen and (max-width: 1140px) {
          .middle_banner .center .top small, .middle_banner .right .top small {
            width: 100%;
            margin-bottom: 0.5rem; } }
        @media screen and (max-width: 767px) {
          .middle_banner .center .top small, .middle_banner .right .top small {
            text-align: center;
            display: block;
            margin-bottom: 0.5rem; } }
      .middle_banner .center .top img, .middle_banner .right .top img {
        display: inline;
        width: 5vw;
        height: auto; }
        @media screen and (min-width: 1400px) {
          .middle_banner .center .top img, .middle_banner .right .top img {
            width: 5rem; } }
        @media screen and (max-width: 767px) {
          .middle_banner .center .top img, .middle_banner .right .top img {
            width: 9vw; } }
      .middle_banner .center .top b, .middle_banner .center .top strong, .middle_banner .right .top b, .middle_banner .right .top strong {
        font-family: hero-new, sans-serif;
        font-weight: 600;
        font-style: normal;
        font-size: 4.8vw; }
        @media screen and (min-width: 1300px) {
          .middle_banner .center .top b, .middle_banner .center .top strong, .middle_banner .right .top b, .middle_banner .right .top strong {
            font-size: 3.8rem; } }
        @media screen and (max-width: 767px) {
          .middle_banner .center .top b, .middle_banner .center .top strong, .middle_banner .right .top b, .middle_banner .right .top strong {
            font-size: 7.8vw; } }
    .middle_banner .center .bottom, .middle_banner .right .bottom {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
      -webkit-align-items: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; }
      @media screen and (max-width: 1140px) {
        .middle_banner .center .bottom, .middle_banner .right .bottom {
          display: block; } }
      @media screen and (max-width: 767px) {
        .middle_banner .center .bottom, .middle_banner .right .bottom {
          display: block; } }
      .middle_banner .center .bottom .second, .middle_banner .right .bottom .second {
        font-size: 0.8rem;
        margin-right: 1rem;
        line-height: 1.65;
        margin-bottom: 0;
        max-width: 30em; }
        @media screen and (max-width: 1140px) {
          .middle_banner .center .bottom .second, .middle_banner .right .bottom .second {
            max-width: 100%;
            margin-bottom: 1rem; } }
        @media screen and (max-width: 767px) {
          .middle_banner .center .bottom .second, .middle_banner .right .bottom .second {
            text-align: center;
            margin: auto; } }
        .middle_banner .center .bottom .second br, .middle_banner .right .bottom .second br {
          display: none; }
          @media screen and (max-width: 767px) {
            .middle_banner .center .bottom .second br, .middle_banner .right .bottom .second br {
              display: inline; } }
      .middle_banner .center .bottom .third, .middle_banner .right .bottom .third {
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 1400px) {
          .middle_banner .center .bottom .third, .middle_banner .right .bottom .third {
            min-width: 20em; } }
        @media screen and (max-width: 767px) {
          .middle_banner .center .bottom .third, .middle_banner .right .bottom .third {
            display: block;
            margin-top: 1rem; } }
        .middle_banner .center .bottom .third p, .middle_banner .right .bottom .third p {
          font-size: 0.7rem;
          line-height: 1.65;
          margin-bottom: 0;
          margin-right: 1rem; }
          @media screen and (max-width: 767px) {
            .middle_banner .center .bottom .third p, .middle_banner .right .bottom .third p {
              text-align: center;
              margin-right: 0; }
              .middle_banner .center .bottom .third p br, .middle_banner .right .bottom .third p br {
                display: none; } }
        .middle_banner .center .bottom .third strong, .middle_banner .right .bottom .third strong {
          font-size: 200%;
          font-family: hero-new, sans-serif;
          font-weight: 600;
          font-style: normal; }
          @media screen and (max-width: 767px) {
            .middle_banner .center .bottom .third strong, .middle_banner .right .bottom .third strong {
              text-align: center;
              display: block; } }

.call_banner {
  background-color: #037CBF;
  box-shadow: 0 0 3px #333;
  border-radius: 1rem;
  padding: 2rem 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }
  @media screen and (max-width: 767px) {
    .call_banner {
      display: block; } }
  .call_banner .left {
    width: 25%; }
    @media screen and (max-width: 818px) {
      .call_banner .left {
        width: 33%; } }
    @media screen and (max-width: 767px) {
      .call_banner .left {
        width: 100%;
        margin-bottom: 1rem; } }
    .call_banner .left img {
      width: 80%;
      height: auto;
      display: block;
      margin: auto; }
      @media screen and (max-width: 767px) {
        .call_banner .left img {
          width: 60%; } }
  .call_banner .right {
    color: white; }
    .call_banner .right .top {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media screen and (max-width: 818px) {
        .call_banner .right .top {
          -webkit-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
                  flex-wrap: wrap;
          -webkit-box-pack: start;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      @media screen and (max-width: 767px) {
        .call_banner .right .top {
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      .call_banner .right .top small {
        font-weight: 500;
        font-size: 120%;
        margin-right: 1rem; }
        @media screen and (max-width: 818px) {
          .call_banner .right .top small {
            width: 100%;
            margin-bottom: 1rem; } }
        @media screen and (max-width: 767px) {
          .call_banner .right .top small {
            text-align: center; } }
      .call_banner .right .top img {
        display: inline;
        width: 5vw;
        height: auto; }
        @media screen and (min-width: 1400px) {
          .call_banner .right .top img {
            width: 5rem; } }
        @media screen and (max-width: 767px) {
          .call_banner .right .top img {
            width: 9vw; } }
      .call_banner .right .top b, .call_banner .right .top strong {
        font-family: hero-new, sans-serif;
        font-weight: 600;
        font-style: normal;
        font-size: 4.8vw; }
        @media screen and (min-width: 1400px) {
          .call_banner .right .top b, .call_banner .right .top strong {
            font-size: 3.8rem; } }
        @media screen and (max-width: 767px) {
          .call_banner .right .top b, .call_banner .right .top strong {
            font-size: 7.8vw; } }
    .call_banner .right .bottom {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (max-width: 1080px) {
        .call_banner .right .bottom {
          display: block; } }
      .call_banner .right .bottom .second {
        font-size: 0.7rem;
        margin-right: 1rem;
        line-height: 1.65;
        margin-bottom: 0; }
        @media screen and (max-width: 767px) {
          .call_banner .right .bottom .second {
            text-align: center;
            margin-right: 0; } }
        .call_banner .right .bottom .second br {
          display: none; }
          @media screen and (max-width: 767px) {
            .call_banner .right .bottom .second br {
              display: inline; } }
      .call_banner .right .bottom .third {
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (max-width: 1080px) {
          .call_banner .right .bottom .third {
            margin-top: 1rem; } }
        @media screen and (max-width: 767px) {
          .call_banner .right .bottom .third {
            display: block;
            margin-top: 1rem; } }
        .call_banner .right .bottom .third p {
          font-size: 0.7rem;
          line-height: 1.65;
          margin-bottom: 0;
          margin-right: 1rem; }
          @media screen and (max-width: 767px) {
            .call_banner .right .bottom .third p {
              text-align: center;
              margin-right: 0; }
              .call_banner .right .bottom .third p br {
                display: none; } }
        .call_banner .right .bottom .third strong {
          font-size: 200%;
          font-family: hero-new, sans-serif;
          font-weight: 600;
          font-style: normal; }
          @media screen and (max-width: 767px) {
            .call_banner .right .bottom .third strong {
              text-align: center;
              display: block; } }

#chat_space {
  position: fixed;
  right: 1rem;
  bottom: 0;
  z-index: 100;
  background-color: white;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  width: 28rem;
  border: 1px solid #CCCCCC;
  border-bottom: none;
  -webkit-transition: all ease-in-out 1s;
  transition: all ease-in-out 1s; }
  @media screen and (max-width: 767px) {
    #chat_space {
      width: calc(100% - 2rem);
      max-width: 415px; } }
  #chat_space.close {
    bottom: -600px; }
  #chat_space.small .chat_header .chat_small_btn:after {
    -webkit-transition: all ease-in-out 0.5s;
    transition: all ease-in-out 0.5s;
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg); }
  #chat_space .chat_header {
    background-color: #037CBF;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 1rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative; }
    #chat_space .chat_header .icon {
      position: absolute;
      left: 1rem;
      border-radius: 5rem;
      overflow: hidden;
      top: 0.5rem;
      border: 2px solid #037CBF;
      width: 3.5rem;
      height: 3.5rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      #chat_space .chat_header .icon img {
        width: 105%;
        height: auto; }
    #chat_space .chat_header .title {
      color: white;
      font-size: 16px;
      margin-right: auto;
      padding-left: 3.75rem;
      padding-right: .5rem; }
      #chat_space .chat_header .title br {
        display: none; }
        @media screen and (max-width: 767px) {
          #chat_space .chat_header .title br {
            display: inline; } }
    #chat_space .chat_header .after {
      position: absolute;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      z-index: 100; }
    #chat_space .chat_header .chat_small_btn, #chat_space .chat_header .chat_small_close {
      background-color: white;
      width: 1.75rem;
      height: 1.75rem;
      border-radius: 5rem;
      margin-left: 10px;
      position: relative;
      cursor: pointer;
      z-index: 111; }
    #chat_space .chat_header .chat_small_btn {
      margin-left: 0; }
      #chat_space .chat_header .chat_small_btn:after {
        position: absolute;
        content: "";
        width: 60%;
        height: 2px;
        background-color: #000;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 0;
        right: 0;
        display: block;
        -webkit-transition: all ease-in-out 0.5s;
        transition: all ease-in-out 0.5s; }
      #chat_space .chat_header .chat_small_btn:before {
        position: absolute;
        content: "";
        width: 60%;
        height: 2px;
        background-color: #000;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 0;
        right: 0;
        display: block; }
    #chat_space .chat_header .chat_small_close:after {
      position: absolute;
      content: "";
      width: 60%;
      height: 2px;
      background-color: #000;
      top: 0;
      bottom: 0;
      margin: auto;
      left: 0;
      right: 0;
      display: block;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    #chat_space .chat_header .chat_small_close:before {
      position: absolute;
      content: "";
      width: 60%;
      height: 2px;
      background-color: #000;
      top: 0;
      bottom: 0;
      margin: auto;
      left: 0;
      right: 0;
      display: block;
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
  #chat_space #chat_talk {
    padding: 1rem;
    max-height: 450px;
    overflow-y: scroll;
    overflow-x: hidden;
    padding-bottom: 2rem;
    width: 100%; }
    #chat_space #chat_talk .right_message {
      padding-top: 1rem; }
      #chat_space #chat_talk .right_message .right_message_space {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end; }
        #chat_space #chat_talk .right_message .right_message_space .right_message_detail {
          max-width: calc(100% - 3rem - 1rem);
          line-height: 1.5;
          background-color: #037CBF;
          color: white;
          border-radius: 10px;
          padding: 0.75rem;
          position: relative; }
          #chat_space #chat_talk .right_message .right_message_space .right_message_detail:after {
            content: "";
            display: inline-block;
            position: absolute;
            top: 8px;
            right: -20px;
            border: 12px solid transparent;
            border-left: 12px solid #037CBF; }
    #chat_space #chat_talk .left_message {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding-top: 2rem;
      max-width: 24rem; }
      #chat_space #chat_talk .left_message .icon {
        border: 2px solid #037CBF;
        border-radius: 5rem;
        overflow: hidden;
        width: 3.25rem;
        height: 3.25rem;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        min-width: 3.25rem; }
        #chat_space #chat_talk .left_message .icon img {
          width: 105%;
          height: auto; }
      #chat_space #chat_talk .left_message .left_message_space {
        padding-left: 1rem;
        line-height: 1.8; }
        #chat_space #chat_talk .left_message .left_message_space .left_message {
          background-color: #F0F0F0;
          padding: 0.75rem;
          border-radius: 10px;
          line-height: 1.5;
          width: 100%; }
        #chat_space #chat_talk .left_message .left_message_space .message_select li a {
          border: 1px solid #037CBF;
          border-radius: 5px;
          display: block;
          padding: 0.5rem;
          color: #037CBF;
          font-weight: 500;
          margin: 0.5rem auto; }
          #chat_space #chat_talk .left_message .left_message_space .message_select li a:hover {
            text-decoration: underline; }

@media screen and (max-width: 767px) {
  .content #case_list {
    padding-left: 0; } }

@media screen and (max-width: 767px) {
  .content #case_list li a, .content #case_list li div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .content #case_list li a span, .content #case_list li div span {
      line-height: 1.65; } }

.tablehyouka tr td:nth-of-type(1), .tablehyouka tr th:nth-of-type(1) {
  width: 16%; }

.tablehyouka tr td:nth-of-type(2), .tablehyouka tr td:nth-of-type(3), .tablehyouka tr th:nth-of-type(2), .tablehyouka tr th:nth-of-type(3) {
  width: 42%; }

@media screen and (max-width: 768px) {
  .tablehyouka tbody tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .tablehyouka tbody tr img {
      max-width: 100%; }
    .tablehyouka tbody tr td:nth-of-type(1) {
      width: 100%;
      display: block;
      border-bottom: none;
      border-top: none; }
    .tablehyouka tbody tr td:nth-of-type(2) {
      width: 50%;
      border-right: none; }
      .tablehyouka tbody tr td:nth-of-type(2):before {
        content: "評価住宅";
        display: block;
        border-bottom: 1px dotted;
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
        font-size: 0.8rem; }
    .tablehyouka tbody tr td:nth-of-type(3) {
      width: 50%; }
      .tablehyouka tbody tr td:nth-of-type(3):before {
        content: "保険付き住宅";
        display: block;
        border-bottom: 1px dotted;
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
        font-size: 0.8rem; }
    .tablehyouka tbody tr:first-of-type {
      display: none; }
    .tablehyouka tbody tr:nth-of-type(2) {
      border-top: 1px solid #666; } }

#trouble .dl_wrap2 dt div > img:last-child {
  margin-left: 0 !important;
  width: 12rem; }

#trouble .dl_wrap2 dt div > img:first-child {
  width: 12rem;
  margin-left: 0 !important; }

.link_navigation_wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 767px) {
    .link_navigation_wrap {
      display: block; } }
  .link_navigation_wrap a {
    background-color: #fff;
    box-shadow: 0 0 6px #888;
    border-radius: 1rem;
    overflow: hidden; }
    .link_navigation_wrap a strong {
      display: block;
      width: 100%;
      line-height: 1.5;
      padding-bottom: 0.5rem; }
    .link_navigation_wrap a.next {
      margin-left: auto; }
      .link_navigation_wrap a.next:after {
        content: "〉";
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 2.5rem;
        color: #037CBF;
        padding-left: 1rem; }
    .link_navigation_wrap a.prev {
      margin-right: auto; }
      .link_navigation_wrap a.prev:before {
        content: "〈";
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 2.5rem;
        color: #037CBF;
        padding-right: 1rem; }
    .link_navigation_wrap a.next, .link_navigation_wrap a.prev {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 2rem;
      color: #037CBF;
      font-weight: 500;
      font-size: 1.5rem;
      max-width: 48%;
      -webkit-transition: all ease 0.4s;
      transition: all ease 0.4s;
      line-height: 1.8; }
      @media screen and (max-width: 767px) {
        .link_navigation_wrap a.next, .link_navigation_wrap a.prev {
          margin-bottom: 2rem;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          max-width: 100%; } }
      .link_navigation_wrap a.next:hover, .link_navigation_wrap a.prev:hover {
        background-color: #037CBF;
        color: white; }
        .link_navigation_wrap a.next:hover:after, .link_navigation_wrap a.next:hover:before, .link_navigation_wrap a.prev:hover:after, .link_navigation_wrap a.prev:hover:before {
          text-decoration: none;
          color: white; }
      .link_navigation_wrap a.next small, .link_navigation_wrap a.prev small {
        color: #037CBF;
        margin-bottom: 0.5rem;
        font-size: 1.25rem;
        display: block; }
      .link_navigation_wrap a.next h2, .link_navigation_wrap a.prev h2 {
        font-size: 1.5rem; }
        .link_navigation_wrap a.next h2:after, .link_navigation_wrap a.prev h2:after {
          display: none; }
        .link_navigation_wrap a.next h2 br, .link_navigation_wrap a.prev h2 br {
          display: none; }

.circle {
  text-indent: -0.65em;
  padding-left: 1em; }
  .circle:before {
    content: "●";
    display: inline-block;
    margin-right: 0.25em; }

@media print {
  html {
    font-size: 12px !important;
    width: 840px; }
    html body {
      width: 840px; }
  @page {
    html body {
      size: A4 portrait; } }
      html body .check .check_scroll .check_img {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-pack: center !important;
        -webkit-justify-content: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important; }
      html body .check .check_scroll {
        page-break-inside: avoid; }
      html body .check .check_scroll .check_img .check_overlay {
        display: none !important; }
      html body main .content_wrap .column1 .column .content {
        padding: 1rem; }
      html body #chat_space, html body #chat_btn {
        display: none; } }

.Accordion {
  display: none; }

/*211122電話相談予約*/
main .form_container input[type="text"][disabled]{
	background-color:#F5F5F5;
}