@charset "UTF-8";
/*!
Theme Name: HARUNA株式会社（English）
Description: HARUNA株式会社テーマ
Version: 2.01
Author: blindbazaar 遠藤 裕樹
*/
@import url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
/*-- リセット --*/
h1,
h2,
h3,
h4,
h5,
p,
b,
strong,
dt,
dd,
li,
span {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  color: #1A1A1A; }
  @media only screen and (max-width: 768px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    p,
    b,
    strong,
    dt,
    dd,
    li,
    span {
      font-size: 3.6vw; } }

img {
  vertical-align: middle; }

ul {
  list-style: none;
  margin: 0;
  padding: 0; }

a {
  text-decoration: none;
  color: #333; }
  a img {
    border: 0; }

.pc {
  display: block; }
  @media only screen and (max-width: 768px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media only screen and (max-width: 768px) {
    .sp {
      display: block; } }

.fw-b {
  font-weight: bold; }

.txta-l {
  text-align: left; }

.txta-r {
  text-align: right; }

.pos-r {
  position: relative; }

.pos-a {
  position: absolute; }

.float-box::after {
  content: "";
  display: block;
  clear: both; }
.float-box .left {
  float: left; }
.float-box .right {
  float: right; }

.flexwrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex; }

.frame_btn {
  border: 1px solid #7CA3DC;
  border-radius: 50px;
  color: #7CA3DC;
  display: inline-block;
  padding: 16px 0;
  width: 252px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .frame_btn {
      width: 75%;
      padding: 3vw 0; } }

/*-- iPhone対策 --*/
@media only screen and (max-width: 1024px) {
  html,
  body {
    width: 100%;
    overflow-x: hidden; } }

body {
  margin: 0;
  padding: 0;
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
  font-size: 14px; }
  @media all and (-ms-high-contrast: none) {
    body {
      font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , "游ゴシック体", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; } }

header .content {
  max-width: 1145px;
  margin: 0 auto;
  position: relative;
  background-color: #FFF;
  padding-bottom: 30px; }
  @media only screen and (max-width: 768px) {
    header .content {
      width: 100%;
      padding-bottom: 0; } }
  header .content .logo,
  header .content h1 {
    width: 210px;
    margin: 60px auto; }
    @media only screen and (max-width: 768px) {
      header .content .logo,
      header .content h1 {
        width: auto;
        height: 40px;
        margin: 12px 0; } }
    header .content .logo img,
    header .content h1 img {
      width: 100%; }
      @media only screen and (max-width: 768px) {
        header .content .logo img,
        header .content h1 img {
          width: auto;
          height: 100%; } }
  header .content .humberger {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #003480;
    position: absolute;
    top: 0;
    right: 15px;
    display: none; }
    @media only screen and (max-width: 768px) {
      header .content .humberger {
        display: block; } }
    header .content .humberger .menubtn {
      width: 16px;
      height: 17px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      header .content .humberger .menubtn::before, header .content .humberger .menubtn::after,
      header .content .humberger .menubtn .center {
        content: "";
        width: 100%;
        height: 2px;
        background-color: #FFF;
        position: absolute;
        left: 0;
        transition: .3s; }
      header .content .humberger .menubtn::before {
        top: 0; }
      header .content .humberger .menubtn::after {
        bottom: 0; }
      header .content .humberger .menubtn .center {
        top: 50%;
        transform: translateY(-50%); }
      header .content .humberger .menubtn.open::before {
        top: 50%;
        transform: translateY(-50%) rotate(45deg); }
      header .content .humberger .menubtn.open::after {
        bottom: 50%;
        transform: translateY(50%) rotate(-45deg); }
      header .content .humberger .menubtn.open .center {
        transform: translateY(-50%) transformZ(17px);
        opacity: 0.0; }
  @media only screen and (max-width: 768px) {
    header .content nav.global {
      display: none;
      width: 100%;
      height: 100%;
      overflow-y: scroll;
      position: fixed;
      top: 64;
      left: 0;
      background-color: rgba(0, 52, 128, 0.8);
      z-index: 999; } }
  header .content nav.global > ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      header .content nav.global > ul {
        background-color: #FFF;
        justify-content: flex-start;
        flex-direction: column; } }
    header .content nav.global > ul > li {
      position: relative; }
      @media only screen and (max-width: 768px) {
        header .content nav.global > ul > li {
          text-align: left; } }
      header .content nav.global > ul > li::after {
        content: "";
        display: block;
        width: 80%;
        height: 3px;
        position: absolute;
        bottom: 0;
        left: 10%; }
        @media only screen and (max-width: 768px) {
          header .content nav.global > ul > li::after {
            width: 100%;
            left: 0;
            height: 2px; } }
      header .content nav.global > ul > li:first-child::after {
        background-color: #2E6FA7; }
      header .content nav.global > ul > li:nth-child(2)::after {
        background-color: #7CA3DC; }
      header .content nav.global > ul > li:nth-child(3)::after {
        background-color: #80AFD5; }
      header .content nav.global > ul > li:nth-child(4)::after {
        background-color: #80BBEB; }
      header .content nav.global > ul > li:nth-child(5)::after {
        background-color: #80AFD5; }
      header .content nav.global > ul > li:nth-child(6)::after {
        background-color: #B6D5ED; }
      header .content nav.global > ul > li a {
        display: block;
        padding-bottom: 10px;
        font-size: 16px; }
        @media only screen and (max-width: 768px) {
          header .content nav.global > ul > li a {
            padding: 4vw 5vw;
            font-size: 3.6vw; } }
  header .content nav.global .sp_nav {
    display: none; }
    @media only screen and (max-width: 768px) {
      header .content nav.global .sp_nav {
        display: block;
        background-color: #FFF;
        padding: 6vw 0 12vw; }
        header .content nav.global .sp_nav ul {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-wrap: nowrap;
          justify-content: space-between;
          margin-bottom: 4vw; }
          header .content nav.global .sp_nav ul li {
            width: 33%; }
        header .content nav.global .sp_nav form {
          width: 100%;
          padding: 0 10px 6vw;
          box-sizing: border-box;
          display: none; }
          header .content nav.global .sp_nav form label {
            position: relative; }
            header .content nav.global .sp_nav form label input[type="text"] {
              width: 100%;
              padding: 2vw 6vw 2vw 3vw;
              box-sizing: border-box; }
            header .content nav.global .sp_nav form label button.submit {
              background-color: transparent;
              border: 0;
              position: absolute;
              top: 50%;
              right: 2vw;
              transform: translateY(-50%);
              text-indent: -9999px; }
              header .content nav.global .sp_nav form label button.submit::after {
                content: "\f002";
                font-family: "FontAwesome";
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                text-indent: 1px; }
        header .content nav.global .sp_nav .nav_logo {
          width: 40%;
          margin: 0 auto;
          padding: 6vw 0; }
          header .content nav.global .sp_nav .nav_logo img {
            width: 100%; } }
  header .content .fix {
    position: absolute;
    top: -45px;
    right: 0; }
    header .content .fix ul {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-wrap: nowrap; }
      header .content .fix ul li {
        position: relative;
        padding-right: 20px; }
        header .content .fix ul li::after {
          content: "/";
          position: absolute;
          top: 0;
          right: 6px; }
        header .content .fix ul li:last-child {
          padding-right: 0;
          overflow: hidden; }
          header .content .fix ul li:last-child p.search_btn {
            cursor: pointer; }
          header .content .fix ul li:last-child form {
            display: block;
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            opacity: 0.0;
            transition: .3s;
            width: 0; }
            header .content .fix ul li:last-child form label {
              position: relative; }
              header .content .fix ul li:last-child form label input[type="text"] {
                padding: 3px 12px 3px 6px;
                font-size: 14px; }
              header .content .fix ul li:last-child form label button.submit {
                position: absolute;
                top: 50%;
                right: 3px;
                transform: translateY(-50%);
                background: transparent;
                border: 0;
                text-indent: -9999px; }
                header .content .fix ul li:last-child form label button.submit::before {
                  content: "\f002";
                  font-family: "FontAwesome";
                  position: absolute;
                  top: 50%;
                  left: 50%;
                  transform: translate(-50%, -50%);
                  text-indent: 1px; }
          header .content .fix ul li:last-child::after {
            content: ""; }

main section .content {
  width: 948px;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    main section .content {
      width: 100%;
      box-sizing: border-box;
      padding-left: 15px;
      padding-right: 15px; } }
  main section .content h2 {
    color: #003594;
    font-weight: bold; }

footer {
  background-color: #C1D6E5; }
  footer .content {
    width: 948px;
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 25px; }
    @media only screen and (max-width: 768px) {
      footer .content {
        width: 100%;
        box-sizing: border-box;
        padding-top: 8vw;
        padding-bottom: 2vw;
        padding-left: 15px;
        padding-right: 15px; } }
    footer .content .flexwrap {
      flex-wrap: nowrap;
      justify-content: space-between; }
      @media only screen and (max-width: 768px) {
        footer .content .flexwrap {
          flex-wrap: wrap;
          justify-content: flex-start;
          flex-direction: colmun; } }
      footer .content .flexwrap .logo {
        width: 140px; }
        @media only screen and (max-width: 768px) {
          footer .content .flexwrap .logo {
            width: 40%;
            margin: 0 auto 4vw; } }
        footer .content .flexwrap .logo img {
          width: 100%; }
      footer .content .flexwrap .sp_nav {
        display: none; }
        @media only screen and (max-width: 768px) {
          footer .content .flexwrap .sp_nav {
            display: block;
            width: calc(100% + 30px);
            margin: 6vw -15px;
            text-align: left; }
            footer .content .flexwrap .sp_nav .dropdown_btn {
              position: relative;
              padding: 3vw 2vw;
              box-sizing: border-box;
              background-color: #F4F3F9;
              font-weight: bold; }
              footer .content .flexwrap .sp_nav .dropdown_btn::after {
                content: "";
                width: 2vw;
                height: 2vw;
                border-top: 1px solid #1A1A1A;
                border-right: 1px solid #1A1A1A;
                transform: translateY(-50%) rotate(135deg);
                position: absolute;
                top: 50%;
                right: 15px; }
              footer .content .flexwrap .sp_nav .dropdown_btn.open::after {
                transform: translateY(-50%) rotate(-45deg); }
            footer .content .flexwrap .sp_nav .dropdown_list {
              display: none; }
              footer .content .flexwrap .sp_nav .dropdown_list ul li {
                border-bottom: 1px solid #F4F3F9; }
                footer .content .flexwrap .sp_nav .dropdown_list ul li a {
                  display: block;
                  padding: 3vw 4vw;
                  font-weight: bold; } }
      footer .content .flexwrap .ft_nav {
        width: 635px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-end; }
        @media only screen and (max-width: 768px) {
          footer .content .flexwrap .ft_nav {
            width: 100%;
            flex-wrap: wrap;
            justify-content: flex-start;
            flex-direction: column; } }
        footer .content .flexwrap .ft_nav nav {
          width: 33%;
          text-align: left; }
          footer .content .flexwrap .ft_nav nav dl {
            margin: 0 0 25px; }
            @media only screen and (max-width: 768px) {
              footer .content .flexwrap .ft_nav nav dl {
                margin: 0; } }
            footer .content .flexwrap .ft_nav nav dl dt {
              font-size: 16px;
              margin-bottom: 8px;
              font-weight: bold; }
              @media only screen and (max-width: 768px) {
                footer .content .flexwrap .ft_nav nav dl dt {
                  font-size: 4vw;
                  margin: 0; }
                  footer .content .flexwrap .ft_nav nav dl dt a {
                    display: block;
                    padding: 2vw 0; } }
            footer .content .flexwrap .ft_nav nav dl dd {
              padding-left: 8px; }
              @media only screen and (max-width: 768px) {
                footer .content .flexwrap .ft_nav nav dl dd {
                  display: none; } }
          footer .content .flexwrap .ft_nav nav p {
            font-size: 16px;
            margin-bottom: 8px;
            font-weight: bold; }
            @media only screen and (max-width: 768px) {
              footer .content .flexwrap .ft_nav nav p {
                font-size: 4vw;
                margin: 0; }
                footer .content .flexwrap .ft_nav nav p a {
                  display: block;
                  padding: 2vw 0; } }
    footer .content .copy {
      margin-top: 60px; }
      @media only screen and (max-width: 768px) {
        footer .content .copy {
          margin-top: 6vw; } }
      footer .content .copy p {
        font-size: 12px; }
        @media only screen and (max-width: 768px) {
          footer .content .copy p {
            font-size: 3vw; } }

.totop {
  display: none;
  width: 80px;
  height: 80px;
  background-color: #003480;
  border-radius: 50px;
  position: fixed;
  bottom: 20px;
  right: 20px; }
  @media only screen and (max-width: 768px) {
    .totop {
      width: 50px;
      height: 50px;
      bottom: 4vw;
      right: 2vw; } }
  .totop::before {
    content: "";
    width: 20px;
    height: 20px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -25%) rotate(-45deg); }
    @media only screen and (max-width: 768px) {
      .totop::before {
        width: 12px;
        height: 12px; } }

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