/*--------------------------------
	header
--------------------------------*/
header {
  position: relative;
  padding: 20px 40px;
  z-index: 99; }
  header.top {
    height: 900px; }
  header.sub {
    background: url("/img/common/sv.png") center center no-repeat;
    background-size: cover;
    height: 500px; }
  header .wrap {
    position: relative;
    z-index: 1; }
    header .wrap .top {
      display: -webkit-box;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      justify-content: space-between;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      -webkit-box-pack: justify; }
      header .wrap .top h1 a {
        display: inline-block; }
      header .wrap .top .info {
        display: -webkit-box;
        display: flex;
        display: -webkit-flex;
        display: -ms-flexbox;
        justify-content: flex-end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        -webkit-box-pack: end; }
        header .wrap .top .info .contact, header .wrap .top .info .sns {
          display: -webkit-box;
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox; }
        header .wrap .top .info .contact article {
          height: 50px;
          border: solid 1px #fff;
          display: -webkit-box;
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          align-items: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          -webkit-box-align: center; }
          header .wrap .top .info .contact article:last-child {
            margin-left: 20px; }
        header .wrap .top .info .contact p {
          min-width: 50px;
          height: 100%;
          background: #114f5c;
          display: -webkit-box;
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          justify-content: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          -webkit-box-pack: center;
          align-items: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          -webkit-box-align: center; }
        header .wrap .top .info .contact a {
          color: #fff;
          line-height: 14px;
          padding: 0 20px; }
          header .wrap .top .info .contact a.mail {
            font-size: 14px;
            font-size: 1.4rem; }
        header .wrap .top .info .sns {
          margin-left: 40px;
          display: -webkit-box;
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          align-items: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          -webkit-box-align: center; }
          header .wrap .top .info .sns a:last-child {
            margin-left: 20px; }
    header .wrap .fix-btn {
      position: absolute;
      top: 225px;
      right: -40px;
      display: -webkit-box;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      flex-direction: column;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      align-items: flex-end;
      -webkit-align-items: flex-end;
      -ms-flex-align: end;
      -webkit-box-align: end; }
      header .wrap .fix-btn a {
        border: solid 1px #fff; }
        header .wrap .fix-btn a:last-child {
          margin-top: 10px; }
  header .mv {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    header .mv .slick img {
      height: 900px;
      object-fit: cover;
      font-family: 'object-fit:cover'; }
  header .sv {
    width: 100%;
    margin-top: 140px; }
    header .sv h2 {
      font-family: 'Rozha One', serif;
      color: #fff;
      font-size: 50px;
      font-size: 5rem;
      line-height: 50px;
      letter-spacing: 4px; }
      header .sv h2::before {
        content: '';
        display: inline-block;
        width: 20px;
        height: 5px;
        background: #fff;
        vertical-align: middle;
        margin-right: 20px; }
      header .sv h2 span {
        font-family: 'Noto Sans JP', sans-serif;
        display: block;
        font-size: 20px;
        font-size: 2rem;
        font-weight: 500;
        line-height: 20px;
        margin-top: 30px;
        margin-left: 40px; }
  @media (max-width: 768px) {
    header {
      padding: 10px; }
      header.top {
        height: 500px; }
      header.sub {
        height: 300px; }
        header.sub .fix-btn {
          display: none; }
      header h1 {
        max-width: calc(100% - 65px); }
      header .wrap .top {
        display: block; }
        header .wrap .top .info {
          display: block; }
          header .wrap .top .info .contact {
            margin-top: 30px;
            justify-content: flex-end;
            -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
            -webkit-box-pack: end; }
            header .wrap .top .info .contact article {
              max-width: 50%;
              height: 40px; }
              header .wrap .top .info .contact article:last-child {
                margin-left: 10px; }
            header .wrap .top .info .contact p {
              min-width: 40px; }
            header .wrap .top .info .contact a {
              padding: 0 5px;
              letter-spacing: .5px; }
              header .wrap .top .info .contact a.mail {
                font-size: 13px;
                font-size: 1.3rem; }
          header .wrap .top .info .sns {
            justify-content: flex-end;
            -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
            -webkit-box-pack: end;
            margin-top: 15px; }
      header .wrap .fix-btn {
        top: 160px;
        right: -10px; }
        header .wrap .fix-btn a {
          width: 40px; }
      header .mv .slick img {
        height: 500px; }
      header .sv {
        margin-top: 20px; }
        header .sv h2 {
          font-size: 34px;
          font-size: 3.4rem;
          line-height: 34px;
          letter-spacing: 3px; }
          header .sv h2::before {
            width: 10px;
            height: 4px;
            margin-right: 10px; }
          header .sv h2 span {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 16px;
            margin-top: 20px;
            margin-left: 20px; } }

/*--------------------------------
	nav
--------------------------------*/
nav {
  width: 100%;
  margin-top: 20px; }
  nav ul {
    display: -webkit-box;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox; }
    nav ul li {
      position: relative;
      display: -webkit-box;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox; }
      nav ul li:not(:first-child) {
        margin-left: 40px; }
      nav ul li::before {
        content: '';
        display: inline-block;
        width: 10px;
        height: 4px;
        background: #33b9c8;
        margin-right: 10px;
        vertical-align: top;
        margin-top: 6px; }
      nav ul li a {
        line-height: 16px;
        color: #fff !important;
        letter-spacing: 3.5px;
        position: relative;
        z-index: 1; }
      nav ul li span {
        display: block;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 14px;
        letter-spacing: 1.5px;
        margin-top: 10px; }
      nav ul li:hover a {
        color: #fff !important; }
  @media (max-width: 768px) {
    nav #gnav {
      background: #114f5c; }
    nav ul {
      display: block;
      margin-top: 60px;
      padding: 0 40px; }
      nav ul li {
        display: block;
        width: 100%;
        border-bottom: solid 1px #33b9c8; }
        nav ul li:not(:first-child) {
          margin-left: 0; }
        nav ul li::before {
          content: none; }
        nav ul li a {
          padding: 15px 0;
          text-align: center; }
        nav ul li span {
          font-size: 12px;
          font-size: 1.2rem;
          margin-left: 0;
          margin-top: 5px; } }

/*--------------------------------
	navi sp
--------------------------------*/
#menu-btn {
  display: none; }

@media (max-width: 768px) {
  #menu-btn {
    display: block;
    background: #114f5c;
    position: fixed;
    top: 0;
    right: 0;
    height: 60px;
    width: 60px;
    z-index: 999;
    transition: .2s;
    cursor: pointer; }
    #menu-btn span {
      background: #fff;
      border: none;
      height: 4px;
      width: 40px;
      margin: auto;
      border-radius: 3px;
      position: absolute;
      top: 15px;
      right: 0;
      left: 0;
      transition: .2s; }
      #menu-btn span:nth-of-type(2) {
        top: 28px; }
      #menu-btn span:nth-of-type(3) {
        top: 41px; }
    #menu-btn.active .top {
      -webkit-transform: translateY(14px) translateX(0) rotate(45deg);
      transform: translateY(14px) translateX(0) rotate(45deg); }
    #menu-btn.active .middle {
      opacity: 0; }
    #menu-btn.active .bottom {
      -webkit-transform: translateY(-12px) translateX(0) rotate(-45deg);
      transform: translateY(-12px) translateX(0) rotate(-45deg); }

  #gnav {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 998;
    transition: .4s;
    opacity: 0;
    visibility: hidden !important;
    overflow: hidden; }
    #gnav.active {
      opacity: 1;
      visibility: visible !important;
      overflow: visible; } }
/*--------------------------------
	footer
--------------------------------*/
footer {
  background: url("/img/common/footer-bg.png") center center no-repeat;
  background-size: cover;
  padding: 100px 0;
  position: relative;
  color: #fff; }
  footer .ctn {
    position: relative; }
  footer .logo {
    margin-bottom: 60px; }
    footer .logo a {
      display: inline-block; }
  footer .wrap {
    display: -webkit-box;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start; }
  footer .info {
    width: 490px;
    max-width: 100%; }
    footer .info p {
      line-height: 30px; }
    footer .info p:not(:first-child), footer .info article:not(:first-child) {
      margin-top: 20px; }
    footer .info p a:last-child, footer .info article a:last-child {
      margin-top: 20px; }
    footer .info .button a {
      border-color: #fff; }
  footer ul {
    width: 320px;
    max-width: 100%;
    display: -webkit-box;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    footer ul li {
      width: 50%; }
      footer ul li:not(:last-child) {
        margin-bottom: 30px; }
      footer ul li a {
        display: inline-block; }
        footer ul li a::before {
          content: '';
          display: inline-block;
          width: 5px;
          height: 1px;
          background: #fff;
          vertical-align: middle;
          margin-right: 5px; }
        footer ul li a:hover {
          color: #fff; }
  footer .sns {
    position: absolute;
    right: 0;
    bottom: 0;
    display: -webkit-box;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox; }
    footer .sns a {
      width: 40px;
      height: 40px;
      border: solid 1px #fff;
      display: -webkit-box;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      justify-content: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      -webkit-box-pack: center;
      align-items: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      -webkit-box-align: center; }
      footer .sns a:last-child {
        margin-left: 20px; }
  @media (max-width: 768px) {
    footer {
      padding: 80px 0; }
      footer .wrap {
        display: block; }
      footer .info {
        width: auto;
        display: table;
        margin: 0 auto; }
        footer .info .button a {
          width: 100%; }
      footer ul {
        width: 100%;
        max-width: 490px;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        border: solid 2px #fff;
        margin: 0 auto;
        margin-top: 40px; }
        footer ul li {
          width: 50%;
          flex-grow: 0;
          border-bottom: solid 1px #fff; }
          footer ul li:not(:last-child) {
            margin-bottom: 0; }
          footer ul li:first-child a {
            text-align: center; }
          footer ul li:first-child a {
            text-align: center; }
          footer ul li:last-child {
            border-bottom: none; }
          footer ul li:nth-child(odd) {
            border-right: solid 1px #fff; }
          footer ul li a {
            display: block;
            text-align: center;
            padding: 10px 15px;
            font-size: 13px;
            font-size: 1.3rem; }
            footer ul li a::before {
              content: none; }
        footer ul li + li {
          border-left: none; }
      footer .sns {
        position: static;
        justify-content: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        -webkit-box-pack: center;
        margin-top: 40px; } }

small {
  background: #114f5c;
  display: block;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 200;
  padding: 10px;
  text-align: center; }
  small span, small a {
    font-size: 12px;
    font-size: 1.2rem;
    display: inline-block; }
  small a {
    margin: 0 5px;
    text-decoration: underline; }
  @media (max-width: 768px) {
    small {
      font-size: 10px;
      font-size: 1rem;
      letter-spacing: 0; }
      small span, small a {
        font-size: 10px;
        font-size: 1rem;
        letter-spacing: 0; } }

/*--------------------------------
	br
--------------------------------*/
@media (max-width: 768px) {
  .br::after {
    content: "\a";
    white-space: pre; } }
/*--------------------------------
	breadcrumbs
--------------------------------*/
main {
  position: relative; }

.wrap-breadcrumb {
  max-width: calc(100% - 20px);
  position: absolute;
  top: 25px;
  left: 25px;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  overflow: auto;
  white-space: nowrap; }
  @media (max-width: 768px) {
    .wrap-breadcrumb {
      top: 15px;
      left: 15px; } }

.breadcrumb-ellipsis {
  font-family: 'Yu Gothic','YuGothic', 'Noto Sans JP', sans-serif;
  font-weight: 500;
  background: none;
  margin-bottom: 0;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }
  .breadcrumb-ellipsis a, .breadcrumb-ellipsis li {
    color: #888;
    font-size: 14px;
    font-size: 1.4rem; }
  .breadcrumb-ellipsis a {
    display: inline;
    text-decoration: underline; }
    .breadcrumb-ellipsis a:hover {
      text-decoration: underline; }
  @media (max-width: 768px) {
    .breadcrumb-ellipsis {
      font-weight: 400;
      padding: 5px 5px 0 5px; }
      .breadcrumb-ellipsis a, .breadcrumb-ellipsis li {
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0; } }

.breadcrumb-ellipsis .breadcrumb-item {
  display: inline; }

/*--------------------------------
	pagenation
--------------------------------*/
.pagenation {
  display: -webkit-box;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  margin-top: 50px; }
  .pagenation li {
    margin: 0 .5%;
    text-align: center; }
    .pagenation li a {
      width: 30px;
      text-align: center;
      background: #fff;
      border: solid 1px #ccc;
      line-height: 3rem; }
  .pagenation .current {
    background: #ccc;
    color: #fff;
    border: solid 1px #ccc;
    width: 30px;
    text-align: center;
    line-height: 3rem; }
  @media (max-width: 768px) {
    .pagenation {
      margin-top: 30px; } }

/*--------------------------------
	pager
--------------------------------*/
.pager {
  display: -webkit-box;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  position: relative;
  border-top: solid 1px #ddd;
  padding-bottom: 40px; }
  .pager li {
    padding: 0;
    position: absolute;
    top: 20px; }
    .pager li a {
      color: rgba(0, 0, 0, 0.7);
      font-family: 'Yu Gothic','YuGothic', 'Noto Sans JP', sans-serif;
      font-weight: 500;
      font-size: 15px;
      font-size: 1.5rem;
      display: inline-block;
      text-decoration: underline; }
  .pager .prev {
    left: 0;
    z-index: 1; }
    .pager .prev a::before {
      font-family: "Font Awesome 5 Free";
      content: '\f053';
      font-weight: 900;
      margin-right: 15px; }
  .pager .next {
    right: 0;
    z-index: 1; }
    .pager .next a::after {
      font-family: "Font Awesome 5 Free";
      content: '\f054';
      font-weight: 900;
      margin-left: 15px; }
  .pager .back {
    right: 0;
    left: 0;
    margin: 0 auto; }
    .pager .back a {
      display: table;
      margin: 0 auto; }
  @media (max-width: 768px) {
    .pager li a {
      color: #888;
      font-size: 12px;
      font-size: 1.2rem;
      font-weight: 400; } }

/*--------------------------------
	site map
--------------------------------*/
#sub.map ul li {
  border-bottom: solid 1px #ddd; }
  #sub.map ul li a {
    display: inline-block;
    color: #000;
    padding: 15px 20px; }
    #sub.map ul li a::before {
      font-family: "Font Awesome 5 Free";
      content: '\f105';
      font-weight: 900;
      display: inline-block;
      vertical-align: middle;
      margin-right: 10px; }
@media (max-width: 768px) {
  #sub.map ul a {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 12px 15px; } }

/*--------------------------------
	privacy
--------------------------------*/
#sub.privacy ul li:not(:first-child) {
  margin-top: 40px; }
#sub.privacy ul li p {
  margin-top: 15px; }

/*--------------------------------
fix-btn
--------------------------------*/
#fix-btn {
  position: fixed;
  right: 20px;
  bottom: 0;
  z-index: 90;
  transition: none;
  border: solid 1px #fff; }
  #fix-btn a:not(:first-child) {
    border-top: solid 1px #fff; }
  #fix-btn img {
    transition: none; }
  @media (max-width: 768px) {
    #fix-btn {
      right: 10px;
      width: 40px;
      border: solid 1px #fff; }
      #fix-btn a:not(:last-child) {
        border: none;
        margin-bottom: 0; }
      #fix-btn a:not(:first-child) {
        border-top: solid 1px #fff; } }

.top-10 {
  margin-top: 10px; }

.top-20 {
  margin-top: 20px; }

.top-30 {
  margin-top: 30px; }

.top-40 {
  margin-top: 40px; }

.top-50 {
  margin-top: 50px; }

.top-60 {
  margin-top: 60px; }

.top-70 {
  margin-top: 70px; }

.top-80 {
  margin-top: 80px; }

.top-90 {
  margin-top: 90px; }

.top-100 {
  margin-top: 100px; }

.bottom-10 {
  margin-bottom: 10px; }

.bottom-20 {
  margin-bottom: 20px; }

.bottom-30 {
  margin-bottom: 30px; }

.bottom-40 {
  margin-bottom: 40px; }

.bottom-50 {
  margin-bottom: 50px; }

.bottom-60 {
  margin-bottom: 60px; }

.bottom-70 {
  margin-bottom: 70px; }

.bottom-80 {
  margin-bottom: 80px; }

.bottom-90 {
  margin-bottom: 90px; }

.bottom-100 {
  margin-bottom: 100px; }

.right-10 {
  margin-right: 10px; }

.right-20 {
  margin-right: 20px; }

.right-30 {
  margin-right: 30px; }

.right-40 {
  margin-right: 40px; }

.right-50 {
  margin-right: 50px; }

.left-10 {
  margin-left: 10px; }

.left-20 {
  margin-left: 20px; }

.left-30 {
  margin-left: 30px; }

.left-40 {
  margin-left: 40px; }

.left-50 {
  margin-left: 50px; }

@media (max-width: 768px) {
  .top-10 {
    margin-top: 5px; }

  .top-20 {
    margin-top: 10px; }

  .top-30 {
    margin-top: 15px; }

  .top-40 {
    margin-top: 20px; }

  .top-50 {
    margin-top: 25px; }

  .top-60 {
    margin-top: 30px; }

  .top-70 {
    margin-top: 35px; }

  .top-80 {
    margin-top: 40px; }

  .top-90 {
    margin-top: 45px; }

  .top-100 {
    margin-top: 50px; }

  .bottom-10 {
    margin-bottom: 5px; }

  .bottom-20 {
    margin-bottom: 10px; }

  .bottom-30 {
    margin-bottom: 15px; }

  .bottom-40 {
    margin-bottom: 20px; }

  .bottom-50 {
    margin-bottom: 25px; }

  .bottom-60 {
    margin-bottom: 30px; }

  .bottom-70 {
    margin-bottom: 35px; }

  .bottom-80 {
    margin-bottom: 40px; }

  .bottom-90 {
    margin-bottom: 45px; }

  .bottom-100 {
    margin-bottom: 50px; }

  .right-10 {
    margin-right: 5px; }

  .right-20 {
    margin-right: 10px; }

  .right-30 {
    margin-right: 15px; }

  .right-40 {
    margin-right: 20px; }

  .right-50 {
    margin-right: 25px; }

  .left-10 {
    margin-left: 5px; }

  .left-20 {
    margin-left: 10px; }

  .left-30 {
    margin-left: 15px; }

  .left-40 {
    margin-left: 20px; }

  .left-50 {
    margin-left: 25px; } }
a, img {
  transition: .4s; }

.center {
  text-align: center; }

.auto {
  margin: auto; }

.gothic {
  font-family: 'Quicksand','Yu Gothic','YuGothic','Noto Sans JP', sans-serif; }

.mincho {
  font-family: 'Noto Serif JP', serif; }

.maru {
  font-family: 'M PLUS Rounded 1c', sans-serif; }

.fle {
  display: -webkit-box;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox; }

.fle-wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.fle-column {
  flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal; }

.fle-x-center {
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-pack: center; }

.fle-x-between {
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify; }

.fle-x-around {
  justify-content: space-around;
  -webkit-justify-content: space-around;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify; }

.fle-x-right {
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  -webkit-box-pack: end; }

.fle-x-left {
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  -webkit-box-pack: start; }

.fle-x-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.fle-y-start {
  align-items: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start; }

.fle-y-end {
  align-items: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  -webkit-box-align: end; }

.fle-y-center {
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center; }

.fle-y-reverse {
  flex-direction: row-reverse;
  -ms-flex-direction: column-reverse;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse; }

/*# sourceMappingURL=common.css.map */
