@charset "UTF-8";
/* CSS Document */
/* CSS Document */
/*$gothic :noto-sans-cjk-jp;

$garamond: adobe-garamond-pro;*/
/*
@media screen and (min-width: $bk-md) {
@media screen and (min-width: $bk-lg) {
@media screen and (min-width: $bk-xl) {
@include containerWidth();
*/
html {
  font-size: 10px; }

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500; }

a {
  color: #044995; }

a:hover {
  color: #38abff; }

p {
  font-size: 1.4rem; }

* {
  list-style: none;
  font-feature-settings: "palt" 1; }

ul {
  margin-bottom: 0px; }

a:link, a:visited, a img {
  text-decoration: none;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  /*transition:all の場合　印刷時にバグることがある*/
  -webkit-backface-visibility: hidden;
  /* 追加 */
  backface-visibility: hidden; }

a:hover {
  text-decoration: none; }

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )"; }

.ankerPoint {
  padding-top: 108px;
  margin-top: -108px; }

/*============================
#globalHeader
============================*/
header#globalHeader {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  position: fixed;
  z-index: 10000;
  background-image: url("../../img/cmn/header_back.png");
  background-position: center top;
  background-repeat: repeat-x;
  padding-top: 10px;
  top: 0;
  left: 0; }
  @media screen and (min-width: 768px) {
    header#globalHeader {
      /*max-width: 720px;*/ } }
  @media screen and (min-width: 992px) {
    header#globalHeader {
      max-width: 1110px; } }
  @media screen and (min-width: 1200px) {
    header#globalHeader {
      max-width: 1110px; } }
  @media screen and (min-width: 768px) {
    header#globalHeader {
      /*position: relative;*/
      left: 50%;
      transform: translateX(-50%); } }
  header#globalHeader h1 {
    margin: 0;
    padding: 0;
    line-height: 100%;
    width: 120px; }
    header#globalHeader h1 a {
      display: block; }
  header#globalHeader p.headTxt {
    font-size: 1rem;
    line-height: 1.4em;
    padding-top: 1.2em;
    width: 100%; }
    @media screen and (min-width: 768px) {
      header#globalHeader p.headTxt {
        font-size: 1.0rem;
        position: absolute;
        top: -2px;
        left: 145px;
        width: 50%; } }
    header#globalHeader p.headTxt br {
      display: none; }
      @media screen and (min-width: 768px) {
        header#globalHeader p.headTxt br {
          display: inline; } }
  header#globalHeader p.tel {
    margin: 0;
    padding: 0;
    line-height: 100%;
    position: absolute;
    width: 120px;
    height: auto;
    top: 16px;
    left: 145px; }
    @media screen and (min-width: 768px) {
      header#globalHeader p.tel {
        top: 10px;
        left: auto;
        right: 15px;
        width: 188px; } }
  header#globalHeader img {
    width: 100%;
    height: auto;
    display: block; }
  header#globalHeader.menuOpen {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto; }

/*============================
a.opn_nav
============================*/
a.opn_nav {
  position: absolute;
  top: 0px;
  right: 0px;
  display: block;
  width: 60px;
  height: 47px;
  line-height: 47px;
  font-size: 3.0rem;
  text-align: center; }
  @media screen and (min-width: 768px) {
    a.opn_nav {
      display: none; } }
  a.opn_nav.active i.fa-bars:before {
    content: "\f00d"; }

/*============================
#mainMenu
============================*/
nav#mainMenu {
  display: none;
  background-color: #fff; }
  @media screen and (min-width: 768px) {
    nav#mainMenu {
      display: block !important;
      background-color: rgba(255, 255, 255, 0); } }
  nav#mainMenu ul {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc; }
    @media screen and (min-width: 768px) {
      nav#mainMenu ul {
        flex-wrap: nowrap;
        border-top: 0px solid #ccc;
        border-left: 0px solid #ccc;
        padding-top: 42px; } }
    nav#mainMenu ul li {
      width: 100%;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc; }
      @media screen and (min-width: 768px) {
        nav#mainMenu ul li {
          border-right: 0px solid #ccc;
          border-bottom: 0px solid #ccc; } }
      @media screen and (min-width: 768px) {
        nav#mainMenu ul li:nth-of-type(n+7) {
          display: none; } }
      @media screen and (min-width: 768px) {
        nav#mainMenu ul li:nth-of-type(1) {
          width: calc(100% / 12); } }
      @media screen and (min-width: 768px) {
        nav#mainMenu ul li:nth-of-type(1) a {
          border-bottom: 3px solid #bbbcbc; } }
      @media screen and (min-width: 768px) {
        nav#mainMenu ul li:nth-of-type(n+2) {
          width: calc((100% - (100% / 12)) / 5);
          border-left: 1px solid #999; } }
      nav#mainMenu ul li:nth-of-type(2) a:after, nav#mainMenu ul li:nth-of-type(3) a:after, nav#mainMenu ul li:nth-of-type(4) a:after {
        content: "\f078";
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease; }
      nav#mainMenu ul li:nth-of-type(2) a.active:after, nav#mainMenu ul li:nth-of-type(3) a.active:after, nav#mainMenu ul li:nth-of-type(4) a.active:after {
        transform: rotateX(180deg) translate(0px, 7px); }
      nav#mainMenu ul li:nth-of-type(2) ul li a:after, nav#mainMenu ul li:nth-of-type(3) ul li a:after, nav#mainMenu ul li:nth-of-type(4) ul li a:after {
        content: "\f054"; }
      nav#mainMenu ul li:nth-of-type(2) ul li.active:after, nav#mainMenu ul li:nth-of-type(3) ul li.active:after, nav#mainMenu ul li:nth-of-type(4) ul li.active:after {
        transform: rotateX(0deg) translate(0px, 0px); }
      nav#mainMenu ul li a {
        width: 100%;
        display: block;
        padding: 1.5em 0.5em;
        font-size: 1.4rem;
        text-align: left;
        position: relative;
        line-height: 1em;
        background-color: #fff; }
        nav#mainMenu ul li a:after {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          display: block;
          line-height: 1.0;
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          content: "\f054";
          right: 5px;
          width: 14px;
          height: 14px;
          text-align: right; }
          @media screen and (min-width: 768px) {
            nav#mainMenu ul li a:after {
              display: none; } }
        @media screen and (min-width: 768px) {
          nav#mainMenu ul li a {
            -webkit-transition: all 0.3s ease;
            -moz-transition: all 0.3s ease;
            -o-transition: all 0.3s ease;
            transition: all 0.3s ease;
            color: #000;
            text-align: center;
            font-size: 1.2rem;
            padding: 0em;
            line-height: 2.7rem;
            border-bottom: 3px solid #044995;
            /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,bbbcbc+100 */
            background: #ffffff;
            /* Old browsers */
            background: -moz-linear-gradient(top, #ffffff 0%, #bbbcbc 100%);
            /* FF3.6-15 */
            background: -webkit-linear-gradient(top, #ffffff 0%, #bbbcbc 100%);
            /* Chrome10-25,Safari5.1-6 */
            background: linear-gradient(to bottom, #ffffff 0%, #bbbcbc 100%);
            /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#bbbcbc', GradientType=0);
            /* IE6-9 */ } }
        @media screen and (min-width: 768px) {
          nav#mainMenu ul li a:hover {
            color: #38abff;
            /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ededed+100 */
            background: #ffffff;
            /* Old browsers */
            background: -moz-linear-gradient(top, #ffffff 0%, #ededed 100%);
            /* FF3.6-15 */
            background: -webkit-linear-gradient(top, #ffffff 0%, #ededed 100%);
            /* Chrome10-25,Safari5.1-6 */
            background: linear-gradient(to bottom, #ffffff 0%, #ededed 100%);
            /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed', GradientType=0);
            /* IE6-9 */ } }
      nav#mainMenu ul li ul {
        display: none;
        border-left: 0px;
        flex-wrap: wrap; }
        @media screen and (min-width: 768px) {
          nav#mainMenu ul li ul {
            padding-top: 0px;
            border-right: 1px solid #ccc; } }
        nav#mainMenu ul li ul li {
          border-right: 0px; }
          @media screen and (min-width: 768px) {
            nav#mainMenu ul li ul li {
              width: 100% !important;
              border-bottom: 0px solid #bbbcbc !important;
              border-left: 0px solid #bbbcbc !important; } }
          nav#mainMenu ul li ul li a {
            padding: 1.0em 0.5em 1.0em 1.5em;
            background-color: #f5f5f5; }
            @media screen and (min-width: 768px) {
              nav#mainMenu ul li ul li a {
                width: 100% !important;
                border-bottom: 1px solid #fff !important;
                background-color: #044995;
                background: #044995;
                color: #fff;
                padding: 0.5em 0.5em 0.5em 0.5em;
                line-height: 1.6em; } }
          nav#mainMenu ul li ul li:last-of-type {
            border-bottom: 0px; }

/*============================
#subMenu
============================*/
div#subMenu {
  display: none; }
  @media screen and (min-width: 768px) {
    div#subMenu {
      display: block;
      position: absolute;
      top: 50px;
      right: 15px; } }
  @media screen and (min-width: 768px) {
    div#subMenu ul {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      -webkit-justify-content: flex-end;
      -ms-flex-pack: flex-end;
      justify-content: flex-end;
      -webkit-align-content: stretch;
      -ms-flex-line-pack: stretch;
      align-content: stretch;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center; } }
  div#subMenu ul li a {
    color: #000;
    padding: 0 1em;
    font-size: 1.2rem;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc; }
    div#subMenu ul li a:hover {
      color: #38abff; }

/*============================
#mainContents
============================*/
main#mainContents {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 86px; }
  @media screen and (min-width: 768px) {
    main#mainContents {
      /*max-width: 720px;*/ } }
  @media screen and (min-width: 992px) {
    main#mainContents {
      max-width: 1110px; } }
  @media screen and (min-width: 1200px) {
    main#mainContents {
      max-width: 1110px; } }
  @media screen and (min-width: 768px) {
    main#mainContents {
      padding-top: 108px; } }

/*============================
#pageHead
============================*/
section#pageHead {
  margin-top: 30px; }
  @media screen and (min-width: 768px) {
    section#pageHead {
      margin-bottom: 30px; } }
  section#pageHead h1 {
    text-align: center;
    font-weight: bold; }
  section#pageHead p {
    text-align: center;
    font-size: 1.6em; }
    section#pageHead p:before, section#pageHead p:after {
      content: "－";
      padding: 0 0.2em; }

section.contentsInner {
  margin-bottom: 60px; }
  section.contentsInner h1 {
    text-align: center;
    border-bottom: 5px solid #ccc;
    font-size: 2.1rem;
    margin-bottom: 1.0em;
    padding-bottom: 0.25em; }

a.arrowBtn {
  display: block;
  background-color: #efefef;
  font-size: 1.6rem;
  font-weight: bold;
  color: #595757;
  padding: 10px;
  position: relative;
  border-bottom: 1px solid #fff;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 768px) {
    a.arrowBtn {
      font-size: 1.9rem;
      height: 76px;
      padding: 10px 20px; } }
  a.arrowBtn:hover {
    background-color: #fafafa; }
  a.arrowBtn.new:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    line-height: 1.0;
    content: "NEW";
    right: 50px;
    width: 3.0rem;
    height: 3.0rem;
    line-height: 3.0rem;
    background-color: #f39800;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    font-size: 1.0rem; }
    @media screen and (min-width: 768px) {
      a.arrowBtn.new:before {
        width: 5.0rem;
        height: 5.0rem;
        line-height: 5.0rem;
        font-size: 1.6rem; } }
    @media all and (-ms-high-contrast: none) {
      a.arrowBtn.new:before {
        line-height: 3.5em; } }
  a.arrowBtn:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    line-height: 1.0;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f054";
    right: 10px;
    width: 14px;
    height: 16px;
    text-align: right;
    color: #9182bc;
    text-decoration: none;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    /*transition:all の場合　印刷時にバグることがある*/
    -webkit-backface-visibility: hidden;
    /* 追加 */
    backface-visibility: hidden; }
  a.arrowBtn:hover:after {
    right: 5px; }
  @media screen and (min-width: 768px) {
    a.arrowBtn strong {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      display: block;
      line-height: 1.0; } }
  a.arrowBtn strong span {
    font-size: 1.0rem;
    padding-top: 0.5rem;
    padding-left: 1em; }
    @media screen and (min-width: 768px) {
      a.arrowBtn strong span {
        display: block;
        font-size: 1.6rem;
        padding-left: 0em; } }
    @media screen and (min-width: 768px) {
      a.arrowBtn strong span br {
        display: none; } }

/*============================
#globalFooter
============================*/
footer#globalFooter {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 768px) {
    footer#globalFooter {
      /*max-width: 720px;*/ } }
  @media screen and (min-width: 992px) {
    footer#globalFooter {
      max-width: 1110px; } }
  @media screen and (min-width: 1200px) {
    footer#globalFooter {
      max-width: 1110px; } }

/*============================
#footerNav
============================*/
div#footerNav {
  display: none; }
  @media screen and (min-width: 768px) {
    div#footerNav {
      display: block;
      margin-bottom: 10px; } }
  div#footerNav ul {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    div#footerNav ul li a {
      color: #000;
      padding: 0 1em;
      font-size: 1.0rem;
      border-left: 1px solid #ccc;
      border-right: 1px solid #ccc; }

/*============================
#copyright
============================*/
div#copyright {
  position: relative;
  border-top: 1px solid #044995;
  border-bottom: 3px solid #044995;
  padding: 1.0rem 0; }
  @media screen and (min-width: 992px) {
    div#copyright {
      padding: 2.5rem 0; } }
  div#copyright p {
    font-size: 1.2rem;
    text-align: center; }
    div#copyright p.tel {
      margin: 0 auto;
      width: 100%;
      max-width: 254px; }
      div#copyright p.tel a {
        display: block; }
      div#copyright p.tel img {
        width: 100%;
        height: auto; }
    @media screen and (min-width: 992px) {
      div#copyright p {
        margin-bottom: 0px; } }

/*============================
#topcontrol
============================*/
#topcontrol {
  opacity: 0;
  transition: 1s;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 1000;
  pointer-events: none; }
  #topcontrol a {
    font-size: 30px;
    display: block;
    background-color: #aaa;
    display: inline-block;
    padding: 0 5px 5px;
    pointer-events: auto;
    opacity: 1; }
    #topcontrol a:before, #topcontrol a:after {
      display: block;
      text-align: center;
      line-height: 1;
      color: #fff;
      font-size: 16px; }
    #topcontrol a:before {
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      content: "\f102";
      font-size: 20px; }
    #topcontrol a:after {
      content: "TOP"; }

.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative; }

.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%; }

#telmain {
  display: none; }
  @media screen and (min-width: 768px) {
    #telmain {
      display: block; } }

#telsp {
  display: block; }
  @media screen and (min-width: 768px) {
    #telsp {
      display: none; } }
