@charset "UTF-8";
/* CSS Document */
body {
  font-size: 16px;
}

h1 {
  font-size: 99px;
  color: #003366;
  margin: 30px auto 80px;
}

h2 {
  font-size: 99px;
  margin: 30px auto 80px;
}

h3 {
  font-size: 34px;
  color: #003366;
}

.base-head::after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  border-bottom: 5px solid #003366;
  margin: 0.25em auto 1em;
}

#wrapper {
  width: 1400px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #wrapper {
    width: 100%;
  }
}

section {
  height: auto;
  text-align: center;
}

section.article {
  height: 600px;
}

section.article p {
  margin: 300px auto;
}

section.listen .lis {
  background: url("../img/bg_listen.png") center center no-repeat;
  height: 1200px;
  position: relative;
}
@media (max-width: 768px) {
  section.listen .lis {
    height: 120vw;
  }
}

section.listen .lis img.lis01 {
  margin-top: 90px;
}

section.listen .lis img.lis_arrow {
  margin-top: 46px;
}

section.listen, section.newstart {
  margin: 180px auto 0;
  position: relative;
}

section.listen .line {
  position: absolute;
  top: 890px;
  left: 0;
  right: 0;
  margin: auto;
}

section.map {
  margin-top: 800px;
  position: relative;
}

section.map .add {
  font-size: 30px;
}

section.map .add::before {
  content: "◾️";
  color: #003366;
  font-size: 90%;
}

section.map .gmap {
  margin: 90px auto 0;
  width: 800px;
  height: auto;
}

section.sns {
  margin: 90px auto 0;
  width: 1000px;
}

/* ここから */
section.sns .hp {
  background: url("../img/bg_yanagimoto.png") left top no-repeat;
  height: 830px;
  position: relative;
}
@media (max-width: 768px) {
  section.sns .hp {
    background-position: center;
    background-color: rgba(255, 255, 255, 0.3);
    background-blend-mode: lighten;
  }
}

section.sns .hp img.sns_ttl_blog, section.sns .hp p.sns_txt_blog {
  position: absolute;
}

section.sns .hp img.sns_ttl_blog {
  top: 20%;
  right: 45px;
}
@media (max-width: 768px) {
  section.sns .hp img.sns_ttl_blog {
    top: 12vw;
    right: 0;
    left: 0;
    margin: auto;
  }
}

section.sns .hp p.sns_txt_blog {
  top: 55%;
  right: 25px;
  text-align: left;
}

/* ここまで */
section.sns .blog {
  background: url("../img/bg_blog.png") left top no-repeat;
  height: 830px;
  position: relative;
}
@media (max-width: 768px) {
  section.sns .blog {
    height: 110vw;
    background-color: rgba(255, 255, 255, 0.3);
    background-blend-mode: lighten;
  }
}

section.sns .blog img.sns_ttl_blog, section.sns .blog p.sns_txt_blog {
  position: absolute;
}

section.sns .blog img.sns_ttl_blog {
  top: 55%;
  right: 20px;
}

section.sns .blog p.sns_txt_blog {
  top: 70%;
  right: 50%;
  text-align: right;
}

section.sns .tw {
  background: url("../img/bg_twitter.png") left top no-repeat;
  height: 830px;
  position: relative;
}
@media (max-width: 768px) {
  section.sns .tw {
    height: 110vw;
    background-color: rgba(255, 255, 255, 0.3);
    background-blend-mode: lighten;
  }
}

section.sns .tw img.sns_ttl_blog, section.sns .tw p.sns_txt_blog {
  position: absolute;
}

section.sns .tw img.sns_ttl_blog {
  top: 35%;
  right: 45px;
}

section.sns .tw p.sns_txt_blog {
  top: 65%;
  right: 80px;
  text-align: left;
}

section.sns .fb {
  background: url("../img/bg_facebook.png") left top no-repeat;
  height: 570px;
  position: relative;
}

section.sns .fb img.sns_ttl_blog, section.sns .fb p.sns_txt_blog {
  position: absolute;
}

section.sns .fb img.sns_ttl_blog {
  top: 30%;
  right: 45px;
}

section.sns .fb p.sns_txt_blog {
  top: 72%;
  right: 80px;
  text-align: left;
}

section.sns .yt {
  background: url("../img/bg_youtube.png") left top no-repeat;
  height: 830px;
  position: relative;
}

section.sns .yt img.sns_ttl_blog, section.sns .yt p.sns_txt_blog {
  position: absolute;
}

section.sns .yt img.sns_ttl_blog {
  top: 17%;
  right: 45px;
}

section.sns .yt p.sns_txt_blog {
  top: 48%;
  right: 80px;
  text-align: left;
}

section.sns div.blog h4 {
  position: absolute;
  bottom: 0;
}
section.sns div.rss {
  display: flex;
  justify-content: space-between;
}
section.sns div.rss ul {
  text-align: center;
  width: 90%;
  margin: 0 auto;
  list-style: none;
  padding-inline: 24px;
}
section.sns div.rss ul li {
  text-align: left;
  margin: 0 1em 0.75em;
  padding-bottom: 0.25em;
  border-bottom: dotted 3px #779dc2;
}
section.sns div.rss ul li::before {
  font-family: FontAwesome;
  content: "\f09e";
  padding-right: 5px;
  color: #5585B4;
}
section.sns div.rss ul li a {
  color: #5585B4;
  text-decoration: none;
}
section.sns div.rss ul li a:hover {
  text-decoration: underline;
  color: #003366;
}
section.sns div.rss img {
  max-width: 442px;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  section.sns div.rss img {
    padding: 0;
  }
}

section.footer {
  margin: 110px auto 0;
}

.imgbox {
  width: auto;
  height: auto;
  overflow: hidden;
}
@media (max-width: 768px) {
  .imgbox img {
    width: 100%;
  }
}

.imgbox-img {
  transition-duration: 0.3s;
}

.imgbox-img:hover {
  transform: scale(1.02);
  transition-duration: 0.3s;
  opacity: 0.9;
}

/* gpt */
/* コンテナ：グリッドレイアウト */
#blog-feed {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 0 auto;
  padding: 10px;
  max-width: 1200px; /* 横幅が広すぎないように中央寄せ */
  box-sizing: border-box;
}

/* 各カード */
#blog-feed > div {
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* カード全体にリンク */
#blog-feed a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

/* サムネイル画像 */
#blog-feed img {
  width: 100%;
  height: 180px; /* PC用の高さ */
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* タイトル */
#blog-feed p {
  padding: 12px;
  font-size: 14px;
  text-align: center;
  flex-grow: 1;
  display: flex;
  align-items: center; /* 縦中央 */
  justify-content: center;
  margin: 0;
}

/* ホバー効果（PCのみ） */
@media (hover: hover) {
  #blog-feed > div:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
  }
}
/* 📱 スマホ対応 */
@media (max-width: 768px) {
  #blog-feed {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
  }
  #blog-feed img {
    height: 140px; /* スマホでは高さ少し小さめ */
  }
  #blog-feed p {
    font-size: 13px;
    padding: 8px;
  }
}
/* 📱 小さいスマホ用 */
@media (max-width: 480px) {
  #blog-feed {
    grid-template-columns: 1fr; /* 1列表示 */
  }
  #blog-feed img {
    height: 160px; /* 縦に広げて見やすく */
  }
}
.for-pc {
  display: block;
}

.for-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .for-pc {
    display: none;
  }
  .for-sp {
    display: block;
  }
  img {
    width: 100%;
    margin: 10px auto;
  }
  img.imgbox-img, section.newstart img.sec-ttl, section.listen img.sec-ttl {
    max-width: 100%;
  }
  section.sns {
    width: 90%;
  }
  section.sns .imgbox img.imgbox-img.sns-ttl {
    max-width: 60%;
  }
  section.sns .hp p.sns_txt_blog {
    top: 60%;
    right: 2%;
    font-size: 1.5em;
    line-height: 1.2;
  }
  section.sns .blog img.sns_ttl_blog {
    top: 20vw;
    right: 0;
    left: 0;
    margin: auto;
  }
  section.sns .blog p.sns_txt_blog {
    right: 55%;
    font-size: 1.5em;
  }
  section.sns .tw img.sns_ttl_blog {
    top: -10vw;
    right: 0;
    left: 0;
    margin: auto;
  }
  section.sns .tw p.sns_txt_blog, section.sns .fb p.sns_txt_blog, section.sns .yt p.sns_txt_blog {
    font-size: 1.5em;
  }
  section.sns .fb img.sns_ttl_blog {
    top: -10vw;
    right: 0;
    left: 0;
    margin: auto;
  }
  section.sns .yt img.sns_ttl_blog {
    top: -10vw;
    right: 0;
    left: 0;
    margin: auto;
  }
  section.listen .lis img.lis01 {
    margin-top: 45px;
    max-width: 75%;
  }
  section.listen .lis img.lis_arrow {
    margin-top: 15px;
    max-width: 72px;
  }
  section.listen .lis img.lis_messa {
    margin-top: 0;
    max-width: 80%;
  }
  section.listen .line {
    position: relative;
    top: 0;
  }
  section.listen .line img {
    max-width: 80%;
  }
  section.map {
    margin-top: 200px;
  }
  section.map .gmap {
    width: 90%;
  }
}/*# sourceMappingURL=style.css.map */