/* フォントの読み込み */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@600&display=swap');

/* 全体設定 */
* {
  font-family: 'Dosis', 'Noto Sans JP', sans-serif;
  color: #31414A;
  /* ★全体の文字色 */
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.8em;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  list-style-type: none;
  text-decoration: none;
}

body {
  width: 100vw;
  height: 100vh;
  background-color: #d6f6fa;
  /* ★全体の背景色 */
  position: relative;
  overflow-x: hidden;
}

.wrap {
  max-width: 1000px;
  min-height: 100vh;
  position: relative;
  padding: 70px;
  overflow: hidden;
  margin: 0 auto 30px;
}

hr{
  height:20px;
  border:none;
}

.gallery ul.zubolog{
  margin-top:-2px;
  margin-bottom:15px;
}
/* リンク文字 */
a {
  transition: 0.2s;
  border-bottom: 1px dashed #00bcd4;
  /* ★リンク文字の下線の色 */
}

a:hover {
  color: #00bcd4;
  /* ★リンクをホバーした時の文字色 */
}

/* 強調文 */
strong {
  font-weight: 700;
  display: inline-block;
  position: relative;
  z-index: 0;
}

strong:before {
  background-color: #00bcd4;
  /* ★強調文のマーカー線の色 */
  opacity: 0.2;
  border-radius: 1px;
  content: '';
  display: block;
  height: 7px;
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: -1;
}

/* ヘッダー＋コンテンツのレイアウト */
.main-flex {
  display: flex;
  align-items: flex-start;
  column-gap: 7%;
}

/* ヘッダーメニュー */
header {
  width: 23%;
  height: auto;
  text-align: center;
  padding: 65px 40px;
  border-radius: 16px;
  background-color: #00bcd4;
  /* ★ヘッダーメニューの背景色 */
}

.nav li {
  display: block;
  text-align: center;
  padding: 12px 0;
  transition: 0.2s;
}

.nav li+li {
  content: '';
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}

.nav li a {
  font-size: 13px;
  color: #FFF;
  border-bottom: none;
  letter-spacing: 0.2em;
}

.nav li a:hover {
  opacity: 0.5;
}

.nav .active {
  color: #d6f6fa;
}
.active:before {
  content: "\e5cb";
  font-family: 'Material Symbols Outlined';
  color: #d6f6fa;
  margin:0 1px 0 0;
  font-size: 10px;
  left: 0;
  top: 1;
}

.active:after {
  content: "\e5cc";
  font-family: 'Material Symbols Outlined';
  color: #d6f6fa;
  margin:0 0 0 1px;
  font-size: 10px;
  left: 0;
  top: 1;
}

.material-symbols-outlined {
  font-size: 14px;
}

.material-symbols-outlined {
  font-variation-settings:
    'FILL'0,
    'wght'400,
    'GRAD'0,
    'opsz'24
}
/* サムネ */
.postform p {
  margin: 0;
}

.gallery {
  line-height: 0em;
}
.gallery ul {
  list-style: none;
  margin-bottom: 0;
}
.gallery li {
  padding-left: 3px;
  position: relative;
  margin-bottom: 0.5rem;
}
.gallery ul li:before {
  content: "";
  width: 0px;
  height: 0px;
  display: block;
  background: #fff;
  position: absolute;
  margin: auto;
  top: 0em;
  left: 0;
}

.gallery a{
  border:none;
}
.gallery img {
 border:#d6f6fa 1px solid !important;
 border-radius:8px;
}

img.no1 {
 border:none !important;
 border-radius:0px;
}
img.no2 {
 border:#d6f6fa 1px solid !important;
 border-radius:0px;
}


a img {
  transition: 0.2s;
  border:none !important;
  /* ★リンク文字の下線の色 */
}

#fuwaimg a{
  border:none;
}

#fuwaimg img{
  border:none;
  border-radius:0px;
}

img {
  border:#d6f6fa 1px solid;
  border-radius:8px;
}

/* table */

table td{
  padding: 10px;
}

/* メインコンテンツ */
main {
  width: 70%;
  margin: 0 auto;
  padding: 60px 60px 80px;
  background-color: #FFF;
  /* ★メインコンテンツ部分の背景色 */
  border-radius: 16px;
}

/* 見出し */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

h1 {
  font-size: 20px;
  text-align: center;
  padding-bottom: 30px;
  color: #FFF;
  letter-spacing: 0.15em;
  word-wrap: break-word;
}

h2 {
  font-size: 16px;
  padding-bottom: 5px;
  color: #00bcd4;
  /* ★h2見出しの文字色 */
}

h3{
font-size: 14px;
padding-bottom: 5px;
}

h3:before{
content: '';
width: 3px;
height: 12px;
border-radius: 1px;
background-color: #00bcd4;/* ★h3見出し左側の縦線の色 */
display: inline-block;
margin-right: 8px;
margin-bottom: -2px;
}

h4 {
  font-size: 13px;
  margin-top: 5px;
  padding-bottom: 5px;
}

h4 span {
  font-size: 11px;
}

h5 {
  font-size: 13px;
  margin-top: 5px;
  padding-bottom: 5px;
  line-height: 1.4;
}

h5:before  {
  content: "\f591";
  font-family: 'Material Symbols Outlined';
  color: #00bcd4;
  width: 16px;
  height: 12px;
  margin-right: 2px;
  margin-bottom: -2px;
  position: relative;
  display: inline-block;
  left: 0;
  top: 2;
}

h6 {
  font-size: 11px;
  margin-top: 5px;
  padding-bottom: 5px;
}

/* 便利系 */
.alignL{text-align:left;}
.alignC{text-align:center;}
.alignR{text-align:right;}
.mt10{margin-top:10px !important;}
.mt20{margin-top:20px !important;}
.mt30{margin-top:30px !important;}
.mt40{margin-top:40px !important;}
.mt50{margin-top:50px !important;}
.mb10{margin-bottom:10px !important;}
.mb20{margin-bottom:20px !important;}
.mb30{margin-bottom:30px !important;}
.mb40{margin-bottom:40px !important;}
.mb50{margin-bottom:50px !important;}
.pt10{padding-top:10px !important;}
.pt20{padding-top:20px !important;}
.pt30{padding-top:30px !important;}
.pt40{padding-top:40px !important;}
.pt50{padding-top:50px !important;}
.pb10{padding-bottom:10px !important;}
.pb20{padding-bottom:20px !important;}
.pb30{padding-bottom:30px !important;}
.pb40{padding-bottom:40px !important;}
.pb50{padding-bottom:50px !important;}
.fb {
 font-weight:bold !important;
}
.fltL {
 float: left;
}
.fltR {
 float: right;
}

.clear {
  clear:both;
}
.none{
  pointer-events: none;
}

/* セクション（見出し＋本文のセット） */
.section {
  width: 100%;
}

.section+.section {
  margin-top: 50px;
}

/* 入力フォームと送信ボタン */
form {
  display: flex;
  align-items: center;
  margin-top: 5px;
}

input[type="text"],
input[type="radio"],
input[type="button"],
input[type="reset"],
input[type="submit"],
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-box-shadow: none;
  appearance: none;
  box-shadow: none;
  background: #F4F4F4;
  /* ★フォームの背景色 */
  border-radius: 4px;
  color: #31414A;
  border: 1px solid #F4F4F4;
  width: 30em;
  height: 2.0em;
  padding: 0 6px;
}

input:focus,
textarea:focus {
  outline: none;
  height: 2.0em;
  background: #FFF;
  /* ★フォームフォーカス時の背景色 */
  border: 1px solid #C9C9C9;
  /* ★フォームフォーカス時の枠線の色 */
}

input[type="submit"] {
  width: auto;
  border: none;
  background-color: #00bcd4;
  /* ★送信ボタンの背景色 */
  color: #FFF;
  /* ★送信ボタンの文字色 */
  padding: 0 10px;
  cursor: pointer;
  transition: 0.2s;
}

input[type="submit"]:hover {
  background-color: #31414A;
  /* ★送信ボタンホバー時の背景色 */
  color: #00bcd4;
  /* ★送信ボタンホバー時の文字色 */
}

/* 名前変換フォーム */
.dream {
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 10px;
}

.dream input[type="text"] {
  width: 70px;
}

.dream input[type="submit"] {
  width: 30px;
}

/* 分岐ページ */
.long+.long {
  padding-top: 10px;
}

/* ブログ */
.blog-ttl {
  font-size: 18px;
  text-align: center;
  padding-bottom: 30px;
}

.list {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.13);
}

.date {
  padding: 1px 8px;
  background-color: #F0F0F0;
  width: fit-content;
  border-radius: 5px;
  margin-bottom: 10px;
}

.btn {
  text-align: right;
  padding-top: 10px;
}

.btn a {
  padding: 1px 8px;
  border-radius: 5px;
  background-color: #00bcd4;
  /* ★追記ボタンの背景色 */
  color: #FFF;
  /* ★追記ボタンの文字色 */
  border-bottom: none;
}

.btn a:hover {
  background-color: #31414A;
  /* ★追記ボタンホバー時の背景色 */
  color: #00bcd4;
  /* ★追記ボタンホバー時の文字色 */
}

.back {
  text-align: left;
}

.page {
  text-align: center;
}

/* フッター */
footer {
  text-align: right;
  margin-top: 20px;
  margin-bottom: 50px;
  font-size: 11px;
  opacity: 0.6;
}

/* 640px以下のデバイスでの見え方 */
@media screen and (max-width: 640px) {
  .wrap {
    padding: 25px;
  }

  .main-flex {
    display: block;
    height: auto;
  }

  header {
    width: 100%;
    padding: 15px 30px;
  }

  .nav {
    display: flex;
    column-gap: 25px;
    justify-content: center;
  }

  h1 {
    padding-bottom: 0;
  }

  .nav li+li {
    content: '';
    border-top: none;
  }

  main {
    width: 100%;
    margin-top: 30px;
    padding: 40px 30px;
  }
  .active:before {
    content: "";
    font-family: 'Material Symbols Outlined';
    color: #d6f6fa;
    margin:0 0 0 0;
    font-size: 10px;
    left: 0;
    top: 0;
  }
  
  .active:after {
    content: "";
    font-family: 'Material Symbols Outlined';
    color: #d6f6fa;
    margin:0 0 0 0;
    font-size: 10px;
    left: 0;
    top: 0;
  }

}

#p-t a {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  text-decoration: none;
  background-color: #00bcd4;
  display: block;
  text-align: center;
  border-radius: 24px;
  z-index: 100;
  opacity: 0;
  transition: opacity 0.4s ease-in;
}

#p-t a::before {
  content: '\e986';
  font-family: 'Material Symbols Outlined';
  font-size: 30px;
  font-weight: 900;
  color: #fff;
  line-height: 48px;
}
#p-t a.fadein {
  opacity: 1;
}