@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
body {
  font-family: 'Kosugi Maru', sans-serif !important;
}

/* ヘッダーの設定 */
.c-gnav .ttl {
  font-size: 1.07rem !important;
  font-weight: 600 !important;
}

.l-fixHeader__logo {
  align-items: center;
  display: flex;
  line-height: 1;
  margin-right: 24px;
  order: 0;
}

.-series .c-headLogo {
  position: relative;
  width: 80px;
  height: auto;
}

.-series .c-headLogo::after {
  position: absolute;
  top: 22px;
  left: 100px;
  content: '静岡県ミニトランポウォーク協会';
  width: 20em;
  font-size: 32px;
  font-family: 'Kosugi Maru', sans-serif !important;
  font-weight: 600;
}

.c-iconBtn__icon {
  font-size: 40px !important;
}

.l-fixHeader__logo {
  padding: 7px 0 7px !important;
}

/*** swellでハンバーガメニューを表示 ***/
@media screen and (min-width: 961px) {
  .l-header__menuBtn.sp_ {
    display: block !important;
    position: relative;
    top: 25px; //表示位置
  }
  .p-spMenu {
    display: block !important;
  }
  .p-spMenu__inner {
    max-width: 500px; //幅を設定
  }

  .-series-right .c-gnavWrap {
    display: none !important;
  }
}

.-right .p-spMenu__closeBtn {
  right: 20px !important;
  top: 10px !important;
}

.l-header__menuBtn {
  margin-left: 90%;
}

.-body-solid .l-fixHeader {
  z-index: 15 !important;
}

/* ===================
ハンバーガーメニュー
====================== */
/* メニューアイコン（デフォルト時） */
.-menuBtn .c-iconBtn__icon {
  width: 24px;
  height: 2px;
  background-color: #333;
  display: grid;
  place-items: center;
  transition: transform 0.3s;

  &::before,
  &::after {
    grid-area: 1 / 1;
    content: '';
    display: block;
    inset: 0;
    width: 24px;
    height: 2px;
    background-color: #333;
    transition: transform 0.3s;
  }

  &::before {
    transform: translateY(-8px);
  }

  &::after {
    transform: translateY(8px);
  }
}

/* メニューアイコン（オープン時） */
[data-spmenu='opened'] {
  .-menuBtn .c-iconBtn__icon::before {
    transform: rotate(45deg);
  }

  .-menuBtn .c-iconBtn__icon {
    background-color: transparent;
  }

  .-menuBtn .c-iconBtn__icon::after {
    transform: rotate(-45deg);
  }
}

/* ボタンラベル */
.l-header__menuBtn .c-iconBtn::after,
.p-spMenu__closeBtn .c-iconBtn::after {
  font-size: 10px;
  line-height: 10px;
  transform: translateY(12px);
}

/* ボタンラベル（開くボタン） */
.l-header__menuBtn .c-iconBtn::after {
  content: 'MENU';
  font-size: 24px;
  margin-top: 12px;
  letter-spacing: 0.25rem;
  font-weight: 600;
}

/* ボタンラベル（閉じるボタン） */
.p-spMenu__closeBtn .c-iconBtn::after {
  content: 'CLOSE';
  font-size: 24px;
  margin-top: 12px;
  letter-spacing: 0.25rem;
  font-weight: 600;
}

/* メニュー */
.p-spMenu__inner {
  width: 100%;
  height: 100%;
  transform: translateX(0) !important;
  opacity: 0;
  transition: opacity 0.5s ease-out !important;
}

/* メニュー（オープン時） */
[data-spmenu='opened'] .p-spMenu__inner {
  opacity: 1;
}

/* 背景色をぼかす */
.p-spMenu__inner::before {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

/* メニューをフェードイン */
.p-spMenu__body {
  opacity: 0;
  transform: translateY(20px);
}

[data-spmenu='opened'] .p-spMenu__body {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s ease-in, transform 0.7s ease-out;
}

/* 既存のメニューを削除 */
.c-widget__title.-spmenu,
.p-spMenu__nav {
  display: none;
}

/* リンクリストメニュー余白 */
.p-spMenu__body .swell-block-linkList {
  gap: 2em;
}

/* リンクリストメニュー中央寄せ */
.p-spMenu__body .swell-block-linkList__text {
  margin-inline: auto;
}

/* 背景色をぼかす */
.p-spMenu__inner::before {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

/* メニューをフェードイン */
.p-spMenu__body {
  opacity: 0;
  transform: translateY(20px);
}

[data-spmenu='opened'] .p-spMenu__body {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s ease-in, transform 0.7s ease-out;
}

/*** メインビジュアル ***/
.p-mainVisual {
  --swiper-nav-size: 40px;
  background: -moz-linear-gradient(120deg, #ff7921 60%, #9ad035 40%);
  background: -webkit-linear-gradient(120deg, #ff7921 60%, #9ad035 40%);
  background: linear-gradient(120deg, #ff7921 60%, #9ad035 40%);
  position: relative;
  width: 100%;
  height: auto;
}

.p-mainVisual::before {
  position: absolute;
  top: 15%;
  left: -moz-calc(100vw / 4 - 700px / 2);
  left: -webkit-calc(100vw / 4 - 700px / 2);
  left: calc(100vw / 4 - 700px / 2);
  content: url(https://shizuoka-minitrampowalk.jp/wp-content/uploads/2024/03/trampowalk-img02.png);
  transform: scale(0.9);
}

.p-mainVisual__inner {
  width: 35%;
  margin-left: 45%;
  margin-top: 50px;
  margin-bottom: 280px;
  border-bottom: 29px solid rgba(249, 230, 226, 0.5);
  border-left: 32px solid rgba(249, 230, 226, 0.5);
  border-radius: 50%;
  border-right: 32px solid rgba(249, 230, 226, 0.5);
  border-top: 32px solid rgba(249, 230, 226, 0.5);
}

/*** メインビジュアル下メニューパネル ***/
.menu_panel {
  position: relative;
  width: 80%;
  margin-left: 10%;
}
.menu_panel_content {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  z-index: 10 !important;
  bottom: 60px;
  left: 25%;
}
.menu_panel_mob {
  display: flex !important;
}
.menu_panel_inner {
  width: 160px;
  min-width: 160px;
  height: 160px;
  padding: 20px 10px;
  text-align: center;
  border: #fff 1px solid;
  border-radius: 15px;
  background: #fff;
  margin: 0 10px;
}

.menu_panel_inner img {
  width: 70px;
  height: auto;
  margin-bottom: 7px;
}
.menu_panel_inner a p {
  color: #333 !important;
  font-weight: 600 !important;
}
.menu_panel_inner a p {
  line-height: 1rem !important;
}
.menu_panel_inner a p:hover {
  color: inherit;
}

/*** カスタム投稿のレイアウト設定 ***/
/*** 活動報告の設定 ***/
.activity-report-ttl_area {
  margin-bottom: 20px;
  margin-left: 20px;
}

.ttl-inner {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-bottom: 15px;
}

.activity-report_termname {
  margin-bottom: 0.5em !important;
  width: 7.5rem !important;
}

.activity-report_termname a {
  padding: 0.5em 1em;
  color: #fff !important;
  background-color: #ff7921;
  border-radius: 10px;
}

.activity-report_termname a:hover {
  color: #fff !important;
}

.report-ttl h1 {
  font-size: 2rem !important;
  margin-left: 20px !important;
}

.report_date {
  font-size: 1.1em;
  font-weight: 600 !important;
}

.report_img_area {
  text-align: center;
}

.report_img_area img {
  border-radius: 30px !important;
}

.report_text_area {
  text-align: center;
  margin-top: 20px;
}

.report_text_area h2 {
  font-size: 1.5rem !important;
  margin-bottom: 10px;
}

.report_text_area p {
  margin: 20px auto;
  padding: 20px;
  border-top: 3px dotted #9ad035;
  border-bottom: 3px dotted #9ad035;
}

.report_sub_area {
  margin: 40px 20px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.report_sub_inner {
  margin: 0 20px;
  max-width: 35%;
}

.report_sub_img img {
  border-radius: 30px;
  margin-bottom: 10px;
}

/*** イベントの設定 ***/
.event-head {
  text-align: center;
  margin-bottom: 40px;
  border-bottom: 1px double #ffcdac;
  padding-bottom: 40px;
}

.event-head h1 {
  font-size: 2rem !important;
  letter-spacing: 0.25rem;
  margin-bottom: 20px;
  padding-bottom: 0.2rem;
  border-bottom: 1px double #ffcdac;
}

.event-head img {
  border-radius: 35px !important;
  margin: 20px 0;
}
.event-content {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 60px;
}

.event-list {
  width: 45%;
}

.event-list ul li dl {
  display: flex;
  margin: 15px 0;
  font-size: 1.1rem !important;
}

.event-list ul li dl dt {
  font-weight: 600 !important;
  color: #ff7921;
  margin-right: 30px;
}

.event-list ul li dl dd {
  letter-spacing: 0;
}

.event-map-info {
  max-width: 500px;
  padding: 10px;
}

.event-map-info iframe {
  max-width: 450px !important;
}

.event_contact {
  margin-top: 40px;
}

.event_contact p {
  margin-bottom: 15px;
}

.event_contact a {
  min-width: 220px;
  font-size: 1.1rem !important;
  color: #fff;
  border-radius: 30px;
  padding: 15px 35px;
  background-color: #9ad035;
}

/*** カスタム投稿のフッター設定 ***/
.event-footer {
  text-align: center;
}

.event-ft-sns {
  display: flex;
  justify-content: center;
}

.event-ft-sns a {
  min-width: 220px;
  font-size: 1.15rem !important;
  color: #fff;
  border-radius: 30px;
  padding: 10px 30px 13px 30px;
  background-color: #ff7921;
  margin-left: 20px;
}
/*** タームアーカイブの設定 ***/
.c-pageTitle__inner small,
.c-pageTitle__subTitle .u-fz-14 {
  display: none !important;
}

/*** サイドバーのカテゴリー ***/
.side_bar_category {
  margin-left: 20px;
}

.side_bar_category ul li a {
  margin-bottom: 10px;
  color: #333 !important;
}

.side_bar_category ul li a:hover {
  color: #333 !important;
}

/* フッターの設定 */
.ft_inner {
  margin-left: calc(-50vw + 50%);
  width: 100vw;
  background-color: #ff7a21;
  color: #fff !important;
  padding: 60px 0 50px 0;
}

.footer_nav {
  display: flex;
  justify-content: center;
  width: 80vw;
  margin: 0 auto;
}

.ft_info {
  width: 35%;
}

.ft_info .ft_info_text {
  font-size: 18px !important;
  letter-spacing: 0.08rem !important;
  text-align: center;
}

.ft_logo {
  text-align: center;
}

.ft_info .ft_logo img {
  max-height: 100px;
  width: auto;
  margin-bottom: 20px;
}

.ft_menu {
  padding-left: 120px;
}

.ft_menu ul {
  display: flex;
  font-size: 1rem !important;
  letter-spacing: 0.08rem !important;
  margin-bottom: 25px;
}

.ft_menu ul li {
  padding-left: 25px;
  list-style: none;
}

.ft_menu ul li a {
  color: #fff !important;
}

.ft_menu .ft_sns {
  text-align: right;
  font-size: 32px;
}

/*** 固定ページの共通設定 ***/
.post_content h2 {
  margin: 1em 0 1em !important;
}

/*** 固定ページタイトル色変更 ***/
.l-topTitleArea.c-filterLayer::before {
  background-color: #ff7a21 !important;
}
.l-topTitleArea__body {
  text-align: center !important;
}
.c-pageTitle {
  font-size: 1.75em !important;
}
.l-topTitleArea {
  min-height: 160px !important;
}

/*** reCAPTCHA v3 表示位置 ***/
.grecaptcha-badge {
  display: none !important;
}

/*** 共通設定 ***/
.pc_none {
  display: none;
}

.mob_none {
  display: block;
}

.content_block {
  display: block !important;
}
/*** 480px以下の設定 ***/
@media screen and (max-width: 480px) {
  .pc_none {
    display: block;
  }
  .mob_none {
    display: none;
  }

  .mob_h20 {
    height: 20px !important;
  }

  /*** メインメニュー設定SP ***/
  .c-headLogo__img {
    height: 60px !important;
  }

  .c-iconBtn {
    height: auto;
    width: 35px;
  }

  .-series .c-headLogo::after {
    display: none !important;
  }

  .l-header__inner {
    max-height: 80px !important;
  }

  #header > div > div.l-header__menuBtn.sp_ {
    margin-right: 20px;
  }

  .l-header__menuBtn .c-iconBtn::after {
    font-size: 16px !important;
    margin-top: 8px !important;
  }

  .l-header__menuBtn {
    margin-left: 0;
  }
  /*** メインビジュアルの設定SP ***/
  .p-mainVisual__inner {
    position: relative;
    width: 100%;
    height: calc(100vh / 2.1);
    margin-left: 10%;
    margin-top: 190px;
    margin-bottom: 320px;
    border-bottom: 32px solid rgba(249, 230, 226, 0.5);
    border-left: 32px solid rgba(249, 230, 226, 0.5);
    border-radius: 50%;
    border-right: 32px solid rgba(249, 230, 226, 0.5);
    border-top: 32px solid rgba(249, 230, 226, 0.5);
  }
  .p-mainVisual::before {
    position: absolute;
    top: -3%;
    left: -moz-calc(100vw / 2 - 650px / 2);
    left: -webkit-calc(100vw / 2 - 650px / 2);
    left: calc(100vw / 2 - 650px / 2);
    content: url(https://shizuoka-minitrampowalk.jp/wp-content/uploads/2024/03/mob_trampowalk-img02a.png);
    transform: scale(0.55);
  }

  /*** メニューパネルの設定SP ***/
  .menu_panel_content {
    bottom: 50px;
    left: calc(100vw / 2 - 380px / 2);
  }
  .menu_panel_mob {
    display: block !important;
  }
  .menu_panel_inner {
    width: 140px;
    min-width: 120px;
    height: 120px;
    padding: 15px 10px;
    margin: 5px 5px;
  }
  .menu_panel_inner img {
    width: 50px;
    height: auto;
    margin-bottom: 7px;
  }
  /*** フッターの設定SP ***/

  .footer_nav {
    display: block;
  }

  .ft_info {
    width: 100%;
  }

  .ft_menu {
    padding-left: 100px;
  }

  .ft_menu ul {
    display: block;
    font-size: 1rem !important;
    letter-spacing: 0.08rem !important;
    margin-bottom: 25px;
    margin-top: 20px;
  }

  /*** カスタム投稿の設定 ***/
  .event-head h1 {
    margin-bottom: 10px;
  }
  .event-content {
    display: block;
    margin-bottom: 40px;
  }
  .event-list {
    width: 85%;
    margin-left: 7.5%;
    margin-bottom: 20px;
  }

  .event-list ul li dl {
    font-size: 1rem !important;
  }

  .event-list ul li dl dt {
    margin-right: 25px;
  }

  .event-map-info iframe {
    max-width: 350px !important;
    max-height: 350px;
  }
  /*** 活動報告の設定 ***/
  .ttl-inner {
    margin-bottom: 7px;
    display: block;
  }

  .activity-report-ttl_area {
    margin-bottom: 10px;
    margin-left: 10px;
  }

  .report-ttl h1 {
    margin-left: 0 !important;
  }

  .report_sub_area {
    margin: 40px 20px;
    display: block;
  }

  .report_sub_inner {
    max-width: 90%;
  }

  .report_sub_img img {
    border-radius: 25px;
    margin-bottom: 7px;
  }

  .report-sub_text {
    margin-bottom: 25px;
  }

  .event_contact {
    text-align: center;
  }

  .google_map_none {
    text-align: center;
  }

  /*** カスタム投稿のフッター設定 ***/
  .event-ft-sns {
    display: block;
    margin-left: 0;
  }
  .event-ft-sns a {
    display: block;
    max-width: 220px;
    margin: 10px auto;
  }

  /*** TOPページのスマホ設定 ***/
  .post_content h2 {
    margin: 0.5em 0 0.5em !important;
  }
  .top-title {
    font-size: 36px !important;
  }
  .top-contact-inner_mob {
    border-radius: 20px;
    padding: 40px 0 50px !important;
  }

  .p-postList.-type-card,
  .p-postList.-type-thumb {
    display: block;
  }

  .p-postList__body {
    padding-bottom: 20px !important;
  }

  .-type-card .p-postList__thumb {
    width: 90% !important;
    margin-left: 5% !important;
  }
  .-sidebar-off .-type-card.-pc-col3 .p-postList__item {
    width: 95%;
    padding: 15px 17px !important;
    margin-left: 2.5% !important;
    margin-bottom: 20px !important;
    margin-right: 0 !important;
  }

  .-type-thumb .p-postList__thumb {
    border-radius: 10px;
    width: 90% !important;
    margin-left: 5% !important;
  }

  .p-postList .p-postList__title {
    color: #9ad035 !important;
    font-size: 1.5rem !important;
  }

  .-type-thumb .p-postList__body {
    border-radius: 10px 10px;
    width: 90% !important;
    margin-left: 5% !important;
  }
}
