@charset "UTF-8";
/**
 * ***************************************
 * ページ全体に関わるCSSの設定
 * ***************************************
 */
html *,
::before,
::after {
  box-sizing: border-box;
}
/* フォント */
html {
  font-size: 14px;
}
@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400; /* Noto Sans JPのレギュラーウェイトを指定 */
}
/* おもな太字タグのフォントウェイト設定 */
h1, h2, h3, h4, h5, h6, th, strong {
  font-weight: 700;
}

h1{
	font-size: 150%;
	background-color: #CC99FF;
	margin-top: 5px;
  margin-bottom: 10px;
	padding: 0px;
	border-radius: 7pt;
	text-align: center;
}

h2 {
	font-size: 120%;
	margin-left: 5px;
	margin-right: 5px;
	background-color: #468284;
	padding: 3px;
	text-align: left;
	border-radius: 7pt;
	color: rgb(197, 197, 48);
	text-align: center;
}

h3 {
	font-size: 120%;
	margin-left: 5px;
	margin-right: 5px;
	background-color: #d7d7d2;
	padding: 3px;
	text-align: left;
	border-radius: 7pt;
	color: rgb(14, 14, 1);
	text-align: center;
}


/* ベースのリンクカラー */
a {
  color: #f30;
}

/* レスポンシブイメージと画像下スペース防止 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;/* 画像下のスペースを消す */
}

/**
 * ***************************************
 * ヘッダー
 * ***************************************
 *
 * ヘッダーコンテナ
*/
.page-header {
  border-bottom: 1px solid #f4dcdc;
}
@media (min-width: 768px) {
  .header-container {
    margin: 0 auto;
    padding: 0 0px;
    max-width: 1040px;
  }
}

/* --------------------------*/
#topbox {
	display: flex;
	height: 25x;
	padding: 0px;
	background: #1f0000;
}

#top-banner {
	margin-top: 10px;
	margin-left: 10px;
}

#top-string {
	margin-top: 15px;
	margin-left: 25px;
	font-family: 'メイリオ';
	border-radius: 1pt;
	color: #ff9;
}

/**
 * ---------------------------------------
 * ヘッダーモジュール
 */

/* ヘッダーロゴとモバイルナビボタン */
.sitetitle {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 768px) {
  .sitetitle {
    display: block;
    padding: 0 0 0 0;
  }
}
/* ヘッダーロゴ */
.header-logo {
  margin: 0;/* h1のデフォルト設定オフ */
  padding-left: 15px;
  font-size: 0;/* 画像上下の余白を消すためh1の設定オフ */
  line-height: 0;/* 画像上下の余白を消すためh1のサイズオフ */
}
.header-logo img {
  width: 40px;
}
@media (min-width: 768px) {
  .header-logo {
    padding: 0;
  }
  .header-logo img {
    width: 30px;
  }
}/* モバイル向けボタン */
.navbtn {
  display: block;
  width: 25px;
  height: 25px;
  background-image: url(../img/common/nav-mobile-open.svg);
  background-repeat: no-repeat;
  background-position: center;
}
.navbtn.close {
  background-image: url(../img/common/nav-mobile-close.svg);
}
@media (min-width: 768px) {
  .navbtn {
    display: none;
  }
}
/* ヘッダーナビゲーション */
.header-nav {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-nav.collapse {
  display: none;
}
.header-nav li a {
  display: block;
  padding: 20px 30px;
  border-top: 1px solid #d8d8d8;
  background: #efefef;
  color: #0d0d0d;
  text-decoration: none;
}
.header-nav li a:hover {
  background: #b8e5ea;
}

@media (min-width: 768px) {
  /* PC向けレイアウト */
  .header-nav {
    display: flex !important;
    flex-direction: row;
    justify-content: flex-end;
  }
  .header-nav li a {
    padding: 6px 20px 2px 20px;
    border-top: none;
    border-bottom: 4px solid transparent;
    background: none;
  }
  .header-nav li a:hover {
    border-bottom: 4px solid #000506;
    background: none;
  }
}


/**
 * ***************************************
 * ページ下部
 * ***************************************
 *
 * ページ下部コンテナ
 */
.page-bottom {
  background: url(../img/common/home-bg.svg);
}
.bottom-container {
  padding: 60px 4% 0 4%;
}
@media (min-width: 768px) {
  .bottom-container {
      margin: 0 auto;
      padding: 60px 20px 0 20px;
      max-width: 1040px;
  }
}

/**
 * ---------------------------------------
 * ページ下部モジュール
 */
/* 複数のバナーを並べる */
.banner {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
.banner div {
  margin-bottom: 20px;
  text-align: center;
}
.banner a:hover {
  opacity: .8;
}
@media (min-width: 768px) {
  .banner {
    flex-direction: row;
  }
  .banner div {
    margin: 0 10px;
  }
}
/* ボタンを横に並べる */
.followus {
  margin: 0 0 15px 0;
  font-family: 'Croissant One', cursive;
  font-weight: 400;
  font-size: 1.875rem;
  text-align: center;
}
.sns {
  display: flex;
  justify-content: center;
  margin-bottom :30px;
}
.sns div {
  margin: 0 10px;
}
.sns div a {
  display: block;
  width: 70px;
  height:70px;
  background: #73cbd6;
  border-radius: 50%;
  font-size: 30px;
  line-height: 70px;
  text-align:center;
  color: #ffffff;
}
.sns div a:hover {
  opacity: .8;
}

/* トップへイージング
--------------------------------------------------------------------------------*/
#toPageTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    color: #fff;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    font-size: 18px;
    text-decoration: none;
    display: none;
    transition: opacity 0.3s ease;
  }

#toPageTop.show {
    display: block;
    opacity: 0.9;
  }

#toPageTop:hover {
      opacity: 1;
    transform: scale(1.1);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  }


/**
 * ***************************************
 * フッター
 * ***************************************
 *
 * フッターコンテナ
 */
.page-footer {
  background: #000;
}
.footer-container {
  padding: 20px 4%;
}
@media (min-width: 768px) {
  .footer-container {
      max-width: 1040px;
      margin: 0 auto;
      padding: 20px 20px;
  }
}

/**
 * ---------------------------------------
 * フッターモジュール
 */
/* ロゴ */
.footer-logo {
  margin-bottom: 30px;
  text-align: center;
}
.footer-logo img {
  width: 160px;
}
/* フッターのナビゲーション① */
.footer-nav1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 30px 0;
  padding: 0;
  list-style: none;
}
.footer-nav1 li {
  margin: 0 0 2rem 0;
  font-size: .875rem;
}
.footer-nav1 li a {
  color:  #d8d8d8;
  text-decoration: none;
}
.footer-nav1 li a:hover {
  color: #fff;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .footer-nav1 {
    flex-direction: row;
    justify-content: center;
  }
  .footer-nav1 li {
    margin: 0 1rem;
  }
}
/* ナビゲーション② その他リンク */
.footer-nav2 {
  display: flex;
  justify-content: center;
  margin: 0 0 20px 0; /* ulのデフォルト設定オフ */
  padding: 0; /* ulのデフォルト設定オフ */
  list-style: none; /* ulのデフォルト設定オフ */
}
.footer-nav2 li {
  margin: 0 .75rem 3px .75rem;
  font-size: .75rem;
}
.footer-nav2 li a {
  color:  #d8d8d8;
  text-decoration: none;
}
.footer-nav2 li a:hover {
  color: #fff;
  text-decoration: underline;
}
/* コピーライト */
.copyright {
  font-size: .75rem;
  color:  #d8d8d8;
  text-align: center;
}

/**
 * ***************************************
