@charset "UTF-8";
/* CSS Basic Style ---------------------------------------------------------- */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
/* reset elements */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table.table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  font-family: 'Noto Sans Japanese', sans-serif ,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,"ＭＳ Ｐゴシック",sans-serif; }

:focus {
  outline: 0; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  font-weight: normal;
  text-align: left; }

blockquote:before, blockquote:after, q:before, q:after {
  content: ""; }

blockquote, q {
  quotes: "" ""; }

a img {
  border: 0; }

figure {
  margin: 0; }

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

h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  padding: 0px; }

p, hr, blockquote, address, noscript {
  margin: 0px;
  padding: 0px;
  font-style: normal;
  font-weight: normal;
  border: none; 
  text-align: justify;
}

li {
  list-style-type: none; }

table, img {
  border: none; }

em, q, dfn, code, samp, kbd, var, cite, abbr, acronym {
  margin: 0px;
  padding: 0px;
  font-style: normal;
  font-weight: normal; }

hr {
  display: none;
  clear: both; }

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body {
  zoom: 1;
  font-size: 3.2vw;
  line-height: 5.6vw;
  overflow-x: hidden; }
  @media (min-width: 768px) {
    body {
      font-size: 24px;
      line-height: 56px; } }

body:after {
  content: "";
  display: block;
  clear: both; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

a {
  text-decoration: none; }

a:hover img {
  opacity: 0.6; }

* html body {
  overflow: hidden; }

img {
  max-width: 100%;
  border: none; }

.pc {
  display: none; }
  @media (min-width: 768px) {
    .pc {
      display: block; } }

.sp {
  display: block; }
  @media (min-width: 768px) {
    .sp {
      display: none; } }

.clearfix:after {
      visibility: hidden;
      display: block;
      content: "";
      clear: both;
      height: 0; }

* html .clearfix             {
  zoom: 1; }

/* IE6 */
*:first-child + html .clearfix {
  zoom: 1; }

/* IE7 */
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
common
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
.wrap {
  max-width: 1100px;
  margin: 0 auto;
  width: 90%; }

section {
  margin: 0 auto 10vh auto; }
  @media (min-width: 768px) {
    section {
      margin: 0 auto 200px auto; } }

.title {
  border-top: 2px solid #00408f;
  border-bottom: 2px solid #00408f;
  width: 100%;
  margin: 0 auto 3vh auto;
  padding: 1vh 0;
  font-size: 4vw;
  font-weight: bold;
  color: #00408f;
  text-align: center; }
  @media (min-width: 768px) {
    .title {
      margin: 0 auto 50px auto;
      padding: 20px 0;
      font-size: 40px; } }

/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
header
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
#header {
  margin: 1.5vh 4vw 1vh;
  display: flex;
  flex-wrap: nowrap; }
  @media (min-width: 768px) {
    #header {
      margin: 30px 30px 30px 5vw; } }
  #header .logo {
    width: 75%;
    margin: 0 auto 0 0; }
    @media (min-width: 768px) {
      #header .logo {
        width: auto;
        margin: 0; } }
  #header .toggle {
    display: block;
    width: 8%;
    height: auto;
    position: relative; }
    @media (min-width: 768px) {
      #header .toggle {
        display: none; } }
    #header .toggle span {
      position: absolute;
      width: 100%;
      height: 2px;
      left: 0;
      display: block;
      background: #00408f; }
      #header .toggle span:nth-of-type(1) {
        top: 20%; }
      #header .toggle span:nth-of-type(2) {
        top: 45%; }
      #header .toggle span:nth-of-type(3) {
        top: 75%; }

/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
footer
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
#footer .name {
  text-align: center;
  font-size: 5vw;
  font-weight: bold;
  margin: 0 auto 2vh auto; }
  @media (min-width: 768px) {
    #footer .name {
      font-size: 30px;
      margin: 0 auto 20px auto; } }
#footer .address {
  text-align: center;
  font-size: 3.4vw;
  line-height: 4.6vw;
  margin: 0 auto 7vh auto; }
  @media (min-width: 768px) {
    #footer .address {
      font-size: 18px;
      line-height: 30px;
      margin: 0 auto 100px auto; } }
#footer .copyright {
  text-align: center;
  margin: 0 auto 1vh auto; }
  @media (min-width: 768px) {
    #footer .copyright {
      margin: 0 auto 1vh auto; } }
  #footer .copyright address {
    text-align: center;
    font-size: 2.8vw; }
    @media (min-width: 768px) {
      #footer .copyright address {
        font-size: 14px; } }

/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
main
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
main {
  margin: 0 auto 5vh auto; }
  @media (min-width: 768px) {
    main {
      margin: 0 auto; } }
  main img {
    width: 100%; }

#nav {
  background: #00408f;
  padding: 1vh 0;
  position: fixed;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: none;
  top: 0; }
  @media (min-width: 768px) {
    #nav {
      position: relative;
      padding: 20px 0;
      margin: 0 auto 50px auto;
      height: auto;
      display: block; } }
  #nav .toggle_close {
    display: block;
    width: 10%;
    height: 5%;
    position: absolute;
    top: 40px;
    right: 40px; }
    @media (min-width: 768px) {
      #nav .toggle_close {
        display: none; } }
    #nav .toggle_close span {
      position: absolute;
      width: 100%;
      height: 2px;
      left: 0;
      display: block;
      background: #ffffff;
      top: 45%; }
      #nav .toggle_close span:nth-of-type(1) {
        transform: rotate(45deg); }
      #nav .toggle_close span:nth-of-type(2) {
        transform: rotate(-45deg); }
  #nav .nav_list {
    padding: 20vh 0;
    margin: 0 auto;
    width: 60%; }
    @media (min-width: 768px) {
      #nav .nav_list {
        display: flex;
        flex-wrap: wrap;
        padding: 0;
        width: auto; } }
    #nav .nav_list .sub_nav {
      background: #00408f;
      margin-top: 3vh; }
      @media (min-width: 768px) {
        #nav .nav_list .sub_nav {
          display: none;
          position: absolute;
          top: 57px;
          left: 0;
          padding: 0 30px;
          width: 120%;
          margin-top: 0; } }
      #nav .nav_list .sub_nav li {
        width: 100%;
        text-align: left; }
        #nav .nav_list .sub_nav li a {
          font-size: 4.4vw;
          color: #ffffff; }
          @media (min-width: 768px) {
            #nav .nav_list .sub_nav li a {
              font-size: 20px; } }
          #nav .nav_list .sub_nav li a:hover {
            color: #cccccc; }
    #nav .nav_list li {
      margin: 0 0 4vh 0; }
      @media (min-width: 768px) {
        #nav .nav_list li {
          width: 16.5%;
          text-align: center;
          margin: 0; } }
      #nav .nav_list li a {
        font-size: 4.4vw;
        color: #ffffff; }
        @media (min-width: 768px) {
          #nav .nav_list li a {
            font-size: 22px; } }
        #nav .nav_list li a:hover {
          color: #cccccc; }
      #nav .nav_list li div {
        color: #ffffff;
        cursor: pointer;
        position: relative;
        font-size: 4.4vw; }
        @media (min-width: 768px) {
          #nav .nav_list li div {
            font-size: 22px; } }
        #nav .nav_list li div:hover .sub_nav {
          display: block; }

/* --- lead --- */
/* --- overview --- */
#overview .overview_list {
  margin: 3vh auto;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  position: relative; }
  @media (min-width: 768px) {
    #overview .overview_list {
      margin: 50px auto;
      width: 800px; } }
  #overview .overview_list dt {
    width: 29%;
    margin: 0 0 2vh 0;
    text-align: justify;
    text-align-last: justify;
    font-size: 3vw; }
    @media (min-width: 768px) {
      #overview .overview_list dt {
        width: 25%;
        margin: 0 10px 20px 0;
        font-size: 24px; } }
    #overview .overview_list dt::after {
      content: "／"; }
  #overview .overview_list dd {
    width: 71%;
    margin: 0 0 2vh 0;
    font-size: 3vw; }
    @media (min-width: 768px) {
      #overview .overview_list dd {
        width: 73%;
        margin: 0 0 20px 0;
        font-size: 24px; } }
  @media (min-width: 768px) {
    #overview .overview_list::after {
      position: absolute;
      content: "";
      background: url("../images/i_illust01.png") no-repeat center center;
      width: 284px;
      height: 262px;
      right: -170px;
      top: 180px; } }
#overview .photo {
  text-align: center;
  margin: 0 auto 10vh auto; }
  @media (min-width: 768px) {
    #overview .photo {
      margin: 0 auto 100px auto; } }

/* --- chairman --- */
#chairman .chairman_box {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 2vh 0;
  justify-content: center; }
  @media (min-width: 768px) {
    #chairman .chairman_box {
      margin: 0 0 30px 0;
      justify-content: normal; } }
  #chairman .chairman_box figure {
    margin: 0 2vw 0 0;
    width: 40%; }
    @media (min-width: 768px) {
      #chairman .chairman_box figure {
        margin: 0 30px 0 0;
        width: auto; } }
  #chairman .chairman_box .name {
    margin-top: auto;
    width: 40%; }
    #chairman .chairman_box .name span {
      font-size: 3.4vw; }
      @media (min-width: 768px) {
        #chairman .chairman_box .name span {
          font-size: 30px; } }
    @media (min-width: 768px) {
      #chairman .chairman_box .name {
        width: auto; } }
#chairman .management_policy {
  margin: 5vh auto;
  text-align: center;
  font-weight: bold;
  font-size: 4vw;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  line-height: 1.4; }
  @media (min-width: 768px) {
    #chairman .management_policy {
      font-size: 30px;
      margin: 50px auto; } }
  #chairman .management_policy span {
    font-size: 7vw;
    font-family: "Noto Serif JP", serif; }
    @media (min-width: 768px) {
      #chairman .management_policy span {
        font-size: 46px; } }
  #chairman .management_policy ol {
    list-style: disc;
    margin: 0 0 0 2vw; }
    @media (min-width: 768px) {
      #chairman .management_policy ol {
        margin: 0; } }
    #chairman .management_policy ol li {
      margin: 0 0 1vh 2vw;
      list-style: disc; }
      @media (min-width: 768px) {
        #chairman .management_policy ol li {
          margin: 0 0 10px 30px; } }

/* --- information --- */
#information .wrap {
  position: relative; }
  #information .wrap::after {
    content: "";
    position: absolute;
    background: url("../images/i_illust02.png") no-repeat center center;
    width: 30%;
    height: 10%;
    right: 0;
    bottom: -9%;
    background-size: contain; }
    @media (min-width: 768px) {
      #information .wrap::after {
        width: 339px;
        height: 126px;
        bottom: -120px; } }

/* --- contact --- */
#contact .error_list {
  color: #ff0000;
  margin: 0 0 5vh 0; }
  @media (min-width: 768px) {
    #contact .error_list {
      margin: 0 0 50px 0; } }
#contact .sub_title {
  font-size: 3.4vw; }
  @media (min-width: 768px) {
    #contact .sub_title {
      font-size: 30px; } }
#contact .input_box {
  margin: 0 0 3vh 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (min-width: 768px) {
    #contact .input_box {
      margin: 0 0 30px 0; } }
  #contact .input_box input[type="text"], #contact .input_box textarea {
    border: 1px solid #9fa0a0;
    padding: 10px;
    margin: 0 0 1vh 0;
    border-radius: 5px; }
    #contact .input_box input[type="text"]::placeholder, #contact .input_box textarea::placeholder {
      color: #9fa0a0; }
  #contact .input_box .input_name {
    width: 48%; }
  #contact .input_box .input_mail {
    width: 100%; }
  #contact .input_box .textarea {
    width: 100%;
    height: 300px; }
#contact .bt_box {
  text-align: center;
  width: 70%;
  margin: 3vh auto 0 auto; }
  @media (min-width: 768px) {
    #contact .bt_box {
      width: 530px;
      margin: 50px auto 0 auto; } }
  #contact .bt_box .bt {
    text-align: center;
    padding: 10px;
    border: 1px solid #000000;
    width: 100%; }
#contact .bt_confbox {
  text-align: center;
  width: 100%;
  margin: 3vh auto 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (min-width: 768px) {
    #contact .bt_confbox {
      margin: 50px auto 0 auto; } }
  #contact .bt_confbox .bt_back {
    width: 45%; }
    #contact .bt_confbox .bt_back .bt {
      text-align: center;
      padding: 10px;
      border: 1px solid #000000;
      width: 100%; }
  #contact .bt_confbox .bt_thank {
    width: 45%; }
    #contact .bt_confbox .bt_thank .bt {
      text-align: center;
      padding: 10px;
      border: 1px solid #00408f;
      width: 100%;
      background: #00408f;
      color: #ffffff; }
#contact .ti_thank {
  margin: 5vh auto;
  font-size: 4vw;
  font-weight: bold;
  color: #00408f;
  text-align: center; }
  @media (min-width: 768px) {
    #contact .ti_thank {
      margin: 50px auto 100px auto;
      font-size: 30px; } }
#contact .thank_txt {
  margin: 0 0 10vh 0; }
  @media (min-width: 768px) {
    #contact .thank_txt {
      margin: 0 0 150px 0; } }
#contact .bt_index {
  text-align: center;
  width: 70%;
  margin: 3vh auto 0 auto; }
  @media (min-width: 768px) {
    #contact .bt_index {
      width: 530px;
      margin: 50px auto 0 auto; } }
  #contact .bt_index .bt_to_index {
    text-align: center;
    padding: 10px;
    border: 1px solid #000000;
    width: 100%;
    display: block; }
    #contact .bt_index .bt_to_index:hover {
      color: #ffffff;
      background: #00408f; }


.wrap02 {
    width: 380px;
    margin: 0 auto;
    position: absolute;
    top: 15px;
    right: 5vw;
}
@media (max-width: 768px) {
.wrap02 {
  display: none;
}
}

.wrap03 {
  display: none;
}
@media (max-width: 768px) {
.wrap03 {
        width: 180px;
        margin: 0 auto;
        position: absolute;
        top: 10vh;
        right: 4vw;
        z-index: 9999;
        display: block;
    }
}