@charset "UTF-8";
/* CSS Document */
/*
@import url("https://fonts.googleapis.com/css2?family=Prompt:wght@300;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
*/
/* author A-ONE 200729 */
body {
/*  font-family: 'Noto Sans JP', 'Yu Gothic', "メイリオ", sans-serif;*/
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: "palt";
  font-weight: 300;
  font-size: 90%;
  color: #000;
  line-heght: 1.8;
  letter-spacing: 0.05em; }

/* link set */
a {
  color: #333;
  text-decoration: none;
  transition: .5s; }

/* base set */
h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  margin: 0; }

p {
  margin: 0 0 1em 0; }

img {
  vertical-align: bottom; }

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

dl {
  margin: 0; }
  dl dt, dl dd {
    margin: 0; }

strong {
  font-weight: bold;
  color: #cc0000; }

figure {
  margin: 0;
  line-height: 0;
  padding: 0; }
  figure img {
    width: 100%; }

.align-c {
  text-align: center; }

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

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

.bk-grey {
  background-color: #f3f3f3; }

.bk-white {
  background-color: #FFF; }

.red {
  color: #cc0000; }

.strong {
  font-weight: 700;
  font-size: 110%; }

.fadein-box {
  opacity: 0;
  transform: translate(0, 80px);
  transition: 1s; }

.fadein-box.fadein-scroll {
  opacity: 1;
  transform: translate(0, 0); }

/* layout set */
header {
  width: 100%;
  position: fixed;
  z-index: 100;
  background-color: #FFF;
  font-size: 100%; }
  header h1 {
    float: left; }
    header h1 img {
      width: 100%; }
  header nav {
    position: relative; }
    header nav ul {
      padding: 0;
      margin: 0;
      text-align: left;
      font-weight: bold; }
      header nav ul a {
        text-decoration: none;
        font-family: 'Prompt', 'Noto Sans JP', sans-serif;
      /*  font-family: 'Prompt', 'Noto Sans JP', 'Yu Gothic',  "メイリオ", sans-serif;*/
      /*  font-family: 'IBM Plex Sans', 'Noto Sans JP', 'Yu Gothic',  "メイリオ", sans-serif;*/
        font-weight: 300; }

article section p, article section dd {
  line-height: 1.6; }

.inner-box,
.inner-box2 {
  margin: 0px auto;
  box-sizing: border-box; }

h2 {
/*  font-family: toppan-bunkyu-midashi-go-std, sans-serif;*/
  font-weight: 900;
  font-style: normal;
  text-align: center; }
  h2 span {
    font-family: 'Prompt', 'Noto Sans JP', sans-serif;
  /*  font-family: 'Prompt', 'Noto Sans JP', 'Yu Gothic',  "メイリオ", sans-serif;*/
  /*  font-family: 'IBM Plex Sans', 'Noto Sans JP',  'Yu Gothic', "メイリオ", sans-serif;*/
    color: #a0a0a0;
    font-weight: 500;
    display: block;
    margin-top: 0.4em; }

h2.h2-cntr {
  color: #000;
  text-align: center; }
  h2.h2-cntr span {
    text-indent: 0; }
    h2.h2-cntr span:before {
      display: none; }

.linkstyle01 {
  display: inline-block;
  padding: 1em 3.5em;
  position: relative;
  background: url(../img/linkstyle01_arr.png) no-repeat 90% center;
  background-size: 0.6em;
  box-sizing: border-box;
  line-height: 1; }
  .linkstyle01:before, .linkstyle01:after {
    content: '';
    width: 2.3em;
    height: 1.6em;
    position: absolute;
    transition: .3s;
    box-sizing: border-box; }
  .linkstyle01:before {
    border-left: solid 2px #333;
    border-top: solid 2px #333;
    top: 0;
    left: 0; }
  .linkstyle01:after {
    border-right: solid 2px #333;
    border-bottom: solid 2px #333;
    bottom: 0;
    right: 0; }
  .linkstyle01:hover:before, .linkstyle01:hover:after {
    width: 100%;
    height: 100%; }

.linkstyle01.white {
  background: url(../img/linkstyle01_arr_white.png) no-repeat 90% center;
  background-size: 0.6em;
  color: #FFF; }
  .linkstyle01.white:before {
    border-left: solid 2px #FFF;
    border-top: solid 2px #FFF; }
  .linkstyle01.white:after {
    border-right: solid 2px #FFF;
    border-bottom: solid 2px #FFF; }

footer .foot-address {
  background-color: #000;
  color: #FFF;
  font-weight: 500;
  line-height: 1.5; }
footer ul li {
  font-family: 'Prompt', 'Noto Sans JP', sans-serif;
/*  font-family: 'Prompt', 'Noto Sans JP', 'Yu Gothic',  "メイリオ", sans-serif;*/
/*  font-family: 'IBM Plex Sans', 'Noto Sans JP', 'Yu Gothic', "メイリオ", sans-serif;*/
  display: inline-block;
/*  font-weight: 700;*/
  letter-spacing: 0.15em;
  line-height: 2.6; }
  footer ul li:first-child {
    margin-right: 30px; }
    footer ul li:first-child:before {
      content: '';
      display: inline-block;
      height: 17px;
      width: 17px;
      margin-right: 10px;
      background-image: url(../img/tel-icon-white.png);
      background-size: cover; }
  footer ul li:last-child a {
    display: block;
    border-radius: 1.3em;
    padding: 0 3.5em;
    color: #FFF;
    letter-spacing: 0.25em;
    background-color: #cc0000;
    position: relative; }
    footer ul li:last-child a:before {
      content: '';
      display: inline-block;
      height: 17px;
      width: 17px;
      background-image: url(../img/mail-icon-white.png);
      background-size: cover;
      position: absolute;
      top: 0.6em;
      left: 10%;
      transition: .5s; }
    footer ul li:last-child a:hover::before {
      background-image: url(../img/mail-icon.png);
      background-size: cover; }
footer .foot-link p {
  font-size: 90%; }
footer .foot-link small {
  text-align: center;
  display: block;
  font-size: 90%; }

#pagetop {
  position: fixed; }
  #pagetop a {
    width: 100%;
    height: 100%; }
    #pagetop a:hover img {
      transform: rotate(5deg); }

/* 下層ページformat */
#pankuzu {
  clear: both;
  padding-bottom: 0px; }
  #pankuzu ul {
    padding-top: 1em; }
    #pankuzu ul li {
      padding-right: 0.5em;
      display: inline-block; }
      #pankuzu ul li:after {
        content: '>';
        display: inline-block;
        margin-left: 0.5em; }
      #pankuzu ul li:last-child::after {
        display: none; }

#page-title {
  text-align: center; }
  #page-title h1 {
    color: #333;
    letter-spacing: 0.3em;
    line-height: 1;
    font-weight: 900;
  /*  font-family: toppan-bunkyu-midashi-go-std, sans-serif;*/
  }

.inpage-link {
  text-align: center;
  padding-top: 0; }
  .inpage-link ul li {
    display: inline-block;
    margin-left: 10px; }
    .inpage-link ul li a {
      padding: 0px 3em;
      line-height: 2.2;
      border: solid 1px #333;
      border-radius: 1.1em;
      display: inline-block;
      position: relative; }
      .inpage-link ul li a:after {
        content: '';
        height: 0.3em;
        width: 0.3em;
        border-right: solid 1px #333;
        border-bottom: solid 1px #333;
        transform: rotate(45deg);
        display: block;
        position: absolute;
        top: 40%;
        right: 1em; }
      .inpage-link ul li a:hover {
        color: #cc0000; }

/* ------------------
 responsive set
------------------ */
@media screen and (min-width: 1081px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; }

  .only-sp {
    display: none; }

  .mB10 {
    margin-bottom: 10px !important; }

  .mB20 {
    margin-bottom: 20px !important; }

  .mB25 {
    margin-bottom: 25px !important; }

  .mB30 {
    margin-bottom: 30px !important; }

  .mB40 {
    margin-bottom: 40px !important; }

  .mB50 {
    margin-bottom: 50px !important; }

  .mB60 {
    margin-bottom: 60px !important; }

  .flex-box {
    display: flex; }

  article section {
    padding: 50px 0px 50px 0px; }

  .inner-box {
    width: 1200px; }

  .inner-box2 {
    width: 840px; }

  header {
    height: 90px; }
    header h1 {
      width: 200px;
      height: 70px; }
    header a:hover {
      color: #cc0000; }
    header nav ul {
      float: left; }
      header nav ul li {
        display: inline-block;
        position: relative;
        padding-left: 40px;
        line-height: 90px;
        font-size: 120%; }
        header nav ul li:last-child {
          margin-right: 0; }
        header nav ul li:before {
          content: '';
          display: block;
          width: 20px;
          height: 2px;
          background-color: #cc0000;
          position: absolute;
          top: 50%;
          left: 10px; }
        header nav ul li:first-child::before {
          display: none; }
    header .header-contact {
      float: right; }
      header .header-contact ul {
        padding-right: 50px; }
        header .header-contact ul li {
          display: inline-block;
          line-height: 90px;
          font-family: 'Prompt', 'Noto Sans JP', sans-serif;
        /*  font-family: 'Prompt', 'Noto Sans JP', 'Yu Gothic',  "メイリオ", sans-serif;*/
        /*  font-family: 'IBM Plex Sans', 'Noto Sans JP',  'Yu Gothic', "メイリオ", sans-serif;*/
          font-weight: 300;
          font-size: 120%; }
          header .header-contact ul li:before {
            content: '';
            display: inline-block;
            height: 17px;
            width: 17px;
            margin-right: 10px; }
          header .header-contact ul li:first-child {
            margin-right: 30px; }
            header .header-contact ul li:first-child:before {
              background-image: url(../img/tel-icon.png);
              background-size: cover; }
          header .header-contact ul li:last-child::before {
            background-image: url(../img/mail-icon.png);
            background-size: cover; }

  h2 {
    font-size: 250%;
    margin-bottom: 35px; }
    h2 span {
      font-size: 60%; }

  footer {
    font-size: 80%;
    overflow: hidden; }
    footer .foot-address {
      padding-top: 2.5em;
      padding-bottom: 2.5em; }
    footer ul {
      float: right; }
      footer ul li {
        font-size: 110%; }
        footer ul li:first-child {
          margin-right: 20px; }
          footer ul li:first-child span {
            font-size: 135%; }
        footer ul li:last-child a:hover {
          background-color: #FFF;
          color: #cc0000; }
    footer .foot-link {
      line-height: 3; }
      footer .foot-link p {
        float: left;
        padding-top: 1em; }
      footer .foot-link small {
        padding-top: 1em; }

  #pagetop {
    right: 20px;
    bottom: 198px; }

  /* 下層ページformat */
  #pankuzu {
    font-size: 80%;
    margin-left: 200px;
    padding-top: 90px; }
    #pankuzu ul {
      padding-left: 40px; }

  #page-title h1 {
    font-size: 150%; } }
@media screen and (max-width: 1224px) {
  .inner-box {
    width: 900px; }

  header {
    font-size: 80%; }
    header nav ul li {
      padding-left: 32px; }
      header nav ul li:before {
        width: 16px;
        left: 8px; } }
@media screen and (max-width: 1080px) {
  .only-pc {
    display: none; }

  body {
    font-size: 90%; }

  .mB10 {
    margin-bottom: 0.6rem !important; }

  .mB20 {
    margin-bottom: 1rem !important; }

  .mB25 {
    margin-bottom: 1.2rem !important; }

  .mB30 {
    margin-bottom: 1.4rem !important; }

  .mB40 {
    margin-bottom: 1.8rem !important; }

  .mB50 {
    margin-bottom: 2.2rem !important; }

  .mB60 {
    margin-bottom: 2.6rem !important; }

  img {
    width: 100%;
    height: auto; }

  article section {
    padding: 3em 0px; }

  .inner-box,
  .inner-box2 {
    width: 86%; }

  header {
    height: 8vh; }
    header h1 {
      height: 8vh; }
      header h1 img {
        height: 100%;
        width: auto; }
    header nav ul li {
      padding-left: 0px; }
      header nav ul li a {
        line-height: 3em;
        border-bottom: solid 1px #CCC;
        display: block;
        text-indent: 1em;
        font-size: 130%; }
    header .header-contact {
      margin-left: 34%; }
      header .header-contact ul {
        margin-top: 2.5vh; }
        header .header-contact ul li {
          letter-spacing: 0.2em;
          display: inline-block;
          line-height: 1; }
          header .header-contact ul li:first-child {
            margin-right: 1em; }
            header .header-contact ul li:first-child:before {
              content: '';
              display: inline-block;
              height: 1.5em;
              width: 1.5em;
              margin-right: 0.5em;
              background-image: url(../img/tel-icon.png);
              background-size: cover; }
          header .header-contact ul li:last-child a {
            display: block;
            height: 1.5em;
            width: 1.5em;
            background-image: url(../img/mail-icon.png);
            background-size: cover; }

  /* bager menu */
  .nav_bg {
    opacity: 0;
    transition: all .6s;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    top: 0;
    left: 0;
    visibility: hidden;
    background-color: #000;
    cursor: pointer;
    position: fixed; }

  /* ハンバーガー */
  header #navi {
    transition: all .6s;
    overflow-y: auto;
    padding-top: 40px;
    width: 70%;
    height: 100vh;
    z-index: 200;
    top: 0;
    right: -70%;
    background-color: #fff;
    position: fixed; }

  header .nav_btn {
    width: 28px;
    height: 30px;
    z-index: 300;
    top: 50%;
    right: 5%;
    position: absolute;
    margin-top: -15px; }

  .hamburger_line {
    transition: all .6s;
    width: 28px;
    height: 2px;
    background-color: #cc0000;
    position: absolute; }

  .hamburger_line1 {
    top: 0px; }

  .hamburger_line2 {
    top: 14px; }

  .hamburger_line3 {
    top: 28px; }

  /* 表示された時用のCSS */
  .nav_open header #navi {
    right: 0; }
  .nav_open .nav_bg {
    opacity: .8;
    visibility: visible; }
  .nav_open .hamburger_line1 {
    transform: rotate(45deg);
    top: 20px; }
  .nav_open .hamburger_line2 {
    width: 0;
    left: 50%; }
  .nav_open .hamburger_line3 {
    transform: rotate(-45deg);
    top: 20px; }

  h2 {
    font-size: 170%;
    margin-bottom: 1em; }
    h2 span {
      font-size: 60%; }

  footer {
    font-size: 90%; }
    footer .foot-address {
      padding-top: 2em;
      padding-bottom: 2em; }
    footer ul li {
      font-size: 100%;
      margin-bottom: 1em; }
      footer ul li:first-child {
        margin-right: 1em; }
        footer ul li:first-child span {
          font-size: 120%; }
    footer .foot-link {
      text-align: center;
      line-height: 2; }

  #pagetop {
    right: 10px;
    bottom: 4em; }

  /* 下層ページformat */
  #pankuzu {
    font-size: 70%;
    padding-top: 8vh; }
    #pankuzu ul {
      padding-left: 3em; }

  #page-title h1 {
    font-size: 130%; }

  .inpage-link ul li {
    margin-bottom: 0.5em; } }
