@charset "UTF-8";
/* 縦横中央・GRID */
/* テスト用ボーダー 20210116 */
/* テスト用背景色 */
/* ------------------------
 default
------------------------- */
* {
  margin: 0;
  padding: 0;
  font-family: 'メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック'; }

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

/* webfont */
.wf-shingo-m {
  font-family: 'Shin Go Medium'; }

.wf-maru-folk {
  font-family: 'Maru Folk Medium'; }

body {
  font-size: 17px;
  color: #000;
  line-height: 1.5;
  text-align: center; }

/* link */
a {
  text-decoration: none;
  color: #000; }

a:link {
  text-decoration: none; }

a:visited {
  text-decoration: none; }

a:hover,
a:active,
a:focus {
  text-decoration: underline; }

a img {
  border: none; }

a.hv:hover,
a:hover img {
  /* マウスオーバーで背景を透過 */
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }

/* PCでは電話発信しない */
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; } }
img {
  vertical-align: bottom; }

li {
  list-style-type: none; }

.inner h1 {
  font-size: 2.5rem;
  margin: 0 auto;
  padding: 0;
  font-weight: bolder; }
.inner h2 {
  font-size: 1.8rem;
  margin: 0 auto;
  padding: 0;
  font-weight: bolder; }
.inner h3 {
  font-size: 1.5rem;
  margin: 0 auto;
  padding: 0;
  font-weight: bolder; }
.inner .txt {
  font-size: 0.9rem; }
.inner .txt.notes {
  font-size: 0.8rem; }
.inner p {
  font-size: 80%; }
@media only screen and (max-width: 1140px) {
  .inner h1 {
    font-size: 2rem; }
  .inner h2 {
    font-size: 1.5rem; }
  .inner h3 {
    font-size: 1.3rem; } }
@media only screen and (max-width: 1140px) and (max-width: 767px) {
  .inner h1 {
    font-size: 1.5rem; }
  .inner h2 {
    font-size: 1.3rem; }
  .inner h3 {
    font-size: 0.9rem; } }

@media only screen and (max-width: 1140px) and (max-width: 767px) and (max-width: 375px) {
  .inner h1 {
    font-size: 1.3rem; }
  .inner h2 {
    font-size: 1.2rem; }
  .inner h3 {
    font-size: 0.9rem; }
  .inner .txt {
    font-size: 0.9rem; } }

/* ------------------------
 ptop follow
------------------------- */
.ptop {
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 9999;
  display: none; }
  .ptop a {
    display: block;
    color: #ccc;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 0.8rem;
    margin: 0;
    text-decoration: none;
    font-weight: bold;
    font-size: 4rem;
    z-index: 9999; }
  .ptop a:hover {
    color: #3399cc; }
  @media only screen and (max-width: 1140px) {
    .ptop {
      right: 0.7rem;
      bottom: 0.7rem; }
      .ptop a {
        font-size: 2.5rem; } }
  @media only screen and (max-width: 1140px) and (max-width: 767px) {
    .ptop {
      right: 5px;
      bottom: 5px;
      font-size: 1.2rem; }
      .ptop a {
        color: #666; } }

.md {
  display: block; }
  @media only screen and (max-width: 767px) {
    .md {
      display: none; } }

.sp {
  display: none; }
  @media only screen and (max-width: 767px) {
    .sp {
      display: block; } }

.extlink {
  display: block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  margin: 3px;
  background-color: #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #ccc;
  text-align: center;
  font-weight: bold;
  color: #000; }
  .extlink:hover {
    text-decoration: none;
    background-color: #3399cc;
    color: #fff; }
  @media only screen and (max-width: 1140px) {
    .extlink {
      padding: 1.3037809648%;
      -js-display: flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -ms-align-items: center;
      align-items: center;
      -webkit-box-pack: center;
      -moz-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      -ms-justify-content: center;
      justify-content: center; } }

/* 縦横中央・GRID */
/* テスト用ボーダー 20210116 */
/* テスト用背景色 */
/*-----------------------
 default structure
------------------------*/
#header,
#cover,
#nav,
.content,
footer {
  width: 100%;
  text-align: center; }

.header-body,
.cover-body,
.nav-body,
.content-body,
.footer-body {
  width: 767px;
  margin: 0 auto; }
  @media only screen and (max-width: 1140px) {
    .header-body,
    .cover-body,
    .nav-body,
    .content-body,
    .footer-body {
      width: 100%; } }

@media only screen and (max-width: 1140px) {
  .nav-body,
  .content-body,
  .footer-body {
    padding: 0 10px; } }

/* 縦横中央・GRID */
/* テスト用ボーダー 20210116 */
/* テスト用背景色 */
/* ------------------------
 header
------------------------- */
#header {
  background: url(../image/header_bg.jpg) bottom right no-repeat;
  background-size: cover; }

#header .inner {
  width: 767px;
  padding: 0.5em 0; }
  @media only screen and (max-width: 1140px) {
    #header .inner {
      width: 100%;
      padding: 0.5em; } }
  @media only screen and (max-width: 1140px) and (max-width: 767px) {
    #header .inner {
      padding: 10px; } }

#header .inner .img {
  width: 100%;
  text-align: center; }
  @media only screen and (max-width: 1140px) {
    #header .inner .img {
      text-align: left; } }

#header .inner .img img {
  width: auto; }
  @media only screen and (max-width: 1140px) {
    #header .inner .img img {
      width: 80%; } }

/* 縦横中央・GRID */
/* テスト用ボーダー 20210116 */
/* テスト用背景色 */
/* ------------------------
 nav
------------------------- */
/* 縦横中央・GRID */
/* テスト用ボーダー 20210116 */
/* テスト用背景色 */
/* ------------------------
 cover
------------------------- */
#cover {
  width: 100%;
  margin: 0 auto;
  text-align: center; }

#cover .inner {
  width: 767px;
  margin: 0 auto; }
  @media only screen and (max-width: 1140px) {
    #cover .inner {
      width: 100%; } }

#cover .inner .cover-txt {
  text-align: center;
  padding: 2em 1em; }

#cover .inner .cover-txt .pagettl {
  margin-bottom: 0.5em; }

#cover .inner .cover-txt .pagettl img {
  width: 90%;
  height: auto; }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  #cover .inner .cover-txt .pagettl img {
    width: 95%;
    height: auto; } }

#cover .inner .cover-txt .desc {
  color: #000;
  text-shadow: 0.02em 0.02em 0 #000;
  padding: 0.2em 0; }

#cover .inner .cover-txt .desc {
  font-size: 18px; }
  @media only screen and (max-width: 1140px) {
    #cover .inner .cover-txt .desc {
      font-size: 2.3468057366%; } }
  @media only screen and (max-width: 1140px) and (max-width: 1024px) {
    #cover .inner .cover-txt .desc {
      font-size: 1.7578125vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    #cover .inner .cover-txt .desc {
      font-size: 110%; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    #cover .inner .cover-txt .desc {
      font-size: 110%; } }

#cover .inner .cover-txt .desc span {
  display: inline-block;
  margin-right: 0.5em; }
  #cover .inner .cover-txt .desc span:last-of-type {
    margin-right: 0; }

/* font-size */
#cover .inner .cover-txt .desc:nth-of-type(1),
#cover .inner .cover-txt .desc:nth-of-type(2) {
  font-size: 25px; }
  @media only screen and (max-width: 1140px) {
    #cover .inner .cover-txt .desc:nth-of-type(1),
    #cover .inner .cover-txt .desc:nth-of-type(2) {
      font-size: 3.259452412%; } }
  @media only screen and (max-width: 1140px) and (max-width: 1024px) {
    #cover .inner .cover-txt .desc:nth-of-type(1),
    #cover .inner .cover-txt .desc:nth-of-type(2) {
      font-size: 2.44140625vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    #cover .inner .cover-txt .desc:nth-of-type(1),
    #cover .inner .cover-txt .desc:nth-of-type(2) {
      font-size: 130%; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    #cover .inner .cover-txt .desc:nth-of-type(1),
    #cover .inner .cover-txt .desc:nth-of-type(2) {
      font-size: 110%; } }

/* 縦横中央・GRID */
/* テスト用ボーダー 20210116 */
/* テスト用背景色 */
/* ------------------------
 content
------------------------- */
.img img {
  width: 100%;
  height: auto; }

.content {
  margin-bottom: 30px; }
  @media only screen and (max-width: 1140px) {
    .content {
      margin-bottom: 3.9113428944%; } }
  @media only screen and (max-width: 1140px) and (max-width: 1024px) {
    .content {
      margin-bottom: 2.9296875vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    .content {
      margin-bottom: 3.9113428944vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    .content {
      margin-bottom: 8vw; } }

/* 縦横中央・GRID */
/* テスト用ボーダー 20210116 */
/* テスト用背景色 */
/* ------------------------
 footer
------------------------- */
footer {
  background-color: #3399cc;
  color: #fff; }

footer .inner {
  width: 767px;
  padding: 2em 0;
  text-align: center; }
  @media only screen and (max-width: 1140px) {
    footer .inner {
      width: 100%; } }

footer p {
  padding-bottom: 0.5em;
  line-height: 1.6;
  font-size: 120%; }
  @media only screen and (max-width: 767px) {
    footer p {
      font-size: 100%; } }

footer p span {
  display: inline-block; }

footer .name {
  font-weight: bold; }
