@charset "UTF-8";
/* CSS Document */
/* 引数 */
/* FontSize */
/* FontFamily */
/* Color */
/* 継承元css */
/* flex-flow: row nowrap; */
html {
  font-size: 62.5%; }

/*
font-size: 62.5%
以降rem指定 1rem:10px相当, 2rem:20px相当
*/
body, html, header, footer, section, article, aside, fieldset, div, form, p, address, h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li {
  margin: 0px;
  padding: 0px;
  border: none;
  box-sizing: border-box;
  color: #333;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: normal; }

ul, dl {
  margin: 0px;
  padding: 0px; }

img {
  vertical-align: bottom; }

input[type="text"], input[type="password"] {
  width: 16rem; }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

.auto_width {
  width: 100%;
  height: auto;
  max-height: 100%; }

.auto_height {
  width: 100%;
  height: auto;
  max-width: 100%; }

.auto_size {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%; }

.invisible {
  width: 0px !important;
  height: 0px !important;
  display: none !important; }

a, *:visited {
  color: #333;
  text-decoration: none; }

*:hover {
  text-decoration: none; }

html, body {
  width: 100%; }

html {
  position: relative; }

body {
  min-height: 100vh;
  overflow-x: hidden; }

/* PC＆タブレトット基本 */
@media screen and (min-width: 920px) {
  .sp {
    display: none; }

  #wrap {
    width: 90vw;
    margin: 0px auto;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 3px 3px 10px 5px #444444;
    overflow: auto; }

  header .pc {
    width: 100%;
    height: 11rem; }

  header .catchcopy {
    height: 1.6rem;
    font-size: 1.2rem;
    padding: 0.2rem 2rem;
    box-sizing: content-box;
    background-color: #f9f9f9; }

  header .logo_address {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    padding: 0rem 0rem 1rem 0rem; }

  header .logo {
    width: 65%;
    height: 8rem; }
    header .logo img {
      height: 100%; }
    header .logo i, header .logo a {
      margin-left: 2rem;
      color: #16160e;
      font-size: 2.8rem;
      text-decoration: none;
      line-height: 1; }

  header address {
    width: 35%;
    padding-right: 2rem;
    text-align: right; }
    header address p {
      font-size: 1.2rem;
      line-height: 1.2rem; }
    header address p.phone, header address i {
      margin: 0.3rem 0rem;
      color: #008db7;
      font-size: 2.1rem;
      line-height: 2.1rem; }

  footer {
    height: 8rem;
    color: #fff;
    font-size: 1.2rem;
    background-color: rgba(96, 96, 96, 0.85);
    color: #fff;
    text-align: center;
    padding: 3.4rem 0rem; }
    footer div {
      color: #fff; }

  section#title {
    width: 90vw;
    height: 4.0rem;
    margin: 0px auto;
    padding: 0.8rem 2rem;
    color: #fff;
    font-size: 2.4rem;
    line-height: 2.4rem;
    background: #284696; }
    section#title span {
      font-size: 1.8rem; }
    section#title * {
      font-family: A1 Mincho, Times New Roman, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif; }

  section#main {
    min-height: calc(100vh - 11rem - 4rem - 8rem - 13px); }

  #pane-menu {
    width: 21rem;
    float: left; }

  .side_menu {
    background-color: #008db7;
    padding: 0.3rem 0px 0.3rem 1rem;
    font-size: 1.8rem;
    border-bottom: 1px solid #fff;
    cursor: pointer; }
    .side_menu * {
      color: #fff; }

  .menu_name {
    position: relative;
    font-size: 1.8rem; }

  .menu_name::after {
    position: absolute;
    content: "+";
    top: 0;
    right: 1rem; }

  .menu_name.active::after {
    content: "-"; }

  .sub_menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: none; }

  .sub_menu li {
    margin-left: -1rem;
    padding: 0.2rem 0px 0.2rem 2.8rem;
    border-top: 1px solid #fff;
    color: #fff;
    font-size: 1.5rem;
    text-align: left; }

  .sub_menu li a {
    display: block;
    color: #fff;
    text-decoration: none; }

  #pane-optional h2, #pane-optional p {
    font-size: 1.8rem; }
  #pane-optional p.controlls {
    margin: 0.5rem 0px;
    font-size: 1.5rem; }

  input[type="text"], input[type="password"] {
    margin-left: 0.5rem; } }
/* スマートフォン基本 */
@media screen and (max-width: 919px) {
  .pc {
    display: none; }

  #wrap {
    width: 100%;
    margin: 0px;
    background: rgba(255, 255, 255, 0.75);
    min-height: 100vh; }

  header .sp {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    width: calc(100% - 0px);
    height: 6rem;
    margin-right: 0px;
    padding: 0.75rem 0.75rem; }

  header .logo {
    width: 100%; }
    header .logo img {
      width: auto;
      height: auto;
      max-width: calc(100% - 2.5rem - 1.8rem);
      max-height: 4.5rem;
      object-fit: contain;
      object-position: left top; }
    header .logo i, header .logo a {
      color: #16160e;
      font-size: 1.8rem;
      text-decoration: none;
      line-height: 1; }

  footer .sp {
    width: 100%;
    height: 9rem;
    padding: 1.5rem 0px;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.5rem;
    text-align: center;
    background-color: rgba(96, 96, 96, 0.85); }

  footer .sp address {
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.5rem; }

  section#title {
    width: 100vw;
    height: 2.9rem;
    margin: 0rem;
    padding: 0.3rem 0.75rem;
    color: #fff;
    font-size: 2.1rem;
    line-height: 2.4rem;
    background: #284696; }
    section#title span {
      font-size: 1.8rem; }
    section#title * {
      font-family: A1 Mincho, Times New Roman, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif; }

  #main {
    width: 100%;
    min-height: calc(100vh - 6rem - 2.9rem - 9rem);
    padding-top: 1rem;
    position: relative; }
    #main #pane-menu {
      width: 100%;
      margin: 0px;
      padding-left: 2rem;
      left: 0px;
      top: 0px;
      z-index: 1;
      position: absolute;
      display: none;
      background-color: rgba(255, 255, 255, 0.6); }
    #main #pane-body {
      width: 90vw;
      margin: 0rem auto 0rem auto;
      padding: 1rem;
      border: 1px solid #dcdcdc;
      border-radius: 0.8rem;
      background-color: #fff;
      text-align: center; }
    #main #pane-optional {
      width: 90vw;
      margin: 2rem auto 0px auto; }
    #main #pane-menu.openNav {
      display: block; }

  /* ハンバーガーボタン */
  .hamburger {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0.5rem;
    display: block;
    text-align: right;
    cursor: pointer; }

  .hamburger div {
    position: relative; }

  .hamburger span {
    display: block;
    position: absolute;
    width: 100%;
    border-bottom: solid 3px #008db7;
    transition: .35s linear;
    -webkit-transition: .35s linear;
    -moz-transition: .35s linear; }

  .hamburger span:nth-child(1) {
    top: 0; }

  .hamburger span:nth-child(2) {
    top: 1.1rem; }

  .hamburger span:nth-child(3) {
    top: 2.2rem; }

  header.openNav .hamburger span:nth-child(1) {
    transform: translateY(1.1rem) rotate(-45deg);
    -webkit-transform: translateY(1.1rem) rotate(-45deg);
    -moz-transform: translateY(1.1rem) rotate(-45deg); }

  header.openNav .hamburger span:nth-child(2) {
    transform: scaleX(0.1);
    -webkit-transform: scaleX(0.1);
    -moz-transform: scaleX(0.1); }

  header.openNav .hamburger span:nth-child(3) {
    transform: translateY(-1.1rem) rotate(45deg);
    -webkit-transform: translateY(-1.1rem) rotate(45deg);
    -moz-transform: translateY(-1.1rem) rotate(45deg); }

  .side_menu {
    width: 25rem;
    background: #008db7;
    line-height: 2.5rem;
    font-size: 2.1rem;
    color: #fff;
    text-align: left;
    border-bottom: 1px solid #fff;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    cursor: pointer; }
    .side_menu * {
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

  /* -webkit-tap-highlight-color は、タップされた */
  .menu_name {
    padding-left: 1.2rem;
    color: white;
    position: relative;
    font-weight: 500;
    text-align: left; }

  .menu_name * {
    color: #fff; }

  .sub_menu {
    margin: 0px;
    padding: 0;
    list-style: none;
    text-align: left; }

  .sub_menu li {
    padding-left: 1.2rem;
    border-top: 1px dashed #fff;
    color: #fff;
    font-size: 1.8rem; }
    .sub_menu li ::before {
      content: '├ '; }

  .sub_menu li:last-of-type ::before {
    content: '└ '; }

  .sub_menu li a {
    display: block;
    color: #fff;
    text-decoration: none; }

  #pane-optional h2, #pane-optional p {
    font-size: 1.8rem;
    font-weight: 500; }
  #pane-optional p.controlls {
    margin: 0.5rem 0px;
    font-size: 1.5rem; }
  #pane-optional div.selector {
    margin-bottom: 1rem; } }
header, footer {
  width: 100%; }

i.fa-file-pdf {
  color: crimson; }

.btn {
  font-size: 1.8rem;
  padding: 0.6rem 2rem;
  border-style: none;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.25rem; }

.btn {
  display: inline-block;
  border-radius: 0.3rem;
  transition: all 0.2s ease-in-out;
  position: relative;
  overflow: hidden; }
  .btn:before {
    content: "";
    background-color: rgba(255, 255, 255, 0.5);
    height: 100%;
    width: 3rem;
    display: block;
    position: absolute;
    top: 0;
    left: -20rem;
    transform: skewX(-45deg) translateX(0);
    transition: none; }
  .btn:hover {
    cursor: pointer; }
    .btn:hover:before {
      transform: skewX(-45deg) translateX(40rem);
      transition: all 0.5s ease-in-out; }
  .btn:hover[disabled] {
    cursor: default; }
    .btn:hover[disabled]:before {
      transform: skewX(-45deg) translateX(40rem);
      transition: all 0s ease-in-out; }

.btn_s {
  font-size: 1.2rem;
  padding: 0.2rem 0.3rem;
  margin: 0.2rem 0.2rem 0.2rem 0.2rem;
  border-style: none;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1rem; }

.btn_blue {
  color: #fff;
  border: 2px solid #3153b0;
  background-color: #3153b0; }
  .btn_blue:hover {
    color: #fff;
    background-color: #3153b0; }
  .btn_blue * {
    color: #fff; }

.btn_blue1 {
  color: #fff;
  border: 2px solid #008db7;
  background-color: #008db7; }
  .btn_blue1:hover {
    color: #fff;
    background-color: #008db7; }
  .btn_blue1 * {
    color: #fff; }

.btn_blue1[disabled] {
  color: #fff;
  border: 2px solid;
  border-color: #c0c0c0;
  background-color: #c0c0c0; }
  .btn_blue1[disabled] * {
    color: #fff; }

.btn_darkblue1 {
  color: #fff;
  border: 2px solid #3153b0;
  background-color: #3153b0; }
  .btn_darkblue1:hover {
    color: #fff;
    background-color: #3153b0; }
  .btn_darkblue1 * {
    color: #fff; }

.btn_darkblue1[disabled] {
  color: #fff;
  border: 2px solid;
  border-color: #c0c0c0;
  background-color: #c0c0c0; }
  .btn_darkblue1[disabled] * {
    color: #fff; }

.btn_orange {
  color: #fff;
  border: 2px solid #f6ad49;
  background-color: #f6ad49; }
  .btn_orange:hover {
    color: #fff;
    background-color: #f6ad49; }
  .btn_orange * {
    color: #fff; }

.btn_orange[disabled] {
  color: #fff;
  border: 2px solid;
  border-color: #c0c0c0;
  background-color: #c0c0c0; }
  .btn_orange[disabled] * {
    color: #fff; }

p {
  font-size: 2.1rem; }
